我如何找出阻止某个端口上的传入连接的原因?

我如何找出阻止某个端口上的传入连接的原因?

出于某些原因,我想在我的机器上启用附加端口上的 SSH 连接。这是一台物理机器(不是虚拟机),运行 Devuan GNU/Linux Chimaera(~= Debian 11.0,不带 systemd)。默认 SSH 服务器(OpenSSH_8.4p1 Debian-5、OpenSSL 1.1.1k)运行良好,并且已在端口 22 上接受连接。

我在我的 中添加了两个Port条目/etc/sshd_config

Port 22
Port 5123

并重新启动了服务。

我现在的体验是,从同一台机器内部,我可以连接到两个端口(ssh -p 5123 localhost可以工作);但是从 LAN 上的其他机器,我只能连接到端口 22。这是一个物理 LAN(连接到交换机的电缆),因此沿途不应该出现任何堵塞。

  • 我找不到任何关于被拒绝连接的提及/var/log/auth.log
  • 我检查了/etc/hosts.allow一下/etc/hosts.deny,它们都是空的(除了注释行)。
  • 我试过了iptables --list——所有桌子都是空的。

那么,什么可能阻塞其他机器的端口 5123 上的连接,我该如何解除阻塞?

编辑:附加信息:

# lsof -Pi :5410
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
sshd    27566 root    3u  IPv4 19305483      0t0  TCP *:5410 (LISTEN)
sshd    27566 root    4u  IPv6 19305485      0t0  TCP *:5410 (LISTEN)
# iptables-save
# Warning: iptables-legacy tables present, use iptables-legacy-save to see them
# iptables-legacy-save 
# Generated by iptables-save v1.8.7 on Sun Oct 10 09:30:15 2021
*filter
:INPUT DROP [3837243:374065333]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [8124295:583169789]
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p udp -m udp --dport 500 -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sun Oct 10 09:30:15 2021

因此看起来有一个接受端口 22 作为输入的规则,但没有接受端口 5123 的规则。但问题仍然存在 - 造成这种情况的原因是什么?

# cat /etc/nftables.conf
#!/usr/sbin/nft -f

flush ruleset

table inet filter {
    chain input {
        type filter hook input priority 0;
    }
    chain forward {
        type filter hook forward priority 0;
    }
    chain output {
        type filter hook output priority 0;
    }
}

在 Debian 11 和 Devuan Chimaera 上,iptables实际上是一个符号链接:

# readlink  `which iptables`
/etc/alternatives/iptables
# readlink -f `which iptables`
/usr/sbin/xtables-nft-multi

相关内容