问题描述
搭建 L2TP/IPSec 的 VPN 服务时,在网上找了很多的教程都不是很好用,或多或少都存在问题,后来通过自动化脚本 vpnsetup.sh 完成了配置。
而这篇文章是通过分析 vpnsetup.sh 脚本后整理出来的,作为一个通用的配置教程(因为该脚本只支持 Ubuntu 和 Debian 的某些版本)。
解决方案
# 05/10/2022 该笔记创建于很久很久之前(2016?2017?2018?),当初是能够成功运行的,但是现在看来,这篇文章并没有太大价值。
补充说明
注意,不支持 OpenVZ 容器。不知道为什么,我们并未深入研究。
系统环境
Debian GNU/Linux 8.2 (jessie)
xl2tpd ppp
安装依赖的软件包
apt-get -yq install wget dnsutils openssl iptables iproute2 gawk grep sed net-tools
apt-get -yq install libnss3-dev libnspr4-dev pkg-config \
libpam0g-dev libcap-ng-dev libcap-ng-utils libselinux1-dev \
libcurl4-nss-dev flex bison gcc make libnss3-tools \
libevent-dev ppp xl2tpd
安装Libreswan服务
# Create and change to working dir
mkdir -p /opt/src && cd /opt/src
SWAN_VER=3.22
swan_file=”libreswan-$SWAN_VER.tar.gz”
swan_url1=”https://github.com/libreswan/libreswan/archive/v$SWAN_VER.tar.gz”
wget -t 3 -T 30 -nv -O “$swan_file” “$swan_url1”
/bin/rm -rf “/opt/src/libreswan-$SWAN_VER”
tar xzf “$swan_file” && /bin/rm -f “$swan_file”
cd “libreswan-$SWAN_VER”
[ “$SWAN_VER” = “3.22” ] && sed -i ‘/^#define LSWBUF_CANARY/s/-2$/((char) -2)/’ include/lswlog.h
sed -i ‘/docker-targets\.mk/d'[……]