Seguindo a documentação do wireguard para conteinerização comum, ele funciona com algo semelhante a este arquivo de configuração:
# /etc/wireguard/wg0.conf
#
[Interface]
PrivateKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
[Peer]
PublicKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 11.111.111.111:51820
# Problem, using the following Endpoint won't work
# and the DNS entry is not allowed with wg setconf
# Endpoint = my.vpn.location.com:51820
O problema é que o endpoint precisa ser um ip, já que é um domínio o wireguard não consegue resolver durante o link set gw0 up
.
Como na conteinerização comum wg setconf
é usado, nenhum DNS e endereço são permitidos na seção Interface.
O seguinte funcionaria com wg-quick
embora
# /etc/wireguard/wg0.conf
#
[Interface]
PrivateKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
Address = 10.14.0.2/16
DNS = 123.456.789.01
[Peer]
PublicKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = my.vpn.location.com:51820
wg-quick
é capaz de resolver my.vpn.location.com
, mas como saber wg setconfg
como resolver my.vpn.location.com
em vez de ter que codificar o IP para o Endpoint?
NOTA: Estes são os comandos que uso para configurá-lo wg setconf
onde o endpoint com ip funciona, mas não com um domínio.
# ip netns add container
# ip link add wg0 type wireguard
# ip link set wg0 netns container
# ip -n container addr add 10.14.0.2/16 dev wg0
# ip netns exec container wg setconf wg0 /etc/wireguard/wg0.conf
# ip -n container link set wg0 up
# ip -n container route add default dev wg0
Conforme sugerido, esta questão foi trazida aqui de networkengineering.stackexchange