使用 CentOS FirewallD 将内部 LAN 暴露给 VPN

使用 CentOS FirewallD 将内部 LAN 暴露给 VPN

我有一个 (tinc) VPN 设置,其中有多个客户端连接到位于防火墙后面的 LAN 上的 VPN 服务器。我想将该 LAN 公开给该服务器正在服务的 VPN。我在网上看到了一些如何配置 iptables 的示例,但我想使用 FirewallD 配置此设置,但尚未成功。

VPN 子网为 10.0.0.0/24 ,本地 LAN 为 192.168.178.0/24 。VPN 服务器位于 10.0.0.60 和 192.168.178.47 。测试客户端位于 10.0.0.17 。

我已经跑过:

firewall-cmd --permanent --zone=external --add-interface=vpn
firewall-cmd --permanent --zone=internal --add-interface=eth0
firewall-cmd --permanent --zone=external --add-masquerade
systemctl restart firewalld

在VPN服务器和客户端上:

route add -net 192.168.178.0 netmask 255.255.255.0 gw 10.0.0.60
ping 192.168.178.1

返回 100% 数据包丢失。我做错了什么吗?

附言:如果我在测试客户端上运行“ping 192.168.178.47”,我确实会得到回复!只是局域网的其余部分没有回复。

答案1

另一端的客户端也需要路由信息,因此我认为您需要为他们设置一个网关,以便他们进行反向通信,除非您的 VPN 服务器当前充当 192.168.178.x 网络上的默认网关。

(如果您的防火墙设置正确),本地局域网上的机器将需要:

route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.178.47

如果可能的话,最好将此规则添加到您的默认网关,否则每台机器都需要静态路由才能进行通信。

相关内容