V6プラス光回線でのVPNの設定までに、様々な問題に直面した。その顛末を残す。
前提となるネット環境
回線は、V6プラスセッションと固定IP(ipv4)セッション。V6プラス回線側にもraspberry piを接続し、そのraspiにwireguardでVPNを設置する。自宅外からVPN接続は、喫茶店のフリーwifiもしくはスマホ経由のテザリングを利用して自宅raspiに接続する事を想定している。
ONU: PR-S300SE ルーター: Aterm WG2600HS2 mobile sim: IIJmio (ipv6可能)
IPv4でwireguard設定トライとNG数々
wireguardを設定し、自宅では接続できたが、自宅外から試すもpingが返ってこない。 ここから、数々の試行が始まる。
・ルーターをオートecoモードにしていたせいでは?
ecoモードを無効にする。 ==> NG:変わらず
・raspi側でwifi落としているのでは?
raspiのpowerマネジメントをオフにする => NG:変わらず
・通信していないと切断されるのでは?
2分ごとにpingを送ってみる ==> NG:変わらず
・別の部屋に置いていたので電波強度が弱いとうまく行かない?
電波強度を50%から100%に戻す ==> NG:変わらず
・5G wifiだと切断されるのでは?
2.5G wifiに変えてみる ==> NG:変わらず
・念のためwifi切断があればリンクアップする
ping返らなければリンクアップ ==> NG:変わらず
※リンクアップ記録とっても発動なし
・wifiをあきらめて有線接続では?
有線接続に変更 ==> NG:変わらず
・帰宅後、ルータに繋がっているwindowsPCを起動してみる ==> 接続:変化あり
・帰宅後、raspiから外部(8.8.8.8)へping ==> 接続:変化あり
・そもそもwireguard用udpが届いているか?
ufw logでudp届いているかチェック ==>NG: 届いていない
(sudo ufw logging mediumが必要だった)
・ipv6ではどうか? ==>届いている
個人的見解その1
V6プラスでは一定時間外部へのアクセスが無いと、受信時IPv4へ変換する機能を停止しているのではないか。そのため、自宅へ繋がらない
この個人的結論の後、wireguardをipv6で運用を目指す事に方針変更した
IPv6でwireguard設定トライとNG数々
IPv6でwireguardを設定した。自宅wifiではwireguard接続はうまく動いた。 しかし、自宅外からトライすると、pingが返らない。 以降、新たな数々の試行が始まる。
・そもそも自宅からテザリングではどうか? ==>NG:状況変わらず
・ファイアウォールやフィルタリングのため?
ファイアウォールとフィルタリングを切る ==>NG:状況変わらず
・クライアント側wireguardソフトで受信パケット0B
・調べる方法が残り少ない
wiresharkでクライアント側を調べてみる ==>Handshake request以降見当たらず
wiresharkでサーバー側を調査 ==>Handshake requestを返している
・もしかして一時ipv6アドレスが関係?
一時ipv6アドレスの使用を止めてみる ==>NG:状況変わらず(wiresharkでも)
個人的見解その2
契約しているモバイルネットワーク経由では、フィルタリングか何かされておりHandshake responseは中継されない。
暫定処置
raspiから定期的に外部へアクセスし、IPv4でwireguard接続を行う。
宛先としては、他者に迷惑をかけないように、自宅固定IP(IPv4)アドレス内のサーバーへ、「nping -c 1 アドレス」をcronで行う。
結果
やった。ようやく自宅外からwireguard接続でき、pingも返ってきた。
おわった。長かった。バンザーイ。