Networking

可以 ping 但不能 ssh - eth0 lan

  • November 30, 2020

難住要排查哪個方向……

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
  1. 不能有具有兩個不同網路遮罩的相同子網
  2. 如果兩個不同的子網都指向同一個網關 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 的故障排除步驟。

引用自:https://unix.stackexchange.com/questions/620018