"muito alto" (provavelmente?) MTU sendo definido automaticamente na interface wireguard

"muito alto" (provavelmente?) MTU sendo definido automaticamente na interface wireguard

Então, tenho um VPS rodando no Amazon Lightsail e instalei o wireguard nele; Eu configurei uma interface desta forma:

[Interface]
Address = 10.255.128.1/24
MTU = 1420
SaveConfig = true
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = ********************************************

Então algo muito estranho aconteceu: eu coloco o iface UP e executo sudo ip addr, então obtenho esta saída

3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 8921 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.255.128.1/24 scope global wg0
       valid_lft forever preferred_lft forever

A coisa estranha? Olhe para amtu 8921

Então vou para o arquivo conf e, para minha surpresa, o valor que defini para mtu está sendo substituído por 8921.

sudo systemctl status [email protected]fornece esta saída:

Nov 18 16:04:08 ip-172-26-0-77 systemd[1]: Starting WireGuard via wg-quick(8) for wg0...
Nov 18 16:04:08 ip-172-26-0-77 wg-quick[583]: [#] ip link add wg0 type wireguard
Nov 18 16:04:09 ip-172-26-0-77 wg-quick[583]: [#] wg setconf wg0 /dev/fd/63
Nov 18 16:04:09 ip-172-26-0-77 wg-quick[583]: [#] ip -4 address add 10.255.128.1/24 dev wg0
Nov 18 16:04:09 ip-172-26-0-77 wg-quick[583]: [#] ip link set mtu 8921 up dev wg0
Nov 18 16:04:09 ip-172-26-0-77 wg-quick[583]: [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING >
Nov 18 16:04:09 ip-172-26-0-77 systemd[1]: Finished WireGuard via wg-quick(8) for wg0.

O que está acontecendo aqui?

Responder1

SaveConfig = truedirigewg-rápidopara substituir o arquivo de configuração de uma interface WireGuard pelas configurações atuais da interface quando a interface for desligada (ou reiniciada). Este é um comportamento indesejável para muitos usos do WireGuard, e é por isso que ele não está ativado por padrão. O motivo mais comum pelo qual você deseja ativá-lo é se você faz alterações frequentes em uma interface WireGuard ativa enquanto ela está ativa e não deseja duplicar essas alterações manualmente no arquivo de configuração.

Se você usar SaveConfig = truee quiser fazer uma alteração na interface do WireGuard, normalmente faria isso por meio dowgcomando (para configurações específicas do WireGuard) ou (no Linux) oIPcomando (para configurações gerais da interface de rede).

Por exemplo, para definir o MTU de uma interface WireGuard ativa chamada wg0, 1420execute o seguinte comando (como root):

ip link set wg0 mtu 1420

Alternativamente, desligue a interface do WireGuard com o wg-quick down wg0comando (ou systemctl stop wg-quick@wg0se você estiver executando-a como um serviço systemd), faça a alteração no arquivo de configuração do WireGuard e, em seguida, reinicie a interface com o wg-quick up wg0comando (ou systemctl start wg-quick@wg0).


Se você não configurar explicitamente um MTU para uma interface WireGuard, o wg-quick é inteligente o suficiente para fazer uma boa estimativa para você, com base no MTU da interface de rede (física) que ele espera que o túnel use. A interface de rede da maioria das instâncias EC2 usaquadros gigantes(MTU de 9001). Portanto, nessas instâncias EC2, o wg-quick adivinhará que a interface WireGuard deve usar um MTU de 8921 (80 bytes menores que 9001, para permitir que cada pacote seja empacotado com cabeçalhos UDP/IP e WireGuard).

Então o que provavelmente aconteceu é que você configurou originalmente a interface WireGuard com SaveConfig = true, mas sem MTU. Quando você iniciou a interface com wg-quick, ele definiu um MTU de 8921 para a interface. Então, enquanto a interface estava ativa, você editou o arquivo de configuração do WireGuard para adicionar arquivos MTU = 1420. Quando você reiniciou a interface, sua alteração foi substituída pela MTU existente da interface.

informação relacionada