Сохранение и восстановление настроек iptables.
При перезагрузке или выключении компьютера, политики и правила iptables теряются и при загрузке снова устанавливаются правила и политики по умолчанию. Чтобы не настраивать iptables вручную при каждой загрузке, нужно сделать автовосстановление настроек, для этого необходимо сохранить текущие настройки в файл «/etc/iptables.rules».
sudo iptables-save | sudo tee /etc/iptables.rules
Затем необходимо создать сценарий восстанавливающий сохранённые политики и правила:
sudo vi /usr/sbin/iptables_restore.sh
и добавить в него следующие строки (как пользоваться редактором vi?):
#!/bin/bash
iptables-restore < /etc/iptables.rules
Сохраните файл и сделайте его исполняемым только для пользователя root:
sudo chmod 700 /usr/sbin/iptables_restore.sh
Теперь необходимо сделать так, чтобы этот сценарий запускался при загрузке операционной системы. Старый способ с добавлением сценария в файл автозапуска сейчас поддерживается только для совместимости, что означает, что после какого-нибудь обновления этот вариант перестанет работать, потому нужно создать службу, которая будет запускать сценарий при загрузке системы:
sudo vi /etc/systemd/system/iptables_restore.service
и записать в него следующие строки:
[Service]
Type=oneshot
ExecStart=/sbin/iptables_restore.sh
TimeoutStartSec=0
[Install]
WantedBy=default.target
Чтобы systemd увидел новую службу, его необходимо перезагрузить:
sudo systemctl daemon-reload
после чего добавить новую службу в автозагрузку:
sudo systemctl enable iptables_restore.service
Настройка автовосстановления закончена, теперь при загрузке операционной системы правила и политики iptables восстановятся автоматически, при необходимости их можно восстанавливать и самостоятельно введя команду:
sudo systemctl start iptables_restore
Для проверки перезагрузите компьютер:
sudo reboot