Замість того, щоб вводити правила вручну, ви можете використовувати їх, iptables
щоб додати їх до відповідних ланцюжків, а потім зберегти їх. Це дозволить вам налагоджувати правила в прямому ефірі, підтверджуючи їх правильність, а не додавати їх у файл, як, здається, ви робите.
Щоб відкрити порт 80, я роблю це:
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
Остання команда збереже додані правила. Це правило, яке я б використав, щоб відкрити порт для веб-трафіку.
Чому ваше правило викликає проблеми
Якщо ви помітили правило, яке ви намагаєтеся використовувати:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Має ланцюжок під назвою "RH-Firewall-1-INPUT". Якщо у вас немає цього ланцюга або ланцюга від INPUT
ланцюга до цього ланцюга, це правило ніколи не буде доступним. Це правило може бути таким:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Або ваш INPUT
ланцюг повинен пов'язувати цей ланцюжок RH-Firewall-1-INPUT
з таким правилом:
$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
....
ПРИМІТКА. Ви можете побачити, які ланцюги у вас є з цією командою:
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
Також стану, можливо, потрібно буде змінити, щоб дозволено також існувати з'єднання.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Також при використанні -A
перемикача ви додаєте правило до ланцюга INPUT
. Якщо перед ним є інші правила, які блокують та / або перешкоджають досягненню цього правила, воно ніколи не буде виконано. Тому ви можете перенести його на верхню частину, вставляючи, а не додаючи, наприклад:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Використання графічного інтерфейсу
Брандмауэры можуть бути складними звірами. Отже, ви можете замість цього спробувати TUI (TUI - це GUI для терміналу).
$ sudo system-config-firewall-tui
Потім ви можете пройти різні екрани налаштування iptables
правил.
Список літератури