나는 PeerVPN 인터페이스 "tap0"을 가지고 있고 그로부터의 모든 트래픽을 받아들이고 싶습니다. 박스는 CentOS 7입니다.
제가 이해한 바에 따르면 "신뢰할 수 있는" 영역에 인터페이스를 추가하기만 하면 됩니다. 이것을 시도하면 모든 것이 괜찮아 보이지만 규칙은 표시되지 않습니다.
[root@ns1 ~]# ifconfig
<abridged>
tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.9.8.2 netmask 255.255.255.0 broadcast 10.9.8.255
inet6 fe80::3007:81ff:fe4e:adf9 prefixlen 64 scopeid 0x20<link>
ether 32:07:81:4e:ad:f9 txqueuelen 1000 (Ethernet)
RX packets 43 bytes 2618 (2.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 27 bytes 2006 (1.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@ns1 ~]# firewall-cmd --zone=trusted --permanent --add-interface=tap0
The interface is under control of NetworkManager and already bound to 'trusted'
The interface is under control of NetworkManager, setting zone to 'trusted'.
success
[root@ns1 ~]# systemctl restart firewalld
[root@ns1 ~]# firewall-cmd --zone=trusted --list-all
trusted
target: ACCEPT
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
이것이 작동하지 않는 이유에 대한 제안 사항이 있습니까?
답변1
이것은 NetworkManager 문제입니다.
이를 해결하는 방법에는 여러 가지가 있습니다.
최신 NetworkManager
패키지로 업데이트하고 재부팅한 다음 firewall-cmd --complete-reload
및 및 명령을 사용하여 영역에 인터페이스를 추가합니다 systemctl restart firewalld
. (재부팅이 필요할 수도 있고 필요하지 않을 수도 있지만 만일의 경우에 대비해 재부팅합니다.)
이것이 작동하지 않으면 해당 영역에 대한 xml 파일을 생성/편집할 수 있습니다 . 구문은 다음과 같습니다 /etc/firewalld/zones/*.xml
.trusted.xml
<?xml version="1.0" encoding="utf-8"?>`
<zone>
<short>Trusted</short>
<interface name="tap0"/>
<description>Description of your choice.</description>
</zone>
firewall-cmd --complete-reload
그런 다음 신뢰 영역에 인터페이스가 표시 systemctl restart firewalld
됩니다 .firewall-cmd --list-all
첫 번째 방법이 저에게 효과적이었지만 두 번째 방법도 효과가 있다는 것을 확인했습니다.