OpenVZ - zapis konfiguracji do iptables

Problem zostały opisany we wpisie - OpenVZ - serwer pocztowy , jednak chciałbym go przytoczyć jako osobny wątek.

Tworząc przekierowania w iptables a następnie restartując go, stracimy je. Żeby temu zapobiec wystarczy zrobić kilka prostych rzeczy.

 

Utwórzmy sobie plik (gdziekolwiek, ja tworzę w / żeby mieć szybko dostęp):

nano /iptableSave.sh

który wykona poniższe polecenie (zawartość pliku iptableSave.sh):

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

Oczywiście chmod +x na pliku iptableSave.sh.

 

Teraz wystarczy wywołać z dowolnego poziomy nasz skrypt:

/iptableSave.sh

A zapisze on konfigurację do pliku: /etc/network/iptables.rules .

 

Ok, ale co z odczytem?

 

W pliku /etc/network/interfaces należy dopisać zaznaczoną wartość:

iface vmbr0 inet static
        address IP_SERWERA
        netmask 255.255.255.0
        network IP.0
        broadcast IP.255
        gateway IP.254
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        pre-up iptables-restore < /etc/network/iptables.rules
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o vmbr0

 

Oznacza to, że zanim wstanie interface to zostanie załadowana konfiguracja.

 

P.S. Zauważyłem mały "błąd" w powyższym wpisie. Jeśli mamy już wyeksportowane wartości, to możemy skasować linijkę :

post-up iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE