Я добавляю следующую строку перед COMMIT в /etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

Затем я использую service iptables restart для перезапуска iptables , но порт все еще закрыт - если я остановлю service iptables stop откроет порт.

iptables -L -n:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

2 ответа2

1

При общении в терминах iptables очень важен порядок:

REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 

Таким образом, вы сначала отклоняете все, что не соответствует ни одному из предыдущих правил, а затем принимаете порт 80. Вот почему это правило никогда не сработает. Попробуйте использовать -I вместо -A.

0

Брат использует CLI, как показано ниже. из расположения файла кажется, что вы находитесь на CentOS или Redhat.

iptables -I INPUT 1 -m состояние --state NEW -m tcp -p tcp --dport 80 -j ПРИНЯТЬ

Это поставит это правило на первое место. После этого сохраните его, как показано ниже.

сервис Iptables сохранить

Вам не нужно перезапускать сервис, он вступит в силу немедленно. Из вашего поста видно, что добавленное вами правило для приема на порт 80 находится за правилом отклонения. Решение, которое я предложил, исправит это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .