我在台式机和笔记本上使用的是 Ubuntu 12.04 64 位。在两台电脑上都安装了 openssh 客户端和服务器。
我的桌面已连接到ADSL2+ 路由器 TD-8840使用有线连接,IP 地址为 192.168.1.1。
我的笔记本电脑已连接到150Mbps 无线 N 路由器 TL-WR741ND使用无线连接,IP 地址为 192.168.0.1。
ADSL2+ 路由器 TD-8840 和 150Mbps 无线 N 路由器 TL-WR741ND 通过使用 TL-WR741ND 上的 wlan 蓝色端口通过有线电缆连接。
从桌面配置 ifconfig
desktop:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1d:92:37:1f:3d
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21d:92ff:fe37:1f3d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:57508 errors:0 dropped:0 overruns:0 frame:0
TX packets:44508 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51547633 (51.5 MB) TX bytes:6371374 (6.3 MB)
Interrupt:43 Base address:0x6000
eth1 Link encap:Ethernet HWaddr 00:23:cd:b1:ff:e4
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:22 Base address:0x8400
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:109 errors:0 dropped:0 overruns:0 frame:0
TX packets:109 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12044 (12.0 KB) TX bytes:12044 (12.0 KB)
从笔记本电脑进行 ifconfig
laptop:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:a0:d1:65:2a:42
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
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:334 errors:0 dropped:0 overruns:0 frame:0
TX packets:334 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:31244 (31.2 KB) TX bytes:31244 (31.2 KB)
wlan0 Link encap:Ethernet HWaddr 00:19:d2:1b:19:81
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::219:d2ff:fe1b:1981/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1590 errors:0 dropped:0 overruns:0 frame:0
TX packets:1276 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:874763 (874.7 KB) TX bytes:315401 (315.4 KB)
我可以通过 ssh 从笔记本电脑毫无问题地连接到台式机,
笔记本电脑和台式电脑上的互联网连接正常,
但是当我想通过终端中的 ssh 从台式机连接到笔记本电脑时,我输入
ssh [email protected]
并得到
ssh: connect to host 192.168.0.101 port 22: Connection timed out
如果有人能指出哪里错了?
答案1
这很可能是您的 TP-Link TD-8840 上的路由问题。您需要添加静态路由(http://192.168.0.1-> 高级设置 -> 路由 -> 静态路由),您可以通过无线路由器地址 (192.168.0.n) 路由所有发往 192.168.1.* 的流量。
解决此问题的另一种方法是禁用无线路由器上的 DHCP 服务器,使其成为接入点。将主路由器作为“客户端”而不是“wan”连接,然后您将从 TP-Link 路由器获取 IP 和路由表。AP 将不再执行 IP 路由,而是执行 MAC 路由(第 2 层),并且不会再导致这些问题。
答案2
最有可能的是,您的无线路由器和有线路由器都在进行 NAT。因此,有线部分到无线部分的连接将无法工作,此外,笔记本电脑上的 Internet 连接会经过双重 NAT 转换。
如果可以,请将无线路由器配置为桥接模式,这样它就不会运行自己的 DHCP 服务器、分发 IP 地址等。大多数无线路由器都允许这样做。此外,如果您希望无线路由器以桥接模式运行,请通过其 LAN 端口(而不是 WAN 端口)将其连接到有线路由器。
有些也可以在不进行 NAT 的情况下在路由器模式下工作,但这种情况比较少见。在这种情况下,您需要在有线路由器上设置静态路由,以便它知道将 192.168.0.x 段的流量发送到哪里。