Strongswan:具有非特定远程主机的传输模式

Strongswan:具有非特定远程主机的传输模式

我在 Debian Jessie 上使用 strongSwan 5.2.1,在配置它以执行我想要的操作时遇到了问题。

前提

在测试环境中,我试图在 Linux 虚拟机和配置为主动模式的 FTP 服务器的 Windows 虚拟机之间使用传输模式 IPsec。将应用 IPsec仅有的FTP 流量;即 Windows VM 上往返于 TCP 端口 20 和 21 的流量。两台主机之间的所有其他流量(例如 ping)都应未加密。

在我正在执行此操作的实际场景中,FTP 服务器的 IP 地址会有所不同,因此我希望我的 strongSwan 配置不必引用特定的远程 IP。

Linux 上的 ipsec.conf 文件

内容如下:

# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
    # strictcrlpolicy=yes
    # uniqueid =  no
# Add connections here.
include /var/lib/strongswan/ipsec.conf.inc
conn main
    type=transport
    left=%any
    right=10.1.1.2
    leftauth=psk
    rightauth=psk
    ike=3des-sha1-modp1024
    esp=3des-sha1
    keyexchange=ikev1

conn data
    also=main
    rightsubnet=%dynamic[6/20]
    auto=route

conn command
    also=main
    rightsubnet=%dynamic[6/21]
    auto=route

问题

上面的 IPsec.conf 完成了我想要做的所有事情,除了文件中的 FTP 服务器的 IP 地址由该行指定right=10.1.1.2

also=route参数意味着仅当检测到10.1.1.2TCP 端口 20 或 21 上的流量时才会启动密钥交换。我想要一个启动密钥交换的配置来任何 IP 地址当检测到往返于该地址的流量时'TCP 端口 20 和 21。

在 strongSwan 中是否可以进行这样的配置?如果不可以,是否有其他 Linux 密钥守护进程可以完成我想要实现的功能?

补充笔记

  • 此设置right=%any无法实现我想要的效果。此设置允许任何远程主机启动与本地主机的密钥交换;但这并不意味着本地主机将启动与任何远程主机的密钥交换。
  • Windows 主机的 IPsec 配置设置为Any IP Address在连接的两端使用,并且按照我想要的方式成功运行。
  • 在我的配置中使用 IKEv1 是为了与旧版本兼容。

谢谢。

答案1

要使用right=%any传输模式陷阱策略(即auto=route),您至少需要strongSwan 5.3.3。请参阅ikev2/trap-any场景为例。

相关内容