我正在处理 RHEL 版本 6.4 服务器的防火墙设置,目标是允许远程设备连接 tcp 端口 6162,无论服务类型如何。
iptables规则如下( iptables -L --line-numbers
),并且iptables服务已经重启。
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
2 ACCEPT icmp -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere
4 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
5 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:6160
6 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:patrol-coll
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
另外,我确实在 中设置了我想要的端口sytem-config-firewall
,如下图所示。
奇怪的是:
无论我如何设置防火墙/iptable,端口 6162 就是无法打开。它已经使用位于该 RHEL 6.4 服务器的同一 IP 子网中的 Windows/Linux 远程主机的 telnet 客户端进行了测试。与端口 6162 的连接被拒绝,但其他端口可以工作(例如端口 6160)。
TCP 端口 6162 似乎总是“patrol-coll”,但严格来说,我想允许任何类型的服务连接 6162 端口,而不仅仅是“patrol-coll”。不知道服务类型是否对连接有影响...
任何人都可以提供一些提示来解决操作系统端的连接问题吗?
注1: 的输出netstat -tulpn
如下所示。
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2538/rpcbind
tcp 0 0 192.9.110.1:1521 0.0.0.0:* LISTEN 4806/tnslsnr
tcp 0 0 0.0.0.0:37426 0.0.0.0:* LISTEN 4493/ora_d000_SOGOE
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2917/sshd
tcp 0 0 0.0.0.0:46775 0.0.0.0:* LISTEN 4686/ora_d000_SOGOL
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2737/cupsd
tcp 0 0 127.0.0.1:10808 0.0.0.0:* LISTEN 3126/veeamservice
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3007/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 4046/sshd
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 2869/snmpd
tcp 0 0 0.0.0.0:37449 0.0.0.0:* LISTEN 2657/rpc.statd
tcp 0 0 :::111 :::* LISTEN 2538/rpcbind
tcp 0 0 :::6160 :::* LISTEN 2886/veeamdeploymen
tcp 0 0 :::40976 :::* LISTEN 2657/rpc.statd
tcp 0 0 :::22 :::* LISTEN 2917/sshd
tcp 0 0 ::1:631 :::* LISTEN 2737/cupsd
tcp 0 0 ::1:25 :::* LISTEN 3007/master
tcp 0 0 ::1:6010 :::* LISTEN 4046/sshd
udp 0 0 0.0.0.0:111 0.0.0.0:* 2538/rpcbind
udp 0 0 127.0.0.1:2547 0.0.0.0:* 4495/ora_s000_SOGOE
udp 0 0 0.0.0.0:631 0.0.0.0:* 2737/cupsd
udp 0 0 0.0.0.0:1017 0.0.0.0:* 2538/rpcbind
udp 0 0 127.0.0.1:13179 0.0.0.0:* 4660/ora_pmon_SOGOL
udp 0 0 10.50.89.26:123 0.0.0.0:* 2925/ntpd
udp 0 0 192.9.110.1:123 0.0.0.0:* 2925/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 2925/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 2925/ntpd
udp 0 0 0.0.0.0:28426 0.0.0.0:* 4672/ora_lgwr_SOGOL
udp 0 0 0.0.0.0:18843 0.0.0.0:* 2657/rpc.statd
udp 0 0 0.0.0.0:161 0.0.0.0:* 2869/snmpd
udp 0 0 127.0.0.1:22464 0.0.0.0:* 4688/ora_s000_SOGOL
udp 0 0 0.0.0.0:9798 0.0.0.0:* 4479/ora_lgwr_SOGOE
udp 0 0 0.0.0.0:713 0.0.0.0:* 2657/rpc.statd
udp 0 0 127.0.0.1:48982 0.0.0.0:* 4467/ora_pmon_SOGOE
udp 0 0 127.0.0.1:26208 0.0.0.0:* 4686/ora_d000_SOGOL
udp 0 0 127.0.0.1:54112 0.0.0.0:* 4493/ora_d000_SOGOE
udp 0 0 :::111 :::* 2538/rpcbind
udp 0 0 :::1017 :::* 2538/rpcbind
udp 0 0 fe80::20c:29ff:fe74:83b5:123 :::* 2925/ntpd
udp 0 0 fe80::20c:29ff:fe74:83bf:123 :::* 2925/ntpd
udp 0 0 ::1:123 :::* 2925/ntpd
udp 0 0 :::123 :::* 2925/ntpd
udp 0 0 :::46340 :::* 2657/rpc.statd```
答案1
您的端口 6160 可以工作,因为它似乎正在运行 Veeam 安装程序服务(进程名称类似于veeamdeploymen*
您的netstat -tulpn
输出)。
由于 6162 端口上还没有任何服务在运行,因此该端口不会打开,尽管您似乎已经打开了畅通它在防火墙设置中。
尽管有人可能会说“在防火墙中打开端口”,但这有点用词不当:防火墙并不真正打开端口,相反它可以堵塞即使应用程序打开端口,也无法访问该端口。如果您没有运行任何网络服务,则所有网络端口将仅由操作系统关闭,防火墙无法改变这一点。
通过要求您有效地配置任何合法网络端口访问两次(一次是为了激活服务本身,然后是为了解锁(在防火墙设置中),防火墙可以最大限度地降低意外允许意外访问的风险。
防火墙无法可靠地确定哪个远程应用程序或服务正在尝试连接:即使有协议允许这样做,远程系统也总是会撒谎。该Service
字段可能只是为特定端口号分配的人类友好标签,通常采用/etc/services
.
一些防火墙管理解决方案还允许将端口号组预先定义为“服务”,以便于配置。
如果您想暂时打开端口以进行测试,nc
可以使用“netcat”实用程序(软件包名称)来做到这一点:
要为传入 TCP 连接打开端口 6162:
nc -kl 6162
或者,如果您想打开 UDP 数据包的端口:
nc -kul 6162
一旦命令停止(使用Ctrl+C或kill
命令),端口将再次自动关闭,因为将不再有进程来处理任何传入数据。通过网络连接发送到端口的任何数据都将发送到标准输出;如果您不想这样做,可以附加>/dev/null
到nc
命令行。
注意:端口 TCP/6162 是 Veeam Data Mover 的默认端口,但您的系统指示的服务名称patrol-coll
表明某些其他软件可能(曾经)配置为使用该端口。 (也许是BMC Patrol监控软件的统计收集器?)