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來訪問虛擬機