IPSec 的两种工作模式:隧道(ip tunnel)模式和传输(ip transport)模式。简单的来说,隧道模式用于网关和网关之间的点对点连接;传输模式用于网关和电脑之间的点对点连接。具体的请自行百度。

本教程主要是RouterOS(以下简称ROS)通过IPsec隧道模式(IP tunnel)实现点对点互连。

一、网络拓扑

以下是一个使用 ROS实现IPsec点对点互连的案例。

 网络拓扑:PC1(10.0.0.100) — (10.0.0.1)R1(121.236.80.94) — 互联网 — (117.62.85.3)R2(192.168.88.1)—(192.168.88.254)PC2

55-1.png

二、R1路由器设置

1、IP tunnel设置:Winbox –> Interface,IP Tunnel选项卡,点击+

Remote Address填入R2外网ip地址,如117.62.85.3,点击OK

55-2.png

2、Winbox –> IP –> Firewall,NAT选项卡,点击+

Chain选择srcnat

Src. Address填入R1内网网段,如案列中R1的内网网段10.0.0.0/23

Dst. Address填入R2内网网段,如案列中R2的内网网段192.168.88.0/24

切换到Action选项卡,action选择accept,点击OK

注意:该条规则要在masquerade规则的上面

55-6.png

55-7.png

55-10.png

3、Winbox –> IP –> Firewall,NAT选项卡,修改上网的masquerade规则
Chain还是srcnat
Src. Address填入R1的内网网段,如案列中R1的内网网段10.0.0.0/23
切换到Action选项卡,action还是选择masquerade,点击OK
55-8.png

55-9.png

4、添加路由表,Winbox –> IP –> Routes,点击+

Dst. Address填入R2的内网ip网段,如192.168.88.0/24

Gateway选择刚才创建额ipip-tunnel1,点击OK

55-4.png

三、R2路由器设置

1、IP tunnel设置:Winbox –> Interface,IP Tunnel选项卡,点击+

Remote Address填入R1外网ip地址,如121.236.80.94,点击OK

55-5.png

2、Winbox –> IP –> Firewall,NAT选项卡,点击+

Chain选择srcnat

Src. Address填入R2内网网段,如案列中R2的内网网段192.168.88.0/24

Dst. Address填入R1内网网段,如案列中R1的内网网段10.0.0.0/23

切换到Action选项卡,action选择accept,点击OK

注意:该条规则要在masquerade规则的上面

55-15.png

55-16.png

55-11.png

3、Winbox –> IP –> Firewall,NAT选项卡,修改上网的masquerade规则
Chain还是srcnat
Src. Address填入R1的内网网段,如案列中R1的内网网段192.188.88.0/24
切换到Action选项卡,action还是选择masquerade,点击OK

55-12.png

55-13.png

4、添加路由表,Winbox –> IP –> Routes,点击+

Dst. Address填入R1的内网ip网段,如10.0.0.0/23

Gateway选择刚才创建额ipip-tunnel1,点击OK

55-14.png

四、动态IP实现自动修改

1、2个ROS做DDNS动态ip自动更新,具体实现方法请看《RouterOS利用DNSPOD的API接口实现DDNS动态析》

2、2个ROS分别在Winbox –> IP –> Firewall,Address-list选项卡,点击+

Name,随便输入,如ipaddr

Address,填入对方的DDNS动态域名

55-19.png

3、定时脚本设置,Winbox –> system –> Scheduler,点击+

Name随便填

Interval脚本定时执行间隔,不建议设置太小

On Event:填入脚本

:global ipaddr
:local r2ip [/ip firewall address-list get [/ip firewall address-list find comment="ros.myxzy.com"] address]
:if ($r2ip != $ipaddr) do={
/interface ipip set ipip-tunnel1 remote-address=$r2ip
:set ipaddr $r2ip
:log info "IPIP UPDATE!"
}

55-20.png

另一个ROS也需要设置。

存在的问题,如果其中一个IP变更,由于DDNS的生效时间,可能会导致IP tunnel中断一段比较长的时间。我这边测试大概是1~2分钟左右(DDNS动态域名是TTL 10)。

五、Ping测试

55-17.png

55-18.png

至此,2个ROS已经通过IP Tunnel互通了,内网电脑可以互访了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。