Ubiquiti Networks Edgerouter X のファームウェアのメジャーバージョンアップをしてみた備忘録です.
メジャーバージョンアップしてたの?
某掲示板によると,現在の私のメインルーターの ER-X のファームウェアがメジャーアップグレートされてる(ver2.0 になった)らしく,確かに調べてみると,公式 blog で
の様にアナウンスされています.ファームウェアのダウンロードページには掲載されていないんですけど…….まぁ,こういうものは,安易にバージョンアップするもんじゃ無いので,載せていないんでしょうね.私のは完全に個人的なもの(オモチャとも言う)なので,気にせずやってみることにしました.
リリースノートの概要
どうも Base となっている OS が Debian Wheezy (ver 7) から Debian Stretch (ver 9) になったので,メジャーバージョンアップとしたみたいですね.Jessie (ver 8) が飛ばされていきなり最新安定版までアップグレードするんですね.
あと新機能として,
- vpn ipsec global-config コマンドの追加: IPSec を実現する Strongswan の設定ファイルを直接書き換えることができる.
- allow-access-to-local-interface コマンドの追加: IPSec VPN 経由でローカルへのアクセスを許しているホストにさらに ER-X への管理用アクセス(SSH と WebGUI双方)を許すことができる.
- set service unms lldp disable: UNMS サービスを有効化すると標準で有効となる LLDP サービスを停止させることができる.
があって,あとはかなり多数のバグの修正と初期設定の変更が行われています.DHCP とか PPPoE とかのバグもあるので,私の場合も無関係じゃ無いですし,ER-X 以外のルーターだと,ipv4 の bonding(リンクアグリゲーション)のハードウェア処理のサポートが加わったらしいです.
なお,問題点として,ER-X と ER-X SFP だと,
- hwnat offloading を有効にしているとランダムな LoadBalancing に失敗する(disable hwnat offloading 推奨)
- hwnat offloading を有効にしていると PPPoE client interface が再接続に失敗する(これは LoadBalancing か ECMP の設定を有効の場合のみっぽい.disable hwnat offloading 推奨)
- IPSec offloading は動かない(これは相変わらずだったと思う)
が挙げられています.その他にも主要ソフトのアップデートとかカーネルのアップデートとかも書いてありますが,これは元サイトで確認してください.
私の場合,LoadBalancing も IPSec も使ってないので,アップグレードによるメリットしか無い訳ですね.
アップデート手順
まず,注意事項として,
ER-X/ER-X-SFP/EP-R6 はストレージがキツキツなので,アップグレード前に,delete system image でキチンと空きを作ること!
と書いてあります.従って今回は念のため全てコマンドラインからアップデートを実行することにしました.詳細は以下の通りです.
$ delete system image The system currently has the following image(s) installed: v1.10.8.5142457.181120.1809 (running image) (default boot) There is no image to delete. $ add system image https://dl.ubnt.com/firmwares/edgemax/v2.0.x/ER-e50.v2.0.0.5155111.tar Trying to get upgrade file from https://dl.ubnt.com/firmwares/edgemax/v2.0.x/ER-e50.v2.0.0.5155111.tar % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 79.7M 100 79.7M 0 0 2684k 0 0:00:30 0:00:30 --:--:-- 2312k Download succeeded Checking upgrade image...Done Preparing to upgrade...Done Clearing directory /var/cache/apt (356.0K)...Done Copying upgrade image...Done Removing old image...Done Checking upgrade image...Done Copying config data...Done Finishing upgrade...Done Upgrade completed $ show system storage df: /run/netns/zebosfib0: Permission denied df: /run/netns/zebosfib1: Permission denied Filesystem Size Used Available Use% Mounted on ubi0_0 213.5M 150.5M 58.3M 72% /root.dev aufs 213.5M 150.5M 58.3M 72% / devtmpfs 124.3M 0 124.3M 0% /dev tmpfs 124.4M 280.0K 124.2M 0% /run tmpfs 124.4M 280.0K 124.2M 0% /run tmpfs 124.4M 244.0K 124.2M 0% /var/log tmpfs 124.4M 32.0K 124.4M 0% /tmp none 124.4M 708.0K 123.7M 1% /opt/vyatta/config unionfs 124.4M 32.0K 124.4M 0% /opt/vyatta/config/tmp/new_config_4803 unionfs 124.4M 32.0K 124.4M 0% /opt/vyatta/config/tmp/new_config_32674 unionfs 124.4M 32.0K 124.4M 0% /opt/vyatta/config/tmp/new_config_3443 $ show system image storage Image name Read-Only Read-Write Total ------------------------------ ------------ ------------ ------------ v2.0.0.5155111.190103.1639 79604 116 79720 v1.10.8.5142457.181120.1809 78508 564 79072 $ reboot
念のため,アップグレード用のファームウェア書き込み後も空き容量が十分かどうか確認してからリブートしました.
再起動後,ssh でログインし直してから,
$ show version Version: v2.0.0 Build ID: 5155111 Build on: 01/03/19 16:39 Copyright: 2012-2018 Ubiquiti Networks, Inc. HW model: EdgeRouter X 5-Port HW S/N: XXXXXXXXXXX Uptime: 11:37:53 up 3 min, 1 user, load average: 1.67, 1.10, 0.46
その後一通り動作に問題が無いことを確認したあと,(以前の文鎮化させたイヤな思い出があるので)旧ファームウェアを
$ delete system image The system currently has the following image(s) installed: v2.0.0.5155111.190103.1639 (running image) (default boot) v1.10.8.5142457.181120.1809 You are about to delete image [v1.10.8.5142457.181120.1809] Are you sure you want to delete ? (Yes/No) [Yes]: Removing old image... Done
の通り削除しました.
Debian のパッケージを追加していたりすると,さらに,
- system package repository xxx distribution stretch
なるコマンドを発行しておかねばならないみたいですが,これは私は対象外なので,やらなくて良しです.
と言うことで,これで終わりか,と思ったのですが,公式 blog の文末に,
Bootloader の最新版は v.1.10.7 と変わってないよ.現在インストールされている bootloader の version は show boot system-image で,アップグレードは add system boot-image でできるよ!
って書いてあります.念のため,確かめてみると,
$ show system boot-image The system currently has the following boot image installed: Current boot version: UNKNOWN Current boot md5sum : dbce6273c8740383f84040e33f7fffe7 New uboot version is available: boot_e50_001_1e49c.tar.gz New boot md5sum : 2146fb2e3b2cd543efaa0a687e2ad0ce Run "add system boot-image" to upgrade boot image.
おう,更新してない…….やらなくても良いんでしょうが,ここまでくればもののついでなので,
$ add system boot-image Uboot version [UNKNOWN] is about to be replaced Warning: Don't turn off the power or reboot during the upgrade! Are you sure you want to replace old version? (Yes/No) [Yes]: Preparing to upgrade...Done Copying upgrade boot image...Done Checking boot version: Current is UNKNOWN; new is e50_001_1e49c ...Done Checking upgrade image...Done Writing image...Done Upgrade boot completed $ show system boot-image The system currently has the following boot image installed: Current boot version: e50_001_1e49c Current boot md5sum : 2146fb2e3b2cd543efaa0a687e2ad0ce $ reboot
としました.ブートローダーの更新ですから,失敗すると私では手も足もでなくなります.起動してきてくれる様に手を合わせて3分ほど待つと,無事動き出したみたいで,これで全作業完了です.
あぁ……疲れた.