OpenWrtルーターは拡張モジュールをインストールすることでさまざまな機能を実現できる仕組みです。
業務用ルーターなどでしか提供されていない機能もOpenWrtルーターを使えばほぼ同様の機能が利用可能、それが一般家庭用の格安ルーターで実現できるのがOpenWrtルーターの魅力です。
しかし、本来一般家庭向けのメーカー独自機能をベースに設計されたハードウェアであることからメモリ容量やディスク容量があまり多くありません。
あまりにも多くの拡張モジュールをインストールしていくとインストール用ディスクの容量不足やプロセス増加によるメモリ不足などに陥る場合もあります。
この点について、OpenWrtが対応している市販ルーターの中でかなりハイスペックなルーターがバッファロー「WXR-2533DHP」です。
ディスク容量/メモリ容量も潤沢でさらにCPUもハイスペックな高機能・高性能ルーターです。
OpenWrtを使いこなしてくるといずれはハイスペックルーターでOpenWrt化を実現したくなります。
この記事ではバッファロー「WXR-2533DHP」にOpenWrtファームウェアをインストールし、楽天ひかり回線に接続する設定までを説明していきます。
- OpenWrt最強!?「バッファローWXR-2533DHP」
- 準備編:必要なものをダウンロード
- OpenWrtインストール(WXR-2533DHP)の流れ
- インストール① WXR-2533DHPの初期ブート
- インストール② オリジナルファームウェアのバックアップ
- インストール③ OpenWrtファームウェアのインストール
- 初期設定編 やっておきたいOpenWrtの初期設定
- 通信設定① フレッツ光回線へIPv6/IPoE接続設定
- 通信設定② IPv4 over IPv6「DS-Lite」接続設定
- 通信設定③ ついでにPPPoE接続も併用設定
- 復元編:オリジナル「WXR-2533DHP」に戻す(復元)
- まとめ「OpenWrt最強ルーター!?WXR-2533DHP」
OpenWrt最強!?「バッファローWXR-2533DHP」
バッファローWXR-2533DHPはOpenWrtが対応しているルーターの中ではかなりスペックの高い部類に入ります。
とくにRAM(メモリー)やFlash(ディスク)が比較的大きく、よりたくさんのOpenWrt拡張モジュールをインストールできる、たくさんのプロセスを動かせる、というメリットがあります。
後継機種としてWXR-2533DHP2という機種もありますがスペック的に大きな違いはなく、OpenWrtのインストール手順・復元手順なども同じです。
ただし、後継機種WXR-2533DHP2はUSB3.0が1ポート(WXR-2533DHPは2ポート)という違いがあります。
本記事ではWXR-2533DHPを対象としてOpenWrtファームウェアをインストール/復元する手順を説明していきますが、後継機種WXR-2533DHP2でも同じ手順でのインストール/復元が可能です。
WXR-2533DHPのスペック
WXR-2533DHPおよび後継機WXR-2533DHP2のスペックは以下の通りです。
比較のためにOpenWrtのスタンダードとして人気のWZR-HP-AG300Hも比較のために乗せてみます。
製品名 | WXR-2533DHP | WXR-2533DHP2 | WZR-HP-AG300H |
---|---|---|---|
CPU | Qualcomm IPQ8064 |
Atheros AR7161 |
|
RAM | 512MB | 128MB | |
FLASH | 256MB | 32MB | |
WANポート | 10BASE/100BASE/1000BASE ※1ポート |
||
LANポート | 10BASE/100BASE/1000BASE ※4ポート |
||
Wi-Fi | 802.11b/g/n/ac | 802.11b/g/n | |
USBポート | USB3.0 × 2 | USB3.0 × 1 | USB2.0 × 1 |
発売時期が違うのでWXR-2533DHPがハイスペックなのがわかりますが、特にRAM/FLASHが大きいことが魅力です。
OpenWrtルーターはさまざまな拡張モジュールをインストールして機能追加することができるので、拡張モジュールをインストールするためのFLASH領域やたくさんのプログラムを動かすためのRAMが大きいというのは魅力です。
WXR-2533DHPの入手方法
WXR-2533DHPは2015年発売、後継機WXR-2533DHP2は2016年の発売で、すでにどちらも製造を終了しています。
どちらも発売当時はバッファローのフラッグシップモデルとしての高機能ルーターであり、また大ヒットしたルーターでもあることから、今でも程度の良い中古品がフリーマーケットなどで安く購入することができます。
また、一部在庫としてAmazonではWXR-2533DHP2の新品が今でも販売されています。
Amazonでも新品がかなり安く、フリーマーケットで売られている中古品との価格差もあまりないことから、WXR-2533DHP2についてはAmazonでの新品購入もおすすめです。
準備編:必要なものをダウンロード
ではここからWZR-HP-AG300HにOpenWrtをインストールしていきます。
まずは「準備編」としてOpenWrtファームウェアのダウンロードとWZR-HP-AG300Hの状態初期化について説明していきます。
OpenWrtインストールに必要なもの
前提として私の作業環境はWindowsPC(OS:Windows10)とします。
- 作業用パソコン
⇒ ここではWindows10のノートパソコンを使用 - OpenWrt対応ルーター
⇒ ここでは「バッファローWXR-2533DHP」
⇒ 後継機種「WXR-2533DHP2」でも可 - OpenWrtファームウェア(初期ブート用)
⇒ 公式サイトからダウンロード - OpenWrtファームウェア(ファームウェア本体)
⇒ 公式サイトからダウンロード - TELNET/SSHツール
⇒ ここではTeraTermを利用 - SCPファイル転送ソフト
⇒ ここではTeraTermのssh/scp機能を利用 - TFTPサーバーソフトウェア
⇒ ここではtftpd64を利用
必要なもの① OpenWrt対応ルーター「WXR-2533DHP」
この記事ではOpenWrt化するルーターとしてバッファローWXR-2533DHPを使用します。
後継機種であるWXR-2533DHP2も同様の手順でOpenWrt化することができます。
必要なもの② OpenWrtファームウェア
OpenWrtファームウェアはOpenWrtプロジェクト公式サイトより事前にダウンロードしておきます。
OpenWrtプロジェクト(公式サイト) | OpenWrtプロジェクト
注意点として、WXR-2533DHPをOpenWrt化するためには「初期ブート用ファームウェア」と「ファームウェア本体」が必要という点です。
つまり2つのファームウェアをダウンロードしておく必要があります。
初期ブート用ファームウェアって何?
初期ブート用ファームウェアとは、「とりあえずOpenWrt環境でルーターを起動する」ためだけのファームウェアです。
まずはこの初期ブート用ファームウェアでWXR-2533DHPをOpenWrtルーターとして仮に起動し、その環境の中で本格的なOpenWrt本ファームウェアのインストールを行う、という環境になります。
ファイル名末尾が「****buffalo_wxr-2533dhp-initramfs-uImage」というファイル名になります。
ファームウェア本体
ファームウェア本体が実際にWXR-2533DHPへインストールするファームウェア本体になります。
初期ブート用ファームウェアで仮起動させたWXR-2533DHPの環境を使い、「sysupgradeコマンド」によりファームウェア本体をWXR-2533DHPへインストールする、という手順になります。
ファイル名末尾が「****buffalo_wxr-2533dhp-squashfs-sysupgrade.bin」というファイル名になります。
必要なOpenWrtファームウェアのダウンロード
インストールに必要なOpenWrtファームウェアは以下のリンク(ファームウェアセレクター)からダウンロードしてください。
OpenWrtファームウェアセレクター | OpenWrtプロジェクト
お好きなバージョンを選択できますが、バージョンはリリースビルド(“-RC”のついていないもの)が良いでしょう。
「KERNEL」イメージが初期ブート用ファームウェアです。
「SYSUPGRADE」イメージがファームウェア本体です。
両方ともダウンロードしておきます。
必要なもの③TELNET/SSHソフトウェア
OpenWrtファームウェアはLinuxベースのOSなので、環境操作にはtelnetクライアントやsshクライアントが必要です。
本記事ではtelnetクライアントおよびsshクライアントとしてTeraTermを利用します。
必要なもの④SCPファイル転送ソフトウェア
WindowsパソコンとOpenWrtルーター間でのファイル転送のため、scpファイル転送ソフトウェアが必要です。
ファイル転送はパソコンへダウンロードしたOpenWrtファームウェアの転送やバックアップしたオリジナルファームウェアの転送に使います。
本記事ではteratermが持っている「ssh/scp」機能を使ってファイル転送を行います。
必要なもの⑤TFTPサーバーソフトウェア
WXR-2533DHPへOpenWrtをインストールするための「初期起動用ファームウェア」を転送するために使用します。
WXR-2533DHPは「AOSS」ボタンを押下しながら電源投入することで、特定のTFTPサーバーへ初期ファームウェア(起動用)を要求し、その初期ファームウェアを使って初期起動します。
この「特定のTFTPサーバー」の環境構築のためにTFTPサーバーソフトウェアが必要です。
本記事ではフリーソフト「tftpd64」を使ってファイル転送を行います。
OpenWrtインストール(WXR-2533DHP)の流れ
必要なものがそろったら早速WXR-2533DHPへOpenWrtをインストールしていきましょう。
インストール手順の概要
インストールの手順は大きく分けて以下のような3つの手順となります。
- STEP1WXR-2533DHPの初期ブート(initramfs)
TFTPサーバーから初期ファームウェア(initramfs)を流し込むことでWXR-2533DHPを初期ブートします。ダウンロードしたファイルの「****buffalo_wxr-2533dhp-initramfs-uImage」のファイルを使って初期ブートします。
- STEP2オリジナルファームウェアのバックアップ(任意)
この時点で必要であればWXR-2533DHPのオリジナルファームウェアをバックアップします。バックアップは任意ですが、この時点でしか取得できません。
- STEP3OpenWrtファームウェアのインストール(sysupgrade)
OpenWrtファームウェアをインストールします(sysupgrade)。ダウンロードした「****buffalo_wxr-2533dhp-squashfs-sysupgrade.bin」のファイルをインストールします。
インストール完了で自動的にOpenWrtルーターとして再起動します。
インストール① WXR-2533DHPの初期ブート
WXR-2533DHP初期ブートに必要なもの
- OpenWrtの初期ブート用ファームウェア(initramfs)
- TFTPサーバー環境
- WindowsPC
まずは作業用パソコンの設定
作業用パソコンのIPアドレス設定
WXR-2533DHPの初期ブート機能には以下のような決まりがあります。
- ルーター本体のIPアドレスは192.168.10.1となる
- 要求する初期ファームウェアのファイル名はwxr2300dhp-initramfs.uImage
- 要求するTFTPサーバーのIPアドレスは192.168.11.10となる
まず、作業用パソコンのIPアドレスを「192.168.11.10/24」に設定します。
以下のようにパソコンのIPアドレスを設定します。
TFTPサーバー環境
WXR-2533DHPが初期ブート用のファームウェアを要求してくるためのtftpサーバーの環境を構築します。
本記事ではtftpサーバーとしてフリーソフトウェアtftpd64を使います。
上記のGithubから適当なファイルをダウンロードします。
現時点での最新版として「TFTPD64.464.zip」をダウンロードし、パソコンの適当なディレクトリに解凍(圧縮展開)しておきます。
また、要求される初期ファームウェアとして同じディレクトリにOpenWrt初期ファームウェアを「wxr2300dhp-initramfs.uImage」にリネームして置いておきます。
以下のようなディレクトリになります。
※リネームする初期ファームウェアはダウンロードしたファイルの「****buffalo_wxr-2533dhp-initramfs-uImage」のファイルです。
初期ブート用ファームウェアを配置したらtftpサーバーを起動します。
tftpd64.exeをクリックすると以下のような画面となります(特に設定は不要)。
パソコンのファイアウォールを停止
パソコンにはファイアウォールの機能があり、これが通信を遮断してしまいます(TFTP通信ができない)。
このため、事前にファイアウォールを一時的に停止しておきます。
Windows標準のファイアウォールは以下の手順で停止します。
「コントロールパネル > システムとセキュリティ > Windows Defender ファイアウォール」を開き、「Windows Defenderファイアウォールの有効かまたは無効化」を選びます。
プライベートネットワークおよびパブリックネットワークに対してWindowsDefenderファイアウォールを無効化します。
以上でWindows Defenderファイアウォールは無効化されました。
なお、インストール完了後には忘れずに有効化しておきましょう。
WXR-2533DHPの起動(電源投入)
ではWXR-2533DHPを初期ブートモードで起動します。
WXR-2533DHPを初期ブートさせるための操作は以下のような手順となります。
- STEP1AOSSボタンを押しながら電源投入(操作)
WXR-2533DHP本体の「AOSS」ボタンを押しながら電源を投入します。電源投入時には本体前面の4つのランプが点灯し、消灯します。
- STEP2Wireless LEDが点滅したらAOSSボタンを離す(操作)
WXR-2533DHP本体の「Wireless」ランプが点滅を開始したら「AOSS」ボタンを離します。
- STEP3TFTPサーバーより初期ファームウェアをロード(内部処理)
WXR-2533DHPがTFTPサーバーから初期ファームウェアをダウンロードし、OpenWrtが起動します。
- STEP4初期ファームウェアで起動(内部処理)
起動処理中は「Power」ランプが点滅します(約3分くらい?)。
また、TFTPサーバーのログを確認してみましょう、ログが残ってない場合には初期ファームウェアのダウンロードに失敗していると思われます。
- STEP5OpenWrt初期起動完了(内部処理)
パソコンからping(192.168.1.1)を打って疎通確認しましょう。
STEP2の「Wirelessランプが点滅を開始したらAOSSボタンを離す」というところが慌ててしまいそうですが、時間的な余裕もあるので慌てる必要はありません。
また、STEP1の「電源投入時に本体前面の4つのランプが点灯・消灯」とSTEP2の「Wirelessランプの点滅」は別なので注意です。
「電源投入時には4つのランプが点灯・消灯(STEP1)」「Wirelessランプの点滅開始でAOSSボタンを離す(STEP2)」という手順になります。
「AOSS」ボタン、および「Wireless」ランプの場所は以下のようになります。
「AOSSボタン押したまま電源を入れる」「Wirelessランプが点滅したらAOSSボタンを離す」だけで、あとは勝手にWXR-2533DHPがTFTPサーバーから初期ファームウェアをダウンロードしてくれます。
WXR-2533DHPとTFTPサーバー間の通信が正常に通信できる環境であれば、「AOSSボタンを離す」の1~2秒後にはTFTPサーバーからの初期ファームウェア転送が完了しているはずです。
TFTPサーバー側の通信ログを確認して、正常にTFTP通信が完了しているかどうか確認してみてください。
tftpd64の場合は以下のように「Log Viewer」タブから通信ログを確認することができます。
「AOSSボタンを離す」のあと、1分程度たっても上記のログが確認できない場合、おそらくTFTP通信に失敗しています。
「失敗かな?」と思ったら再度WXR-2533DHPの電源を切り、以下の点を確認してみてください。
- AOSSボタンを離すタイミングを変えてみる(もう一度やり直し)
- パソコンのファイアウォールを確認してみる(停止している?)
- パソコン環境を確認してみる(IPアドレス)
- 初期ファームウェアのファイル名を確認してみる
正常にTFTP通信により初期ファームウェアがロードされると、WXR-2533DHPは自動的にOpenWrt初期ファームウェアで再起動してきます。
再起動には2~3分程度の時間がかかり、「POWER」ランプが点滅します。
OpenWrt初期ファームウェアの環境ではOpenWrtルーターの本体IPアドレスは「192.168.1.1」となっているため、パソコンのIPアドレスも変更しておきましょう。
OpenWrt(WXR-2533DHP)への初期ログイン
OpenWrtルーターは本体アドレス「192.168.1.1」で起動してきます。
また、DHCPサーバー機能も有効になっています。
作業用パソコンのIPアドレスは「192.168.11.10」に設定しているため、この時点でIPアドレスを「DHCPから取得する」に変更し、再起動しておきましょう。
IPアドレスの取得設定を変更し、パソコンを再起動(IPアドレスの再取得)したらSSHクライアント(teraterm)でWXR-2533DHPへログインします。
初期ブートしているOpenWrtルーターのIPアドレスは「192.168.1.1」になっています。
SSH鍵の認証画面が表示されるので、そのまま「続行」を押下します。
ログイン画面になります。
初期ブートしているOpenWrtルーターの管理者IDは「root」パスワードはなし(未入力)となっています。
![管理人](https://wifi-manual.net/wp-content/uploads/2020/12/WS000016.jpg)
引き続き、オリジナルファームウェアのバックアップやOpenWrtの本インストールを行っていきます。
インストール② オリジナルファームウェアのバックアップ
ここからWXR-2533DHPにOpenWrtをインストールしていきますが、必要であればバッファロー製のオリジナルファームウェアのバックアップを取ることができます。
バックアップを取得できるタイミングはこの時点だけになるため、ここでバックアップを取らない場合には(基本的に)オリジナルファームウェアに戻すことはできません。
バックアップは任意ですが、まぁとっておいたほうが良いでしょう。
バックアップ対象ブロック(パーティション)の確認
OpenWrtのシステム領域はブロックデバイスで管理されています。
まずはどのようなブロックデバイスがあるのかを確認してみます。
ブロックデバイスのブロック名は「dev」の欄であり、対応するパーティション名は「name」の欄となります。
root@OpenWrt:~# cat /proc/mtd
dev: size erasesize name
mtd0: 04000000 00020000 "ubi"
mtd1: 04000000 00020000 "rootfs_1"
mtd2: 00010000 00010000 "SBL1"
mtd3: 00020000 00010000 "MIBIB"
mtd4: 00030000 00010000 "SBL2"
mtd5: 00030000 00010000 "SBL3"
mtd6: 00010000 00010000 "DDRCONFIG"
mtd7: 00010000 00010000 "SSD"
mtd8: 00030000 00010000 "TZ"
mtd9: 00020000 00010000 "RPM"
mtd10: 00070000 00010000 "APPSBL"
mtd11: 00010000 00010000 "APPSBLENV"
mtd12: 00040000 00010000 "ART"
mtd13: 00010000 00010000 "BOOTCONFIG"
mtd14: 00070000 00010000 "APPSBL_1"
root@OpenWrt:~#
バックアップとして取得すべきパーティションは「ubi」パーティションです。
上記のような環境において、バックアップ対象となる「ubi」パーティションは「mtd0」ブロックであることがわかります。
つまりmtd0ブロックがバックアップ対象ということになります。
ブロックデバイスのバックアップ
では、「ddコマンド」で「mtd0ブロック(ubiパーティション)」をバックアップしてみます。
root@OpenWrt:~# cd /tmp
root@OpenWrt:/tmp# dd if=/dev/mtd0 of=/tmp/mtdblock0.ubi
**ファイルを確認する**
root@OpenWrt:/tmp# ls -l ←コマンド入力
-rw-r--r-- 1 root root 4 Apr 27 20:28 TZ
-rw-r--r-- 1 root root 1204 Jan 1 1970 board.json
-rw-r--r-- 1 root root 71 Aug 6 14:32 dhcp.leases
drwxr-xr-x 2 root root 40 Apr 27 20:28 dnsmasq.d
drwxr-xr-x 3 root root 80 Apr 27 20:28 etc
drwxr-xr-x 2 root root 80 Apr 27 20:28 hosts
drwxr-xr-x 3 root root 60 Apr 27 20:28 lib
drwxrwxrwt 2 root root 380 Apr 27 20:28 lock
drwxr-xr-x 2 root root 80 Apr 27 20:28 log
-rw-r--r-- 1 root root 67108864 Aug 6 14:44 mtdblock0.ubi
-rw-r--r-- 1 root root 47 Apr 27 20:28 resolv.conf
drwxr-xr-x 2 root root 60 Aug 6 14:43 resolv.conf.d
drwxr-xr-x 7 root root 280 Apr 27 20:28 run
drwxrwxrwt 2 root root 40 Jan 1 1970 shm
drwxr-xr-x 2 root root 80 Aug 6 14:30 state
drwxr-xr-x 2 root root 80 Jan 1 1970 sysinfo
drwxr-xr-x 2 root root 40 Apr 27 20:28 tmp
root@OpenWrt:/tmp#
ここでは「mtd0ブロック(ubiパーティション)」をファイル名「mtdblock0.ubi」としてバックアップしました。
※ファイル名は任意です。
「lsコマンド」でバックアップファイルがあることを確認します。
バックアップファイルの転送(ルーター→パソコン)
バックアップしたファイル(ここではmtdblock0.ubi)はscpファイル転送によりパソコンへダウンロードし、大切に保管しておきます。
この記事ではteratermの「ssh/scp」転送機能を使ってファイル転送します。
![管理人](https://wifi-manual.net/wp-content/uploads/2020/12/WS000016.jpg)
転送したバックアップファイルは大切に保管しておきましょう。
インストール③ OpenWrtファームウェアのインストール
現在、OpenWrtルーターが初期ファームウェアで起動している状態です。
この時点ではまだOpenWrtファームウェア本体はインストールされていないため、このまま電源を落としてWXR-2533DHPを再起動するとバッファロー製のオリジナルファームウェアで起動する状態です。
OpenWrtファームウェア本体のファイル転送
では、OpenWrtルーターへファームウェア本体をインストールしていきます。
インストール手順は簡単で、「OpenWrtファームウェア本体をパソコンからルーターへ転送」「sysupgradeコマンドでインストール」という手順です。
では、まずOpenWrtファームウェア本体をルーターへ転送します。
この記事ではteratermの「ssh/scp」転送機能でファイル転送します。
ファイル転送の画面より、転送元はパソコンに保存しているOpenWrtファームウェア本体を指定します。
転送先ディレクトリは「/tmp」とします。
ファイル転送が終わったら転送されているかどうかを確認してみましょう。
root@OpenWrt:~# cd /tmp
root@OpenWrt:/tmp# ls -l
-rw-r--r-- 1 root root 4 Apr 27 20:28 TZ
-rw-r--r-- 1 root root 1204 Jan 1 1970 board.json
-rw-r--r-- 1 root root 71 Aug 6 14:32 dhcp.leases
drwxr-xr-x 2 root root 40 Apr 27 20:28 dnsmasq.d
drwxr-xr-x 3 root root 80 Apr 27 20:28 etc
drwxr-xr-x 2 root root 80 Apr 27 20:28 hosts
drwxr-xr-x 3 root root 60 Apr 27 20:28 lib
drwxrwxrwt 2 root root 380 Apr 27 20:28 lock
drwxr-xr-x 2 root root 80 Apr 27 20:28 log
-rw-r--r-- 1 root root 6488219 Aug 3 14:07 openwrt-22.03.5-ipq806x-generic-buffalo_wxr-2533dhp-initramfs-uImage
-rw-r--r-- 1 root root 47 Apr 27 20:28 resolv.conf
drwxr-xr-x 2 root root 60 Aug 6 14:43 resolv.conf.d
drwxr-xr-x 7 root root 280 Apr 27 20:28 run
drwxrwxrwt 2 root root 40 Jan 1 1970 shm
drwxr-xr-x 2 root root 80 Aug 6 14:30 state
drwxr-xr-x 2 root root 80 Jan 1 1970 sysinfo
drwxr-xr-x 2 root root 40 Apr 27 20:28 tmp
root@OpenWrt:/tmp#
OpenWrtファームウェアがファイル存在し、ファイルサイズも正しいことを確認します。
OpenWrtファームウェアのインストール
では「sysupgradeコマンド」でOpenWrtファームウェアをインストールします。
root@OpenWrt:/tmp# sysupgrade ./openwrt-22.053.5-ipq806x-generic-buffalo_wxr-2533dhp-squashfs-sysupgrade.bin
Cannot save config while running from ramdisk.
Sun Aug 6 14:49:35 UTC 2023 upgrade: Commencing upgrade. Closing all shell sessions.
Command failed: Connection failed
root@OpenWrt:/tmp#
「sysupgradeコマンド」を実行すると、ssh接続は切断されるためsshクライアント(この記事ではteraterm)は強制終了します。
この後、WXR-2533DHP本体の「Power」ランプが点滅を開始し、インストールが完了すると(約3分程度)自動的にOpenWrtが起動してきます。
パソコンから「192.168.1.1」にpingを打って疎通確認できれば再起動しています。
C:\>ping -t 192.168.1.1
192.168.1.1 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
192.168.1.1 からの応答: バイト数 =32 時間 <1ms TTL=64 ←ルーターが起動した!
192.168.1.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.1 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.1 からの応答: バイト数 =32 時間 <1ms TTL=64
*Ctl-Cでブレイクしておく
ルーターが再起動したことを確認したらパソコンでブラウザを立ち上げ「http://192.168.1.1」でOpenWrtルーターの管理画面(LuCI)へ接続できます。
上記のような管理画面へのログイン画面が表示されるとOpenWrtのインストールは完了しています。
![管理人](https://wifi-manual.net/wp-content/uploads/2020/12/WS000016.jpg)
初期設定編 やっておきたいOpenWrtの初期設定
OpenWrtのインストールが完了したところで、ここからはOpenWrtを使ってルーターの設定を行っていきます。
ゴールとしてはプロバイダー接続(この記事では楽天ひかり)してIPv4およびIPv6によるインターネット接続ができるとことまで、とします。
管理者パスワードの設定
インストール直後のOpenWrtは管理者権限のパスワードが設定されていないので、まずはパスワードを設定しましょう。
- STEP1パスワード入力画面へ
メニュー「System > Administration」からパスワード設定画面へ遷移します。
- STEP2パスワードの設定
タブ「Router Password」画面でパスワードを設定(2か所・確認用)し、「Save」ボタンを押下します。
- STEP2パスワードの確認
パスワード設定を行ったらメニュー「Logout」からいったんログアウトし、再度ログインしてみましょう。
いったんログアウトして再ログインすることで、パスワードの確認を行ってください。
管理画面(LuCI)を日本語化しておこう
IPv6/IPoEでのインターネット接続ができるようになったところで、管理画面(LuCI)を日本語化してみましょう。
※「英語メニューのほうが好き!」という方、お好みで!
管理画面(LuCI)の日本語化はOpenWrt公式サイトから日本語モジュールをダウンロードして適用、という手順を踏みます。
- STEP1ソフトウェアアップデート画面へ
メニュー「System > Software」からソフトウェアアップデート画面へ遷移します。
- STEP2更新プログラムの一覧を更新
まずは更新・インストール可能なプログラム一覧を取得します。
ソフトウェア画面のアクション(Actions)「Update List」から更新可能なプログラム一覧を更新します。
更新可能プログラム一覧の更新が完了するとメッセージが表示されるので、画面下の「Dismiss(閉じる)」ボタンでメッセージ画面を閉じます。
- STEP3日本語モジュールのインストール
日本語モジュールは「luci-i18n-base-ja」というモジュールになり、これをインストールすることでOpenWrt管理画面(LuCI)を日本語化することができます。
インストールする日本語化モジュール
・luci-i18n-base-ja
以上でOpenWrt管理画面(LuCI)を日本語化することが可能です。
タイムゾーンを日本(Asia/Tokyo)に設定しておこう
ルーターのタイムゾーンを日本(Asia/Tokyo)に設定しておきましょう。
- STEP1タイムゾーン設定画面へ
メニュー「システム > システム」でタイムゾーン設定画面へ遷移します。
- STEP2タイムゾーン「Asia/Tokyo」の設定
「一般設定」タブの「タイムゾーン」一覧から「Asia/Tokyo」を選択します。
選択後「保存&適用」ボタン押下でタイムゾーンが「Asia/Tokyo」に変更されます。
通信設定① フレッツ光回線へIPv6/IPoE接続設定
インストール直後のOpenWrtルーターにはIPv4用とIPv6用の通信用インターフェースが定義されています。
この時点ではそれぞれ「DHCP(IPv4)クライアント」「DHCPv6クライアント」用のインターフェースとして定義されているので、上位ルーターへ接続することで即インターネット利用可能な状態になっています。
たとえば「ひかり電話ルーター」「NTTドコモhome5G」などの上流ルーターなど、すでに自宅で利用中のルーターということです。
「IPv6/IPoE」を設定してみよう
フレッツ光回線(NGN網)はIPv6/IPoEでの接続通信が前提としたネットワークです。
IPv6/IPoE対応ルーターをONU(またはVDSLモデム)に接続するとVNEより付与されたIPv6アドレスを使って即インターネットが利用できる環境になります。
では、インストールしたばかりのOpenWrtルーターをIPv6/IPoEでフレッツ光回線に接続してみましょう。
- STEP1インターフェース定義画面へ
メニュー「ネットワーク > インターフェース」からインターフェース定義画面へ遷移します。
- STEP2インターフェース定義の確認
インターフェース定義画面の「インターフェース」タブにて現在(初期値)のインターフェース定義を確認しておきましょう。
インストール直後のOpenWrtインターフェース定義は以下のように設定されています。
LAN IPアドレス:192.168.1.1/24
DHCPサーバー:有効WAN
(IPv4定義)DHCP(IPv4)クライアント WAN6
(IPv6定義)DHCPv6クライアント IPv6通信の設定は上記インターフェース「WAN6」においてDHCPv6クライアントとして定義されています。
「IPv4 over IPv6」対応プロバイダーで契約しているならすでに「フレッツv6オプション」契約があるはずなので、基本的には「DHCPv6クライアント」としてフレッツ光回線網(NGN網)からのIPv6アドレスが付与されているはずです。
そしてこのIPv6アドレスをルーターからパソコンやスマホなどへリレーするための設定が必要なので、この設定を行っていきます。
- STEP3インターフェース「LAN」の定義変更
まずはLANインターフェース定義を変更します。
現時点でもWAN6(IPv6)インターフェースはNTTフレッツ光回線網のIPv6アドレスが付与されているのですが、このアドレスをLAN内のデバイス(パソコンやスマホ)へリレーしてあげる設定を行います。
「LAN」インターフェースの「編集」ボタンを押下します。
「LAN」インターフェース編集画面の「DHCPサーバー > IPv6設定」より上記3か所の設定を見直し・修正します。
RA-Service リレーモード DHCPv6サービス サーバーモード NDPプロキシ リレーモード 上記3か所を修正したら「保存」ボタン押下で画面を閉じます。
- STEP4インターフェース「WAN6」の定義変更
次にLAN6インターフェース定義(IPv6接続定義)を変更します。
こちらもLANインターフェース定義と同じで、NTTフレッツから付与されているIPv6アドレスをLANインターフェースへリレーしてあげる設定を行います。
「WAN6」インターフェースの「編集」ボタンを押下します。
「WAN6」インターフェース編集画面の「DHCPサーバー」タブ画面より「DHCPサーバーをセットアップ」を押下します。
「DHCPサーバー > IPv6設定」画面よりDHCPv6の定義を以下のように変更します。
Designaled master チェックする RA-Service リレーモード DHCPv6サービス リレーモード NDPプロキシ リレーモード 上記4か所を修正したら「保存」ボタン押下で画面を閉じます。
- STEP5設定の反映
インターフェース定義画面に戻りました。
この時点ではまだインターフェース定義は「保留中」です。
画面下の「保存&適用」ボタン押下により「IPv6/IPoE」インターフェースが有効になります。
なお、この設定変更はWAN6側に付与されているIPv6アドレスをLAN内のデバイス(パソコンやスマホ)へリレーしてあげる設定なので、パソコンも再起動しておきましょう。
- STEP6IPv6/IPoE接続の確認
IPv6接続確認サイトで接続状況を確認してみましょう。
上記のようにIPv6での接続が確認できました。接続ISPは「日本ネットワークインフォメーションセンター(JPNIC)」になっていますね・・・
また、前節で登録した楽天ひかりの「IPv4/PPPoE」も有効になっているため、IPv4は楽天ひかりと提携するISP(ARTERIA)になっています。
つまり、この状態は「IPv4/PPPoE + IPv6/IPoEデュアルスタック」での接続状態になっています。
以上で「IPv6/IPoE」接続インターフェースの定義は完了です。
WAN6インターフェースの「DHCPサーバー・タブ」が表示されない場合
お使いのOpenWrtのバージョンが低い場合(~OpenWrt19.07)にはWAN/WAN6インターフェース定義画面に「DHCPサーバー」のタブが表示されません。
このため上記手順「STEP4 インターフェース「WAN6」の定義変更」がWebUI上からは設定できません。
この場合はコマンド操作にて「WAN6側インターフェース定義」を行います。
DHCP定義ファイルを直接編集する方法
SSHでOpenWrtルーターへログインし「/etc/config/dhcp」ファイルへ以下のWAN6インターフェースDHCP定義を追記します。
root@OpenWrt: cd /etc/config
root@OpenWrt: vi ./dhcp
↓ファイル末尾に以下の記述を追記する
config dhcp 'wan6'
option interface 'wan6'
option master '1'
option ignore '1'
option ra 'relay'
option ndp 'relay'
option dhcpv6 'relay'
uciコマンドで編集する方法
dhcpファイルを直接編集せず、uciコマンドで定義する場合は以下のようなコマンドで。
root@OpenWrt: cd /etc/config
root@OpenWrt: uci set dhcp.wan6=dhcp
root@OpenWrt: uci set dhcp.wan6.interface='wan6'
root@OpenWrt: uci set dhcp.wan6.master='1'
root@OpenWrt: uci set dhcp.wan6.ignore='1'
root@OpenWrt: uci set dhcp.wan6.dhcpv6='relay'
root@OpenWrt: uci set dhcp.wan6.ra='relay'
root@OpenWrt: uci set dhcp.wan6.ndp='relay'
root@OpenWrt: uci commit
root@OpenWrt: cat ./dhcp
↓以下の内容が追記されていることを確認する
config dhcp 'wan6'
option interface 'wan6'
option master '1'
option ignore '1'
option ra 'relay'
option ndp 'relay'
option dhcpv6 'relay'
通信設定② IPv4 over IPv6「DS-Lite」接続設定
「IPv6/IPoE」によるIPv6通信環境の設定が完了したら次は「DS-Lite」によるIPv4通信カプセル化の仕組みを構築します。
この手順は「DS-Liteモジュールのインストール(ダウンロード)」を行い「DS-Lite用インターフェース作成」という手順になります。
DS-Liteインターフェース定義
では早速DS-Liteインターフェースの定義を行っていきます。
- STEP1ソフトウェアアップデート画面へ
メニュー「System > Software」からソフトウェアアップデート画面へ遷移します。
- STEP2更新プログラムの一覧を更新
まずは更新・インストール可能なプログラム一覧を取得します。
ソフトウェア画面のアクション(Actions)「Update List」から更新可能なプログラム一覧を更新します。
更新可能プログラム一覧の更新が完了するとメッセージが表示されるので、画面下の「Dismiss(閉じる)」ボタンでメッセージ画面を閉じます。
- STEP3ds-liteモジュールのインストール
更新・インストール可能プログラムの一覧から「ds-lite」で絞り込みを行います。
一覧に表示される「ds-lite」をインストールします。
- STEP4ルーターの再起動
「ds-lite」モジュールはルーターを再起動して反映させる必要があります。
メニュー「システム > 再起動」からルーターを再起動してください。
- STEP5DS-Liteインターフェースの作成
メニュー「ネットワーク > インターフェース」からインターフェース定義画面へ遷移します。
インターフェース定義画面より「インターフェースを新規作成」ボタンを押下します。
インターフェース名は何でもよいので自分でわかりやすい名前を設定します。
プロトコルにはDS-Lite規格である「Dual-Stack Lite(RFC6333)」を選択します。
名前 ご自由に
※「xpass」などプロトコル Dual-Stack Lite(RFC6333) プロトコルを選択したらいったん「インターフェースの作成」ボタンを押下しておきます。
画面「一般設定」タブから利用するDS-LiteサービスのAFTRアドレスを設定します。
今回私は楽天ひかりが提供しているクロスパス(Xpass)を利用するので「dgw.xpass.jp」を設定します。
その他のDS-Liteサービスについては以下のAFTRアドレスを設定します。
通信サービス(DS-Lite) AFTR設定値 Transix gw.transix.jp クロスパス(Xpass) dgw.xpass.jp v6コネクト dslite.v6connect.net - STEP6ファイアウォールゾーンの設定
作成したインターフェースを「ファイアウォール設定」タブから「WANファイアウォールゾーン」に追加定義しておきます。
ファイアウォールゾーンの設定が完了したら「保存」ボタンを押下して画面を閉じます。
- STEP7設定の反映
以上でDS-Lite(今回はクロスパス)のインターフェース定義が完了です。
ただし、ここまでのインターフェース定義は現時点ではまだルーターに反映されていません(保有中)。
なので「保存&適用」を押下してインターフェース定義をルーターに反映させます。
以上で「DS-Lite」のインターフェース定義は完了です。
DS-Liteによる接続の確認
これでDS-Liteによる通信環境の設定は完了です。
以下のIPv6接続確認サイトにて通信状態を確認してみましょう。
上記のようにIPv6での接続が確認できました。接続ISPは「日本ネットワークインフォメーションセンター(JPNIC)」になっていますね・・・
また、前節で登録した楽天ひかりの「IPv4/PPPoE」も有効になっているため、IPv4は楽天ひかりと提携するISP(ARTERIA)になっています。
つまり、この状態は「IPv4/PPPoE + IPv6/IPoEデュアルスタック」での接続状態になっています。
通信設定③ ついでにPPPoE接続も併用設定
ここまでの作業でWXR-2533DHPをOpenWrt化し、楽天ひかりへ「IPv6/IPoE + IPv4 over IPv6(クロスパス)」で接続することができました。
楽天ひかりは高速通信クロスパスに加えて従来の通信方式「IPv4/PPPoE通信方式」も標準提供しており、どちらも標準で利用することができます。
せっかく使える機能なのでクロスパスによる通信に加えてIPv4/PPPoE通信も併用できる環境を構築してみましょう。
1台のルーターでDS-LiteとPPPoEを併用する環境
一般的な家庭用ルーターでは1つのWANポートには1つの通信方式のみ定義することができます。
業務用の高機能ルーターになると、1つのWANポートに複数の通信方式を定義して「DS-LiteとPPPoEを使い分ける」という使い方ができます。
そしてOpenWrtをインストールしたルーターはこの業務用ルーター並みの機能となり、楽天ひかりのクロスパスとPPPoEを併用可能な環境が作れてしまいます。
構成としては以下のような構成になります。
クロスパスとPPPoEが併用できると何がうれしいの?
高速通信方式IPv4 over IPv6「クロスパス」を利用することで、通信の混雑する夜間の時間帯でもフレッツ光の混雑による通信速度の低下を迂回して高速通信を利用することができます(快適通信)。
よって通常のインターネット利用はクロスパス通信を利用するとよいでしょう。
一方でクロスパスに限らず「IPv4 over IPv6」通信は自宅ルーターに不完全なIPv4アドレスが付与される仕組みであることから以下のような問題が発生します。
- 外出先(インターネット側)から自宅への接続ができない
- 自宅から(一部の)VPN接続ができない
- 匿名掲示板などに書き込みできない場合が多い(アクセス禁止)
このような場合にIPv4/PPPoEを併用する(使い分ける)ことで「クロスパスで高速通信」「一部のデメリットはPPPoEで回避」という使い方ができます。
そこで、本記事ではIPv4/PPPoE通信を併用して以下の環境構築を行います。
- 主回線はクロスパスで高速通信(メイン回線)
- 特定のIPアドレスに対する通信はIPv4/PPPoE通信(サブ回線)
ここで「特定のIPアドレスに対する通信」は匿名掲示板5ch.netを想定します。
つまり「通常の通信はクロスパス、匿名掲示板5ch.netへの通信はPPPoE」という環境を構築してみます。
必要な環境構築作業
現在、ここまでの作業でWXR-2533DHPは高速通信クロスパスにより通信できる環境となっています。
ここからはクロスパス通信とPPPoE通信の併用のため、さらに以下2点の作業を行います。
- IPv4/PPPoE通信インターフェースの定義
- クロスパスとPPPoEのルーティング定義(回線の使い分け)
IPv4/PPPoEインターフェース定義
OpenWrtインストール直後はIPv4インターフェースは「DHCPクライアント」として設定されています。
OpenWrtの上位にネットワーク接続しているルーター(HGWなど)があればそのままインターネットに接続できているはずです。
ここではOpenWrtルーターをONUやVDSLモデムに直接接続している場合においてプロバイダーから付与されている「IPv4/PPPoE」での接続設定をやってみましょう。
「IPv4/PPPoE」接続設定で必要なものはプロバイダーから通知されているPPPoEの「ユーザーID」と「接続パスワード」です。
- STEP1インターフェース定義画面へ
メニュー「ネットワーク > インターフェース」からインターフェース定義画面へ遷移します。
- STEP2インターフェース定義の確認
インターフェース定義画面の「インターフェース」タブにて現在(初期値)のインターフェース定義を確認しておきましょう。
インストール直後のOpenWrtインターフェース定義は以下のように設定されています。
LAN IPアドレス:192.168.1.1/24
DHCPサーバー:有効WAN
(IPv4定義)DHCP(IPv4)クライアント WAN6
(IPv6定義)DHCPv6クライアント IPv4通信の設定は上記インターフェース「WAN」においてDHCPクライアントとして定義されています。
このインターフェース定義を「IPv4/PPPoE」に設定変更していきます。
- STEP3インターフェース「WAN」の定義変更
インターフェース定義「WAN」の「編集」ボタンを押下して編集画面へ遷移します。
プロトコルに初期値として設定されている「DHCPクライアント」を「PPPoE」に選択変更し「プロトコルを切り替える」ボタンを押下ます。
「PAP/CHAPユーザー」欄にユーザー名(接続名)とパスワード(接続パスワード)を設定し「保存」ボタンを押下します。
PAP/CHAユーザー名 プロバイダーより付与された接続ID PAP/CHAパスワード プロバイダーより付与された接続パスワード - STEP5設定の反映
インターフェース定義画面に戻りました。
この時点ではまだインターフェース定義は「保留中」です。
画面下の「保存&適用」ボタン押下により「IPv4/PPPoE」インターフェースが作成されます。
- STEP6IPv4/PPPoE接続の確認
IPv6接続確認サイトで接続状況を確認してみましょう。
上記のようにIPv4プロバイダー(私の場合は楽天ひかり「vectant.ne.jp」)経由での接続が確認できました。
※この時点ではまだIPv6接続は確認できていません。
以上で「IPv4/PPPoE」接続インターフェースの定義は完了です。
DS-LiteとPPPoEの基本ルーティング設定
DS-LiteとPPPoEの2つの通信インターフェースが定義されました。
ではこの2つの通信インターフェースはどのように使われるのでしょうか?
どんな通信がDS-Liteインターフェースで通信し、どんな通信がPPPoEインターフェースで通信するのか、はルーティングで定義されています。
メニュー「ステータス > ルーティング」から現在のOpenWrtルーターのルーティング定義を見てみましょう。
私の環境では現時点で以下のようなIPv4ルーティング定義となっていました。
この定義に従うと、通信インターフェースはどのように使われるのでしょうか?
ネットワーク | ターゲット | ゲートウェイ | メトリック |
---|---|---|---|
xpass ※クロスパス |
0.0.0.0/0 | - | 0 |
wan ※PPPoE |
163.***.***.*** | 163.***.***.*13 | 0 |
外部(インターネット)への通信は「ターゲット=0.0.0.0/0」として定義されます。
ルーティング定義には「xpass(DS-Lite)」も「wan(PPPoE)」も存在しますが、「ターゲット=0.0.0.0/0」として定義されているのは「xpass(DS-Lite)」のみです。
つまり、すべてのインターネット通信は「xpass(DS-Lite)」インターフェース定義を通じて行われ、「wan(PPPOE)」インターフェースはインターネット通信に利用されない、という定義内容です。
※ルーティング定義は環境により異なります。
このルーティング定義を「PPPoE通信(wan)でもインターネット通信できる」「xpass通信がメイン回線(優先度高)、PPPoE通信がサブ回線(優先度低)」という定義に修正していきます。
基本ルーティング(回線優先順位)の定義
「xpass(DS-Lite)」インターフェースがメイン回線、「PPPoE」インターフェースがサブ回線という回線インターフェース単位の優先付けは「メトリック」という値を設定することで行います。
メトリック値は小さいほど優先順位が高い、という意味となり、OpenWrtルーターの場合はそれぞれのインターフェース定義(xpass/wan)に対して定義していきます。
「xpass(クロスパス)」「wan(PPPoE)」それぞれのインターフェース定義からメトリック値を編集していきます。
まず、インターフェース「xpass(クロスパス)」定義の「詳細設定」タブより「ゲートウェイメトリック」を「10(優先順位高)」に設定します。
次にインターフェース「wan(PPPoE)」定義の「詳細設定」タブより「ゲートウェイメトリック」を「20(優先順位低)」に設定します。
最後に「保存&適用」ボタンで設定を反映させます。
ではメニュー「ステータス > ルーティング」よりルーティングの定義を確認してみましょう。
「アクティブなIPv4ルート」は以下のように定義されています。
ネットワーク | ターゲット | ゲートウェイ | メトリック |
---|---|---|---|
xpass ※クロスパス |
0.0.0.0/0 | - | 10 ※優先順位高 |
wan ※PPPoE |
0.0.0.0/0 | 163.***.***.*13 | 20 ※優先順位低 |
メトリック値の定義により、「通常のインターネット通信(ターゲット0.0.0.0/0)はクロスパスで通信」「クロスパスが通信できない場合にはPPPoEで通信」という内容のルーティング定義になりました。
個別ルーティング(特定IPアドレスへの通信)の定義
前節の定義により回線ごとの優先順位は定義が完了しました。
ここからは「個別接続先へのルーティング定義」を行います。
現在は「クロスパス(Xpass)」インターフェースがメイン回線(優先度高)と設定されているため、すべてのインターネット通信は「クロスパス(Xpass)」インターフェースを通じて行われます。
この状態に加え「特定の通信先との通信においてはIPv4/PPPoE(つまりWANインターフェース)で通信する」という個別ルーティング定義を行います。
たとえば会社のテレワークで使うためのVPNサーバーへの接続だったり、匿名掲示板5ch.netへの接続だったり、これら特定接続先への通信はサブ回線(WAN=PPPoE)で通信する、という定義です。
今回は特定の通信先として匿名掲示板5ch.netを想定し、個別ルーティングを設定していきます。
特定接続先のIPアドレス確認
ここでは特定の接続さきとして匿名掲示板「5ch.net」を想定します。
つまり、通常のインターネット通信ではメイン回線(Xpass)を使って通信し、匿名掲示板5ch.netを利用する場合にはサブ回線(WAN)を使って通信する、という定義です。
特定接続先へのルーティング定義を行うには通信先(この場合は5ch.net)のIPアドレスが必要なので「nslookup」コマンドで以下のようにIPアドレスを確認しておきます。
root@OpenWrt: nslookup 5ch.net ←コマンド入力
Server: 127.0.0.1
Address: 127.0.0.1:53
Non-authoritative answer:
Name: 5ch.net
Address: 172.64.107.36
Name: 5ch.net
Address: 172.64.106.36
Non-authoritative answer:
root@OpenWrt:
上記の「nslookup」コマンドにより、5ch.netドメインが紐づけられているIPアドレスは以下の2つあることがわかりました。
ドメイン名 | IPアドレス |
---|---|
5ch.net | 172.64.107.36 172.64.106.36 |
同様に、仕事のテレワークなどで会社のVPN接続を別ルートとしたい場合は「nslookup ドメイン名」でIPアドレスが確認できます。
個別ルーティングの設定
では5ch.netへの個別ルーティングを定義していきます。
個別ルーティングはメニュー「ネットワーク⇒ルーティング」で設定します。
ルーティング設定画面で「追加」ボタン押下します。
5ch.netはIPアドレスが2つあるので、まずは1つ目のIPアドレスをルーティング設定します。
1つ目のIPアドレスに対してルーティング設定画面より以下のように選択・入力します。
インターフェース | 「WAN」を選択 |
---|---|
ターゲット | 「172.64.106.36/32」を入力 ※1個目のIPアドレス |
入力確認後「保存」ボタンで設定を保存します。
次に2つ目のIPアドレスに対してルーティング設定を行います。
2つ目のIPアドレスに対してルーティング設定画面より以下のように選択・入力します。
インターフェース | 「WAN」を選択 |
---|---|
ターゲット | 「172.64.107.36/32」を入力 ※2個目のIPアドレス |
入力確認後「保存」ボタンで設定を保存します。
「IPv4静的ルーティング」に2つのルーティング定義が行われたことを確認し、「保存&適用」ボタンを押下して設定を反映させます。
個別ルーティングの通信経路を確認
ではここで設定した個別通信先に対するルーティング情報を確認してみます。
メニュー「ステータス > ルーティング」よりルーティング情報を確認します。
「アクティブなIPv4ルート」に今回定義した2つの個別ルーティング情報が反映されているのがわかります。
設定した通信先(今回は5ch.netを想定)に対してはサブ回線である「WAN(PPPoE)」回線を使って通信するようにルーティング設定がなされているのがわかります。
実際に通信経路を確認
実際の通信が「アクティブなIPv4ルート」に従って通信しているのか?を確認しておきましょう。
現在、「アクティブなIPv4ルート」は以下のように定義されています。
まずはgoogle.comへのIPv4通信によるトレースをとってみます。
C:\>tracert -4 google.com
google.com[142.250.198.14]へのルートをトレースしています
経由するホップ数は最大30です:
1 <1 ms <1 ms <1 ms OpenWrt.lan[192.168.13.1]
2 14 ms 14 ms 14 ms 192.0.0.1
3 14 ms 14 ms 14 ms 163.***.***.**
^C
上記の第二ホップでIPアドレス「192.0.0.1」を経由しているのがわかります。
この「192.0.0.1」は「アクティブなIPv4ルート」によるとクロスパスインターフェースに割り当てられている内部IPv4アドレスであることがわかります。
つまり「google.com」への通信はクロスパス経由で通信している、ということです。
同様にyahoo.co.jpへのIPv4通信によるトレースをとってみます。
C:\>tracert -4 yahoo.co.jp
yahoo.co.jp[183.79.219.124]へのルートをトレースしています
経由するホップ数は最大30です:
1 <1 ms <1 ms <1 ms OpenWrt.lan[192.168.13.1]
2 14 ms 13 ms 14 ms 192.0.0.1
3 14 ms 14 ms 14 ms 163.***.***.**
^C
こちらも第二ホップでIPアドレス「192.0.0.1」を経由しているのがわかります。
yahoo.co.jpへのIPv4通信もクロスパス経由で通信していることがわかります。
では個別ルーティングとして定義した5ch.netへのトレースをとってみましょう。
C:\>tracert -4 5ch.net
5ch.net[172.64.106.36]へのルートをトレースしています
経由するホップ数は最大30です:
1 <1 ms <1 ms <1 ms OpenWrt.lan[192.168.13.1]
2 8 ms 16 ms 16 ms *********Biz.vectant.ne.jp[163.***.***.***]
3 7 ms 7 ms 6 ms 163.***.***.***
^C
5ch.netへの通信経路では第二ホップで「*****.vectant.ne.jp[163.***.***.***]を経由しています。
「163.***.***.***」は「アクティブなIPv4ルート」でWANインターフェースのゲートウェイとして定義されているIPアドレスです。
つまり5ch.netへの通信ではWANインターフェース(= PPPoE通信)を経由して通信していることがわかります。
以上で特定の通信先に対する個別ルーティング定義が終了です。
復元編:オリジナル「WXR-2533DHP」に戻す(復元)
OpenWrtをインストールしたWXR-2533DHPをオリジナルファームウェアへ戻す(復元する)手順を見ていきましょう。
復元するためにはWXR-2533DHPのオリジナルファームウェアが必要であり、これは「インストール② オリジナルファームウェアのバックアップ」で取得したしたファイル(手順では「mtdblock0.ubi」)のファイルを使います。
SSHでOpenWrtルーターへログイン
復元作業はOpenWrtへSSHでログインしターミナルで行います。
ここでは「Teraterm」を使ってOpenWrtルーターへSSH接続します。
- STEP1接続先IPアドレスの入力
- STEP2セキュリティ警告の対応
- STEP3ログイン情報の入力
- STEP4ログイン完了
バックアップファイルをSCP転送
ローカルPCに保存してあるバックアップファイル(手順ではファイル名「mtdblock0.ubi」)をOpenWrtルーターの/tmpディレクトリへアップロードします。
ここではsshクライアントとしてTeraTermを使っているので、TeraTermが持っている「scpファイル転送機能」によりOpenWrtルーターへアップロードします。
- STEP1scpファイル転送を起動
TeraTermの「ファイルメニュー⇒SSH SCP転送」を選択します。
- STEP2バックアップファイルの選択と転送先の設定
転送元(From)はバックアップファイルを選択します(手順では「mtdblock0.ubi」です)。
転送先(To)は「/tmp」を指定します。
正しく選択・入力したら「Send」ボタン押下によりファイル転送が開始されます。
- STEP3アップロード完了まで待つ
バックアップのアップロード結果を確認
バックアップファイルのscpアップロードが完了しました。
正常にアップロードできたかを確認しましょう。
root@OpenWrt:/ cd /tmp ←コマンド入力
root@OpenWrt:/tmp# ls -l ←コマンド入力
-rw-r--r-- 1 root root 4 Apr 27 20:28 TZ
-rw-r--r-- 1 root root 1204 Jan 1 1970 board.json
-rw-r--r-- 1 root root 71 Aug 6 14:32 dhcp.leases
drwxr-xr-x 2 root root 40 Apr 27 20:28 dnsmasq.d
drwxr-xr-x 3 root root 80 Apr 27 20:28 etc
drwxr-xr-x 2 root root 80 Apr 27 20:28 hosts
drwxr-xr-x 3 root root 60 Apr 27 20:28 lib
drwxrwxrwt 2 root root 380 Apr 27 20:28 lock
drwxr-xr-x 2 root root 80 Apr 27 20:28 log
-rw-r--r-- 1 root root 67108864 Aug 6 14:44 mtdblock0.ubi
-rw-r--r-- 1 root root 47 Apr 27 20:28 resolv.conf
drwxr-xr-x 2 root root 60 Aug 6 14:43 resolv.conf.d
drwxr-xr-x 7 root root 280 Apr 27 20:28 run
drwxrwxrwt 2 root root 40 Jan 1 1970 shm
drwxr-xr-x 2 root root 80 Aug 6 14:30 state
drwxr-xr-x 2 root root 80 Jan 1 1970 sysinfo
drwxr-xr-x 2 root root 40 Apr 27 20:28 tmp
root@OpenWrt:/tmp#
「cd /tmp」コマンドでファイルをアップロードした場所へ移動します。
「ls -l」コマンドで/tmpのファイル一覧を表示します。アップロードしたファイルが存在していることを確認してください。
バックアップを復元する場所の確認
バックアップファイルを復元する場所を確認しておきます。
「cat /proc/mtd」コマンドでmtdブロックを一覧表示します。
cat /proc/mtd
dev: size erasesize name
mtd0: 04000000 00020000 "ubi"
mtd1: 04000000 00020000 "rootfs_1"
mtd2: 00010000 00010000 "SBL1"
mtd3: 00020000 00010000 "MIBIB"
mtd4: 00030000 00010000 "SBL2"
mtd5: 00030000 00010000 "SBL3"
mtd6: 00010000 00010000 "DDRCONFIG"
mtd7: 00010000 00010000 "SSD"
mtd8: 00030000 00010000 "TZ"
mtd9: 00020000 00010000 "RPM"
mtd10: 00070000 00010000 "APPSBL"
mtd11: 00010000 00010000 "APPSBLENV"
mtd12: 00040000 00010000 "ART"
mtd13: 00010000 00010000 "BOOTCONFIG"
mtd14: 00070000 00010000 "APPSBL_1"
root@OpenWrt:~#
バックアップファイルはOpenWrtルーターの「rootfs_1」パーティションへ復元します。
私の環境ではrootfs_1はmtd1であることがわかります。
つまりバックアップファイルをmtd1ブロックへ復元する、ということになります。
バックアップを復元する(注意!!!)
バックアップファイル(mtdblock0.ubi)をmtd1ブロック("rootfs_1"パーティション)へ復元します。
復元コマンドを入力する前に現在のカレントディレクトリが「/tmp」になっていることを確認してください。
大事をとってもう一度「cd /tmp」コマンド入力してもよいですね。
root@OpenWrt:# cd /tmp
root@OpenWrt:/tmp# ubiformat -f ./mtdblock0.ubi /dev/mtd1 ←コマンド入力
ubiformat: mtd1 (nand), size 67108864 bytes (64.0 MiB), 512 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 511 -- 100 % complete
ubiformat: 512 eraseblocks have valid erase counter, mean value is 1
ubiformat: flashing eraseblock 511 -- 100 % complete
root@OpenWrt:/tmp#
「ubiformat -f ./mtdblock0.ubi /dev/mtd1」コマンドでバックアップをmtd1ブロック("rootfs_1"パーティション)へ復元します。
ファームウェアの書き込み中メッセージが表示され、最後に「100 % complete」がメッセージ表示されたらファームウェアの復元完了です。
OpenWrtルーターの再起動
「100 % complete」が表示され、コマンドプロンプトに戻るととファームウェアの復元は完了です。
あとはOpenWrtルーターを再起動すればオリジナルファームウェアでルーターが起動してきます。
root@OpenWrt:/tmp# reboot ←コマンド入力
root@OpenWrt:/tmp#
コマンド「reboot」によってルーターを再起動します。
再起動コマンド(reboot)を実行すると、復元したバックアップからオリジナルファームウェアのインストールが行われてからルーターが起動します。
ルーターが再起動するとWXR-2533DHPオリジナルファームウェアで起動します。
ルーターのIPアドレスはバックアップ取得時のIPアドレスとなります。
このため、パソコンも再起動してIPアドレスを取得しなおしておくとよいでしょう。
まとめ「OpenWrt最強ルーター!?WXR-2533DHP」
以上、OpenWrtのインストールから楽天ひかりへの接続までを一通りやってみました。
OpenWrtルーターは、市販品のメーカー純正ファームウェアのように最初から「便利・簡単に使える」ようにはなっていませんが、自由にカスタマイズすることができて結果としてメーカー純正ファームウェアではできないこともできてしまいます。
「ネット環境で遊んでみたい」「パソコンいじりが好き」という人なら、一台はOpenWrtルーターを持っておくと面白いですよ。
なんでもできるOpenWrtルーター
OpenWrtは市販品のルーターのように「買ってきてつなげるだけで使える」というようには初期設定されていません。
ただし、この記事でも説明してきたようにちょっとした操作(カスタマイズ)により何でもできるルーターになります。
Wi-Fi機能やUSBポートなど、ハードウェアさえ揃っていればメーカー純正ファームウェアではできないことも自由にできるようになります。
- 「IPv4 over IPv6」のすべてが使える
- 「IPv4 over IPv6」とIPv4/PPPoEの同時利用ができる
- 広告ブロックやセキュリティソフトなど自由にカスタマイズできる
- USBポートを使ってスマホ・iPhoneのUSBテザリングでネット接続できる
- 複数のネット回線につなげることができる(デュアルWAN)
- Wi-Fiを使ってネット接続できる(ワイアレスWAN)
- などなど・・・なんでもできる!
WXR-2533DHPでスマホとUSBテザリング
WXR-2533DHPにはUSBポートがあります。
本来の機能はUSBハードディスクを接続してネットワークディスク(簡易NAS)として使うためのポートです。
これをOpenWrt化することであらゆるUSBデバイスを接続・認識し環境構築することができるようになります。
WZR-HP-AG300HをOpenWrt化し、そのUSBポートを使ってスマホとUSB接続することでスマホのネット回線を簡単に利用できるようにするための手順は以下の記事を参考にしてみてください。
WXR-2533DHPでWi-Fiスポット接続
OpenWrt化されたルーターは諸事情による初期値としてWi-Fi機能がオフになっています。
これをオンにすることでOpenWrtルーターはWi-Fi親機として使うこともできるしWi-Fi子機(クライアント)として使うこともできるようになります。
OpenWrtルーターをWi-Fi子機(クライアント)として設定し、上位のWi-FiスポットやスマホとWi-Fiテザリングするための手順は以下の記事を参考にしてみてください。
豊富な情報と格安のWZR-HP-AG300H
OpenWrtは非常にたくさんの市販ルーターに対応しています。
OpenWrt入門用としてのおすすめルーターは「バッファローWZR-HP-AG300H」です。
- 安く中古品を入手できる(500円~1,000円程度)
- OpenWrtの実績が豊富で情報量も多い
- USBポートもついている
はじめてOpenWrtにチャレンジする場合はまずは「WZR-HP-AG300H」から始めてみましょう。
そしてOpenWrtに慣れてきて「もっといろんな拡張モジュールを使ってみたい!」という場合、さらにハイスペックなWXR-2533DHPを使ってみるという使い方がおすすめです。
5000円程度で作れる最強のルーター
新しいネット回線サービスに契約・乗り換えした場合、プロバイダーが提供している高速通信サービスに対応したルーターが必要です。
お手持ちのルーターがすでに対応していればよいですが、対応していない場合にはわざわざ別途購入しなければなりません。
OpenWrtルーターなら500円程度から購入することができ、導入・カスタマイズも簡単です。
また、さらにネット環境を見直した場合でもほぼOpenWrtルーターで対応することができます。
WXR-2533DHPなら5,000円程度でハイスペックなOpenWrtルーターを作ることができます。
「入門用なら1,000円程度で作れるWZR-HP-AG300H」がおすすめです。
OpenWrtに慣れてきていろんな拡張モジュールをどんどん使っていきたい!となったら、ぜひWXR-2533DHP/DHP2を試してみてください。