ラベル OpenWrt の投稿を表示しています。 すべての投稿を表示
ラベル OpenWrt の投稿を表示しています。 すべての投稿を表示

2023年3月9日木曜日

Raspberry Pi 3 B+にOpenWrtを入れて無線ルータ化

 出張用にホテル用のトラベルルータを持っていたが、気付いたらメーカーのサポート期限が切れてファームウェアの更新も止まっていた


とはいえトラベルルータがないのも困るのでAmazonで色々と物色していたが、ふと手元にラズパイがあることを思い出した


これにルータOS入れたら使えるんじゃないだろうかと調べてみたらNanoPiにも入れてるOpenWrtがイケそうな情報を発見


早速Zabbix入れてたRaspberry Pi 3 B+を引っこ抜いてmicroSDカード選別

カード入れ替えてOS変えられるのはこの手のシングルボードコンピュータの強みでもあるな


手持ちの余りで良さそうなのだとトランセンドのクラス10の16GBがあった

8GBとか4GBでも足りる様なので十分だろう



OSのイメージはopenwrt.orgにラズパイ用で置いてあったのでそれを利用

作成時点でのバージョンは【 22.03.3 】

3B+用のgzファイルをダウンロードして適当なツールで解凍してRaspberry Pi ImagerでmicroSDカードへ書き込み

https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi


microSDカードをラズパイに入れて起動すると、以下の状態で立ち上がる

・有線LAN:192.168.1.1 /24

 ブリッジインターフェース、DHCPサーバ無効

・Wi-Fi:無効

・初期ID:root、PW:無し

・LuCiのWebインターフェースはインストール済み


なので他の端末から有線ポートにケーブルを繋いで固定IP設定した上でブラウザからアクセス
PWは未設定なのでこのままLogin


【 No Password Set! 】と黄色く警告が出ている状態でログイン確認
ひとまず問題なく起動はできた


ひとまず【 System 】>【Administrator】からRuter Passwordを変更して【Save】

次に【 System 】 > 【 System 】の【 General Settings 】タブから【 Timezone 】を【 Asia/Tokyo 】に変更して【Save】


次にWi-Fiを有効化する
【 Network 】 > 【 Wireless 】を開くと【 SSID:OpenWrt 】が無効化されているので【 Enable 】で有効化
ただ、ラズパイのこのイメージだと5GHzしか使えないので、2.4GHzも使いたい場合は、別途USBのWi-Fiドングルを買ってきてドライバインストールしてやる必要がある


有効化したら【 Edit 】を押下してWi-Fiの基本設定
【 General Setup 】タブで以下設定
 ESSID: <任意のSSID>
 Network: lan


次に【 Wireless Security 】タブで以下設定
 Encryption: WPA2-PSK(strong)
 Key: <任意のパスワード>

【 Save 】して画面戻って、【 Save & Apply 】で保存して適用




最後にインターフェイスを設定する
1つずつ【 Save & Apply 】せずに最後にまとめてやる


【 Network 】 > 【 Interface 】から【 Add new Interface 】でWANとLAN用に新規インターフェースを以下設定で作成
WANインターフェース
 Name: wan<任意の名前>
 Protocol: DHCP client
 Device: eth0

LANインターフェイス
 Name: wlan<任意の名前>
 Protocol: static
 Device: wlan
 
 
作成したインターフェイスの設定を【 edit 】で編集する


WANインターフェース
【 General Settings 】タブ
 Device: eht0

【Firewall Settings 】タブ
 Create / Assign firewall-zone: wan(enpty)

【 Save 】で設定保存


LANインターフェース
【 General Settings 】タブ
 Device: wlan
 IPv4 address: <LAN側のIPアドレス> 今回は192.168.8.1
 IPv4 netmask: 255.255.255.0

【Firewall Settings 】タブ
 Create / Assign firewall-zone: lan(wlan:)
【DHCP Server】タブの【 Advanced Settings 】タブ
 Dynamic DHCP: チェック

【 Save 】で設定保存


初めから存在している【LAN br-LAN】を削除した上で、【 Save & Apply 】で設定反映

PC等から設定したWi-Fi経由で接続して、wlanに設定したIPアドレスにアクセスできることを確認する


このままでも使えるが、一応言語を日本語へ変更する
【 System 】 > 【 Software 】を開いて、update listsでリストを更新
Filter:に【luci-i18n-base-ja】と入れて検索するとパッケージが出てくるので【 install 】


これでGUIの表示も日本語に設定された


ひとまずこれで、有線からDHCPでIP受けてWi-Fi飛ばす無線ルータになった
FWはステートフルインスペクションで動いているので、必要であれば別途設定を追加すればいい
その他、SSHでログインできるインターフェイスや公開鍵、root login無効等設定した方がいい項目もあるが、とりあえず使えるようにはなった


ちょうど出張があって某東横インの6Fに泊まったので、Wi-Fi Analyzerで電波測定
2.4GHzは混線しまくっているが、5GHzはスカスカだったので快適に利用できた


使った感じこれで十分な気がする
他に必要な機能を思いついたらパッケージから追加してみよう

2021年10月19日火曜日

OpenWrtにZabbix Agentを入れてZabbix Serverから監視する

ZabbixサーバにOpenWrtを追加したので手順をメモ


Zabbix Serverは5.0 LTS


■Zabbix Agentインストール

OpenWrtにログイン後【システム】>【Software】から【Zabbix-agentd】をダウンロードする

【abbix-extra-mac80211】と【zabbix-extra-network】と【zabbix-extra-wifi】はagentdの追加パッケージの様なのでついでにインストールした

wifiのはいらなかったかな

agentのバージョンは5.0.7-3なのでZabbix Serverのバージョンが違えば使えないかな


■設定ファイル修正

次に OpenWrtにSSHでログインして設定ファイルを編集する

# vim /etc/zabbix_agentd.conf

Server= <Zabbix ServerのIP>

ServerActive=<Zabbix ServerのIP>

Hostname=<Agent側のホスト名>

※OpenWrtの初期ホスト名は【OpenWrt】


■FWルール追加

このままだとPortが空いてないのでiptablesでルールを追加する

# iptables -A INPUT -p tcp --dport 10050 -j ACCEPT -s <Zabbix ServerのIP>



■Zabbix Serverホスト追加

後はZabbix Server側にホストを追加すればいい

グループは【Linux Servers】でインターフェースは【エージェント】としてOpenWrtのIPアドレスを指定

しばらくすればステータスが有効になって各種グラフの数値が取得できる



問題なく稼働しているし、速度もそれなりに出ているものの、XG Firewallに比べれば機能に劣るし、GUIで簡単に管理できる機能も少なく感じる


いっそのことOpenWrtを入れたNanoPi R4Sを予備に回して、Ubuntuマシンに組みまえたLIVA ZにOpensense入れてメインマシンに使って見ようかとも思うが、そうするとUbuntuを入れるマシンが足りなくなるので、別途小型のベアボーンでも欲しくなるな

2021年8月8日日曜日

NanoPi R4SでOpenWrtを構築

 今まで使っていたXG Firewall Home EditionはAndroidのv6通信で相性が悪いようなので、改めて別途ルータを用意することに


無線APは別途あるし市販品を買っても仕方ないので今回はOpenWrtを構築することに


選んだ筐体はNanoPi R4S

microSDカードはトランセンドの高耐久350Vシリーズの128GB

電源コードは適当にスイッチ付きでACアダプタ分離型をそれぞれAmazonで購入




OSイメージは以下サイトにスナップショット版がアップされていた

friendlyarmの公式サイトだとFriendlyWrtだったので、OpenWrtのサイト上を漁って見つけた

https://openwrt.org/toh/hwdata/friendlyarm/friendlyarm_nanopi_r4s


画面下部の【Firmware OpenWrt snapshot Install URL:】に記載のURL【http://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-ext4-sysupgrade.img.gz】をダウンロードして、適当なソフトウェアでmicroSDカードへイメージファイルを書き込み


初期起動ではWANがDHCP、LANが192.168.1.1/24で起動する

自宅環境だとLANアドレスが競合するため、一旦WANを接続せずにPCを繋いでSSH接続

初期設定はユーザ名:root、PW:無し(空白)でログインできた




まずはLANインターフェースのIPアドレス変更
# vim /etc/config/network

config interface 'lan'の中にあるoption ipaddr の値を書き換える
ika concccc


再起動して、新しいアドレスにアクセスして変更されていることを確認

問題なければWANを接続してインターネットへの疎通を確認してから、以下のコマンドを実行してGUI設定ツールをインストールする


# opkg update

# opkg install luci

# opkg update

# opkg install luci-ssl

/etc/init.d/uhttpd restart


再起動を確認したらブラウザからlan側アドレスへアクセスする

ログイン情報はsshの際と一緒、PWを設定する様に促すメッセージが出てるので、後で変更しておく




【System】>【Software】を開いて【Update lists】をクリックしてインストール可能ツールの一覧を更新して、検索窓から基本の日本語ツール【luci-i18n-base-ja】を検索する





次にIPoE接続用にDS-Lite用のソフトウェアを同じようにインストールする




インストールが完了したら、一旦WAN側を抜いてIPoE接続用の設定を入れていく


【ネットワーク】>【インターフェース】から【WAN】を選んで、プロトコルをDHCPから【Dual-Stack Lite(RFC6333)】に変更して、【DS-Lite AFTRアドレス】に【2404:8e01::feed:100】を入力して保存、2404:8e01::feed:101でも可

東日本だとAFTRアドレスの値は2404:8e00::feed:100か2404:8e00::feed:101になる



次に【wan6】を選んで【DHCPサーバ】>【IPv6設定】を開き、以下の通り設定する

【Designated master】:チェックあり

【RA-Service】:リレーモード

【DHCPv6-サービス】:リレーモード

【NDP-Proxy】:リレーモード


次は【LAN】を選んで、【DHCPサーバ】>【IPv6設定】を開き、以下の通り設定する

【Designated master】:チェックなし

【RA-Service】:リレーモード

【DHCPv6-サービス】:リレーモード

【NDP-Proxy】:リレーモード



また、LAN側のIPアドレスをGUIで帰る場合、情報を変更してから【保存&適用】を実行して90秒以内に新しいIPアドレスでアクセスし直さないと、設定がロールバックされてしまう


ここまで設定すれば、あとはONUからNanoPi R4Sに直結して疎通確認をするだけ

設定が問題なかったのですんなり繋がった


ただ、NanoPi R4Sだとメモリ使用量も1%程度しかなかった



わかってはいたけどオーバースペックだったかな

これなら下位モデルのR2Sでも十分だったかもしれない