Linux サーバーでエージェント ウェークアップ コールが失敗する
技術的な記事 ID:
KB82686
最終更新: 2016/06/22
環境
McAfee VirusScan Enterprise for Linux (VSEL) 1.x, 2.x
問題
ePolicy Orchestrator (ePO) で管理する Linux サーバーが、ePO サーバーからのエージェント ウェークアップ コールに応答しません。
原因
クライアント上のファイアウォール ルールが ePO サーバーの通信を妨げています。
解決策
ePO サーバーとの通信を妨げているクライアントのファイアウォール ルールを無効にするか変更します。クライアントは TCP ポート 8081 のトラフィックを受け入れる必要があります。
この問題をトラブルシューティングして確認するには以下の手順を実行します。
Linux サーバーの正しい IP アドレスは、ePO システム ツリーにリストされており、エージェントに他の問題がないことを確認します。
- Linux サーバーと ePO サーバーでコマンドライン セッションを開きます。
- Linux サーバーの正しい IP アドレスが ePO システム ツリーに登録されていることを確認します。
- Linux サーバーから ePO サーバーに Ping を実行し、ePO サーバーから Linux サーバーに Ping を実行します。
- Linux サーバー上で cmdagent コマンドを使用して、プロパティ 情報を ePO サーバーに送信できることを確認します。Linux サーバー上で以下のコマンドを入力して ENTER を押します。
/opt/McAfee/cma/bin/cmdagent -P
プロパティが ePO に送信されると、最終通信時間が更新されます。
- エージェントに何らかの通信エラーがログされているか確認します。 Linux サーバー上で以下のコマンドを入力して ENTER を押します。
/opt/McAfee/cma/scratch/etc/log
- エージェント ウェークアップ通信ポートがリッスン ステータスになっていることを確認します。 snetstat -an|grep8081 と入力して ENTER を押します。
出力は次のようになります。
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN
クライアント ファイアウォールが ePO サーバーとの通信をブロックしていることを確認します。
- Linux サーバーでパケット キャプチャを有効にして、ePO サーバーからウェークアップ コールを実行します。
パケット キャプチャをオンにするには、以下のいずれかのコマンドを使用します。
tcpdump
または
tcpdump -iethX
または
tcpdump -w /tmp/packet.pcap -i ethX
ネットワーク パケット キャプチャを確認すると、以下の問題が見つかります。
16:46:53.617566 IP X.X.X.X.60195 > Y.Y.Y.Y.tproxy: Flags [S] seq 1384592987 , win 8192 , options [mss 1460 , nop , wscale 8 , nop , nop , sackOK], lenght 0
16:46:53.617627 IP Y.Y.Y.Y > X.X.X.X: ICMP host Y.Y.Y.Y unreachable -admin prohibited, length 60
16:46:56.625077 IP X.X.X.X.60195 > Y.Y.Y.Y.tproxy: Flags [S] seq 1384592987 , win 8192 , options [mss 1460 , nop , wscale 8 , nop , nop , sackOK], lenght 0
16:46:56.625131 IP Y.Y.Y.Y > X.X.X.X: ICMP host Y.Y.Y.Y unreachable -admin prohibited, length 60
16:46:58.616867 ARP , Request who-has X.X.X.X tell Y.Y.Y.Y , length 28
16:46:58.617158 ARP , Reply X.X.X.X is-at d8:9d:67:19:29:80 (oui unknown) , length 46
16:47:02.630779 IP IP X.X.X.X.60195 > Y.Y.Y.Y.tproxy: Flags [S] seq 1384592987 , win 8192 , options [mss 1460 , nop , nop , sackOK] , length 0
16:47:02.630833 IP Y.Y.Y.Y > X.X.X.X: ICMP host Y.Y.Y.Y unreachable -admin prohibited, length 56
16:47:12.088548 IP X.X.X.X.60197 > Y.Y.Y.Y.tproxy: Flags [S] seq 4262429784 , win 8192 , options [mss 1460 , nop , wscale 8 , nop , nop , sackOK], lenght 0
16:47:12.088601 IP Y.Y.Y.Y > X.X.X.X: ICMP host Y.Y.Y.Y unreachable -admin prohibited, length 60
16:47:15.094336 IP X.X.X.X.60197 > Y.Y.Y.Y.tproxy: Flags [S] seq 4262429784 , win 8192 , options [mss 1460 , nop , wscale 8 , nop , nop , sackOK], lenght 0
16:47:15.094389 IP Y.Y.Y.Y > X.X.X.X: ICMP host Y.Y.Y.Y unreachable -admin prohibited, length 60
- X.X.X.X はウェークアップ コールを送信する ePO サーバーの IP アドレスです。
- Y.Y.Y.Y は Linux サーバーの IP アドレスです。
- Tproxy は通信ポート 8081 を参照します。
この例では、ePO サーバーが(SYN セグメントの送信を繰り返して)Linux サーバーのポート 8081 への接続を試みますが、Linux サーバーは ICMP エラーの応答を返します。エラー コード(unreachable - admin prohibited)は、TCP SYN セグメントが ファイアウォール ルールにより到達できなかったことを示します(- admin prohibited)。
-
通信を妨げているルールを見つけます。 iptables -L と入力し、ENTER キーを押します。
出力は次のようになります。
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state
RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ファイアウォール ルールを無効にするか TCP ポート 8081 TCP を受け付けるように変更すると、Linux サーバーがウェークアップ コールに正しく応答するようになります。
免責事項
この記事の内容のオリジナルは英語です。英語の内容と翻訳に相違がある場合、常に英語の内容が正確です。一部の内容は Microsoft の機械翻訳による訳文となっています。
|