OpenVPN LAN 路由

OpenVPN LAN 路由

我有一台远程机器,同时托管一个 OpenVPN 服务器和一个 HTTP/S 服务器,但是当 OpenVPN 客户端连接并向 HTTP/S 服务器(远程机器的公共 IP)发送请求时,它不会通过隧道进行路由。

OpenVPN服务器(相关配置部分):

proto udp
dev tun
server 10.8.0.0 255.255.255.0
topology subnet
push "redirect-gateway def1 bypass-dhcp"

以及路由表:

$ sudo iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

从客户端开始,流量通过隧道路由到远程服务器(网关=10.8.0.1):

$ traceroute ifconfig.co
traceroute to ifconfig.co (104.28.18.94), 64 hops max, 52 byte packets
 1  10.8.0.1 (10.8.0.1)  91.043 ms  92.079 ms  95.904 ms
 2  x.x.compute.amazonaws.com (x.x.x.x)  106.990 ms  108.148 ms
 3  100.64.2.12 (100.64.2.12)  112.189 ms
    100.64.3.12 (100.64.3.12)  103.892 ms
    100.64.3.204 (100.64.3.204)  114.123 ms
...

但是,当客户端将流量发送到 VPN 服务器的地址时,它会通过客户端的 LAN(网关=192.168.100.1)进行路由:

$ traceroute $SERVER_DNS
traceroute to $SERVER_DNS ($SERVER_IP), 64 hops max, 52 byte packets
 1  192.168.100.1 (192.168.100.1)  4.974 ms  8.735 ms  5.612 ms
 2  * * *
 3  x.x.x.x (x.x.x.x)  15.093 ms  15.998 ms  31.362 ms
 4  x.oc.oc.cox.net (x.x.x.x)  54.835 ms  20.958 ms  21.883 ms

相关内容