Starlink IPをDNSサーバに通知して自宅WireGuardサーバを実現しようと思ったらできなかった
3 min read
こんにちは、土日潰して調査していた無能です。
TL;DR
Starlink IPv4はCG NAT経由なので、なんにせよアウトバインドからは到達できません。
共有IPであり、途中で色々経由して割り振られるので無理です。
IPv6はそれぞれに割り当てられるので行けるかと思いきや、これもアウトバインドは閉ざされているようです。
つまりポートフォワーディングができていないかも、みたいなとこもありますが・・・。 全てのポートでリクエスト送ったわけではないですが、一般的なWell Known PortsはTCPもUDPも駄目でした。
最低限80/tcp
とか、53/udp
いけるのでは?と思った私が甘かったです。
やりたいこと
できなかったわけですがやりたかったことを書いておきます。
スマホ <-> 自宅サーバが直接疎通できればVPSの帯域制限無く疎通できるはず。
A/AAAAレコードを設定しWireGuardのエンドポイント先指定ができれば、あとはIP通知さえできればクライアント側の設定は変更せずに行けるはずや!と思いました。
WireGuardサーバエンドポイント例: test.example.com:51820
なので自分で作ったGitHub - haturatu/conoha-dns: ConoHaのDNSをCLIで操作できるツールをシェルスクリプトで変更あれば更新するようにGitHub - haturatu/conotify: ConoHa DNSで自宅のPublic IPを通知して更新してくれるスクリプトをビール飲みながら書いてた。
結果的にはスクリプトは動いたけど駄目だった・・・。細かくやるならば、API叩く前にグローバルIPをハッシュしといて/tmp
とかに吐き出して差分アレば更新とかでよかったかもなあと思っているけど・・・。
ip addrの調査
そもそも51280/udp
はローカルでも疎通できないようになっていて、試してはいないけど他のUDP
ポートは疎通ができた。
一応、ローカル環境下では見せかけのグローバルIPであればローカルからのアクセスとしてうまいことルータが振り分けているっぽく基本どうやっても疎通が通る。
しかし、外部通信、例えば別の回線からリクエストが通るかどうか?を試した結果、どうやってもIPv6
では到達ができなかった・・・。
もちろん、IPv4
は言わずもがな、である。
一般的にはsudo ufw allow 80/tcp
すればそのポートが公開されるのでそれでIPv6
でリクエストを送ったら別回線からは完全に到達できない・・・。
自宅サーバはiptables
化しているのでufw
は使っていないですが、NATルール書いてetc....諸々やったけど駄目でした。
Starlinkルータが空いているポート
これはローカルなので、自分のStarlinkルータにnmap
した結果です。
いや、驚きだったのが昔のtor
ポートが空いているんですよね。
とはいえ、デフォは9050/tcp
だったか?
でもIANA
のページ見ると別にそんなこともなさそうなので、まあたまたまnmap
のサービスプロトコル表示違いなだけでしょう。
Service Name and Transport Protocol Port Number Registry
謎に9000/tcp
- 9006/tcp
が空いているというのが不思議ですが・・・なんのため?
TCP:
$ nmap -p 1-65535 192.168.1.1
Starting Nmap 7.98 ( https://nmap.org ) at 2025-10-19 20:45 +0900
Nmap scan report for 192.168.1.1
Host is up (0.0021s latency).
Not shown: 65524 filtered tcp ports (no-response)
PORT STATE SERVICE
22/tcp open ssh
53/tcp closed domain
80/tcp open http
443/tcp closed https
9000/tcp open cslistener
9001/tcp open tor-orport
9002/tcp open dynamid
9003/tcp open unknown
9004/tcp open unknown
9005/tcp open golem
9006/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 105.11 seconds
UDP:
$ sudo nmap -sU -p 1-65535 192.168.1.1
Starting Nmap 7.98 ( https://nmap.org ) at 2025-10-19 20:51 +0900
Nmap scan report for 192.168.1.1
Host is up (0.0076s latency).
Not shown: 65534 open|filtered udp ports (no-response)
PORT STATE SERVICE
53/udp open domain
MAC Address: 74:24:9F:4C:E2:67 (Tibro)
Nmap done: 1 IP address (1 host up) scanned in 1001.46 seconds
HTTP
最低限HTTPサーバ(80/tcp)は行けるやろ!
無理っす。。。