Raspberry Pi 3B+ と Ipoe(IPv6) ds-lite 接続について

2019年3月4日

今回はRaspberry Pi を使って、Ipoev6 ds-lite の通信構築について書きたいと思います。
Raspberry Pi は学校教育で使用される超小型PCになりますが、自分の場合はオンラインゲームの為に購入しました。
自宅のインターネット回線は “NTTのフレッツ光の通信回線" かつ “プロパイダーはau one net"を使っています。
普通に利用する場合には全然大丈夫ですが、オンラインゲームの場合だと “PING値" “通信混雑" “その他" などなどがあります。
現在、その改善策の一つとして “ds-lite" となります。
今回は必要最低限の構築 かつ 自分の環境での状態を書きたいと思います。

【必要前提】
・"NTTフレッツ光回線の環境" かつ “フレッツ 光ネクスト、フレッツ 光ライトプラス、フレッツ 光ライト" のサービスである。
・"フレッツ・v6オプション" の手続きが完了している。
・"Raspberry Pi 3B+" に OSがインストールがされている。
・DS-lite対応のプロパイダーに契約をしている。

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

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

【DS-lite対応 プロパイダー】
・INTERLINK サービス名:ZOOT NATIVE


【構築完成図】

【設定方法】
1. 電源ケーブル・USB専用LANアダプター・ディスプレイ・マウス・キーボードをRaspberry Pi に接続する。
2. Raspberry Pi の本体のLANに “ONU側のスイッチングハブ" に接続する。
※Raspberry Pi のネットワークデバイス “eth0" となる。
3. 電源を入れる。
4. ターミナル または 端末を起動する。
5. OSの標準でDHCPクライアントのパッケージを停止する。

pi@raspberrypi:~ $ sudo systemctl stop dhcpcd
pi@raspberrypi:~ $ sudo systemctl disable dhcpcd

6. “eth0" のネットワークデバイスの設定ファイル作成

pi@raspberrypi:~ $ sudo vi /etc/network/interfaces.d/eth0

《ファイル内容》

auto eth0
iface eth0 inet manual

7. “eth1" のネットワークデバイスの設定ファイル作成
USB専用LANアダプター ネットワークデバイス “eth1" となります。
このデバイスでは “DHCPサーバ" 構築するための設定になります。

pi@raspberrypi:~ $ sudo vi /etc/network/interfaces.d/eth1

《ファイル内容》

auto eth1
iface eth1 inet static
address 192.168.99.1
netmask 255.255.255.0

8. ネットワーク設定を更新する

pi@raspberrypi:~ $ sudo systemctl restart networking

または

pi@raspberrypi:~ $ sudo ip l set eth1 down
pi@raspberrypi:~ $ sudo ip l set eth1 up

を行う。
たまに、ネットワークデバイスの更新が出来なかったことがあったので、その場合はシステム再起動する。

pi@raspberrypi:~ $ reboot

9. DHCPサーバの設定をする
9.1 “isc-dhcp-server" のパッケージをインストールする。

pi@raspberrypi:~ $ sudo apt-get install isc-dhcp-server

9.2 設定ファイルを編集する。

pi@raspberrypi:~ $ sudo vi /etc/dhcp/dhcpd.conf

《ファイル内容》
最終行に追加する。

subnet 192.168.99.0 netmask 255.255.255.0 {
 option routers 192.168.99.1;
 option subnet-mask 255.255.255.0;
 option domain-name-servers 8.8.8.8;
 range 192.168.99.239 192.168.99.251;
}

9.3 更新する。

pi@raspberrypi:~ $ sudo systemctl restart isc-dhcp-server

10. ipv6を使って専用トンネルを構築する。

専用のトンネルを構築をして、ipv4のパケットをカプセル化する。
そして、カプセル化したデータをトンネル通じて、INTERLINKのサーバに送る
という感じになるそうです。
※本当は “INTERLINKのサーバ" という文は間違えです。
※ipv6のアドレスは “インターネットマルチフィードのtransixサービス" 管理 かつ ipv6アドレスを取得になります。
※INTERLINKのサービスを利用させて頂いていますので、上の画像を作りました。
※詳しいことについては・・・お調べをお願い致します。

10-1. “eth0″のipv6アドレスを調べる。

pi@raspberrypi:~ $ ifconfig

《実行結果》

赤枠のipv6のグローバルIPアドレスになる。
これをテキストファイルなどにメモをする。

10-2. カーネルモジュールを設定する。

pi@raspberrypi:~ $ sudo modprobe ip6_tunnel

10-3. トンネリングの接続設定をする。
“インターネットマルチフィードのtransixサービス" と少し書きました。
トンネル構築するために、どうしても必要事項なりますので注意をお願い致します。
また、サービスの変更理由により接続先のアドレスが変わる場合があります。
INTERLINKのサポートへ確認をお願い致します。

《2018年8月9日 現在》
NTT東日本エリアから接続する方
2404:8e00::feed:100
2404:8e00::feed:101

NTT西日本エリアから接続する方
2404:8e01::feed:100
2404:8e01::feed:101
《—————》

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

※3 NTT指定エリアから1つのipv6アドレスを選んで下さい。 【】は不要
※4 先ほど “eth0" で自分のipv6アドレスを入力してください。 【】は不要

10-4. トンネルインターフェースを有効化する。

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

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

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

11-2. IPv4アドレスのフォワーディングの許可

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

これにより、DHCPサーバより “eth1" で接続された パソコン または ルータなどds-liteを使ったインターネットを利用することが出来る。

【補足事項】
2018年現在、ds-lite対応ルータが販売されるようになりました。
もしかすると・・・利用者が増えてくるのではないかなぁ・・・と思います。
その場合、ping値、速度も遅くなるのではないかなぁ・・・
と思う自分がいます。

【実行結果】
《Raspberry Pi 内のネットワーク確認画面》

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

《pingテスト -各検索エンジン-》

《pingテスト -FF14 MANAサーバー-》

《サイト:speedtest》

※"フレッツ 光ネクスト ファミリー・ハイスピードタイプ/ファミリータイプ 下り:200M/上り:100M" の実行結果になります。

【参考文献】
通信系が好きな大学生 さん – 15分で出来るRaspberryPi(Linux)でDS-Lite(IPv6/IPv4)
やってみよう準備室 さん – ZOOT NATIVE (DS-Lite)でネット接続

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

【商標情報】
ラズベリーパイ財団 さん – https://www.raspberrypi.org/
NTTグループ さん
マイクロソフト さん -windows-
SQUARE ENIX CO., LTD.、さん -The Lodestone – ファイナルファンタジーXIV-

【フリー素材】
Digipot さん