Linux

無法設置從 sublan 到 WAN 的預設路由

  • October 15, 2014

我正在嘗試使用筆記型電腦通過 WiFi 網路將我的一台 PC 連接到 Internet。這是我的網路:

(Wifi) <=============> (Notebook) <===============> (Desktop)
      (192.168.1.x)                 (10.12.0.x)
                     (192.168.1.85                 (10.12.0.2)
                     & 10.12.0.1)

所以,我在上網本上啟用了 ipv4_forward,並且這條 NAT 規則:

iptables -t nat -A POSTROUTING -s 10.12.0.0/24 -j MASQUERADE

這是我筆記本上的路由表:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
192.168.1.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0
192.168.1.85    127.0.0.1       255.255.255.255 UGH   303    0        0 lo

這是我桌面上的路由表:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.12.0.0       0.0.0.0         255.255.255.0   U     0      0        0 enp2s0
192.168.1.0     10.12.0.1       255.255.255.0   UG    0      0        0 enp2s0

我可以 ping 192.168.1.x 網路上的所有內容(包括我的 Internet 網關 192.168.1.254),但我無法添加簡單路由

route add default gw 192.168.1.254 enp2s0

或者

ip route add default via 192.168.1.254 dev enp2s0

我不斷收到以下錯誤:

SIOCADDRT: Network is unreachable
RTNETLINK answers: Network is unreachable

而且,當然,我無法從我的桌面 ping 任何 WAN 伺服器。你知道我做錯了什麼嗎?

謝謝你。

我認為你真正想要的是:ip route add default via 10.12.0.1 dev enp2s0

引用自:https://serverfault.com/questions/637309