Windows ServerでのSNMP構成手順(インストール、受信設定、確認手順)

2023-08-06Azure,Cacti,Others,PowerShell/Azure CLI,Windows

Windows ServerでSNMPサービスを構成する手順です。
SNMPサービス機能の追加、SNMPサービスの設定、Windows ServerでのSNMPパケット受信確認まで、一連の流れを紹介しています。

SNMP(Simple Network Management Protocol)は、ネットワーク機器やサーバーの状態を監視するために使用されるプロトコルです。
Windows ServerのSNMPサービスは、SNMPv1およびSNMPv2cに対応しています。

SNMP サービス

今回は、SNMPサービスのインストール、SNMPコミュニティ名の登録、SNMPパケットの受信許可設定、snmpwalkコマンドを使用したSNMPパケット受信確認までの流れを確認しています。おまけとして、Windows ServerのCactiデバイス登録手順についても紹介します。

※本記事の手順は、Windows Server 2025を利用して確認しています。
※Windows ServerのSNMPサービスは、SNMPv3には対応していません。

スポンサーリンク

Windows ServerにSNMPサービスをインストールする場合の手順(役割と機能の追加)

既定の状態ではSNMPサービスはインストールされていない

既定の状態では、Windows ServerにSNMPサービスはインストールされていません。
SNMPを利用してWindows Serverを監視する場合は、あらかじめSNMPサービスの機能を追加する必要があります。
SNMPサービスは"役割と機能の追加"ウィザードから追加します。

SNMPサービスのインストール手順(役割と機能の追加)

サーバーマネージャーの"役割と機能の追加"メニューから、SNMPサービスを追加します。
今回利用したWindows Serverは、ホスト名がvm-01、IPアドレスが10.1.100.4となっています。

SNMPサービスのインストール(役割と機能を追加)
サーバーマネージャーで役割と機能の追加を選択します。 役割と機能の追加(Windows ServerへのSNMPサービス機能追加手順)
役割と機能の追加ウィザードが表示されます。
次へを選択しウィザードを進めます。

※過去に既定でこのページを表示しないを選択している場合は、この画面は表示されません。次回以降、表示したくない場合はチェックボックスにチェックを入れて次へ進みます。

役割と機能の追加ウィザード画面(Windows ServerへのSNMPサービス機能追加手順)

インストールの種類の選択画面です。
役割ベースまたは機能ベースのインストールを選択します。

インストールの種類の選択画面(Windows ServerへのSNMPサービス機能追加手順)

対象サーバーの選択画面です。
インストール対象のサーバーを選択します。
今回はローカルホスト(vm-01)にインストールしています。

対象サーバーの選択画面(Windows ServerへのSNMPサービス機能追加手順)

サーバーの役割の選択画面です。
何もチェックを入れずに次へ進みます。

※SNMPサービスは"役割"ではなく"機能"に含まれています。

サーバーの役割選択画面(Windows ServerへのSNMPサービス機能追加手順)

機能の選択画面です。
SNMPサービスにチェックを入れます。
SNMPサービスに必要な機能を追加しますか?という関連機能の追加確認メッセージが表示されます。
管理ツールを含めるのチェックボックスにチェックが入っていることを確認し、機能の追加を選択します。
SNMPサービスにチェックが入っていることを確認し、次へ進みます。

※画面例では、WMI SNMPプロバイダーの機能も追加しています。

機能の選択画面(Windows ServerへのSNMPサービス機能追加手順)
役割と機能で管理ツールを含むかの確認(Windows ServerへのSNMPサービス機能追加手順)
機能の選択画面でSNMPサービス機能を選択(Windows ServerへのSNMPサービス機能追加手順)
インストールオプションの確認画面です。
SNMPサービスが表示されていることを確認します。
インストールを選択します。
インストールオプションの確認(Windows ServerへのSNMPサービス機能追加手順)
インストールの進行状況画面です。
インストールが正常に完了しましたというメッセージが表示されます。
閉じるを選択します。
インストール完了画面(Windows ServerへのSNMPサービス機能追加手順)

PowerShellを利用したSNMPサービスのインストール手順(役割と機能の追加)

PowerShellを利用してSNMPサービスをインストールする場合の手順です。
Install-WindowsFeatureコマンドレットを使用してSNMPサービス機能を追加します。

Install-WindowsFeature

パラメーターにIncludeManagementToolsを追加することで、管理ツールも同時にインストールすることができます。
また、事前にGet-WindowsFeatureコマンドレットでSNMPサービス機能のインストール状態を確認しています。

Get-WindowsFeature

インストールが完了すると、Install StateがAvailableからInstalledに変わります。

※PowerShell 7.6.3を利用して確認しています。また、管理者権限を保持しているユーザーで実行しています。

PowerShellを利用してSNMPサービス機能を追加

# SNMPサービス機能のインストール状態を確認
PS C:\> Get-WindowsFeature -Name SNMP-Service
Display Name Name Install State
———— —- ————-
SNMP-Service Available

# SNMPサービスの有無を確認
PS C:\>
Get-Service -Name SNMP
Get-Service: Cannot find any service with service name 'SNMP’.

PS C:\> Install-WindowsFeature SNMP-Service -IncludeManagementTools
Success Restart Needed Exit Code Feature Result
——- ————– ——— ————–
True No Success {リモート サーバー管理ツール, 機能管理ツール…

# SNMPサービス機能のインストール状態を確認
PS C:\> Get-WindowsFeature -Name SNMP-Service
Display Name Name Install State
———— —- ————-
SNMP-Service Installed

# SNMPサービスの有無を確認
PS C:\>
Get-Service -Name SNMP
Status Name DisplayName
—— —- ———–
Running SNMP SNMP サービス

—広告—

Windows ServerでSNMPサービスを構成する場合の手順

SNMPサービスインストール直後は外部からのSNMPパケット受信は許可されていない

SNMPサービスをインストールした直後は、外部からのSNMPパケットの受信は許可されていません。
既定では何も設定されておらず、localhost(自分自身のサーバー)からのみ受信が許可された状態となっています。
また、コミュニティ名も登録されていません。

監視サーバーなど外部機器からSNMPパケットを受信・応答するためには、受信を許可するIPアドレスとコミュニティ名を追加で設定する必要があります。
SNMPパケットの受信設定は、すべてのIPアドレスから受信を許可するか、特定のIPアドレスのみ許可するかを選択できます。

※セキュリティの観点から、SNMPパケットの受信は必要最低限とし、特定のIPアドレスのみを許可することが望ましいです。

SNMPパケットの受信設定(コミュニティ名、許可IPアドレス)

SNMPパケットの受信設定は、サービスの設定から行います。
SNMPサービスのプロパティのセキュリティタブに、コミュニティ名や受信を許可するアドレスの設定項目があります。

今回の例では、コミュニティ名をtamanegi、受信を許可するIPアドレスを10.1.100.6としています。

SNMPパケットの受信設定
サービスの設定画面を開きます。
SNMPサービスを選択します。
サービスの管理画面でSNMPサービスを選択(Windows ServerへのSNMPサービス機能設定手順)
SNMPサービスのプロパティ画面が表示されます。
セキュリティタブを選択します。
受け付けるコミュニティ名の追加を選択します。
SNMPサービスのプロパティ画面(Windows ServerへのSNMPサービス機能設定手順)
SNMPサービスのプロパティ画面のセキュリティタブ(Windows ServerへのSNMPサービス機能設定手順)
SNMPサービスの構成メッセージが表示されます。
コミュニティの権利は読み取りのみに設定します。
コミュニティ名を入力します。
追加を選択します。
SNMPサービスの構成画面(コミュニティ名)(Windows ServerへのSNMPサービス機能設定手順)
コミュニティ名が追加されていることを確認できます。
これらのホストからSNMPパケットを受け付けるを選択します。
追加を選択します。
SNMPサービスのコミュニティ設定後画面(Windows ServerへのSNMPサービス機能設定手順)
SNMPサービスの構成メッセージが表示されます。
監視サーバーなど、SNMPパケットを受信させたい機器のIPアドレスを入力します。
追加を選択します。
SNMPサービスの構成画面(IPアドレス)(Windows ServerへのSNMPサービス機能設定手順)

追加したコミュニティとIPアドレスが表示されていることを確認できます。
OKを選択します。

※設定はすぐに反映されます。反映されない場合は、SNMPサービスを再起動します。

 

SNMPサービス構成後のプロパティ画面(Windows ServerへのSNMPサービス機能設定手順)
SNMPサービスを再起動する場合の画面(Windows ServerへのSNMPサービス機能設定手順)

Windows Defender ファイアウォールの通信許可設定を確認

SNMPパケットの受信ができない場合は、Windows Defender ファイアウォールの設定を確認します。
Windows Defender ファイアウォールでSNMPサービスの通信が許可されているか確認します。

※既定では、SNMPサービスのインストールと同時に通信が許可される設定になっています。

Windows Defenderファイアウォールの設定を確認
Windowsセキュリティのファイアウォールとネットワーク保護を表示します。
ファイアウォールによるアプリケーションの許可を選択します。
Windowsセキュリティ画面例(Windows ServerへのSNMPサービス機能設定手順)
アプリにWindows Defenderファイアウォール経由の通信を許可する設定画面が表示されます。
許可されたアプリおよび機能を確認します。
SNMPサービスにチェックが入っていることを確認します。
Windows Defender ファイアウォールの設定画面(Windows ServerへのSNMPサービス機能設定手順)

別の仮想マシンからsnmpwalkコマンドを使ってSNMPパケットの受信確認

別の仮想マシンからsnmpwalkコマンドを使って、Windows ServerでSNMPパケットの受信を確認します。
なお、コマンドを実行する仮想マシンのIPアドレスが、SNMPパケットの受信許可リストに含まれている必要があります。

今回は、Rocky Linuxの仮想マシンからsnmpwalkコマンドを実行しています。
Rocky Linuxの場合、snmpwalkコマンドはnet-snmp-utilsパッケージに含まれています。
必要に応じてインストールしてください。

    • コマンド例
      • snmpwalk -v2c -c “コミュニティ名" “Windows ServerのIPアドレス" system

Windows Server(10.1.100.4、ホスト名 vm-01)に対してsnmpwalkコマンドで問い合わせ、正常に応答が返ってきていることが確認できます。

※PowerShell 7.6.3を利用して確認しています。

snmpwalkコマンドを使ったSNMPパケット受信確認

# snmpwalkコマンドをインストールする場合
[root@vm-02 ~]# dnf install -y net-snmp-utils

# Windows ServerのSNMPパケット受信確認
[root@vm-02 ~]# snmpwalk -v2c -c tamanegi 10.1.100.4 system

SNMPv2-MIB::sysDescr.0 = STRING: Hardware: Intel64 Family 6 Model 79 Stepping 1 AT/AT COMPATIBLE – Software: Windows Version 6.3 (Build 26100 Multiprocessor Free)
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.2
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9866) 0:01:38.66
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: vm-01
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 76

※実行結果の内容(CPU情報やWindowsのバージョン表記など)は、サーバーの環境によって異なります。

—広告—

(おまけ)CactiでWindows Serverのデバイスを登録する場合の手順

Windows ServerをCactiへデバイス登録する手順です。
Windows Serverには、あらかじめSNMPサービスをインストールした状態で設定を行っています。
以下の記事でインストールしたCactiを利用しています。

CactiでのWindows Serverのデバイス登録手順
CactiでNew Deviceを選択します。 新しいデバイスを追加(CactiへのWindowsデバイス追加手順)

デバイス登録画面が表示されます。
説明にはホスト名を入力し、ホスト名にはIPアドレスを設定しています。デバイステンプレートはWindows Deviceを選択します。
SNMPサービスで受信設定したSNMPコミュニティ名を入力します。
設定が終わったら作成を選択します。

※その他の設定情報は、環境に合わせて調整します。
※ホスト名は接続するための情報となります。

新しいデバイスの設定画面(CactiへのWindowsデバイス追加手順)
デバイス登録が完了すると、SNMP Informationにホスト名などが表示されます。 新しいデバイスの追加を確認(CactiへのWindowsデバイス追加手順)

※こちらの画面例はWindows Server 2022で設定した場合の例になります。

最後に

今回は、Windows ServerのSNMPサービス構成手順についてまとめました。
SNMPサービスの機能追加からコミュニティ名の登録、受信許可設定まで、利用開始までの基本的な手順を確認しています。
また、snmpwalkコマンドを使用してSNMPパケットの受信確認ができることも分かりました。

引き続き、いろいろ試してみたいと思います。

Windows Defender ファイアウォールで通信を許可するための手順については、以下の記事で紹介しています。
PowerShellを利用して規則を構成する手順についても紹介しています。

スポンサーリンク