MeS*_*So2 5 firewall interface network-interface netplan
我有两个网络接口:eth0 和 p2p1。我的默认区域设置为公共。我想永久将 p2p1 设置为可信。
为了实现这一点,我运行:
sudo firewall-cmd --permanent --change-zone=p2p1 --zone=trusted
Run Code Online (Sandbox Code Playgroud)
之后我得到这个:
The interface is under control of NetworkManager, setting zone to 'trusted'.
success
Run Code Online (Sandbox Code Playgroud)
(我有netplan控制我的网络。)要检查一切是否正常,我执行以下操作:
sudo firewall-cmd --get-active-zones
public
interfaces: eth0
trusted
interfaces: p2p1
Run Code Online (Sandbox Code Playgroud)
但重启后一切都消失了。我怎样才能制作这根棍子?
更新:我发现这个“要将eth0网络接口永久分配给内部区域(在 /etc/firewalld/zones 目录中创建一个名为internal.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)
Run Code Online (Sandbox Code Playgroud)
...上述调用将p2p1更改为 zone=trusted。但同样的问题——它没有粘住。
我使用的是 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
Run Code Online (Sandbox Code Playgroud)
我终于明白了。
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
Run Code Online (Sandbox Code Playgroud)
然后我还确保该文件具有执行权限:
sudo chmod +x /etc/network/if-up.d/zone-for-p2p1
Run Code Online (Sandbox Code Playgroud)
现在重新启动,脚本会将正确的区域分配给适配器。这篇文章帮助我添加了脚本。
| 归档时间: |
|
| 查看次数: |
4464 次 |
| 最近记录: |