NAT模式
NAT模式的特点是,虚拟机和宿主机组成一个独立的虚拟网络,而不受宿主机所在物理网络(外网)的影响。
如上图所示,虚拟机会虚拟出一个交换机,这个交换机的属性可以在VMware->编辑->虚拟网络编辑器中设置。一般路由器也即网关的IP的主机部分设置为1(IP中对应子网掩码为1的位为网络部分,用来区分网段;对应子网掩码为0的位为主机部分,用来区分该网段内的主机。如network为255.255.255.0
时,其前24位位1,后8位位0,则IP192.168.25.1
的网络部分为192.168.25
而主机部分为1
),这是约定俗成的。在设置好网关IP之后,我们就能得到网关的IP、子网掩码了。
1、配置网关
根据子网IP192.168.25.0
以及网关的主机部分约定俗成为1,我们将NAT设置中的网关IP设置成192.168.25.1
2、配置宿主机虚拟网卡
打开宿主机的网络适配器,根据上图找到NAT模式对应的网卡,这里是VMnet8:
右键属性配置该虚拟网卡:
3、配置虚拟机的网卡
setup配置
最简单的配置方式就是使用命令setup
:
上下选择菜单项,
Tab
键切换到红色按钮或者菜单项。
这里为了后续使用SSH远程连接客户端连接虚拟机,这里不启用DHCP向网关动态获取IP,而是用静态IP192.168.25.200
:
配置文件配置
除了使用setup
命令,我们也可以通过修改/etc/sysconfig/network-scripts/ifcfg-eth0
来配置:
1234567 | DEVICE=eth0TYPE=Ethernet #以太网协议ONBOOT=yes #是否开机启用BOOTPROTO=static #ip地址设置为静态IPADDR=192.168.0.200NETMASK=255.255.255.0GATEWAY=192.168.25.1 #通过网关访问外网 |
---|---|
为了确保配置即刻生效,service network restart
重启网络服务。或者由于只更改了一张网卡的配置,可以通过ifconfig eth0 down
、ifconfig eth0 up
重启网卡。
在宿主机ping
虚拟机发现能够ping
通了:
1234567 | C:\Users\zaw>ping 192.168.25.200正在 Ping 192.168.25.200 具有 32 字节的数据:来自 192.168.25.200 的回复: 字节=32 时间<1ms TTL=64来自 192.168.25.200 的回复: 字节=32 时间<1ms TTL=64来自 192.168.25.200 的回复: 字节=32 时间<1ms TTL=64来自 192.168.25.200 的回复: 字节=32 时间<1ms TTL=64 |
---|---|
同时在宿主机上ping
外网发现也能够ping
通,至此虚拟网络和外网互联了:
值得注意的是,NAT模式根本不关心宿主机的物理网卡,而只关心其虚拟网卡VMnet8
,因此当宿主机物理网卡的IP更改时(即宿主机连接不同的外网时),虚拟网络仍然能访问外网(即虚拟机仍能访问外网),这也是NAT模式和桥接模式最大区别,即NAT模式能够虚拟出一个网段以隔绝虚拟网络和外网。
桥接模式
桥接模式下,所有的虚拟机是桥接在宿主机上的,相当于中间使用了一个集线器,这种情况下虚拟机IP处于宿主机和外网连接的网段下才能访问外网。这必然受宿主机物理网卡的实际IP的牵制,由于我们开发时的个人电脑连接的网络可能会更改而且使用DHCP从互联网提供商获取IP来上网时也会导致IP的改变。因此为了避免频繁配置虚拟机IP,通常使用NAT方式比较方便。
仅主机模式
克隆之后的网卡问题
有时我们为了在本机上模拟集群操作,需要从一个minimal
版的Linux克隆出多个Linux
注意克隆类型选择创建完整克隆,克隆出来的才是一台独立的主机
但是克隆出来的主机网卡eth0
和源主机冲突(每个主机都只能有唯一的物理地址),于是VMware为其生成了一块新的网卡eth1
而停用了eth0
:
首先我们需要修改/etc/sysconfig/network-scripts/ifcfg-eth0
(删除其中的UUID,HWADDR
,配置静态IP):
然后修改/etc/udev/rules.d/70-persistent-net.rules
:
最后reboot
使之生效:
123456789101112131415161718 | [root@mini01 ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:98:24:D9 inet addr:192.168.25.202 Bcast:192.168.25.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe98:24d9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:67 errors:0 dropped:0 overruns:0 frame:0 TX packets:73 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:10455 (10.2 KiB) TX bytes:14432 (14.0 KiB)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:20 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1472 (1.4 KiB) TX bytes:1472 (1.4 KiB) |
---|---|
————————————————