WZR-HP-AG300H に LEDE をインストール

FTP でファームウェアを更新した。 Ubuntu 17.10 だと OpenWRT のページに書いてあるネットワークの設定で うまくいかなかったので、Ubuntu 16.04 で行った。

WZR-HP-AG300H の LAN のポート

まず、中古で購入したので管理者のパスワードがわからなかったので 底面のリセットボタンを3秒間押して初期化を行った。

WAN ポートに一番近い LAN ポート (上から4番目) にケーブルを挿し、PC とつなぐ。

telnet で 設定

telnet で WZR-HP-AG300H に接続して設定をする必要がある。 http://192.168.11.1/ に接続している場合は関係するブラウザを一度すべて閉じ、 http://192.168.11.1/cgi-bin/cgi?req=frm&frm=py-db/55debug.html にアクセスする。 ID は bufpy でパスワードは otdpopy でログインする。 管理者のパスワードを設定している場合は otdpopy に続けて、管理者のパスワードを入力する。

デバッグモードの telnetd から start をクリックする。

Ubuntu の端末で

telnet 192.168.11.1

として、ルータに telnet にログインする。

ubootenv list

として

ethaddr=02:AA:BB:CC:DD:20
ipaddr=192.168.11.1
serverip=192.168.11.2

となっていることを確認する。

ubootenv set accept_open_rt_fmt 1

として tftp からファームウェアを更新できるようにする。

FTP でアップロード

lede-17.01.4-ar71xx-generic-wzr-hp-ag300h-squashfs-tftp.bin をダウンロードした。

sudo ifconfig enx98ded0147896:1 192.168.11.2
sudo arp -s 192.168.11.1 02:aa:bb:cc:dd:20

とする。ルータの電源を入れて、接続が有効になったら (ルータのすべての接続口が光った後に LAN ケーブルが挿さっている口が光る) すぐに次のコマンドを実行する。

curl -T lede-17.01.4-ar71xx-generic-wzr-hp-ag300h-squashfs-tftp.bin tftp://192.168.1.1

FTP の転送が終わって、しばらくするとファームウェアのインストールが終わる。

上の操作を Ubuntu 17.10 で行うとうまくいかなかった。 ネットワークの設定の問題だと思うが、解消方法はわからなかった。

LEDE の設定

次のように設定した。

  • 「System」「System」で「Timezone」を「Asia/Tokyo」にした。
  • 「System」「Administration」で「Router Password」を設定した。
  • 「System」「Administration」で「SSH Access」で LAN からは password authentication を許可して、 WAN からは password authentication を許可しないように設定した。
  • 「Network」「Interfaces」の LAN の「Edit」で「IPv4 address」と「DHCP」の設定をした。
  • 「Network」「Wireless」で無線 LAN の設定をした。
  • 「Network」「DHCP and DNS」でデスクトップ PC に割り当てる IP を固定にした。

デスクトップ PC (Ubuntu 17.10) の IP を設定した IP に変えるには

service network-manager restart

とすればよい。

パッケージ

opkg update
opkg install openssh-server
opkg install openssh-client

軽量という理由で dropbear が標準なのだろうけど、 使い勝手が良くないので openssh を使うことにした。 Web から「System」「Startup」で dropbear を stop して sshd を start した。

外部から自宅にアクセスするために VPS に常時 SSH で接続しておくために sshtunnel を使った。

opkg install sshtunnel

鍵などを用意した上で /etc/config/sshtunnel は次のようにした。 VPS の 22223 ポートに SSH で接続すると ルータの 22 ポートに接続される。

config server SERVER_NAME
       option user                     USER_NAME
       option hostname                 example.com
       option port                     22
       option retrydelay               10
       option CheckHostIP              no
       option Compression              yes
       option CompressionLevel         6
       option IdentityFile             /root/.ssh/id_rsa
       option LogLevel                 INFO
       option ServerAliveCountMax      3
       option ServerAliveInterval      30
       option StrictHostKeyChecking    yes
       option TCPKeepAlive             yes
       option VerifyHostKeyDNS         no

config tunnelR http
       option server           SERVER_NAME
       option remoteaddress    *
       option remoteport       22223
       option localaddress     127.0.0.1
       option localport        22

私の環境では VerifyHostKeyDNS を yes にすると segmentation fault で ssh client が動かなかった。

Wake on LAN を使いたいので etherwake をインストールした。

opkg install etherwake

参考

Tags of current page