我用的笔记本是 Windows 系统,本地常常在 Linux 虚拟机中安装各种组件做测试,比如 Redis、MySQL 等,在开关机后,每次开发时连接虚拟机的网络 IP 会发生变化,导致本地服务连不上或虚拟机中的组件不可用。为此每次都得改配置文件的 IP 重启服务,很麻烦,所以想办法把开发机和虚拟机 IP 改成静态 IP 给固化下来,一劳永逸提高开发效率。
系统环境:宿主机:Windows 10 LTS 2019,虚拟机:CentOS 7.9,路由器:Redmi AC2100。下面是网络拓扑图和配置过程。
家里的小米路由器网关是:192.168.31.1,在路由器管理后台设置 DHCP ,为我的笔记本(宿主机)分配静态IP:192.168.31.6。
重启宿主机网络(断开重连 wifi 即可),并查看网络 IP 为:192.168.31.6。
打开 VMware 虚拟机,虚拟网络编辑器。建立网络 VMnet8。设置NAT模式,配置子网 IP 为192.168.133.0,子网掩码为255.255.255.0,并取消勾选“使用本地 DHCP 服务将 IP 地址分配给虚拟机”。
点击NAT设置,配置 VMnet8 的网关 IP 为192.168.133.2。
设置虚拟机实例的网络适配器,选择 VMnet8(NAT模式)。
确认宿主机的网络连接也对应上面虚拟网络编辑器配置。
接下来在虚拟机实例内配置静态 IP。界面右上角选择网络,进入有线设置页面。
选择有线网络设置。切换 Tab 页到 IPv4,如图配置:IPv4 Method 为手动;Address地址为192.168.133.128,子网掩码为:255.255.255.0,网关为刚在 VMware 配置 VMnet8 的网关192.168.133.2;DNS也设置为192.168.133.2。
点击应用按钮保存设置。使用终端检查:ifcfg-ens33 文件,实际上通过系统界面 GUI 操作的内容,最终也是配置到该文件。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 展示
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=796f71ab-9ef7-43ad-9edf-d01aff17bed0
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.133.128
PREFIX=24
GATEWAY=192.168.133.2
DNS1=114.114.114.114
重启虚拟机网络,使用ip add命令在虚拟机终端查看本机 IP 为192.168.133.128,配置已生效。
从虚拟机 ping 宿主机和百度,查看连通性。
ping 192.168.31.6
ping baidu.com
从宿主机 ping 虚拟机,查看连通性。
至此,虚拟机静态 IP 已全部配置完成。
文章对您有帮助的话,记得 点赞 关注 收藏 哦~
END