我有两个网络接口:eth0 和 p2p1。我的默认区域设置为公共。我想永久将 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 目录中创建一个名为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)
...上面的调用改变了点对点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
答案4
这是一个解决方案乌班图18.04与一个如果向上脚本和防火墙命令工具 (nmcli 由于某种原因无法工作)
成为 root 并创建具有执行权限的 if-up 文件
sudo su - touch /etc/network/if-up.d/p2p1-trusted && chmod +x $_
输入以下内容并保存文件
#!/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"
重启
核实
$ sudo firewall-cmd --get-active-zones trusted interfaces: p2p1 public interfaces: wlp1s0