L2TP/IPsec VPN Server 搭建过程

/ Linux / 没有评论 / 6210浏览

L2TP/IPsec VPN Server 搭建过程

一、在Hyper-V中最小安装CentOS7

  1. 更新软件包
yum update -y
  1. 安装依赖的软件
yum install -y  wget curl

二、安装Docker

1. 使用清华大学Docker-Ce的yum软件库

[Docker Community Edition 镜像使用帮助]

以下从链接摘抄的内容:

如果你之前安装过 docker,请先删掉

sudo yum remove docker docker-common docker-selinux docker-engine

安装一些依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

下载centos的repo文件

wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

把软件仓库地址替换为 TUNA:

sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

最后安装:

sudo yum makecache fast
sudo yum install -y docker-ce

2. 使用DaoCloud对Docker镜像进行加速

  1. 注册DaoCloud.io账号
  2. 登录DaoCloud.io
  3. 登陆后,点击右上角小火箭;或者直接访问DaoCloud加速器页面
  4. 使用下面的命令配置/etc/docker/daemon.json (注意,如果daemon.json为新建,那么下面的命令将在Json数组中产生一个多余的逗号,需要vi /etc/docker/daemon.json进行修改)
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

也可以手动将http://f1361db2.m.daocloud.io注入到 /etc/docker/daemon.json 中

3. 启动Docker

启动Docker

systemctl start docker

设置开机启动

systemctl enable docker

三、安装并启动 L2TP/IPSec VPN Server

1. 获取Docker镜像

直接下载 fcojean/l2tp-ipsec-vpn-server 镜像【推荐】:

docker pull fcojean/l2tp-ipsec-vpn-server

或者

通过Git源代码构建Docker镜像:

git clone https://github.com/fcojean/l2tp-ipsec-vpn-server.git
cd l2tp-ipsec-vpn-server
docker build -t fcojean/l2tp-ipsec-vpn-server .

2. 编辑env环境变量文件

参照 https://github.com/fcojean/l2tp-ipsec-vpn-server.git 仓库中的 vpn.env.example 进行配置

3. 启动 IPsec VPN 服务器

非常重要 ! 首先,在Docker主机上运行以下命令以加载 IPsec NETKEY 内核模块:

sudo modprobe af_key

使用以下命令启动新的Docker容器(将./vpn.env替换为您自己的env文件):

docker run \
    --name l2tp-ipsec-vpn-server \
    --env-file ./vpn.env \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -v /lib/modules:/lib/modules:ro \
    -d --privileged \
    fcojean/l2tp-ipsec-vpn-server

4. 检查 VPN登录详细信息

如果未通过env文件设置环境变量,则VPN用户登录名将默认为vpnuser,并且将随机生成VPN_IPSEC_PSK和VPN用户密码。 要检索它们,请显示正在运行的容器的日志:

docker logs l2tp-ipsec-vpn-server

在输出中搜索以下行:

Connect to your new VPN with these details:

Server IP: <VPN Server IP>
IPsec PSK: <IPsec pre-shared key>
Users credentials :
Login : <vpn user_login_1> Password : <vpn user_password_1>
...
Login : <vpn user_login_N> Password : <vpn user_password_N>

VPN客户端的使用

参考: