ROS里的IPSec配置

适用于ROS版本号 < 6.16 的用户

IPSec 作为新一代网络安全协议,为网络传输提供了安全保证,使端到端的数据保密成为可能, 是互联网上的新一代安全标准。提供包括访问控制、无连接的完整性、数据源认证、抗重放 (replay)保护、保密和有限传输保密性在内的服务,服务基于 IP 层并对 IP 及上层协议进行保护。服务的实施通过两种通信安全协议:认证头( AH)和封装安全负载( ESP)以及 Internet 密钥交换( IKE)协议来达到这些目标。 IPSec AH 协议提供数据源认证、无连接的完整性和可选的抗重放服务。 ESP 协议提供数据保密性,有限的数据流保密性、数据源认证、无连接的完整性及抗重放服务。 IKE 协议用于协商 AH 和 ESP 协议所使用的密码算法,并将算法所需的必备密钥放在合适的位置。 IPSec 有两种模式:传输模式和隧道模式。它们都是对外出的数据包添加 IPSec 头进行加密和认证,而对于接收的 IPSec 数据包作解密认证处理和适当的转发传送。


IPSec 点对点配置实例

以下是一个使用 RouterOS 建立的 IPsec VPN 案例, 网络拓扑图:

192.168.89.1/24 –R1– 192.168.11.11/24 —互联网— 192.168.11.18/24 —R2— 192.168.90.1/24

R1 配置

进入 ip address 添加各接口的 IP 地址,先配置内网接口地址:

添加 ether1-wan 互联接口地址:

进入 ip routes 里面添加网关出口:

进入 ip ipsec 里的 policies 选项,先在 general 添加内网的源地址和对端网络的内网地址。

选择 action 选项里面添加源外网地址和对端外网地址和开启 tunnel 隧道协议

进入在 ip ipsec 里的 peers 标签里添加目标外网 ip 地址和 secert 密码:

在 ip firewall 里的 nat, 建立一条 srcnat 规则为 accept,接受源内网地址和对端内网地址通过:

然后建立将本地内网隐藏上网的 masquerade 规则:

1
/ip firewall nat add src-address=192.168.89.0/24 action=masquerade

以上就是 R1 的相应配置过程, R1 已经配置完成现在就 R2 了。


R2 配置

进入 ip address 添加 ether2-lan 内网接口地址:

添加 ether1-wan 外网接口地址:

进入 ip routes 添加外网网关:

进入 ip ipsec 里的 policies 选项,先在 general 添加内网的源地址和对端网络的内网地址。

选择 action 选项里面添加源外网地址和对端外网地址和开启 tunnel 隧道协议

再在 ip ipsec 里的 peers 标签里添加对端外网 ip 地址和 secert 密码:

在 ip firewall 里的 nat, 建立一条 srcnat 规则为 accept,接受源内网地址和对端内网地址通过:


然后建立将本地内网隐藏上网的 masquerade 规则:

1
/ip firewall nat add src-address=192.168.90.0/24 action=masquerade

以上就是 R2 的配置过程。 注: NAT 规则的配置的上下顺序, accept 规则需在 masquerade 伪装规则前:


Windows L2TP/IPsec 连接

Microsoft Windows XP/Vista/win7 内建了 PPTP 客户端和和 L2TP/IPSec 客户端。 PPTP 链接是不要 IPsec 加密的,而 windows 的 L2TP/IPsec 默认要求建立 IPsec 链接后,才能进行 L2TP 的拨号连接,这样的解决方法在早期采用的是修改 windows 的注册表,将 windows 默认的 IPsec 连接值修改并关闭, 相对于终端客户操作繁琐,且安全性降低。为了能正常让 windows 的 L2TP/IPsec 与 RouterOS 连接,我们可以配置 RouterOS 启用 IPsec。 Windows 建立 L2TP/IPSec 连接,首先要求连接到对端的 IPSes,在 IPSec 建立完成后在允许 L2TP 连接,也就是 IPSec 连接在先, L2TP 其后,所以我们首先配置 IPSec 连接。
注: RouterOS 6.16 在 L2TP 服务配置中加入了 IPsec 选项,简化了 IPsec 的配置。
我们先确定一下网络结构:

这里 RouterOS 的 IP 地址是 10.200.15.228,两台 PC 的 IP 地址分别是 10.200.15.59,和 10.200.15.60。两台 PC的 IP 地址必须是固定,以便 IPsec 连接成功。在这个拓扑图里要求所有的地址是能被访问到的,即非 nat 转换的地址(也非 L2TP 隧道分配的 IP 地址)。

IPSec 配置

首先要将 IPsec 指向对端的 windows PC 的 IP 地址(非 L2TP 分配 IP 地址) ,进入/ip ipsec 菜单下(确定安装security 功能包),选择 peer 标签,设置 address 为 PC 的 IP 地址, secret 设置共享密钥 yusong, Hash-algorithm选择 sha, generate-policy 勾上,其他默认。

添加 10.200.15.60 的 peer 规则

1
2
3
4
/ip ipsec peer add address=10.200.15.59:500 auth-method=pre-shared-key \
secret=yusong hash-algorithm=sha enc-algorithm=3des generate-policy=yes
/ip ipsec peer add address=10.200.15.60:500 auth-method=pre-shared-key \
secret=yusong hash-algorithm=sha enc-algorithm=3des generate-policy=yes

添加 IPSec peer 设置
o address=10.200.15.59 是你的 windows 电脑的网卡实际地址。
o :500 端口号;
o hash-algorithm=sha 和 enc-algorithm=3des 是 windows 上的默认配置;
o generate-policy=yes 自动产生 IPSec 策略

RouterOS 配置

首先我们配置 RouterOS 的 L2TP 服务器,这个配置和普通的 PPTP 配置一样, 在 PPP 里启用 L2TP 服务

命令行配置,记住这里的路径不同:

1
/ interface l2tp-server server set enabled=yes

进入 ip pool 设置分配给用户的地址池: 命令操作如下:

1
/ip pool add name=L2TP ranges=192.168.10.2-192.168.10.254

进入/ppp profile 配置 default-encryption 的规则:

DNS 和 limit 选项里的 rate-limit、 only one 参数根据需要设置,这里就不多讲解。 命令行配置

1
/ppp profile> set 1 local-address=192.168.10.1 remote-address=L2TP

进入/ppp secret 添加用户账号 命令行配置

1
/ ppp secret add name=123 password=123 profile=default-encryption

到这里 L2TP 服务器配置完成。


Windows 配置

Windows 配置包含 2 个部分,第一个部分添加新的网络连接,第二个部分调整 IPSec 设置 Win7 配置步骤:

  • 点开始菜单;
  • 控制面板\网络和 Internet\网络和共享中心
  • 设置新的连接或网络;
  • 添加一个 VPN 连接,
  • 目的地的主机或域名填写 10.200.15.228(具体操作跟着步骤走,不详细说明)

接下来我们需要配置 VPN 连接的属性

确定主机地址是 10.200.15.228

选择 VPN 类型为使用 ipsec 的第 2 层隧道协议( L2TP/IPSec)

选择高级设置,并设置使用预共享的密钥作身份验证:输入相同的密钥: yusong

配置完成后,输入账号 123,密码 123,连接

连接完成后,在 remote peers 可以看到连接的 IP 地址

Policies 策略会被自动添加

Installed SAs 状态,注意当你的 L2TP 注销后,可能会出现 Installed SAs 状态没有清楚,第二次重播可能需要使用 Flush 清空状态

PPP 里的 active 状态


v6.16 后简化 L2TP/IPsec 配置

在 RouterOS 6.16 版本开始, L2TP 服务增加了 use IPsce 选项,可以直接在 L2TP 服务配置菜单下设置 IPsec,共享密钥设置后,会自动添加到 IPsec 配置中,简化了管理员操作,当然 RouterOS 必须同时安装 PPP 和 Security功能包