我有一台具有公共 IP 的 ubuntu 服务器,我可以从本地计算机使用 ssh 访问它。但是,当我将此服务器置于私有网络中时,我无法再从本地计算机使用 ssh 访问它。此外,此服务器不再具有互联网连接。(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,但没有成功。也许我做错了什么。我无法访问路由器。
答案1
罪魁祸首是这样的:
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 服务器来查找匹配的命令。