本文共 2377 字,大约阅读时间需要 7 分钟。
一、业务场景
在rMBP上的VMware Fushion 15.1安装虚拟机,采用一切默认的配置,经过简单几步,我们将得到一个dhcp协议的具有动态ip地址的虚拟机,可以满足绝大多数情况,也很方便很好用。但是有一种业务场景需要考虑到,比如我想创建一个虚拟机,只提供指定的网络服务(比如dns,http服务等),在家里和公司环境都不需要怎么配置,切换办公环境之后也好使,这样的话,一般要求虚拟机的IP地址是固定的,才能保证我们搭建的测试环境依然有效,否则服务器ip地址经常变,将会使client端无所适从。
针对这种需求,下面我将给出自己的实操记录,以作备忘。
我的软件环境说明
rMBP 15寸 2017款, macOS 10.13.6, VMware Fushion 15.1, 虚拟机CentOS 7.7 x86_64
二、为VMware Fushion新建NAT子网关
在rMBP上打开VMware Fushion,点击”偏好设置“,选择标签”网络“
在弹出的”网络“对话框中,点击锁图标,输入Mac管理员密码,点击“+”加号,创建一个自定义的网络配置项,默认名称为vmnet2,如下,勾选“允许该网络上的虚拟机连接到外部网络(使用NAT)”,因为我们要设置静态IP的虚机。手动配置子网ip,如:192.168.8.0,子网掩码255.255.255.0不变。
按图中1,2,3,4,5依序进行,最后点击右下角的“应用”,我们将该vmnet2创建出来。这里一定要注意几点:
1.必须手动点击“vmnet2”按钮,才能创建该vmnet2;
2.你可以修改vmnet2的子网IP,但是VMwareFusion会默认事先生成两个vmnet1和vmnet8,其中vmnet8用于DHCP功能。在没有安装任何虚拟机之前,VMware就已经创建好了vmnet1和vmnet8了。
3.注意创建vmnet2前后,rMBP的/Library/Preferences/VMware\ Fusion/vmnet目录的变化
在创建vmnet2之前,在/Library/Preferences/VMware\ Fusion/networking中已经存在vmnet1和vmnet8,这是安装VMware Fushion 15.1安装时就创建好的,如图
在创建vmnet2之后,我们看到两处明显改变,参见下图中两个红框处的内容
继续检查vmnet2的nat配置
cat /Library/Preferences/VMware\ Fusion/vmnet2/nat.conf 会看到vnet2的gateway ip和mask,我们下面在虚拟机上配置时,需要用到!# NAT gateway address ip = 192.168.8.2netmask = 255.255.255.0
三、安装虚拟机并配置静态ip
安装CentOS 7.7的虚拟机,带有gnome桌面环境和全部软件包,安装过程此处暂略,后面专文论述。在CentOS时对网络不做配置。
安装完成之后,打开CentOS 7.7的虚拟机,修改虚拟机网络配置:
虚拟机-》网络适配器设置-》选中vmnet2,勾选vmnet2,并存储使之生效。我们进入CentOS 7.7的终端环境,专门配置网络。修改linux虚拟机的网卡配置文件,设置虚拟机的静态IP是192.168.8.10,为了确保网络环境改变后仍然好使,这里可以填写多个DNS公网服务器地址,分别列为:
DNS1=114.114.114.114 DNS2=119.29.29.29DNS3=223.5.5.5DNS4=180.76.76.76DNS5=8.8.8.8
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改后的文件如下(参考有注释的行):TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static # 修改本行,默认值为dhcp,改为staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=b4bd9a95-905e-471a-9313-f7a668a8af5dDEVICE=ens33ONBOOT=yes # 修改本行,默认值为no,改为yesIPADDR=192.168.8.10 # 新增本行NETMASK=255.255.255.0 # 新增本行GATEWAY=192.168.8.2 # 新增本行,这是前面vnet2的gateway ipDNS1=114.114.114.114 # 新增本行
到此,所有的配置完成,接下来需要重启网卡(重启主机也行,因为我们把ONBOOT设置为yes了)
重启linux虚拟机网卡 systemctl restart network四、测试网络连通性
在linux虚拟机:ping mac主机ip
在linux虚拟机:ping baidu.com 在mac主机:ping 192.168.8.10 #我们为刚才的虚拟机配置的静态IP在rMBP上的终端测试,能否ping通虚拟机:
我们看到,从虚拟机上可以正常访问rMBP主机以及外网域名;同时从rMBP终端也可以ping通虚拟机,这样它们之间的网络是畅通的,而且虚拟机是静态IP配置,符合我们的业务要求!
五、参考文献
[1].
转载地址:http://xwcoi.baihongyu.com/