本記事について
本記事では Fortinet 社のファイアウォール製品である FortiGate に関して、バージョンアップまたはダウン後にコンソールに「Fatal error: Loading FOS fails!」と表示され OS の起動ができない場合の対処方法について説明します。
動作確認環境
本記事の内容は以下の機器にて動作確認した結果に基づいて作成されています。
- FortiGate-60F
- バージョン 7.2.x
- バージョン 7.4.x
バージョンアップまたはダウン後に OS が起動できない事象
FortiGate にてバージョンアップまたはバージョンダウンを行った後、システム再起動時にコンソールに以下のようなログが表示されて OS が起動できず、再起動を繰り返す事象が起きることがあります。
Booting OS...
Fatal error: Loading FOS fails!
Please power cycle. System halted.
System will auto-reboot after 52 seconds ('CTRL+D' to reboot immediately).
この事象はどの機器でも起きるわけではなく、機器によっては事象は発生せず、機器によっては特定のバージョンにおいて 100% 発生します。
事象が発生する機器において 7.2 及び 7.4 の各バージョンで検証したところ、以下のような結果となりました。
バージョン | 事象発生有無 |
---|---|
7.2.2 | 事象発生 |
7.2.3 | 事象発生 |
7.2.4 | 事象発生 |
7.2.5 | 事象発生せず |
7.2.6 | 事象発生せず |
7.2.7 | 事象発生せず |
7.2.8 | 事象発生せず |
7.4.0 | 事象発生せず |
7.4.1 | 事象発生せず |
7.4.2 | 事象発生せず |
7.4.3 | 事象発生せず |
本事象発生時の対処方法
この事象が発生した場合の対処方法は以下2つの何れかです。
- セキュリティレベルを1に変更する
- 事象の発生しないバージョンにバージョン変更する
セキュリティレベルを1にする
この事象は BIOS レベルの署名とファイルの整合性チェックの際に何らかの理由でエラーとなりOSの起動ができない状況となります。
BIOS でのチェックには 0~2 のセキュリティレベルがあり、デフォルトではセキュリティレベルが 2 となっています。
このセキュリティレベルを 1 に変更することでチェックが緩くなり、OS の起動が可能になります。
セキュリティレベルの変更方法は以下の通りです。
FortiGate 再起動時に以下のメッセージが表示されたら何でも良いのでキーを押下します。
Initializing boot device...
Initializing MAC... NP6XLITE#0
Please wait for OS to boot, or press any key to display configuration menu..
以下のメニューが表示されるため、システム情報メニューを表示するために「I (アイ)」キーを押下します。
[C]: Configure TFTP parameters.
[R]: Review TFTP parameters.
[T]: Initiate TFTP firmware transfer.
[F]: Format boot device.
[I]: System information.
[B]: Boot with backup firmware and set as default.
[Q]: Quit menu and continue to boot.
[H]: Display this list of options.
Enter C,R,T,F,I,B,Q,or H:
続いて以下のメニューが表示されるため、セキュリティレベルを変更するために「U」キーを押下します。
[S]: Set serial port baudrate.
[R]: Set restricted mode.
[T]: Set menu timeout.
[U]: Set security level.
[I]: Display system information.
[E]: Reset system configuration.
[P]: Normal POST test.
[Q]: Quit this menu.
[H]: Display this list of options.
Enter S,R,T,U,I,E,P,Q,or H:
続いて以下のメニューが表示されるため、セキュリティレベルを 1 に設定するため「1」キーを押下します。
Enter S,R,T,U,I,E,P,Q,or H:
[0]: Level 0 - Check image silently
[1]: Level 1 - Check image with result only
[2]: Level 2 - Check image and reinforce validity
Enter security level setting [2]:
以下のメッセージが表示されるため、「Q」キーを押下して前のメニューに戻ります。
Enter security level setting [2]: .done
Enter S,R,T,U,I,E,P,Q,or H:
以下のメニューが表示されるため、再度「Q」キーを押下して再起動を実行します。
[C]: Configure TFTP parameters.
[R]: Review TFTP parameters.
[T]: Initiate TFTP firmware transfer.
[F]: Format boot device.
[I]: System information.
[B]: Boot with backup firmware and set as default.
[Q]: Quit menu and continue to boot.
[H]: Display this list of options.
Enter C,R,T,F,I,B,Q,or H:
すると再起動します。
Booting OS...
Warning: FOS is not authenticated! Continue booting under security level 1...
Initializing firewall...
System is starting...
以上でセキュリティレベルの変更と OS 起動は完了ですが、この後の対応としては「Fatal error: Loading FOS fails!」の事象が発生しないバージョンにバージョンアップまたはバージョンダウンした上で、上記と同様の手順でセキュリティレベルを 2 に戻すことが対処方法としては良いでしょう。
事象の発生しないバージョンにバージョン変更する
前項のセキュリティレベルを変更することをせずに、直接バージョンを変更する方法となります。この方法では、ブート時のコンフィグレーションメニューでの操作で TFTP サーバからファームウェアをダウンロードしてバージョン変更します。
この方法では TFTP サーバが必要となるため、事前にファームウェアを格納した TFTP サーバを用意し FortiGate とネットワーク接続しておく必要があります。
コンフィグレーションメニューからのバージョン変更手順は以下の通りです。
FortiGate 再起動時に以下のメッセージが表示されたら何でも良いのでキーを押下します。
Initializing boot device...
Initializing MAC... NP6XLITE#0
Please wait for OS to boot, or press any key to display configuration menu..
以下のメニューが表示されるため、TFTP 用コンフィグ設定メニューを表示するために「C」キーを押下します。
[C]: Configure TFTP parameters.
[R]: Review TFTP parameters.
[T]: Initiate TFTP firmware transfer.
[F]: Format boot device.
[I]: System information.
[B]: Boot with backup firmware and set as default.
[Q]: Quit menu and continue to boot.
[H]: Display this list of options.
Enter C,R,T,F,I,B,Q,or H:
続いて以下のメニューが表示されるため、現在の設定を確認するために「R」キーを押下します。
[P]: Set firmware download port.
[D]: Set DHCP mode.
[I]: Set local IP address.
[S]: Set local subnet mask.
[G]: Set local gateway.
[V]: Set local VLAN ID.
[T]: Set remote TFTP server IP address.
[F]: Set firmware file name.
[E]: Reset TFTP parameters to factory defaults.
[R]: Review TFTP parameters.
[N]: Diagnose networking(ping).
[Q]: Quit this menu.
[H]: Display this list of options.
Enter P,D,I,S,G,V,T,F,E,R,N,Q,or H:
すると以下のように現在の設定が表示されます。デフォルトでは以下の通りとなっています。
Image download port: WAN1
DHCP status: Disabled
Local VLAN ID: <NULL>
Local IP address: 192.168.1.1
Local subnet mask: 255.255.255.0
Local gateway: 192.168.1.254
TFTP server IP address: 192.168.1.100
Firmware file name: image.out
Enter C,R,T,F,I,B,Q,or H:
このうち確認すべき項目の意味は以下の通りです。
- Image download port:TFTP サーバと接続する FortiGate のポートを意味します
- Local IP address:TFTP サーバと通信する際に使用される FortiGate の IP アドレスを意味します
- Local subnet mask:上の IP アドレスのサブネットマスクを意味します
- Local gateway:TFTP サーバとの通信時のデフォルトゲートウェイを意味します
- TFTP server IP address:TFTP サーバの IP アドレスを意味します
- Firmware file name:TFTP サーバに格納されているダウンロード対象のファームウェアファイル名を意味します
必要に応じて各 TFTP パラメータを設定変更します。
[P]: Set firmware download port.
[D]: Set DHCP mode.
[I]: Set local IP address.
[S]: Set local subnet mask.
[G]: Set local gateway.
[V]: Set local VLAN ID.
[T]: Set remote TFTP server IP address.
[F]: Set firmware file name.
[E]: Reset TFTP parameters to factory defaults.
[R]: Review TFTP parameters.
[N]: Diagnose networking(ping).
[Q]: Quit this menu.
[H]: Display this list of options.
Enter P,D,I,S,G,V,T,F,E,R,N,Q,or H:
Image download port を設定するためには「P」キーを押下します。以下のようにポート一覧が表示されるため、TFTP サーバとの接続で使用するポートの左側に表示されている番号を押下し、その後エンターを押下することで設定変更できます。
[0]: port 1
[1]: port 2
[2]: port 3
[3]: port 4
[4]: port 5
[5]: A
[6]: B
[7]: DMZ
[8]: WAN1
[9]: WAN2
Enter image download port number [port 1]:
Local IP address を設定するためには「I (アイ)」キーを押下します。以下のように表示されるため、設定したい IP アドレスを入力し、その後エンターを押下することで設定変更できます。
Enter local IP address [10.1.1.1]:
Local subnet mask を設定するためには「S」キーを押下します。以下のように表示されるため、設定したいサブネットマスクを入力し、その後エンターを押下することで設定変更できます。
Enter local subnet mask [255.255.255.0]:
Local gateway を設定するためには「G」キーを押下します。以下のように表示されるため、設定したいデフォルトゲートウェイを入力し、その後エンターを押下することで設定変更できます。
Enter local gateway IP address [10.1.1.33]:
TFTP server IP address を設定するためには「T」キーを押下します。以下のように表示されるため、設定したい TFTP サーバのアドレスを入力し、その後エンターを押下することで設定変更できます。
Enter remote TFTP server IP address [10.1.1.33]:
Firmware file name を設定するためには「F」キーを押下します。以下のように表示されるため、設定したいファームウェアファイル名を入力し、その後エンターを押下することで設定変更できます。
Enter firmware file name [FGT_60F-v7.2.6.F-build1575-FORTINET.out]:
各パラメータを設定できたら、「R」キーを押下して現在の設定を確認します。
Image download port: port 1
DHCP status: Disabled
Local VLAN ID: <NULL>
Local IP address: 10.1.1.1
Local subnet mask: 255.255.255.0
Local gateway: 10.1.1.33
TFTP server IP address: 10.1.1.33
Firmware file name: FGT_60F-v7.4.3.F-build2573-FORTINET.out
Enter P,D,I,S,G,V,T,F,E,R,N,Q,or H:
設定が問題無ければ、「Q」を押下して最初のメニュー(以下)に戻ります。
[C]: Configure TFTP parameters.
[R]: Review TFTP parameters.
[T]: Initiate TFTP firmware transfer.
[F]: Format boot device.
[I]: System information.
[B]: Boot with backup firmware and set as default.
[Q]: Quit menu and continue to boot.
[H]: Display this list of options.
Enter C,R,T,F,I,B,Q,or H:
最初のメニューで「T」キーを押下します。すると TFTP サーバからのファームウェアダウンロードが実行されます。完了までしばらく待ちます。
[C]: Configure TFTP parameters.
[R]: Review TFTP parameters.
[T]: Initiate TFTP firmware transfer.
[F]: Format boot device.
[I]: System information.
[B]: Boot with backup firmware and set as default.
[Q]: Quit menu and continue to boot.
[H]: Display this list of options.
Enter C,R,T,F,I,B,Q,or H:
Please connect TFTP server to Ethernet port 'port 1'.
MAC: 74:78:a6:dd:9e:b4
Connect to tftp server 10.1.1.33 ...
###########
ファームウェアダウンロード完了後、ダウンロードしたファームウェアをデフォルトのファームウェアとするか(D)、バックアップのファームウェアとするか(B)、どちらにもせずにただ起動するか(R) を聞かれるため、デフォルトのファームウェアとするために「D」キーを押下します。
#####################################################
Image Received.
Checking image... FOS signature Verification OK.
OK
This firmware image is certified.
Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?D
その後処理が進むため完了まで待ちます。
Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?D
Programming the boot device now... OK
Verifying... OK
.done
Booting OS...
Initializing firewall...
System is starting...
Starting system maintenance...
Scanning /dev/mmcblk0p1... (100%)
Scanning /dev/mmcblk0p3... (100%)
処理が完了し、システムが起動するとログインプロンプトが表示されます。
Scanning /dev/mmcblk0p1... (100%)
Scanning /dev/mmcblk0p3... (100%)
FortiGate-60F login:
以上で TFTP を使用したバージョン変更は完了です。
TFTP にてバージョン変更した場合、コンフィグは初期状態となっているため初期ログイン情報でログイン後にパスワードの設定が必要となります。
FortiGate-60F login: admin
Password:
You are forced to change your password. Please input a new password.
New Password:
Confirm Password:
Welcome!
FortiGate-60F #
この事象は機器不良が原因なのか?
この事象が発生する機器と発生しない機器があります。ということは機器固有の問題であり機器不良という扱いになるのかどうかが気になりますが、Fortinet 社のコミュニティ情報ではバージョン依存の問題として記載されており、ソフトウェア不具合と位置付けられているようです。
ただ、コミュニティ情報と検証結果で食い違う部分もあるので腑に落ちないなという気もします。
BIOS のバージョンが関係している?
本事象が発生する機器と発生しない機器で BIOS のバージョンが異なることが判明しました。
- 事象が発生する機器
FortiGate-60F # get system status
...
BIOS version: 05000100
...
- 事象が発生しない機器
FortiGate-60F # get system status
...
BIOS version: 05000030
...
BIOS のバージョンが新しいと事象が発生する可能性が考えられます。
【原因判明】やはりBIOSバージョン依存の事象だった
本事象についてメーカからの回答を得ることができ、やはり BIOS バージョンが新しい FortiGate だと事象が発生するようです。より詳しくいうと、OS ダウングレードに対して制限をかけているとのこと。
つまり本事象は BIOS の仕様により発生するものなので受け入れて新しい OS バージョンを使いましょうということです。
参考資料
【おすすめ】FortiGate の設計構築中なら以下の記事も役立つかもです
- 基礎知識
- HA (冗長構成) 設定
- FortiGate HA モードの Active-Passive と Active-Active の違いを解説します
- FortiGate HA(冗長構成)の概要と設定ガイド【詳しく解説】※note記事
- FortiGate HA 構成時のコンフィグ同期の仕様について解説します
- FortiGate HA 構成時の NTP,Syslog,SNMP 等の送信元インターフェースを解説 [ha-direct 設定]
- FortiGate HA 構成時の仮想 MAC アドレスについて解説します
- FortiGate HA ハートビート送信間隔と障害判定しきい値の設定ガイド
- FortiGate HA 構成時のバックアップ及びリストア実施ガイド
- FortiGate HA 構成でのモニタインターフェースダウン時の通信断時間について解説
- FortiGate HA 構成に関するQ&A 【良くありそうな疑問集】
- VDOM (バーチャルドメイン) 設定
- トランスペアレントモード設定
- システム系設定
- 管理者アカウント設定
- 時刻・NTP 設定
- ロギング・Syslog 送信設定
- SNMP 設定
- DHCP サーバ機能設定
- Proxy サーバ機能設定
- アラートメール送信
- ネットワーク系設定
- インターフェース設定
- ルーティング設定
- DNS 設定
- NAT 及び NAPT 設定
- ファイアウォール系設定
- アドレス設定
- サービス設定
- ファイアウォールポリシー設定
- ゾーンを使用したポリシー設定
- VPN 系設定
- Tips
Amazon アフィリエイトリンク
以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。
note メンバーシップへの参加もお待ちしています!
【アフィリエイト】おすすめ WordPress テーマ【SWELL】
当サイトでは WordPress テーマとして SWELL を使用しています。以前は無料・高機能テーマとして知られる Cocoon を使用していて Cocoon も使いやすかったのですが、SWELL を使い始めてからは SWELL のほうが圧倒的に使いやすいなと思いました。そして何より読み込み速度が速い。SWELL を使い始めてから、過去の Cocoon のブログを見直したときに「あれ、こんなに表示遅かったっけ?」という感覚になりました。
また SWELL はデフォルトでもオシャレなデザインですが柔軟にカスタマイズすることもでき個性のあるサイトを作成できます。さらにブログパーツや広告タグといった再利用可能なブログの「部品」も作成することができ、ブログ作成効率も高いです。
技術ブログやアフィリエイト等での収益化を見据えたブログの作成に SWELL は最適です。初見では価格が高いなと思うと思いますが、私としては SWELL を採用して良かったしそれ以上の価値があると感じています。
ブログの新設やテーマ変更を考えている人は一度 SWELL を検討してみてください。
以下の画像リンクから詳細な情報を確認できます。
レンタルサーバーを探している人には安定性に定評のあるエックスサーバーをお勧めします。
当サイトもエックスサーバーを使用しています。WordPress のインストールも簡単にできます。
コメント