Problem: iptables resetuje się do ustawień domyślnych po ponownym uruchomieniu serwera.
Próbuję ustawić regułę w ten sposób:
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
potem robię:
service iptables save
i odpisuje coś takiego
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
a potem po prostu pobiegłem (zrobiono to raz):
chkconfig iptables on
(Przeczytałem, że należy to zrobić, aby przywrócić ustawienia po ponownym uruchomieniu)
Następnie ponownie uruchamiam i uruchamiam następujące polecenie:
systemctl list-unit-files | grep iptables
i widzę, że iptables.service jest włączony, jednak reguła (aby otworzyć port 3000) już nie działa.
Jak mogę zachować te ustawienia?
Odpowiedzi:
CentOS 7 korzysta teraz z FirewallD !
Przykład:
przeładuj reguły:
źródło
--zone=trusted
) z firewalld-cmd, ale to nie działa (działa w--zone=public
) Robi to z iptablessudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8180 ; sudo /sbin/iptables -t nat -I OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8180
działa (ale każdyfirewalld --reload
traci to cofa)Wyłącz zaporę ogniową za pomocą następującego polecenia:
Następnie zainstaluj iptables-service, wykonując następujące polecenie:
Następnie włącz iptables jako usługi:
Teraz możesz zapisać swoje reguły iptable, wykonując następujące polecenie:
źródło
Na CentOS 7 Minimal może być konieczne zainstalowanie
iptables-services
pakietu (podziękowania dla @RichieACC za sugestię ):A następnie włącz usługę, używając
systemd
:I uruchom skrypt startowy, aby zapisać reguły zapory:
źródło
Może taki skrypt byłby dla kogoś pomocny?
Strzeż się, że stracisz wszystko, co jest aktualnie skonfigurowane, ponieważ usuwa zaporę ogniową i opróżnia wszystkie bieżące reguły w tabeli WEJŚCIE :
Myślę, że chcesz tego samego na wypadek, gdyby Twój system mógł zostać osiągnięty (teraz lub w dowolnym momencie później) przez ruch IPv6:
źródło
Możesz bezpośrednio zmodyfikować plik / etc / sysconfig / iptables. Ponownie załaduj usługę iptables, aby ponownie załadować reguły z tego pliku. Jednak, jak już powiedziano, firewalld to nowy domyślny system zapory sieciowej dla Centos, a to dobra okazja, aby dowiedzieć się, jak z niego korzystać, nie sądzisz?
źródło
/etc/sysconfig/iptables
, dla mnie też nie istnieje. Jednak/etc/sysconfig/iptables-config
istnieje. Ale nie ma w nim reguł zapory ogniowej, jak wiptables
pliku.