{"id":1210,"date":"2020-08-09T16:38:45","date_gmt":"2020-08-09T07:38:45","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1210"},"modified":"2020-08-09T21:30:25","modified_gmt":"2020-08-09T12:30:25","slug":"run-vpn-server-on-aws-ec2","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1210","title":{"rendered":"Run VPN Server on AWS EC2"},"content":{"rendered":"<h1>Run VPN Server on AWS EC2<\/h1>\n<p>\uc544\uc774\ud53c\uac00 \ubc14\ub00c\uba74 \uac70\uc758 \uc804\ubd80 \ub2e4\uc2dc \uc124\uc815\ud574 \uc8fc\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>Elastic IP \ub97c \uc774\uc6a9\ud574 \uc544\uc774\ud53c\uac00 \ubc14\ub00c\uc9c0 \uc54a\ub3c4\ub85d \uc124\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h2>EC2 \uc778\uc2a4\ud134\uc2a4 \uc0dd\uc131<\/h2>\n<p>\uc778\uc2a4\ud134\uc2a4\ub294 <code>t3a.micro<\/code> <code>ubuntu 18.04<\/code> \ub85c \uc124\uce58\ud569\ub2c8\ub2e4. \ucd5c\uc18c 1G \uc758 \uba54\ubaa8\ub9ac\ub97c \ud544\uc694\ud55c \ub4ef \ud569\ub2c8\ub2e4.<\/p>\n<p>\ubcf4\uc548\uadf8\ub8f9 inbound \uc5d0 \uc544\ub798\uc640 \uac19\uc774 \ud3ec\ud2b8\ub97c \uc5f4\uc5b4\uc90d\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-09-01.png\"><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2020\/08\/2020-08-09-01.png\" alt=\"\" \/><\/a><\/p>\n<h2>OpenVPN \uc124\uce58<\/h2>\n<h3>docker \uc124\uce58<\/h3>\n<pre><code class=\"language-bash\">ssh -i .\/mykey.pem ubuntu@18.XXX.XXX.174\n\nsudo snap install docker<\/code><\/pre>\n<h3>Open VPN Server \uc124\uc815\ud558\uae30<\/h3>\n<pre><code class=\"language-bash\">export OVPN_DATA=&quot;ovpn-data-myvpn&quot;\n\nsudo docker volume create --name $OVPN_DATA\n\n# generate config\nsudo docker run -v $OVPN_DATA:\/etc\/openvpn \\\n    --log-driver=none \\\n    --rm kylemanna\/openvpn ovpn_genconfig \\\n    -u udp:\/\/18.XXX.XXX.174\n\n# create key\nsudo docker run -v $OVPN_DATA:\/etc\/openvpn \\\n    --log-driver=none \\\n    --rm -it kylemanna\/openvpn ovpn_initpki<\/code><\/pre>\n<h3>start vpn server<\/h3>\n<pre><code class=\"language-bash\"># start vpn server\nsudo docker run -v $OVPN_DATA:\/etc\/openvpn \\\n    -d -p 1194:1194\/udp \\\n    --cap-add=NET_ADMIN kylemanna\/openvpn\n\nsudo docker ps<\/code><\/pre>\n<h3>create user<\/h3>\n<p><code>nopass<\/code> \uc635\uc158\uc744 \uc8fc\uc5b4 \ube44\ubc00\ubc88\ud638 \uc785\ub825\uc5c6\uc774 \uc811\uc18d\ud558\ub294 \uacc4\uc815\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<pre><code class=\"language-bash\"># create user(skyer9)\nsudo docker run -v $OVPN_DATA:\/etc\/openvpn \\\n    --log-driver=none \\\n    --rm -it kylemanna\/openvpn easyrsa build-client-full skyer9 nopass<\/code><\/pre>\n<h3>get access file for user<\/h3>\n<pre><code class=\"language-bash\"># get access file for user(skyer9)\nsudo docker run -v $OVPN_DATA:\/etc\/openvpn \\\n    --log-driver=none \\\n    --rm kylemanna\/openvpn ovpn_getclient skyer9 &gt; skyer9.ovpn<\/code><\/pre>\n<h2>\uc811\uc18d \ud14c\uc2a4\ud2b8<\/h2>\n<p>\uc704\uc5d0\uc11c \uc0dd\uc131\ud55c <code>skyer9.ovpn<\/code> \ud30c\uc77c\uc744 \uc774\uc6a9\ud574 <code>OpenVPN<\/code> Client \ub97c \uc774\uc6a9\ud574 \uc811\uc18d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Run VPN Server on AWS EC2 \uc544\uc774\ud53c\uac00 \ubc14\ub00c\uba74 \uac70\uc758 \uc804\ubd80 \ub2e4\uc2dc \uc124\uc815\ud574 \uc8fc\uc5b4\uc57c \ud569\ub2c8\ub2e4. Elastic IP \ub97c \uc774\uc6a9\ud574 \uc544\uc774\ud53c\uac00 \ubc14\ub00c\uc9c0 \uc54a\ub3c4\ub85d \uc124\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. EC2 \uc778\uc2a4\ud134\uc2a4 \uc0dd\uc131 \uc778\uc2a4\ud134\uc2a4\ub294 t3a.micro ubuntu 18.04 \ub85c \uc124\uce58\ud569\ub2c8\ub2e4. \ucd5c\uc18c 1G \uc758 \uba54\ubaa8\ub9ac\ub97c \ud544\uc694\ud55c \ub4ef \ud569\ub2c8\ub2e4. \ubcf4\uc548\uadf8\ub8f9 inbound \uc5d0 \uc544\ub798\uc640 \uac19\uc774 \ud3ec\ud2b8\ub97c \uc5f4\uc5b4\uc90d\ub2c8\ub2e4. OpenVPN \uc124\uce58 docker \uc124\uce58 ssh -i .\/mykey.pem ubuntu@18.XXX.XXX.174 sudo\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1210\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-1210","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1210"}],"version-history":[{"count":6,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1210\/revisions"}],"predecessor-version":[{"id":1218,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1210\/revisions\/1218"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}