是否有可能要求端口范围内的 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页,我看到IP范围,但没有提到端口范围。
(我们的想法是使用IPSEC作为一种VPN来保护多个服务器之间的内部通信,而不是configuration基于源IP的权限,或configuration特定的端口,我想要求任何不公开的IPSEC – 我觉得这种方式不太容易出错。)
是的,虽然你确实可以指定一个IP范围,但是没有办法指定一个端口范围。 这意味着你需要为每个端口input一个规则,或者更简单地你可以使用一个脚本,例如:
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
我假设这些服务器不在同一个数据中心。 这实际上可能会导致严重的效率问题,除非这些服务器之间存在快速连接,并且/或者您为IPSECselect了一种快速encryptionalgorithm。
基于IPsec和TLS的VPN的性能比较