Я использовал следующую команду для открытия порта 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
.