在Ubuntu 22.04系统上安装Libreswan的方法

本文介绍如何在Ubuntu 22.04 Linux系统上安装Libreswan的方法。Libreswan是Linux系统的Internet密钥交换(IKE)实现,它支持IKEv1和IKEv2以及与IPsec相关的其他扩展(RFC+IETF草案),包括IKEv2、X.509数字证书、NAT Traversal等。Libreswan是从Openswan 2.6.38派生而来的,它默认使用本机Linux IPsec堆栈(NETKEY/XFRM)。我们将从源代码在Ubuntu 22.04上安装Libreswan。

安装Libreswan的方法

步骤1:更新系统

确保您使用的是最新的Ubuntu安装:

sudo apt -y update && sudo apt -y upgrade

sudo reboot

系统启动后,继续执行第二步。

步骤2:安装生成依赖项

Libreswan需要几个包才能从源代码进行编译。通过运行以下命令在Ubuntu系统上安装它们:

sudo apt install curl libnss3-dev libnspr4-dev pkg-config libpam-dev \

 libcap-ng-dev libcap-ng-utils libselinux-dev \

 libcurl3-nss-dev flex bison gcc make libldns-dev \

 libunbound-dev libnss3-tools libevent-dev xmlto \

 libsystemd-dev git devscripts build-essential fakeroot libsystemd-dev

步骤3:下载Libreswan源代码

因为我们将从源代码构建Libreswan,以确保使用最新版本,地址在https://github.com/libreswan/libreswan/tags,除此之外,还可以指定安装版本,如可安装v4.8版本:

在Ubuntu 22.04系统上安装Libreswan的方法

从Github克隆项目:

SWAN_VER=4.9

swan_file="libreswan-$SWAN_VER.tar.gz"

swan_url1="https://github.com/libreswan/libreswan/archive/v$SWAN_VER.tar.gz"

swan_url2="https://download.libreswan.org/$swan_file"

if ! { wget -t 3 -T 30 -nv -O "$swan_file" "$swan_url1" || wget -t 3 -T 30 -nv -O "$swan_file" "$swan_url2"; }; then

  exit 1

fi

下载文件后,将其解压缩:

tar xzf "$swan_file" && /bin/rm -f "$swan_file"

步骤4:在Ubuntu上构建和安装Libreswan

我们现在可以在Ubuntu上构建和安装Libreswan。首先更改为libreswan目录:

cd "libreswan-$SWAN_VER" || exit 1

创建生成选项文件:

cat > Makefile.inc.local <<'EOF'

WERROR_CFLAGS =

USE_DNSSEC = false

USE_DH31 = false

USE_NSS_AVA_COPY = true

USE_NSS_IPSEC_PROFILE = false

USE_GLIBC_KERN_FLIP_HEADERS = true

EOF

最后构建Libreswan:

NPROCS=$(grep -c ^processor /proc/cpuinfo)

[ -z "$NPROCS" ] && NPROCS=1

make "-j$((NPROCS+1))" -s base && sudo make -s install-base

应输出成功的生成:

running: systemctl --system daemon-reload

running: systemd-tmpfiles --create /usr/lib/tmpfiles.d/libreswan.conf

DESTDIR=''

******** WARNING ********

The ipsec service is currently disabled. To enable this service issue:

 systemctl enable ipsec.service

********

../../OBJ.linux.x86_64/testing/enumcheck/enumcheck -> /usr/local/libexec/ipsec/enumcheck

../../OBJ.linux.x86_64/testing/ipcheck/ipcheck -> /usr/local/libexec/ipsec/ipcheck

../../OBJ.linux.x86_64/testing/fmtcheck/fmtcheck -> /usr/local/libexec/ipsec/fmtcheck

../../OBJ.linux.x86_64/testing/timecheck/timecheck -> /usr/local/libexec/ipsec/timecheck

如果安装成功。您应该能够检查版本:

$ /usr/local/sbin/ipsec --version

Libreswan 4.9

步骤5:启动并启用Libreswan ipsec服务

ipsec服务当前已禁用。要启用此服务问题:

sudo systemctl enable --now ipsec.service

验证服务状态的命令:

$ systemctl status ipsec.service

做完以上操作后,就表示已成功在Ubuntu 22.04系统上安装了Libreswan,用户可以根据自己的需要,可使用Libreswan来配置IPSEC VPN等场景。

栏目相关文章