Дисклеймер: проверено на свежем ArchLinux с systemd-networkd. Скрипт достаточно наивен и работа на иных конфигурация может быть под вопросом. Отлаживать через ip rule
, ip route show table 10032590
.
$ curl https://gist.githubusercontent.com/PtaxLaine/2d4115a3c4004884a36d7f6f07bda666/raw/mtu_probe.sh | bash
pacman-based (Arch, Manjaro, etc)
Загрузить пакетированный скрипт archlinux-pmtud-bh-workaround-*.pkg.tar.zst
$ sudo pacman -U archlinux-pmtud-bh-workaround-*.pkg.tar.zst
apt-based (Ubuntu, Debian, etc)
Загрузить пакетированный скрипт debian-pmtud-bh-workaround-*.deb
$ sudo apt install -f ./debian-pmtud-bh-workaround-*.deb
Ручная
-
Установите зависимости
gawk
whois
gzip
iproute2
-
Клонируете скрипты во временную директорию
$ git clone https://github.com/PtaxLaine/pmtud-bh-workaround.git /tmp/pmtud-bh-workaround
-
Скопируйте файлы из временной директории
$ sudo cp -i /tmp/pmtud-bh-workaround/pmtud-bh-workaround.sh /usr/bin/pmtud-bh-workaround $ sudo cp -i /tmp/pmtud-bh-workaround/systemd/* /usr/lib/systemd/system/
[note] Если на шаге №0 обнаруженный MTU не был равен 1280, замените 1280
во второй команде на ваше значение
Перезагрузите список демонов systemd и активируйте сервис:
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now pmtud-bh-workaround@"AS32590:1280".service
$ ip route get 155.133.254.0
155.133.254.0 via GW dev DEV table 1029732590 src HOST uid UID
cache mtu 1280
[del]