web-dev-qa-db-ja.com

D-Link DGS-1210DHCPリレーオプション82

DGS-1210-10スイッチのDHCPリレー(オプション82)に問題があります。構成は次のとおりです。

  • ポート1〜8はタグなしVLAN 80(これはPVIDでもあります)ポート9および10はタグ付きVLAN 80および99(99は管理VLAN)

  • スイッチの静的IPはVLAN 99(管理))です。

  • クライアントはポート1〜8で接続されます。

ポートを識別するために、スイッチでDHCPメッセージにDHCPリレーエージェント情報オプション(オプション82)を挿入したいと思います。

他のスイッチでこれを実行しましたが、D-LinkDGS-1210で動作させることができません

これは私が試したものです:

  1. DHCPリレー->DHCPリレーグローバル設定()で有効なDHCPリレー状態何もありません)。 DHCPリレーエージェント情報が挿入されておらず、スイッチが何もしていないようです。

  2. DHCPローカルリレーステータスと構成を有効にするVLAN by VID 80. DHCPリレーエージェント情報は挿入されますが、DHCPサーバーからの応答はスイッチによってドロップされます。クライアントは応答を見ることができず、検出を送信し続けますメッセージ。

  3. DHCPリレーインターフェイス設定でDHCPサーバーを設定できますが、DHCPメッセージが別のインターフェイスに届きます。両方のインターフェイスをリッスンするようにDHCPサーバーを構成できますが、警告が表示されますMultiple interfaces match the same shared network: eth0 eth1。 eth1は間違ったインターフェースです。 eth0をリッスンするためにDHCPサーバーが必要です。

私の質問は次のとおりです。DHCPメッセージにDHCPリレーエージェント情報(オプション82)を挿入するようにDGS-1210を構成する方法はありますか?私は選択肢がありません。私はおそらく別のスイッチを取得する必要があります。

DHCPサブネット内のIPをスイッチに与えることはオプションではありません。

編集:私はいくつかのことを指摘したいと思います。

1)DHCPが機能するためにDHCPリレーエージェントは必要ないことに同意します。結局のところ、私のDHCPサーバーはクライアントと同じサブネット(ブロードキャストドメイン)にあります。

2)DHCPエージェントをレイヤー2スイッチで実行できないことに同意しますが、必要ではないことに同意します。しかし、それは可能です、そして私のDGS-1210はそれをします。 tcpdumpのようなパケットスニファでDHCPリレーエージェント情報を確認できます。


編集:

このシナリオを検討してください。

クライアントが接続されているポートに基づいて、DHCPサーバーにクライアントにIPアドレスを割り当てたいのですが。クライアントがポート1にある場合、IPを192.168.0.1にしたい場合、ポート2に接続されているクライアントは192.168.0.2を取得する必要があります。次に、スイッチからの情報が必要です。これはSNMPで実行できますが、おそらく時間がかかります。では、DHCPDISCOVERメッセージにポートが含まれている場合はどうなるでしょうか。はい、そこでオプション82が登場します。回路IDにはポートを含めることができます。そして、それはスイッチが行うことです。スイッチはDHCPメッセージにオプション82を挿入し、メッセージをDHCPサーバーに転送します。

3
Jeff Merlin

私自身の質問に答えます。すべてを試した後、これを機能させる唯一の方法は、スイッチに管理VLANでDHCPメッセージを転送させることだと思います。それが私の最初の質問のオプション3です。

DHCPリレーインターフェイス設定でDHCPサーバーを設定できますが、DHCPメッセージが別のインターフェイスに届きます。両方のインターフェイスをリッスンするようにDHCPサーバーを構成できますが、複数のインターフェイスが同じ共有ネットワークeth0eth1に一致するという警告が表示されます。 eth1は間違ったインターフェースです。 eth0をリッスンするためにDHCPサーバーが必要です。

エージェント回線IDとエージェントリモートIDの挿入は、これがレイヤ2スイッチであるにもかかわらず、まったく問題なく期待どおりに実行されます。いくつかのレイヤ3機能がどこかに隠されている可能性があります。 :-)

警告Multiple interfaces match the same shared networkを除いて、DHCPサーバーは問題ありません。はい、DHCPサーバーは正しいです。同じ共有ネットワーク上に複数のインターフェースがありますが、その方法は...

これに対する解決策は、2つのインターフェースをブリッジすることですが、それが機能する限り、私は問題ありません。

注:この質問は、DHCPリレーエージェントの使用方法(または使用しない方法)ではなく、D-LinkDGS-1210シリーズスイッチに関するものでした。 DGS-1210は、DHCPリレーエージェントとして機能できます。これは、Webインターフェイスから構成できます。マニュアルにも記載されています。

2
Jeff Merlin

あなたのコメントに基づいて、DHCPリレーエージェントとDHCPオプション82を誤解していると思います。これについては以下で説明します。

レイヤー2(MAC)アドレスとレイヤー3(IP)アドレスの違い、およびそれらの使用方法を理解する必要があります。

レイヤ2アドレスはLAN上で使用され、LAN上の1つのホストからLAN上の別のホストに直接フレームを配信します。レイヤ2フレームには、送信元と宛先のレイヤ2(MAC)アドレスがあります。同じLAN上のホストに送信するホストは、宛先ホストのレイヤー2(MAC)アドレスを宛先レイヤー2(MAC)アドレスとして使用し、レイヤー2プロトコル(イーサネット)はフレームをに直接配信します。宛先ホスト。あるLANから別のLANにframesを送信するホストは、構成されたゲートウェイ(ルーター)のレイヤー2(MAC)アドレスを宛先レイヤー2(MAC)アドレスとして使用します。送信側ホストは、イーサネットがこれをどのように行うか(直接接続、スイッチ、ハブ、またはその他のものを介して)について何も知りません。 framesをインターフェースから送信することだけを知っています。これは、ホストがLAN上のスイッチまたはスイッチポートを認識していないことを意味します。

レイヤー2(MAC)には特別なブロードキャストアドレス(ff-ff-ff-ff-ff-ff)があります。これは、そのアドレスを持つframesがLAN上のすべてのホストに配信されることを意味します。 DHCP要求は、そのブロードキャストアドレスを宛先レイヤー2(MAC)アドレスとして使用するため、DHCPサーバーを含むLAN上のすべてのホストがそれを受信します。レイヤー2 フレーム発信元のLANにのみ存在するため(以下で説明)、LAN上から別のLANに送信できないため、DHCP要求を含むブロードキャストに問題が発生します。これが、DHCPリレーエージェントとDHCPオプション82が作成された理由です。

レイヤー3アドレスは、あるLANから別のLANにpacketsを配信するために使用され、レイヤー3(IP)の送信元アドレスと宛先アドレスがあります。ルーターがレイヤー2を受信すると、レイヤー2 frameとレイヤー2(MAC)アドレスを受け取り、レイヤー2を含むレイヤー2 frameを削除して破棄します。 (MAC)アドレス、レイヤー3 packetを公開します。ルーターは、レイヤー3(IP)の宛先アドレスを調べ、ルーティングテーブル内の宛先ネットワークと比較します。レイヤ3(IP)アドレスがルーティングテーブル内のネットワークの1つと一致することがわかった場合、次のインターフェイスにpacketを送信し、新しいレイヤ2を構築します- frame新しいインターフェイスのプロトコル用。MACアドレスを使用する場合と使用しない場合がありますが、新しいレイヤー2のレイヤー2アドレスframeは新しいインターフェイス用になります。インターフェース;前のすべてのレイヤー-2 frame情報は破棄されました。

ホストがDHCP要求を送信すると、frameのレイヤー2(MAC)ブロードキャストアドレスとレイヤー3(IP)ブロードキャストアドレス(255.255.255.255、ルーティングは許可されていません)packet。 DHCPサーバーが要求元のホストと同じLAN上にある場合、DHCPサーバーが要求を取得するため、これは適切に機能します。その後、DHCPサーバーはDHCPオファーを要求元のホストに送り返します。 DHCPサーバーの構成方法に応じて、DHCPサーバーはレイヤー2DHCP要求から学習したため、レイヤー2(MAC)ブロードキャストアドレスまたはレイヤー2(MAC)ホストアドレスに送信できますframe。これは、DHCPサーバーと要求元のホストが同じLAN上にある場合にもうまく機能します。特別なDHCPオプションは必要ありません。

この問題は、DHCPサーバーと要求元のホストが異なるLAN上にある場合に発生します。 DHCPは相互にブロードキャストできないために壊れており、要求しているホストのレイヤー2(MAC)アドレスはDHCPサーバーのLAN上では適切ではありません。実際、要求しているホストのレイヤー2(MAC)アドレスは、最初のルーターで削除されます。

この問題を解決するために、DHCPリレーエージェントが作成されました。 DHCPリレーエージェントは、ルーターのLANインターフェイスで構成されます。 DHCP要求は、レイヤー2(MAC)ブロードキャストアドレスに送信されるため、ルーターはDHCP要求を受信します。 DHCPリレーエージェントは、1つ以上のDHCPサーバーのレイヤー3(IP)アドレスで構成されます。これは、DHCPサーバーが他のLAN上にあるためです。 DHCPリレーエージェントは、ブロードキャストDHCP要求を受け取り、それをレイヤー3 packetにパッケージ化し、DHCPサーバーが存在するLANに送信します。

次の問題は、DHCPサーバーがDHCPオファーを送り返す必要がある場合に発生します。通常は、DHCPサーバーのLAN上のDHCP要求frameで見られるレイヤー2(MAC)ブロードキャストアドレスまたはレイヤー2(MAC)送信元アドレスに送信しますが、それはどこにもありません要求しているホストはです。要求元のホストが別のLAN上にあるため、これは機能しません。これがDHCPオプション82の出番です。

DHCPオプション82を使用すると、DHCPリレーエージェントは、DHCPサーバーが通常のようにLAN上で配信しようとするのではなく、DHCPサーバーにDHCPオファーを送り返すように指示できます。それはあなたがあなたのコメントで参照する回路です。

ご覧のとおり、DHCPは、DHCPサーバーと要求元のホストの両方が同じLAN上にある場合に適切に機能し、その場合、DHCPはDHCPリレーエージェントまたはDHCPオプション82を必要としません。 DHCPリレーエージェントとDHCPオプション82は、要求元のホストが存在するLANとは異なるLAN上でDHCPサーバーを一元化する方法としてDHCPに後で追加されました。 DHCPサーバーと要求元ホストの両方が同じLAN上にあるときにDHCPリレーエージェントとDHCPオプション82を使用することは無意味であり、実際にはDHCPプロセスに不必要な複雑さを追加しますが、DHCPサーバーと要求しているホストは異なるLAN上にあります。


編集:

このシナリオを検討してください。

クライアントが接続されているポートに基づいて、DHCPサーバーにクライアントにIPアドレスを割り当てたいのですが。クライアントがポート1にある場合、IPを192.168.0.1にしたい場合、ポート2に接続されているクライアントは192.168.0.2を取得する必要があります。次に、スイッチからの情報が必要です。これはSNMPで実行できますが、おそらく時間がかかります。では、DHCPDISCOVERメッセージにポートが含まれている場合はどうなるでしょうか。はい、そこでオプション82が登場します。回路IDにはポートを含めることができます。そして、それはスイッチが行うことです。スイッチはDHCPメッセージにオプション82を挿入し、メッセージをDHCPサーバーに転送します。

コメントで説明したように、スイッチは透過的なデバイスであり、DHCPサーバーとスイッチに接続されているホストの両方がスイッチまたはスイッチポートを認識していません。これはDHCPサーバーの動作方法ではなく、DHCPは希望どおりに割り当てられません。また、DHCPリース期間中にホストをあるスイッチポートから別のスイッチポートに移動した場合でも、ホストはベースであるため、同じIPアドレスを取得します。そのMACアドレスに。

DHCPは、MACアドレスに割り当てるIPアドレスを選択するためのプールとしてスコープを使用します。 DHCPサーバーとホストは、スイッチが使用されているかどうかさえ認識しないため、希望する方法を使用してDHCPにアドレスを割り当てることはできません。

どのIPアドレスがどのスイッチポートに割り当てられているかが気になる場合は、DHCP MAC/IPアドレスの割り当て(どのIPアドレスがどのMACアドレスに割り当てられているかを教えてくれます)とスイッチのMACアドレステーブル(教えて)を比較することで、その情報を見つけることができます。 MACアドレスが接続されているスイッチポート)。

0
Ron Maupin