ブログの作り直しとStarlinkからConoHa VPSにTCP通信だけ到達出来なくなる問題の解消
こんにちは、無能です。
久しぶりの更新になりました。というか記事が2025年後半のが一部吹っ飛んで今にいたります。
Codex
最近 Codex を使い初めて開発体験が良すぎて完全に沼に陥っています。
それで今までずっと不満だった Lume CMS から Codex 使ってブログのリアーキテクトしました。
SSGの Markdown で記述出来るのはいいんですがほとんどブラウザから更新したりしていたので結局普段使っているエディタ、 vim でわざわざかける意味も無いことに気がついて。
特に画像系が問題で手軽にブログ更新する気が起きず・・・。
コードはここで公開していますが現状バグだらけです。
GitHub - haturatu/alleycat: cms
GitHub - haturatu/ViMusic
も保守再開できそうでは、というのでまた保守しはじめたり、まさかの Reddit でフォーク先探している人にリプライしたら俺のレポジトリに issue 立ててくれてた人だったり。
色々世間は狭いものですね。
ConoHa VPSにネットワーク到達できなくなる
そうして、突然問題がおきました。
どうやら Path MTU Black hole ということが起きていたみたいです。実に不思議で、 WireGuard みたいな UDP 通信を要するもの、DNSサーバー等の到達は出来るのに TCP を要する SSH やら HTTP 通信系が全部駄目でした。
そこでConoHa VPS自体はFreeBSDでホストしているので調べていたらどうやらパケットフィルター ( pf ) の機能で scrub を使ってパケットの正規化を行うことで問題が解決出来るという情報を見て以下の用に設定。
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 となります。
不思議な点
これが起きている原因として Starlink のCGNATがおかしいのでは?という憶測があり
$ 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間で起きたのか意味がわかりませんでした。
元々のStarlink CGNATがおかしければ問題としてもっと早く起きていてもおかしくはないと思うのですが、どうも不思議な事象過ぎてずっともやもやしています。