{"id":334,"date":"2012-08-09T17:54:22","date_gmt":"2012-08-09T20:54:22","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=334"},"modified":"2012-08-09T17:54:22","modified_gmt":"2012-08-09T20:54:22","slug":"vpn-entre-servidores-centos-6-e-windows-7","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=334","title":{"rendered":"VPN entre servidores CentOS 6 e Windows 7"},"content":{"rendered":"<p><strong>Configura\u00e7\u00e3o dos servidores e do OpenVPN<\/strong><\/p>\n<p>Neste artigo, estou explicando o passo a passo sobre como implantar uma <em>VPN<\/em> utilizando <em>OpenVPN<\/em> com servidores <em>CentOS 6<\/em>, ou <em>Red Hat<\/em>, e Clientes Windows 7.<\/p>\n<p>Este cen\u00e1rio \u00e9 muito usado em empresas que possuem uma matriz e tem consultores externos que precisam ter acesso aos servidores de dados da matriz.<\/p>\n<p>Primeiro passo, vamos configurar o servidor OpenVPN que far\u00e1 a autentica\u00e7\u00e3o dos usu\u00e1rios:<\/p>\n<p>1. Instale os pacotes:<\/p>\n<p><strong># yum install gcc rpm-build autoconf.noarch zlib-devel pam-devel lzo lzo-devel openssl-devel automake imake pkgconfig gcc-c++ libcrypto.so.6<\/strong><\/p>\n<p>2. Fa\u00e7a Download dos pacotes:<\/p>\n<p><strong>$ wget<\/strong> <a href=\"http:\/\/openvpn.net\/release\/openvpn-2.1.3.tar.gz\">http:\/\/openvpn.net\/release\/openvpn-2.1.3.tar.gz<\/a><br \/>\n<strong>$ wget<\/strong> <a href=\"http:\/\/openvpn.net\/release\/lzo-1.08-4.rf.src.rpm\">http:\/\/openvpn.net\/release\/lzo-1.08-4.rf.src.rpm<\/a><br \/>\n<strong>$ wget ftp:\/\/ftp.muug.mb.ca\/mirror\/fedora\/epel\/5\/x86_64\/pkcs11-helper-1.07-2.el5.1.i386.rpm<br \/>\n$ wget ftp:\/\/ftp.muug.mb.ca\/mirror\/fedora\/epel\/5\/x86_64\/pkcs11-helper-devel-1.07-2.el5.1.i386.rpm<\/strong><\/p>\n<p>3. Instale os pacotes baixados:<\/p>\n<p><strong># rpmbuild &#8211;rebuild lzo-1.08-4.rf.src.rpm<br \/>\n# rpm -Uvh \/root\/rpmbuild\/RPMS\/i386\/lzo-*.rpm<br \/>\n# rpm -ivh pkcs11-helper-*.rpm<br \/>\n# rpmbuild -tb openvpn-2.1.3.tar.gz<br \/>\n# rpm -Uvh \/root\/rpmbuild\/RPMS\/i386\/openvpn-2.1.3-1.i386.rpm<\/strong><\/p>\n<p>4. Na sequ\u00eancia, crie um diret\u00f3rio chamado &#8220;openvpn&#8221; dentro do <em>\/etc<\/em>:<\/p>\n<p><strong># mkdir \/etc\/openvpn<\/strong><\/p>\n<p>5. Entre dentro do diret\u00f3rio <em>\/etc\/openvpn<\/em>:<\/p>\n<p><strong># cd \/etc\/openvpn<\/strong><\/p>\n<p>6. Copie o diret\u00f3rio <em>\/usr\/share\/doc\/openvpn-2.1.3\/easy-rsa\/2.0\/<\/em> para dentro do <em>\/etc\/openvpn<\/em>:<\/p>\n<p><strong># cp -r \/usr\/share\/doc\/openvpn-2.1.3\/easy-rsa\/2.0\/<\/strong><\/p>\n<p>7. Dentro do diret\u00f3rio <em>etc\/openvpn\/2.0<\/em>, cont\u00e9m os scripts necess\u00e1rios para configura\u00e7\u00e3o da VPN:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/ITEM_7.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_ITEM_7.png\" alt=\"\" width=\"500\" height=\"81\" border=\"0\" \/><\/a><\/div>\n<p>8. Entre no diret\u00f3rio que acabou de copiar (\/etc\/openvpn\/2.0) e vamos editar o arquivo <em>vars<\/em> (use o editor de texto de sua prefer\u00eancia, eu vou usar <em>Vim<\/em>):<\/p>\n<p><strong># cd \/etc\/openvpn\/2.0<br \/>\n# vim vars<\/strong><\/p>\n<p>9. Troque os par\u00e2metros abaixo, pelos de sua empresa e salve o arquivo:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/ITEM_9.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_ITEM_9.png\" alt=\"\" width=\"500\" height=\"112\" border=\"0\" \/><\/a><\/div>\n<p>10. Agora, vamos carregar estes arquivos na mem\u00f3ria, para que os mesmos sejam colocados com vari\u00e1veis de ambiente:<\/p>\n<p><strong># source .\/vars<\/strong><\/p>\n<p>11. Vamos executar o script <em>clean-all<\/em>, para que seja limpo todas as chaves e n\u00e3o haja conflito de vari\u00e1veis:<\/p>\n<p><strong># .\/clean-all<\/strong><\/p>\n<p>12. Agora vamos come\u00e7ar a criar as autoridades certificadoras e os certificados:<\/p>\n<p><strong>#.\/build-ca<\/strong><\/p>\n<p>O mesmo ir\u00e1 trazer os valores padr\u00f5es, at\u00e9 mesmo porque editamos o arquivo <em>vars<\/em>, apenas confime pressionando <em>ENTER<\/em>, para concluir a cria\u00e7\u00e3o da autoridade certificadora.<\/p>\n<p>13. A partir de agora, foi criado um diret\u00f3rio chamado &#8220;Keys&#8221; onde cont\u00e9m os certificados da (CA).<\/p>\n<p>Obs.: \u00c9 importante que este certificado exista tanto no servidor como no cliente.<\/p>\n<p>14. Vamos gerar os certificados do servidor:<\/p>\n<p><strong>#.\/build-key-server Matriz<\/strong><\/p>\n<p>Obs.: Matriz \u00e9 o nome do meu server.<\/p>\n<p>Eu n\u00e3o coloco atributos extras de seguran\u00e7a.<\/p>\n<p>Confirme os dados.<\/p>\n<p>15. Ap\u00f3s a cria\u00e7\u00e3o do certificado, verifique no diret\u00f3rio Keys, que agora existe o certificado Matriz, a chave de acesso e a requisi\u00e7\u00e3o do certificado:<\/p>\n<ul>\n<li>matriz.key<\/li>\n<li>matriz.csr<\/li>\n<li>matriz.crt<\/li>\n<\/ul>\n<p>16. Agora, vamos gerar as chaves dos meus clientes, ou consultores externos, vou chamar de &#8220;consultor1&#8221;:<\/p>\n<p><strong>#.\/build-key consultor1<\/strong><\/p>\n<p>Confirme os dados (n\u00e3o utilizo senha, assim, num primeiro momento poder\u00e1 validar se suas chaves est\u00e3o funcionando):<\/p>\n<ul>\n<li>consultor1.key<\/li>\n<li>consultor1.csr<\/li>\n<li>consultor1.crt<\/li>\n<\/ul>\n<p>17. E por fim, vamos criar o certificado <em>Diffie hellman<\/em>. Este certificado \u00e9 muito importante, pois o mesmo garante que toda troca de chaves ser\u00e1 feito com toda seguran\u00e7a:<\/p>\n<p><strong># .\/build&#8211;dh<\/strong><\/p>\n<p>18. Verifique no diret\u00f3rios &#8220;Keys&#8221;, que as chaves foram criadas as chaves do CA, MATRIZ, CONSULTOR1 e DH1024.<\/p>\n<p>Caso n\u00e3o aconteceu, verifique se n\u00e3o pulou nenhum passo.<\/p>\n<p>19. Vamos criar um link simb\u00f3lico que vai apontar para o diret\u00f3rio Keys:<\/p>\n<p><strong># ln -s \/2.0\/keys keys<\/strong><\/p>\n<p>Isto vai facilitar o acesso ao diret\u00f3rio.<\/p>\n<p>20. O pr\u00f3ximo passo ser\u00e1 configurar a matriz para fazer a autentica\u00e7\u00e3o dos usu\u00e1rios. Vamos criar um arquivo chamado &#8220;matriz.conf&#8221; dentro do diret\u00f3rio <em>\/etc\/openvpn\/<\/em>:<\/p>\n<p><strong># touch matriz.conf<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/ITEM_20.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_ITEM_20.png\" alt=\"\" width=\"500\" height=\"460\" border=\"0\" \/><\/a><\/div>\n<p>21. Agora, s\u00f3 falta reiniciar o servi\u00e7o VPN:<\/p>\n<p><strong># \/etc\/init.d\/openvpn restart<\/strong><\/p>\n<p>Caso exista algum problema, por favor, verifique em log.<\/p>\n<p>22. Vamos configurar os cliente que ser\u00e1 o nosso consultor1<\/p>\n<p>23. Neste artigo estou utilizando o <em>OpenVPNPortable<\/em>, este aplicativo permite que o mesmo seja utilizado em um pendrive e seja executado em qualquer computador que possua Windows 7.<\/p>\n<p>O Pacote cont\u00e9m algumas pastas:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/ITEM_23.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_ITEM_23.png\" alt=\"\" width=\"500\" height=\"111\" border=\"0\" \/><\/a><\/div>\n<p>24. No arquivo &#8220;OpenVPNPortable.ini&#8221;, temos as seguintes configura\u00e7\u00f5es:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/ITEM_24.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_ITEM_24.png\" alt=\"\" width=\"500\" height=\"277\" border=\"0\" \/><\/a><\/div>\n<p>* Observa\u00e7\u00e3o: Neste arquivo, precisa ser trocado o par\u00e2metro <em>AutoConnect<\/em> para o nome da chave criada, no caso do exemplo, estou utilizando: Consultor1<\/p>\n<p>25. Dentro do diret\u00f3rio <em>data<\/em>, existe um diret\u00f3rio <em>config<\/em>que cont\u00e9m as chaves e o arquivo com a extens\u00e3o &#8220;.ovpn&#8221;, os mesmos devem ficar da seguinte forma:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/ITEM_25.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_ITEM_25.png\" alt=\"\" width=\"500\" height=\"89\" border=\"0\" \/><\/a><\/div>\n<p>26. Acima, cont\u00e9m as chaves criadas no servidor que foram copiadas para dentro do diret\u00f3rio <em>config<\/em>, e junto com as chaves, \u00e9 contido o arquivo &#8220;consultor1.ovpn&#8221;.<\/p>\n<p>Neste arquivo exitem os par\u00e2metros de configura\u00e7\u00e3o do cliente para conex\u00e3o com o servidor. Os par\u00e2metros devem ficar da seguinte forma:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/ITEM_26.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_ITEM_26.png\" alt=\"\" width=\"500\" height=\"561\" border=\"0\" \/><\/a><\/div>\n<p>27. Ap\u00f3s o t\u00e9rmino das configura\u00e7\u00f5es do cliente, execute o arquivo <em>OpenVPNPortable.exe<\/em>:<\/p>\n<div><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/ITEM_27.png\" alt=\"\" width=\"271\" height=\"213\" \/><\/div>\n<p>28. O mesmo far\u00e1 a conex\u00e3o autom\u00e1tica com o Servidor VPN.<\/p>\n<p>29. Como dica, existem algumas observa\u00e7\u00f5es:<\/p>\n<ul>\n<li>No Windows 7, desabilite a UAC (User Account Control), caso contr\u00e1rio, o Windows bloquear\u00e1 a cria\u00e7\u00e3o do adaptador de rede virtual.<\/li>\n<li>Verifique as rotas dos firewall, para liberar as portas que ir\u00e3o utilizar para conex\u00e3o com a VPN.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Configura\u00e7\u00e3o dos servidores e do OpenVPN Neste artigo, estou explicando o passo a passo sobre como implantar uma VPN utilizando OpenVPN com servidores CentOS 6, ou Red Hat, e Clientes Windows 7. Este cen\u00e1rio \u00e9 muito usado em empresas que possuem uma matriz e tem consultores externos que precisam ter acesso aos servidores de dados [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[42,51,68],"tags":[165,164,166],"class_list":["post-334","post","type-post","status-publish","format-standard","hentry","category-leitura-recomendada","category-linux-linuxrs","category-redes-2","tag-openvpn","tag-vpn","tag-windows-7"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=334"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/334\/revisions"}],"predecessor-version":[{"id":335,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/334\/revisions\/335"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}