Configure sua própria rede privada com o OpenVPN

O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas, às vezes, você deseja que dois servidores em diferentes países / datacenters possam se comunicar de maneira privada e segura. Este tutorial mostrará como conseguir isso com a ajuda do OpenVPN. Os sistemas operacionais usados ​​aqui são Debian e CentOS, apenas para mostrar duas configurações diferentes. Isso pode ser facilmente adaptado para Debian -> Debian, Ubuntu -> FreeBSD e assim por diante.

  • Máquina 1: Debian, atuará como servidor (Localização: NL)
  • Máquina 2: CentOS, atuará como cliente (Local: FR)

Máquina 1

Inicie na máquina 1 instalando o OpenVPN:

apt-get install openvpn

Em seguida, copie a configuração de exemplo e a ferramenta para gerar chaves easy-rsa, para /etc/openvpn:

cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn

Os valores padrão para suas chaves não são mais exatamente seguros, para corrigir isso /etc/openvpn/easy-rsa/2.0/varscom seu editor de texto favorito e modificar a seguinte linha:

export KEY_SIZE=4096

Em seguida, verifique se os valores estão carregados na sua sessão atual, limpe as chaves eventualmente existentes e gere sua autoridade de certificação:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./clean-all
./build-ca

Você será solicitado a fornecer informações. Facilite sua vida fornecendo informações sobre seu servidor, por exemplo, onde ele está localizado e qual é o FQDN. Isso é útil para quando você precisar depurar problemas:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [changeme]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

Outra necessidade são os parâmetros para a troca de chaves Diffie-Hellman. Eles precisam ser gerados também:

./build-dh

Importante : O build-dhcomando é um processo relativamente complexo que pode levar até dez minutos, dependendo dos recursos do servidor.

Para melhorar ainda mais a segurança dessa conexão, geraremos um segredo estático que precisa ser distribuído entre todos os clientes:

mkdir /etc/openvpn/keys
openvpn --genkey --secret /etc/openvpn/keys/ta.key

Agora, você pode gerar a chave para o servidor:

./build-key-server server1

Este comando solicitará algumas informações:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [server1]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

A etapa final é assinar a solicitação de certificado que acabou de ser gerada com a chave da CA:

1 out of 1 certificate requests certified, commit? [y/n]y

Copie as chaves e os certificados necessários em uma pasta separada:

cd /etc/openvpn/easy-rsa/2.0/keys
cp dh4096.pem ca.crt server1.crt server1.key /etc/openvpn/keys/
chmod 700 /etc/openvpn/keys
chmod 600 /etc/openvpn/keys/*

Agora, para a configuração, descompacte-o ...

cd /etc/openvpn
gunzip server.conf.gz

... e abra o resultado server.confcom o seu editor de texto favorito. A configuração deve ser semelhante a esta:

port 1194
proto udp
dev tun

ca keys/ca.crt
cert keys/server1.crt
key keys/server1.key 
dh keys/dh4096.pem
server 10.8.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# Uncomment this if you have multiple clients
# and want them to be able to see each other
;client-to-client

keepalive 10 120
tls-auth keys/ta.key 0 

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384
comp-lzo

user nobody
group nogroup

persist-key
persist-tun
verb 3
mute 20

Depois de reiniciar o serviço, você deve observar um pouco o seu log ...

service openvpn restart && tail -f /var/log/syslog

... para garantir que tudo esteja funcionando. Se nenhum erro for detectado, você poderá gerar as chaves para o seu segundo servidor:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./build-key server2

Novamente, você será solicitado a fornecer informações:

Country Name (2 letter code) [US]:FR
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter FR
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) 
[server2]:yourserver2.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

Agora, você precisa transferir os arquivos necessários para o seu segundo servidor, de preferência criptografado:

cd /etc/openvpn/easy-rsa/2.0/keys
cp /etc/openvpn/keys/ta.key .
tar -cf vpn.tar ca.crt server2.crt server2.key ta.key
scp vpn.tar yourusername@server2:~/
rm vpn.tar

Máquina 2

Hora de mudar para a conexão SSH do seu segundo servidor . O primeiro passo é instalar o OpenVPN ...

yum install openvpn

... e desativar firewalld. A substituição será iptables simples.

systemctl stop firewalld
systemctl disable firewalld

Descompacte o arquivo que você acabou de mover para o servidor e defina corretamente as permissões nos arquivos:

cd /etc/openvpn
mkdir keys
chmod 700 keys
cd keys
tar -xf ~/vpn.tar -C .
chmod 600 *

Crie /etc/openvpn/client.confcom seu editor de texto favorito. Deve ficar assim:

client
dev tun
proto udp

remote yourserver yourport
resolv-retry infinite
nobind
user nobody
group openvpn


persist-key
persist-tun

ca keys/ca.crt
cert keys/server2.crt
key keys/.key

ns-cert-type server
tls-auth keys/ta.key 1

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384

remote-cert-tls server

comp-lzo
verb 3
mute 20

A última etapa é iniciar e ativar o serviço:

systemctl start openvpn@client.service
systemctl enable openvpn@client.service

Se tudo estiver funcionando, você não terá problemas para executar o ping no primeiro servidor:

PING 10.8.100.1 (10.8.100.1) 56(84) bytes of data.
64 bytes from 10.8.100.1: icmp_seq=1 ttl=64 time=17.8 ms
64 bytes from 10.8.100.1: icmp_seq=2 ttl=64 time=17.9 ms
64 bytes from 10.8.100.1: icmp_seq=3 ttl=64 time=17.8 ms

Agora você tem uma conexão privada pela Internet!

Se você precisar solucionar algum erro, tente verificar os logs com o seguinte comando:

journalctl -xn


Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.