一、什么是路由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路由子网
相关视频
转载于:https://blog.51cto.com/fxn2025/2135997