我有一個運行 Ubuntu 18.04 的虛擬機器 - 它全部設定並在單一公用 IP 上運行,並且有兩個介面 - ens160
(公共)和ens192
(私有)。
我的介面 ens160 已完全配置。但是,當我嘗試設定ens192
並套用設定時netplan apply
,ens160
會停止外部 ping。
ifconfig -
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 78.111.203.13 netmask 255.255.255.224 broadcast 78.111.203.31
inet6 fe80::250:56ff:feb2:ac74 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:b2:ac:74 txqueuelen 1000 (Ethernet)
RX packets 8761053 bytes 3882588408 (3.8 GB)
RX errors 0 dropped 242551 overruns 0 frame 0
TX packets 10449256 bytes 4654699595 (4.6 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::250:56ff:feb2:3d74 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:b2:3d:74 txqueuelen 1000 (Ethernet)
RX packets 242552 bytes 14553120 (14.5 MB)
RX errors 0 dropped 227391 overruns 0 frame 0
TX packets 7256 bytes 2349506 (2.3 MB)
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 9194 bytes 2309681 (2.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9194 bytes 2309681 (2.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
50-cloud-init.yaml
這是我在下面嘗試的配置文件-
network:
ethernets:
ens160:
addresses:
- 78.111.203.13/27
gateway4: 78.111.203.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
search: []
optional: true
ens192:
addresses:
- 10.0.203.13/27
gateway4: 10.0.203.1
optional: true
version: 2
一旦我運行netplan try
,我就無法再 ping 我的外部 IP,78.111.203.13
直到超時並且網路自行重置。但有趣的是,我仍然可以從網路內的其他虛擬機器 ping 外部 IP - 我不確定這是否意味著什麼?
新配置的內部 IP 也開始在網路內進行 ping 操作 - 正如我所期望的那樣。
我希望你能幫忙!
克里斯。
答案1
該問題幾乎肯定與您嘗試在輔助介面上設定預設閘道有關。
重要的是要始終記住,預設網關實際上並不是單一介面的屬性,而是添加到路由表中的路由。 「預設閘道」是當沒有其他更具體的路由與給定目的地不符時所使用的路由。如果您嘗試新增兩個具有相同指標的預設網關,則只有其中一個可以工作。
答案2
預設網關是路由器的位址,它將路由您尚未定義路由的封包。在大約 99% 的情況下,這是為您的系統提供 Internet 存取權限的路由器。任何主機都會有正好一個這些(每個協定)在正常配置中。
你已經定義了二,因此其中一個會與另一個發生衝突並凌駕於另一個之上。因為它是不是您的互聯網網關,您應該再次將其刪除。