NanoPi R5CにOpenWrtをいれる
おはようございます。waturaです。IPv6のndp周りでどハマりしましたが、無事に安定稼動するルーターを手に入れました。
そうすると次はより良い環境が欲しくなります。
前の記事でも書いていますが、2025年に置いても10GbE環境の構築は恐ろしくお金がかかります。なので、構築するのは2.5GbE環境です。
2.5GbEのスイッチを導入しました。また、MacBookとはUSB-C Ethernet Adapterで繋ぐようにしました。
WiFiはろくな速度が出ないので、有線1択です。このアダプタにしたのは安かったからです。
ルーター
候補
お値段的に問題がすくなく、少しでも10GbEを使える選択肢
Buffalo WXR-5950AX12
10GbE x 2
OpenWrtがうごく
WXR-6000AX12も同系列
中古ならかえる値段
TP-Link BE7200
10GbE x 1、2.5GbE x 1
OpenWrtはうごかない
新品でもかえる値段
BananaPi R4
OpenWrtが動く
SFP+ x 2
変換アダプター
XikeStor Switch とならつなげる
わりと予算オーバー
変換アダプター
ケース
2.5GbEが使える候補
nanopi R6S, R5S, R5C
OpenWrtが動く
2.5 GbE x 2
BPI-R3
SFP x 2
R3とは違い
BPI-R3 mini
2.5 GbE x 2
Radxa e52c
その他の候補
有象無象の10GbEやSFP+, 2.5 GbE の載っている mini PC
選定
なんとなく、buffaloとかTP-Linkはいやだよね。でも、安くていいよねぇ。しかもbuffaloのは10GbE x 2 だよ!とうところで、悩みました。でも、いろいろ遊ぶならば,TP-Linkはルーターしか出来ないので微妙。BuffaloはOpenWrtもいれれるしいいよね〜。SBC系やnanopi面白そうだよねえ
とマジでとりとめもなく半月くらい上記の候補をググり続けて調べていました。(Perplexityとかで調べてたので、いずれはググるは死語になる?)
結論としては、OpenWrtが問題なくうごきそうで、かつ、お安くて、小さいNanoPi R5Cを購入しました。
メタルケースつきで1万円切っているというところが決め手ですね。
WiFiは使わないので,M.2 E-KeyじゃなくてM-Keyだったら最高of最高って感じだったのですが、本体サイズ的にもあわなそうなので残念でした。
Radxa e52cは安くてよかったのですが、OpenWrt対応がまだ微妙そうだったり、本体の拡張性が低そうだったのでやめました。
BPI系はSFP→rj45に変換する系が高いし、発熱するので不便そうだったのでやめました。
TP-LinkとかBuffaloはメーカーがスキじゃないのでやめました。
NanoPi R5CにOpenWrtをいれる
NanoPiにはFriendlyWrtというOpenWrtのフォークが入っています。なので、そのままそれを使うのもありです。
動かしてみた感想としては、ぜんぜんいらないものがいっぱい入っているなぁという感想でした。なので、OpenWrtをいれてみました。
インストール方法
入れ方は簡単です。
OpenWrtのダウンロード
Ext4の方をダウンロードします。
FriendlyOpenWrt
にログイン
http://192.168.2.1
ID: root
PW: password
write to eMMC
ダウンロードしたOpenWrtを書き込みます
Partitionサイズの問題
もともとのPartitionが超ちっちゃくて悲しい感じになっているので、root fs を最大まで大きくします。
まずは、必要なツールのインストールです。
opkg update; opkg install parted losetup resize2fs
私の環境では /dev/mmcblk1 にデータが入っていたので、/dev/mmcblk1 として書いていますが,一応どこに入っているのかは確認しておいたほうがいいです。
Partitionをでかくしていく
parted -f -s /dev/mmcblk1 resizepart 2 100%
reboot
losetup /dev/loop0 /dev/mmcblk1p2 2> /dev/null
resize2fs -f /dev/loop0
reboot
これで、OpenWrtをNanoPi R5Cで使えるようになりました。
iperf3
2.5GbEアダプタを接続したMacBookPro(Client)
[ 5] 0.00-1.00 sec 279 MBytes 2.33 Gbits/sec
[ 5] 1.00-2.01 sec 281 MBytes 2.36 Gbits/sec
[ 5] 2.01-3.00 sec 280 MBytes 2.36 Gbits/sec
[ 5] 3.00-4.00 sec 281 MBytes 2.36 Gbits/sec
[ 5] 4.00-5.01 sec 276 MBytes 2.31 Gbits/sec
[ 5] 5.01-6.01 sec 281 MBytes 2.36 Gbits/sec
[ 5] 6.01-7.00 sec 281 MBytes 2.36 Gbits/sec
[ 5] 7.00-8.00 sec 281 MBytes 2.36 Gbits/sec
[ 5] 8.00-9.00 sec 281 MBytes 2.36 Gbits/sec
[ 5] 9.00-10.00 sec 282 MBytes 2.35 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 2.74 GBytes 2.35 Gbits/sec sender
[ 5] 0.00-10.01 sec 2.73 GBytes 2.35 Gbits/sec receiver
2.5GbEアダプタを接続したMacBookPro(Server)
[ 5] 0.00-1.00 sec 277 MBytes 2.32 Gbits/sec
[ 5] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec
[ 5] 2.00-3.00 sec 281 MBytes 2.36 Gbits/sec
[ 5] 3.00-4.00 sec 281 MBytes 2.36 Gbits/sec
[ 5] 4.00-5.00 sec 279 MBytes 2.34 Gbits/sec
[ 5] 5.00-6.00 sec 279 MBytes 2.34 Gbits/sec
[ 5] 6.00-7.00 sec 281 MBytes 2.36 Gbits/sec
[ 5] 7.00-8.00 sec 279 MBytes 2.34 Gbits/sec
[ 5] 8.00-9.00 sec 279 MBytes 2.34 Gbits/sec
[ 5] 9.00-10.00 sec 280 MBytes 2.35 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.73 GBytes 2.35 Gbits/sec sender
[ 5] 0.00-10.00 sec 2.73 GBytes 2.34 Gbits/sec receiver
MacBookPro(WiFi)(Server)
[ 5] 0.00-1.00 sec 69.1 MBytes 579 Mbits/sec
[ 5] 1.00-2.00 sec 67.0 MBytes 562 Mbits/sec
[ 5] 2.00-3.00 sec 56.8 MBytes 476 Mbits/sec
[ 5] 3.00-4.00 sec 62.1 MBytes 521 Mbits/sec
[ 5] 4.00-5.00 sec 60.4 MBytes 506 Mbits/sec
[ 5] 5.00-6.00 sec 64.1 MBytes 538 Mbits/sec
[ 5] 6.00-7.00 sec 64.2 MBytes 539 Mbits/sec
[ 5] 7.00-8.00 sec 65.8 MBytes 551 Mbits/sec
[ 5] 8.00-9.00 sec 69.4 MBytes 582 Mbits/sec
[ 5] 9.00-10.00 sec 67.0 MBytes 562 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 646 MBytes 542 Mbits/sec sender
[ 5] 0.00-10.01 sec 644 MBytes 540 Mbits/sec receiver
WiFはもうちょいでてほしいんですが、まあ、そんなもんかなぁという数値ではあります。というわけで、iperfするくらいならば、2.5GbE環境が出来てきたという感じになります。
OpenWrtの設定自体は前の記事を参照してください。
なお、光クロスだとこの記事の設定だとうまくいかないので修正が必要でした。また、今回はMap-eをつかう契約にしたのでDS-Liteの設定とかも全部不要になったので大幅に変わったという感じでした。
この記事にあるスクリプトをつかってマッピングをちゃんとしてあげないと、Bundle installすらできないつらい環境になってしまっていました。
