CentOS7で/etc/init.d/iptables saveする
TL;DR
※ firewalldとは共存できないらしいので注意
$ sudo yum install iptables-services
$ sudo /usr/libexec/iptables/iptables.init save
経緯
Amazon Linux 2を使うとiptablesは入っているけど/etc/init.d/iptablesがなくて/etc/init.d/iptables saveができなかった。というか/etc/init.d以下にほとんどスクリプトがない。
で、/etc/init.d/READMEってファイルがあったので見てみたらsystemctl使え(意訳)って書いてある。systemctlでiptablesを使うにはiptables-servicesをインストールする必要があるっぽい。インストールする。
$ sudo yum install iptables-services
しかしsystemctlにはsaveなんてコマンドはない。
systemdのサービス化したとはいえ、どうせ/etc/init.d/iptablesのスクリプトをそっちに移動しただけだろうと推測しその起動スクリプトを探してみる。systemctlの設定ファイルには起動コマンドが書いてあるはずなので、そこから探す。systemctl enable iptablesしたら設定ファイルが/usr/lib/systemd/system/iptables.service
にあることが分かった。
$ cat /usr/lib/systemd/system/iptables.service
[Unit]
Description=IPv4 firewall with iptables
Before=ip6tables.service
After=syslog.target
AssertPathExists=/etc/sysconfig/iptables
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/libexec/iptables/iptables.init start
ExecReload=/usr/libexec/iptables/iptables.init reload
ExecStop=/usr/libexec/iptables/iptables.init stop
Environment=BOOTUP=serial
Environment=CONSOLETYPE=serial
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=basic.target
起動スクリプト本体は/usr/libexec/iptables/iptables.init
らしい。これの中身を見てみるとやっぱりsaveコマンドある。というわけで
$ sudo /usr/libexec/iptables/iptables.init save
で、/etc/init.d/iptables save相当のことができた。
Author And Source
この問題について(CentOS7で/etc/init.d/iptables saveする), 我々は、より多くの情報をここで見つけました https://qiita.com/takc923/items/782bf58b3dd8b7b452a3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .