1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

V6プラス環境下でDiscordのボイスチャットに接続できない(未解決)

Last updated at Posted at 2025-03-28

発生している問題

フレッツ光クロスV6プラス固定IPのデュアルスタック環境下で一部サービスに接続できない問題が発生しています。

  • Discordのボイスチャット
  • Switchbotのハブがネットにつながらない

まだ未解決ですがトラシュー過程をメモがてら残しておきます。

調査

プロセスIDを確認

タスクマネージャ -> 詳細 を開き上部の検索欄からDiscordを検索する

image.png

DiscordのプロセスIDが確認できた

  • 2776
  • 44656
  • 40376
  • 41280
  • 42456
  • 36424

プロセスIDから使用しているポート番号を確認

netstatで各プロセスIDの通信を表示し使用中のIP・ポートを確認します。

PS ~> netstat -ano | find '"2776"'
PS ~> netstat -ano | find '"44656"'
PS ~> netstat -ano | find '"40376"'
PS ~> netstat -ano | find '"41280"'
  TCP         192.168.10.100:53629   162.159.138.232:443    ESTABLISHED     41280
  TCP         192.168.10.100:55208   162.159.130.234:443    ESTABLISHED     41280
  TCP         [240b:251:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX]:57223  [2600:1901:1:a8::]:443  ESTABLISHED     41280
  TCP         [240b:251:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX]:65070  [2606:4700:7::a29f:81eb]:443  ESTABLISHED     41280
PS ~> netstat -ano | find '"41280"'
  TCP         192.168.10.100:53629   162.159.138.232:443    ESTABLISHED     41280
  TCP         192.168.10.100:55208   162.159.130.234:443    ESTABLISHED     41280
  TCP         [240b:251:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX]:57223  [2600:1901:1:a8::]:443  ESTABLISHED     41280
  TCP         [240b:251:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX]:65103  [2606:4700:7::a29f:81eb]:443  ESTABLISHED     41280
PS ~> netstat -ano | find '"42456"'
  TCP         127.0.0.1:6463         0.0.0.0:0              LISTENING       42456
PS ~> netstat -ano | find '"36424"'
PS ~> 

ボイスチャットに接続したときにIPが変化するのは42180だけなのでそのあたりの通信を見ていきます。

パケットキャプチャ

WireSharkでパケットキャプチャし問題が起きていそうな通信を探ってみます。
PID 41280の4行目がボイスチャットへの接続思考をするたびにポート番号のみ変動しているので宛先IPで絞込をします。

image.png

もっと真っ黒かと思ってたけど・・・
WebRTCのプロトコルは全然詳しくないのでぱっと見で判断できませんでした。

余談

WebRTCの挙動について調べていたところ下記のページを見つけました。
v6ネットワーク上でv6に対応していないソフトウェアがWebRTCで通信する場合DNS64+NAT64で通信しますが事はそう単純ではないとの事。

これを踏まえ、v6環境下でのWebRTCに追試調べていると下記のフォーラムに辿り着きました。

Google翻訳

Discord の音声は機能せず、Steam クライアントはログインできず、v6 を考慮していない WebRTC の多くの機能は機能しません。IPv4 リテラル アドレスを使用できると想定されているものはすべて機能しません。Java ソフトウェアは、設定しない限り、デフォルトで IPv4 DNS ルックアップを使用しますjava.net.preferIPv6Addresses=true。つまり、Minecraft などのゲームやその他の Java ソフトウェアは、そのオプションを指定しない限り接続に失敗します。Node.js もデフォルトで DNS に IPv4 を使用するため、npm インストールなどが機能しません。うーん、思いつくのはこれだけです。自分のネットワークでは NAT64 を実行しているので、これはすべて個人的な経験です。

v6オンリーのネットワークで同じ問題が起きている人は一定数居そうです。解決には至っていませんがなんとなくDNSが悪そうという見当をつけることはできました。

ちなみにLAN内のAndroid端末からCloudflare 1.1.1.1経由で接続した場合は問題なくボイスチャットに入れます。

今後の対応

我が家はv6オンリーではないのでDNSサーバーを立てて名前解決時にv4のアドレスを渡せば解決できるのでは?と思ったのでとりあえずDNSサーバーの構築からやっていきます。

進展があればまた追記しようかと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?