今天试着用docker搭了一下pptpd服务器,感觉清爽不少(当然是踩坑之后的啦),特此记录。
 

使用的镜像

mmontagna/docker-vpn-pptp

 

由于是现成的镜像,所以我们只需要对其进行配置即可。

这里,由于我使用的是pptpd服务器,所以需要编辑/etc/ppp/chap-secrets文件(如果没有,创建之)。

 

添加如下内容:

# Secrets for authentication using PAP
# client    server      secret      acceptable local IP addresses
username    *      password    *

PS: username 和 password依据实际情况添加,这就是你登陆vpn时的账密。

PS++:server那里也可以填写pptpd,反正保证连接时,使用pptpd服务就好。如下:

# Secrets for authentication using PAP
# client    server      secret      acceptable local IP addresses
username    pptpd      password    *

 

然后,运行下列代码:

docker run -ti --name my_vpn \
           --net=host --privileged \
           -p 1723:1723 \
           -e client=用户名 \
           -e server=* \
           -e password=用户密码 \
           -e acceptable_local_ip_addresses=* \
           -v /etc/ppp/chap-secrets:/etc/ppp/chap-secrets \
           mmontagna/docker-vpn-pptp

这里指定了容器需要的各个参数,可根据实际情况进行修改。

这里有两点需要注意:

  1. 我在查阅docker hub之后,发现作者并未将client和password添加进参数列表。在经过测试后,我发现如果不加client和password两项参数,vpn的连接会非常慢,乃至连不上。所以我建议在将/etc/ppp/chap-secrets文件映射进去的同时,也指定client和password参数(当然,如果多用户使用,那就没必要了)。
  2. 如果不将宿主机的/etc/ppp/chap-secrets文件映射到容器中的话,此vpn只能连内网,无法连外网。

 

后记:大晚上被蚊子吵醒的感觉真糟糕[哭哭哭],赶紧补觉,今天还要上班啊~

posted on 2019-09-27 05:59  eryoung2  阅读(4428)  评论(0编辑  收藏  举报