{"id":218,"date":"2021-01-10T20:23:19","date_gmt":"2021-01-10T20:23:19","guid":{"rendered":"https:\/\/adrianotanaka.com.br\/?p=218"},"modified":"2021-02-09T14:59:46","modified_gmt":"2021-02-09T14:59:46","slug":"criando-um-openvpn-access-server-no-oci","status":"publish","type":"post","link":"https:\/\/adrianotanaka.com.br\/index.php\/2021\/01\/10\/criando-um-openvpn-access-server-no-oci\/","title":{"rendered":"Criando um OpenVPN Access Server no OCI"},"content":{"rendered":"\n<p>Um dos recursos que ainda n\u00e3o est\u00e1 presente no OCI \u00e9 a capacidade de gerar uma VPN site-to-client o que facilitaria bastante o acesso em localidades que n\u00e3o possuem um appliance para fechar a VPN usando a VPNaaS (Servi\u00e7o de VPN gratuito que a Oracle oferece) ou outro fornecedor no OCI, dando uma estudada em alternativas, acabei encontrando o OpenVPN AS que nada mais \u00e9 que uma m\u00e1quina rodando o software openvpn com uma interface Web que facilita o seu gerenciamento<\/p>\n\n\n\n<p>A melhor parte \u00e9 que ele \u00e9 gratuito (at\u00e9 o momento que estou escrevendo esse post) para o uso de at\u00e9 duas conex\u00f5es simult\u00e2neas, bastando a voc\u00ea pagar somente a infra onde ele vai rodar, ou n\u00e3o pagar caso use o Shape Micro, abaixo mostro os passos para o deploy dele, <strong>por favor n\u00e3o usem o compartimento root para fazer deploy de sua infra, estou usando aqui por se tratar de um ambiente de teste.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"743\" height=\"582\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-26.png\" alt=\"\" class=\"wp-image-250\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-26.png 743w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-26-300x235.png 300w\" sizes=\"auto, (max-width: 743px) 100vw, 743px\" \/><\/figure>\n\n\n\n<p>Voc\u00ea pode fazer o deploy tanto pelo marketplace (<a rel=\"noreferrer noopener\" href=\"https:\/\/cloudmarketplace.oracle.com\/marketplace\/en_US\/listing\/72305905\" target=\"_blank\">aqui<\/a>) ou acessando seu dashboard e indo na op\u00e7\u00e3o de Marketplace, o deploy do OpenVPN \u00e9 na modalidade &#8220;Stack&#8221; que cria todos os recursos (rede, regras, vms, etc) necess\u00e1rios para a execu\u00e7\u00e3o do software, no background ele roda scripts terraform para isso.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"337\" height=\"262\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-8.png\" alt=\"\" class=\"wp-image-219\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-8.png 337w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-8-300x233.png 300w\" sizes=\"auto, (max-width: 337px) 100vw, 337px\" \/><\/figure>\n\n\n\n<p>Ap\u00f3s clicar em Launch Stack, voc\u00ea pode dar um nome ao Stack que vai ser criado, aqui vou usar o nome OPENVPN:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1011\" height=\"806\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-10.png\" alt=\"\" class=\"wp-image-221\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-10.png 1011w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-10-300x239.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-10-768x612.png 768w\" sizes=\"auto, (max-width: 1011px) 100vw, 1011px\" \/><\/figure>\n\n\n\n<p>Clicando em Next, voc\u00ea precisa colocar o nome da VM que vai ser criada(no print est\u00e1 errado mas depois eu corrigi) e selecionar o shape onde ele vai ser executado, tamb\u00e9m coloque um nome de usu\u00e1rio e uma senha, <strong>aqui um ponto de aten\u00e7\u00e3o pois n\u00e3o podemos colocar caracteres especiais na senha e ela vai ser exibida na tela do Stack depois da cria\u00e7\u00e3o<\/strong>, coloque uma senha que n\u00e3o vai ser a definitiva.<\/p>\n\n\n\n<p>Caso voc\u00ea v\u00e1 usar mais de duas conex\u00f5es ao mesmo tempo, voc\u00ea j\u00e1 pode colocar a sua activation key aqui.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"515\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-11.png\" alt=\"\" class=\"wp-image-222\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-11.png 656w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-11-300x236.png 300w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/figure>\n\n\n\n<p>Na parte de redes, vou usar uma VCN e subnet que j\u00e1 existem pois quero acessar um servidor j\u00e1 existente.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"316\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-12.png\" alt=\"\" class=\"wp-image-223\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-12.png 656w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-12-300x145.png 300w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/figure>\n\n\n\n<p>Nas configura\u00e7\u00f5es adicionais, coloque uma chave SSH para caso queira acessar a m\u00e1quina depois por linha de comando:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"214\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-15.png\" alt=\"\" class=\"wp-image-228\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-15.png 652w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-15-300x98.png 300w\" sizes=\"auto, (max-width: 652px) 100vw, 652px\" \/><\/figure>\n\n\n\n<p>Ap\u00f3s isso, um  resumo vai ser apresentado:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"654\" height=\"660\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-13.png\" alt=\"\" class=\"wp-image-225\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-13.png 654w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-13-297x300.png 297w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-13-150x150.png 150w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/figure>\n\n\n\n<p>Ao aceitar a cria\u00e7\u00e3o, um job vai ser criado para a execu\u00e7\u00e3o dos comandos para a cria\u00e7\u00e3o do recursos necess\u00e1rios:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"277\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-14-1024x277.png\" alt=\"\" class=\"wp-image-226\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-14-1024x277.png 1024w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-14-300x81.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-14-768x207.png 768w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-14-1536x415.png 1536w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-14.png 1622w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ap\u00f3s a finaliza\u00e7\u00e3o do Job, voc\u00ea pode acessar o servidor tanto pelo endere\u00e7o <strong>https:\/\/ip-publico\/admin<\/strong> ou na tela da Stack em<strong> Application Information -&gt; Login to administer<\/strong> (olha a nossa senha ali em texto puro):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"209\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-16-1024x209.png\" alt=\"\" class=\"wp-image-230\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-16-1024x209.png 1024w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-16-300x61.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-16-768x157.png 768w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-16.png 1030w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ao acessar o endere\u00e7o do OpenVPN, a primeira recomenda\u00e7\u00e3o \u00e9 ir em <strong>User Permissions<\/strong> (do lado esquerdo) e alterar a senha do usu\u00e1rio que voc\u00ea criou:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"483\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-18-1024x483.png\" alt=\"\" class=\"wp-image-233\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-18-1024x483.png 1024w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-18-300x141.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-18-768x362.png 768w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-18.png 1362w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Por se tratar de um ambiente de testes, n\u00e3o vou realizar nenhuma configura\u00e7\u00e3o mais complexa mas \u00e9 poss\u00edvel limitar redes, acessos, quais endere\u00e7os v\u00e3o ser distribu\u00eddos via VPN e por ai vai.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conectando na VPN<\/h2>\n\n\n\n<p>Ap\u00f3s o servi\u00e7o estar no ar, basta acessar o endere\u00e7o <strong>https:\/\/ip-publico:943<\/strong> e fazer login com seu usu\u00e1rio e senha para ter acesso ao instalador do <strong>OpenVPN connect<\/strong> ou baixar o profile (marcado de vermelho) caso voc\u00ea j\u00e1 tenha o openvpn instalado em sua m\u00e1quina:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"462\" height=\"873\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-19.png\" alt=\"\" class=\"wp-image-234\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-19.png 462w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-19-159x300.png 159w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><\/figure>\n\n\n\n<p>No meu caso, por j\u00e1 usar o openvpn e minha m\u00e1quina, fiz o download do profile e coloquei dentro da pasta config no diret\u00f3rio de instala\u00e7\u00e3o do openvpn:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"376\" height=\"114\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-20.png\" alt=\"\" class=\"wp-image-235\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-20.png 376w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-20-300x91.png 300w\" sizes=\"auto, (max-width: 376px) 100vw, 376px\" \/><\/figure>\n\n\n\n<p>Ao conectar no openvpn, voc\u00ea deve entrar as mesmas credenciais que usou no seu usu\u00e1rio:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"565\" height=\"371\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-21.png\" alt=\"\" class=\"wp-image-236\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-21.png 565w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-21-300x197.png 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Testando a conex\u00e3o<\/h2>\n\n\n\n<p>Ap\u00f3s ter entrado com as credenciais, o status da conex\u00e3o no openvpn client vai mudar e ai voc\u00ea j\u00e1 pode testar sua conex\u00e3o:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"382\" height=\"117\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-22.png\" alt=\"\" class=\"wp-image-237\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-22.png 382w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-22-300x92.png 300w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/figure>\n\n\n\n<p>No meu ambiente, al\u00e9m do servidor de openvpn, possuo mais dois servidores:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"945\" height=\"80\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-23.png\" alt=\"\" class=\"wp-image-239\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-23.png 945w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-23-300x25.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-23-768x65.png 768w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/figure>\n\n\n\n<p>E da minha m\u00e1quina consigo acessar todos:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"461\" height=\"74\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-24.png\" alt=\"\" class=\"wp-image-240\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-24.png 461w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-24-300x48.png 300w\" sizes=\"auto, (max-width: 461px) 100vw, 461px\" \/><\/figure>\n\n\n\n<p>E na tela <strong>Status -&gt; Current Users<\/strong> voc\u00ea pode acompanhar quem est\u00e1 conectado:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"273\" src=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-25-1024x273.png\" alt=\"\" class=\"wp-image-245\" srcset=\"https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-25-1024x273.png 1024w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-25-300x80.png 300w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-25-768x205.png 768w, https:\/\/adrianotanaka.com.br\/wp-content\/uploads\/2021\/01\/image-25.png 1065w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Dessa forma, agora voc\u00ea s\u00f3 precisa liberar a porta do openvpn na sua subnet e realizar o acesso atrav\u00e9s do servi\u00e7o.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um dos recursos que ainda n\u00e3o est\u00e1 presente no OCI \u00e9 a capacidade de gerar uma VPN site-to-client o que facilitaria bastante o acesso em localidades que n\u00e3o possuem um appliance para fechar a VPN usando a VPNaaS (Servi\u00e7o de VPN gratuito que a Oracle oferece) ou outro fornecedor no OCI, dando uma estudada em [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"material-hide-sections":[],"footnotes":""},"categories":[8,6,1],"tags":[29,9,27,10,23,28,25,24,26],"class_list":["post-218","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oci","category-oracle","category-uncategorized","tag-cloud","tag-linux","tag-network","tag-oci","tag-openvpn","tag-sec","tag-stack","tag-terraform","tag-vpn"],"_links":{"self":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=218"}],"version-history":[{"count":12,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/218\/revisions"}],"predecessor-version":[{"id":251,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/218\/revisions\/251"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/media\/249"}],"wp:attachment":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}