## No servidor 1. Instalar o pacote no servidor online. ``` apt install wireguard ``` 2. Vá em /etc/wireguard/ e gere o par de chaves: ``` wg genkey | sudo teee /etc/wireguard/private.key ``` 3. Atribua permissão para o arquivo: ``` chmod go= /etc/wireguard/private.key ``` 4. Precisamos agora gerar uma chave publica a partir da chave privada: ``` cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key ``` 5. Agora é necessário criar um arquivo de configuração que pode ser chamado de wireguard.conf: ```shell vi /etc/wireguard/wireguard.conf [interface] Address = 192.168.249.1/24 SaveConfig = true PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -f nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -f nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 51820 PrivateKey = HGYUHUHSHU== <private.key-server> [Peer] PublicKey = <public.key-client> AllowedIps = 192.168.249.2/32 ``` 6. Edite o arquivo /etc/sysctl.conf e descomente: ``` net.ipv4.ip_forward=1 ``` 7. Inicialize o Wireguard: ``` # wireguard é nomedoarquivo. wg-quick up wireguard ``` 8. Veja o status da conexão: ``` wg show ``` 9. Habilitar o wireguard na inicialização: ``` # wireguard é nomedoarquivo. systemctl enable wg-quick@wireguard ``` 10. Não esqueça de liberar a porta 51820/udp. ### No Cliente ``` apt install wireguard ``` ``` wg genkey | sudo teee /etc/wireguard/private.key ``` ``` chmod go= /etc/wireguard/private.key ``` ```shell vi /etc/wireguard/wireguard.conf [Interface] Address = 192.168.249.2/24 PrivateKey = <private.key-client> [Peer] PublicKey = <public.key-server> AllowedIps = Endpoint = ipdoserver:51820 PersistentKeepalive=15 ``` ``` wg-quick up wireguard ``` ``` wg show ``` ``` systemctl enable wg-quick@wireguard ```