Este artigo descreverá em detalhes como configurar o Wireguard VPN no seu servidor. Pode ser um servidor virtual ou privado - não importa muito.
Este guia de configuração do VPN Wireguard foi desenvolvido para usuários sem muita experiência, então todos os passos serão bem detalhados e acompanhados de capturas de tela.
O tráfego que passa pelo nosso túnel será criptografado, e a Internet exibirá o endereço IP do nosso servidor VPN, não o endereço do provedor pelo qual acessamos a rede.
Supõe-se que você já tenha um VPS. Se não, você pode ordem isso de nós.
Instalaremos o sistema operacional Ubuntu 22.04 em nosso servidor. Se você tiver um servidor com um sistema operacional diferente, poderá reinstalá-lo facilmente seguindo o instruções.
Então, o servidor com o Ubuntu 22.04 OS pronto, agora nos conectamos a ele via SSH. Se de repente você não encontrou esse protocolo antes, então um artigo no qual esse processo é descrito em detalhes irá ajudá-lo. O segundo parágrafo do neste artigo é para o sistema operacional Linux, o terceiro é para o sistema operacional Windows.
Configurar servidor Wireguard
Após uma conexão bem-sucedida, escreverei alguns comandos e uma descrição do que eles produzem para entender o processo:
Atualizamos a lista de pacotes nos repositórios
apt update
Renovação dos próprios pacotes
apt upgrade -y
Instalar o pacote wireguard
apt install -y wireguard
Nossa configuração será armazenada no diretório /etc/wireguard/, precisamos entrar no diretório:
cd /etc/wireguard/
Precisaremos de uma chave pública e privada para nosso servidor. Nós as geraremos após definir os direitos corretos ao criar arquivos e diretórios com os comandos:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
Agora definimos os direitos para a chave privada:
chmod 600 privatekey
Antes de criar o arquivo de configuração, precisamos do nome da nossa interface de rede. Para descobri-lo, use o comando:
ip a
Precisamos da interface com o endereço IP que é usado para a conexão atual. Provavelmente será chamado ens3 no seu caso, mas pode haver outro nome.
Também precisaremos de uma chave pública e privada. Para exibi-las, uso tail
tail privatekey publickey
Parece que este:
Para edição, você pode usar qualquer Editor de texto Linux. Eu usarei o nano. Para instalá-lo você precisa executar o comando:
apt install -y nano
Editamos o arquivo de configuração:
nano /etc/wireguard/wg0.conf
Observação
para salvar o arquivo usamos a combinação de teclas ctrl+o
para sair - ctrl+x
Deve ficar assim:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
No meu caso parece com isso
Ativamos o encaminhamento de IP
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Inicie o serviço wireguard:
systemctl start [email protected]
Se quisermos que o serviço seja iniciado após o servidor ser reiniciado, fazemos o seguinte:
systemctl enable [email protected]
Para visualizar o status do serviço:
systemctl status [email protected]
O status deve ser ativo como na captura de tela:
Se você seguiu cuidadosamente nossas instruções, então, neste estágio, você tem tudo o que precisa para fazer a parte do servidor do VPN Wireguard operar.
Configurando o cliente Wireguard
A única coisa que falta é configurar a parte do cliente. Por exemplo e simplicidade, vou gerar chaves para a parte do cliente também no servidor. Mas para fins de segurança, seria mais correto gerar chaves no lado do cliente. Eu uso comandos para geração:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
Também gerarei chaves para usar a VPN no telefone:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
Deve-se notar que tudo isso deve ser feito enquanto estiver no catálogo
/etc/wireguard/
Você também pode executar em outro catálogo. Mas para simplificar, executamos as instruções em /etc/wireguard/
Usamos o comando ls para listar os arquivos em um diretório. Eu consegui assim:
Vamos exibir as chaves públicas na tela. Precisaremos delas para adicionar nós à nossa rede:
tail mypc_publickey myphone_publickey
Para mim é assim:
Vamos editar nosso arquivo de configuração:
nano wg0.conf
Adicione as seguintes linhas:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
Agora o arquivo de configuração se parece com isto:
Salve o arquivo e reinicie nosso serviço:
systemctl restart wg-quick@wg0
Vamos verificar se tudo ocorreu com sucesso:
systemctl status wg-quick@wg0
O status deve ser ativo
É necessário recarregar o serviço sempre que for editado o arquivo de configuração do servidor (wg0.conf)
Em seguida, criaremos configurações para clientes (no meu caso, meu PC e telefone). Farei o mesmo no servidor.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
No campo Endpoint, você pode ver o endereço IP do servidor - este é o endereço IP que usamos para conectar via SSH. Para ver as interfaces e endereços, você pode usar o comando ip a.
Configurar Wireguard para dispositivos móveis
Criamos uma configuração semelhante para o nosso telefone. Só precisamos mudar o endereço. Para o PC era 10.30.0.2/32, e na configuração para o telefone faremos 10.30.0.3/32. Além disso, se quisermos usar VPN em outros dispositivos, então devemos adicionar outros endereços ao campo Endereço nos arquivos de configuração e no arquivo de configuração do servidor wg0.conf, o campo AllowedIPs ao criar configurações
Os arquivos ficam assim no meu caso:
meupc.conf
meufone.conf
Para conexão, instalamos o cliente wireguard https://www.wireguard.com/install/
No aplicativo Windows, adicionamos um novo túnel e inserimos a configuração criada no arquivo mypc.conf
Lançamos o túnel e vamos ao navegador para o site que exibe nosso endereço
Para adicionar convenientemente uma VPN ao seu telefone, instale um programa para gerar códigos QR no servidor:
apt install -y qrencode
Estando no diretório de configuração, execute o seguinte passo:
qrencode -t ansiutf8 -r myphone.conf
Então entramos no aplicativo Wireguard no telefone, pressionamos + para criar um novo túnel, selecionamos escanear o código QR, escaneamos, ligamos a VPN. Em seguida, verificaremos se estamos exibindo o endereço do nosso servidor usando qualquer recurso que exiba o endereço IP de saída.
Você fez isso!