libreswan 是一个ipsec工具,用于创建和连接ipsec隧道
1、环境配置
OS: Debian 9
software: libreswan
官网下载:
https://download.libreswan.org/
Github仓库:
https://github.com/libreswan/libreswan/
2、安装依赖
apt-get install 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
3、编译安装
下载源码
wget https://download.libreswan.org/libreswan-4.6.tar.gz
解压后编译安装
tar xvf libreswan-4.6.tar.gz
cd libreswan-4.6
cat > Makefile.inc.local <<'EOF'
WERROR_CFLAGS=-w -s
USE_DNSSEC=false
USE_DH2=true
USE_NSS_KDF=false
FINALNSSDIR=/etc/ipsec.d
USE_DH31=false
USE_NSS_AVA_COPY=true
USE_NSS_IPSEC_PROFILE=false
USE_GLIBC_KERN_FLIP_HEADERS=true
EOF
# 编译安装
make -j4
make install
编译成deb包
apt install devscripts build-essential lintian
apt install dh-systemd htmldoc libaudit-dev libkrb5-dev libldap2-dev man2html
make deb
4、开启服务
开启系统服务
systemctl enable ipsec.service
systemctl start ipsec.service
如果不确定系统上使用的具体初始化系统,“ipsec”命令也可用于启动或停止 ipsec 服务。此命令将自动检测 init 系统并调用它:
ipsec start
ipsec stop
5、配置文件
大多数 libreswan 配置存储在/etc/ipsec.conf
和/etc/ipsec.secrets
中。Include文件可能存在于/etc/ipsec.d/
中
# 放通私网段
virtual-private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
6、NSS初始化
Libreswan 使用 NSS 存储私钥和 X.509 证书。 NSS 数据库应该已由软件包安装程序初始化。如果没有,可以使用以下方法初始化 NSS 数据库
# deb安装默认的nss数据库位置:/var/lib/ipsec/nss/
ipsec initnss
可以使用以下方法导入 PKCS#12 证书(.p12 文件):
ipsec import /path/to/your.p12