1. VMware的三种网络连接方式
- 桥接模式:
桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。其网络结构如下图所示:
- NAT(地址转换模式)
如果网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟机NAT设备和虚拟DHCP(Dynamic Host Configuration Protocol,动态主机设置协议):
在这种网络模式下,主机可以通过两种方式与虚拟机通信:- 通过虚拟网卡直接进行局域网通信,这时需要网上所示的虚拟网卡开启
- 通过主机网卡由虚拟NAT设备的端口映射进行通信,这时需要开启NAT端口映射。
这一节我看的不是特别懂,如果想知道详情请参考原文吧。下面介绍一个我能理解的方式,是肖斌老师讲的:
-
虚拟机服务器有网卡eth0
-
在宿主机上有一个虚拟路由器和VMnet8,宿主机通过本地连接与Internet相连
-
虚拟机网卡与虚拟路由器处于同一个网段
-
虚拟路由器和VMnet8、eth0在同一个网段,本地连接与他们不在同一个网段
-
数据流向是:eth0->虚拟机路由器->VMnet8->地址转换->本地连接->Internet
可以在Win的网络连接中,看到VMnet8的IP地址为192.168.229.1,掩码为255.255.255.0。那么虚拟机可用的IP地址范围就是192.168.229.2~192.168.229.255。
-
Host-Only(仅主机模式)
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通信。其网络结构如下:
这种方式用的不多,详情参考原链接。
2. 修改Linux服务器的IP地址
VMnetDHCP
打开terminal,输入ifconfig,可以看到eth0的ip地址为:192.168.229.140
但是我们并没有设定这台虚拟机的ip啊,那么这台虚拟机的ip是怎么获得的呢?
打开Win Service List,可以看到有个服务名称叫做VMnetDHCP,虚拟机就是通过这个服务自动分配虚拟机的ip地址的。
在虚拟网络编辑器中,可以设置DHCP。
设置虚拟机的网络
- 在terminal下输入su root,切换到root用户下
- 输入命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0(双击tab键,可以自动补全代码,如果有多个选项,会弹出智能提示)
- 将BOOTPROTO = “dhcp” 更改为 BOOTPROTO = “static”
并增加两行:IPADDR = 192.168.229.10, NETMASK = 255.255.255.0,GATEWAY = 192.168.229.2
单击esc键位,切换到命令模式,输入wq,保存退出。
- 输入service network restart,重启网络服务
ping 一下 www.baidu.com看看呢?报出错误:unknow host www.baidu.com
在win下的cmd里ping www.baidu.com呢?有数据传输,并且可以看出百度的ip是115.239.210.27
回到Linux虚拟机,ping 115.239.210.27,可以发现有数据交换了。所以可以判定问题出在DNS服务器上。
在命令行中输入 vim /etc/resolv.conf
增加一行 nameserver 192.168.1.1,然后切换到命令模式输入wq保存退出。至于为什么是192.168.1.1,请参考某乎讨论。一般DNS服务器就是路由器,路由器的地址就是192.168.1.1。通过tracert www.baidu.com,也可以看到路由器地址。
再ping www.baidu.com,发现数据传输已经正常了。
后来发现一个问题,在这里修改,每次重启服务器后,都要重新修改一遍这个文件
换一种方法:
http://blog.51cto.com/yuansy/438393
- 输入vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 增加一行对PEERDNS与DNS1的设置
- 保存后重启网络
- ping 一下百度
在win上远程连接Linux服务器
显而易见,如果有多个虚拟的Linux服务器时,在多个Linux服务器之间频繁切换很不方便。
这时可以在win上安装一个Xshell(下载地址,需要注册)。安装步骤比较简单,不再详述。
安装完成以后,单击新建,输入主机的ip,协议选择SSH(几个协议之间的区别)
单击连接,弹出SSH安全警告,选择接受并保存。
输入用户名:root
输入密码,单击确定,连接成功。
输入ifconfig,反馈如下,配置成功。