首页 VPN系列1:搭建vpn服务器
文章
取消

VPN系列1:搭建vpn服务器

本文搭建参考:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md

使用 Libreswan (IPsec VPN 软件)作为 IPsec 服务器 和 xl2tpd (L2TP 服务进程)作为 L2TP 提供者。

手动安装

一键快速搭建!!!

1
2
3
4
5
apt-get update

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh

注意:https://git.io/vpnsetup其实是

https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/vpnsetup.sh

如果使用 CentOS,先yum update一下,然后将上面的地址换成 https://git.io/vpnsetup-centos。

VPN 登录凭证会被自动随机生成,并在安装完成后显示在屏幕上。

docker版本

https://github.com/hwdsl2/docker-ipsec-vpn-server/blob/master/README-zh.md

https://github.com/gaomd/docker-ikev2-vpn-server 这个链接没有看

1
2
3
docker pull hwdsl2/ipsec-vpn-server

IPsec PSK (预共享密钥) :your_ipsec_pre_shared_key

重要: 首先需要在 Docker 主机上加载 IPsec af_key 内核模块:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
sudo modprobe af_key

**docker run \**

**--name vpn   --restart=always \**

**-p 500:500/udp \
    -p 4500:4500/udp \
    ~~-v /lib/modules:/lib/modules:ro \~~
    -d --privileged \
    hwdsl2/ipsec-vpn-server**

**```**

最新的已经不需要modprobe af_key了,也不需要-v选项。

不要加it选项

**我实际运行的**

**```**

docker run --name vpn --restart=always -p 500:500/udp -p 4500:4500/udp -d --privileged hwdsl2/ipsec-vpn-server

记得打开阿里云的端口。

登录信息,可以查看容器的日志:

1
2
3
4
5
6
7
8
docker logs vpn

Server IP: 你的VPN服务器IP
IPsec PSK: 你的IPsec预共享密钥
Username: 你的VPN用户名
Password: 你的VPN密码

查看你的 IPsec VPN 服务器状态

1
2
3
docker exec -it vpn ipsec status

查看当前已建立的 VPN 连接:

1
2
3
docker exec -it vpn ipsec whack --trafficstatus

更新你的 Docker 镜像和容器

1
2
3
docker pull hwdsl2/ipsec-vpn-server

如果 Docker 镜像已经是最新的,你会看到提示:

Status: Image is up to date for hwdsl2/ipsec-vpn-server:latest

客户端配置

本文参考下面2个链接

1,配置 IPsec/L2TP VPN 客户端

2,配置 IPsec/XAuth (“Cisco IPsec”) VPN 客户端

对于1,L2TP的,Windows 7在首次连接之前需要修改一次注册表

管理员运行

然后重启电脑

最后你可以到 这里 检测你的 IP 地址

对于有外部防火墙的服务器,请为 VPN 打开 UDP 端口 500 和 4500。

以上实践成功!!!

2,IPsec/XAuth 模式也称为 “Cisco IPsec”。比 IPsec/L2TP 更高效地传输数据(较低的额外开销)

IPsec/XAuth (“Cisco IPsec”) 在 Android, iOS 和 OS X 上均受支持,无需安装额外的软件。Windows 用户可以使用免费的 Shrew Soft 客户端

这种跟方法一差不多,就是改了一下协议的类型。

已备份到https://github.com/myforkers/docker-ipsec-vpn-server

docker也备份了,elesos/vpn_server但不知道是不是能用的。如果不能用,就用上面文章里面官方的。

小结

1
2
3
docker run --name vpn --restart=always -p 500:500/udp -p 4500:4500/udp -d --privileged hwdsl2/ipsec-vpn-server

本文由作者按照 CC BY 4.0 进行授权