2021年9月30日木曜日

家からVPNが繋がらない場合の対処法:ISPのIPv6オプション(IPoE)でVPN接続

最近はISP(Internet Service Provider)によって、IPv6オプション(IPoE)というものがある。

従来までのPPPoEは、ダイヤルアップ方式接続(PPP)をイーサネット(IPv4)上で実現しましょう、的なもので詳細は他ページに譲るが、要点としては、網終端装置を通るためそこがボトルネックになっている、ということ。

そこで出てきたIPv6オプション(IPoE)は、網終端装置を通らないためPPPoEと比較すると通信がスムーズになるというメリットがある。

私の契約してるISPもIPv6オプション(IPoE)対応なので、早速使ってみたがテレワーク用PCから会社へのVPNが接続できなくなってしまった。

ネットを見てみると同じような話がたくさんあるため、これについても原因等は他ページを参照いただきたい。
(要はIPv4 over IPv6のあたり)

ここでは、IPv6オプション(IPoE)を使いながらも、VPN接続する方法があったためそれを紹介する。

【環境】
VDSL方式(マンション)で、ブロードバンドルータ兼Wi-Fiルータでインターネット接続(一応メーカーはBuffalo)。
このルータはデフォルトでIPv6接続方法:「インターネット@スタートを行う」になっていて、そのままIPv6オプション(IPoE)接続になってくれる。
※IPv6オプション(IPoE)開通連絡を受け取った後にルータの再起動だけ実施。
※なお、この設定を「IPv6を使用しない」にすると、VPNも繋がった。つまりIPv6オプション(IPoE)を諦めてPPPoEに戻すやり方。

ISPで、IPv4接続かIPv6接続かの確認ページが用意されていたので、ページを開いてちゃんとIPv6接続になっている事を確認。

テレワーク用PC含めて家庭内の機器は、ブロードバンドルータ兼Wi-FiルータにWi-Fiで接続する形。

【VPNに接続できてなかった時の症状】
テレワーク用PCで会社へVPN接続しようとすると、VPN接続時のIKEパケットでタイムアウトになって接続できない、という状態だった。

ネットを見ると「IPoEにはこういう問題があって無理なのでPPPoEに戻した」と言うのが大半なので「残念だけどIPv6オプション(IPoE)は無理か」と諦めかけた。


【解決策】
試行錯誤した結果、テレワーク用PCでPPPoE接続することで会社にもVPN接続できた。

「別途LANケーブルを繋いだのか?」と思われるかもしれないが、そうではなく、Wi-Fi経由でである。

他のページでは別のルータを間に挟んだりする解決策もあったが、このページで紹介する対策は追加機器も追加配線もなく、すっきり解決できたと思う。

【詳細】
接続形態としては
インターネット - 回線 - BBR -(Wi-Fi)- テレワーク用PC
である。(BBR: ブロードバンドルータ兼Wi-Fiルータ)

テレワーク用PC(Windows 10)上で、ネットワーク設定から「ダイヤルアップ」に新しい接続を作成。
BBRに設定した、ISP接続情報と同じ情報で作成。
「アダプターのオプションを変更する」を開き、作成したダイヤルアップ接続のプロパティを開いて、「ネットワーク」タブのTCP/IPv6のチェックを外す。

(脱線)
※確かに複数機器でダイヤルアップ接続して良いのかな?と思いちょっと検索してみたところ、ISPによっては制限していたりする模様。私のISPは大丈夫だった。
でもこれも時代的な背景があると思って、昔はBBRなんかなくてPCで直接ダイヤルアップ接続(はるか昔はPPPoEではなく、本当の電話番号でのダイアルアップ^^)してたし、人によっては複数台でダイヤルアップしたいとかで、複数接続も許容されてるのだろうか、と思った。
(複数接続については、個人契約の電話回線1回線は1通話なので、ISDN(「ネットしながら電話もできる!」「64ろくよん64ろくよん128いちにっぱ!」(by 中居正広))とか以降の話ですかね?)
(また、それこそPCで直接ダイヤルアップ接続してた時代の方の中には「各PCからそれぞれ直接ダイヤルアップすれば済む話でブロードバンドルーターなど不要だ!その分安くしてね。」という方もおられるかもしれない^^)
(脱線終わり)

続いて、作成したダイヤルアップ接続で接続。
会社VPNの接続先アドレスを、ダイヤルアップ接続側を通るように静的ルーティングを通すことで、VPNも無事に接続できた。

【コマンド紹介】
※コマンドプロンプトやipconfig, routeコマンド、ルーティングを知ってる人前提で書いてます。
※あと、ダイヤルアップ接続側かWi-Fi接続側かのどちらが優先経路になってるか次第で、以下のルーティング操作は不要な場合もあります。
 ダイヤルアップ接続側が優先の場合は、ダイヤルアップ接続しただけでVPNも繋がるはずです。ダメだった場合は以下のように静的ルーティングを明示的に通す方法を試してください。

ダイヤルアップ接続後に
ipconfig /all
でダイヤルアップ接続に割り振られたIPアドレスを確認
例: 100.111.122.133

route print
でダイヤルアップ接続のインターフェース番号を確認
例: 
======================
インターフェース一覧
99 .......................... IPoE回避用PPPoE
↑これがインターフェース番号

会社VPNの接続先アドレス(例: 50.60.70.80)がダイヤルアップ接続接続側を通るように、静的ルーティングを通す。
route -p add 50.60.70.80 100.111.122.133 metric 1 if 99
※ifの引数に、確認したインターフェース番号を記載

そして、VPN接続したところ無事に接続できた!

唯一の欠点としては、ダイヤルアップ接続に割り振られるIPアドレスは毎回変わるので、静的ルーティングも毎回割り当て直す必要があること。
毎回ルーティングの削除と追加をセットで行えば良い。
route delete 50.60.70.80                                                            ←削除
route -p add 50.60.70.80 100.111.122.133 metric 1 if 99        ←追加

ネット情報で諦めかけていた方や、別の機器やLAN配線を追加したく無い方は参考にしていただければ幸いです。
(ネット黎明期に本気で従量課金ダイヤルアップをされていた方であれば、これくらいの手数は楽勝でしょう^^むしろ「またこんなところでダイヤルアップに巡り会えるとは!」と感傷に浸ることができます。)

※私は会社VPNに接続する必要があるPCは1台しか無いので、直接ダイヤルアップ方式でよかったですが、複数台PCでVPNを張る必要がある方は、PPPoE専用ルータを置いたり、PC間でルーティングを工夫したりしたほうがいいかも知れません。もちろん全PCでダイヤルアップもありだと思います。(頻度次第)

0 件のコメント:

コメントを投稿