お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
投稿日:
ソフトウェア::OpenWrt

基本的な考え方としてはWindowsマシンをWiFiのAPにした時と同じと思われる。ゲートウェイのDNSを参照するのでhostsを書き換えると成立する。

確認環境

  • OpenWrt 24.10.0

手順

SSHでやる方法

  1. hostsを開いてIPとドメインを紐づける
    vi /etc/hosts
  2. DNSを再起動する
    service dnsmasq restart

LuCIでやる方法

  1. Network→DHCP and DNSを開き、DNS Recordsタブを選択
    paste-image-2025-34-7_1-33-33-996.png
  2. Addボタンを押し、紐づけるドメインとIPを設定する
    paste-image-2025-34-7_1-33-52-776.png
  3. Save & Applyボタンを押す

備考

IPv6に対してやるにはユニークローカルアドレス(ULA)を設定したうえでDHCP and DNSのStatic Leasesにいい感じに設定する必要があるらしく、地味に面倒そうである。

とはいえ、v6への移行は運用上必須なので、また時間があるときに試して上手くいったら記事にしたい。

前回、OSインストールの記事を書いてから約四ヶ月、今回は実際にインターネットへの接続をやっていく。接続にはOCN バーチャルコネクトを利用する。

20250729_214609306.JPG

四ヶ月放置していたR86Sにはいい感じに埃が積もっていた。

確認環境

  • R86S U1
  • OpenWrt 24.10.0

手順

OSインストールが終わっているものとする。

また、この手順ではLANケーブル(RJ45)を使って進めている。

途中でインターネットを利用する場面が何度かあるため、キャリア回線でWWWに出られるスマホがあると便利だ。

R86Sに接続する

eth1にWAN, eth0にLANを接続する。

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

SSHで192.168.1.1に接続し次のコマンドを流しパッケージをインストールする。

opkg update
opkg install luci
opkg install map
reboot

Web管理画面へのアクセス

paste-image-2025-22-4_1-21-2-344.png

http://192.168.1.1/にアクセスするとWeb管理画面が開くので、ここから設定をしていく。

設定情報の取得

paste-image-2025-48-4_1-47-46-882.png

管理画面上部のNetworkからInterfacesを開き、wan6のIPv6にある先頭4セクションを控え、http://ipv4.web.fc2.com/map-e.htmlを開き入力、計算する。出力されたoption始まりの行の内容をすべて控えておく。

wan6のIPv6にある先頭4セクション(aaaa:bbbb:cccc:dddd)とoptionの値は後で使うので全部控えておく。

WAN側IPv6のDHCP(DHCPv6 client)の設定

paste-image-2025-56-4_1-55-58-67.png

wan6のEditボタンを押す。

paste-image-2025-2-4_2-1-33-503.png

DHCP Serverタブを開き、「Set up DHCP Server」ボタンを押す。

paste-image-2025-59-4_1-58-10-450.png

IPv6 Settingsタブを開きRA-Service、DHCPv6-Service、NDP-Proxyをrelay modeに変更し、保存する。

LAN側IPv6のDHCPの設定

paste-image-2025-10-4_2-9-52-276.png

先ほどと同様にDHCP Serverタブ→IPv6 Settingsタブと開き、RA-Serviceをrelay mode、DHCPv6-Serviceをserver mode、NDP-Proxyをrelay modeに変更し、Saveボタンを押す。

ルータ広告用のインターフェースの作成

paste-image-2025-23-4_2-22-7-581.png

画面左下にある「Add new interface...」ボタンを押し、以下の要領で選択し作成する。ルーター広告はIPv6のRouter Advertisementのことなのでインターフェース名をwan6raとしている。

項目
Name wan6ra
Protocol Static address
Device Alias Interface: "@wan6"

Deviceは項目選択後は画像のように@wan6表記になる。

ルータ広告用のインターフェースの設定

ここでは控えておいたwan6のIPv6にある先頭4セクション(aaaa:bbbb:cccc:dddd)を利用する。

wan6raインターフェースのEditボタンを押し、General Settingsタブにある項目を次の要領で設定する。

項目
IPv6 address aaaa:bbbb:cccc:dddd::1001
IPv6 gateway aaaa:bbbb:cccc:dddd::1
IPv6 routed prefix aaaa:bbbb:cccc:dddd::/56

各設定項目に応じて、先頭4セクションの後ろに::1001、::1、::/56を追記するイメージ。

疎通確認

Save&Applyを押し、以下のサイトが開けることを確認する。

この段階ではIPv6にしか繋がらないため、続けてIPv4向けの設定をしてゆく。

MAP-E用インターフェースの作成

paste-image-2025-49-4_2-48-5-830.png

次の要領でインターフェースを作成する。

項目
Name wanmap
Protocol MAP / LW4over6

MAP-E用インターフェースの設定

ここでは控えておいたoption始まりの行の内容を利用する。

wanmapインターフェースのEditボタンを押し、General Settingsタブにある項目を次の要領で設定する。

項目
Type MAP-E
BR / DMR / AFTR option peeraddrの値
IPv4 prefix option ipaddrの値
IPv4 prefix length option ip4prefixlenの値
IPv6 prefix option ip6prefixの値
IPv6 prefix length option ip6prefixlenの値
EA-bits length option ealenの値
PSID-bits length option psidlenの値
PSID offset option offsetの値

Advanced Settingsタブを開き「Use legacy MAP」にチェックを入れ、保存する。

Firewallの設定

SSHで192.168.1.1に接続し/etc/config/firewallを開く。

config zone
	option name 'wan'
	...
	list network 'wan'
	list network 'wan6'

となっている箇所の末尾に以下を追記し保存。rebootコマンドで再起動する。

	list network 'wan6ra'
	list network 'wanmap'

ルーター再起動後、http://wa.kiriwake.jpne.co.jp/に接続し、判定ボタンを押し、試験1~4と、契約中のフレッツ東西の光がOKになっていれば疎通は問題ないと思われる。

後は適当に幾つかサイトを開いたりfast.comで回線速度を見て疎通確認を実施した。

トラブルシューティング

192.168.1.1に繋がらない

eth0にLANを接続する事で繋がる。初期設定ではeth0がブリッジ、eth1がWAN、eth2は未設定。

ルーター起動後、Windowsでネットワークアダプタが認識中のままになる、インターネットに繋がらない

電源投入からOCNバーチャルコネクトのリンクアップまで20~50秒ほどかかるので気長に待つ。

ニチバン問題の回避方法(再現せず、未解決)

ニチバン問題の解決法は分かっていないが、そもそもニチバンのサイトを普通に開けるため今のところ問題になっていない。

paste-image-2025-25-4_3-24-15-952.png

Qiitaの記事を見る限りキャッシュ消して開きまくればいいそうだが、20タブ開いたり、Ctrl+F5連打しても大して増えなかったので気にしないことにした。

記事中には「ヤマハのルーター使ってポートが枯渇して困る」という言及もあるがNotionを酷使していると良く起きることなので、もし再現したらその時に対応したい。

この問題はOpenWrt24.10以降は標準で対策されている」という記事もあるが、根拠がないため信憑性は怪しい。

LAN側IPv6のDHCPの設定でDHCPv6-Serviceの値はrelay modeかserver modeか?

どっちでも動くのでどっちでもよい気がしているが、OpenWRT 22.03でIPoE(OCNバーチャルコネクト)接続すると、自動セットアップスクリプトではserver modeになっているため、server modeにしている。どのような影響があるのかはよくわかっていないが、LAN側のIPv6をRA依存にするか、OpenWrt依存にするかだと解釈している。マニュアルにもそう書いてある気がする。

おまけ

eth0をWAN、eth1をLANにする方法

  1. NetworkからInterfacesを開く
  2. wanとwan6のDeviceをeth0に変更
  3. Devicesタブに切り替る
  4. br-lanの「Configure…」ボタンを押す
  5. General device optionsのBridge portsをeth1にして保存
  6. Save & Applyを押す

CPU温度を見る方法

luci-app-temp-statusをインストールする。

2025年8月4日時点では以下のコマンドでインストールできる。

wget --no-check-certificate -O /tmp/luci-app-temp-status_0.7.1-r2_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-app-temp-status_0.7.1-r2_all.ipk
opkg install /tmp/luci-app-temp-status_0.7.1-r2_all.ipk
rm /tmp/luci-app-temp-status_0.7.1-r2_all.ipk
service rpcd restart

paste-image-2025-52-4_3-51-8-315.png

インストールが終わるとトップ画面にTemperatureが出てくるほか、Status→Realtime GraphsにもTemperatureが出てくるようになる。

セットアップが完了したR86Sの姿

20250803_003624293.JPG

まぁまぁいい塩梅だと思う。

撤去されたYAMAHA RTX830

20250802_133330950.JPG

R86S + OpenWrtを導入するまで使っていたRTX830。価格の割にIPv6向けの機能が貧弱だったり、設定が手間だったり、マニュアルが雑目だったり、あまりいい思い入れはなかった。

OCNバーチャルコネクトの接続がBuffaloルーターより早く安定している点と、LAN向けのDNSがあるのは便利だったが、あの読みづらいマニュアルはもう少し何とかした方がよいと思う。

今回セットアップした感想

今のところ予想以上にトラブルや問題がなく、平然と動いているため、かなり満足している。

RTX830との比較

管理画面の操作性や充実度はRTX830を遥かに超えており、非常に体験がよかった。

paste-image-2025-19-4_4-18-8-88.png

設定変更についてもSave & Applyを押すまでは保留状態になるため、間違った設定が即座に反映されないのもよい。

paste-image-2025-60-4_3-59-8-343.png

しかもPending changesをクリックすると設定ファイルに対する差分も確認でき、大変便利だ。

電源投入からOCNバーチャルコネクトへのリンクアップまでの時間も体感RTX830と大差なく、Buffaloルーターのように接続ネゴシエーションの成功を祈っていたら1~2時間経過していたみたいなこともないのは素直にうれしい。fast.comで計測した限りでは速度やレイテンシの劣化もなく大変満足している。

DHCP設定の静的リースのUIが便利すぎる

Network→DHCP and DNS→Static Leasesから現在繋いでいる機器が見れるのがありがたいし、リース情報もわかりやすい。

しかも静的リースを行うときにOpenWrtが把握しているMACアドレスとドメイン名の一覧が出てくるので、手打ちしたり、確認する手間が省けるのも便利だ。リース時間も設定できるし、至れり尽くせりである。

ちょっとうるさい

唯一残念なところを挙げるとするとファンが微妙にうるさく、2mの距離があってもモスキート音レベルのささやかな動作音が聞こえる部分だ。これは慣れれば気にならなくなると思いたい。今の時期だとエアコンの音にかき消されてほぼ聞こえないが、それでも寝る前だと個人的には若干気にならなくもない程度だ。薄型のシロッコファンゆえにNoctuaのファンに変えるのも難しく、正直解決策としては物理的に遠くするか、間に何か防音材を放熱の邪魔にならないように挟むくらいしかないだろう。一応メーカー的には静穏ファンとのこともあり、大半の人は気にならないとは思う。

Banana Pi BPI-R4にもSPF+が2つあり、RJ45ソケットもあり、2.5万程度と安価なため、冷却装置をDIYして静穏化する場合はこちらの方が向いている可能性がある。実際にやってる人もいる

ただまぁスペックはR86Sの方が上等なので、安く静かで多くを求めず、多少大きくてもいいならBanana Pi BPI-R4、多少の騒音を許容でき、スペックが欲しい場合はR86Sというのもありだろう。一般家庭のルーターに、そこまでスペック要るのかどうかというのはさておき…。

微妙なスイッチングハブの使用による性能劣化

今回ルーター側のポート数の制約により、ルーター直結でなくスイッチングハブを通してWWWに接続している。使えるものがBuffaloのWiFiルーターのAPモード(スイッチングハブとして機能する)しかなかったので、これを使っているが、直結と比べた場合にあからさまな性能劣化が見られた。以下は数回計測した上での平均値。小数点以下は切り捨て。

直結時

下り速度 上り速度 アンロードレイテンシ ロード済みレイテンシ
435Mbps 430Mbps 4ms 5ms

Buffalo経由時

下り速度 上り速度 アンロードレイテンシ ロード済みレイテンシ
357Mbps 422Mbps 5ms 13ms

上りは誤差だが、下りが78Mbps低く、ロード済みレイテンシも倍以上の差が出ている。MMOを辞めた今となっては問題ないとはいえ、なんとも微妙だ…。

ただまぁ、将来的には10GbEスイッチを購入する予定であるため、恐らくソフトウェア的な制御によって起きているであろうこの問題は、いずれ解消するとは思う。

次の作業に向けて

初期状態ではeMMCの一部しか解放されておらず、128GBをフルに使うにはストレージの拡張が必要と聞くので、気が向いたらやりたいところだ。eMMCのストレージを使う未来があまり思い浮かばないので増設になるかもしれないが…。

後は設定のカスタマイズなどを通してよりよい環境にしていき、IP変動環境でIPv6を利用した自宅サーバーの公開や、10GbEの導入などに向けて挑戦していきたいところだ。

参考記事

昨年フレッツ光クロス、10Gbps対応に関する覚書を書いてしばらく経つが、いよいよ10GbE対応のための環境を作ろうと思ったので、その記録を残していく。

第一弾はR86S U1を買ったので、その購入録とOSのセットアップまでのログを書いていく。

買ったもの

今回購入したのは中華性の怪しい10GbE自作ルーターマシンとして名高いR86S U1だ。もう話題になって数年経っているので旬は過ぎていると思うが、依然として10GbEルーターとして安価な選択肢だと思う。

買った後で気が付いたが、U2のほうがスペックが上で値段同じなのでU2を買ったほうがいい。

セットアップ時にあるといいもの

  • HDMI to Micro HDMI変換アダプタ
  • SDカード or USBメモリ
  • rufusやbalenaEtcherなどのイメージを焼く手段
  • MSYS2

初回起動

私が購入したものはeMMC内にOSが上手く入っていないのかgrubが表示されるだけで、マニュアル操作でも起動イメージが見当たらずmOSを起動することができなかった。

どの道プリインストールされているOSは中国語で役に立たないという話だったのでOSのセットアップを行うことにした。

試験起動

汎用PCへのインストール手順は公式情報である、[OpenWrt Wiki] OpenWrt on x86 hardware (PC / VM / server)が参考になる。

  1. リリース一覧を開き最新の安定板を辿り、x86→64に進む
  2. generic-ext4-combined-efi.img.gzをダウンロードする
  3. sha256sum openwrt-24.10.0-x86-64-generic-ext4-combined-efi.img.gzでハッシュを確認
  4. gunzip openwrt-24.10.0-x86-64-generic-ext4-combined-efi.img.gzで展開する
    • Explzhだと上手く解凍できなかったのでMSYS2からgunzipを叩いて対処した
  5. 展開して出てきたimgファイルをSDカードかUSBメモリに焼く
  6. imgファイルを焼いたメディアをR86Sに差し込む
  7. R86Sの電源を入れPOST画面が出たらDeleteを叩き、BIOSに入る
    • 通電時に勝手に電源が入るため一回落とした方がいい
  8. 起動順序を差し込んだメディアに変更する

eMMCへのOSインストール

Ubuntuのインストールディスクの中にOpenWrtのイメージをバンドルする方法がわからず、SDカードにimgを焼いてもマウントできなかったのでネットワークを経由してインストールしている。

事前準備

  1. OpenWrtのイメージファイルを入力しやすい短いファイル名にしてHTTPが疎通するどこかに置いておく
  2. R86S U1に前述のイメージと疎通可能なLAN線を刺す

インストール手順

  1. Ubuntu Serverのインストールイメージを落とす
    • 日本語版サイトから落とすとEFIイメージでないものが落ちてきたので本家から落としてきたほうがいい
  2. rufusを使って何かしらのメディアに焼く
  3. R86S U1を起動し、POST画面でDeleteを叩き、BIOSを開く
  4. 起動順序をUbuntuを焼いたメディアにする
    • USBの場合はUSB Key
  5. Ubuntuを起動し、GrubでTry or Installを選ぶ
    20250323_095333684.JPG
  6. キーマッピングを日本語にするところまでインストールウィザードを進める
  7. 右上のヘルプを開き、Enter shellする
    20250323_100328728.JPG
    20250323_100342943.JPG
  8. wgetで事前準備で用意した起動イメージを落とす
  9. eMMCにイメージを焼く
    dd if=openwrt-efi.img bs=1M of=/dev/mmcblk0
    
  10. shutdownコマンドを叩く
  11. 再起動でBIOSに入り起動順序をeMMCに変更
  12. GrubにOpenWrtが出て起動することを確認
  13. passwdコマンドでパスワードを設定する

2025年8月4日追記

この続きはR86SとOpenWrt 24.10でOCNバーチャルコネクトに接続したときのメモに書いている。

開梱の儀

20250312_100023950.JPG

梱包状態。安い中華製品にしてはなかなか丁寧だ。

20250312_100212496.JPG

箱もしっかりしている。

20250312_100104107.JPG

横の小さな箱にはMicro HDMI -> HDMIケーブルが付属していた。これは親切だ。

20250320_084100864.JPG

開梱すると本体とACアダプタが見えた。やはり梱包が丁寧だ。

20250320_084606694.JPG

箱の底にはマニュアルと検査証、六角が入っていた。この六角は本体を開けるためのものだが、なめてしまい役に立たなかった。

20250320_084156941.JPG
20250320_084532642.JPG

ネットワークインターフェースはSFP+が2口、2.5GbEイーサーが3口。他に電源用USB-C、USB3.0x2、USB2.0x1、SDカード、Micro HDMIといった感じだ。

20250320_084319103.JPG

表面にはケースファンと冷却用のフィンがついている。デザインも悪くない。

20250320_084350885.jpg
20250320_084428231.JPG

裏面と片側面にはゴム足がついており横置きにも縦置きにも対応している感じだ

分解

20250322_121246053.JPG

付属の六角がなめてしまい役に立たなかったのでちゃんとしたのを買ってきた。対応するのは1.5mmだった。

20250322_121711775_1.JPG

表のふたを開けるとNVMeSSDスロットが見える。ネジ穴的に一番長い奴しか無理だろう。

20250320_084156941.jpg

本体をパカっと二つに。どうやらマザーボードは三枚くらいに分割されているようだった。

あとがき

EFIイメージかBIOSイメージかは好みで選んでいいという記事を何個か見たが、BIOSイメージだと起動しなかったため、EFIイメージのほうがいいかもしれない。

参考までに手持ちのAMD64マシンにBIOSイメージを刺したところ、そもそも認識すらしなかったためダメなのかもしれない。24.10固有の問題なのかどうかはわからないが、今時はUEFIが推奨される環境であると思われるため、EFIイメージで問題ないと思われる。

ひとまずこれで10GbE環境への一歩を踏み出せたと思う。LANが構築でき、現状の環境でWAN込みで安定稼働させられたら実際に10GbE契約もしていきたいところだ。

20250402_085958973.JPG

しかしイメージを焼いたSDをマウントできないのは想定外だった。FAT32でフォーマットしたはずなのでマウントできそうなものだが…。正直焼いてマウントして取り出すより、アップしてwgetしたほうが楽なので別にいいのだが。