由于 iptables 条目而尝试通过本地网络进行 ssh 时出现错误 kex_exchange_identification

由于 iptables 条目而尝试通过本地网络进行 ssh 时出现错误 kex_exchange_identification

当我尝试通过本地网络上的 open ssh 连接到计算机时,出现以下错误:

kex_exchange_identification: read: Connection reset by peer
Connection reset by 192.168.1.39 port 22

这似乎是因为我为机器设置了 iptables 条目。当我允许 iptables 上的所有流量时,我就可以正常使用 ssh 了。但是当我的 VPN 设置 iptables 规则时我无法连接。

当 iptables 设置为以下内容时,我无法成功 ssh:

Chain INPUT (policy DROP)
target  prot opt source            destination 
..........
ACCEPT  all  --  192.168.1.0/24    anywhere   cstate RELATED,ESTABLISHED
ACCEPT  all  --  192.168.1.0/24    anywhere   cstate NEW,RELATED,ESTABLISHED
ACCEPT  udp  --  192.168.1.0/24    anywhere   udp dpt:51280
ACCEPT  all  --  192.168.1.0/24    anywhere   cstate NEW,RELATED,ESTABLISHED
..........
Chain OUTPUT (policy DROP)
target  prot opt source     destination 
..........
ACCEPT  all  --  anywhere   192.168.1.0/24 
ACCEPT  all  --  anywhere   192.168.1.0/24 
ACCEPT  all  --  anywhere   192.168.1.0/24  
..........

当 iptables 设置为以下内容时,我能够成功 ssh:

Chain INPUT (policy ACCEPT)
Chain OUTPUT(policy ACCEPT)

我要连接的机器的IP是192.168.1.39/24,我要连接的机器的IP是192.168.1.189/24。所以它们都在同一个 192.168.1.0 网络上(iptables 规则应该接受连接)。

我还尝试添加一条规则以允许与该电脑的所有连接,但这并没有解决问题。

iptable 条目由 NordVPN 客户端设置(要删除条目,我只需禁用 NordVPN)。我尝试从 aur 软件包重新安装最新版本的 NordVPN,但这并没有解决问题。但显然我希望 NordVPN 能够正常运行

我知道这与 iptables 有关,但我在尝试找到确切的原因时遇到了麻烦(我不是网络专家,但上面的那些条目看起来不错)或如何修复它。

该网络只是一个家庭网络。在它以前工作正常(相同的电脑,相同的VPN,相同的...)但我的路由器刚刚坏了,所以我正在使用一个新的(华硕rt-ac68u),这是问题开始发生的时候。我还查看了我的路由器设置,看看是否有任何可以进一步解释这一点的内容,但没有找到任何内容。

另外,如果我关闭 192.168.1.39 上的 VPN,但打开 192.168.1.189 上的 VPN(具有相同的 iptables 规则),那么我可以 ssh 到 192.168.1.39。但如果我为两台机器都打开 VPN,那么我就无法 ssh。

总之

  • 当服务器 NordVPN 打开时,客户端 (192.168.1.189) 无法 ssh 到服务器 (192.168.1.39)。

  • 当服务器 NordVPN 关闭时,客户端可以 ssh 到服务器。

  • 当客户端 NordVPN 关闭时,客户端可以 ssh 到服务器。

  • 错误似乎与服务器 iptable 条目有关

    • 将 catch all 规则添加到服务器 iptable 似乎并不能解决问题
  • 更改可能与新路由器(Asus RT-AC68U)相关的网络,但我无法识别其设置有任何问题

我有点不知道如何继续。有人可以帮忙吗?

谢谢

编辑 - 我正在继续调查这一点,但我认为我没有更多可以添加的内容。如果还有其他我认为有用的内容,我会更新

  1. 如果人们认为问题可能是 NordVPN 而不是 iptables,我确实将 Chain INPUT 策略设置为在 NordVPN 开启并且 SSH 工作正常时接受。所以我认为这肯定是我在 ip 表上搞砸了

相关内容