Vpn

防火牆:VPN 客戶端可以訪問 LAN 資源,但不能訪問 Internet

  • July 4, 2015

我在我工作室的辦公室建立了一個網路,其中一個 Raspberry Pi 作為 VPN 伺服器,供遠端客戶端訪問 LAN 資源。

路由器埠將 1194 埠轉發到 RPi,因此可以從 Internet 訪問它。

一段時間後,我使用 Shorewall 成功設置了 OpenVPN,以授予 VPN 客戶端訪問選定 LAN 伺服器的權限。但是由於某種原因,VPN 客戶端根本無法訪問 Internet。

這是我的 Shorewall 設置:

我在zoneinterfaceshost文件中設置了我的三個區域。

區域

#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。

引用自:https://serverfault.com/questions/703517