今天試着用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
這里指定了容器需要的各個參數,可根據實際情況進行修改。
這里有兩點需要注意:
- 我在查閱docker hub之后,發現作者並未將client和password添加進參數列表。在經過測試后,我發現如果不加client和password兩項參數,vpn的連接會非常慢,乃至連不上。所以我建議在將/etc/ppp/chap-secrets文件映射進去的同時,也指定client和password參數(當然,如果多用戶使用,那就沒必要了)。
- 如果不將宿主機的/etc/ppp/chap-secrets文件映射到容器中的話,此vpn只能連內網,無法連外網。
后記:大晚上被蚊子吵醒的感覺真糟糕[哭哭哭],趕緊補覺,今天還要上班啊~