Instalação Servidor Linux
## instalar
sudo su -
apt update
apt install wireguard
## criar chave publica e privada
cd /etc/wireguard
wg genkey | tee wg_private.key | wg pubkey > wg_public.key
chmod -R 600 /etc/wireguard/
## obter os dados para o arquivo de configuracao (não precisa definir na variavel, basta executar o comando e usar no ctrl+c/v)
$ INTERFACE=$(ip -o -4 route show to default | awk '{print $5}')
$ PRIVKEY=$(cat wg_private.key)
$ IP_VIRTUAL=$(Definir um ip local para ser a origem da interface. Ex: 192.168.2.1)
## criar arquivo de configuração
$ touch wg0.conf
$ nano wg0.conf
[Interface]
Address = {IP_VIRTUAL}
PrivateKey = {PRIVKEY}
ListenPort = {PORT} -> Exemplo: 41194 Liberar o firewall
## LINHAS ABAIXO SOMENTE SE FIREWALL ATIVADO NO SERVIDOR
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o {INTERFACE} -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o {INTERFACE} -j MASQUERADE;
## iniciar o serviço
$ systemctl enable wg-quick@wg0
$ systemctl start wg-quick@wg0
## verificar se esta ativo
$ ifconfig
- deve aparecer uma nova interface com o tipo "POINTTOPOINT" com o IP alocado na config
Para cada cliente, deve ser adicionado ao final do arquivo "/etc/wireguard/wg0.conf" o conteudo abaixo:
[Peer]
PublicKey = {PUBKEY_CLIENT}
AllowedIPs = {IP_VIRTUAL_CLIENT}/32
PersistentKeepAlive = 25
Onde:
- PUBKEY_CLIENT: PublicKey do cliente, e deve ser fornecido pelo mesmo na configuração
- IP_VIRTUAL_CLIENT: IP interno do cliente dentro da rede
