Файрвол блокирует сервис
Сломай-почини · Среднее · 20 мин · 150 баллов
Файрвол блокирует сервис
На сервере поднят веб-сайт: служба слушает порт 80, локально curl http://localhost/
отвечает. Но снаружи сайт недоступен — входящие соединения на порт 80 режет файрвол:
в правилах есть запрещающее правило.
Задача
Сделай так, чтобы:
- файрвол пропускал входящие TCP-соединения на порт 80;
- блокирующее правило было снято/исправлено именно для порта 80 — а не отключён весь файрвол целиком;
- остальная защита (политика по умолчанию, прочие правила) осталась на месте.
Подсказки по подходу
- Текущие правила:
sudo iptables -L INPUT -n --line-numbers(либоsudo nft list ruleset/sudo ufw status— смотри, что используется на машине). - Ищи правило с
dpt:80и действиемDROP/REJECT. - Снимай точечно по номеру строки (
iptables -D INPUT <N>) или добавляй разрешающее правило выше запрещающего. - Проверяй результат по кнопке «Проверить».
Всё нужное уже установлено. Интернет на машине отсутствует — и не понадобится.
Подсказки
Подсказка 1
Посмотри правила: sudo iptables -L INPUT -n --line-numbers. Найди строку, которая
DROP/REJECT для tcp dpt:80.
Подсказка 2
Не отключай файрвол целиком — это «снести стену вместо двери». Нужно убрать или перекрыть именно блокирующее правило для порта 80.
Подсказка 3
Удали правило по номеру: sudo iptables -D INPUT <N> (номер из --line-numbers), либо
вставь разрешающее выше: sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT. Проверь
sudo iptables -L INPUT -n — блокировки порта 80 быть не должно.
Поднимет вашу личную эфемерную Linux-ВМ для задания — обычно пара секунд. После работы её можно остановить.