
我已經設定了 Ubuntu 16.04 VM 伺服器,並且我正在嘗試更改其上的預設 GW。 (由於白名單問題,所有流量應重定向到另一個網關)。
傳入流量將來自 10.50.xx 網絡,但傳出流量應通過 192.168.0.254 gw。
我們的設定如下:
我的路由器有 2 個 VLAN。第一個 VLAN 是 10.50.0.0/24,gw 是 10.50.0.1/24。第二個 vlan 是 192.168.0.0/24,gw 192.168.0.210。第二個 VLAN 上還有另一個網關 - 192.168.0.254。路由器可以存取 VLAN 及其上的所有伺服器。
伺服器啟動時,預設路由表為:
Destination Gateway Genmask F M R U Iface
0.0.0.0 10.50.0.1 0.0.0.0 UG 0 0 0 ens160
10.50.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
因此,為了使 192.168.0.x 網路“可用”,我添加了:
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.50.0.1 dev ens160
然後解釋 10.50.0.0/24 網路使用 10.50.0.1 網關(因為我們將更改預設閘道):
route add -net 10.50.0.0 netmask 255.255.255.0 gw 10.50.0.1 dev ens160
然後來「講解」如何到達192.168.0.254網關
route add -net 192.168.0.254 netmask 255.255.255.255 gw 10.50.0.1 dev ens160
現路線如下:
Destination Gateway Genmask F M R U Iface
0.0.0.0 10.50.0.1 0.0.0.0 UG 0 0 0 ens160
10.50.0.0 10.50.0.1 255.255.255.0 UG 0 0 0 ens160
10.50.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
192.168.0.0 10.50.0.1 255.255.255.0 UG 0 0 0 ens160
192.168.0.254 10.50.0.1 255.255.255.255 UGH 0 0 0 ens160
現在新增預設 gw:
route add default gw 192.168.0.254 dev ens160
我得到:
SIOCADDRT: Network is unreachable
我可以 ping 192.168.0.254,但使用此設定伺服器無法「看到」192.168.0.254?
root@tlt551:/home/user# ping 192.168.0.254
PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
64 bytes from 192.168.0.254: icmp_seq=1 ttl=254 time=3.18 ms
64 bytes from 192.168.0.254: icmp_seq=2 ttl=254 time=1.60 ms
...
誰能幫助我理解我做錯了什麼(我是網路新手)?
答案1
由於您的伺服器僅連接到 10.50.0.0/24 網絡,因此您無法僅透過更改伺服器上的設定來解決此問題。此伺服器只能將 10.50.0.1 作為其預設閘道。不應添加其他靜態路由,因為它們完全沒有意義。
需要在連接到兩個網路的路由器上進行更改。使用 IP 來源路由(也稱為基於策略的路由),您可以將流量從伺服器傳送到不同的下一跳路由器。為了幫助進行配置,我們需要知道您正在使用的路由器的品牌。但我強烈建議您向公司的網路團隊尋求協助。
答案2
嘗試這個:
ip route add 192.168.0.254 dev ens160
ip route add default via 192.168.0.254