«Открытый» порт на самом деле не открыт

«Открытый» порт на самом деле не открыт

Я использовал следующую команду для открытия порта 2022 в Ubuntu:

sudo iptables -A INPUT -p tcp --dport 2022 -j ACCEPT

Но если я запускаю веб-сервер на порту 2022, он становится недоступным.

Если я выполню команду, чтобы увидеть открытые порты:

sudo iptables -vnL

Вывод начинается с

введите описание изображения здесь

Теперь порты, которые там отображаются, например, 3000 или 4000, работают, а 2022 — нет.

Что происходит и как включить порт 2022?

решение1

Порядок имеет значение. Ваша запись для 2022 года в iptables находится позади DROP, поэтому DROPона сопоставляется первой, и ваша ACCEPTзапись никогда не будет достигнута.

Вам нужно использовать Вставить вместо Добавить ( -Iвместо -A).

решение2

Открытьпорт — это порт, который не блокируется пакетным фильтром. Чтобы этот порт был доступен, что-то должно к нему привязаться, и, в случае TCP, начатьслушатьв теме.

Вы можете проверить, делает ли что-то это, с помощью ss -nlили netstat -an | grep LISTEN.

Связанный контент