楽天モバイル回線でForticlientによるSSL-VPNを行うと、下記の98%の状態で止まり、しばらく待つとエラーメッセージもなく未接続状態に戻ってしまう。
楽天モバイル回線以外でやってみると正常に接続できる。
2022/02/01追記: 今日からNTTドコモでIPv6シングルスタック化が始まったらしい。もしかして、類似の現象がドコモでテザリングした際に発生する可能性がある。
ちなみに他の回線でも発生する場合はデバイスマネージャのネットワークアダプタにある「WAN Miniport (IP)」をアンインストールし、Windows再起動することで再作成させることで治ることが多いようだ。
楽天モバイルの場合の事例についてぐぐるとIPv6を無効化するといける、という話があるので、そこらへんにヒントがあるな、と調べて見た。
調査方法は SSL-VPN接続先として指定するホスト名の名前解決を調べて見る
C:\> nslookup vpn.domain.local
サーバー: Unknown
Address: 192.168.43.1
権限のない回答:
名前: vpn.domain.local
Address: 64:ff9b::xxxx:xxxx
xxx.xxx.xxx.xxx
C:\>
IPv6アドレスは設定されていないはずなのにIPv6アドレスの応答があるとは何事???
Google DNSで名前解決を調べて見ると、こちらは想定通りのIPv4アドレスのみの応答となる。
C:\> nslookup vpn.domain.local 8.8.8.8
サーバー: dns.google
Address: 8.8.8.8
権限のない回答:
名前: vpn.domain.local
Address: xxx.xxx.xxx.xxx
C:\>
この設定していないはずのIPv6アドレス「64:ff9b::xxxx:xxxx」が何者なのか調べたところ、NAT64用に予約されているアドレス帯であることが判明。
JPNIC ニュースレターNo.64「NAT64/DNS64」
楽天モバイル網ではIPv6ベースで通信を行うため、IPv4のみの接続先についてIPv6に変換したアドレスを用意している、ということになるようだ。
ただ、FortiClientの実装上それでは都合が悪いようだ。
FortiClientのSSL-VPN接続先のサーバ指定を、サーバ名表記から、IPv4アドレス表記に変更し、「無効なサーバ証明書を非表示」に設定することで接続が完了することを確認した。
「無効なサーバ証明書を非表示」に設定する理由は、SSL証明書はホスト名に対して発行されており、IPアドレスに対しては発行されていないためです。(以前はIPアドレスに対しても発行できたが、現在は禁止されている)
2021/10/15追記
BIGLOBEがInfra Study 2nd #3「いまさら聞けないIPv6ネットワーク」というイベントで「DNSの振り分けでNAT64/DNS64の不具合を回避 ~固定回線でIPv4 over IPv6接続するための工夫~」という発表を行った。
BIGLOBEでは固定回線でもNAT64/DNS64を導入しているのですが、IPv6アドレスに変換されると困るサービスなどは、DNS64の名前解決を行わないようにDNSサーバ側で細工をしている、とのこと。
“楽天モバイル回線でForticlientによるSSL-VPNを行うと98%で止まるがエラーもない件の対処” への1件の返信