VPN在firewalld下的配置(尚不完善)

开放端口的事情就几条命令的事情,以 L2TP/IPSec 为例:

# 开放IPSec的500端口
firewall-cmd --zone=public --permanent --add-service=ipsec
# 开放1701和4500端口(UDP)
firewall-cmd --zone=public --permanent --add-port 1701/udp
firewall-cmd --zone=public --permanent --add-port 4500/tcp

但是比较麻烦的是从VPN客户端过来的包总是无法转发到Internet上,找了好多资料,发现问题主要在两个地方:

NAT转发没配置好:

firewall-cmd --permanent --direct --add-rule ipv4 filter POSTROUTING 0 -t nat -s 10.10.0.0/16 -o eth0 -j MASQUERADE -t nat

但是,配置好转发之后,问题仍然存在,不得以调试了半天 iptables 规则,发现问题出在 filter:FORWARD 链中。在我的规则中,FORWARD链中第九条规则直接REJECT了包。

暂时把ACCEPT规则添加进去吧:

firewall-cmd --permanent --direct --add-rule ipv4 filter FWDI_external_allow 0 -j ACCEPT

最后记得执行firewall-cmd –reload,使设置生效。

OpenVPN设置同理,换一下网络接口就可以了。

Leave a Reply

Your email address will not be published. Required fields are marked *

+ 10 = 20