AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1116070
Accepted
Yoel Navas Escalante
Yoel Navas Escalante
Asked: 2022-11-19 08:43:13 +0800 CST2022-11-19 08:43:13 +0800 CST 2022-11-19 08:43:13 +0800 CST

“非常高”(可能?)MTU 在 Wireguard 接口上自动设置

  • 772

所以,我有一个运行在 Amazon Lightsail 上的 VPS,我在上面安装了 wireguard;我这样设置界面:

[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 = ********************************************

然后发生了一些非常奇怪的事情:我启动 iface 并运行sudo ip addr,然后我得到了这个输出

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

奇怪的事情?看着那(这mtu 8921

然后我转到 conf 文件,令我惊讶的是,我为 mtu 设置的值被 8921 覆盖了。

sudo systemctl status [email protected]给出这个输出:

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.

这里发生了什么?

wireguard
  • 1 1 个回答
  • 58 Views

1 个回答

  • Voted
  1. Best Answer
    Justin Ludwig
    2022-11-22T15:06:29+08:002022-11-22T15:06:29+08:00

    SaveConfig = true当接口关闭(或重新启动)时,指示wg-quick使用接口的当前设置覆盖 WireGuard 接口的配置文件。对于 WireGuard 的许多用途而言,这是不受欢迎的行为,这就是默认情况下不启用它的原因。您想要打开它的最常见原因是,如果您在 WireGuard 启动时频繁更改活动的 WireGuard 接口,并且不想在配置文件中手动复制这些更改。

    如果您确实使用SaveConfig = true,并且想要更改 WireGuard 接口,您通常会通过wg命令(用于 WireGuard 特定设置)或(在 Linux 上)ip命令(用于一般网络接口设置)来完成。

    例如,要设置名为 的活动 WireGuard 接口的 MTU wg0,请1420运行以下命令(以 root 身份):

    ip link set wg0 mtu 1420
    

    或者,使用命令关闭 WireGuard 接口wg-quick down wg0(或者如果您将其作为 systemd 服务运行),更改 WireGuard 配置文件,然后使用命令(或)systemctl stop wg-quick@wg0再次启动接口。wg-quick up wg0systemctl start wg-quick@wg0


    如果您没有为 WireGuard 接口显式配置 MTU,wg-quick 足够聪明,可以根据它期望隧道使用的(物理)网络接口的 MTU 为您做出很好的猜测。大多数 EC2 实例的网络接口使用巨型帧(MTU 为 9001)。因此,在这些 EC2 实例上,wg-quick 会猜测 WireGuard 接口应该使用 8921 的 MTU(比 9001 小 80 个字节,以允许每个数据包用 UDP/IP 和 WireGuard 标头包装)。

    因此,可能发生的情况是您最初配置了 WireGuard 接口SaveConfig = true,但没有配置 MTU。当您使用 wg-quick 启动接口时,它为接口设置了 8921 的 MTU。然后,当接口启动时,您编辑了 WireGuard 配置文件以添加MTU = 1420. 当您重新启动接口时,您的更改将被接口的现有 MTU 覆盖。

    • 3

相关问题

  • Alpine 上的 Wireguard:启动后自动挂载 wg0

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve