Raspberry Pi 3B+ と VPSサーバ で ds-lite(IPv4 over IPv6ルータ) の構築 -conohaサーバ編- 途中結果状態です。

2018年12月13日

【お願い】
今回の構築は解らない部分・理解が出来ていない部分があり、たまたま通信が出来てしまったという状態です。
内容を訂正する場合が確実にあります。
以下のやり方について、PC,その他のトラブルについては責任を負いかねます。
よろしくお願いします。

検索エンジンで “ipoe ds-lite vps" となんとなーく調べてみたらところ、"VPSサーバ" と “YAMAHAルータ" を使ってds-liteを構築することが出来ると知りました。
『これはすげぇ~~~』と、言葉が出てしまいました。

でも、YAMAHAルータは持っていません。。。また、高額だから買えない。。。

そこで思ったのです。。。
“VPSサーバ + YAMAHAルータ の構築方法" と “Raspberry Pi 3B+ と Ipoe ds-lite 接続について" を利用して構築が可能ではないかと思い実験しました。
結果は出来てしまった。。。という状態です。
今回はそのことについて書きたいと思います。

【目的】
“VPSサーバ" と “Raspberry Pi 3B+" を使い1対1通信の “ipoe ds-lite" を構築する。

【必要前提】
・"NTTフレッツ光回線の環境" かつ “フレッツ 光ネクスト、フレッツ 光ライトプラス、フレッツ 光ライト" のサービスである。
・"フレッツ・v6オプション" の手続きが完了している。
・"Raspberry Pi 3B+" に OSがインストールがされている。
・加入されているプロパイダーに “ipv6アドレス" が利用できることを前提とします。※1※2
※1 ipv6アドレスは “INTERLINK サービス名:ZOOT NATIVE" とします。
※2 ipv6アドレスですが、接続方式・管理団体なの関係で異なります。ご注意を願います。

【必要サービス】
・CONOHA VPSサーバ サービス名:日本(東京) 512MB
・INTERLINK サービス名:ZOOT NATIVE

【必要機材】
・Raspberry Pi 3B+ 本体 ※3※4
・USB専用のLANアダプター ※4
・スイッチングハブ ※4
・LANケーブル 3つ ※4
・ディスプレイ(HDMI対応)
・マウス
・キーボード
・PC
※3 本体については、オプション品を使用しています。
※4 製品・機器の規格によりインターネット速度が異なります。ご利用される機器情報を必ず把握をして下さい。

【必要環境】
・Raspberry Pi 3B+ OS:NOOBS ver2.8.2 Raspbian
・centos 7.5

【設定方法】
1. Raspberry Pi 3B+ の設定
Raspberry Pi 3B+ と Ipoe ds-lite 接続について" の 【設定方法】項目1~9までの設定を行う。

2. CONOHAサーバ 専用トンネル・ゲートウェイの設定
2.1 カーネルモジュールを設定する。

[user@999-999-999-999 ~]# sudo modprobe ip6_tunnel

2.2 トンネリングの接続設定をする。

[user@999-999-999-999 ~]#  sudo ip -6 tunnel add ip6tnl mode ipip6 remote 【※5】local 【※6】

※5 Raspberry Pi 3B+ の取得されている IPv6アドレス【】は不要
※6 CONOHAサーバ の固定ipv6アドレス 【】は不要 ※7
※7 CONOHAサーバ ではipv6アドレスが 17個 用意されています。今回、ネットワーク設定で ipv6アドレスを1つだけ利用できるように設定しています。設定方法は検索エンジンなどでお調べをお願い致します。

2.3 トンネルインターフェースを有効化する。

[user@999-999-999-999 ~]#  sudo ip link set dev ip6tnl up

2.4 ip6tnlのデバイスのipアドレス設定

[user@999-999-999-999 ~]#  sudo ip addr add 192.0.0.1/30 dev ip6tnl

2.5 sysctl で カーネルパラメーターの設定

[user@999-999-999-999 ~]#  sudo sysctl -w net.ipv4.ip_forward=1
[user@999-999-999-999 ~]#  sudo sysctl -w net.ipv4.conf.all.forwarding=1
[user@999-999-999-999 ~]#  sudo sysctl -w net.ipv4.conf.eth0.rp_filter=0
[user@999-999-999-999 ~]#  sudo sysctl -w net.ipv4.conf.ip6tnl.rp_filter=0
[user@999-999-999-999 ~]#  sudo sysctl -w net.nf_conntrack_max=65535

2.5 NAT設定
ファイアウォールを設定行います。
追加・更新を行います。

#—2018年11月19日—追加分–開始

[user@999-999-999-999 ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv6" source address="【※8】" accept"
[user@999-999-999-999 ~]#  firewall-cmd --reload

※8 Raspberry Pi 3B+ eth0 ipv6アドレス 【】は不要
Raspberry Pi 3B+ と VPSサーバーが通信を出来るよう設定します。
#—2018年11月19日—追加分–終了

[user@999-999-999-999 ~]#  sudo firewall-cmd --zone=trusted --change-interface=ip6tnl
[user@999-999-999-999 ~]#  sudo firewall-cmd --zone=public --add-masquerade
[user@999-999-999-999 ~]#  sudo firewall-cmd --zone=trusted --add-masquerade
[user@999-999-999-999 ~]#  sudo firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE
[user@999-999-999-999 ~]#  sudo firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ip6tnl -o eth0 -j ACCEPT
[user@999-999-999-999 ~]#  sudo firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ip6tnl -m state --state RELATED,ESTABLISHED -j ACCEPT
[user@999-999-999-999 ~]#  firewall-cmd --reload

2.6 Routing設定
Raspberry Pi 3B+ 側のipv4アドレスの通信が出来るように設定します。

[user@999-999-999-999 ~]#  route add -net 192.168.99.0/24 dev ip6tnl

3. Raspberry Pi 3B+ 専用トンネルの設定
3.1 カーネルモジュールを設定する。

pi@raspberrypi:~ $ sudo modprobe ip6_tunnel

3.2 トンネリングの接続設定をする。

pi@raspberrypi:~ $ sudo ip -6 tunnel add ip6tnl1 mode ipip6 remote 【※9】 local 【※10】 dev eth0

※9 conoha VPSサーバ ipv6アドレス 【】は不要
※10 Raspberry Pi 3B+ eth0 ipv6アドレス 【】は不要

3.3 トンネルインターフェースを有効化

pi@raspberrypi:~ $ sudo ip link set dev ip6tnl1 up

4. ルーティングの設定をする。
4.1 構築したトンネルをデフォルトルートに追加する。

pi@raspberrypi:~ $ sudo route add default dev ip6tnl1

4.2 IPv4アドレスのフォワーディングの許可

pi@raspberrypi:~ $ sudo sysctl -w net.ipv4.ip_forward=1

これにより “VPSサーバ" と “Raspberry Pi 3B+" の1対1の通信かつds-liteの構築が完了です。

【実験結果】
《DHCPに接続したパソコンでのネットワーク確認画面》

《DHCPに接続したパソコンでのspeedtest確認画面》

【問題点】
@PC側でセキュリティソフトを利用中にホームページが出力されないことがある。
@一部オンラインゲーム関連にアクセスが出来ない。

【今後の課題】
@SAKURA VPS サーバで設定が可能なのか。
@ipv6アドレスで他の管理団体での利用した場合はどうなるのか。

【追加情報】
2018年8月22日
・"hangameサイト “かつ “sf2″ をすることが不可能みたいです。
2018年8月24日
・"nexonサイト" かつ “taleswever" をすることが可能でした。
1回サーバー切断になりました。再度ログイン後ゲーム内には入れました。
ただ、長時間ゲームしていません。
低スペックPCなので。。。
2018年9月9日
JPNE管理のipv6アドレス かつ CONOHAサーバでds-lite接続を行った場合です。
《DHCPに接続したパソコンでのspeedtest確認画面(JPNE⇔CONOHA)》

《DHCPに接続したパソコンでのradish確認画面(JPNE⇔CONOHA)》


《DHCPに接続したパソコンでの検索エンジン ping確認画面(JPNE⇔CONOHA)》

《DHCPに接続したパソコンでのFF14 ping確認画面(JPNE⇔CONOHA)》

2018年11月17日
Raspberry Pi 3B+ と VPSサーバ で ds-lite(IPv4 over IPv6ルータ) の構築 -さくらVPSサーバ編- 途中結果状態です。
の “【追加情報】" の “2018年11月17日" にて、MTUの値で閲覧ができなかったサイトが閲覧ができるようになりました。
CONOHAサーバでは確認をしていません。

【参考文献】
にーまるろく あーるしー どっと ねっと さん – さくらのVPSでIPv4 over IPv6ルーターの構築(暫定版)
Tomocha Potter さん – さくらのVPS で IPv4 over IPv6ルータの構築

【使用サービス情報】
INTERLINK さん – フレッツ接続 ZOOT NATIVE
インターネットマルチフィード株式会社 さん
CONOHA さん – VPSサービス
Speedtest by Ookla さん – The Global Broadband Speed Test

【商標情報】
ラズベリーパイ財団 さん – https://www.raspberrypi.org/
NTTグループ さん
マイクロソフト さん -windows-
日本ネットワークイネイブラー株式会社 さん -JPNE-