OpenVPN 流量被 CentOS 上的防火墙阻止到达 LAN

OpenVPN 流量被 CentOS 上的防火墙阻止到达 LAN

我在 CentOS 机器上安装了 OpenVPN。客户端可以很好地连接到 VPN 并访问其资源,ping 服务器的 LAN 地址。不过,我希望 OpenVPN 客户端能够访问连接到 OpenVPN 服务器的 LAN 上的计算机。我在服务器上启用了 ip 转发,按照我读过的方式推送了您需要执行的路由,但是在测试 OpenVPN 客户端时,甚至无法 ping 通服务器 LAN 上的计算机。

禁用firewalld后,问题就消失了,客户端可以正常ping通openvpn服务器后面的局域网上的计算机。我尝试将 set-target 放在 firewalld 上以使 openvpn 区域接受(只是作为测试),创建规则以接受来自 openvpn 子网的所有流量,但没有任何更改。它似乎起作用的唯一方法是我完全停止firewalld。还有其他人遇到过这个麻烦并且可以引导我走向正确的方向吗?

请注意,这是 openvpn 所在区域的firewalld list 命令输出的副本:

检查firewalld后,除了勾选服务http/https、openvpn和ssh以允许这些端口通过之外,该系统上没有丰富的规则或手动端口转发。这是 openvpn 区域的 list 命令的副本:

target: default
icmp-block-inversion: no
interfaces: enp8s0 enp9s0 tun0
sources: 
services: http https openvpn ssh
ports:
protocols: 
forward: no
masquerade: yes
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules:

我最终不得不添加以下规则:

firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i tun0 -o virbr2 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i virbr2 -o tun0 -j ACCEPT

唯一的问题是,虽然这有效,但如果我尝试使用选项添加它们,permanent它们不会生效 - 即使它列在direct.xml

谢谢,詹姆斯。

相关内容