linux – 通过VPN隧道进行选择性路由

前端之家收集整理的这篇文章主要介绍了linux – 通过VPN隧道进行选择性路由前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题:在建立IPsec VPN隧道之后,所有流量都被路由到远程端点,而我只需要将发往该内部网络的数据包路由,并且仍然可以在本地计算机上访问互联网.目前,当我启用相应的VPN连接时 – 所有连接都断开,这意味着无法通过LAN访问此计算机或通过它访问Internet(远程端有进一步的WAN转发限制).因此,在这种情况下只有VPN工作.

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

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

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

version 2.0

config setup
plutodebug=”none”
plutoopts=”–perpeerlog”
plutoopts=”–interface=wlan2″
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:10.196.0.0/17,%v4:!192.168.1.0/24
oe=off
protostack=netkey

conn z
authby=secret
keylife=1h
pfs=yes
auto=add
phase2alg=aes128-sha1;modp1024
keyingtries=3
ikelifetime=8h
type=tunnel
left=192.168.1.76
leftsubnet=0.0.0.0/0
leftprotoport=0/0
right=y.y.y.y
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 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wlan2 Link encap:Ethernet HWaddr 94:0c:6d:8d:28:0f
inet addr:192.168.1.76 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::960c:6dff:fe8d:280f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:125221 errors:0 dropped:0 overruns:0 frame:0
TX packets:89332 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:151498702 (151.4 MB) TX bytes:18233148 (18.2 MB)

以下是路线-n的详细信息:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use 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/0替换为要在网关后面到达的网络.客户端和服务器上的配置必须匹配,因此请同时编辑.

猜你在找的Linux相关文章