Перестройка блога и решение проблемы недоступности только TCP-соединений от Starlink к ConoHa VPS
Привет, я некомпетентен.
Это было давно с последнего обновления. Точнее, некоторые статьи со второй половины 2025 года были утеряны, и вот мы здесь.
Codex
Недавно я начал использовать Codex, и опыт разработки был настолько хорош, что я полностью погрузился в него.
Поэтому я перестроил архитектуру блога, перейдя с Lume CMS, которым я был недоволен, на Codex.
Хорошо, что можно писать в Markdown для SSG, но поскольку я в основном обновлял через браузер, я понял, что нет смысла специально писать в моем обычном редакторе, vim.
Особенно проблемы с изображениями были камнем преткновения, и у меня не было желания легко обновлять блог...
Код опубликован здесь, но в настоящее время он полон ошибок.
GitHub - haturatu/alleycat: cms
Казалось, что обслуживание можно возобновить, поэтому я снова начал его поддерживать, и, что удивительно, когда я ответил человеку на Reddit, который искал форк, оказалось, что это был тот же человек, который открыл issue в моем репозитории.
Мир тесен, не так ли?
Сеть становится недоступной для ConoHa VPS
И тут внезапно возникла проблема.
Похоже, произошла проблема, называемая Path MTU Black hole. Это было действительно странно: вещи, требующие UDP-связи, такие как WireGuard, и DNS-серверы, были доступны, но все TCP-соединения, такие как SSH и HTTP, не работали.
Итак, поскольку сам ConoHa VPS размещен на FreeBSD, я изучил этот вопрос и нашел информацию о том, что проблему можно решить, нормализуя пакеты с помощью функции scrub пакетного фильтра (pf), и настроил его следующим образом.
set skip on lo
set block-policy drop
exsrv1 = dummy
insrv1 = dummy
insrv2 = dummy
wireguard_clients="{ dummy, dummy, dummy }"
wanint="vtnet0"
wg_ports="{51820}"
scrub in on $wanint all random-id max-mss 1360
scrub out on $wanint all random-id max-mss 1360
~~~Таким образом, как входящие, так и исходящие пакеты нормализуются, и размер сегмента пакета становится 1360.
Странный момент
В качестве причины этого происшествия было предположение, что CGNAT Starlink может быть неисправен.
$ mtr -T -P 443 -n -r -c 2 163.44.113.145
Start: 2026-02-24T00:13:53+0900
HOST: thepassenger Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.1.1 0.0% 2 1.4 1.5 1.4 1.6 0.1
2.|-- 100.64.0.1 0.0% 2 19.3 19.4 19.3 19.4 0.1
3.|-- 172.16.251.26 0.0% 2 20.1 23.4 20.1 26.8 4.8
4.|-- ??? 100.0 2 0.0 0.0 0.0 0.0 0.0
5.|-- 206.224.70.186 0.0% 2 25.9 22.3 18.8 25.9 5.0
206.224.70.182
6.|-- 210.171.225.229 0.0% 2 23.0 22.7 22.4 23.0 0.4
7.|-- ??? 100.0 2 0.0 0.0 0.0 0.0 0.0
8.|-- 172.71.208.15 0.0% 2 24.9 23.1 21.3 24.9 2.5
162.159.109.42
9.|-- 172.71.4.38 0.0% 2 21.9 23.3 21.9 24.8 2.1
172.64.212.62
10.|-- 172.71.4.35 0.0% 2 63.3 43.8 24.2 63.3 27.7
172.70.221.227
11.|-- ??? 100.0 2 0.0 0.0 0.0 0.0 0.0
12.|-- 172.70.165.3 0.0% 2 44.7 39.8 35.0 44.7 6.9
13.|-- 150.95.7.204 0.0% 2 33.4 34.0 33.4 34.6 0.8
14.|-- 150.95.7.139 0.0% 2 39.2 50.3 39.2 61.4 15.7
15.|-- 150.95.7.147 0.0% 2 36.6 37.2 36.6 37.9 0.9
16.|-- 163.44.113.145 0.0% 2 34.2 35.8 34.2 37.5 2.3$ tracepath -n -m 30 163.44.113.145
1?: [LOCALHOST] pmtu 1500
1: 192.168.1.1 1.347 мс
1: 192.168.1.1 1.293 мс
2: 100.64.0.1 53.580 мс asymm 3
3: 172.16.251.26 37.025 мс
4: 206.224.70.208 34.552 мс (Неполный маршрутизатор вернул поврежденные данные) asymm 7
5: 206.224.70.184 37.307 мс
6: 210.171.225.229 34.518 мс
7: Нет ответа
8: 172.71.4.43 34.303 мс
9: 162.159.109.87 39.922 мс
10: 162.159.109.55 33.535 мс
11: Нет ответа
12: 172.70.165.3 56.395 мс asymm 11
13: 150.95.7.204 46.647 мс asymm 10
14: 150.95.7.139 66.797 мс asymm 11
15: 150.95.7.147 46.542 мс asymm 12
16: Нет ответа
17: Нет ответа
18: Нет ответаИзначально, хотя размер пакета по умолчанию для Starlink и моей сетевой среды составлял 1500, у меня было впечатление, что TCP-соединения обрабатывают все корректно, но я не мог понять, почему это внезапно произошло в этом месяце между ConoHa VPS <-> Starlink.
Если бы исходный CGNAT Starlink был неисправен, было бы не странно, если бы проблема возникла раньше, но это настолько загадочное явление, что я до сих пор чувствую себя неловко из-за него.