下面是一个l2tp的vpn 是基于docker搭建的,vpn的用途我就不多说了。。。
docker的安装和docker加速器 设置省略
docker pull fcojean/l2tp-ipsec-vpn-server
cd /usr/local/src
git clone https://github.com/fcojean/l2tp-ipsec-vpn-server.git
cd l2tp-ipsec-vpn-server该目录下有vpn.env.example文件,这个是vpn账号模板文件,拷贝一份出来做配置文件
cp vpn.env.example vpn.env
vpn.env 文件里面包含l2tp的预共享密钥的设置和vpn账号的设置
PSEC_PSK=test_shared_secret_key
test_shared_secret_key 这个就是你的预共享密钥,可以根据需求改
VPN_USER_CREDENTIAL_LIST=[{"login":"userTest1","password":"test1"},{"login":"userTest2","password":"test2"}]
这段是你的vpn账号设置和密码设置,可自定义。
改完就可以build了
docker build -t fcojean/l2tp-ipsec-vpn-server .
//build注意事项,如果主机在墙外,忽略下面一行
由于主机在墙内,使用镜像是debin源在国外,粘贴下面保存为 sources.list
在Dockerfile 文件中RUN apt-get -yqq update \ 前加入 ADD sources.list /etc/apt/sources.list 即可使用163源加速
deb http://mirrors.163.com/debian/ jessie main non-free contribdeb http://mirrors.163.com/debian/ jessie-updates main non-free contribdeb http://mirrors.163.com/debian/ jessie-backports main non-free contribdeb-src http://mirrors.163.com/debian/ jessie main non-free contribdeb-src http://mirrors.163.com/debian/ jessie-updates main non-free contribdeb-src http://mirrors.163.com/debian/ jessie-backports main non-free contribdeb http://mirrors.163.com/debian-security/ jessie/updates main non-free contribdeb-src http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib
build成功后可以启动容器了
sudo modprobe af_key //这个必须执行,主要是在Docker主机上运行此命令以加载IPsec NETKEY内核模
docker run \ --name l2tp-ipsec-vpn-server \ --env-file ./vpn.env \ -p 500:500/udp \ -p 4500:4500/udp \
-p 1701:1701/udp \
-v /lib/modules:/lib/modules:ro \ -d --privileged \ fcojean/l2tp-ipsec-vpn-server
查看容器的日志,初次运行会看到env文件设置账号和密码
docker logs l2tp-ipsec-vpn-server
查看服务状态
docker exec -it l2tp-ipsec-vpn-server ipsec status
最后一步是打开服务器安全设备的端口,比如云主机安全组的 udp 500,4500,1701三个端口
IPsec/L2TP VPN 客户端设置方法
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md
IPsec/XAUTH VPN 客户端设置方法
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-xauth.md
编辑回复