O WireGuard é um aplicativo que pode fornecer uma rede virtual privada (VPN) segura, sendo simples de usar e configurar. Ele usa protocolos e algoritmos criptográficos fortes para cifrar os dados. Projetado exclusivamente para o kernel do Linux, ele pode ser implantado no Windows, macOS, FreeBSD, iOS e Android.
Em nosso caso, usaremos o CentOS 8.3 para a configuração do WireGuard.
Como configurar o cliente VPN do WireGuard:
- Como instalar o cliente WireGuard no CentOS
- Como criar uma chave pública e privada
- Como executar o WireGuard
Instalando o cliente WireGuard no CentOS
A instalação do cliente é semelhante à do servidor. Faça login no seu servidor Linux e, depois de fazer login, adicione os repositórios EPEL e Elrepo para instalar os módulos do kernel e as ferramentas do WireGuard.
sudo dnf install epel-release elrepo-release -y
Agora vamos instalar o WireGuard a partir do repositório epel:
sudo dnf install kmod-wireguard wireguard-tools
Geração de chaves públicas e privadas
O WireGuard funciona criptografando a conexão usando um par de chaves criptográficas. O par de chaves é usado passando a chave pública para a outra parte, que pode então criptografar sua mensagem de modo que ela só possa ser descriptografada com a chave privada correspondente. Para proteger a comunicação bidirecional, cada lado deve ter suas próprias chaves privadas e públicas, pois cada par fornece apenas mensagens unidirecionais.
Gere um par de chaves públicas e privadas do cliente executando o seguinte comando:
wg genkey | tee private.key | wg pubkey > public.key
Depois disso, crie um arquivo de configuração do cliente no seguinte diretório:
sudo nano /etc/wireguard/wg0.conf
No tipo de arquivo:
[Interface]
PrivateKey = <contents-of-client-privatekey>
Address = 10.0.0.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
[Peer]
PublicKey = <contents-of-server-publickey>
AllowedIPs = 10.0.0.2/32
Observações: Na linha publickey, insira a chave pública do servidor que geramos no artigo anterior e, na chave privada, insira a chave privada do cliente.
Inicialização do WireGuard
Para iniciar a conexão, digite o seguinte comando:
sudo wg-quick up wg0
Agora que o cliente pode se comunicar com o servidor, você pode fazer ping no servidor a partir do cliente com o comando
ping 10.0.0.1
Para descobrir o status da conexão, execute o seguinte comando:
sudo wg show
Você obterá todos os detalhes da conexão, conforme mostrado abaixo
Parabéns! Seu computador cliente agora tem acesso à rede VPN.