31
RBへのOpenWRTインストール Routerboard勉強会 #5 @wakadannacom [校正: @hanakara_milk] 2014811ver.5 [Stable Version]

router board openwrtインストール-20140811_ver5

Embed Size (px)

DESCRIPTION

RouterBoard勉強会 Vol5 (自宅ラック勉強会 #5.1) http://routerboard.connpass.com/event/7755/ 修正・改編を行いましたがver5 を [Stable Version] として、一旦更新を止めます。

Citation preview

Page 1: router board openwrtインストール-20140811_ver5

RBへのOpenWRTインストール

Routerboard勉強会 #5

@wakadannacom [校正: @hanakara_milk]

2014年8月11日 ver.5 [Stable Version]

Page 2: router board openwrtインストール-20140811_ver5

自己紹介 Self Introduction

呼称: だんな [HN:Danna]

Twitter ID: @wakadannacom

所属[Affiliation]: Azzurri-Laboratory※

※ “Azzurri-Laboratory” is a doujinshi circle which publishes doujinshi magazines about High performance Computing on the Comic Market.

自宅ラック友の会[Jitaku Rack Tomo no Kai] ※ Home Server Rack Users Group

Routerboard User Group JP ROSはほとんど触らず、別OSを組込んでばかり。。。 =>“OtherOS”プロジェクトの一つとしてOpenWRTを紹介

Page 3: router board openwrtインストール-20140811_ver5

概要

MIPS系CPUを採用したRouterboardのRB4xx系、RB75x系、RB2011UiAS系(注1)を対象にOpenWRTをインストールする方法について示す。

尚、今回は例として「RB450G」を使用して説明を行う。

注1:次のRouterBoardは対象外

RB95x系、一部RB2011系のWifi付きモデルは、技適の範囲外となるため、日本国内での使用に制限があるため除外します。

シリアルコンソールの無いRB2011L系は未対応です。

CRS125も未対応です。

Page 4: router board openwrtインストール-20140811_ver5

1-1.用意するもの:Hardware

対象となるRB 今回は「RB450G」を使用。

作業用PC 有線LANが最低1つ以上

RBと有線LANで接続するためのポートが1つ必須。

OSはLinuxを推奨 OS X, Windows 等は今回対象外とする。

今回は「Ubuntu 12.04 Desktop」を使用。

その他:どちらかを用意 シリアルコンソール (USB-シリアル変換も可)。

リセットボタンを押せる細い棒状のもの。

Page 5: router board openwrtインストール-20140811_ver5

1-2.用意するもの:Software

OS

Ubuntu 12.04 LTS Desktop (64bit, 32bitどちらも可)

インストールソフト “tftp サーバ”と“dhcpサーバ”が必須。

今回は「dnsmasq」を使用。

telnetクライアント OpenWRTとの初回接続に必須。

シリアルコンソールとの接続ターミナルソフト 今回は「minicom」を使用。

Page 6: router board openwrtインストール-20140811_ver5

1-3.用意するもの:その他

Webで公開しているミラーOpenWRTリポジトリ(ベータ版)を使用するため次のインターネット接続環境が必要(注2)

有線LAN

DHCPによるIPアドレスの付与

一般的なWebサイト(80ポート)への接続性(注3)

注2:今回はローカルリポジトリは対象外

インストールPC内にローカルリポジトリを作成し、インターネットのないクロー

ズドな環境も構築可能だが、今回は対象外とします(そのうち、リポジトリの作り方をやるかもしれません)。

注3:Proxyサーバがないことが望ましい

Page 7: router board openwrtインストール-20140811_ver5

作業での諸注意 作業ユーザ

管理者権限が必要となるため、”root”ユーザもしくはsudo権限を付与したユーザを使用する。

今回は”ciop”というsudo権限のあるユーザを使用。

公開しているミラーリポジトリURL(ベータ版) 使用するOpenWRTはリビジョン41797

どの機器での作業かを示すため、次の記述を付け加える @PC ・・・ 作業用PCでの 操作 or ポート @RB ・・・ RouterBoardでの 操作 or ポート

RouterBoard筐体上のポート名の印字とOpenWRTで表示されるインターフェイス名が異なります。

http://rb-openwrt-test.mydns.jp/openwrt/r41797/trunk/ar71xx.mikrotik/

Page 8: router board openwrtインストール-20140811_ver5

2-1. 事前準備 (@PC)

作業PCに作業ディレクトリ(Work DIR)を作成 作業ディレクトリ: /home/ciop/install-test

$ mkdir -p /home/ciop/install-test $ cd /home/ciop/install-test

web

eth0

OS:Ubuntu12.04

Work DIR:

Operation PC

wlan0

Page 9: router board openwrtインストール-20140811_ver5

2-2. 事前準備 (@PC)

作業PCにinitramfsをダウンロード ファイル名:openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf

$ wget http://rb-openwrt-test.mydns.jp/openwrt/r41797/trunk/ar71xx.mikrotik/initramfs/openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf

web

eth0

OS:Ubuntu12.04

Work DIR:

initramfs

Operation PC

wlan0

Page 10: router board openwrtインストール-20140811_ver5

2-3. インストール環境の作成 (@PC)

次の作業手順をスクリプトとして作成

1. Network-managerの停止

2. eth0 ポートに任意の固定IPアドレス(注4)を設定

IPアドレス: 192.168.1.10/24

注4:Operation PCのIPアドレス設定 任意としていますが、OpenWRTされたRouterBoardのデフォルトIPアドレスが192.168.1.1のため、それ以外かつ同じセグメント設定します。

3. DNSmasq

DHCPレンジ: 192.168.1.100 - 192.168.1.105

TFTP転送ファイル:作業ディレクトリの”initramfs”

Page 11: router board openwrtインストール-20140811_ver5

2-3.インストール環境の作成 (@PC)

例として次のようなdnsmasqのスクリプトを作成 ファイル名: dnsmasq.sh

$ vim dnsmasq.sh

eth0

OS:Ubuntu12.04

Operation PC

Work DIR: initramfs dnsmasq.sh

Page 12: router board openwrtインストール-20140811_ver5

2-3. スクリプトの例(前半)

#!/bin/bash IF=eth0 USER=ciop INITRAMFS=openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf TFTPDIR="/home/${USER}/install-test" echo "service network-manager stop" service network-manager stop echo echo "ifconfig ${IF} down" ifconfig ${IF} down echo

Page 13: router board openwrtインストール-20140811_ver5

2-3. スクリプトの例(後半)

echo "ifconfig ${IF} 192.168.1.10 netmask 255.255.255.0 up" ifconfig ${IF} 192.168.1.10 netmask 255.255.255.0 up echo echo "dnsmasq -i ${IF} --dhcp-range=192.168.1.100,192.168.1.105 ¥ " echo "--dhcp-boot=${INITRAMFS} ¥ " echo "--enable-tftp --tftp-root=${TFTPDIR} -d -u ${USER} -p0 -K ¥ echo "--log-dhcp --bootp-dynamic" echo dnsmasq -i ${IF} --dhcp-range=192.168.1.100,192.168.1.105 ¥ --dhcp-boot=${INITRAMFS} ¥ --enable-tftp --tftp-root=${TFTPDIR} -d -u ${USER} -p0 -K ¥ --log-dhcp --bootp-dynamic

Page 14: router board openwrtインストール-20140811_ver5

3-1. 手順 (@PC|@RB)

作業PCとRouterBoardを接続する 有線LANでの接続

“eth0”@PC “ETH0/POE”@RB

シリアルポートの接続 (任意)

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: RouterOS

OS: “shutdown”

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

USB-Serial

Serial cable

Work DIR: initramfs dnsmasq.sh

筐体上の印字 ※:

Page 15: router board openwrtインストール-20140811_ver5

3-2. 手順 (@PC)

作業PCでdnsmasq.shを起動

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: RouterOS

OS: “shutdown”

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

USB-Serial

Serial cable

$ sudo sh ./dnsmasq.sh

Work DIR: initramfs dnsmasq.sh

筐体上の印字 ※:

Page 16: router board openwrtインストール-20140811_ver5

3-3. 手順 (@PC)

作業PCでシリアル接続を起動 通信条件:115200bps, データ8bit, パリティなし, ストップビット1, フロー制御なし

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: RouterOS

OS: “shutdown”

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

USB-Serial

Serial cable

$ sudo minicom

Work DIR: initramfs dnsmasq.sh

minicom 筐体上の印字 ※:

Page 17: router board openwrtインストール-20140811_ver5

3-3. 手順 (@PC|@RB)

Routerboardを起動し、DHCP bootモードに変更する POST画面からRouterBoot設定に入り変更する(注5)(シリアルコンソール必須)

※注5:RouterOSのシステム設定で次回はDHCPbootで起動する方法及びリセットボタン長押しの方法もあります。

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: RouterOS

OS: RouterBoot

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard <- “Power ON”

USB-Serial

Serial cable

Work DIR: initramfs dnsmasq.sh

minicom 筐体上の印字 ※:

Page 18: router board openwrtインストール-20140811_ver5

3-3. 手順 【補足】 RouterBootからの操作

POST画面で次の表示中に何かしらのキーを押して、RouterBootの画面へ

[Press any key within 2 seconds to enter setup]

“boot device”を選択

=>「boot Ethernet once, then NAND」を選択

“exit setup”を選択し設定完了(注6)

注6:“boot protocol”で「bootp protocol」が選択されていますが、特に変更の必要はありません。

リセットボタンの長押し操作 電源を投入前にリセットボタンを押したまま電源を投入(注7)する。

注7:全てのRouterboard共通で使える方法で、シリアルポートのないRB75x系等をOpenWRT化するときやnetinstallによる切り戻すときに役立つ方法です。

Page 19: router board openwrtインストール-20140811_ver5

3-4. 手順 (@RB)

しばらくするとinitramfsが転送されOpenWRTが起動する

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: RouterOS

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

USB-Serial

Serial cable

Work DIR: initramfs dnsmasq.sh

OS: OpenWRT (initramfs)

minicom 筐体上の印字 ※:

Page 20: router board openwrtインストール-20140811_ver5

3-4. 手順 (@PC|@RB)

作業PCとRouterBoardの接続を変更する 有線LANでの接続

“eth0”@PC “ETH2”@RB

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: RouterOS

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

USB-Serial

Serial cable

Work DIR: initramfs dnsmasq.sh

OS: OpenWRT (initramfs)

筐体上の印字 ※:

Page 21: router board openwrtインストール-20140811_ver5

3-5. 手順 (@PC)

作業PCからRouterBoardへTelnet接続

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: RouterOS

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

Work DIR: initramfs dnsmasq.sh

OS: OpenWRT (initramfs)

$ telnet 192.168.1.1

telnet

筐体上の印字 ※:

Page 22: router board openwrtインストール-20140811_ver5

3-6. 手順 (@RB)

RouterBoardをインターネット接続する 有線LANでの接続

インターネット “ETH1”@RB

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: RouterOS

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

Work DIR: initramfs dnsmasq.sh

OS: OpenWRT (initramfs)

web

telnet

筐体上の印字 ※:

Page 23: router board openwrtインストール-20140811_ver5

3-6. 手順 【補足1】

RB2011にて、当該手順を実施している場合、RB2011固有の問題としてDHCPサーバからIPアドレスを再取得しないため、次のコマンドで再取得する

※ RouterBoardの型番、製品など、OpenWRTのリビジョンにより割り当てるインターフェイス名が若干異なる場合があります。【補足2】の表を参照。

# ifconfig eth0.2 down # ifconfig eth0.2 up

Page 24: router board openwrtインストール-20140811_ver5

3-6. 手順 【補足2】

表:OpenWRT リビジョン41797のインターフェイス割り当て RB450G RB2011UiAS-IN

印字 OpenWRT 印字(下部) 印字(上部) OpenWRT

WAN ETH1/POE eth0 ETH1 POE eth0.2

Switch

ETH2

eth1

ETH2

GIGABIT ETHERNET

eth0.1 ETH3 ETH3

ETH4 ETH4

ETH5 ETH5

- - ETH6

FAST ETHERNET

eth1

- - ETH7

- - ETH8

- - ETH9

- - ETH10

SFP - - SFP (電源記号) eth0.3

Page 25: router board openwrtインストール-20140811_ver5

3-7. 手順 (@RB)

念のためNANDに書き込まれているRouterOSや古いOpenWRTのkernel,rootfsを削除

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: “none”

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

Work DIR: initramfs dnsmasq.sh

OS: OpenWRT (initramfs)

web

# mtd erase kernel # mtd erase rootfs

telnet

筐体上の印字 ※:

Page 26: router board openwrtインストール-20140811_ver5

3-8. 手順 (@RB)

wget2nandによるOpenWRTの書き込み

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: OpenWRT

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

Work DIR: initramfs dnsmasq.sh

OS: OpenWRT (initramfs)

web

# wget2nand http://rb-openwrt-test.mydns.jp/openwrt/r41797/trunk/ar71xx.mikrotik

telnet

筐体上の印字 ※:

Page 27: router board openwrtインストール-20140811_ver5

3-9. 手順 (@RB)

OpenWRTを書き込んだRouterBoardの再起動する

無事にOpenWRTが起動すれば成功

eth0

eth1.2

eth1.0

eth1.1

eth1.3

eth0 NAND: OpenWRT

OS:Ubuntu12.04

ETH1/POE

ETH2 ~ ETH5

Operation PC

RouterBoard

Work DIR: initramfs dnsmasq.sh

OS: OpenWRT

web

# reboot

telnet

筐体上の印字 ※:

Page 28: router board openwrtインストール-20140811_ver5

4. OpenWRT化したRouterBoardへのログイン

OpenWRTのデフォルトインターフェース設定

【WANポート】

RouterBoardの筐体上の印字”ETH1/POE”(OpenWRTでのインターフェース名はeth0)がWANでDHCPでIPアドレスを取得

【Switchポート】

RouterBoardの筐体上の印字”ETH2”~“ETH5” (OpenWRTでのインターフェース名はeth1.0~1.3)がSwitch(bridge)で192.168.1.1が設定されている

OpenWRT化したRouterBoardの設定を行う際に利用するポート

WAN側ポートは、OpenWRTのデフォルトで設定されているファイヤーウォールでアクセスが弾かれるため、Switch側のポートに接続する

OpenWRTインストール直後のログイン

sshは、初回のrootパスワードを設定するまで、利用できないためtelnetでログインする。sshを利用したい場合は、rootパスワードを設定する。

Page 29: router board openwrtインストール-20140811_ver5

5-1. Web インターフェイスのインスール1

公開リポジトリより、LuCiパッケージをインストール

1. リポジトリURLの設定確認

opkgコマンドの設置ファイルを開き、リポジトリURLは次に設定済みかを確認

http://rb-openwrt-test.mydns.jp/openwrt/r41797/trunk/ar71xx.mikrotik/packages/

2. パッケージリストの取得(注8)

注8:“パッケージリストの取得”で取得した情報は”/var”配下に配置され、システム停止時に情報が削除されるため、必要に応じて再起動のたびにopkgコマンドを実行します。

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

# vi /etc/opkg.conf

# opkg update

# opkg install luci

Page 30: router board openwrtインストール-20140811_ver5

5-2. Web インターフェイスのインスール2

公開リポジトリより、LuCiパッケージをインストール(つづき)

4. uhttpの起動

5. uhttpの自動起動

6. LuCiへのアクセス

LuCiにアクセスするためには、Switch側のポートに接続し、Operation PCのWebブラウザからOpenWRT化されたRouterBoardのIPアドレスを入力する(本手順のデフォルトでは、192.168.1.1)

【URL】 http://(IPアドレス)

# /etc/init.d/uhttpd start

# /etc/init.d/uhttpd enable

Page 31: router board openwrtインストール-20140811_ver5

以上、あとは頑張れ!