在 2800 系列路由器上,我以前能够通过两个公共接口 ssh 进入,但现在似乎无法做到。这两个公共接口中的一个有 ACL,另一个目前没有。当我 ssh 到有 ACL 的那个接口时,我确实看到 ACL 的允许规则上的计数器上升。但是,我无法通过任何一个接口 telnet 到端口 22。我仍然能够使用内部接口通过 IPSEC VPN 隧道 ssh 进入路由器。有人知道可能发生了什么吗?
这是尝试通过互联网从外部进行 telnet 的调试日志,12.12.12.12 是外部计算机,13.13.13.13 是路由器上我也进行 telnet 的公共接口:
000263: *Sep 15 13:18:46.505 UTC: IP: tableid=0, s=12.12.12.12 (FastEthernet0/1/0), d=13.13.13.13 (FastEthernet0/1/0), routed via RIB
000264: *Sep 15 13:18:46.505 UTC: IP: s=12.12.12.12 (FastEthernet0/1/0), d=13.13.13.13 (FastEthernet0/1/0), len 60, rcvd 3
000265: *Sep 15 13:18:46.505 UTC: TCP src=48143, dst=22, seq=1929678540, ack=0, win=5840 SYN
000266: *Sep 15 13:18:46.505 UTC: IP: tableid=0, s=13.13.13.13 (local), d=12.12.12.12 (FastEthernet0/1/0), routed via FIB
000267: *Sep 15 13:18:46.509 UTC: IP: s=13.13.13.13 (local), d=12.12.12.12 (FastEthernet0/1/0), len 44, sending
000268: *Sep 15 13:18:46.509 UTC: TCP src=22, dst=48143, seq=3745978889, ack=1929678541, win=4128 ACK SYN
000269: *Sep 15 13:18:48.509 UTC: IP: tableid=0, s=13.13.13.13 (local), d=12.12.12.12 (FastEthernet0/1/0), routed via FIB
000270: *Sep 15 13:18:48.509 UTC: IP: s=13.13.13.13 (local), d=12.12.12.12 (FastEthernet0/1/0), len 44, sending
000271: *Sep 15 13:18:48.509 UTC: TCP src=35, dst=48143, seq=3745978889, ack=1929678541, win=4128 ACK SYN
000272: *Sep 15 13:18:49.501 UTC: IP: tableid=0, s=12.12.12.12 (FastEthernet0/1/0), d=13.13.13.13 (FastEthernet0/1/0), routed via RIB
000273: *Sep 15 13:18:49.501 UTC: IP: s=12.12.12.12 (FastEthernet0/1/0), d=13.13.13.13 (FastEthernet0/1/0), len 60, rcvd 3
000274: *Sep 15 13:18:49.501 UTC: TCP src=48143, dst=22, seq=1929678540, ack=0, win=5840 SYN
000275: *Sep 15 13:18:49.501 UTC: IP: tableid=0, s=13.13.13.13 (local), d=12.12.12.12 (FastEthernet0/1/0), routed via FIB
000276: *Sep 15 13:18:49.501 UTC: IP: s=13.13.13.13 (local), d=12.12.12.12 (FastEthernet0/1/0), len 40, sending
000277: *Sep 15 13:18:49.501 UTC: TCP src=22, dst=48143, seq=3745978889, ack=1929678541, win=4128 ACK
更新:
也许是 nat 问题?
上面的 show ip nat trans 的输出是:
tcp 11.11.11.11:22 14.14.14.14:22 12.12.12.12:42884 12.12.12.12:42884
其中 14.14.14.14 是路由器上的另一个公共接口。
答案1
检查事项:
- 在路由器上,执行调试 ip ssh进而终端监视器,然后尝试连接。
- 在客户端使用调试。使用 OpenSSH,使用-v标志。使用 PuTTY,转到日志记录并选择SSH 数据包尝试连接之前。我猜想其他 SSH 客户端也具有调试机制,但这两种是我最常用的。
两者的结合应该能给你一些关于连接卡住位置的提示。
另外,请确保你取消调试 ip ssh当你完成的时候。
答案2
Kyle,很可能存在 NAT 问题,但如果不看配置就很难判断。
解决此问题的一个好方法是使用路由器的外部 IP 创建访问列表,然后为该 ACL 启用 NAT 调试。例如:
R> enable
R# conf t
! XXX is the number of an unused access-list
R(config)# access-list XXX permit 13.13.13.13 0.0.0.0
R(config)# ^Z
! XXX is the ACL defined above
R# debug ip nat XXX
R# term monitor
完成后:
R# no access-list XXX
!Removing the ACP should automatically turn off NAT debugging for it but to be thorough
R# no debug ip nat XX