IPSec:是否可以检查数据包是否通过 IPSec 隧道传输?

IPSec:是否可以检查数据包是否通过 IPSec 隧道传输?

在我们的部署中,我们有两台服务器。我想通过主机到主机 VPN 连接它:使用 Openswan 的主机到主机 VPN

在一台服务器上我们有 JMS 代理,在另一台服务器上我们有 JMS 客户端,并且我希望仅当通过 IPSec 通道传递时才允许访问 JMS 代理(JMS 代理和客户端仅用于示例)。

是否可以检查数据包是否通过 IPSec 通道传输?

答案1

您可以根据特定字段 ipsec 过滤数据包。例如,您可以使用 iptables 提供的不同模块以及 -m 选项或 --match:

  • 政策
  • 尤其是
  • IP 源和目标隧道

http://linux.die.net/man/8/iptables请参阅匹配扩展

政策

该模块与 IPsec 处理数据包所使用的策略匹配。

--目录输入|输出

用于选择是否匹配用于解封装的策略或者将用于封装的策略。in 在PREROUTING、INPUT 和FORWARD 链中有效,out 在POSTROUTING、OUTPUT 和FORWARD 链中有效。

--pol 无|ipsec

如果数据包需要经过 IPsec 处理则匹配。

- 严格的

选择是否匹配精确策略,或者如果策略的任何规则与给定策略匹配则进行匹配。

--reqid 标识

匹配策略规则的 reqid。可以使用 setkey(8) 以 unique:id 作为级别来指定 reqid。

--spi spi

匹配SA的SPI。

--proto ah|esp|ipcomp

匹配封装协议。

--模式隧道|传输

匹配封装模式。

–隧道源地址[/掩码]

匹配隧道模式 SA 的源端点地址。仅与 --mode tunnel 一起使用时有效。

–隧道目标地址[/掩码]

匹配隧道模式 SA 的目标端点地址。仅与 --mode tunnel 一起使用时有效。

- 下一个

开始策略规范中的下一个元素。只能与 --strict 一起使用

相关内容