我们有RedHat 8服务器。防火墙处于活动状态。我需要从笔记本电脑和第二台服务器连接到端口 5050,因此我将其添加到规则中
iptables -I INPUT -p tcp -m tcp --dport 5050 -j ACCEPT
service iptables save
尝试从第二台服务器连接时:
telnet 10.244.176.1 5050
Trying 10.244.176.1...
telnet: connect to address 10.244.176.1: No route to host
当从我的笔记本电脑上尝试时telnet
:
Connecting To 10.244.176.1...Could not open connection to the host, on port 5050: Connect failed
我可以从两个来源 ping 该 IP。另外,traceroute 输出如下(来自第二个服务器级别):
traceroute 10.244.176.1
traceroute to 10.244.176.1 (10.244.176.1), 30 hops max, 60 byte packets
1 10.244.176.1 (10.244.176.1) 0.287 ms !X 0.293 ms !X 0.286 ms !X
我能做些什么?
答案1
如果您使用的是firewalld,为什么不将规则添加到firewalld 而不是iptables 呢?
您可以在您的firewalld配置中列出不同的区域,如下所示:
firewall-cmd --get-zones
如果您想查看所有区域的规则集:
firewall-cmd --list-all-zones
如果您想查看特定区域的规则集:
firewall-cmd --zone=$ZONE --list-all
其中 $ZONE 是您的区域之一的名称。
这将允许运行时端口:
firewall-cmd --zone=$ZONE --add-port=5050/tcp
要使规则永久化:
firewall-cmd --permanent --zone=$ZONE --add-port=5050/tcp
因此,如果您想添加规则以首先测试公共区域:
firewall-cmd --zone=public --add-port=5050/tcp
然后,如果这有效并且您想让它永久化:
firewall-cmd --permanent --zone=public --add-port=5050/tcp
或者,如果您想使用 GUI 来执行此操作,您可以启动:
firewall-config
并通过 GUI 执行相同的操作。