ネットワーク初心者がFortinet Fortigate 50eにOpenWrtを導入してみた

## はじめに
### 記事を書くに至った動機
自宅で利用していたルータ(Yamaha製 RTX1200)が、性能的に限界を感じたので、新たなルータを探していた。
  
X(旧Twitter)を眺めていると[Frotigate 50eを薦める投稿](https://x.com/yanorei32/status/1800169414958125280)があり、(存在を知らなかったので)Google検索してみるとOpenWrtを導入することで、ルータとして利用できることを知った。


ネットワーク初心者の私が、数か月後に再度導入するようなことがある場合、作業が詰まることの無いように利用したハードウェア・ソフトウェア、手順を記載する。

この記事が読んだ方の少しでもお役に立てたのであれば、うれしく存じます。

### Fortinet Fortigate 50e とは
米フォーティネット社（Fortinet）が提供するUTM（統合脅威管理）機能を備えたセキュリティ機器である。
2025年3月現在、ライセンス期限の切れた機器がフリマサイトやオークションサイトで売買されている。また、OpenWrtを導入して、ルータとして利用する方法がWeb上に投稿されている。

### OpenWrtとは
OpenWrtは、組込デバイスを対象とする Linux オペレーティング システムである。


## 利用したもの

#### ハードウェア
- Fortinet Fortigate 50e
    - [メーカーの商品紹介PDFはこちら](https://www.fortinet.com/content/dam/fortinet/assets/data-sheets/ja_jp/FGT50ESeriesDS.pdf)
    - ライセンス切れの中古端末をヤフオクで入手した

:::note warn
Fortigate 50eのDCジャックが一般的な形状ではないため、入手の際にはACアダプタ付属の商品を選択するようにした
:::

- ThinkPad X1 Carbon (OS:Windows11) 以後ノートPCと称する
    - ソフトウェアを利用して、Fortigate 50eを操作するために使用
- USB-RJ45コンソールケーブル
    - ノートPCとFortigate 50eのコンソールポートを接続するために使用
- 有線LANケーブル
    - ノートPCとFortigate 50eのWANポートおよびLANポートに接続するため使用
- 有線LANアダプタ (有線LAN⇔USBの変換アダプタ)
    - ノートPCに有線LANコネクタが存在しないため使用


#### ソフトウェア
- OpenWrtのインストールFirmware および アップグレードFirmware
    - [OpenWrtのFortigate 50eのページはこちら](https://openwrt.org/toh/hwdata/fortinet/fortinet_fortigate_50e)
- Tera Term5 
    - ノートPCからFortigate 50eを操作するために使用
    - [Tera Termの公式ページはこちら](https://teratermproject.github.io/)
- Serva
    - Fortigate 50eに対して、ノートPCをTFTPサーバとしてファイル(OpenWrtのインストールFirmware)を転送するために使用
    - pro版とcommunity版が存在するが、今回はcommunity版を使用した
    - [Servaの公式ページはこちら](https://www.vercot.com/~serva/default.html)
- Google Chrome
    - ノートPCからOpenWrtのWeb UIを操作するために使用

## 手順
1. Fortigate 50eを入手する
1. USB-RJ45コンソールケーブルを入手する
1. ノートPCにTeraTerm5をインストールする
1. ノートPCにServa(community版)をダウンロードする
1. ノートPCにOpenWrtのインストールFirmware および アップグレードFirmwareをダウンロードする![スクリーンショット 2025-03-15 194527.p/ng](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/2f5a207b-ca57-4961-bcf6-d754245b8700.png)

1. ノートPCにTFTPサーバ用のフォルダを作成する(例. C:\tftp_server)
1. 6で作成したフォルダに 5でダウンロードしたOpenWrtのインストールFirmware をコピーおよび「image.out」にリネームする
1. ノートPCとFortigate 50eの`CONSOLE`ポートをコンソールケーブルで接続する
1. ノートPCのTeraTerm5を起動してシリアルで接続する![スクリーンショット 2025-03-15 185236 - コピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/5a403a52-79fd-4778-99e8-ebfa0380f377.png)

1. Fortigate 50eの電源をオンにする(電源のオンオフボタンがないので、以下手順で行った)
    1. 本体のDCジャックにACアダプタを差し込む
    1. ACアダプタをコンセントに差し込む 
1. `Please wait for OS to boot, or press any key to display configuration menu.......`が表示されたら'Enter'キーを押下する
1. メニューに以下画像の選択肢が表示されるので、`[R]: Review TFTP parameters.`を選択(Rキーを押下)してTFTP関連の情報を表示する(下画像内赤枠)![スクリーンショット 2025-03-15 115736 - コピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/8fc4e325-d36b-41d6-9b96-8287eb415133.png)
1. TFTP関連の情報が表示される(上画像内黄枠)ので、今後の作業に利用する以下の情報を確認する
    1. `Image download port: WAN1` - TFTPを利用する際にノートPCと有線LANケーブルで接続するポートは`WAN1`である
    1. `Local subnet mask: 255.255.255.0`- ローカルサブネットマスクは`255.255.255.0`である
    1. `TFTP server IP address: 192.168.1.168`- TFTPサーバ(ノートPC)のIPアドレスは`192.168.1.168`である
    :::note warn
    TFTP関連の情報を確認してから、ノートPCのネットワーク情報を設定するのには時間を要するため、Fortigate 50eがFortiOSで起動することがあります。
    Iキーを押下することで、TFTP Serverからのダウンロード待機状態になるようである
    
1. ノートPCのネットワーク情報を設定する
    1. IPアドレスを`192.168.1.168`に設定する
    1. サブネットマスクを`255.255.255.0`に設定する
    ![スクリーンショット 2025-03-15 203033.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/105379ef-7802-4ee9-a818-965a9d6bcdd3.png)
1. ノートPCのファイアウォールを無効化する
    1. コントロールパネルを開く
    1. Windows Defender ファイアウォールを開く![スクリーンショット 2025-03-15 232656.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/432e5cfc-bba2-487a-9084-8dbc0c3cb84f.png)

    1. Windwos Defender ファイアウォールの有効化または無効化を開く![スクリーンショット 2025-03-15 232425.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/3a59e748-77d1-48f9-91e1-27cba0a862f1.png)
    1. プライベートネットワークおよびパブリックネットワークを無効化する![スクリーンショット 2025-03-15 232237.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/54b3dae6-7ce8-4d93-a06a-f0d0f7e369af.png)

1. ノートPCのServaを起動する
    1. 起動時に以下の画面が表示されるので`I'm a "Community" user`を選択
    ![スクリーンショット 2025-03-15 192934.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/23a2cecd-0ca4-41cc-aff8-3c8192c4d353.png)
    1. Servaが起動したのち、左上のアイコンをダブルクリックする
    1. TFTPタブを選択して、以下の画像のように設定を変更する
    ![スクリーンショット 2025-03-15 192831.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/976808bf-a351-43e9-aa7e-c60526abb175.png)
    :::note warn
    TFTPのためにファイアウォールを無効化しています。
    作業終了後には、ファイアウォールの設定をもとに戻してセキュリティが担保されるようにしてください。
1. ノートPCとFortigate 50eの`WAN1`を有線LANケーブルで接続する
1. TeraTerm5のターミナル上で`[T]: Initiate TFTP firmware transfer.`を選択(Tキーを押下)してファームウェア(image.out)をFortigate 50eにダウンロードする
1. ダウンロードが無事完了すると、TeraTerm5のターミナル上で`Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?r`が表示されるのでRキーを押下(Flashに書き込まず実行)する
1. `[   35.247440] br-wan: porth1) enteredarding stat`まで表示されて、Enterキーを押下すると以下のようにOpenWrtの歓迎を受ける
     ```
    [   35.125369] mvneta f10300thernet ethnk is Up - /Full - flotrol rx/tx
    [   35.247440] br-wan: porth1) enteredarding stat
    
    
    BusyBox v1.36.1 (2025-02-03 23:09:37 UTC) built-in shell (ash)
    
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     -----------------------------------------------------
     OpenWrt 24.10.0, r28427-6df0e3d02a
     -----------------------------------------------------
    === 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.
    --------------------------------------------------
    
     ```
1. 必要であればメーカーファームウェアをバックアップする
    - [大破ログ氏の記事を参照](https://taiha.hatenablog.jp/entry/2023/03/10/004523)
    :::note warn
    筆者は技術力不足/Linuxのコマンドに対する知識不足のため、メーカーファームウェアのバックアップに失敗しております。
1. OpenWrt上でsysupgradeを実行する

    :::note info 
    コマンドに慣れた方は、SSH SCPを使用してアップグレードを実行するとよいかと思います。
    筆者はコマンドに慣れていないため、Web UIを利用してsysupgrateを実行した手順を記載する。
    1. ノートPCとFortigate 50eのLANポート(LAN1)を有線LANケーブルで接続する
    1. ブラウザを起動して`192.168.1.1`に接続する
    1. `Username/Password`は`root/無し`でログインする![スクリーンショット 2025-03-15 214617.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/385ae375-688b-4464-9228-f81a187287df.png)
    1. 画面上部の`System`タブから`Backup / Flash Firmware`を押下する![スクリーンショット 2025-03-15 215359.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/99d2c0f5-3c30-4233-8aca-02f2f2c8ee82.png)
    1. 画面下部のFlash new firmware image項目の`Flash image...`ボタンを押下する![スクリーンショット 2025-03-15 215607.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/333b9fa9-318f-473a-b90a-d84b4c9ce246.png)
    1. `Browse...`ボタンを押下して、ファイルエクスプローラーを利用して(手順5でダウンロードした)`アップグレードFirmware`を選択する![スクリーンショット 2025-03-15 220316.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4036745/2a547491-24cc-49b8-a1eb-052ba166030e.png)
1. Flashへの上書きが完了後に再起動して、OpenWrtが起動してsysupgradeが完了する

    :::note warn
    Fortigate 50eにはメインROMとバックアップROMがあり、OpenWrtがバックアップROMに書き込まれた結果、FortiOSが起動することもあるようです。
    その際には、手順12で選択肢にあった`[B]: Boot with backup firmware and set as default.`を実行することで、OpenWrtがデフォルトで起動するようになります。
    
## OpenwrtのWeb UI(Luci)の日本語化について
- 以下サイトの記事を参考にさせていただいた
- [ミニルーターWT3020HでOpenWrt研究してみよう, 管理画面の日本語化
](https://geekok.github.io/openwrt/usage/openwrt-set-japanese/)

## おわりに
ルータの性能向上については、性能テスト等に明るくないため、体感できるレベルには至っていない。
しかし、OpenWrt上でのセキュリティ設定やパッケージのインストールによるカスタマイズが可能なので、これから試していきたいと思っている。

また、ネットワークの専門知識やCUIに疎い筆者が、Web上の情報を収集してつまずきかけたポイントを手順として共有できるのはうれしく思う。

初めて記事を書いたため、読み苦しい文章であれば申し訳なく思います。
最後まで読んでいただけて、少しでもよんだかたｎお役に立てたのであれば光栄に思います。

## 参考にさせていただいたサイト
- [大破ログ, 2023-03-10 Fortinet FortiGate 50E](https://taiha.hatenablog.jp/entry/2023/03/10/004523)
- [Rapport Star Staff Blog, OpenwrtがFortiGate 50Eに対応したらしいので入れてみた](https://www.rapport-star.com/blog/2023/05/26/openwrt%E3%81%8Cfortigate-50e%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%9F%E3%82%89%E3%81%97%E3%81%84%E3%81%AE%E3%81%A7%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/)
- [ミニルーターWT3020HでOpenWrt研究してみよう, 管理画面の日本語化
](https://geekok.github.io/openwrt/usage/openwrt-set-japanese/)
- [Geek-space, FortiGate 50E にOpenWrtをインストールする](https://scrapbox.io/Geek-SpaceBox/FortiGate_50E_%E3%81%ABOpenWrt%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B)
- [研究活動備忘録, OpenWrtについて](https://tk-memorandum.hatenablog.com/entry/2016/08/12/204225)