自分が学生の時は、イエローケーブルからようやくRJ45に変わろうとしていた時代で。まだNATとかそんなに一般的ではなく、当時の大学はIPv4を大量に持っていた。(それに、学科内でネットブートさせるとFreeBSDのインストーラーが立ち上がるという噂が。誰かの机の下のワークステーションが当時のFreeBSDの配布サイトになっていたという説も)よって、自分の持ち込みパソコンもパブリックIPv4を持っていた。というか、研究室にプライベートIPv4のセグメントがなかったような。
ちなみに転職2社目の外資系の会社の業務ノートもパブリックIPv4を持っていた。ただし、ファイヤーウォールでガチガチに保護されていて、パブリックIPv4アドレスをプライベートIPv4として使っていた。よくよく考えたら凄いw (調べてみるとIPv4を初期の初期に取得した企業はみんなそうだったかもしれない。)
なので、自宅サーバは20年くらい立てている。そこでよくやっていたのがCD-ROM探すのが面倒なので、PXEブートでインストーラーを立ち上げるというやつ。
閑話休題
以下によると
EdgeRouterとTFTPサーバを連携させることができるとのこと。TFTPサーバを立てておくと、リカバリイメージで初期化や構成情報の保存ができるらしい。設定を変えるたびにshow configuration commandでダンプして吐き出して外部保存をしていたのだが、それをしなくてよさそう。
実はQNAPやSynologyには標準でTFTPサーバがついている。PXEBootレベルでは読み取り専用でいいが、EdgeRouterの構成情報を保存させるためには、書き込みを有効にする必要がある。また、このTFTPってやつはセキュリティガン無視で動けちゃうので、IPレンジを必ず設定する。
Access rightをFull accessにする。
Root directoryの配下に以下のディレクトリを作っておく。
mkdir -p edgerouter/4/archive
tftpの動作確認
Ubuntuの場合、以下でできる。
apt -y install tftp-hpa
tftp 192.168.10.40
put sample.txt /edgerouter/4/archive/sample.txt
quit
これでファイルがアップロードできていればOK。
使い方
Configを保存する
save
とするとConfigファイルがEdgeRouterローカルに保存される。
以下のような引数をつけるとリモートに保存ができる。
scp://<user>:<passwd>@<host>/<file> Save to file on remote machine
sftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
ftp://<user>:<passwd>@<host>/<file> Save to file on remote machine
tftp://<host>/<file> Save to file on remote machine
保存先を指定する場合
save tftp://192.168.10.40/edgerouter/4/
ちなみに、あくまでもConfigだけを保存するだけなので、/configにある個別ファイルも保存する場合は、ダッシュボードから設定ファイルをダウンロードをしておくこと。
Commitの履歴を取りたい場合
configure
set system config-management commit-archive location tftp://192.168.10.40/edgerouter/4/archive
commit
以下のようなメッセージが出ればOK
Archiving config…
tftp://192.168.10.40/edgerouter/4/archive OK
さらに履歴の数を指定する
set system config-management commit-revisions 10
commit
save
exit
履歴を見るには
show system commit
以下のように表示される。root via otherは、GUIで設定した場合。 <username> via cli は、コマンドでcommitした場合。
さらにroot via rollback/rebootは、ロールバックした場合。
0 2025-08-20 12:41:06 by root via other
commit
1 2025-08-20 12:36:30 by root via rollback/reboot
commit
2 2025-08-20 12:30:06 by root via other
commit
3 2025-08-20 12:28:36 by root via other
commit
4 2025-08-19 01:37:49 by <username> via cli
commit
5 2025-08-19 00:57:15 by root via other
commit
6 2025-08-18 23:52:28 by <username> via cli
commit
7 2025-08-18 23:52:27 by root via init
commit
もしロールバックしたい場合は、
rollback <TAB>
とすると、以下のようにリストが出てくるので
Revisions:
0 2025-08-20 12:41:06 root by other
1 2025-08-20 12:36:30 root by rollback/reboot
2 2025-08-20 12:30:06 root by other
3 2025-08-20 12:28:36 root by other
4 2025-08-19 01:37:49 <username> by cli
5 2025-08-19 00:57:15 root by other
6 2025-08-18 23:52:28 <username> by cli
7 2025-08-18 23:52:27 root by init
rollback <数字>
とする。そうするとリブートするか聞いてくるのでリブートをする。もとに戻るかどうか祈る。
本当は、SSHのサーバのほうが認証がついているのでセキュアなんだけど、インスタンスで用意しなきゃならないので面倒だったのでTFTPにした次第。
今回、気分で設定しただけだったのだが、実はこの設定をした後に思いっきり設定を失敗して、ダッシュボードにアクセスできなくなったので、これで戻して復帰させた。
v3.0.0のファームウェアは、大量転送させているときにダッシュボードを表示させると、ダッシュボードの接続が切れやすいような気がする。