iptables 已打开端口 80,但 nmap 显示端口已关闭

iptables 已打开端口 80,但 nmap 显示端口已关闭

我在让 Debian Web 服务器打开端口 80 以进行 HTTP 通信时遇到了一些问题。在我的 iptables 中,我使用以下命令打开了端口 80:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT

然后运行 ​​iptables -L 显示以下规则:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:www
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:www

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

然而,在完成所有这些之后,我运行了 nmap -sS 127.0.0.1 并发现端口 80仍然未打开。结果如下:

Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000080s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
111/tcp  open  rpcbind
3306/tcp open  mysql
8080/tcp open  http-proxy

为什么在 iptables 中设置规则来打开端口,但在 Nmap 中却关闭了同一个端口?有人有什么想法吗?

答案1

从输出来看netstat -lnp | grep 80,你的 apache 服务器似乎正在监听端口 8080,而不是默认的 80。

另外,还有以下这一行:

8080/tcp open  http-proxy

nmap 的输出证实了这一事实。

总之,您的机器上的 80 端口未打开,因为 apache 正在监听 8080。

相关内容