最近想在本地用虚拟环境搭一个k8s环境,但是发现虚拟机的ip会不定时自动变化,导致mosh客户端连接经常中断。于是就想让虚拟机的ip固定住,不再变动。
mac 上的 vmware fusion 设置固定 ip 没有 windows 下那么方便。百度之后找到一种方法。
-
设置 vm 虚拟机对应的静态ip
首先修改
/Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
文件在
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
这一行之后添加虚拟机静态ip配置。如下图
这里需要注意的是, master-k8s, node1-k8s, node2-k8s 这个主机名要和虚拟机的名称相对应。
我这里有三个虚拟机,所以有三个配置。
可以在vmware fusion 中的虚拟机资源库中查看或修改。如下图
-
刷新 vm 网络配置
运行以下命令刷新网络配置
$ sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --configure $ sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop $ sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start
输出应该如下图所示

-
虚拟机重新获取配置
可以直接重启 vmware fusion 和 虚拟机系统,
也可以直接在虚拟机命令行中执行
sudo dhclient -v -r eth0
。 eth0 为对应网卡。
这样虚拟机的ip就不会变来变去了。
参考: