Открытие порта на IPTables не работает

Основываясь исключительно на вашем примере, будет достаточно простого цикла для .

for myfile in ${PF}
do
  cp "${myfile}" /opt/backup/
done
2
12.05.2017, 17:12
2 ответа

Газарет, если вы заметили, помимо правил очереди iptables INPUT, вы настроили правила очереди OUTPUT, и порт 8080/TCP не разрешен/настроен в очереди OUTPUT.

Как вы добавили:

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

Вам также нужно добавить:

iptables -I OUTPUT -p tcp --sport 8080 -j ACCEPT

iptables способен поддерживать правила брандмауэра с учетом состояния, и поэтому вместо того, чтобы поддерживать две разные очереди, можно сделать:

iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Имейте в виду, что при выполнении этого вручную, вы используете -I для размещения правил в верхней части очереди, а при выполнении этого в пакетном файле, обычно вы делаете iptables -A.

Постоянное сохранение правил брандмауэра Iptables

25 примеров наиболее часто используемых правил IPTables для Linux

2
27.01.2020, 22:11

Установка Jenkins по умолчанию работает на портах 8080 и 8443. Обычно HTTP/HTTPS серверы работают на портах 80 и 443, соответственно. Но эти порты считаются привилегированными в системах Unix/Linux, и процесс, использующий их, должен принадлежать root. Запускать Jenkins от имени root не рекомендуется - его следует запускать от имени собственного пользователя.

Поэтому вам нужно перенаправить трафик с порта 80/443 на 8080/8443. Вы должны убедиться, что iptables разрешил трафик на все 4 этих порта.

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443

iptables-save > /etc/sysconfig/iptables

Альтернативный вариант,

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 127. 0.0.1:8080

0
27.01.2020, 22:11

Теги

Похожие вопросы