需求
我们经常在做开发的时候都需要模拟生产环境, 但是一台真正的服务器显然不适合我们做开发, 因为我们要经常切换环境, 部署东西, 卸载东西, 此时就有了虚拟机, 但我们经常会遇到这样的问题, 虚拟机关机后或者电脑断网后虚拟机的IP地址就会变, 而我们在项目中设置的IP地址也就得改, 我们ssh工具还得重新输入一次IP进行连接, 所以我们需要设置静态IP
步骤
操作系统: MacOS 10.15
虚拟机软件: VMware Fusion 11.5
假设我们虚拟机的IP要设置成192.168.100.xxx
设定本机vmnet8网卡信息
切换root用户
sudo su -
用VIM打开vmware配置网卡的配置文件
vim /Library/Preferences/VMware\ Fusion/networking
删除文件中与VNET_8有关项,然后复制如下代码,
关闭DHCP
answer VNET_8_DHCP no
answer VNET_8_DHCP_CFG_HASH A3774230C8D2DDCBD24757FE6CE211D7A00CAB13
设置子网掩码
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
设置IP网段
answer VNET_8_HOSTONLY_SUBNET 192.168.100.0
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yes
vmnet8的IP
answer VNET_8_VIRTUAL_ADAPTER_ADDR 192.168.100.1
配置vmnet8的IP和网关
用VIM打开vmnet8的配置文件
vim /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf
找到这两行做修改,一般就是前两行
ip = 192.168.100.2
netmask = 255.255.255.0
重启vmnet8网卡
关闭网卡
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop
启动网卡
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start
查看状态
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --status
配置虚拟机的网卡
虚拟机操作系统: CentOS7.3
编辑网卡,这个地方,我的网卡名称是ens33 ,默认装机会是这个网卡名称
vim /etc/sysconfig/network-scripts/ifcfg-ens33
复制如下代码
类型以太网
TYPE=Ethernet
修改为静态而不是DHCP
BOOTPROTO=static
DEFROUTE=yes
PEERNDS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=73536624-8e09-4177-ae84-43c2e2a6d09d
DEVICE=ens33
网卡在开机时启动
ONBOOT=yes
IP
IPADDR=192.168.100.10
网关
GATEWAY=192.168.100.2
DNS
DNS1=119.29.29.29
DNS2=182.254.116.116
重启虚拟机网卡
systemctl restart network
查看一下
ifconfig