Ubuntu18.04 NAT 模式下配置静态 IP 地址¶
准备工作¶
平时使用 ssh 连接虚拟机,但是发现一旦切换了网络以后,虚拟机的 IP 地址总是会发生改变,那么如何设置虚拟机的静态 IP 地址呢
注意:Ubuntu18.04 是通过修改/etc/netplan 目录下的配置文件来修改 IP 地址的
首先在 VMware 的 Edit 菜单下找到虚拟网络设置
选择右下角,改变设置
找到 VMnet8,NAT 模式,去掉使用本地 DHCP 服务给虚拟机分配 IP 地址
选择 NAT 设置,查看 NAT 网关 IP,Gateway IP,这里是 192.168.42.2,并且子网掩码为 255.255.255.0
打开 cmd 终端,输入 ipconfig,查看 VMnet8 在本机的 IPv4 地址
我这里是 192.168.42.1,目前我们得到了 3 个 IP 地址,分别如下
- VMnet8 的网络地址:192.168.42.0
- VMnet8 的网关地址:192.168.42.2
- 本机 VMnet8 的 IPv4 地址:192.168.42.1
改写配置文件¶
首先改变 Ubuntu18.04 的网络连接方式为 NAT,然后打开 Ubuntu18.04 的终端,首先查看你的网络名称,使用 ifconfig,这里是 ens33
然后输入ls /etc/netplan/
linkchen@master:~$ ls /etc/netplan/
01-network-manager-all.yaml
linkchen@master:~$
可以看到一个文件,01-network-manager-all.yaml
输入命令sudo vim /etc/netplan/01-network-manager-all.yaml
编辑该文件
具体修改项目:【注意 yaml 的对齐格式和冒号后的空格,否则后续生效时会出错】
- 在 network 下添加以太网 ethernets
- 在 ethernets 中添加你的网络名称,这里是 ens33
- 在 ens33 中添加【注意冒号后的空格】
- dhcp4: no
- dhcp6: no
- addresses: [192.168.42.*/24],这里使用的是 CIDR 划分的方式,其中*可以是除了 0、1、2 的任何小于 255 的数,因为 0、1、2 被使用,这里设置为 100,addresses 这一属性就设置了虚拟机的静态 IP 地址
- gateway4: 192.168.42.2,这里为之前所查看的 VMnet8 网关地址
- 添加 nameservers,域名服务器,并配置 addresses: [114.114.114.114, 8.8.8.8],这一条配不配置都行
所有内容如下
01-network-manager-all.yaml | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
修改成功后,输入sudo netplan apply
,再次输入 ifconfig,查看 ip 地址是否改变
linkchen@master:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.42.100 netmask 255.255.255.0 broadcast 192.168.42.255
inet6 fe80::20c:29ff:fec4:7cb prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:c4:07:cb txqueuelen 1000 (Ethernet)
RX packets 3933 bytes 1728376 (1.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2033 bytes 226412 (226.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 854 bytes 87847 (87.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 854 bytes 87847 (87.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
重启 VMnet8¶
这一步非常重要,否则主机依然会 ping 不通虚拟机,找到 VMnet8 适配器,选择禁用,过几秒钟后再启用即可
配置完成后,就可以使用静态 IP 地址来访问虚拟机了,如果还是连接不了,可以通过 ping 查看主机与虚拟机网络是否连通,如果不通可以尝试重启主机,如果正常配置则重启后,能使用静态 IP 来访问虚拟机