Rebuilding the Blog and Resolving the Issue of Only TCP Communication Becoming Unreachable from Starlink to ConoHa VPS

6 min

language: ja bn en es hi pt ru zh-cn zh-tw

Hello, I'm Munou.

It's been a while since the last update. Actually, some articles from late 2025 got blown away, and here we are now.

Codex

Recently, I started using Codex, and the development experience was so good that I've gotten completely hooked.

So, I re-architected the blog using Codex, moving away from Lume CMS, which I had been dissatisfied with for a long time.

It's good that I can write in SSG's Markdown, but since I was mostly updating from the browser, I realized there was no point in specifically writing with my usual editor, vim.

Image-related issues were particularly problematic, making me reluctant to update the blog easily...

The code is published here, but it's full of bugs right now.

GitHub - haturatu/alleycat: cms

GitHub - haturatu/ViMusic

It seems like maintenance could be resumed, so I started maintaining it again. And surprisingly, when I replied to someone on Reddit looking for a fork, it turned out to be someone who had already opened an issue on my repository.

The world is a small place, isn't it?

Network becomes unreachable to ConoHa VPS

Then, a problem suddenly occurred.

It seems that a Path MTU Black hole was occurring. It was truly strange; things requiring UDP communication like WireGuard, and DNS servers, were reachable, but all TCP-based communications like SSH and HTTP were failing.

Since ConoHa VPS itself is hosted on FreeBSD, I looked into it and found information that the problem could be solved by normalizing packets using the scrub function of the packet filter (pf), so I configured it as follows.

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
~~~

With this, both upstream and downstream are normalized, and the packet segment size becomes 1360.

Mysterious Point

As a possible cause for this, there was speculation that Starlink's CGNAT might be faulty.

$ 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.347ms 
 1:  192.168.1.1                                           1.293ms 
 2:  100.64.0.1                                           53.580ms asymm  3 
 3:  172.16.251.26                                        37.025ms 
 4:  206.224.70.208                                       34.552ms (incomplete router returned corrupted data) asymm  7 
 5:  206.224.70.184                                       37.307ms 
 6:  210.171.225.229                                      34.518ms 
 7:  No response
 8:  172.71.4.43                                          34.303ms 
 9:  162.159.109.87                                       39.922ms 
10:  162.159.109.55                                       33.535ms 
11:  No response
12:  172.70.165.3                                         56.395ms asymm 11 
13:  150.95.7.204                                         46.647ms asymm 10 
14:  150.95.7.139                                         66.797ms asymm 11 
15:  150.95.7.147                                         46.542ms asymm 12 
16:  No response
17:  No response
18:  No response

Originally, even though the default packet size for Starlink and my network environment was 1500, I had the impression that TCP communication handled things appropriately, but I couldn't understand why this suddenly occurred this month between ConoHa VPS <-> Starlink.

If Starlink's original CGNAT was faulty, it wouldn't be strange for the problem to have occurred much earlier, but it's such a mysterious phenomenon that I've been feeling uneasy about it.

Related Posts