Linux
使用 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% 丟包率。有什麼我做錯了嗎?
PS:如果我在測試客戶端上執行“ping 192.168.178.47”,我會收到回复!只是不是區域網路的其餘部分。
另一端的客戶端也需要路由資訊,所以我相信你需要為他們設置一個網關,以便他們可以反過來交談,除非你的 VPN 伺服器目前充當 192.168.178.x 上的預設網關網路。
(如果您的防火牆設置正確),本地 LAN 上的機器將需要:
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.178.47
如果可能的話,最好將此規則添加到您的預設網關,否則每台機器都需要靜態路由才能進行通信。