在执行firewalld命令后端口并未真正打开

在执行firewalld命令后端口并未真正打开

操作系统:CentOS 7

这是一个与两个问题接壤的问题。我有一台docker正在运行的机器,我最近在其中安装了 PLEX 容器linuxserver/plex。当前的问题是我无法访问该站点来配置 PLEX https://localhost:32400/web。在我尝试确定发生这种情况的原因时,我注意到端口32400似乎已关闭,即使它应该在创建容器时打开,我正在使用主机网络。

我尝试查看是否可以使用访问该网站curl

curl -i http://localhost:32400 
curl -i http://10.0.1.200:32400

然后我验证了开放端口NMAP

#nmap 10.0.1.200

Starting Nmap 6.40 ( http://nmap.org ) at 2019-01-18 12:52 CST
Nmap scan report for 10.0.1.200
Host is up (0.00049s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

很明显端口32400没有打开,所以我去了firewall-cmd

#sudo firewall-cmd --get-active-zones
public
  interfaces: eno1

#sudo firewall-cmd --zone=public --add-port=32400/tcp --permanent
success
#sudo firewall-cmd --reload
success

我还检查了一下是否开放

#sudo firewall-cmd --zone=public --list-ports
32400/tcp

然而,NMAP仍然显示其已关闭。知道为什么firewalld会在docker主机上显示开放端口但实际上它是关闭的吗?我什至不确定这是否能让该网站在 Plex 上运行。


验证克莱默的建议,我的界面可能没有设置

# ip addr
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.0.1.200/24 brd 10.0.1.255 scope global noprefixroute dynamic eno1


#firewall-cmd --zone=public --list-interfaces
eno1

答案1

确保网络接口已成功添加到区域“public”,通常只有默认网卡(即eth0)。添加带有区域的接口:

#firewall-cmd --permanent --zone=public --add-interface=<interface_name>

要了解您尝试过哪些界面:

#ipaddr

或者

#ifconfig

添加提供 IP 10.0.1.200 的接口

将来,在发布您运行的命令时,请同时发布该命令的输出,这有助于理解和调试问题。

哈:)

相关内容