web-dev-qa-db-ja.com

Ubuntu 18.04でのiptablesのリロード/再起動

CentOS 7とRed Hatで使用する前にUbuntu 18.04でiptablesに問題があり、単に次のコマンドで再起動できます。

systemctl restart iptables

しかし、Ubuntuでは動作しません。 init.dの下にもiptableが見つかりませんでした。

Ubuntu 18.04でどのように再起動またはリロードできますか?

10
CsharpJoe

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.
23
ThankYee

新しいディストリビューションでは、通常、ファイアウォールを設定および管理するためのフロントエンドがあります。最近最も人気のあるのはufwfirewalldであり、おそらく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

firewalldzoneschainsの概念に従っているため、一見すると少し複雑に見えるかもしれません。しかし、NetworkManagerとうまく統合され、GUIが出荷されます...
これに慣れるための良い出発点は、 ここ です。

2
Thomas

パッケージの内容は次の方法で確認できます。

dpkg -L iptables-persistent

そして、次のコマンドが正しいことがわかります。

/etc/init.d/netfilter-persistent restart
1
bluszcz