anúncios

quinta-feira, 15 de setembro de 2022

Instalando e Configurando o VPN WireGuard no Linux

WireGuard é um software e protocolo de comunicação gratuito e de código aberto. Ele é usado para implementar técnicas de Rede Virtual Privada (VPN) na criação de conexões seguras de ponto a ponto em configurações roteadas ou de ponte.

Instalando o WireGuard

Segue, conforme a distro mencionada o qual estiver utilizando no seu computador ou servidor.

Debian/Ubuntu

$ sudo apt install wireguard

Fedora

$ sudo dnf install wireguard-tools

Arch

$ sudo pacman -S wireguard-tools

openSUSE $ sudo zypper install wireguard-tools

RHEL 8

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
$ sudo yum install kmod-wireguard wireguard-tools

Habilitar o forward

$ sudo vim /etc/sysctl.conf

descomentar a linha (retirar o # na frente)

net.ipv4.ip_forward=1 $ sudo systctl -p
# mkdir /etc/wireguard
# umask 077
# wg genkey | tee privatekey | wg pubkey > publickey

Repetir para no cliente Linux, que irá conectar no servidor VPN WireGuard


Configurando o WireGuard


# vim /etc/wireguard/wg0.conf

[Interface]
PrivateKey = <contents-of-server-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-client-publickey>
AllowedIPs = 10.0.0.2/32

Verifique as chaves pública e privada nos diretórios a seguir:

$ sudo cat /etc/wireguard/publickey
$ sudo cat /etc/wireguard/privatekey
# ip link add dev wg0 type wireguard
# ip address add dev wg0 192.168.2.1/24

ou dois peers

# ip address add dev wg0 192.168.2.1 peer 192.168.2.2
# wg setconf wg0 /etc/wireguard/config.conf
# ip link set up dev wg0

Inicializar o WireGuard no boot do sistema


# wg-quick up wg0

Saída de retorno

[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# wg show
# systemctl enable wg-quick@wg0
# modprobe wireguard

Adicionar a liberação da porta 51820 UDP no firewall


Configuração do cliente Linux


$ sudo mkdir -p /etc/wireguard
$ sudo vim /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.2/32
PrivateKey = <contents-of-client-privatekey>
DNS = 1.1.1.1

[Peer]
PublicKey = <contents-of-server-publickey>
Endpoint = <server-public-ip>:51820
AllowedIPs = 0.0.0.0/0, ::/0

Configurar para inicializar no boot do cliente Linux

$ sudo wg-quick up wg0
$ sudo systemctl start wg-quick@wg0

Referências

https://www.wireguard.com/

Feito!

Nenhum comentário:

Postar um comentário