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.confNastępnie, tworzymy skrypt iptables w /etc/network/if-up.d. Tutaj akurat użyjemy edytora nano.
nano /etc/network/if-up.d/iptablesWpisujemy tam poniższy kod i zapisujemy Ctrl + O, następnie Enter, po czym Ctrl + X.
#!/bin/sh
iptables-restore < /etc/firewall.confDodajemy uprawnienia wykonania do skryptu.
chmod +x /etc/network/if-up.d/iptablesOd 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-persistentReguły będą wczytywane z pliku /etc/iptables/rules.v4. Aby zapisać iptables, wykonujemy poniższą komendę.
iptables-save > /etc/iptables/rules.v4ifup-local (CentOS, RedHat EL)
Najpierw zapisujemy nasze iptables do pliku.
iptables-save > /etc/firewall.confNastępnie, edytujemy lub stworzymy skrypt ifup-local. Tutaj akurat użyjemy edytora nano.
nano /sbin/ifup-localJeś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.confJeśli w pliku już coś jest, dopisujemy poniższą linijkę.
iptables-restore < /etc/firewall.confDodajemy uprawnienia wykonania do skryptu.
chmod +x /sbin/ifup-localOd 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