无法远程登录到侦听端口和防火墙规则

无法远程登录到侦听端口和防火墙规则

我正在尝试远程登录到端口 50000 上的主机,我已验证该主机正在侦听 DB2 实例 (db2inst1)。

 telnet [host] 50000

 telnet [ip_adress] 50000

但它给出了错误:连接超时

我检查了 /etc/sysconfig/iptables 文件,端口 50000 的防火墙规则已正确设置(它们已保存并重新启动了 iptables 服务):

-A INPUT -p tcp -m tcp --dport 50000 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 50000 -j ACCEPT

但我仍然无法远程登录到该端口。我禁用了该服务iptables,但它允许我连接,这意味着防火墙规则有问题。

答案1

您的防火墙规则不起作用的问题是,当一台计算机连接到您的数据库服务器时,从数据库服务器的角度来看,它确实是目标端口;然而,当数据包离开数据库服务器时,从数据库服务器的角度来看,数据库服务/侦听端口是源端口。

因此,直接纠正您的规则应该是:

-A INPUT -p tcp -m tcp --dport 50000 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 50000 -j ACCEPT

还要注意多个守护进程经常需要的本地主机连接;您可能需要在规则的顶部:

-A INPUT -i lo -j ACCEPT
-A OUTPUT -i lo -j ACCEPT

根据您的安全要求和规则数量,我会看看ESTABLISHED 和 RELATED 指令。它将允许您使用状态防火墙感知规则来简化规则。

ESTABLISHED 表示数据包与已在两个方向上看到数据包的连接关联,NEW 表示数据包已启动新连接,或以其他方式与未在两个方向上看到数据包的连接关联,RELATED 表示数据包正在启动新连接,但与现有连接相关联,例如 FTP 数据传输或 ICMP 错误。

相关内容