Automatyczne przywracanie iptables po restarcie serwera

Poradniki
vps, zarządzanie, zabezpieczenia, iptables
Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Domyślnie iptables nie zapisuje się między ponownymi uruchomieniami serwera, co może być problemem, jeśli mamy tam ważne reguły, np. takie, które zabezpieczają dostęp do konkretnych części systemów. Jeśli chcemy, aby nasze reguły były zachowywane po restarcie, wystarczy jednak tylko parę komend i można to zmienić.


Skrypt w if-up.d (Debian, Ubuntu)

Najpierw zapisujemy nasze iptables do pliku.

iptables-save > /etc/firewall.conf

Następnie, tworzymy skrypt iptables w /etc/network/if-up.d. Tutaj akurat użyjemy edytora nano.

nano /etc/network/if-up.d/iptables

Wpisujemy tam poniższy kod i zapisujemy Ctrl + O, następnie Enter, po czym Ctrl + X.

#!/bin/sh
 
iptables-restore < /etc/firewall.conf

Dodajemy uprawnienia wykonania do skryptu.

chmod +x /etc/network/if-up.d/iptables

Od teraz nasze reguły będą przywracane za każdym razem, jak tylko uaktywni się sieć na serwerze. Jeśli chcemy je zaktualizować, wystarczy ponownie wykonać pierwszą komendę z poradnika (iptables-save).

Jęśli będziemy chcieli się pozbyć automatycznego przywracania iptables, należy usunąć plik /etc/firewall.conf oraz /etc/network/if-up.d/iptables.

Źródło: major.io


iptables-persistent (Debian, Ubuntu)

Można też to zrobić z użyciem powyższej paczki. Najpierw musimy ją zainstalować.

apt install iptables-persistent

Reguły będą wczytywane z pliku /etc/iptables/rules.v4. Aby zapisać iptables, wykonujemy poniższą komendę.

iptables-save > /etc/iptables/rules.v4

ifup-local (CentOS, RedHat EL)

Najpierw zapisujemy nasze iptables do pliku.

iptables-save > /etc/firewall.conf

Następnie, edytujemy lub stworzymy skrypt ifup-local. Tutaj akurat użyjemy edytora nano.

nano /sbin/ifup-local

Jeśli plik jest pusty, wpisujemy tam poniższy kod i zapisujemy Ctrl + O, następnie Enter, po czym Ctrl + X.

#!/bin/sh
 
iptables-restore < /etc/firewall.conf

Jeśli w pliku już coś jest, dopisujemy poniższą linijkę.

iptables-restore < /etc/firewall.conf

Dodajemy uprawnienia wykonania do skryptu.

chmod +x /sbin/ifup-local

Od teraz nasze reguły będą przywracane za każdym razem, jak tylko uaktywni się sieć na serwerze. Jeśli chcemy je zaktualizować, wystarczy ponownie wykonać pierwszą komendę z poradnika (iptables-save).

Jęśli będziemy chcieli się pozbyć automatycznego przywracania iptables, należy usunąć plik /etc/firewall.conf oraz dodaną linijkę z pliku ifup-local.

Źródło: major.io, techblog.willshouse.com