Slide 1

Slide 1 text

自分だけのルータを作る @musashino_205

Slide 2

Slide 2 text

 musashino_205 ◦ WT1520でOpenWrtを知り、WHR-G300Nでハマった  WT1520: 上海問屋で販売されていたアレ  コレ ◦ Tw: @musashino_205 ◦ Mstdn: @[email protected] ◦ 詳しくはWebで  https://大破.net/ (https://taiha.net/)

Slide 3

Slide 3 text

 法律面での注意 ◦ 市販のルータにサードパーティー製ファームウェアをインス トールして電波を出す場合、  技適表示が無効となる “改造” に該当する場合がある ◦ 原則として搭載されている無線機能は使用せず、有線機とし て使用する  法律を守って楽しいHackを!

Slide 4

Slide 4 text

_______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt 18.06.0, r7188-b0b5c64c22 ----------------------------------------------------- _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- CHAOS CALMER (Chaos Calmer, r47951) ----------------------------------------------------- * 1 1/2 oz Gin Shake with a glassful * 1/4 oz Triple Sec of broken ice and pour * 3/4 oz Lime Juice unstrained into a goblet. * 1 1/2 oz Orange Juice * 1 tsp. Grenadine Syrup ----------------------------------------------------- _________ / /¥ _ ___ ___ ___ / LE / ¥ | | | __| ¥| __| / DE / ¥ | |__| _|| |) | _| /________/ LE ¥ |____|___|___/|___| lede-project.org ¥ ¥ DE / ¥ LE ¥ / ----------------------------------------------------------- ¥ DE ¥ / Reboot (SNAPSHOT, r0+5730-0c72c27) ¥________¥/ -----------------------------------------------------------

Slide 5

Slide 5 text

 “The OpenWrt project is a Linux operating system targeting embedded devices.” ◦ https://openwrt.org/ ◦ ルータを中心に、組込ボードその他多岐にわたってサポート  ルータとしての基本機能から言語類まで多彩なパッ ケージを提供 ◦ dnsmasq, iptables, bind, adblock, Nginx, PHP, Lua, SoftEtherVPN, ... ◦ Kernelも1つのパッケージとして提供される ◦ 機能をユーザーが自由に拡張可能、パッケージの自作も可 ◦ ぼくのかんがえたさいきょうのルータ

Slide 6

Slide 6 text

 ARMやMIPS, PowerPC, x86 (x86_64)など ◦ Linux KernelでサポートされるSoC/CPUは大体サポート ◦ 逆に、mainlineでサポートの無いSoCは未サポート  例: Realtek SoC  RTL8196, RTL8198, ... (Lexra core)  RTL8197F, RTL8198C (MIPS core) ◦ SoCのベンダ, 系列ごとのグループを “target” と呼称  現在targetは49個くらい  target/linux/ 以下

Slide 7

Slide 7 text

 原則としてStable Releaseを使用 ◦ 現在使用されているのは3種(2018/10/27現在)  include/kernel-version.mk  3.18.124  4.9.135  4.14.78 ◦ 4.14の次は4.19を予定  Initial kernel 4.19 support #1386 – openwrt/openwrt

Slide 8

Slide 8 text

 最新リリース ◦ OpenWrt 18.06シリーズ: 18.06.2  全体的なバージョンのアップデートが中心  2種類のオフロード機能をサポート  Netfilter Flow Offloading: ソフトウェア実装(Kernel 4.14~)  MediaTek MT7621 HW NAT: ハードウェア依存実装 ◦ LEDE 17.01シリーズ: 17.01.6  OpenWrtからフォークしたLEDE-Projectから続くリリース  LEDE-ProjectとOpenWrtは既に再統合済み  OpenWrt 18.06の使用が難しい環境向けなどのため継続  Flashのサイズが小さい(4MB以下)など

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

 海外メーカー ◦ tp-link, , D-Link, , ...  海外で広く展開しているメーカーが多いため、OpenWrtに移植さ れたものが多い  例:  tp-link Archer C50  NETGEAR R6120  NETGEAR R7800  D-Link DIR-825  (CISCO) Meraki MR18  (CISCO) Meraki MR24  ハード構成の異なるバージョンが複数存在する機種が多いため 注意

Slide 11

Slide 11 text

 国内メーカー ◦ BUFFALO http://buffalo.jp/  最近まで海外での販売も多く、旧機種中心にサポート済が多い  直近は海外販売は縮小傾向、海外勢による新機種サポート低調  例:  BHR-4GRV(2)  WZR-900DHP(2)  WSR-1166DHP(2) ----> (DHP3はカニ(Realtek)なので未サポート) ◦ planex https://www.planex.co.jp/  OpenWrtのメンテナや国内の方により追加され、比較的多め  例:  MZK-750DHP  DB-WRT01  VR500シリーズ

Slide 12

Slide 12 text

 国内メーカー ◦ I-O DATA http://www.iodata.co.jp/  最近少しずつ追加されており、増えつつある  例:  WN-AX1167GR  WN-AC1167DGR  WN-AC1600DGR2  一部自前ビルドが必要な機種あり ◦ ELECOM http://www.elecom.co.jp/  I-O DATAと大体同じ状況(少しずつ増加、一部は要自前ビルド)  例:  WRH-300CR  WRC-1167GHBK2-S  WRC-1900GST/2533GST

Slide 13

Slide 13 text

 国内メーカー ◦ NEC http://www.aterm.jp/  WG2600HPのみサポート済  めっちゃつらい(つらかった)  OpenWrtのインストール手順が非常に複雑 ◦ tama(多摩電子工業) http://www.tamadenco.co.jp/  W06シリーズのみサポート済み  AW06, TW06W ◦ YUKAI Engineering(ユカイ工学) https://www.ux-xu.com/  “BOCCO” がサポート済み  ロボット

Slide 14

Slide 14 text

 まだ増やせそう ◦ I-O DATA, ELECOM  数機種作業中 ◦ Logitec?  古い機種が多いので悩みどころ ◦ Corega?  ファーム周りで特殊な構造になっている機種がいくつか  11ac機は1T1R(433Mbps)機がMediaTek SoC機  2T2R(866Mbps)機はRealtek SoC  厳しい ◦ NEC  現行周辺のミドルレンジ帯がほぼRealtek SoC機  WG1200HPx/HSx  WG1800HPx  WG1900HPx など  WG2600HPx系列はいけるかも?  価格が高い...

Slide 15

Slide 15 text

 OpenWrt公式サイト  https://openwrt.org/  OpenWrtリポジトリ  https://git.openwrt.org/?p=openwrt/openwrt.git  ミラー: https://github.com/openwrt/openwrt  WikiDevi ◦ ルータ, SoC情報等  https://wikidevi.com/  srchack.org (@srchack氏)  http://www.srchack.org/  DD-WRT OpenWrt 適材適所で使いたい人向け @ ウィキ ◦ 有志による情報まとめ  https://www57.atwiki.jp/ddwrt_openwrt/

Slide 16

Slide 16 text

 ご清聴ありがとうございました。  この後オマケ

Slide 17

Slide 17 text

 福岡大のNTPの件は? ◦ かなり古い(10年以上前)コードに一時期存在していた  Package/nvram/src/defaults.c ◦ 既に削除済み ◦ 現在はntp.orgのプールを使用  [0-3].openwrt.pool.ntp.org ◦ SoCベンダのSDKやメーカー独自のコードなど、古いコードの 使用もしくはOpenWrt外で設定されていることはあり得る  現在の公式のコードではほぼ間違いなく無い ◦ 詳細な解説  OpenWrtでのNTP向き先は? - @SRCHACK.ORG  http://www.srchack.org/article.php?story=20171225011310935

Slide 18

Slide 18 text

 条件 ◦ Ethernetは全てGigabit ◦ OpenWrtの推奨要件を満たすFlash/RAM容量  Flash 8MiB/RAM 64MiB以上 ◦ OpenWrtのインストールが簡単 ◦ 安価(中古 or 新品)  補足 ◦ 今回は国内メーカー機に限定 ◦ 性能の問題から、いくらか旧式の機種は除外 ◦ 無線性能は今回無視 ◦ Ethernet 5ポートを搭載する一般的な家庭向けルータ  ポータブルルータ等は今回除外

Slide 19

Slide 19 text

 仕様 ◦ SoC: QCA9557 (720MHz, 1C1T) ◦ RAM: DDR2 64MiB ◦ Flash: SPI-NOR 16MiB ◦ Ethernet: 1Gbps x5  特徴 ◦ メーカーファームのWebUIから直接OpenWrtインストール可 ◦ 有線機なので技適絡み無し ◦ 販売中 ⇒ 供給が安定

Slide 20

Slide 20 text

 仕様 ◦ SoC: BCM47081 (800MHz, 1C1T) ◦ RAM: DDR3 256MiB ◦ Flash: NAND 128MiB ◦ Ethernet: 1Gbps x5 ◦ USB: 3.0 Type-A x1  特徴 ◦ DHP2はメーカーファームからOpenWrtインストール可 ◦ 販売終了 ◦ ARM機でSoCのパワーがある ◦ NATはあまり速度が出ない(~300Mbps前後) ◦ Nginxで素のWordPressがそこそこ動く性能 ◦ VPNなどパワーが必要な用途に良いかも

Slide 21

Slide 21 text

 仕様 ◦ SoC: MT7621A (880MHz, 2C4T) ◦ RAM: DDR3 128MiB ◦ Flash: SPI-NOR 16MiB ◦ Ethernet: 1Gbps x5  特徴 ◦ メーカーファームからOpenWrtインストール可 ◦ 販売中 ◦ MT7621のHW NAT利用可 ◦ MT7621A搭載機としては安価 ◦ 電源LEDがRGB三色搭載  楽しい

Slide 22

Slide 22 text

 多種多様、機種次第  情報を探す(例) ◦ デバイスサポートのcommit message  現在、仕様とインストール方法(最低1つ)の記述を義務付け  古いcommitには含まれない ◦ OpenWrt公式サイトのデバイスページ  “デバイス名 openwrt” 等とWeb検索すると出やすい ◦ 有志Wiki  https://www57.atwiki.jp/ddwrt_openwrt/ など ◦ 2ch (5ch) OpenWrtスレ ◦ ブログ記事  サポートした人や試してみた人による記事