|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
最近一个案例中做了个ros 和 dlink 808hv做site to site vpn,看了这个论坛不知为什么好像对ipsec 说的比较少,其实做site to site vpn用ipsec才是比较自然的。
如有以下两网络需用vpn互联,
10.10.0.0/16?ROS_a?61.132.118.68???internet??-61.177.7.1?ros_b?192.168.0.1/24
ros_a:
ip ipsec peer add address=61.177.7.1 secret=123
ip ipsec policy add src-address=10.10.0.0/16 dst-address=192.168.0.0/24 sa-src-address=61.132.118.68 sa-dst-address=61.177.7.1
ros_b:
ip ipsec peer add address=61.132.118.68 secret=123
ip ipsec policy add src-address=192.168.0.0/24 dst-address=10.10.0.0/16 sa-src-address=61.177.7.1 sa-dst-address=61.132.118.68
(注意为了方便这里对ipsec 相应一系列协议都使用了默认,但两边一定要一样,具体在ip ipsec 的policies peers proposals中设置。)
这样你就会在两端在log和ipsec installed sas和remote peer中看到已联上的相关信息,但发现还不能互访对方端域网。
这是由于两边内网做到对端内网的访问时如10.10.10.10对192.168.0.4访问,当数据包到ros_a时面临几个选择,一是直接路由,二是使用默认路由,由于这个目地址不是ros_a不是直接相联的网络,一定是走的默认路由即对外网的访问,由于我们设对外网访问一定用nat或masquerade,两且做这个时为了方便一般是在ip firewall中做如下策略0.0.0.0/0或内网段到0.0.0.0/0 action masquerade或nat,这就出问题了,因为路由器对数据是否走ipsec是在之后做出决定的,现在这个数据包到路由器发现源地址目地址匹配ip firewall中的action masquerade或nat的相关源地址目地址,于是这个数据包先被action 了masquerade或nat,于是源地址发生改变,不匹配ip ipsec policy中的源地址目地址,所以不再会用ipsec封装而远入ipsec tunel,而是被默认路由路由到internat 去了,这样去192.168.0.4当然不会到达了。
说了这么罗嗦,其实解决很简单,就是不要让本内网到彼内网的数据包做nat/masquerade以至改变了源地址,那就是让这种要走ipsec tunel的包不要nat/masquerade,即在ip firewall policy的/masquerade策略前加一个相应数据流的accept,如在ros_a加ip ipsec policy add src-address=10.10.0.0/16 dst-address=192.168.0.0/24 action=accept。ros_b加ip ipsec policy add src-address=192.168.0.0/24 dst-address=10.10.0.0/16 action=accept。 |
|