网络
WAN
__|___
|Router|
‾‾|‾‾‾ ______
192.168.0.1----(192.168.0.0/24)----192.168.0.102-|Server|-192.168.3.1---(192.168.3.0/24)
‾‾‾‾‾‾
服务器
因此我尝试进行以下设置(A):
192.168.0.102
__________|____________
| | |
| eth0--tun0 |
| | | |
| apache-| | |
| ssh----| | |
| | |
|_________________|_____|
|
192.168.3.1
但是,这就是我得到的(B):
192.168.0.102
__________|____________
| | |
| eth0--tun0 |
| | |
| apache--------| |
| ssh-----------| |
| | |
|_________________|_____|
|
192.168.3.1
$ifconfig:
eth0 Link encap:Ethernet HWaddr 00:xx:xx:xx:xx:xx
inet addr:192.168.0.102 Bcast:192.168.0.255 Mask:255.255.255.0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.114.0.4 P-t-P:10.114.0.4 Mask:255.255.0.0
$route -n:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.114.0.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
10.114.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
<VPN IP> 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.114.0.1 128.0.0.0 UG 0 0 0 tun0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
问题
一旦启动 openvpn 服务,我就会获得情况 B 中描述的设置。任何往返于服务器的流量都会使用 tun0 接口(从而获得 VPNd)。
那么,除了明确路由到 tun0 的流量外,我如何让所有流量默认到 eth0 接口?
我尝试在 openvpn 服务启动并设置后使用 ifmetric 将 tun0 上的度量设置为 100。但是,Trafic 仍然默认为 tun0。
我可以将 conf 值放入 openvpn 运行的 .conf 中吗?
iptables 被指定将流量从 192.168.3.1 路由到 tun0。
答案1
看起来好像服务器有:
push "redirect-gateway tun0"
或一些类似的配置,导致所有流量都通过 tun0 连接。您应该能够删除该规则,只需推送您需要明确路由的子网。
下面的路由规则存在问题:
0.0.0.0 10.114.0.1 128.0.0.0 UG 0 0 0 tun0