阿里雲ECS用docker安裝IPsec VPN
僅僅作為筆記,筆者記錄一下。
參考:
https://github.com/hwdsl2/docker-ipsec-vpn-server
http://blog.csdn.net/xindoo/article/details/52830609
伺服器端
首先先下載一個ipsec vpn的映象
docker pull fcojean/l2tp-ipsec-vpn-server
然後本地設定一個.env的檔案,比如這裡建立的就是vpn.env,檔案內容為
VPN_IPSEC_PSK=psk_password
VPN_USER_CREDENTIAL_LIST=[{"login":"Test1","password":"test1"},{"login":"Test2","password":"test2"}]
其中psk_password是預共享祕鑰,然後下面是兩個賬戶,Test1與Test2
然後可以啟動L2TP映象
首先掛載個核心模組
sudo modprobe af_key
然後執行映象
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
然後檢視執行是否成功,docker logs l2tp-ipsec-vpn-server,看到顯示Connect to your new VPN with these details:即可。
筆者測試是第一次執行的時候需要加--name l2tp-ipsec-vpn-server \,後面執行如下即可,由於筆者環境不需要開機自啟動,所以就沒加自啟了
docker run \
--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
如果重啟之後,docker容器是預設退出的,這裡由於沒有做--restart=always的,所以重啟之後要重新啟用container
docker start l2tp-ipsec-vpn-server
這裡的服務名是根據docker ps查看出來的,即最後一列,這裡檢視的結果就是l2tp-ipsec-vpn-server
客戶端
主要參考:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-zh.md,裡面所述的步驟
筆者測試是在屬性裡面,安全一欄選擇可選加密,然後未加密的密碼勾選上
如果撥號無法成功,那麼需要新增一個登錄檔檔案,內容如下
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent]
"AssumeUDPEncapsulationContextOnSendRule"=dword:00000002
首先用文字把上面的文字進行復制,然後將檔案修改為*.reg格式,雙擊新增即可,其他移動客戶端按照通常的配法即可,沒太多需要注意的地方。