Vpn
防火牆:VPN 客戶端可以訪問 LAN 資源,但不能訪問 Internet
我在我工作室的辦公室建立了一個網路,其中一個 Raspberry Pi 作為 VPN 伺服器,供遠端客戶端訪問 LAN 資源。
路由器埠將 1194 埠轉發到 RPi,因此可以從 Internet 訪問它。
一段時間後,我使用 Shorewall 成功設置了 OpenVPN,以授予 VPN 客戶端訪問選定 LAN 伺服器的權限。但是由於某種原因,VPN 客戶端根本無法訪問 Internet。
這是我的 Shorewall 設置:
我在zone、interfaces和host文件中設置了我的三個區域。
區域
#ZONE TYPE fw firewall net ipv4 loc:net ipv4 vpn ipv4
介面
#ZONE INTERFACE OPTIONS net eth0 dhcp,tcpflags,nosmurfs,routefilter,logmartians,sourceroute=0 vpn tun0
主機
#ZONE HOSTS loc eth0:192.168.200.0/24 (LAN subnet)
OpenVPN 伺服器的隧道文件中有一個條目:
隧道
#TYPE ZONE GATEWAY openvpnserver net 0.0.0.0/0
從 VPN 到 eth0 的數據包被偽裝,因為 LAN 客戶端的預設網關是路由器,而不是 RPi。
面具
#INTERFACE SOURCE ADDRESS eth0 10.8.0.0/24 (VPN subnet) 192.168.200.54 (local RPi address)
策略拒絕從 vpn 到 loc 的連接,並接受從 vpn 到網路的連接。規則文件中接受從 vpn 到 loc 的特定連接。
我錯過了什麼?為什麼VPN客戶端不能上網?
問題根本不在 Shorewall 配置中。實際上有從 VPN 到 Internet 的訪問,但是 VPN 客戶端的 DNS 伺服器地址錯誤。
OpenVPN 的server.conf中有一行
push "dhcp-option DNS 192.168.0.1"
這在給定的設置中沒有意義。我更正了地址,現在 VPN 客戶端可以訪問 Internet。