10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

KWCAdvent Calendar 2022

Day 9

ProxmoxでFortiGate VM検証環境を構築する

Last updated at Posted at 2022-12-08

はじめに

※これは KWC Advent Calendar 2022 の2日目の記事です。

こんにちは、(株)KDDIウェブコミュニケーションズでインフラエンジニアをやっている葛生(くずう)と申します。初アドカレです。
今回はタイミングよく、FortiGate VMを無償のハイパーコンバージドインフラのProxmoxVE上に展開し検証環境を作ってたので、そちらのネタでQiitaに書いてみようと思います。

なぜやろうと思った?

  • FortiGate VMの評価版ライセンスの15日制限がなくなったと聞いて
  • AnsibleのFortiOSモジュールを試す環境を作りたい
  • 手持ちのハードウェア(FG-60C)のOSが5系までしか対応していない
  • ProxmoxにFortiGate VMをデプロイする記事がQiitaにはなかったので
  • 物理環境のLANケーブル差し替えを減らしたかった

環境、機器構成

  • サーバ、Proxmox Virtual Environment 7.1-10
  • FortiGate VM v7.2.3
  • DHCPでIPアドレスが割り当てられるネット環境(ライセンス認証、初期設定に必要)

nw_topology.jpg

前提条件

  • Proxmox VEの環境は構築済み
  • FortiCloudからKVM版のFortigateVMイメージはダウンロード済み
  • scp、ftp等でサーバ内の任意のディレクトリにqcow2ファイルを展開済み

構築手順

ProxmoxのWebUI上で空のVMを作成する

ProxmoxのダッシュボードでCreate:Virtual Machine (作成: 仮想マシン)」ウィンドウを開き新規VM作成を選択していきます。
※ここで作成した仮想マシンID(VM ID:)はイメージ取り込み時に使用しますので書き取っておいてください。

img00_1.jpg

VMを新規作成しOSタブで「メディアを使用しない(Do not use any media)」を選択します。
img00_2.jpg

HDDはログ保存などのデータ領域として使用するのでデフォルトの32GBでそのまま作成します。
img00_3.jp.jpg

VMが作成されると以下のような画面になります。

img03.jpg

VMイメージをLocal-LVMに取り込む

前提条件にあるように、Proxmox上の任意のディレクトリにKVM用のFortiGate VMイメージがアップロードされてるものとします。
img00_0.jpg

ホストコンソールに移動し、qm importdisk <vmid> fortios.qcow2 namestoragepool コマンドを実行します。vmidfortiose.qcow2,namesstoragepoolの部分は環境に応じて変更してください。

fortios.qcow2
root@kz-pve01:/home/h_kz# qm importdisk 109 fortios.qcow2 local-lvm

成功メッセージを確認し、ハードウェア ダッシュボードでディスクを特定します。

importing disk 'fortios.qcow2' to VM 109 ...
  WARNING: You have not turned on protection against thin pools running out of space.
  WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
  Logical volume "vm-109-disk-2" created.
  WARNING: Sum of all thin volume sizes (1.26 TiB) exceeds the size of thin pool pve/data and the size of whole volume group (<1.09 TiB).
transferred 0.0 B of 2.0 GiB (0.00%)
transferred 21.5 MiB of 2.0 GiB (1.05%)
~ 省略 ~
transferred 2.0 GiB of 2.0 GiB (100.00%)
Successfully imported disk as 'unused0:local-lvm:vm-109-disk-2'

「Unused Disk 0 (未使用ディスク 0)」がインポートされた状態
img01.jpg

Unused Diskを追加します。「Add (追加)」をクリックすると新しい「Hard Disk (scsi2)」が表示されます。
※デフォルトで追加されている「Hard Disk (scsi 0) size=2G」は使わないので削除します。
img02.jpg

先ほど追加したディスクからBootできるよう設定を変更します。
img04.jpg

先ほど新たに追加したHDDを選択します。
img05.jpg

初回起動とデバイス認識プロセス

WebUIで仮想マシンを起動すると、新たに認識されたストレージがマウントされ再起動が走ります。
img07.jpg

コンソールログイン

起動完了するとコンソールのログイン画面が立ち上がります。

  • 初回ログインは、user: admin を入力、password: <未入力> を入力
  • ログインが完了するとパスワードの変更を求められるので、任意のパスワードに変更&確認入力

img06.jpg

管理ポートのIPアドレスを確認する

起動した後に下記のコマンドを入力し管理ポートにDHCPで割り当てられているIPアドレスを確認します。

# get system interface physical

img09.jpg

WebUIに接続する

管理ポートに割り当てられたIPアドレスをブラウザに入力しWebUIにログインします。

  • ユーザー名は admin を入力
  • パスワードは先ほどコンソール画面で更新したものを入力
    img08.jpg

ライセンス認証画面

※FortiGateのライセンス認証についてはnw-engineerさんの記事を参考にしてもらったほうがより詳しくがいてあるのでオススメです。

img11.jpg

img12.jpg

導入完了

img13.jpg

確認された制限事項

  • コア数、メモリなどはProxmox上で追加しても認識されない(既知の仕様通り)
  • VPN周りはDESのみでAESなど高度な暗号化は使えない

所感

今回の環境は、Proxmoxに仮想マシンをインポートしたことある人なら30分もあれば構築できるくらい簡単でした。ProxmoxはデフォルトのネットワークがLinux BridgeなのでできればOpen vSwitch(OVS Bridge)をインストールして仮想NICはそちらに繋いだ方が、コンテナにFW機能を提供する際などで便利かと思います。
今回のFortiGate VMはトライアル版なのにHA構成も組めるので、構成を勉強するインフラエンジニアにとっては申し分無い機能を提供してくれていると思います。

参考

Fortigate VM(制限機能付き評価版)を利用するまでの流れ
https://qiita.com/nw-engineer/items/82519ed8516aabc51893

Fortigate VMトライアルライセンス永続化
https://qiita.com/nw-engineer/items/353958334b65356baa5a

おわりに

ここまで読んで頂いた方ありがとうございました。ほぼ手順書みたいな内容でしたが、エンジニアの皆様の一助となれれば幸いです。
KWC Advent Calendar 2022 はまだまだ続きます!明日もお楽しみに!!

10
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?