読む前にこの記事のポイントを音声で確認できます。この音声は本記事をもとにAIツール(NotebookLM)で自動生成したもので、発音や言い回しが不自然な箇所や、内容の誤りが含まれる可能性があります。理解の補助としてご利用ください。
ハードウェアスイッチは、FortiGate の複数の物理ポートをまとめて、1つのインターフェースとして扱えるようにした仮想的なインターフェースです。まとめたポートは、同じスイッチにつながっているのと同じように動きます。
この記事では FortiGate 60F を使い、既定のハードウェアスイッチを確認したうえで、ポートを分けて新しいハードウェアスイッチを作ります。最後に、ハードウェアスイッチ間で通信するにはファイアウォールポリシーが必要なことを ping で確かめます。検証時の FortiOS は 6.0.9 です。
- 既定のハードウェアスイッチ(internal)の確認
- internal からポートを外す
- 新しいハードウェアスイッチを作る
- ハードウェアスイッチ間の通信にポリシーが必要なことの確認
ハードウェアスイッチとは
FortiGate 60F には、1〜5 の番号が付いた物理ポートがあります。初期状態では、この5つのポートが internal という名前のハードウェアスイッチにまとめられています。
ハードウェアスイッチは、本体のスイッチチップ(ハードウェア)で処理されます。同じハードウェアスイッチのポートは、同じブロードキャストドメインに属し、1台のスイッチにつながっているように動きます。似た機能にソフトウェアスイッチがあり、Fortinet のドキュメントでは次のように比べられています。
| 項目 | ハードウェアスイッチ | ソフトウェアスイッチ |
|---|---|---|
| パケットの処理 | ハードウェア(スイッチコントローラ、または SPU)で処理する | CPU がソフトウェアで処理する |
| STP | 使える | 使えない |
| 無線の SSID | メンバーにできない | メンバーにできる |
| スイッチ内の通信 | 既定で許可 | 既定で許可。ポリシーを必須にする設定もできる |
ハードウェアスイッチ設定の確認
既定のハードウェアスイッチを確認する
実際の設定を確認します。ネットワーク ›› インターフェース を開くと、internal という名前のハードウェアスイッチに物理ポート1〜5 が割り当てられています。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
| ステータス | 名前 | メンバー | IP/ネットマスク | タイプ |
|---|---|---|---|---|
| ハードウェアスイッチ (2) | ||||
| fortilink | A, B | FortiSwitchにデディケート | ハードウェアスイッチ (2) | |
| 1 | internal | 1〜5 | 192.168.1.99 255.255.255.0 | ハードウェアスイッチ (5) |
| 物理 (3) | ||||
| dmz | 10.10.10.1 255.255.255.0 | 物理インターフェース | ||
| wan1 | 0.0.0.0 0.0.0.0 | 物理インターフェース | ||
| wan2 | 0.0.0.0 0.0.0.0 | 物理インターフェース | ||
物理インターフェースのステータスは、緑がリンクアップ、赤がリンクダウンです。internal には 192.168.1.99/24 が設定されています。
internal をクリックすると、インターフェースメンバーに internal1〜internal5 という名前で物理ポートが入っていることがわかります。
| インターフェース名 | internal |
| エイリアス | |
| タイプ | ハードウェアスイッチ |
| 1インターフェースメンバー | internal1 ✖ internal2 ✖ internal3 ✖ internal4 ✖ internal5 ✖ |
internal1〜internal5 は同じセグメントのポートなので、たとえばポート1とポート5に端末をつなぐと、ファイアウォールポリシーを作らなくても通信できます。
初期状態では internal1〜internal5 が同じセグメントですが、たとえば internal1〜internal3 と internal4〜internal5 でセグメントを分けることもできます。その場合は、ハードウェアスイッチを新しく作ります。
ハードウェアスイッチの追加
internal から internal4・internal5 を外す
まず、既定のハードウェアスイッチ internal から internal4 と internal5 を外します。internal の編集画面で、インターフェースメンバーの internal4 と internal5 の ✖ をクリックします。
| インターフェース名 | internal |
| タイプ | ハードウェアスイッチ |
| 1インターフェースメンバー | internal1 ✖ internal2 ✖ internal3 ✖ internal4 ✖ internal5 ✖ |
internal4 と internal5 がメンバーから消えたら、OK をクリックします。
| インターフェース名 | internal |
| タイプ | ハードウェアスイッチ |
| 1インターフェースメンバー | internal1 ✖ internal2 ✖ internal3 ✖ |
| ロール | LAN |
一覧に戻ると、internal のメンバーは 1〜3 になり、internal4 と internal5 は物理インターフェースとして表示されます。
| ステータス | 名前 | メンバー | IP/ネットマスク | タイプ |
|---|---|---|---|---|
| ハードウェアスイッチ (2) | ||||
| fortilink | A, B | FortiSwitchにデディケート | ハードウェアスイッチ (2) | |
| 1 | internal | 1〜3 | 192.168.1.99 255.255.255.0 | ハードウェアスイッチ (3) |
| 物理 (5) | ||||
| dmz | 10.10.10.1 255.255.255.0 | 物理インターフェース | ||
| 2 | internal4 | 0.0.0.0 0.0.0.0 | 物理インターフェース | |
| internal5 | 0.0.0.0 0.0.0.0 | 物理インターフェース | ||
| wan1 | 0.0.0.0 0.0.0.0 | 物理インターフェース | ||
| wan2 | 0.0.0.0 0.0.0.0 | 物理インターフェース | ||
| No. | 表示 | 意味 |
|---|---|---|
| 1 | internal(1〜3) | internal のメンバーがポート1〜3 になり、タイプの数も (3) に変わりました。 |
| 2 | internal4・internal5 | ハードウェアスイッチから外れ、単独の物理インターフェースになりました。アドレスは 0.0.0.0 で、ステータスはリンクダウン(赤)と表示されています。 |
新しいハードウェアスイッチを作る
internal4 と internal5 を入れる新しいハードウェアスイッチを作ります。インターフェース一覧の左上にある 新規作成 ›› インターフェース を選びます。HW-Switch-4-5 という名前で作り、192.168.2.0/24 のセグメントを割り当てます。
| 1インターフェース名 | HW-Switch-4-5 |
| エイリアス | |
| 2タイプ | ハードウェアスイッチ |
| 3インターフェースメンバー | internal4 ✖ internal5 ✖ (+ をクリックし、右の「エントリを選択」から追加) |
| ロール | LAN |
| アドレッシングモード | ◉ マニュアル○ DHCP○ PPPoE |
| 4IP/ネットワークマスク | 192.168.2.99/24 |
| IPv4 | ☐ HTTPS☐ HTTP☑ PING☐ FMGアクセス☐ CAPWAP☐ SSH☐ SNMP☐ FTM☐ RADIUSアカウンティング☐ FortiTelemetry |
| DHCPサーバ | OFF |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | インターフェース名 | 任意の名前です。今回は HW-Switch-4-5 にします。 |
| 2 | タイプ | ハードウェアスイッチを選びます。 |
| 3 | インターフェースメンバー | internal4 と internal5 を選びます。 |
| 4 | IP/ネットワークマスク | 192.168.2.99/24 を設定します。この新しいセグメントでの FortiGate のアドレスです。 |
| 5 | OK | クリックして作成します。 |
ハードウェアスイッチに追加するインターフェースは、ほかの設定(ポリシーなど)から参照されておらず、IP アドレスが 0.0.0.0/0.0.0.0 になっている必要があります。STEP 2 で外した internal4・internal5 はこの条件を満たしているので、そのまま追加できます。
OK をクリックすると、新しいハードウェアスイッチ HW-Switch-4-5 にポート4と5が割り当てられたことを確認できます。
| ステータス | 名前 | メンバー | IP/ネットマスク | タイプ |
|---|---|---|---|---|
| ハードウェアスイッチ (3) | ||||
| fortilink | A, B | FortiSwitchにデディケート | ハードウェアスイッチ (2) | |
| 1 | HW-Switch-4-5 | 4, 5 | 192.168.2.99 255.255.255.0 | ハードウェアスイッチ (2) |
| internal | 1〜3 | 192.168.1.99 255.255.255.0 | ハードウェアスイッチ (3) | |
| 物理 (3) | ||||
| dmz | 10.10.10.1 255.255.255.0 | 物理インターフェース | ||
| wan1 | 0.0.0.0 0.0.0.0 | 物理インターフェース | ||
| wan2 | 0.0.0.0 0.0.0.0 | 物理インターフェース | ||
動作確認
ハードウェアスイッチ間の通信を確認する
ポート1(internal)とポート5(HW-Switch-4-5)に端末をつなぎ、ポート1の端末(192.168.1.1)からポート5の端末(192.168.2.1)へ ping を実行します。結果は、応答がありません。
C:\Users\Administrator>ping 192.168.2.1 192.168.2.1 に ping を送信しています 32 バイトのデータ:1要求がタイムアウトしました。要求がタイムアウトしました。要求がタイムアウトしました。要求がタイムアウトしました。 192.168.2.1 の ping 統計:2 パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 要求がタイムアウトしました。 | 4回とも応答が返ってきていません。 |
| 2 | 受信 = 0、損失 = 4 | 送信した4つのパケットがすべて失われました(100% の損失)。 |
同じハードウェアスイッチの中は、ファイアウォールポリシーがなくても通信できます。一方、ハードウェアスイッチが違えば、FortiGate から見て別のインターフェースです。インターフェースをまたぐ通信は、ファイアウォールポリシーで許可しない限り通りません。
そこで、ポリシー&オブジェクト ›› ファイアウォールポリシー で、入力インターフェースと出力インターフェースにそれぞれのハードウェアスイッチを選んだポリシーを作ります。
| 名前 | policy-1 |
| 1入力インターフェース | internal |
| 出力インターフェース | HW-Switch-4-5 |
| 2送信元 | all |
| 宛先 | all |
| スケジュール | always |
| サービス | ALL |
| 3アクション | ◉ ACCEPT○ DENY |
| 4NAT | OFF |
| No. | 項目 | 設定内容 |
|---|---|---|
| 1 | 入力/出力インターフェース | 通信を始める側の internal を入力、相手側の HW-Switch-4-5 を出力にします。 |
| 2 | 送信元・宛先・サービス | 今回は動作確認なので、すべて(all、ALL)を許可しています。実際の運用では、必要なアドレスとサービスに絞ります。 |
| 3 | アクション | ACCEPT(許可)を選びます。 |
| 4 | NAT | OFF のままにします。どちらも FortiGate の内側のセグメントなので、アドレス変換は不要です。 |
| 5 | OK | クリックしてポリシーを作成します。 |
ポリシーを作ったあと、もう一度 ping を実行すると、異なるハードウェアスイッチ間で疎通できるようになりました。
C:\Users\Administrator>ping 192.168.2.1 192.168.2.1 に ping を送信しています 32 バイトのデータ:1192.168.2.1 からの応答: バイト数 =32 時間 =3ms TTL=128192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=128192.168.2.1 からの応答: バイト数 =32 時間 <1ms TTL=128192.168.2.1 からの応答: バイト数 =32 時間 =1ms TTL=128 192.168.2.1 の ping 統計:2 パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、ラウンド トリップの概算時間 (ミリ秒): 最小 = 0ms、最大 = 3ms、平均 = 1ms
- 今回のポリシーは internal → HW-Switch-4-5 の向きだけです。この向きで始まった通信の戻りのパケットは、セッションとして許可されます。HW-Switch-4-5 側の端末から通信を始めたい場合は、逆向き(HW-Switch-4-5 → internal)のポリシーも作ります。
- 別のセグメントの端末と通信するには、端末のデフォルトゲートウェイを、つながっているハードウェアスイッチの FortiGate のアドレス(192.168.1.99 や 192.168.2.99)にしておく必要があります。
まとめ
| 通信 | FortiGate から見ると | ポリシー |
|---|---|---|
| 同じハードウェアスイッチ内 (例:ポート1 ⇔ ポート3) | 同じインターフェース、同じセグメント | 不要(既定で通信できる) |
| 違うハードウェアスイッチ間 (例:ポート1 ⇔ ポート5) | 別のインターフェース、別のセグメント | 必要(入力・出力インターフェースを指定して許可する) |
ハードウェアスイッチを分けると、ポートをセグメントごとに分けられ、セグメント間の通信をファイアウォールポリシーで制御できるようになります。ポートを追加するときは、そのポートがほかの設定から参照されていないことと、IP アドレスが 0.0.0.0 になっていることを先に確かめてください。
コメント