Zamiast ręcznie wprowadzić reguły, możesz użyć ich iptables
do dodania reguł do odpowiednich łańcuchów, a następnie ich zapisania. Umożliwi to debugowanie reguł na żywo, potwierdzanie ich poprawności, zamiast dodawania ich do pliku tak, jak się wydaje.
Aby otworzyć port 80, robię to:
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
Ostatnie polecenie zapisze dodane reguły. To jest zasada, której użyłbym do otwarcia portu dla ruchu sieciowego.
Dlaczego twoja reguła powoduje problemy
Jeśli zauważysz regułę, której próbujesz użyć:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Ma łańcuch o nazwie „RH-Firewall-1-INPUT”. Jeśli nie masz tego łańcucha lub połączenia między INPUT
łańcuchem a tym łańcuchem, ta reguła nigdy nie będzie osiągalna. Ta reguła może wyglądać następująco:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Lub Twój INPUT
łańcuch powinien połączyć się z tym łańcuchem RH-Firewall-1-INPUT
za pomocą następującej reguły:
$ 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
....
UWAGA: Możesz zobaczyć, jakie łańcuchy posiadasz dzięki temu poleceniu:
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
Konieczne może być również zmodyfikowanie stanów, aby dozwolone były również istniejące połączenia.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Również gdy używasz -A
przełącznika, dodajesz regułę do łańcucha INPUT
. Jeśli istnieją jeszcze inne reguły, które blokują i / lub zakłócają osiągnięcie tej reguły, nigdy nie zostanie ona wykonana. Możesz więc przenieść go na górę, wstawiając, a nie dodając, w ten sposób:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Korzystanie z GUI
Zapory ogniowe mogą być skomplikowanymi bestiami. Możesz więc zamiast tego spróbować TUI (TUI to GUI dla terminala).
$ sudo system-config-firewall-tui
Następnie możesz przejść przez różne ekrany konfigurujące iptables
reguły.
Bibliografia
/etc/sysconfig/iptables
i dodać je. Oryginalne wpisy powinny być w tym pliku/etc/sysconfig/iptables.save
.Niedawno zainstalowałem CentOS 6.5 jako maszynę wirtualną z tego samego powodu, aby używać go jako wirtualnego serwera WWW. W każdym razie podążałem za tą bardzo szczegółową instrukcją z wiki CentOS . Następnie, zgodnie z odpowiedzią @slm, dodałem do niego port 80 i zapisałem używając
sudo /etc/init.d/iptables save
.iptables -L -v
ma tę moc wyjściową:źródło
Jeśli chcesz edytować ustawienia zapory, ale nie znasz się na niej
iptables
, sugeruję skorzystanie z tegosystem-config-firewall-tui
narzędzia, jeśli nie masz serwera X, lub skorzystanie zsystem-config-firewall
narzędzia GUI.źródło