Firewall-cmd 設定 --permanent は再起動後も持続しません。

Firewall-cmd 設定 --permanent は再起動後も持続しません。

eth0とp2p1という2つのネットワークインタフェースがあります。私のデフォルトのロケールは公開です。 p2p1を信頼できるもので永久に設定したいと思います。

これを達成するために、以下を実行します。

sudo firewall-cmd --permanent --change-zone=p2p1 --zone=trusted

後で私はこれを得ます:

The interface is under control of NetworkManager, setting zone to 'trusted'.
success

(私は持っていますネットワーク計画私のネットワークを制御してください。 )すべてが大丈夫かどうかを確認するには、次のようにします。

sudo firewall-cmd --get-active-zones
public
  interfaces: eth0
trusted
  interfaces: p2p1

しかし、再起動後、すべてが消えた。このスティックをどのように作成できますか?

修正する:私が見つけたこれ「永久に割り当てられます。イーサネット0内部領域へのネットワークインターフェイス(/etc/firewalld/zonesディレクトリにexternal.xmlというファイルを生成...

root@me:~# nmcli con show | grep p2p1
netplan-p2p1  44db1fb7-b83f-36aa-8dd1-faa6fb97f6c4  ethernet  p2p1   
p2p1          3ad65062-db85-4ba6-9104-76644e78a5c4  ethernet  --     
p2p1          c3297794-7641-4033-9f68-156f26ffe024  ethernet  --     
root@me:~# nmcli con mod "netplan-p2p1" connection.zone trusted
root@me:~# nmcli con up "netplan-p2p1"
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

...上記の呼び出しが変更されます。ポイントツーポイント1エリア=信頼できます。しかし、同じ問題 - しがみついていません。

Ubuntu 18.10システムを使用しているので、提案されているように設定ファイルを追加しました。ここ動作しません。わかりませんが、 "/etc/network/if-up.d"フォルダにいくつかのスクリプトを追加する必要があるとします。

アップデート2:netplan設定ファイル01-netcfg.yaml

network:
  version: 2
  renderer: NetworkManager
  ethernets:
#   WAN
    eth0:
        dhcp4: no
        dhcp6: no
        addresses: [76.80.54.221/29]
        gateway4: 76.80.54.217
        nameservers:
            addresses: [209.18.47.61,209.18.47.62]
#   LAN
    p2p1:
        dhcp4: no
        dhcp6: no     
        addresses: [192.168.1.99/24]
        gateway4: 192.168.1.100

答え1

いよいよ理解できますね。

zone-for-p2p1ディレクトリにスクリプトファイルを追加しました/etc/network/if-up.d

zone-for-p2p1スクリプトファイルの内容:

#!/bin/sh
#
# sets zone for p2p1 adapter to "trusted"
# to find out adapter name run "nmcli con show | grep p2p1"
#
nmcli con mod "netplan-p2p1" connection.zone trusted

その後、ファイルに実行権限があることも確認しました。

sudo chmod +x /etc/network/if-up.d/zone-for-p2p1

再起動すると、スクリプトはアダプタに正しい領域を割り当てます。この投稿私のためにスクリプトを追加しました。

答え2

インターフェイスが制御されるため、永続設定領域を直接使用してNetworkManager接続設定を操作できます。nmcli

sudo nmcli connection modify p2p1 connection.zone trusted

このコマンドのデフォルトの動作は、再起動後も持続する継続的な方法で変更を適用することです。

答え3

私が一つ見つけたブログ投稿これは関連性があるようです。ファイアウォールを再起動してみてください。

systemctl restart firewalld.service

これは、ルールを追加して再起動する前に実行する必要があります。

答え4

ここに解決策がありますUbuntu18.04起きたらスクリプトとファイアウォールコマンドツール(何らかの理由でnmcliが機能しない)

  1. rootになり、実行権限を持つif-upファイルの生成

    sudo su -
    touch /etc/network/if-up.d/p2p1-trusted && chmod +x $_
    
  2. 次のように入力してファイルを保存します。

    #!/bin/sh
    
    # check if script is executed for the interface we need
    if [ "$IFACE" != "p2p1" ]; then
        exit 0
    fi
    firewall-cmd --zone=trusted --change-interface="$IFACE"
    
  3. 再起動

  4. 確認する

    $ sudo firewall-cmd --get-active-zones
    trusted
      interfaces: p2p1
    public
      interfaces: wlp1s0
    

関連情報