У меня проблемы с тем, чтобы веб-сервер 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.