一条 AWS VPN 隧道承载多个 LAN:SA 上限意味着什么
AWS 每个隧道只允许一对 IPsec SA,这并不是单个子网的限制。先把保护范围与路由、访问分开看。
在 AWS Site-to-Site VPN 中加入第二个分支机构 LAN 并不需要在该隧道内再建立第二个独立的 IPsec 关联。人们常被卡住的那条限制确实存在,但比听起来更窄:AWS 文档写明 每个隧道一对唯一的 IPsec SA,一对入站、一对出站,而一个连接中的两条隧道各自拥有自己的一对。这是服务的属性,而不是 IPsec 一次只保护一个子网的规则。当基于策略的客户网关把每条策略条目变成独立关联时,这一区别最为关键。
先看连接,而不是 LAN 列表
在控制台中打开连接,注意它的路由方式。静态连接承载你声明的远端前缀。BGP 连接则从客户网关学习这些前缀。
无论哪种方式,隧道都是基于路由的。进入隧道的内容由设备协商的选择器决定,而不是你能在表单里输入多少个子网。
关注客户网关协商了什么
基于策略的设备可以把每条策略条目变成自己的一条 SA。两个 LAN 意味着两条条目,也就是两条 SA,单隧道上限正是从这里开始起作用。 客户网关要求 恰恰警告了这种行为,并建议在这类设备上使用合并规则。要检查协商出来的选择器,而不是设备上的 ACL 数量。
设备必须配置为在单条策略下同时呈现两个前缀,否则远端根本无法维持结果。
三份清单,分开维护
把这三份清单混在一起,任何改动都变成猜测。把它们作为独立的列,并针对你自己的网络逐项填写。
| Inventory | What belongs there |
|---|---|
| Required networks | 10.20.10.0/24 and 10.20.30.0/24, as presented after any deliberate translation |
| Protection agreement | the selectors the tunnel actually negotiated for those prefixes |
| Delivery and permission | VPC routes, return routes, security groups and any filtering |
只有中间那一列受 SA 上限约束。第一列是业务事实,第三列才让应用真正可用。请读取设备上被接受的选择器,而不是从你写了多少行 ACL 去推断覆盖面。
在不扩大权限的前提下合并
汇总路由是拿到单条策略条目的显然办法,也是受保护集合悄悄变大的途径。覆盖两个 /24 的 /20 同时覆盖了两个分支都不使用的地址,隧道会欣然承载它们。如果必须汇总,就配合接收侧的过滤,让多出来的空间被拒绝,而不只是不被通告。被拒绝的报文是证据。未被通告的地址只是没有证据。
合并保护策略改变的是允许加密的范围。它不是授予访问权限,也不应被当作授权。
测试两个 LAN,然后保留两条隧道
协调变更之后,先检查生效的保护范围,再从每个 LAN 实际运行应用。一个子网能用,不能证明第二个子网的选择器覆盖,更不能证明它的回程路径。
设计中要保留两条隧道。合并策略不是丢弃冗余的许可,一条承载所有分支机构 LAN 的隧道会让下一次维护窗口变成中断。
把协商出的选择器、两个前缀和路由归属写进同一份变更记录。等第三个 LAN 到来时,这份记录会告诉你是在增加选择器还是从头开始。