需求 我们经常在做开发的时候都需要模拟生产环境, 但是一台真正的服务器显然不适合我们做开发, 因为我们要经常切换环境, 部署东西, 卸载东西, 此时就有了虚拟机, 但我们经常会遇到这样的问题, 虚拟机关机后或者电脑断网后虚拟机的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