Ubuntu 上的 ssh 第一次使用后失败:不对称路由,SSH 连接无法正确建立

Ubuntu 上的 ssh 第一次使用后失败:不对称路由,SSH 连接无法正确建立

这个问题让我很困惑...我在子网 10.128.0.1 上有一个 exs 主机,在子网 10.128.20.1 上有一个客户机。我在子网 10.128.0.1 上还有另一个盒子,虚拟机在 10.129.18.1 上...

路由器是简单的多宿主路由器,包含所有三个子网,主局域网为 10.128.0.1,多宿主路由器为 10.128.18.1 和 10.128.20.1...

我可以ssh将任何客户机连接到 10.128.18.1 客户机,但对于 10.128.20.1 客户机,我只能连接ssh一次,然后必须重新启动客户机?我看到数据包到达客户机虚拟机tracedump...但由于某种原因,连接超时或它在那里等待某事。我确实关闭了,useDNS因为sshd_config本地 DNS 服务器仍未配置...认为它影响了它。

不知怎的,我认为这是我的sshd配置问题,但无法解决它......

这是我的sshd_config

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel DEBUG
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
AllowUsers testuser
UseDNS no
ClientAliveInterval 15
ClientAliveCountMax 5

希望得到一些见解。

答案1

问题解决了,回答我自己的问题。这是为了让有类似问题的人受益。

问题原来是创建了非对称路由。对于 TCP,会话涉及发送 SYN、ACKS 和其他帧来建立连接。如果存在非对称路由,从 TCP 级别来看仍然是可以的,但是如果路由器的防火墙启用了 SPI,并且看到 ack 通过不同的路由传来,它将终止该数据包,即它正在执行其工作。理想情况下,您希望避免非对称路由,但在现实世界中这是不可能的,例如,如果您在同一子网上有两个路由器或软件网关(例如 VPN 网关),或者您的静态路由配置不正确,就会发生这种情况。

如果路由器支持,启用非对称路由,这个问题就会消失。也可以尝试禁用路由器上的 SPI(但不推荐)。如果您的 NAT 保护得很好,请执行此操作。

就我的情况而言,我在防火墙中启用了非对称路由。最终,我将排除重叠路由的故障(如果有的话)...

不过,有一句陈词滥调,不对称路线的调试非常麻烦,因为您最初完全不知道,直到您开始乏味的消除过程,特别是如果您像我一样设置新设置。

相关内容