我使用以下命令在firewalld中添加了两条规则:
firewall-cmd --zone=public --add-port=22005/tcp --permanent
firewall-cmd --zone=public --add-port=22003/udp --permanent
重新加载firewalld后,我查看了iptables,其中iptables -L
ACCEPT tcp -- anywhere anywhere tcp dpt:optohost005 ctstate NEW
ACCEPT udp -- anywhere anywhere udp dpt:optohost003 ctstate NEW
什么是optohost
,为什么会取代22
?我在谷歌上找不到太多关于这个的信息。似乎只发生在这两个 IP (22005/22003)
我正在运行 CentOS Linux 版本 7.3.1611、3.10.0-514.26.2.el7.x86_64
防火墙 0.4.3.2
更新:
经过更多搜索,我发现了这个:
http://sysconfcollect.sourceforge.net/examples/scc.docker_centos7.html
optohost003 22003/tcp # Opto Host Port 3
optohost003 22003/udp # Opto Host Port 3
optohost005 22005/tcp # Opto Host Port 5
optohost005 22005/udp # Opto Host Port 5
这是“docker”的文档,更具体地说,/etc/services
是我在我的机器上手动检查的内容,并且这些行存在。我不太确定“docker”的作用,但我知道这与我的网络有关。如果我检查ifconfig
,果然它就在那里:
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:d2:8b:6d:b6 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我从中收集到的是,docker 在这些端口(22005/22003)上运行了一些服务,并且它正在接管(?)
我运行的游戏服务器需要这些端口。知道如何阻止它“接管”这些端口吗?
更新#2:删除这些行/etc/services
会使optohost
查找端口时消失iptables -L
,并且端口会正确显示。然而,我不完全确定删除这些线会产生什么效果,以及除了简单地作为标签或名称之外是否有任何实际效果。