DHCPDISCOVER / DHCPOFFER、ただしDHCPACKはなし


16

DHCPDISCOVERを送信しているリモートクライアントマシンがあります。サーバーはDHCPOFFERで応答していますが、DHCPACKはありません。

これは、同じホストから約30秒ごとに繰り返されます。リモートでできることはありますか、または誰かに再起動してもらう必要がありますか?それはデータセンターにあるので、それをするためにそこに旅行しなければならないかもしれません!


提案をありがとう。すべてのマシンをリブートしましたが、まだ問題があります。私の設定に問題があると思います。これは正しいですか?

#
# /etc/dhcpd.conf for primary DHCP server
#

authoritative;
ddns-update-style none;
deny duplicates;
default-lease-time 600;
max-lease-time 3600;

# Our fixed hosts
host host2  { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address x.x.x.202; }
host host3  { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address x.x.x.203; }
host host4  { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address x.x.x.204; }
host host5  { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address x.x.x.205; }

subnet x.x.x.128 netmask 255.255.255.128 {
  option subnet-mask 255.255.255.128;
  option broadcast-address x.x.x.255;
  option routers x.x.x.129;
  option domain-name-servers 8.8.8.8, 8.8.4.4;

  # Testing pool.
  pool {
    max-lease-time 300; # 5 minutes
    range x.x.x.250 x.x.x.254;
    deny known-clients;
  }

  # Our hosts - I didn't have this pool declaration before, do I need it if I want
  # the hosts to be running dhcp but always get the same address?
  pool {
    max-lease-time 1800;
    range x.x.x.200 x.x.x.220;
    deny unknown-clients;
  }
}

DHCPRequestはDHCPAckの前に来る必要があります。あなたはそれを見ていますか?サーバーでパケットキャプチャを実行して、サーバーとの間のDHCPDiscover、DHCPOffer、DHCPRequest、およびDHCPAckを探します。クライアントはサーバーと同じLANセグメントにありますか?そうでない場合、2つを分離するルーターはDHCPリレーとして構成されていますか?
joeqwerty

問題は設定の誤りが原因であることが判明しました。ダイナミックレンジとオーバーラップするスタティックレンジがありました。
マット

回答:


13

それは行く:

CLIENT -> DHCPDISCOVER
SERVER -> DHCPOFFER
CLIENT -> DHCPREQUEST
SERVER -> DHCPACK

説明のDHCPACKの前にDHCPREQUESTがありません。

クライアントがDHCPサーバーとは異なるサブネット上にある場合、DHCPOFFERはポート67 UDPでDHCPリレーにユニキャストで送信されます。DHCPリレーエージェントは、DHCPOFFERをUDPポート68のサブネットにブロードキャストします。

DHCPOFFERに関連する接続の問題を調査します。それを追跡し、クライアントに戻る方法を見つけたかどうかを確認し、もしそれがあれば、クライアントがDHCPREQUESTではなくアドレスを取得しているのはなぜですか。

一般的なdhcpリレーエージェントは、特定のインターフェイス下のCiscoスイッチの「ip helper-address」オプションです。


10

DHCPサーバーとDHCPクライアントが両方とも同じイーサネットセグメントに接続され、そのようなイーサネットセグメントがさまざまな「トランク」(802.1q)リンクで相互接続された複数のL2スイッチにまたがると仮定すると、同じような問題が発生しました少なくとも1つのトランクリンクの設定間の不一致。

詳細には、DHCP-DISCOVER / DHCP-OFFERの終わりのないサイクル(DHCPサーバー側から見た)、DHCPクライアントがDHCP-OFFERを受信して​​いないため、DHCPを再発行し続けていると考えさせてください。-DISCOVERメッセージ。このようなDHCP-DISCOVER(DHCPクライアント側から見た)は、DHCP-SERVERから正しく受信されます。

次のシナリオを考慮してください ここに画像の説明を入力してください 。2つのトランクポートのセットアップが間違っている/一致しないということは、次のことを意味します。

  • SW Aからトランクに沿って(またはDHCPサーバーからDHCPクライアントに)SW Bに送信されるVLAN Xトラフィックは、タグなしです。
  • SW Bからトランクに沿って(またはDHCPクライアントからDHCPサーバーに)SW Aに送信されたVLAN Xトラフィックはタグ付けされます。
  • SW BのトランクポートのネイティブVLAN設定により、DHCPクライアントはDHCPサーバーからパケットを受信しません

DHCPクライアントホストを「制御」する場合、これはトラブルシューティングが非常に簡単です。このような場合、eth0がDHCPクライアントホストによって使用されるネットワークインターフェースであると仮定すると、単純です:

tcpdump -n -i eth0 ether-host <dhcp-server-mac-address>

クライアントがDHCP-SERVERからDHCP-OFFERを受信するかどうかを示します。

クライアント側を制御できない場合、トラブルシューティングはより困難になります。

PS:明らかに、上記の問題や他の関連する議論は、適切な技術(GVRPVTP、または他の厳密ではない手動設定アプローチなど)を使用して簡単に回避できますが、...これはこの回答の範囲外です


これは、サーバー側のインターフェイスが異なるVLANにブリッジされている場合、DHCPサーバーのソフトウェアバグの結果として発生する可能性もあります。
-DustWolf

6

同じ問題があった。DHCPACKが表示されません。ここでの問題は:

ディスクがいっぱいです

dhcpdはに書き込めませんでした/var/lib/dhcp/dhcpd.leases


どうもありがとう。発見、申し出、リクエスト、リクエスト、リクエスト、そしてackがないことを私は見ていました。これが原因でした。同じ理由で、/ var / log / syslogにも何もありませんでした。突然始まる奇妙な動作を見るとき、私は最初にこれをチェックすることを学びました。
ロブフィッシャー

3

私はこれを数回見てきましたが、これまでのところ2つの理由しか見ていません。

  • DHCPサーバーが提供したIPアドレスは、別のデバイスで既に使用されています。通常、DHCPNAKが表示されます。
  • ファイアウォールはdhcpサーバーへのトラフィックを受け入れていますが、戻るトラフィックは受け入れていません

幸いなことに、両方を簡単にテストできるはずです。IPアドレスをpingし、関連するファイアウォールを確認します。


ありがとう。提供されたアドレスにpingを送信しましたが、応答がありません。次に、別のアドレスを提供するように強制するホストエントリを設定しましたが、これは役に立たなかったようです。ファイアウォールをチェックします。
マット

0

私は仮想ボックスを使用してファイアウォールについて学んでいますが、サーバーでDHCPACKを取得しない同様の問題があり、ubuntuファイアウォールvmのテストグリーン(内部)ネットワークに間違った仮想ボックスネットワーク設定を使用していたことが判明しましたテストUbuntuクライアントvm。vb内部ネットワークではなくNATネットワークを使用する場合、クライアントvmはDHCPサーバーvmではなくvbからIPを取得します。ログには、サーバーがクライアントから要求を取得していることが示されていますが、クライアントは代わりにvbからIPを取得しているため、サーバーにACKが返されることはありません。


0

私にとっては、クライアントのDHCPサーバーを(インターネット共有を介して)オフにするのを忘れるという単純なケースでした。これをオフにするとすぐに、DHCPリースが受け入れられました。

Apr 16 03:54:18 dnsmasq-dhcp[5952]: DHCPDISCOVER(eth0) 40:6c:8f:59:24:8e
Apr 16 03:54:18 dnsmasq-dhcp[5952]: DHCPOFFER(eth0) 10.0.0.4 40:6c:8f:59:24:8e
Apr 16 03:54:26 dnsmasq-dhcp[5952]: DHCPDISCOVER(eth0) 40:6c:8f:59:24:8e
Apr 16 03:54:26 dnsmasq-dhcp[5952]: DHCPOFFER(eth0) 10.0.0.4 40:6c:8f:59:24:8e
Apr 16 03:55:34 dnsmasq-dhcp[5952]: DHCPDISCOVER(eth0) 40:6c:8f:59:24:8e
Apr 16 03:55:34 dnsmasq-dhcp[5952]: DHCPOFFER(eth0) 10.0.0.4 40:6c:8f:59:24:8e
Apr 16 03:55:35 dnsmasq-dhcp[5952]: DHCPREQUEST(eth0) 10.0.0.4 40:6c:8f:59:24:8e
Apr 16 03:55:35 dnsmasq-dhcp[5952]: DHCPACK(eth0) 10.0.0.4 40:6c:8f:59:24:8e Heaths-MBP
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.