可以 ping 但不能 ssh - eth0 lan
難住要排查哪個方向……
Server1 可以 ssh 到任何電腦,但沒有其他電腦可以 ssh 到 Server1。即使 Server1 ssh 到 Server2 -> Server2 也不能通過相同的開放 ssh 埠 ssh 回到 Server1。
Server1 可以 ssh 到 Server3 然後通過 ssh 隧道 ssh 到 Server2
> > 伺服器1=>伺服器3=>伺服器2 > > >
為什麼 Server1 可以通過 Server2 隧道到 Server3,但不能通過 Server3 回到 Server1?
如果通過交叉電纜連接,Server1 可以直接連接到 Server2,但不能從 Server2 隧道回到 Server1。
> > 伺服器1=>伺服器2=> > > $$ X $$伺服器1 >
> > 如果連接到路由器 > > >
# ssh 192.168.4.1 # ssh: connect to host 192.168.4.1 port 22: Connection refused
# nc 192.168.4.1 22 (does not connect)
# nc -l 22 (on 192.168.4.1) # nc: Address already in use
伺服器1:192.168.4.2
伺服器2:192.168.4.1
伺服器3:192.168.4.3
為測試禁用防火牆。IP 表接受所有。懷疑配置錯誤的路由表……
Server1核心IP路由表
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 192.168.4.0 0.0.0.0 255.255.254.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
編輯:查看保存的舊工作“# route -n”輸出,192.168.4.0(伺服器的子網)的度量標準是 100 。route -n 顯示的度量設置是否可以防止 ssh 隧道?
編輯:
# tcpdump -c 25 -i eth0 -v
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 19:19:37.121131 IP (tos 0x10, ttl 64, id 19952, offset 0, flags [DF], proto TCP (6), length 176) homie.ssh > 192.168.4.6.38360: Flags [P.], cksum 0x89fb (incorrect -> 0xecf8), seq 3089869718:3089869842, ack 4078834853, win 271, options [nop,nop,TS val 11868537 ecr 3677449774], length 124 19:19:37.121627 IP (tos 0x10, ttl 64, id 22362, offset 0, flags [DF], proto TCP (6), length 52) 192.168.4.6.38360 > homie.ssh: Flags [.], cksum 0x8577 (correct), ack 124, win 501, options [nop,nop,TS val 3677449895 ecr 11868537], length 0 19:19:37.135066 IP (tos 0x10, ttl 64, id 19953, offset 0, flags [DF], proto TCP (6), length 184) homie.ssh > 192.168.4.6.38360: Flags [P.], cksum 0x8a03 (incorrect -> 0xe8ff), seq 124:256, ack 1, win 271, options [nop,nop,TS val 11868540 ecr 3677449895], length 132 19:19:37.135254 IP (tos 0x0, ttl 64, id 37912, offset 0, flags [DF], proto UDP (17), length 70) homie.57077 > gateway.domain: 17930+ PTR? 6.4.168.192.in-addr.arpa. (42) 19:19:37.135317 IP (tos 0x10, ttl 64, id 22363, offset 0, flags [DF], proto TCP (6), length 52)
路線
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 192.168.4.0 0.0.0.0 255.255.254.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
- 不能有具有兩個不同網路遮罩的相同子網
- 如果兩個不同的子網都指向同一個網關 0.0.0.0 內部 gw 的流量綁定將“失去”
# sudo route del -net 192.168.4.0 gw 0.0.0.0 netmask 255.255.255.0 dev eth0
現在嘗試分別使用這兩個網路。路線是自動生成的,因此它“可能”自己工作。如果沒有,手動添加路由到遠端IP(伺服器),192.168.4.0/24 似乎不起作用,也許有人可以解釋為什麼….
`# route add -net 192.168.4.0 netmask 255.255.254.0 gw 192.168.4.2 eth0'
花了幾天時間來解決這個問題,所以在這裡發布以供我參考,也許它會幫助有類似問題的人尋找 ping 但沒有 ssh 的故障排除步驟。