Networking

OpenVPN 伺服器:連接正常,但無法訪問遠端區域網路

  • May 28, 2021

我有一個正在執行的 OpenVPN 伺服器,配置如下

  • VPN 網路為 10.7.0.0/16
  • LAN網路為192.168.100.0/24

客戶端可以連接,但我無法訪問位於 VPN 連接 (192.168.100.*) 後面的 LAN 主機。

跟踪路由 沒有答案

push "route 192.168.100.0 255.255.255.0"配置行應該解決這個問題,但不是。我的錯誤在哪裡?

分析

連接後,這是我的netstat -rn結果

default            10.7.0.5           UGScIg      utun10
10.7/16            10.7.0.5           UGSc        utun10
10.7.0.5           10.7.0.6           UHr         utun10
10.7.0.5/32        link#23            UCS         utun10
192.168.100        10.7.0.5           UGSc        utun10

我本來希望10.7.0.1網關在最後一行,不是嗎?

ifconfig 也許是一個線索,我ifconfig的客戶端給了我 客戶端上的 ifconfig

我期望inet 10.7.0.2 --> 10.7.0.1它在我在其他上下文中獲得的其他 VPN 上工作時會發生類似的事情。

↳ 用@lacek 回答。

數據包擷取

在客戶端 ping 期間,VPN 伺服器上的 Atcpdump給了我

  • 剛剛在 LAN ping 上發送 ping(不返回)。

lan ping

  • ping 並返回 VPN 主機 ping。

VPN ping

如果我在目標上擷取任何 ICMP 流量,則沒有關於 ping 請求的日誌。(我已經嘗試從另一個 LAN 主機,它可以工作。直接從 VPN 主機,它也可以工作。)。

關鍵是 OpenVPN 服務不會將我的數據包轉發到 LAN 網路。

配置

server.conf配置

proto udp
ifconfig-pool-persist ipp.txt
keepalive 10 120
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn.log
verb 3
mute 10
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key
dh /etc/openvpn/server/dh.pem
port 1194
dev tun
server 10.7.0.0 255.255.255.0
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "route 192.168.100.0 255.255.255.0 "
client-to-client

在伺服器端,我在 Debian OS 上執行 OpenVPN 2.4.0。

乍一看一切都很好,所以我的猜測是防火牆阻止了從 VPN 到 LAN 的包,或者 LAN 上的電腦沒有設置正確的路由,因此包無法從 LAN 到達虛擬專用網。

關於ifconfig輸出:當使用net30拓撲(預設)時,openvpn 建立一個點對點連接,其中為每個客戶端分配一個 /30 網路。該網路中的一個 IP 屬於客戶端,另一個屬於伺服器。所以你得到的輸出是正確的。

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