Myluzh Blog

RouterOS v7 IPsec内网互联配置

发布时间: 2024-5-14 文章作者: myluzh 分类名称: RouterOS 朗读文章


0x01 概述
两台设备均为routeros v7.14.3,IPSEC互联需要两端都是公网IP。
在 RouterOS 中,IPsec VPN 的配置包括两个主要阶段:Phase 1 和 Phase 2。
可以把 Phase 1 理解为建立安全连接的第一阶段,而 Phase 2 则为数据传输的安全阶段。
Phase 1: 在 RouterOS 中,Phase 1 配置文件通常存储在 Profiles 下。
Phase 2: 在 RouterOS 中,Phase 2 配置文件通常存储在 Proposals 下。
也就是PHASE1的配置文件/ip/ipsec/profile是用在/ip/ipsec/peer里面,PHASE2的配置文件/ip/ipsec/proposal用在了/ip/ipsec/policy里面。

0x02 拓扑介绍
HOME1出口使用PPPOE,有动态公网地址,使用DDNS。内网网段:172.16.0.0/16
HOME2出口使用PPPOE,有动态公网地址,使用DDNS。内网网段:172.17.0.0/16
点击查看原图

0x03 配置
1、两台设备新建相同的安全提议(Proposal)
# home1_ros配置
/ip/ipsec/proposal
add name="proposal1" auth-algorithms=sha256 enc-algorithms=aes-256-cbc lifetime=30m pfs-group=modp2048
# home2_ros配置
/ip/ipsec/proposal
add name="proposal1" auth-algorithms=sha256 enc-algorithms=aes-256-cbc lifetime=30m pfs-group=modp2048
2、两台设备新建相同的配置文件(Profiles)
# home1_ros配置
/ip/ipsec/profile
add name="profile1" hash-algorithm=sha256 enc-algorithm=aes-256 dh-group=modp2048 lifetime=1d proposal-check=obey nat-traversal=yes dpd-interval=2m dpd-maximum-failures=5
# home2_ros配置
/ip/ipsec/profile
add name="profile1" hash-algorithm=sha256 enc-algorithm=aes-256 dh-group=modp2048 lifetime=1d proposal-check=obey nat-traversal=yes dpd-interval=2m dpd-maximum-failures=5 
3、两台设备分别配置对端(Peer)
这里的对端地址直接填域名,因为已经做了DDNS,ROS可以自动解析成IP的。
# home1_ros配置
/ip/ipsec/peer
add name="home2" address=home_2.itho.cn  profile=profile1 exchange-mode=ike2 send-initial-contact=yes
# home2_ros配置
/ip/ipsec/peer
add name="home1" address=home_1.itho.cn  profile=profile1 exchange-mode=ike2 send-initial-contact=yes
3、两台设备分别配置预共享密钥(Identities)
# home1_ros配置,peer选择对端home2
/ip/ipsec/identity
peer=home2 auth-method=pre-shared-key secret="testtest01!" generate-policy=no
# home2_ros配置,peer选择对端home1
/ip/ipsec/identity
peer=home1 auth-method=pre-shared-key secret="testtest01!" generate-policy=no
5、查看ipsec的连接状态是否为established
[admin@HomeROS_1] > /ip/ipsec/active-peers print
Flags: R - RESPONDER
Columns: ID, STATE, UPTIME, PH2-TOTAL, REMOTE-ADDRESS
#   ID               STATE        UPTIME  PH2-TOTAL  REMOTE-ADDRESS 
0 R 125.107.234.139  established  5m40s           1  125.107.234.139
6、配置感兴趣流量(Policies)
# home1_ros配置
/ip/ipsec/policy
add peer=home2 tunnel=yes src-address=172.16.0.0/16 dst-address=172.17.0.0/16 protocol=all action=encrypt level=require ipsec-protocols=esp proposal=proposal1 
# home2_ros配置
/ip/ipsec/policy
add peer=home1 tunnel=yes src-address=172.17.0.0/16 dst-address=172.16.0.0/16 protocol=all action=encrypt level=require ipsec-protocols=esp proposal=proposal1 
7、配置NAT规则
这里的NAT规则是专门为IPsec流量设置的豁免,确保这些流量不被常规的源NAT规则(如masquerade)影响,place-before=0 是把规则添加到最上面一行,让他最先匹配到。
# home1_ros配置
/ip/firewall/nat
add place-before=0 comment=ipsec  chain=srcnat action=accept src-address=172.16.0.0/16 dst-address=172.17.0.0/16 
# home2_ros配置
/ip/firewall/nat
add place-before=0 comment=ipsec  chain=srcnat action=accept src-address=172.17.0.0/16 dst-address=172.16.0.0/16 
8、测试内网ipsec是否互通
# home1_ros ping对端172.17.1.1 测试
[admin@HomeROS_1] > ping src-address=172.16.1.1 172.17.1.1
  SEQ HOST                                     SIZE TTL TIME       STATUS                                          
    0 172.17.1.1                                 56  64 4ms320us  
# home2_ros ping对端172.16.1.1 测试
[admin@HomeROS_2] > ping src-address=172.17.1.1 172.16.1.1
  SEQ HOST                                     SIZE TTL TIME       STATUS                           
    0 172.16.1.1                                 56  64 4ms873us  

参考链接:
RouterOS IPSec互联-RouterOS中级教程11


标签: routeros ros pppoe ipsec ddns

发表评论