【Ubuntu14.04安装】网络初始化配置

2023-11-11

一、环境

1、Ubuntu Server 14.04

2、Vmware Workstation 9.0

3、物理机:Windows7 64bit,i5-3470(3.20Hz),8GB

二、基本点

1、弄清楚物理机和虚拟机之间的连接途径有三种:

①Bridged(网桥)方式:
如果主机是通过局域网上网的,可让虚拟机使用与主机网段、网关和DNS等的相同的设置,选用一个有效的局域网IP即可。

桥接方式可实现虚拟机<--->主机 虚拟机<---->互联网 通信(主机与虚拟机可看成是同一局域网的两台机)。但桥接需要一个不同于 原主机上的另外一个独立的IP地址,这对于有些情况(IP和MAC绑定,网管不同意),比较难办到。并且主机拔掉网线后,虚拟机无法与主机通过网络的方式进行通讯。而后面几种没这个问题。所以不太使用桥接方式。

②NAT方式:
使用VMware提供的NAT和DHCP服务,虚拟机使用主机中的虚拟网卡VMnet8作为网关,并且TCP/IP设置需遵循程序中关于vmnet8的DHCP和NAT设置,如IP必须在其DHCP设置的StartIP和EndIP之间,网关需使用其NAT设置的Gateway IP。
NAT方式可实现虚拟机<--->主机 通信,但是 虚拟机--->互联网 即只能够虚拟机访问互联网,但是若想把虚拟机作为服务器,让互联网访问,不可以。
但是如果有多个网卡,虚拟机可以不用更改设置,就可以同时访问多个网卡连接的互联网。

③host-only方式 :
默认使用vmnet1,将虚拟机ip设置与vmnet1同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同
例如 vmnet1 ip :192.168.101.1
虚拟机设置: ip :192.168.101.100 gateway : 192.168.101.1
这样就实现了虚拟机<--->主机 通信,但是 虚拟机<--->互联网 仍无法通信。
④共享主机的Internet连接的方式(如果主机是Win98系统可能不适用):

在主机的“本地连接”属性的高级里面共享Internet连接。如果选的是VMnet1虚拟网卡,则在VMware的Ethernet设置需选用Host-only;如果选VMnet8,则Ethernet设置需选用NAT。共享连接后,那个被选中的虚拟网卡的IP会默认被设为192.168.0.1(如果主机也是通过局域网的192.168.0.1网关上网的,则需把这个虚拟网卡设置为不同的网段IP,如192.168.1.1)这时候虚拟机里面就可以通过把这个虚拟网卡作为网关来上网了。实际上是一个简单的路由NAT,所以NAT方式就不讨论了,我们只以Host-only为例。
共享host-only方式,可实现虚拟机<--->主机 通信,但是 虚拟机--->互联网 即只能够虚拟机访问互联网,但是若想把虚拟机作为服务器,让互联网访问,不可以。

总结:

共享连接方式和NAT方式,都可以实现虚拟机<--->主机 , 虚拟机--->互联网 通信,NAT方式设置简单,且可以实现同时访问多个物理网卡。

桥接方式可实现虚拟机<--->主机 虚拟机<---->互联网 通信,若虚拟机作为服务器,只有这种方式可行。但需独立的IP给虚拟机,且若物理网卡连接断开,虚拟机与主机也不能连接。
host-only方式只实现虚拟机<--->主机 通信 ,一般不单独采用。

三、设置步骤

(以物理机192.168.194.1为例,以192.168.150.X为Linux的网段)

①在Vmware中设置VMnet0:【Edit】→【Virtual Network Editor】

1)如果有VMnet0则选择NAT(shared host's IP address with VMs),点击【NAT Settings】,将Geteway IP设置成任何一个150网段(如192.168.150.1)

2)在底下【Subnet IP】可以设置为192.168.150.0,【Subnet mask】设置为255.255.255.0

②安装Ubuntu,安装过程中将Geteway Address设置成上述192.168.150.1,将Name Server(即DNS)也设置成192.168.150.1。对于该LinuxIP可任意指定同个网段下的,如192.168.150.100

③在网络共享中心,根据本文勾选VMnet0的网络共享

③安装完毕后登陆输入host www.baidu.com看是否能够解析

3、后话:如果安装SSH一开始出现问题可以先执行atp-get update更新软件包,再输入sudo apt-get install ssh

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Ubuntu14.04安装】网络初始化配置 的相关文章

  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • 如何获取 linux 实用程序 tail 的源代码?

    这个命令确实非常有用 但是我可以在哪里获取源代码以查看内部发生的情况 thanks tail 实用程序是 Linux 上 coreutils 的一部分 源压缩包 ftp ftp gnu org gnu coreutils coreutils
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 如何在Python中独立于语言安装(linux)获取用户桌面路径

    我找到了 如何找到用户桌面的路径 的几个问题和答案 但在我看来它们都已失效 至少我找到的那些 原因是 如果用户安装的 Linux 不是英语 他或她的桌面很可能位于除 Desktop 例如 对于瑞典语 我相信它是在 Skrivbord 谁知道
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • linux x86 汇编语言 sys_read 调用的第一个参数应为 0 (stdin)

    我正在编写一个简单的汇编程序来从标准输入读取 如 scanf 这是我的代码 section bss num resb 5 section txt global start start mov eax 3 sys read mov ebx 0
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh

随机推荐