一、什么是路由IPsec?


  • 基于路由的IPsec,与传统隧道不同(基于策略)

  • 使用虚拟隧道接口(VTI)

  • 在FreeBSD中自11.1以来通过if_ipsec(4)

  • 适用于IKEv1和IKEv2

  • 在OS级别设置ipsecX接口,而不是使用enc0

  • 可以像其他接口一样分配和使用此ipsecX接口

      - 与指定的OpenV-P-N接口类似

  • 分配时创建自动网关条目

  • 可用于路由,NAT等

  • 可用于静态路由,策略路由,动态路由

  • 完全可选,传统的基于策略的IPsec隧道仍然有效


二、为什么要使用路由IPsec?


流量以更自然,更合理的方式流动,符合传统的路由实际

- 不依赖内核魔法捕获并将数据包导入IPsec!

●无需为每个跨IPsec的网络定义P2,只需路由!

●与其他路由IPsec实施(例如TNSR,AWS VPC)一起使用

●可以使用网关和网关组

- 用于有选择地跨IPsec发送流量(例如某些Internet目的地)

- 可用于多个隧道之间的故障转移

●动态路由(例如BGP),用于管理多个IPsec连接之间的路由或故障转移

- 多WAN,AWS VPC

●具有大量子网的IPsec

- 不需要大量的P2,只需要路由

●通过IPsec向/从防火墙本身发送流量

- 例如 RADIUS,LDAP,syslog,SNMP,DHCP中继


三、限制/缺点


仅在双方都支持路由IPsec时才最佳。否则,可能需要对P2s进行一些操作

没有,许多好处都没有实际意义。

- 如果您曾使用AWS VPC和基于策略的IPsec,您可能会对此感到沮丧!

●现在您必须以某种方式管理路由(静态路由等),而不是在IPsec中管理P2条目

- 由于这可以是BGP或OSPF的动态,因此这不一定是障碍

●必须在IPsec选项卡规则上传递出现在enc0和ipsecX接口上的流量

- 仍在进行测试,但可能意味着回复将无法正常运行

- 这也导致了NAT的一些问题:值得注意的是,NAT到接口地址工作正常,但是1:1 NAT或NAT到备用

地址不起作用。

●虽然行为相似,但这与传输模式+ GRE不同

- 如果远方需要GRE,您仍需要使用transport + GRE

●新功能虽然内部测试进展顺利,但仍需要外部用户的各种测试/反馈

场景

- 示例:与Juniper等其他路由IPsec平台的互操作性反馈


四、配置路由IPsec


选择一个传输网络,通常是未使用子网中的/ 30网络

- 类似于为共享密钥Openv-p-n实例选择隧道网络。 对于这个例子,我们将使用

10.8.222.0/30

● 确定其他IPsec设置,类似于除P2本地/远程之外的大多数其他隧道

– Local IPsec Endpoint: 198.51.100.8

– Remote IPsec Endpoint: 203.0.113.5

– IKE Version: 2

– Auth: PSK, 01234567890123456789012345678901

– P1 Encryption/Hash/DH/Lifetime: AES 256, SHA 256, DH 14, 28800

– Local P2 Endpoint: 10.8.222.1/30 (来自上面的传输网络!)

– Remote P2 Endpoint: 10.8.222.2

– P2 Encryption/Hash/PFS/Lifetime: AES 128, SHA 256, PFS 14, 3600


像往常一样创建IPsec阶段1条目

●在此阶段1下创建阶段2条目,设置为:

- 将Mode设置为路由(VTI)

- 将Local Network设置为网络

- 输入10.8.222.1/30作为Local Network Address

- 输入10.8.222.2作为Remote Network Address

- 添加有用的Description(描述)

- 根据需要设置Proposa(提案)

单击“保存”,然后单击“应用更改”


导航到接口> 接口管理

●从“可用网络端口”列表中选择新的ipsecX接口

- IPsec接口将有一个数字,如ipsec1000,对应于内部连接ID

strongSwan,如con1000。 这也符合请求id(reqid)1000。它们以这种方式编号

避免自动冲突/碰撞,这可能发生在较低的数字上。

●单击+添加

●记下新的接口名称,例如OPT1

●导航到接口> [新接口名称]

●选中“启用”

●使用“描述”字段为接口指定更合适的名称(例如VTI_FOO)

●将IPv4配置类型和IPv6配置类型设置为无

●单击“保存”,然后单击“应用更改”

●导航到防火墙>规则,IPsec选项卡,添加通行规则

●此时,接口可以像其他任何接口一样使用

●自动创建网关,以用于静态路由,策略路由等

- 访问系统>路由来进行检查


五、静态路由示例


导航到系统>路由,静态路由选项卡

●单击+添加

●输入目标网络,即网络远端的网络,例如10.7.0.0/24

●选择IPsec VTI接口的网关

●输入说明

●单击“保存”

●重复以便在隧道中路由任何其他网络

●完成后单击“应用更改”

●导航到诊断>路由,并确保路由显示

●确保远端具有与此防火墙上的网络类似的路由!

●或者,您可以设置策略路由规则,例如LAN上的规则,以便在隧道中传递流量


六、动态路由示例


●安装支持所需协议的动态路由插件,如:

- FRR:Preferred,支持BGP和OSPF

- Quagga:支持OSPF,可以做手动BGP

- openbgpd:尽可能避免,但可以做BGP




七、策略路由示例


互联网供应商样式示例

●防火墙> NAT,出站选项卡

- 切换到混合出站NAT

- 在顶部添加规则,在VTI接口上添加NAT

●来源是您想要的任何本地网络,例如LAN

●转换为接口地址

- 保存并应用更改

●防火墙>规则,LAN选项卡

- 添加规则以允许任何目的地通过IPsec

●根据这些规则,选择VTI接口网关

●或者,NAT流量离开远程端

- 对于静态路由,如果远端是pfSense,它将包含在自动出站NAT中

- 否则,使用混合出站NAT并将规则添加到NAT路由子网


相关视频