Назад | Перейти на главную страницу

iptables имеет порт 80 открытым, но nmap показывает, что он закрыт

У меня проблемы с тем, чтобы веб-сервер Debian открыл порт 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? У кого-нибудь есть идеи?

Из вывода netstat -lnp | grep 80, похоже, что ваш сервер apache прослушивает порт 8080, а не порт по умолчанию 80.

Также строка:

8080/tcp open  http-proxy

вывод nmap подтверждает этот факт.

Таким образом, порт 80 не открыт на вашем компьютере, поскольку вместо этого apache прослушивает 8080.