Upload
wakadannacom
View
2.086
Download
4
Embed Size (px)
DESCRIPTION
RouterBoard勉強会 Vol5 (自宅ラック勉強会 #5.1) http://routerboard.connpass.com/event/7755/ 修正・改編を行いましたがver5 を [Stable Version] として、一旦更新を止めます。
Citation preview
RBへのOpenWRTインストール
Routerboard勉強会 #5
@wakadannacom [校正: @hanakara_milk]
2014年8月11日 ver.5 [Stable Version]
自己紹介 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を紹介
概要
MIPS系CPUを採用したRouterboardのRB4xx系、RB75x系、RB2011UiAS系(注1)を対象にOpenWRTをインストールする方法について示す。
尚、今回は例として「RB450G」を使用して説明を行う。
注1:次のRouterBoardは対象外
RB95x系、一部RB2011系のWifi付きモデルは、技適の範囲外となるため、日本国内での使用に制限があるため除外します。
シリアルコンソールの無いRB2011L系は未対応です。
CRS125も未対応です。
1-1.用意するもの:Hardware
対象となるRB 今回は「RB450G」を使用。
作業用PC 有線LANが最低1つ以上
RBと有線LANで接続するためのポートが1つ必須。
OSはLinuxを推奨 OS X, Windows 等は今回対象外とする。
今回は「Ubuntu 12.04 Desktop」を使用。
その他:どちらかを用意 シリアルコンソール (USB-シリアル変換も可)。
リセットボタンを押せる細い棒状のもの。
1-2.用意するもの:Software
OS
Ubuntu 12.04 LTS Desktop (64bit, 32bitどちらも可)
インストールソフト “tftp サーバ”と“dhcpサーバ”が必須。
今回は「dnsmasq」を使用。
telnetクライアント OpenWRTとの初回接続に必須。
シリアルコンソールとの接続ターミナルソフト 今回は「minicom」を使用。
1-3.用意するもの:その他
Webで公開しているミラーOpenWRTリポジトリ(ベータ版)を使用するため次のインターネット接続環境が必要(注2)
有線LAN
DHCPによるIPアドレスの付与
一般的なWebサイト(80ポート)への接続性(注3)
注2:今回はローカルリポジトリは対象外
インストールPC内にローカルリポジトリを作成し、インターネットのないクロー
ズドな環境も構築可能だが、今回は対象外とします(そのうち、リポジトリの作り方をやるかもしれません)。
注3:Proxyサーバがないことが望ましい
作業での諸注意 作業ユーザ
管理者権限が必要となるため、”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/
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
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
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”
2-3.インストール環境の作成 (@PC)
例として次のようなdnsmasqのスクリプトを作成 ファイル名: dnsmasq.sh
$ vim dnsmasq.sh
eth0
OS:Ubuntu12.04
Operation PC
Work DIR: initramfs dnsmasq.sh
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
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
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
筐体上の印字 ※:
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
筐体上の印字 ※:
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 筐体上の印字 ※:
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 筐体上の印字 ※:
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による切り戻すときに役立つ方法です。
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 筐体上の印字 ※:
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)
筐体上の印字 ※:
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
筐体上の印字 ※:
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
筐体上の印字 ※:
3-6. 手順 【補足1】
RB2011にて、当該手順を実施している場合、RB2011固有の問題としてDHCPサーバからIPアドレスを再取得しないため、次のコマンドで再取得する
※ RouterBoardの型番、製品など、OpenWRTのリビジョンにより割り当てるインターフェイス名が若干異なる場合があります。【補足2】の表を参照。
# ifconfig eth0.2 down # ifconfig eth0.2 up
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
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
筐体上の印字 ※:
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
筐体上の印字 ※:
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
筐体上の印字 ※:
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パスワードを設定する。
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
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
以上、あとは頑張れ!