CentOS 7とRed Hatで使用する前にUbuntu 18.04でiptablesに問題があり、単に次のコマンドで再起動できます。
systemctl restart iptables
しかし、Ubuntuでは動作しません。 init.d
の下にもiptableが見つかりませんでした。
Ubuntu 18.04でどのように再起動またはリロードできますか?
Ubuntu 18.04で、RedHat/Fedoraと同様の方法でUbuntuファイアウォールを機能させたい場合は、おそらく以下が必要です。
Sudo apt install iptables-persistent netfilter-persistent
次に、/etc/iptables/rules.v[46]
のルールを編集します
役に立つかもしれない他のコマンド:
netfilter-persistent save
netfilter-persistent start
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6
systemctl stop netfilter-persistent
systemctl start netfilter-persistent
systemctl restart netfilter-persistent
2つのパッケージは似ていますが、機能がわずかに異なります。 iptables-persistent
のみをインストールする場合、systemdでの正しい処理のためのサービス定義ファイル、たとえば/lib/systemd/system/netfilter-persistent.service
は取得されません。
netfilter-persistent
のみをインストールすると、READMEに従って、ブート時にルールが正しく適用されないことがわかります。
netfilter-persistent and its plugins
------------------------------------
netfilter-persistent does no work on its own. You need the accompanying
plugins (for example, iptables-persistent) to load and save filter rules.
However, commands are run from netfilter-persistent. For example, to save
all filter rules:
netfilter-persistent save
or to load them:
netfilter-persistent start
For more details, see `man netfilter-persistent`.
The system service will try to load rules at startup if enabled, but by
default it will not flush rules at shutdown. This behaviour can be changed
by editing /etc/default/netfilter-persistent.
新しいディストリビューションでは、通常、ファイアウォールを設定および管理するためのフロントエンドがあります。最近最も人気のあるのはufw
とfirewalld
であり、おそらくshorewall
です。これらのフロントエンドはiptables
にルールを追加することにも注意し、フロントエンドはiptables
コマンドで行った変更を取得しないため、iptables
スクリプトをスキップするか、スキップする方が良いでしょう。
Ubuntu 18.04の場合、firewalld
がデフォルトになり、ufw
がインストールされますが、非アクティブになります。
root@localhost:~# firewall-cmd --state
running
root@localhost:~# ufw status
Status: inactive
したがって、独自のiptables
準拠規則を作成するのではなく、これらのフロントエンドを使用してファイアウォール構成を作成する必要があります。
私はufw
に精通していませんが、ここでaskubuntuまたはインターネット上のどこかで情報を見つけることができます。firewalld
には、GUI(firewall-config
)とコマンドラインツールfirewall-cmd
が付属しています。firewalld
を使用すると、今すぐルールを適用せずにルールを追加するオプションがあり(permanent)、ファイアウォールのリロード後にのみルールを適用します。または、それらをruntime構成に追加し、テストしてから永続的な構成に追加できます。
リロードするには新しく追加されたpermanent構成をrunningルールに次のようにコマンドを入力するか、GUIで対応するクリックを実行する必要があります。
firewall-cmd --reload
firewalld
はzonesとchainsの概念に従っているため、一見すると少し複雑に見えるかもしれません。しかし、NetworkManagerとうまく統合され、GUIが出荷されます...
これに慣れるための良い出発点は、 ここ です。
パッケージの内容は次の方法で確認できます。
dpkg -L iptables-persistent
そして、次のコマンドが正しいことがわかります。
/etc/init.d/netfilter-persistent restart