1. 程式人生 > >阿里雲ECS用docker安裝IPsec VPN

阿里雲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格式,雙擊新增即可,其他移動客戶端按照通常的配法即可,沒太多需要注意的地方。