みなさんは自宅のルーターやファイアウォールは何を利用しているでしょうか。コレガとかバッファローとかですかね。私の場合、長年 Yamaha と NetScreen 、Juniper 社のものを利用してきました。ただし、JunOS はあまり触っておらず Screen OS の方を主に利用していて、UI が優秀で非常に使いやすいのです。Yamaha も VPN ルーター、VoIP とかは使いやすいですがファイアウォールとしては Juniper かなという印象です。しかし、ScreenOS もオワコンですし大分古くなってきたことに加えて、ヤフオクで落札しても ScreenOS / JunOS のイメージが個人では入手困難だったりします。そこで、オープンソースでなにか良いものはないかと探していたところ、「大破ログ」さんのブログ記事を拝見し、これは良さそうだと実際に試してみることにしました。
事前準備
現時点で最新バージョンの Openwrt カーネルおよび sysupgrade 用バイナリは 23.05.5 でしたので以下からダウンロード先を確認しておきます。
https://firmware-selector.openwrt.org/?version=23.05.5&target=mvebu%2Fcortexa9&id=fortinet_fg-50e
TFTP サーバーの構築については割愛します。
OpenWrt のカーネルを読み込んだらバックアップ不要なら D バックアップ取得するならば R 押します。このメニューは FortiGate 社の Administration Guide にも記載があります。
wget をインストールしてファームウェアイメージをダウンロードする
# cd /tmp && opkg update && opkg install wget && wget https://downloads.openwrt.org/releases/23.05.5/targets/mvebu/cortexa9/openwrt-23.05.5-mvebu-cortexa9-fortinet_fg-50e-squashfs-sysupgrade.bin
ファームフェアを sysupgrade でフラッシュする
# cd /tmp && sysupgrade -n -v openwrt-23.05.5-mvebu-cortexa9-fortinet_fg-50e-squashfs-sysupgrade.bin
root ユーザのパスワード設定とログイン認証
# passwd
FortiGate 50E をシャットダウンしてから抜線する
poweroff
補足情報
- FortiGate 50E のデフォルトユーザ、パスワードは admin / パスなしです
- FortiGate の FortiOS が起動してリブートしたい場合は execute reboot で再起動できます
作業ログ
BusyBox v1.36.1 (2024-09-23 12:34:46 UTC) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 23.05.5, r24106-10cc5fcd00
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/# mkdir /tmp/mtd
root@OpenWrt:/# cat /proc/mtd
dev: size erasesize name
mtd0: 001c0000 00010000 "u-boot"
mtd1: 00010000 00010000 "firmware-info"
mtd2: 00010000 00010000 "dtb"
mtd3: 00010000 00010000 "u-boot-env"
mtd4: 00010000 00010000 "board-info"
mtd5: 00600000 00010000 "kernel"
mtd6: 01800000 00010000 "rootfs"
mtd7: 00600000 00010000 "kn2"
mtd8: 01800000 00010000 "rfs2"
mtd9: 01200000 00010000 "part1"
mtd10: 01200000 00010000 "part2"
mtd11: 01e00000 00010000 "config"
root@OpenWrt:~# cd /tmp/mtd/
root@OpenWrt:/tmp/mtd# dd if=/dev/mtdblock1 of=mtd1_firmware-info.bin
128+0 records in
128+0 records out
root@OpenWrt:/tmp/mtd# dd if=/dev/mtdblock5 of=mtd5_kernel.bin
12288+0 records in
12288+0 records out
root@OpenWrt:/tmp/mtd# dd if=/dev/mtdblock6 of=mtd6_rootfs.bin
49152+0 records in
49152+0 records out
root@OpenWrt:/tmp/mtd# ls -al
drwxr-xr-x 2 root root 100 Nov 3 16:26 .
drwxrwxrwt 16 root root 420 Nov 3 16:23 ..
-rw-r--r-- 1 root root 65536 Nov 3 16:26 mtd1_firmware-info.bin
-rw-r--r-- 1 root root 6291456 Nov 3 16:26 mtd5_kernel.bin
-rw-r--r-- 1 root root 25165824 Nov 3 16:27 mtd6_rootfs.bin
root@OpenWrt:/tmp/mtd# scp ./*.bin daisuke@192.168.11.254:/home/daisuke/
Host '192.168.11.254' is not in the trusted hosts file.
(ssh-ed25519 fingerprint SHA256:Q2pH1vtP4nB/WndOjdFvlfr2lSr9nzmU9l/oeQa/a8U)
Do you want to continue connecting? (y/n) y
daisuke@192.168.11.254's password:


コメント