使用 ipsec-tools 指定 IPSEC 端口范围

使用 ipsec-tools 指定 IPSEC 端口范围

是否可以在端口上要求 IPSEC范围? 我想要求除 80 和 443 等少数公共端口之外的所有传入连接都使用 IPSEC,但不想限制传出连接。

我的 SPD 规则如下:

spdadd 0.0.0.0/0 0.0.0.0/0[80] tcp -P in none;
spdadd 0.0.0.0/0 0.0.0.0/0[443] tcp -P in none;
spdadd 0.0.0.0/0 0.0.0.0/0[0....32767] tcp -P in esp/require/transport;

setkey手册页中我看到知识产权范围,但没有提到港口范围。

(这个想法是使用 IPSEC 作为一种 VPN 来保护多个服务器之间的内部通信。我不想根据源 IP 配置权限,也不想配置特定的端口,而是希望在任何事物这并不意味着要公开 - 我觉得这样不太容易出错。)

答案1

是的,虽然您确实可以指定 IP 范围,但无法指定端口范围。这意味着您需要为每个端口输入一条规则,或者更简单地使用脚本来实现这一点,例如:

perl -e 'print "spdadd 0.0.0.0/0 0.0.0.0/0[$_] tcp -P in esp/require/transport;\n" for (1..32767)' >run.sh

我假设这些服务器不位于同一个数据中心。这实际上会导致严重的效率问题,除非这些服务器之间有快速连接和/或您为 IPSEC 选择快速加密算法。

IPsec 和基于 TLS 的 VPN 性能比较

相关内容