{"id":3025,"date":"2019-04-02T19:38:44","date_gmt":"2019-04-02T11:38:44","guid":{"rendered":"https:\/\/damogame.cn:15443\/wordpress\/?p=3025"},"modified":"2019-04-02T23:44:21","modified_gmt":"2019-04-02T15:44:21","slug":"docker-%e4%b8%8a%e7%9a%84-ipsec-vpn-%e6%9c%8d%e5%8a%a1%e5%99%a8-2","status":"publish","type":"post","link":"https:\/\/i007.cc\/wordpress\/archives\/3025","title":{"rendered":"Docker \u4e0a\u7684 IPsec VPN \u670d\u52a1\u5668\uff08\u6b63\u5728\u4f7f\u7528\uff09"},"content":{"rendered":"<p><a href=\"https:\/\/travis-ci.org\/hwdsl2\/docker-ipsec-vpn-server\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/camo.githubusercontent.com\/9c5b7d81621d74d07b71ee3855e435262ee48efd\/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f687764736c322f646f636b65722d69707365632d76706e2d7365727665722e7376673f6d61784167653d31323030\" alt=\"Build Status\" data-canonical-src=\"https:\/\/img.shields.io\/travis\/hwdsl2\/docker-ipsec-vpn-server.svg?maxAge=1200\" \/><\/a>\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/stargazers\"><img decoding=\"async\" src=\"https:\/\/camo.githubusercontent.com\/f578c973a7807949632fb6a79f050b3c4dca93ae\/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f687764736c322f646f636b65722d69707365632d76706e2d7365727665722e7376673f6d61784167653d3836343030\" alt=\"GitHub Stars\" data-canonical-src=\"https:\/\/img.shields.io\/github\/stars\/hwdsl2\/docker-ipsec-vpn-server.svg?maxAge=86400\" \/><\/a>\u00a0<a href=\"https:\/\/hub.docker.com\/r\/hwdsl2\/ipsec-vpn-server\/\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/camo.githubusercontent.com\/497abc8cc91f516a22f5c0829578e731fc8b6837\/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f73746172732f687764736c322f69707365632d76706e2d7365727665722e7376673f6d61784167653d3836343030\" alt=\"Docker Stars\" data-canonical-src=\"https:\/\/img.shields.io\/docker\/stars\/hwdsl2\/ipsec-vpn-server.svg?maxAge=86400\" \/><\/a>\u00a0<a href=\"https:\/\/hub.docker.com\/r\/hwdsl2\/ipsec-vpn-server\/\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/camo.githubusercontent.com\/9bd6ec3ad00cd12a705747169f1597f118376b24\/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f687764736c322f69707365632d76706e2d7365727665722e7376673f6d61784167653d3836343030\" alt=\"Docker Pulls\" data-canonical-src=\"https:\/\/img.shields.io\/docker\/pulls\/hwdsl2\/ipsec-vpn-server.svg?maxAge=86400\" \/><\/a><\/p>\n<p>\u4f7f\u7528\u8fd9\u4e2a Docker \u955c\u50cf\u5feb\u901f\u642d\u5efa IPsec VPN \u670d\u52a1\u5668\u3002\u652f\u6301\u00a0<code>IPsec\/L2TP<\/code>\u00a0\u548c\u00a0<code>Cisco IPsec<\/code>\u00a0\u534f\u8bae\u3002<\/p>\n<p>\u672c\u955c\u50cf\u4ee5 Debian 9 (Stretch) \u4e3a\u57fa\u7840\uff0c\u5e76\u4f7f\u7528\u00a0<a href=\"https:\/\/libreswan.org\/\" rel=\"nofollow\">Libreswan<\/a>\u00a0(IPsec VPN \u8f6f\u4ef6) \u548c\u00a0<a href=\"https:\/\/github.com\/xelerance\/xl2tpd\">xl2tpd<\/a>\u00a0(L2TP \u670d\u52a1\u8fdb\u7a0b)\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/hwdsl2\/setup-ipsec-vpn\/blob\/master\/README-zh.md\"><strong>\u00bb \u53e6\u89c1\uff1a IPsec VPN \u670d\u52a1\u5668\u4e00\u952e\u5b89\u88c5\u811a\u672c<\/strong><\/a><\/p>\n<p><em>\u5176\u4ed6\u8bed\u8a00\u7248\u672c:\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README.md\">English<\/a>,\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md\">\u7b80\u4f53\u4e2d\u6587<\/a>.<\/em><\/p>\n<h4><a id=\"user-content-\u76ee\u5f55\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E7%9B%AE%E5%BD%95\" aria-hidden=\"true\"><\/a>\u76ee\u5f55<\/h4>\n<ul>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%AE%89%E8%A3%85-docker\">\u5b89\u88c5 Docker<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%B8%8B%E8%BD%BD\">\u4e0b\u8f7d<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E6%9C%AC%E9%95%9C%E5%83%8F\">\u5982\u4f55\u4f7f\u7528\u672c\u955c\u50cf<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%B8%8B%E4%B8%80%E6%AD%A5\">\u4e0b\u4e00\u6b65<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E9%87%8D%E8%A6%81%E6%8F%90%E7%A4%BA\">\u91cd\u8981\u63d0\u793a<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E6%9B%B4%E6%96%B0-docker-%E9%95%9C%E5%83%8F\">\u66f4\u65b0 Docker \u955c\u50cf<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95\">\u9ad8\u7ea7\u7528\u6cd5<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E6%8A%80%E6%9C%AF%E7%BB%86%E8%8A%82\">\u6280\u672f\u7ec6\u8282<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%8F%A6%E8%A7%81\">\u53e6\u89c1<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E6%8E%88%E6%9D%83%E5%8D%8F%E8%AE%AE\">\u6388\u6743\u534f\u8bae<\/a><\/li>\n<\/ul>\n<h2><a id=\"user-content-\u5b89\u88c5-docker\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%AE%89%E8%A3%85-docker\" aria-hidden=\"true\"><\/a>\u5b89\u88c5 Docker<\/h2>\n<p>\u9996\u5148\uff0c\u5728\u4f60\u7684 Linux \u670d\u52a1\u5668\u4e0a\u00a0<a href=\"https:\/\/docs.docker.com\/install\/\" rel=\"nofollow\">\u5b89\u88c5\u5e76\u8fd0\u884c Docker<\/a>\u3002<\/p>\n<p><strong>\u6ce8\uff1a<\/strong>\u00a0\u672c\u955c\u50cf\u4e0d\u652f\u6301 Docker for Mac \u6216\u8005 Windows\u3002<\/p>\n<h2><a id=\"user-content-\u4e0b\u8f7d\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%B8%8B%E8%BD%BD\" aria-hidden=\"true\"><\/a>\u4e0b\u8f7d<\/h2>\n<p>\u9884\u6784\u5efa\u7684\u53ef\u4fe1\u4efb\u955c\u50cf\u53ef\u5728\u00a0<a href=\"https:\/\/hub.docker.com\/r\/hwdsl2\/ipsec-vpn-server\/\" rel=\"nofollow\">Docker Hub registry<\/a>\u00a0\u4e0b\u8f7d\uff1a<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker pull hwdsl2\/ipsec-vpn-server<\/pre>\n<p>\u6216\u8005\uff0c\u4f60\u4e5f\u53ef\u4ee5\u81ea\u5df1\u4ece GitHub\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E6%9E%84%E5%BB%BA\">\u7f16\u8bd1\u6e90\u4ee3\u7801<\/a>\u3002Raspberry Pi \u7528\u6237\u8bf7\u770b\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%9C%A8-raspberry-pi-%E4%B8%8A%E4%BD%BF%E7%94%A8\">\u8fd9\u91cc<\/a>\u3002<\/p>\n<h2><a id=\"user-content-\u5982\u4f55\u4f7f\u7528\u672c\u955c\u50cf\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E6%9C%AC%E9%95%9C%E5%83%8F\" aria-hidden=\"true\"><\/a>\u5982\u4f55\u4f7f\u7528\u672c\u955c\u50cf<\/h2>\n<h3><a id=\"user-content-\u73af\u5883\u53d8\u91cf\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F\" aria-hidden=\"true\"><\/a>\u73af\u5883\u53d8\u91cf<\/h3>\n<p>\u8fd9\u4e2a Docker \u955c\u50cf\u4f7f\u7528\u4ee5\u4e0b\u51e0\u4e2a\u53d8\u91cf\uff0c\u53ef\u4ee5\u5728\u4e00\u4e2a\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\u4e2d\u5b9a\u4e49 \uff08<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/vpn.env.example\">\u793a\u4f8b<\/a>\uff09\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">VPN_IPSEC_PSK=your_ipsec_pre_shared_key\r\nVPN_USER=your_vpn_username\r\nVPN_PASSWORD=your_vpn_password<\/pre>\n<p>\u8fd9\u5c06\u521b\u5efa\u4e00\u4e2a\u7528\u4e8e VPN \u767b\u5f55\u7684\u7528\u6237\u8d26\u6237\uff0c\u5b83\u53ef\u4ee5\u5728\u4f60\u7684\u591a\u4e2a\u8bbe\u5907\u4e0a\u4f7f\u7528<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E9%87%8D%E8%A6%81%E6%8F%90%E7%A4%BA\">*<\/a>\u3002 IPsec PSK (\u9884\u5171\u4eab\u5bc6\u94a5) \u7531\u00a0<code>VPN_IPSEC_PSK<\/code>\u00a0\u73af\u5883\u53d8\u91cf\u6307\u5b9a\u3002 VPN \u7528\u6237\u540d\u548c\u5bc6\u7801\u5206\u522b\u5728\u00a0<code>VPN_USER<\/code>\u00a0\u548c\u00a0<code>VPN_PASSWORD<\/code>\u00a0\u4e2d\u5b9a\u4e49\u3002<\/p>\n<p>\u652f\u6301\u521b\u5efa\u989d\u5916\u7684 VPN \u7528\u6237\uff0c\u5982\u679c\u9700\u8981\uff0c\u53ef\u4ee5\u50cf\u4e0b\u9762\u8fd9\u6837\u5728\u4f60\u7684\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\u4e2d\u5b9a\u4e49\u3002\u7528\u6237\u540d\u548c\u5bc6\u7801\u5fc5\u987b\u5206\u522b\u4f7f\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u9694\uff0c\u5e76\u4e14\u7528\u6237\u540d\u4e0d\u80fd\u6709\u91cd\u590d\u3002\u6240\u6709\u7684 VPN \u7528\u6237\u5c06\u5171\u4eab\u540c\u4e00\u4e2a IPsec PSK\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">VPN_ADDL_USERS=additional_username_1 additional_username_2\r\nVPN_ADDL_PASSWORDS=additional_password_1 additional_password_2<\/pre>\n<p><strong>\u6ce8\uff1a<\/strong>\u00a0\u5728\u4f60\u7684\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\u4e2d\uff0c<strong>\u4e0d\u8981<\/strong>\u4e3a\u53d8\u91cf\u503c\u6dfb\u52a0\u00a0<code>\"\"<\/code>\u00a0\u6216\u8005\u00a0<code>''<\/code>\uff0c\u6216\u5728\u00a0<code>=<\/code>\u00a0\u4e24\u8fb9\u6dfb\u52a0\u7a7a\u683c\u3002<strong>\u4e0d\u8981<\/strong>\u5728\u503c\u4e2d\u4f7f\u7528\u8fd9\u4e9b\u5b57\u7b26\uff1a\u00a0<code>\\ \" '<\/code>\u3002\u4e00\u4e2a\u5b89\u5168\u7684 IPsec PSK \u5e94\u8be5\u81f3\u5c11\u5305\u542b 20 \u4e2a\u968f\u673a\u5b57\u7b26\u3002<\/p>\n<p>\u6240\u6709\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u5bf9\u4e8e\u672c\u955c\u50cf\u90fd\u662f\u53ef\u9009\u7684\uff0c\u4e5f\u5c31\u662f\u8bf4\u65e0\u9700\u5b9a\u4e49\u5b83\u4eec\u5c31\u53ef\u4ee5\u642d\u5efa IPsec VPN \u670d\u52a1\u5668\u3002\u8be6\u60c5\u8bf7\u53c2\u89c1\u4ee5\u4e0b\u90e8\u5206\u3002<\/p>\n<h3><a id=\"user-content-\u8fd0\u884c-ipsec-vpn-\u670d\u52a1\u5668\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E8%BF%90%E8%A1%8C-ipsec-vpn-%E6%9C%8D%E5%8A%A1%E5%99%A8\" aria-hidden=\"true\"><\/a>\u8fd0\u884c IPsec VPN \u670d\u52a1\u5668<\/h3>\n<p><strong>\u91cd\u8981\uff1a<\/strong>\u00a0\u9996\u5148\uff0c\u5728 Docker \u4e3b\u673a\u4e0a\u52a0\u8f7d IPsec\u00a0<code>af_key<\/code>\u00a0\u5185\u6838\u6a21\u5757\u3002\u8be5\u6b65\u9aa4\u5728 Ubuntu \u548c Debian \u4e0a\u4e3a\u53ef\u9009\u6b65\u9aa4\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">sudo modprobe af_key<code>\r\n<\/code><\/pre>\n<p>\u4e3a\u4fdd\u8bc1\u8fd9\u4e2a\u5185\u6838\u6a21\u5757\u5728\u670d\u52a1\u5668\u542f\u52a8\u65f6\u52a0\u8f7d\uff0c\u8bf7\u53c2\u89c1\u4ee5\u4e0b\u94fe\u63a5\uff1a\u00a0<a href=\"https:\/\/help.ubuntu.com\/community\/Loadable_Modules\" rel=\"nofollow\">Ubuntu\/Debian<\/a>,\u00a0<a href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/6\/html\/deployment_guide\/sec-persistent_module_loading\" rel=\"nofollow\">CentOS 6<\/a>,\u00a0<a href=\"https:\/\/access.redhat.com\/documentation\/en-US\/Red_Hat_Enterprise_Linux\/7\/html\/Kernel_Administration_Guide\/sec-Persistent_Module_Loading.html\" rel=\"nofollow\">CentOS 7<\/a>,\u00a0<a href=\"https:\/\/docs.fedoraproject.org\/en-US\/fedora\/f28\/system-administrators-guide\/kernel-module-driver-configuration\/Working_with_Kernel_Modules\/index.html#sec-Persistent_Module_Loading\" rel=\"nofollow\">Fedora<\/a>\u00a0\u548c\u00a0<a href=\"https:\/\/coreos.com\/os\/docs\/latest\/other-settings.html\" rel=\"nofollow\">CoreOS<\/a>\u3002<\/p>\n<p>\u4f7f\u7528\u672c\u955c\u50cf\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 Docker \u5bb9\u5668 \uff08\u5c06\u00a0<code>.\/vpn.env<\/code>\u00a0\u66ff\u6362\u4e3a\u4f60\u81ea\u5df1\u7684\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\uff09\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker run \\\r\n    --name ipsec-vpn-server \\\r\n    --env-file .\/vpn.env \\\r\n    --restart=always \\\r\n    -p 500:500\/udp \\\r\n    -p 4500:4500\/udp \\\r\n    -v \/lib\/modules:\/lib\/modules:ro \\\r\n    -d --privileged \\\r\n    hwdsl2\/ipsec-vpn-server<\/pre>\n<h3><a id=\"user-content-\u83b7\u53d6-vpn-\u767b\u5f55\u4fe1\u606f\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E8%8E%B7%E5%8F%96-vpn-%E7%99%BB%E5%BD%95%E4%BF%A1%E6%81%AF\" aria-hidden=\"true\"><\/a>\u83b7\u53d6 VPN \u767b\u5f55\u4fe1\u606f<\/h3>\n<p>\u5982\u679c\u4f60\u5728\u4e0a\u8ff0\u00a0<code>docker run<\/code>\u00a0\u547d\u4ee4\u4e2d\u6ca1\u6709\u6307\u5b9a\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\uff0c<code>VPN_USER<\/code>\u00a0\u4f1a\u9ed8\u8ba4\u4e3a\u00a0<code>vpnuser<\/code>\uff0c\u5e76\u4e14\u00a0<code>VPN_IPSEC_PSK<\/code>\u00a0\u548c\u00a0<code>VPN_PASSWORD<\/code>\u00a0\u4f1a\u88ab\u81ea\u52a8\u968f\u673a\u751f\u6210\u3002\u8981\u83b7\u53d6\u8fd9\u4e9b\u767b\u5f55\u4fe1\u606f\uff0c\u53ef\u4ee5\u67e5\u770b\u5bb9\u5668\u7684\u65e5\u5fd7\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker logs ipsec-vpn-server<\/pre>\n<p>\u5728\u547d\u4ee4\u8f93\u51fa\u4e2d\u67e5\u627e\u8fd9\u4e9b\u884c\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Connect to your new VPN with these details:\r\n\r\nServer IP: \u4f60\u7684VPN\u670d\u52a1\u5668IP\r\nIPsec PSK: \u4f60\u7684IPsec\u9884\u5171\u4eab\u5bc6\u94a5\r\nUsername: \u4f60\u7684VPN\u7528\u6237\u540d\r\nPassword: \u4f60\u7684VPN\u5bc6\u7801<\/pre>\n<p>\uff08\u53ef\u9009\u6b65\u9aa4\uff09\u5907\u4efd\u81ea\u52a8\u751f\u6210\u7684 VPN \u767b\u5f55\u4fe1\u606f\uff08\u5982\u679c\u6709\uff09\u5230\u5f53\u524d\u76ee\u5f55\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker cp ipsec-vpn-server:\/opt\/src\/vpn-gen.env .\/<\/pre>\n<h3><a id=\"user-content-\u67e5\u770b\u670d\u52a1\u5668\u72b6\u6001\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E6%9F%A5%E7%9C%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8A%B6%E6%80%81\" aria-hidden=\"true\"><\/a>\u67e5\u770b\u670d\u52a1\u5668\u72b6\u6001<\/h3>\n<p>\u5982\u9700\u67e5\u770b\u4f60\u7684 IPsec VPN \u670d\u52a1\u5668\u72b6\u6001\uff0c\u53ef\u4ee5\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c\u00a0<code>ipsec status<\/code>\u00a0\u547d\u4ee4\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker exec -it ipsec-vpn-server ipsec status<\/pre>\n<p>\u6216\u8005\u67e5\u770b\u5f53\u524d\u5df2\u5efa\u7acb\u7684 VPN \u8fde\u63a5\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker exec -it ipsec-vpn-server ipsec whack --trafficstatus<\/pre>\n<h2><a id=\"user-content-\u4e0b\u4e00\u6b65\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%B8%8B%E4%B8%80%E6%AD%A5\" aria-hidden=\"true\"><\/a>\u4e0b\u4e00\u6b65<\/h2>\n<p>\u914d\u7f6e\u4f60\u7684\u8ba1\u7b97\u673a\u6216\u5176\u5b83\u8bbe\u5907\u4f7f\u7528 VPN \u3002\u8bf7\u53c2\u89c1\uff1a<\/p>\n<p><strong><a href=\"https:\/\/github.com\/hwdsl2\/setup-ipsec-vpn\/blob\/master\/docs\/clients-zh.md\">\u914d\u7f6e IPsec\/L2TP VPN \u5ba2\u6237\u7aef<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/github.com\/hwdsl2\/setup-ipsec-vpn\/blob\/master\/docs\/clients-xauth-zh.md\">\u914d\u7f6e IPsec\/XAuth (&#8220;Cisco IPsec&#8221;) VPN \u5ba2\u6237\u7aef<\/a><\/strong><\/p>\n<p>\u5982\u679c\u5728\u8fde\u63a5\u8fc7\u7a0b\u4e2d\u9047\u5230\u9519\u8bef\uff0c\u8bf7\u53c2\u89c1\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/setup-ipsec-vpn\/blob\/master\/docs\/clients-zh.md#%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4\">\u6545\u969c\u6392\u9664<\/a>\u3002<\/p>\n<p>\u5f00\u59cb\u4f7f\u7528\u81ea\u5df1\u7684\u4e13\u5c5e VPN !<\/p>\n<h2><a id=\"user-content-\u91cd\u8981\u63d0\u793a\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E9%87%8D%E8%A6%81%E6%8F%90%E7%A4%BA\" aria-hidden=\"true\"><\/a>\u91cd\u8981\u63d0\u793a<\/h2>\n<p><em>\u5176\u4ed6\u8bed\u8a00\u7248\u672c:\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README.md#important-notes\">English<\/a>,\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E9%87%8D%E8%A6%81%E6%8F%90%E7%A4%BA\">\u7b80\u4f53\u4e2d\u6587<\/a>.<\/em><\/p>\n<p><strong>Windows \u7528\u6237<\/strong>\u00a0\u5728\u9996\u6b21\u8fde\u63a5\u4e4b\u524d\u9700\u8981<a href=\"https:\/\/github.com\/hwdsl2\/setup-ipsec-vpn\/blob\/master\/docs\/clients-zh.md#windows-%E9%94%99%E8%AF%AF-809\">\u4fee\u6539\u6ce8\u518c\u8868<\/a>\uff0c\u4ee5\u89e3\u51b3 VPN \u670d\u52a1\u5668 \u548c\/\u6216 \u5ba2\u6237\u7aef\u4e0e NAT\uff08\u6bd4\u5982\u5bb6\u7528\u8def\u7531\u5668\uff09\u7684\u517c\u5bb9\u95ee\u9898\u3002<\/p>\n<p>\u540c\u4e00\u4e2a VPN \u8d26\u6237\u53ef\u4ee5\u5728\u4f60\u7684\u591a\u4e2a\u8bbe\u5907\u4e0a\u4f7f\u7528\u3002\u4f46\u662f\u7531\u4e8e IPsec\/L2TP \u7684\u5c40\u9650\u6027\uff0c\u5982\u679c\u9700\u8981\u540c\u65f6\u8fde\u63a5\u5728\u540c\u4e00\u4e2a NAT \uff08\u6bd4\u5982\u5bb6\u7528\u8def\u7531\u5668\uff09\u540e\u9762\u7684\u591a\u4e2a\u8bbe\u5907\u5230 VPN \u670d\u52a1\u5668\uff0c\u4f60\u5fc5\u987b\u4ec5\u4f7f\u7528\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/setup-ipsec-vpn\/blob\/master\/docs\/clients-xauth-zh.md\">IPsec\/XAuth \u6a21\u5f0f<\/a>\u3002<\/p>\n<p>\u5bf9\u4e8e\u6709\u5916\u90e8\u9632\u706b\u5899\u7684\u670d\u52a1\u5668\uff08\u6bd4\u5982\u00a0<a href=\"https:\/\/docs.aws.amazon.com\/AWSEC2\/latest\/UserGuide\/using-network-security.html\" rel=\"nofollow\">EC2<\/a>\/<a href=\"https:\/\/cloud.google.com\/vpc\/docs\/firewalls\" rel=\"nofollow\">GCE<\/a>\uff09\uff0c\u8bf7\u4e3a VPN \u6253\u5f00 UDP \u7aef\u53e3 500 \u548c 4500\u3002\u963f\u91cc\u4e91\u7528\u6237\u8bf7\u53c2\u89c1\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/setup-ipsec-vpn\/issues\/433\">#433<\/a>\u3002<\/p>\n<p>\u5982\u679c\u9700\u8981\u7f16\u8f91 VPN \u914d\u7f6e\u6587\u4ef6\uff0c\u4f60\u5fc5\u987b\u9996\u5148\u5728\u6b63\u5728\u8fd0\u884c\u7684 Docker \u5bb9\u5668\u4e2d\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%9C%A8%E5%AE%B9%E5%99%A8%E4%B8%AD%E8%BF%90%E8%A1%8C-bash-shell\">\u5f00\u59cb\u4e00\u4e2a Bash \u4f1a\u8bdd<\/a>\u3002<\/p>\n<p>\u5982\u9700\u6dfb\u52a0\uff0c\u4fee\u6539\u6216\u8005\u5220\u9664 VPN \u7528\u6237\u8d26\u6237\uff0c\u9996\u5148\u66f4\u65b0\u4f60\u7684\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\uff0c\u7136\u540e\u4f60\u5fc5\u987b\u6309\u7167\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E6%9B%B4%E6%96%B0-docker-%E9%95%9C%E5%83%8F\">\u4e0b\u4e00\u8282<\/a>\u00a0\u7684\u8bf4\u660e\u6765\u5220\u9664\u5e76\u91cd\u65b0\u521b\u5efa Docker \u5bb9\u5668\u3002\u9ad8\u7ea7\u7528\u6237\u53ef\u4ee5\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E7%BB%91%E5%AE%9A%E6%8C%82%E8%BD%BD-env-%E6%96%87%E4%BB%B6\">\u7ed1\u5b9a\u6302\u8f7d<\/a>\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\u3002<\/p>\n<p>\u5728 VPN \u5df2\u8fde\u63a5\u65f6\uff0c\u5ba2\u6237\u7aef\u914d\u7f6e\u4e3a\u4f7f\u7528\u00a0<a href=\"https:\/\/developers.google.com\/speed\/public-dns\/\" rel=\"nofollow\">Google Public DNS<\/a>\u3002\u5982\u679c\u504f\u597d\u5176\u5b83\u7684\u57df\u540d\u89e3\u6790\u670d\u52a1\uff0c\u8bf7\u770b<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%BD%BF%E7%94%A8%E5%85%B6%E4%BB%96%E7%9A%84-dns-%E6%9C%8D%E5%8A%A1%E5%99%A8\">\u8fd9\u91cc<\/a>\u3002<\/p>\n<h2><a id=\"user-content-\u66f4\u65b0-docker-\u955c\u50cf\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E6%9B%B4%E6%96%B0-docker-%E9%95%9C%E5%83%8F\" aria-hidden=\"true\"><\/a>\u66f4\u65b0 Docker \u955c\u50cf<\/h2>\n<p>\u5982\u9700\u66f4\u65b0\u4f60\u7684 Docker \u955c\u50cf\u548c\u5bb9\u5668\uff0c\u8bf7\u6309\u4ee5\u4e0b\u6b65\u9aa4\u8fdb\u884c\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker pull hwdsl2\/ipsec-vpn-server<\/pre>\n<p>\u5982\u679c Docker \u955c\u50cf\u5df2\u7ecf\u662f\u6700\u65b0\u7684\uff0c\u4f60\u4f1a\u770b\u5230\u63d0\u793a\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Status: Image is up to date for hwdsl2\/ipsec-vpn-server:latest<\/pre>\n<p>\u5426\u5219\uff0c\u5c06\u4f1a\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\u3002\u8981\u66f4\u65b0\u4f60\u7684 Docker \u5bb9\u5668\uff0c\u9996\u5148\u5728\u7eb8\u4e0a\u8bb0\u4e0b\u4f60\u6240\u6709\u7684 VPN \u767b\u5f55\u4fe1\u606f\uff08\u53c2\u89c1\u4e0a\u9762\u7684 &#8220;\u83b7\u53d6 VPN \u767b\u5f55\u4fe1\u606f&#8221;\uff09\u3002\u7136\u540e\u5220\u9664 Docker \u5bb9\u5668\uff1a\u00a0<code>docker rm -f ipsec-vpn-server<\/code>\u3002\u6700\u540e\u6309\u7167 &#8220;\u5982\u4f55\u4f7f\u7528\u672c\u955c\u50cf&#8221; \u7684\u8bf4\u660e\u6765\u91cd\u65b0\u521b\u5efa\u5b83\u3002<\/p>\n<h2><a id=\"user-content-\u9ad8\u7ea7\u7528\u6cd5\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95\" aria-hidden=\"true\"><\/a>\u9ad8\u7ea7\u7528\u6cd5<\/h2>\n<h3><a id=\"user-content-\u4f7f\u7528\u5176\u4ed6\u7684-dns-\u670d\u52a1\u5668\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%BD%BF%E7%94%A8%E5%85%B6%E4%BB%96%E7%9A%84-dns-%E6%9C%8D%E5%8A%A1%E5%99%A8\" aria-hidden=\"true\"><\/a>\u4f7f\u7528\u5176\u4ed6\u7684 DNS \u670d\u52a1\u5668<\/h3>\n<p>\u5728 VPN \u5df2\u8fde\u63a5\u65f6\uff0c\u5ba2\u6237\u7aef\u914d\u7f6e\u4e3a\u4f7f\u7528\u00a0<a href=\"https:\/\/developers.google.com\/speed\/public-dns\/\" rel=\"nofollow\">Google Public DNS<\/a>\u3002\u5982\u679c\u504f\u597d\u5176\u5b83\u7684\u57df\u540d\u89e3\u6790\u670d\u52a1\uff0c\u4f60\u53ef\u4ee5\u5728\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\u4e2d\u5b9a\u4e49\u00a0<code>VPN_DNS_SRV1<\/code>\u00a0\u548c\u00a0<code>VPN_DNS_SRV2<\/code>\uff08\u53ef\u9009\uff09\uff0c\u7136\u540e\u6309\u7167\u4e0a\u9762\u7684\u8bf4\u660e\u91cd\u65b0\u521b\u5efa Docker \u5bb9\u5668\u3002\u6bd4\u5982\u4f60\u60f3\u4f7f\u7528\u00a0<a href=\"https:\/\/1.1.1.1\/\" rel=\"nofollow\">Cloudflare \u7684 DNS \u670d\u52a1<\/a>\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">VPN_DNS_SRV1=1.1.1.1\r\nVPN_DNS_SRV2=1.0.0.1<\/pre>\n<h3><a id=\"user-content-\u5728-raspberry-pi-\u4e0a\u4f7f\u7528\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%9C%A8-raspberry-pi-%E4%B8%8A%E4%BD%BF%E7%94%A8\" aria-hidden=\"true\"><\/a>\u5728 Raspberry Pi \u4e0a\u4f7f\u7528<\/h3>\n<p>\u5982\u9700\u5728 Raspberry Pi \uff08ARM\u67b6\u6784\uff09\u4e0a\u4f7f\u7528\uff0c\u4f60\u5fc5\u987b\u9996\u5148\u5728\u4f60\u7684 RPi \u4e0a\u6309\u7167\u00a0<a href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E6%9E%84%E5%BB%BA\">\u4ece\u6e90\u4ee3\u7801\u6784\u5efa<\/a>\u00a0\u4e2d\u7684\u8bf4\u660e\u81ea\u5df1\u6784\u5efa\u8fd9\u4e2a Docker \u955c\u50cf\uff0c\u800c\u4e0d\u662f\u4ece Docker Hub \u4e0b\u8f7d\u3002\u7136\u540e\u6309\u7167\u672c\u6587\u6863\u7684\u5176\u5b83\u6b65\u9aa4\u64cd\u4f5c\u3002<\/p>\n<h3><a id=\"user-content-\u4ece\u6e90\u4ee3\u7801\u6784\u5efa\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E6%9E%84%E5%BB%BA\" aria-hidden=\"true\"><\/a>\u4ece\u6e90\u4ee3\u7801\u6784\u5efa<\/h3>\n<p>\u9ad8\u7ea7\u7528\u6237\u53ef\u4ee5\u4ece GitHub \u4e0b\u8f7d\u5e76\u81ea\u884c\u7f16\u8bd1\u6e90\u4ee3\u7801\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">git clone https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server.git\r\ncd docker-ipsec-vpn-server\r\ndocker build -t hwdsl2\/ipsec-vpn-server .<\/pre>\n<p>\u82e5\u4e0d\u9700\u8981\u6539\u52a8\u6e90\u7801\uff0c\u4e5f\u53ef\u4ee5\u8fd9\u6837\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker build -t hwdsl2\/ipsec-vpn-server github.com\/hwdsl2\/docker-ipsec-vpn-server.git<\/pre>\n<h3><a id=\"user-content-\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c-bash-shell\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%9C%A8%E5%AE%B9%E5%99%A8%E4%B8%AD%E8%BF%90%E8%A1%8C-bash-shell\" aria-hidden=\"true\"><\/a>\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c Bash shell<\/h3>\n<p>\u5728\u6b63\u5728\u8fd0\u884c\u7684 Docker \u5bb9\u5668\u4e2d\u5f00\u59cb\u4e00\u4e2a Bash \u4f1a\u8bdd\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker exec -it ipsec-vpn-server env TERM=xterm bash -l<\/pre>\n<p>\uff08\u53ef\u9009\u6b65\u9aa4\uff09 \u5b89\u88c5\u00a0<code>nano<\/code>\u00a0\u7f16\u8f91\u5668\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">apt-get update &amp;&amp; apt-get -y install nano<\/pre>\n<p>\u7136\u540e\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c\u4f60\u7684\u547d\u4ee4\u3002\u5b8c\u6210\u540e\u9000\u51fa\u5e76\u91cd\u542f Docker \u5bb9\u5668 \uff08\u5982\u679c\u9700\u8981\uff09\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">exit\r\ndocker restart ipsec-vpn-server<\/pre>\n<h3><a id=\"user-content-\u7ed1\u5b9a\u6302\u8f7d-env-\u6587\u4ef6\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E7%BB%91%E5%AE%9A%E6%8C%82%E8%BD%BD-env-%E6%96%87%E4%BB%B6\" aria-hidden=\"true\"><\/a>\u7ed1\u5b9a\u6302\u8f7d env \u6587\u4ef6<\/h3>\n<p>\u4f5c\u4e3a\u00a0<code>--env-file<\/code>\u00a0\u9009\u9879\u7684\u66ff\u4ee3\u65b9\u6848\uff0c\u9ad8\u7ea7\u7528\u6237\u53ef\u4ee5\u7ed1\u5b9a\u6302\u8f7d\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\u3002\u8be5\u65b9\u6cd5\u7684\u597d\u5904\u662f\u4f60\u5728\u66f4\u65b0\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\u4e4b\u540e\u53ef\u4ee5\u91cd\u542f Docker \u5bb9\u5668\u4ee5\u751f\u6548\uff0c\u800c\u4e0d\u9700\u8981\u91cd\u65b0\u521b\u5efa\u5b83\u3002\u8981\u4f7f\u7528\u8fd9\u4e2a\u65b9\u6cd5\uff0c\u4f60\u5fc5\u987b\u9996\u5148\u7f16\u8f91\u4f60\u7684\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\u5e76\u5c06\u6240\u6709\u7684\u53d8\u91cf\u503c\u7528\u5355\u5f15\u53f7\u00a0<code>''<\/code>\u62ec\u8d77\u6765\u3002\u7136\u540e\uff08\u91cd\u65b0\uff09\u521b\u5efa Docker \u5bb9\u5668\uff08\u5c06\u7b2c\u4e00\u4e2a\u00a0<code>vpn.env<\/code>\u00a0\u66ff\u6362\u4e3a\u4f60\u81ea\u5df1\u7684\u00a0<code>env<\/code>\u00a0\u6587\u4ef6\uff09\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker run \\\r\n    --name ipsec-vpn-server \\\r\n    --restart=always \\\r\n    -p 500:500\/udp \\\r\n    -p 4500:4500\/udp \\\r\n    -v \"$(pwd)\/vpn.env:\/opt\/src\/vpn.env:ro\" \\\r\n    -v \/lib\/modules:\/lib\/modules:ro \\\r\n    -d --privileged \\\r\n    hwdsl2\/ipsec-vpn-server<\/pre>\n<h3><a id=\"user-content-\u542f\u7528-libreswan-\u65e5\u5fd7\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%90%AF%E7%94%A8-libreswan-%E6%97%A5%E5%BF%97\" aria-hidden=\"true\"><\/a>\u542f\u7528 Libreswan \u65e5\u5fd7<\/h3>\n<p>\u4e3a\u4e86\u4fdd\u6301\u8f83\u5c0f\u7684 Docker \u955c\u50cf\uff0cLibreswan (IPsec) \u65e5\u5fd7\u9ed8\u8ba4\u672a\u5f00\u542f\u3002\u5982\u679c\u4f60\u662f\u9ad8\u7ea7\u7528\u6237\uff0c\u5e76\u4e14\u9700\u8981\u542f\u7528\u5b83\u4ee5\u4fbf\u8fdb\u884c\u6545\u969c\u6392\u9664\uff0c\u9996\u5148\u5728\u6b63\u5728\u8fd0\u884c\u7684 Docker \u5bb9\u5668\u4e2d\u5f00\u59cb\u4e00\u4e2a Bash \u4f1a\u8bdd\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker exec -it ipsec-vpn-server env TERM=xterm bash -l<\/pre>\n<p>\u7136\u540e\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">apt-get update &amp;&amp; apt-get -y install rsyslog\r\nservice rsyslog restart\r\nservice ipsec restart\r\nsed -i '\/modprobe\/a service rsyslog restart' \/opt\/src\/run.sh\r\nexit<\/pre>\n<p>\u5b8c\u6210\u540e\u4f60\u53ef\u4ee5\u8fd9\u6837\u67e5\u770b Libreswan \u65e5\u5fd7\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">docker exec -it ipsec-vpn-server grep pluto \/var\/log\/auth.log<\/pre>\n<p>\u5982\u9700\u67e5\u770b xl2tpd \u65e5\u5fd7\uff0c\u8bf7\u8fd0\u884c\u00a0<code>docker logs ipsec-vpn-server<\/code>\u3002<\/p>\n<h2><a id=\"user-content-\u6280\u672f\u7ec6\u8282\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E6%8A%80%E6%9C%AF%E7%BB%86%E8%8A%82\" aria-hidden=\"true\"><\/a>\u6280\u672f\u7ec6\u8282<\/h2>\n<p>\u9700\u8981\u8fd0\u884c\u4ee5\u4e0b\u4e24\u4e2a\u670d\u52a1\uff1a\u00a0<code>Libreswan (pluto)<\/code>\u00a0\u63d0\u4f9b IPsec VPN\uff0c\u00a0<code>xl2tpd<\/code>\u00a0\u63d0\u4f9b L2TP \u652f\u6301\u3002<\/p>\n<p>\u9ed8\u8ba4\u7684 IPsec \u914d\u7f6e\u652f\u6301\u4ee5\u4e0b\u534f\u8bae\uff1a<\/p>\n<ul>\n<li>IKEv1 with PSK and XAuth (&#8220;Cisco IPsec&#8221;)<\/li>\n<li>IPsec\/L2TP with PSK<\/li>\n<\/ul>\n<p>\u4e3a\u4f7f VPN \u670d\u52a1\u5668\u6b63\u5e38\u5de5\u4f5c\uff0c\u5c06\u4f1a\u6253\u5f00\u4ee5\u4e0b\u7aef\u53e3\uff1a<\/p>\n<ul>\n<li>4500\/udp and 500\/udp for IPsec<\/li>\n<\/ul>\n<h2><a id=\"user-content-\u53e6\u89c1\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E5%8F%A6%E8%A7%81\" aria-hidden=\"true\"><\/a>\u53e6\u89c1<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/hwdsl2\/setup-ipsec-vpn\/blob\/master\/README-zh.md\">IPsec VPN Server on Ubuntu, Debian and CentOS<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/gaomd\/docker-ikev2-vpn-server\">IKEv2 VPN Server on Docker<\/a><\/li>\n<\/ul>\n<h2><a id=\"user-content-\u6388\u6743\u534f\u8bae\" class=\"anchor\" href=\"https:\/\/github.com\/hwdsl2\/docker-ipsec-vpn-server\/blob\/master\/README-zh.md#%E6%8E%88%E6%9D%83%E5%8D%8F%E8%AE%AE\" aria-hidden=\"true\"><\/a>\u6388\u6743\u534f\u8bae<\/h2>\n<p>\u7248\u6743\u6240\u6709 (C) 2016-2019\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/linsongui\" rel=\"nofollow\">Lin Song<\/a>\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/linsongui\" rel=\"nofollow\"><img decoding=\"async\" src=\"https:\/\/camo.githubusercontent.com\/a2cd904f7c4d52cdc8a5c52f30f7affe417f5ad2\/68747470733a2f2f7374617469632e6c6963646e2e636f6d2f736364732f636f6d6d6f6e2f752f696d672f77656270726f6d6f2f62746e5f766965776d795f3136307832352e706e67\" alt=\"View my profile on LinkedIn\" data-canonical-src=\"https:\/\/static.licdn.com\/scds\/common\/u\/img\/webpromo\/btn_viewmy_160x25.png\" \/><\/a><br \/>\n\u57fa\u4e8e\u00a0<a href=\"https:\/\/github.com\/sarfata\/voodooprivacy\">Thomas Sarlandie \u7684\u5de5\u4f5c<\/a>\u00a0(Copyright 2012) (\u7248\u6743\u6240\u6709 2012)<\/p>\n<p>\u8fd9\u4e2a\u9879\u76ee\u662f\u4ee5\u00a0<a href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\" rel=\"nofollow\">\u77e5\u8bc6\u5171\u4eab\u7f72\u540d-\u76f8\u540c\u65b9\u5f0f\u5171\u4eab3.0<\/a>\u00a0\u8bb8\u53ef\u534f\u8bae\u6388\u6743\u3002<br \/>\n\u5fc5\u987b\u7f72\u540d\uff1a \u8bf7\u5305\u62ec\u6211\u7684\u540d\u5b57\u5728\u4efb\u4f55\u884d\u751f\u4ea7\u54c1\uff0c\u5e76\u4e14\u8ba9\u6211\u77e5\u9053\u4f60\u662f\u5982\u4f55\u6539\u5584\u5b83\u7684\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0\u00a0\u00a0 \u4f7f\u7528\u8fd9\u4e2a Docker \u955c\u50cf\u5feb\u901f<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[],"tags":[122],"class_list":["post-3025","post","type-post","status-publish","format-standard","hentry","tag-06-godocker"],"_links":{"self":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/3025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/comments?post=3025"}],"version-history":[{"count":0,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/3025\/revisions"}],"wp:attachment":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/media?parent=3025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/categories?post=3025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/tags?post=3025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}