Como instalar um servidor de OpenVPN em Linux

por Pedro Resende em 21/11/2013 às 18:52:03

OpenVPN Logo

Hoje, vou-vos ensinar a instalar um servidor de OpenVPN em Linux em poucos passos.

Vamos começar por actualizar a base de dados dos pacotes, através do seguinte comando:

 apt-get update

Uma vez actualizada a lista, vamos então proceder a instalação propriamente dita. Vamos então digitar o seguinte comando:

 apt-get install openvpn openssl

Uma vez instalado, vamos proceder à configuração do mesmo


# <em>cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa

# vi easy-rsa/vars

Substituam o conteúdo da linha 16

export EASY_RSA="`pwd`"

por 

export EASY_RSA="/etc/openvpn/easy-rsa"

para isso, necessitam carregar na tecla "i" para poderem começar a introduzir texto.

Uma vez alterado, primam a seguinte sequência para salvar o conteúdo e sair "ESC" e depois "

Vamos agora definir a origem dos conteúdos

 . ./easy-rsa/vars

vamos então limpar

 ./easy-rsa/clean-all

Vamos agora fazer um symlink 

 ln -s openssl-1.0.0.cnf openssl.cnf

Para gerarmos os certificados de segurança é então e necessário

 cd ..

# ./easy-rsa/build-ca OpenVPN

# ./easy-rsa/build-key-server server

# ./easy-rsa/build-key client1

Por fim,

 ./easy-rsa/build-dh

Vamos então especificar as configurações dentro do openvpn.conf

 vi openvpn.conf

em que o conteúdo é

proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push “redirect-gateway def1"
#set the dns servers
push “dhcp-option DNS 8.8.8.8"
push “dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo

Vamos activar o redireccionamento

 echo 1 > /proc/sys/net/ipv4/ip_forward

Por fim iniciamos o serviço

 service openvpn start

Falta-nos apenas a configuração para o cliente ligacao.openvpn

 vi ligacao.openvpn

com o conteúdo

dev tun
client
proto udp
remote <strong>IP_DO_SERVIDOR</strong> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

Não se esqueçam de mudar o IP_DO_SERVIDOR, pelo ip ou pelo domínio do mesmo.

Copiem os certificados que estão em /etc/openvpn/easy-rsa/keys.

Para o cliente necessitam apenas de usar os seguintes ficheiros:

  • ca.crt;
  • client1.crt;
  • client1.key e 
  • ligacao.openvpn.

Para estabelecerem a ligação a partir do cliente basta correrem

 openvpn ligação.openvpn

E pronto, já têm o servidor VPN, usando o OpenVPN, a funcionar.

Pedro Resende

Pedro Resende

With over two decades of experience as a Full Stack Developer, I have journeyed through diverse facets of software development. Commencing with the creation of compact institutional websites, I progressed to crafting portals for insurance brokers and contributed to substantial projects for renowned companies such as MS Amlin. My expertise expanded further by delving into product development for Advertiser Kwanko and collaborating with startups in their pivotal ramp-up stages. Notably, I've been involved in architecting extensive e-commerce solutions for global enterprises like Wayfair.

I currently serve as the Tech Lead at Emergn, contributing to the establishment and advancement of the Strategyzer client.