Ubuntu

在專用網路中沒有網際網路連接

  • January 24, 2014

我有一個帶有公共 IP 的 ubuntu 伺服器,我可以從本地電腦通過 ssh 訪問它。但是,當我將此伺服器放在專用網路中時,我無法再通過本地電腦上的 ssh 訪問它。此外,此伺服器不再具有 Internet 連接。(ping google 返回“未知主機”)

如果我從專用網路中刪除伺服器,我可以再次 ssh 到它。

這是 ifconfig 的輸出:

eth0  
Link encap:Ethernet  HWaddr aa:0c:fa:58:e9:89  
     inet addr:83.212.x.x  Bcast:83.212.x.x  Mask:255.255.254.0
     inet6 addr: y::y:y:y:y/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:472 errors:0 dropped:0 overruns:0 frame:0
     TX packets:232 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:39445 (39.4 KB)  TX bytes:16357 (16.3 KB)

eth1  
Link encap:Ethernet  HWaddr aa:00:0a:e5:59:7a  
     inet6 addr: y:y:y:y:y:y:y:y/64 Scope:Global
     inet6 addr: y:y:y:y:y:y:y:y/64 Scope:Global
     inet6 addr: y::y:y:y:y/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:745 errors:0 dropped:0 overruns:0 frame:0
     TX packets:2463 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:70070 (70.0 KB)  TX bytes:255901 (255.9 KB)
eth2      
Link encap:Ethernet  HWaddr aa:35:7a:43:a4:77  
     inet addr:192.168.0.6  Bcast:192.168.0.255  Mask:255.255.255.0
     inet6 addr: y::y:y:y:y/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:1782 errors:0 dropped:0 overruns:0 frame:0
     TX packets:386 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:117153 (117.1 KB)  TX bytes:24309 (24.3 KB)

lo      
Link encap:Local Loopback  
     inet addr:127.0.0.1  Mask:255.0.0.0
     inet6 addr: ::1/128 Scope:Host
     UP LOOPBACK RUNNING  MTU:16436  Metric:1
     RX packets:17715 errors:0 dropped:0 overruns:0 frame:0
     TX packets:17715 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:3986302 (3.9 MB)  TX bytes:3986302 (3.9 MB)

這裡是輸出netstat -nr

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0       0     eth2
0.0.0.0         83.212.x.x      0.0.0.0         UG        0 0       0     eth0
83.212.x.x      0.0.0.0         255.255.254.0   U         0 0       0     eth0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0       0     eth2

我試過NATing,但沒有用。也許我沒有正確地做某事。我無法訪問路由器。

這是罪魁禍首:

0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0       0     eth2
0.0.0.0         83.212.x.x      0.0.0.0         UG        0 0       0     eth0

你有兩個預設路由,你應該只有一個。

您可以使用 刪除路線route del default gw 192.168.0.1。我不確定 ubuntu 的語法,所以您可能需要先仔細檢查手冊頁。

在基於 redhat 的系統上,您可以通過刪除GATEWAY/etc/sysconfig/network-scripts/ifcfg-eth2 並執行ifcfg eth2 down; ifcfg eth2 up. 我沒有方便的 ubuntu 伺服器來在那裡找到匹配的命令。

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