世界を動かす技術を、日本語で。

OpenWrt: 組み込みデバイス向けのLinux OS

概要

  • セキュリティ確認のための テストメッセージ
  • JavaScriptの 有効化 がウェブサイト利用の条件
  • AI企業による ホスティング契約の変化 への言及
  • JavaScript非対応時の 現状と課題
  • 今後の ノーJavaScript対応 の予定

セキュリティ確認とJavaScriptの必要性

  • ウェブサイト利用時の セキュリティ強化 のためのテスト実施
  • 利用者が ボットか人間かの判定 を目的としたプロセス
  • JavaScriptを 有効化することが必須条件
  • JavaScript無効状態では ウェブサイトの閲覧不可
  • AI企業による ウェブホスティングの契約変更 への対応策

JavaScript非対応時の対応状況

  • JavaScriptを無効化している場合の 利用制限
  • ノーJavaScript環境向けの ソリューション開発中
  • 現在は JavaScript必須 の状況
  • 将来的な ノーJavaScript対応 のアナウンス
  • 利用者への 現状説明と今後の予定

Hackerたちの意見

なんか、全ての始まりとなったルーターがもうサポートされてないのは悲しいし、皮肉だし、面白いよね。あえて言うなら、WRT54G(L)用のシンボリックなビルドはまだ可能なんじゃないかな…?

自分でイメージをビルドすることもできるけど、いくつかのパッケージや機能をオフにしないといけないよ。そうしないと、イメージ(Linuxカーネル + ツール)が大きすぎたり、メモリを食いすぎたりするから。元のルーターは8メガバイトのRAMと2メガバイトのフラッシュ(ストレージ)を持ってる。最近のカーネル6.16.5をブートできるけど、8MBじゃああまり余裕がないよね。スタート地点はここにあるよ: https://intercity-vpn.de/files/openwrt/wrt54gtest/minimal/

僕の無知な推測だけど、こういうシンボリズムを求めてる人は、実際にメンテイナーになって、減少するユーザーベースのためにニッチなコードに時間を投資する気がないんじゃないかな?

OpenWRTはルーターにとって最高のOSだと思う。シンプルだけど設定できるUIで、信頼性も高いし、ルーター会社がデフォルトでこれを搭載してくれたらいいのに。

でも、Broadcomみたいな面倒なファームウェア提供者がいて、Linux用のOSSドライバーを書くのを拒否してるから、リバースエンジニアリングに多くの労力がかかってるんだよね。

OpenWrtを使ってるよ。ルーターを選ぶときは、OpenWrtにしっかり対応してるモデルを選んで、元のファームウェアをすぐに消してOpenWrtをインストールしたのが約10年前。ハードウェアを交換するときも、OpenWrtに対応したモデルを探して同じことをした。OpenWrtで解決できなかった問題は一度もなかったし、ちゃんと動いてる。停電があっても、ほぼそのまま稼働し続けてるよ。

自分のファイバーONTとWi-Fiルーターは安いバッテリーバックアップに繋いでるんだけど、長時間の停電でもずっと動き続けてるよ。

これには賛成。ルーターのベンダーファームウェアで変な問題があった以来、すぐにOpenWrtを入れられるハードウェアを選ぶようにしてる。すごくうまく動いてるよ。

どのハードウェアを選んだの?最近のglinetの二番目に新しいやつをOpenWrtで動かそうと思ってたけど、今使ってるTP-Linkがまだ結構新しいから、やる価値があるか自分を納得させられないんだ。今はVLANとか特別なこともやってないし。

同じく。もう何年もOpenWrtを使ってる。OpenWrtが動くハードウェアを選んでるから、デバイスがクラッシュして再起動することはほとんどない(本当に一度だけ)。あの「ルーターを再起動して」っていうのはもう無縁だよ(木を叩く)。全てのインフラがUPSに繋がってるのも助けになってると思う。ラズベリーパイでも長期的に信頼できるサーバーとして使えることが分かったし、Ubuntuサーバーを動かしてUPSに繋いでる。もう一つのポイントは、機能を分けてること。1台はルーター専用、Wi-FiボックスはWi-Fiのエンドポイントだけを提供して、ルーティングはしない。そんな感じ。

OpenWrtが大好き!でも、もっと「大きな」デバイス向けの似たようなものがあればいいなと思ってる。OpenWrtの制約は、数百メガバイトのフラッシュやRAMがあるとあまり関係ない気がするし、最近のルーターではそれが普通になってきてるよね。彼らのOpenWrt Oneルーターですら、256Mのフラッシュと1GBのRAMを持ってるし、もうそんなにリソースが制約されてるわけじゃない。もっと「普通」のLinuxディストリビューションに近いものがあって、OpenWrtのネットワーキングの良さや設定の簡単さを持ってるといいな。

強く同意する。オープンWRTが作り上げた特注の環境よりも、systemdを使ったデビアンで、退屈な普通のユーティリティを使っている方がいいな。オープンWRTが存在することにはすごく感謝してるし、彼らのUCI設定はsystemdが一貫したシステム構成パターンを作ろうとする前からあったもので、素晴らしい。でも、これらのシステムの能力を考えると、環境を特化させるのをやめて、もっと普通にするのが価値があるように感じる。ホストAPDを管理できるKubernetes向けのツールや、バンド/APのステアリング用にdawnやopenertのusteerみたいなものが本当に欲しい。あと、他のWi-Fiツールもいくつか。PSKだけじゃなくて、RADIUS/エンタープライズ用のセットアップもあればいいな。もっと色々できるけど、オープンWRTの本質は90%がオープンWRT用のパッケージングなんだよね。ホストAPDも特にすごくチューニングされてるわけじゃないし、無線設定には試して有効にできるものがたくさんあって、実際には追加の802.11仕様をサポートしてるだけなんだ。それがオープンWRTのWi-Fi体験を改善するかもしれない。

パッケージやOSの更新がもっと普通な方法でできるといいな。数年前にAlpineベースのものを誰かが作ってるって聞いた気がするけど、それ以来何も聞いてない。

逆に、OpenWRTが本当に安いTP-Linkのような低リソースのルーターで動けばいいのにって思ってる。DD-WRTはそのうちのいくつかをサポートしてるし、個人的にはDD-WRTの方がOpenWRTより最適化されてると思うよ。ちなみに、OpenBSDも試してみるといいよ(https://openbsdrouterguide.net/)。

OpenWRTを「大きい」デバイスで動かしてるんだけど、これはProxmox管理のDL380 G7のコンテナなんだ。この環境では問題なく動いてて、パフォーマンスも良好で、ギガビットの光回線を楽々使い切れるよ。こういうデバイスにOpenWRTをインストールするには、openwrt-${version}-x86-64-rootfs.tar.gzをダウンロードして、ターゲットの場所に解凍するだけ。コンテナやVM(または古いPCなど)を起動して、普通のOpenWRTの設定手順に従えばOK。こうしたインストールのアップデートは、OpenWRTで設定のバックアップを作成して、新しいディストリビューションを解凍して、そのバックアップを新しいインストールに戻すだけ。リソース要求が低いから、まず動いてるコンテナやVMをクローンして、片方でアップグレードを行うのが理にかなってるね。そうすれば、常に動いてるインスタンスが手元にあるから。

OpenWRTの熱心な支持者だよ。ここ20年くらい、みんなが名前を挙げる「ルーターのディストリビューション」をほぼ全部使ってきたけど(SmoothWall覚えてる?)、OpenWRTはタンクのように頑丈で、ずっと動き続けてる。彼らの「OpenWRT One」の実験が続くことを願ってる。OpenWRTがNetgateやOPNsenseみたいな「SMBファイアウォールベンダー」にも一発かますところを見たいな。あと、UbiquitiみたいなWi-Fiベンダーを値下げしてくれると嬉しい。将来的に自分で試してみたいのは、「OpenWISP」を使って、共有ワークショップで3台のOpenWRTデバイスを並行して管理すること。これもOpenWRTがもっと統合できるといいなと思うけど、「ベンダー」が取り組んでるのを見るのはいいね。[1] https://openwisp.org/

関連で、昔はmonowallのウェブサイトギャラリーに行くのが大好きだった。あのlabgoreを見られるのが楽しかったんだ。今もそこにあって、まるでタイムカプセルみたいだね。: https://m0n0.ch/wall/gallery.php

OpenWISPのドキュメントには、少なくとも20台のデバイスを運用するべきだって書いてある。だから、家庭用ユーザーが少数のデバイスを管理するための簡単な方法ではないみたい。 > ただし、OpenWISPは、非常に小さなネットワーク(20台未満のデバイス)やITの専門知識がない組織、コスト削減のためだけにオープンソースの代替を求める企業にはあまり向いていないかもしれません。 1: https://openwisp.org/faq/#suitable

OpenWrtがあまり商業化しないことを願ってる(Netgateやopnsenseみたいに)。そうなると、サブスクリプションやクソ化、機能制限、ドラマに繋がるからね。今はしっかりしたプラットフォームとしていい位置にいるから、これからもそのままでいてほしいな。

OpenWRTのアプリプラットフォームとしての可能性を過小評価してる人が多いと思う。仕事で忙しくなる前に、WebRTC SFUの概念実証をやってみたんだけど、意外とうまくいったよ。: https://github.com/atomirex/umbrella それに、最近の3Dプリンターのフロントエンドとして使われてるって聞いて、驚いたけど、驚かない自分もいた。

複数のOpenWRTデバイスを管理するのは、まだ一番の弱点だね。OpenWRTはデバイス中心だけど、デバイスを管理したいわけじゃなくて、ネットワークを管理したいんだ。最近見たメッシュWi-Fiシステムはそれをうまくやってる。理論的には、OpenWRTのルーターとAPでIoTデバイス専用のVLAN + SSIDを作れるけど、TP-Linkのメッシュではアプリで数回タップするだけでできた。OpenWRTのデバイスでやるのは、かなり手間がかかると思う。

家では、OPNsenseボックスを構築して評価してた(Sophos XG135 Rev 3ハードウェアを使って、OpenWrtのいいNetgear WiFi APをPOEで接続)。でも、結局プラスチック製のOpenWrtオールインワンボックスに戻った。OPNsense(とpfSense)は面白いけど、今はIDS/IPSは必要ないし、ファンレスでルーターを動かしたいんだ。OpenWrtがすぐに改善できることの一つは、LuciのWeb管理UIからゲスト用のVLANを追加するのがもっと簡単になることだと思う。(今は、数年前にブログを参考にして作ったゲストVLANの設定があって、新しいインストールで再構築するのが面倒なんだ。)技術に詳しくない人がいる家庭では、ちょっとしたIDS/IPSが家庭のインターネット回線から悪質なトラフィックを防ぐのに役立つかもしれないし、それがより強力なプラスチックボックスや適切なWi-Fiデバイス/APを持つPCでOpenWrtと一緒に動くことができるかもね。(VLANやルーティングを使って、マルウェアに感染したデバイスからの被害を最小限に抑えることや、技術的なものには「ゼロトラスト」を考えることも含めて。)

一度、全然ルーターじゃない箱にOpenWRTを入れて配達したことがあるんだ。理由は、すごくシンプルだったし、YoctoよりOpenWRTをいじる方が楽だったから。

「OpenWRT One」の実験が続くといいな。OpenWRT TwoはGL.iNetから2025年末に予定されていて、価格は約250ドルになるはず。 https://news.ycombinator.com/item?id=43512495

OpenWRTが「SMBファイアウォールベンダー」、特にNetgateに一発かますのを見てみたいな。これをここに置いとくよ: https://www.netgate.com/blog/pfsense-software-embraces-chang... OPNsenseはこの移行ができそうにないね、FreeBSDカーネルでさえ安定して動かせないから。

OpenWRTがNetgateやOPNsenseみたいな「SMBファイアウォールベンダー」に一発かましてくれるといいな。あと、OpenWRTをベースにしてるUbiquitiみたいなWi-Fiベンダーを値下げしてくれたら最高。なんで?競争が嫌なの? UbiquitiみたいなWi-Fiベンダーを値下げしてくれたら最高。 え?古いエッジルーターはvyattaを使ってたけど、新しいのはカスタムLinuxディストリビューションだよ。どっちもOpenWRTじゃないし。彼らはvyattaがニーズに合わないと気づいて、Debianをベースにしたファイアウォールをゼロから作るためにpfsenseの元作者を雇ったんだ。UDMのカーネルはOpenWRTとは全然違うよ。 https://github.com/fabianishere/udm-kernel OpenWRTにワクワクするのはいいけど、悪い情報を広めたり、他のプレイヤーの失敗を望んだりするのはちょっと理解できないな。

DD-WRTをずっと使ってたけど、マジでバグが多かった。OpenWRTを試したら、もう戻れなくなった。ほんと、ちゃんと動くし、動きもいい。

WRT-54GのTomatoは、僕の中で最高だったと思う。

テストルーターとして設定しようとしたら、古いカーネルとiptablesが統計ドロップモードをサポートしてなくて、つまずいた。

面白いな、最新のルーター(WRT3200ACM)では逆の体験をしたんだ。OpenWRTがバグだらけで使えなかったから、DD-WRTに切り替えたんだよ(WiFiが安定して動かなかった)。

ずっとファンで、Archer C7で使ってるけど、SQMを使うためにハードウェアスイッチングを無効にしなきゃいけなかったから、今はスイッチング性能が<200Mbpsになっちゃった。最近、家庭用のファイバーにアップグレードしたから、ネイティブのUnifiルーターを買うつもり。

Intel n100ボックス(Aliexpress -> Topton)を見てみるといいかも。高品質なIntelカードが付いてる2.5GEポートが4-5個あることが多い。すごく安い(100-200€)し、消費電力もそんなに多くない(5-15W)。x86ビルドを使ってOpenWRTを動かせるよ。普段は、建物が燃えたときのために、緊急ネットワークタスク用に5-10台くらい持ってる。

フジツウのFutron S920を中古で30ユーロくらいで買ったんだ。そこにデュアルNICのPCIを入れて、今は低消費電力でめっちゃ速いルーターが動いてる。1Gbitの上下通信も楽々だよ。

俺のアクセスポイントとルーターは全部OpenWRTで動いてる。大好きだよ。ある時、サポートされてないTP-LinkのデバイスにOpenWRTを移植したこともある。確か、デバイステーブルをハックして、TP-Linkのローダーコードにちょっとした修正を加えたんだ。面白いことに、GitHubでPRを出したら、フィードバックを実装した後はほとんど無視されたんだ。それで、代わりにパッチをメーリングリストに送ったら、その日のうちにコメントなしでマージされた。これって何かスキルフィルターみたいだね…。

OpenWrtをLXC経由でIncusで使い始めたばかりだけど、すごくうまく動いてる。最も難しかったのは設定ファイルを学ぶことかな。OpenWrtのアップグレード(特にLXC上で)が難しいみたいだから、それはちょっと不安。VMに移そうかとも考えたけど、Incusでの動作がすごくスムーズだからそのままにしてる。

OpenWrtの大ファンだよ。家で10Gbitのインターネットを使うようになったとき、古いUbiquiti USG3を安く交換する必要があって、80ドルのLenovo ThinkCentre Tinyでルーターを作った。アドバイスを受けてOPNsenseやpfSenseも試したけど、いくら調整しても5Gbpsのスループットには届かなかった。でもOpenWrtは何もせずにすぐにそれを達成してくれた。ファイアウォールの設定用のOpenWrtのUIは、今までのファイアウォールUIの中で一番好きかも。OpenWrt以前は、伝統的なルーターの「ローカル」などのルールセット名が全然理解できなくて、設定を編集するたびに毎回調べ直してた。