IIJのブロードバンドサービス、IIJmioひかりや、IIJmio FiberAccess/NFでは、IPoEによるIPv6接続、およびDS-Lite(RFC6333)によるIPv4接続がご利用頂けます。

ここではDS-Liteに対応したブロードバンドルータの代わりに、Raspberry Piを使う方法をご紹介します。Raspberry Piはコンピュータの学習や電子工作での利用を想定して開発されたワンボードコンピュータです。SDカードにLinuxをインストールすることができ、一般的なLinuxホストのように扱うこともできます。

Raspberry Piはこの種のワンボードコンピュータの中では格段に扱いやすいものですが、ご利用にはある程度コンピュータやLinuxの知識が必要になります。本記事では設定例を紹介いたしますが、この設定で確実に動作することを保証するものではない点、あらかじめご了承ください。Raspberry Piやその設定方法についてのお問い合わせにはお答えできません。

ここで紹介する設定例はRaspberry Pi以外のLinuxにも適用できると思われます。

Raspberry Pi
Raspberry Pi

設定方法

用意するもの

  • Raspberry Pi本体と、電源、キーボード、モニタなど
  • USB Ethernetアダプタ
  • OSをインストールしたSDカード

今回は、2016.03.18にリリースされたNOOBS1.9.0を利用してインストールしたRaspbianを利用します。インストールを行い、OSが起動する状態にします。

ネットワーク構成

Raspberry Pi本体にはEthernetポートが一つあります(eth0)。今回はeth0をIIJmioひかりのHGW(ホームゲートウェイ)・ONUに接続します。また、用意したUSB EthernetアダプタをRaspberry PiのUSBポートに取り付けます(eth1)。eth1にはスイッチングハブなどを取り付け、自宅内で利用するパソコンに接続します。(eth1)

事前確認

Raspberry PiをHGWに接続し、IPv6が利用できるかどうかを確認します。

このときに、IPIP6トンネルの接続先ホスト名、gw.transix.jpのIPv6アドレスを確認しておきます。

パッケージのインストール

以下のパッケージをインストールします。

/etc/modulesに以下の行を追加し、起動時にkernel moduleを読み込むようにします。

DHCPクライアントの停止

Raspbianでは標準でDHCPクライアントが動作しているので、停止します。

インターフェース設定の変更・IPv6ブリッジの設定・IPv4ルーティングの設定

eth1に適当なIPv4アドレスを割り当てます。また、IPv6 bridgeのためにbr0インターフェースを追加します。

/etc/network/interfacesに以下の行を追加。

br0でIPv6以外をブリッジしないようにフィルタを書きます。

/etc/network/if-up.d/000bridgeを作成します。

IPv4をインターフェース間でルーティングできるようにします。

/etc/sysctl.d/local.conf作成

DHCPサーバ設定

LAN内でRaspberryPiがDHCPサーバになるための設定を行います。

/etc/dhcp/dhcpd.conf修正

/etc/default/isc-dhcp-serverの以下の行を編集し、eth1でのみDHCPサーバとして動作するようにします。

■IPIP6トンネル

トンネルの接続は以下のスクリプトで行います。REMOTEには、事前に確認しておいたgw.transix.jpのIPv6アドレスを指定してください。

接続後の様子

インターフェースの状況 (参考)

スループット

厳密な測定ではありませんが、Raspberry Pi B+利用時で概ね以下のスループットが出ました。この状況でCPU Useageは100%となっています。

  • IPv4(IPIP6 tunnel): 30Mbps
  • IPv6(bridge): 50Mbps

よりCPU性能の高い、Raspberry Pi 2、Raspberry Pi3を使用することで、スループットを向上できる可能性があります。