MacOSX 虚拟机与宿主机的网络配置
环境:MacOSX、VMware Fusion11.5、CentOS6
比较重要的两个网卡
安装虚拟机后,宿主机会多出几个网卡,其中vmnet1对应的Bridge(桥接方式),vmnet8对应NAT方式。
配置vmnet8
需要进入到VMware Fusion的配置目录中,编辑networking文件
$ cd /Library/Preferences/VMware\ Fusion/ $ ls lastLocationUsed license-fusion-110-e3-201804 networking.bak.0 vmnet1 license-fusion-100-e3-201704 networking thnuclnt vmnet8 $ sudo vi networking
内容如下(已经修改过):
VERSION=1,0 answer VNET_1_DHCP yes answer VNET_1_DHCP_CFG_HASH 458079F9E236CBF1E8D462F5A32BB1360CCEE8F3 answer VNET_1_HOSTONLY_NETMASK 255.255.255.0 answer VNET_1_HOSTONLY_SUBNET 172.16.199.0 answer VNET_1_VIRTUAL_ADAPTER yes answer VNET_8_DHCP yes answer VNET_8_DHCP_CFG_HASH 7BF09E5656DA570B103420B2C8A5BB789811F07C answer VNET_8_HOSTONLY_NETMASK 255.255.255.0 answer VNET_8_HOSTONLY_SUBNET 192.168.1.0 answer VNET_8_NAT yes answer VNET_8_VIRTUAL_ADAPTER yes
解释一下上面的配置,VNET_1对应vmnet1,VNET_8对应vmnet8,分别进行配置。
VNET_8_DHCP表示使用dhcp动态分配ip;
VNET_8_HOSTONLY_NETMASK 255.255.255.0表示的网络掩码(网关掩码);
VNET_8_HOSTONLY_SUBNET 192.168.1.0表示的子网的网段;
VNET_8_NAT yes 启用vmnet8的NAT功能
主要就是配置网关ip和网关掩码;
配置好之后,可以使用下面的命令重启vmnet8网卡
$ ifconfig vmnet8 vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:50:56:c0:00:08 inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
配置vmnet8 NAT8
编辑/Library/Preferences/VMware\ Fusion/vmnet8/nat.conf
vi /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf
主要看下面的内容
# NAT gateway address ip = 192.168.1.2 netmask = 255.255.255.0 # VMnet device if not specified on command line device = vmnet8
ip,表示的网关ip,我配的是192.168.1.2;
netmask,表示的是网关的掩码,配置255.255.255.0;
device表示的是配置的网卡名称,这里是vmnet8;
设置虚拟机网络连接方式
配置虚拟机主机的网络
进入到虚拟机的网络配置目录
[root@centos03 ~]# ls /etc/sysconfig/network-scripts ifcfg-eth0 ifdown-ib ifdown-ppp ifup-aliases ifup-ipv6 ifup-ppp init.ipv6-global ifcfg-lo ifdown-ippp ifdown-routes ifup-bnep ifup-isdn ifup-routes net.hotplug ifdown ifdown-ipv6 ifdown-sit ifup-eth ifup-plip ifup-sit network-functions ifdown-bnep ifdown-isdn ifdown-tunnel ifup-ib ifup-plusb ifup-tunnel network-functions-ipv6 ifdown-eth ifdown-post ifup ifup-ippp ifup-post ifup-wireless
对eth0网卡进行配置,编辑ifcfg-eth0文件。
[root@centos03 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置内容如下:
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.1.3 NETMASK=255.255.255.0 GATEWAY=192.168.1.2
解释一下上面的配置:
DEVICE=eth0表示网卡名称为eth0
BOOTPROTO=static 表示使用静态IP,如果要使用动态IP,可以改为dhcp;
ONBOOT=yes表示让eth0网卡在机器启动的启动;
IPADDR=192.168.1.3设置虚拟主机的IP
NETMASK=255.255.255.0设置子网掩码
GETWAY=192.168.1.2设置网关(也就是前面Mac设置网关,在/Library/Preferences/VMware\ Fusion/vmnet8/nat.conf中)
如果有UUID和HWADDR两个配置项,如果要进行虚拟机克隆,就尽量将这两项删除。
如果要进行克隆,还需要执行以下下面命令,将一些数据绑定规则删除:
rm –rf /etc/udev/rules.d/*
重启网卡
service network restart
查看eth0网卡的信息:
[root@centos01 network-scripts]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:50:56:20:20:E2 inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fe20:20e2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:840 errors:0 dropped:0 overruns:0 frame:0 TX packets:469 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:79998 (78.1 KiB) TX bytes:66950 (65.3 KiB)
可以看到配置已经生效了。
测试
[root@centos03 ~]# ping baidu.com PING baidu.com (220.181.38.148) 56(84) bytes of data. 64 bytes from 220.181.38.148: icmp_seq=1 ttl=128 time=10.5 ms 64 bytes from 220.181.38.148: icmp_seq=2 ttl=128 time=7.57 ms 64 bytes from 220.181.38.148: icmp_seq=3 ttl=128 time=8.57 ms ^C --- baidu.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2364ms rtt min/avg/max/mdev = 7.579/8.890/10.517/1.220 ms