Wireguard No OpenBSD
Rodrigo Mosconi
A maioria dos hosts que tenho são OpenBSD, mas por questões externas, necessitam consumir serviços que estão hospedados em um linux. Para uso de alguns recursos, é necessário que os dados se comuniquem por meio de uma VPN, que poderia ser IPSEC/IKE2, mas optou-se pelo wireguard por conta de sua configuração simples, uso de interface virtual, e pelo suporte a múltiplos sistemas operacionais, incluindo Linux, Android, BSDs, Windows, entre outros.
Optou-se por configurar a comunicação de VPN sobre IPv6, e a rede interna será IPv4.
Configurando wireguard
Gere a chave privada:
openssl rand -base64 32
Configurar o arquivo /etc/hostname.wg0 para a interface wg0, usando o valor da chave criada anteriormente.
inet 172.17.0.1/28
wgport 51820
wgkey <chave privada>
up
Para cada host (peer) é cadastrado entradas:
wgpeer <chave pública do host> wgendpoint [IPv6] 51820 wgaip 172.17.0.4 wgaip 172.17.1.4 wgdescr "descrição"
Gerenciando como interface de rede
Iniciando a interface:
doas sh /etc/netstart wg0
Verificando
Usar ifconfig para exibir status e utilização:
doas ifconfig wg0
wg0: flags=80c3<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu 1420
index 15 priority 0 llprio 3
wgport 51820
wgpubkey <chave pública>
wgpeer <chave pública do host>
wgdescr: descrição
wgendpoint [IPv6]
tx: 60883308, rx: 102398392
last handshake: 73 seconds ago
wgaip 172.17.1.4/32
wgaip 172.17.0.4/32