StrongSwan 在启动时构建并运行

Chr*_*ian 3 strongswan

我被要求为一个项目部署一个 IPSEC 服务器,经过一些研究,StrongSwan 看起来是一个不错的候选人。由于这个项目需要最高的安全性,我决定安装最新版本的 StrongSwan (5.6.2),因为它似乎解决了一些安全问题等等。

所以过去几天我一直在研究如何配置它,我已经能够使用它/etc/ipsec.conf,但是,在阅读 StrongSwan 的网站时,它现在是一种传统的设置方式。

推荐的配置 strongSwan 的方式是通过强大的 vici 界面和 swanctl 命令行工具。swanctl 使用的 swanctl.conf 配置文件与证书和对应的私钥一起存放在 swanctl 目录中。全局 strongSwan 设置以及特定于插件的配置在 strongswan.conf 中定义。

或者,可以使用传统的 ipsec 笔画接口及其 ipsec.conf 和 ipsec.secrets 配置文件。

所以现在我正在尝试更改配置以使用存储在其中的文件/etc/swanctl/conf.d......

所以我的问题是:

有谁知道如何从源代码构建 StrongSwan 并让它从服务器(Ubuntu 16.04)开始并使用新的配置方法?

我的配置行看起来像这样

./configure --prefix=/usr --sysconfdir=/etc \
  --enable-systemd --enable-swanctl \
  --disable-charon --disable-stroke --disable-scepclient \
  --enable-gcm --enable-eap-tls
Run Code Online (Sandbox Code Playgroud)

但这仍然不是从服务器开始,我也找不到任何strongswanstrongswan-swanctl用于启动。

我的电流ipsec.conf看起来像这样

conn %default
 auto=add
 forceencaps=yes
 keyexchange=ikev2
 keyingtries=1
 ike=aes256-sha256-modp2048!
 esp=aes256-sha256,aes128-sha256!
 dpdaction=clear
 inactivity=120s
 leftsendcert=always
 leftcert=vpn-server-cert.pem
 leftsubnet=10.0.0.0/20
 leftid=@vpnserver
 rightsourceip=172.16.0.0/12
 eap_identity=%identity

conn ikev2-cert
 rightauth=eap-tls
Run Code Online (Sandbox Code Playgroud)

“我认为”翻译成这个

connections {
   rw {
      version = 2
      send_certreq = yes
      proposals = aes256-sha256-modp2048!
      encap = yes
      dpd_delay = 30s
      local {
         auth = eap-tls 
         certs = vpn-server-cert.pem
         id = vpnserver
      }
      remote {
         auth = eap-tls 
      }
      children {
         net {
            local_ts  = 172.16.0.0/12 
            esp_proposals = aes256-sha256,aes128-sha256!
            inactivity = 120s
         }
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

我只是想在上面的“ecdsa”anwser 之上添加一些内容。

对于刚刚使用 ubuntu 软件包而不是使用 ./configure ... build 安装strongswan 的人。

如果找不到“strongswan-swanctl”服务或者无法安装,则ubuntu中的包名称为“charon-systemd”。

因此要安装该包:

sudo apt-get install charon-systemd
Run Code Online (Sandbox Code Playgroud)

并启用该服务:

systemctl enable strongswan-swanctl
Run Code Online (Sandbox Code Playgroud)


ecd*_*dsa 5

如果您配置--enable-systemdcharon-systemd守护进程将建成并命名为systemd服务单位strongswan将被安装。您可以使用systemctl. 因此,要在系统引导时启动它,请使用以下命令启用该单元:

sudo systemctl enable strongswan.service
Run Code Online (Sandbox Code Playgroud)

注意: systemd 服务单元strongswan-swanctl5.8.0之前被调用。)

此外,更准确的配置翻译如下:

connections {
   rw {
      version = 2
      send_cert = always
      proposals = aes256-sha256-modp2048
      encap = yes
      pools = rw
      # dpd_delay = 30s you didn't specify this in your ipsec.conf and it seems rather short for roadwarriors
      local {
         certs = vpn-server-cert.pem
         id = vpnserver
      }
      remote {
         auth = eap-tls 
         eap_id = %any
      }
      children {
         net {
            local_ts  = 10.0.0.0/20
            esp_proposals = aes256-sha256,aes128-sha256
            inactivity = 120s
         }
      }
   }
}

pools {
   rw {
     addrs = 172.16.0.0/12 
   }
}
Run Code Online (Sandbox Code Playgroud)