Так как мне нужно использовать некоторые функции NAT, предоставляемые Linux, iptables
я могу установить их "правила" вручную и они работают. Однако после перезагрузки эти "правила" пропали.
Имея iptables-save
возможность «сбрасывать правила iptables» (см.man iptables-save
). Аналогично я могу «восстановить таблицы IP» с помощью iptables-restore
(см.man iptables-restore
те ранее сохраненные правила из вывода iptables-save (т.е. сохранив его в файл)
Теперь осталось только место в init
системе (например, systemd
для выполнения этой загрузки и восстановления).
Система, на которой я пытаюсь это сделать, — CentOS/RHEL. Поэтому я наивно пошел устанавливать пакет iptables-services.x86_64
, но он делает гораздо больше, чем просто восстанавливает правила, когда-то предоставленные в /etc/sysconfig/iptables
. По крайней мере, в моем случае он добавил собственные правила, запрещающие пересылку, тем самым полностью отменяя эффект, который я сделал с моими созданными nat
табличными правилами, которые требуют пересылки.
Есть ли пакет получше, который я мог пропустить. Или есть место, где я могу добавить соответствующие строки
- при выключении
iptables-save > [path to iptables save file]
- при загрузке
iptables-restore [path to iptables save file]
в моих дистрибутивах init
, т.е. systemd
(в идеале не нужно проходить весь путь создания файлов сервиса/юнита для этой задачи)