通过VPN隧道进行select性路由

问题是:build立IPsec VPN隧道后,所有的stream量都被路由到远程端点,而我需要路由到内部networking的数据包,仍然可以在本地机器上访问互联网 。 目前,当启用相应的VPN连接时,所有的连接都会中断,这意味着无法通过LAN访问此计算机,也无法通过它访问互联网(远端有进一步的WAN转发限制)。 所以,只有VPN在这种情况下工作。

该拓扑结构: http : //i.imgur.com/9HEru.png

我在基于Debian的发行版上使用OpenSwan ,也在NAT后面(遍历已启用)。

以下是ipsec.conf的详细信息:

版本2.0

configuration设置
plutodebug = “无”
plutoopts = “ – perpeerlog”
plutoopts = “ – 接口= WLAN2”
DUMPDIR =的/ var /运行/冥王星/
nat_traversal = YES
virtual_private =%V4:10.196.0.0/17,%v4:192.168.1.0/24
OE =关
protostack = NETKEY

连接
authby =秘密
密钥有效期= 1H
PFS = YES
汽车=添加
phase2alg = AES128-SHA1; modp1024
keyingtries = 3
ikelifetime = 8H
types=隧道
左= 192.168.1.76
leftsubnet = 0.0.0.0 / 0
leftprotoport = 0/0
右= YYYY
rightsubnet = 0.0.0.0 / 0
rightprotoport = 0/0

这里是ifconfig的部分细节:

wlan0 Link encap:Ethernet HWaddr 00:13:02:46:42:8d
UP BROADCAST MULTICAST MTU:1500公制:1
RX包:0个错误:0个丢弃:0个超限:0个帧:0个
TX数据包:0错误:0丢弃:0超载:0载波:0
碰撞:0 txqueuelen:1000
RX字节:0(0.0 B)TX字节:0(0.0 B)

wlan2 Link encap:以太网HWaddr 94:0c:6d:8d:28:0f
inet addr:192.168.1.76 Bcast:192.168.1.255 Mask:255.255.255.0
inet6地址:fe80 :: 960c:6dff:fe8d:280f / 64作用域:链接
广播运行多播MTU:1500公制:1
RX数据包:125221错误:0丢弃:0超限:0帧:0
TX数据包:89332错误:0丢弃:0超载:0载波:0
碰撞:0 txqueuelen:1000
RX字节:151498702(151.4 MB)TX字节:18233148(18.2 MB)

这里是路由的详细信息-n

内核IP路由表
目标网关Genmask标志度量参考使用Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 wlan2
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan2
192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan2

正如你所看到的 – 该机器通过wlan2上的WiFi进行连接,并且这是正在参与VPN设置的接口。 那么,为了解决启用隧道后失去互联网的问题,你会怎么做呢? 谢谢。

这就是问题:

rightsubnet = 0.0.0.0 / 0

通过这一行,你可以告诉openswan隧道的端点是“全部”,因此所有的数据包都通过vpn路由。

将0.0.0.0/0replace为网关后面的networking。 客户端和服务器上的configuration必须匹配,所以编辑这两个。