Ubuntu18.04 NAT模式下配置静态IP地址 -2020.11.09
Ubuntu18.04 NAT模式下配置静态IP地址 -2020.11.09
准备工作
平时使用ssh连接虚拟机,但是发现一旦切换了网络以后,虚拟机的IP地址总是会发生改变,那么如何设置虚拟机的静态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],这一条配不配置都行
所有内容如下
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: no
dhcp6: no
addresses: [192.168.42.100/24]
gateway4: 192.168.42.2
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
修改成功后,输入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来访问虚拟机