FortiGate(FortiOS)には、ネットワーク監視や管理システム(Zabbix、PRTG、Nagiosなど)から監視情報を取得するための SNMP(Simple Network Management Protocol)機能 が搭載されています。
ここでは、FortiOS公式CLI仕様と実運用でのベストプラクティスに基づいた、正確な設定方法を解説します。
FortiGateでSNMPを利用する際は、以下の項目を段階的に設定します。
| 構成項目 | 内容 |
|---|---|
| SNMPエージェント | FortiGateがSNMP要求に応答するための基本設定 |
| SNMPバージョン | v1 / v2c / v3 を選択(v3は暗号化・認証対応) |
| コミュニティ or ユーザ | v1/v2cではcommunity string、v3ではユーザ認証情報 |
| アクセス許可 | SNMPクエリを許可するインターフェースと送信元IP |
| トラップ送信 | 監視サーバへアラート(trap)を送信 |
| MIB / OID | 取得可能な監視項目の管理情報ベース |
SNMPを有効化する設定は config system snmp sysinfo 配下で行います。
この中で set status enable を指定し、連絡先・設置場所などの情報を設定します。
config system snmp sysinfo
set status enable
set contact-info "admin@example.com"
set location "Tokyo-DC"
end
SNMPは、通信を受け付けるインターフェースで allowaccess snmp が有効になっている必要があります。
忘れるとポーリング要求を受け付けません。
config system interface
edit "port1"
set allowaccess ping https ssh snmp
next
end
v1/v2cは「コミュニティ(community)」で認証します。
ホスト(監視サーバ)を登録する際は config hosts セクションを使用し、インターフェースとIPを明示します。
config system snmp community
edit 1
set name "readonly-v2c"
set query-v2c-status enable
set events cpu-high mem-low log-full
config hosts
edit 1
set interface "port1"
set ip 192.0.2.10 255.255.255.255
set host-type query
next
edit 2
set interface "port1"
set ip 192.0.2.20 255.255.255.255
set host-type trap
next
end
next
end
補足
host-type query:SNMPポーリング許可host-type trap:トラップ送信先set events:トラップ対象イベント(例:CPU高負荷、メモリ低下、ログ領域満杯など)
SNMPv3は強固な認証・暗号化を備えています。
CLI上では config system snmp user ブロックで設定します。
queries enable を忘れずに有効化しましょう。
config system snmp user
edit "snmpv3user01"
set status enable
set security-level auth-priv
set auth-proto sha256
set auth-pwd "AuthPass#2025"
set priv-proto aes256
set priv-pwd "PrivPass#2025"
set queries enable
set query-port 161
set notify-hosts 192.0.2.20
set events cpu-high mem-low log-full
next
end
ポイント
- v3では
notify-hostsがトラップ送信先の設定になります。- ポーリングを許可する送信元IPは、Local-in policy で制御します。
config firewall local-in-policy
edit 1
set intf "port1"
set srcaddr "NMS-192.0.2.10"
set dstaddr "all"
set action accept
set service "SNMP"
set schedule "always"
next
end
これにより、特定のNMS(ネットワーク監視サーバ)IPのみがFortiGateへSNMPアクセス可能となります。
config system snmp sysinfo 内で set non-mgmt-vdom-query enable を設定。set engine-id-type text と set engine-id <string> を指定。
ping <FortiGate管理IP>
snmpwalk -v2c -c readonly-v2c <FortiGate-IP> 1.3.6.1.2.1.1.1.0
snmpwalk -v3 -l authPriv -u snmpv3user01 \
-a SHA -A 'AuthPass#2025' -x AES -X 'PrivPass#2025' \
<FortiGate-IP> 1.3.6.1.2.1.1
トラップ受信サーバ(UDP 162)を起動し、FortiGate側でログ満杯・CPU高負荷イベントを発生させて受信可否を確認。
| 問題 | 原因 | 対処法 |
|---|---|---|
| SNMPが応答しない | allowaccess snmp 無効 |
インターフェース設定でSNMPを許可 |
| トラップが届かない | host-type trap未設定、ポート遮断 | config hostsでtrap定義+UDP162許可確認 |
| v3接続エラー | 認証情報や暗号方式不一致 | security-level / auth-proto / priv-protoを確認 |
| VDOM環境で監視不可 | non_mgmt_vdom_query未設定 | 管理VDOM設定を見直す |
| OID取得制限 | MIB Viewが制限中 | MIB Viewを確認または無効化 |
FortiGateでのSNMP設定は、CLIで行うとより確実で柔軟です。
ポイントは以下の3つです。
config system snmp sysinfo で有効化することallowaccess snmp を忘れないことnotify-hosts と Local-in policy の併用が必須これらを押さえれば、FortiGateを安定して監視システムに統合できます。
以上、FortiGateのSNMPの設定についてでした。
最後までお読みいただき、あありがとうございました。