Proxy

OpenVPN 與代理在同一台伺服器上

  • September 9, 2019

我有帶有靜態 IP (192.168.1.0/24) 客戶端的 OpenVPN 伺服器。當我訪問連接到 VPN 的另一台設備時,我得到了所需的 192.168.1.2 靜態 IP,但是當我通過 DNS 訪問同一台機器上的代理伺服器時,我得到了沒有 VPN 的機器真實 IP。更簡單:我將筆記型電腦連接到 example.com 的 VPN,我嘗試訪問 sub.example.com,從 sub.example.com 我看到的不是我的 VPN 靜態 IP,而是我的真實 IP(由 ISP 提供)。如何解決這個問題,以便我從該子域站點看到我的 VPN 靜態 IP?

這是我的 openvpn.conf:

server 192.168.1.0 255.255.255.0
verb 3
key /etc/openvpn/pki/private/...
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/...
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun
client-to-client
client-config-dir ccd
topology subnet
proto udp
port 22
dev tun0
status /tmp/openvpn-status.log
user nobody
group nogroup
comp-lzo no

route 192.168.0.0 255.255.0.0
route 10.0.0.0 255.0.0.0
route 172.16.0.0 255.240.0.0

push "topology subnet"
push "comp-lzo no"
push "dhcp-option DNS 10.1.0.3"
push "route 10.0.0.0 255.0.0.0"
push "route 192.168.0.0 255.255.0.0"
push "route 172.16.0.0 255.240.0.0"

通過配置我的 DNS 伺服器以將所需的查詢路由到本地代理地址來解決,例如10.1.0.2 sub.domain.com,這使得請求的流量通過 VPN 的本地 IP 進入本地伺服器,所以我的代理認為它是從10.1.0.4VPN 伺服器的 IP 訪問的。僅供參考,也可以通過修改hosts電腦上的文件來完成。

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