我が家もIPoEで、IPv6通信が快適(?)になった。
そこで、Dell(Lubuntu)(以下、Dell君)で、VPNサーバーをIPv6接続させようとしているんだけど、どうもIPv6で通信してくれない…

その原因と、対策を調べてみた。






やりたいこと

実は、VPSとDellをSoftEtherVPNのブリッジ接続しています。
そうすることによって、家のIPアドレスが変わっても、固定のIPで家に接続できます。
でも、今は、IPv4で接続しているので、多少遅い(かな?)。
んで、超高速(?)なIPv6を使用して接続しようとしているのだけど、どうも、Dell君がIPv6をしゃべってくれない。

正確には、セグメント内だと、IPv6通信できるのだが、セグメント外(NTT-Com外)だと、つながらないみたいだ。

んで、Dell君の接続状況を見たら、デフォルトルートが「fe80:なんちゃらかんちゃら〜」になっているではないか?
それか?と思ったんだけど、Windowsでも、同じデフォルトルートだったorz

う〜ん…わからん

以下やったこと
  1. UbuntuでIPv6を有効にする方法 - 備忘録などいろいろで、「/etc/ufw.conf」の設定を変更
    →NG
  2. IPv6優先順位変更 Windows, Linux – docodemo conohaで、「recedence ::ffff:0:0/96 10」の値を変更
    →NG
  3. 「/etc/sysctl.conf」の「net.ipv6.conf.all.forwarding」を「1」
    →NG
  4. 「/etc/sysctl.conf」の「net.ipv6.conf.all.accept_source_route」を「1」
    →NG
う〜ん…名前は何とか引けて、繋いで行っているように見えるんだけど、クライアント側が「SYN_SENT」でサーバー側が「SYN_RECV」の状態で止まってしまう。
「ACK」を出したのか、出していないのかは、わからない。
でも、何となくサーバー側で「ACK」は出したけど、クライアント側で受け取っていないような気がする。

ということで

パケットキャプチャしようかと思う。
ググったところ、「tcpdump」というコマンドがあるらしい。
参考
超絶初心者むけtcpdumpの使い方 - Qiita

さっそく、適当に「tcpdump」のみ実行したら…
…死んでしまうorz
SSHで接続しているのも、表示されるから、フィルターしないと、死んでしまう。
上記のサイトでは
tcpdump host [target_ip]
でフィルタできるみたいだけど、IPv6も対応しているのかな?
試してみよう。

…できたみたいだけど、送信はしているが、受信されない…

あれ?パケット漏れてる?

tcpdumpをしているクライアント側と同じネットワークのWindowsでsshで、サーバー側(VPS)につないでいるんだけど、パケットがキャプチャされてしまっているんですけど…
IPv4接続で、回避しました。
IPv6って、いろんなところにパケット流れちゃうの?orz

いまいち見方がわからん

というわけで、dumpファイルを保存し、WireSharkで見てみる。

WireSharkが入っていなかった…orz

私としたことが…
会社では、よく使っていたので、家でも入っているかと思ったのに…orz
ということで、「Wireshark ・ Download」から、ダウンロードする。

試しにDell君宛のパケットをキャプチャしてみたんだけど…

できなかったorz
あれ?
Windowsと仕様が違うの?

Dell君がサーバー側から来たSYN/ACKを受け取ってくれないよ〜

いろいろ、解析した結果。
Dell君がサーバー側から送信されたSYN/ACKを受信されていないことが判明。
つまり、どっかでドロップしたのか、Dell君がドロップしたのかは定かではないorz
Windowsでできるんだから…

ということで、今日はここまでして寝ますorz

…疲れたorz

読んでいただき、ありがとうございます。
カンパを募っております。
お返しに、自作仮想通貨(トークン)
KWDCOIN(カワダコイン)をお渡ししています。
詳しくは、こちら。

ご支援のほどよろしくお願いいたしますm(__)m


マスタリングTCP/IP IPv6編 第2版
井上 博之 黒木 秀和 小林 直行 志田 智 鈴木 暢 矢野 ミチル
オーム社
売り上げランキング: 295,204