即使我打开它,nmap show port也会关闭

时间:2017-04-10 08:24:25

标签: centos firewall nmap

我的VPS在CentOS 7.2上运行,我在firewall-cmd --zone=public --add-port=8006/tcp --permanent打开了一个端口并且已经输入了firewall-cmd --reload命令,但是当我通过nmap检查端口时,nmap -p 8006 ip-addressxxx,它仍然显示它已关闭。以下是一些可能有用的信息:

[root@localhost ~]# systemctl status firewalld
 ● firewalld.service - firewalld - dynamic firewall daemon
 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
 Active: active (running) since Fri 2017-04-07 02:06:50 EDT; 3 days ago
 Docs: man:firewalld(1)
 Main PID: 663 (firewalld)
 CGroup: /system.slice/firewalld.service
       └─663 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

 Apr 07 02:06:50 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
 Apr 07 02:06:50 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
 Apr 10 02:03:42 localhost.localdomain firewalld[663]: ERROR: ALREADY_ENABLED: 80:tcp
 Apr 10 02:03:49 localhost.localdomain firewalld[663]: ERROR: ALREADY_ENABLED: 8006:tcp

。 。

[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens3
sources: 
services: dhcpv6-client ssh
ports: 8009/tcp 80/tcp 8080/tcp 8006/tcp
protocols: 
masquerade: no
forward-ports: 
sourceports: 
icmp-blocks: 
rich rules: 

。 。

[root@localhost ~]# firewall-cmd --list-ports
8009/tcp 80/tcp 8080/tcp 8006/tcp

。 。

[root@localhost ~]# netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         
State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      992/sshd            
tcp6       0      0 :::8009                 :::*                    LISTEN      1027/java           
tcp6       0      0 :::3306                 :::*                   LISTEN      1383/mysqld         
tcp6       0      0 :::80                   :::*                   LISTEN      1027/java           
tcp6       0      0 :::22                   :::*                  LISTEN      992/sshd            
tcp6       0      0 127.0.0.1:8006          :::*                    LISTEN      1027/java  

1 个答案:

答案 0 :(得分:0)

重温我的回答

您在端口8006上侦听的进程仅侦听环回接口127.0.0.1,它应该在0.0.0.0上侦听。请参阅流程列表0.0.0.0:22中的sshd流程,它运行正常。

使用类似netcat的内容进行测试。这将在8006界面上的0.0.0.0上打开一个端口,由于您的防火墙规则,该端口向全世界开放

在您的VPS上尝试:

nc -l 8006

然后再次使用nmap进行扫描,只要防火墙规则到位,您就会看到端口已打开。

您希望在流程列表中看到此内容

tcp6 0 0 0.0.0.0:8006 :::* LISTEN 1027/java

而不是

tcp6 0 0 127.0.0.1:8006 :::* LISTEN 1027/java