DHCPリレヌずOption82を䜿甚する実甚的な偎面

この蚘事では、 DHCPリレヌ+ option82 を蚱可オプションずしお䜿甚する実際的な偎面を匷調し将来、このバンドルを意味したす 、 Dlink DES-3200-10スむッチずisc-dhcp-serverの構成䟋を提䟛したす 。 ほずんどすべおの蚘事で、dhcp relayは「dhcpサヌバヌをブロヌドキャストドメむンの倖郚に移動できたす」ず解釈されたす。 ただし、䜕らかの理由で、これは同じブロヌドキャストドメむン内のブロヌドキャストリク゚ストを削陀する良い機䌚であるず蚀及しおいないか、ほずんど蚀及しおいない。 そしお最も重芁なこずは、私が泚目しおいるこずは、option82のおかげで、指定されたポピヌのスむッチず指定された番号のポヌトからリク゚ストが来たこずを確認できるこずです。したがっお、この方法でナヌザヌを「承認」できたす。



少し進んで、DHCPリレヌがどのように機胜するかを思い出したす。 ブロヌドキャスト芁求構成されおいるVLANをむンタヌセプトし、L3でラップしお、指定されたDHCPサヌバヌぞのナニキャストに送信したす。 たあ、option82が䜕をするかを思い出すこずは䞍必芁ではありたせん。 DHCPパケットに2぀の远加パラメヌタヌを远加したす。



DHCP-Relay-Circuit-Id-芁求の送信元のポヌト番号。

DHCP-Relay-Remote-Id-デフォルトで芁求の送信元のスむッチのマクロアドレス。




このオプションをパッケヌゞに実装する方法に぀いおも説明したいず思いたすDlink機噚には2぀の方法がありたす。

dhcp_relay-Option82を远加し、䞊蚘のように、それをL3でラップし、指定されたDHCPサヌバヌにナニキャストを送信したす。

dhcp_local_relayDHCPスヌヌピング-Option82のみを远加し、ブロヌドキャストパケットをさらに転送したす。




トピックから少し倖れたす。 実際、dhlink_local_relayコンストラクトはDlinkハヌドりェアでのみ芋぀かりたした。 他のメヌカヌがこのような玠晎らしいオプションを実装しなかったのはなぜだろうか それは結局、実装されおおり、長い間です。 DHCPスヌヌピングず呌ばれたす。



おそらく誰かが質問をするでしょう「なぜブロヌドキャストトラフィックを取り陀くべきなのか」 実際、実際には、たずえば雷雚の結果ずしおスむッチに障害が発生するずルヌプが発生し、ブロヌドキャストストヌムに぀ながるような珟象に頻繁に遭遇したした。 もちろん、ご想像のずおり、IPv4で1぀のブロヌドキャストトラフィックを取り陀くこずはできたせん。これはARPトラフィックです。 圌は、MAC-IPテヌブルの䜜成を担圓しおいたす。 もちろん、これを無効にしお、手動でテヌブルに蚘入するこずができたす。 しかし、私はこれによっお匕き起こされる䞍䟿が静的ARPテヌブルの魅力をすべお無効にするこずを恐れおいたす。



すべおの蚘事は、DHCPクラむアントずDHCPサヌバヌが異なるサブネット䞊に存圚する可胜性があるこずを瀺しおいたす-これは正しくありたせん。 以䞋に図を瀺したす。



画像



次に、構成の䟋を瀺したす。



DLINK DES-3200

 config vlan default delete 1-10

  デフォルトVLANからすべおのポヌトを削陀
 VLAN VLAN7タグ7を䜜成したす
 
 DHCPサヌバヌが配眮されおいるVLANを䜜成したす
 config vlan VLAN7 add 9-10のタグ付け 
 タグ付きポヌト9および10をそこに远加したすプロバむダヌの方向を芋おください

 VLAN VLAN10タグ10を䜜成したす
 
 サブスクラむバヌがいるVLAN 10を䜜成したす
 config vlan VLAN10 add tags 9
 -10 
 タグ付きポヌト9および10を远加したす 
 config vlan VLAN10 add untagged 1-8 
 そこにタグなしポヌト1-8を远加サブスクラむバヌポヌト

 config ipif System ipaddress 10.90.90.90/8 
 スむッチのIPアドレスを蚭定したす                                     

 config ipif System vlan VLAN7
 VLAN7にハングアップしたす

 dhcp_relayを有効にする
 オプションを有効化
 config dhcp_relay option_82ポリシヌの眮き換え
 パッケヌゞ内の情報が既に存圚する堎合は、眮き換えたす
 config dhcp_relay option_82 remote_id default

 デフォルト蚭定を保存するだけポピヌ
 config dhcp_relay option_82 circuit_id default

 デフォルト蚭定ポヌト番号を保存するだけ
 config dhcp_relay add vlanid 10 10.90.90.92
 VLAN10のすべおのトラフィックはむンタヌセプトされ、アドレス10.90.90.92のDHCPサヌバヌに送信されたす
 iprouteのデフォルト10.90.90.92を䜜成したす
 デフォルトルヌトを䜜成したす。この䟋では、䜕が必芁かはわかりたせんが、颚氎


config isc-dhcp-serverisc-dhcpd-4.2.4on

Linux big-A75F-M2 3.13.0-24-generic47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

$ sudo apt-get install vlan-tools isc-dhcp-server

$ sudo vconfig add eth0 7

$ sudo ifconfig eth0.7 10.90.90.92/8

VLAN7を䜜成し、DHCPサヌバヌを持぀アドレス10.90.90.92/8を割り圓おたす


ロヌカルアドレス10.90.90.92;

 理論的には、これは盗聎甚の゜ケットの䜜成堎所を瀺す必芁がありたすが、実際にはこのオプションは初歩的なものであるこずに気付きたした。私はそれを倉曎しようずしお䜕も倉わっおいないこずをコメントしたしたが、Feng Shuiによるず:) 䞀般に、サヌバヌはすべおの指瀺を「吐き出し」、サブネットセクションで説明されおいるサブネットに分類されるIPむンタヌフェヌスで自動的にハングアップしたす。

存圚する堎合agent.circuit-id
 {
  loginfo、concat "Lease for"、binary-to-ascii10、8、 "。"、leased-address、。

  「rawオプション82情報はCID」、バむナリからASCII10、8、「。」、オプションagent.circuit-id、「AID」、

  binary-to-ascii16、8、 "。"、オプションagent.remote-id;
 }
 これは、オプション82が怜出された堎合、ログファむルに゚ントリを出力するだけです

サブネット10.0.0.0ネットマスク255.0.0.0 {
    プヌル{
        範囲10.0.0.155;
     }
 }
 サブネットずプヌルを蚭定する 


もちろん、これはスタンドアロンの蚭定にすぎたせんが、私たちにずっお最も重芁なこずは、その仕組みを理解するこずです。 それでも、私はoption82ずdhcp_local_relaydhcpスヌヌピングコンストラクトを備えた課金システムがあり、サヌバヌずしおpostgresデヌタベヌスから遞択されたperlのIPアドレスでfreeradius2を䜿甚しおいるず蚀えたす。 しかし、これはすでにこの蚘事の範囲倖です。



サヌバヌのあるマシンで、次を実行したす。

$ sudo tcpdump -i eth0.7 -e -n -t


そしお、次のようなものを芋た堎合

c0a0bb48e5b0> 001517dbe3e0 、ethertype IPv40x0800、長さ345 10.90.90.90.68> 10.90.90.92.67 BOOTP / DHCP、リク゚スト485b394378からe5、長さ303



぀たり、ブロヌドキャストはありたせん。぀たり、すべおが順調に進んでおり、DHCPサヌバヌを起動するずきです。

初めお、次の行を入力しお開始するこずをお勧めしたす。

$ sudo dhcpd


その埌、゚ラヌがある堎合はすぐにすべお衚瀺され、フォヌムの蚘録が必芁です。

LPF / eth0.7 / 00でのリッスン1517dbe3e0 / 10.0.0.0 / 8

LPF / eth0.7 / 00で送信1517dbe3e0 / 10.0.0.0 / 8



念のため、数秒埌に確認できたす。

$ pgrep dhcpd


プロセスのUIDを返す必芁がありたす。䜕も出力されない堎合は、構成を確認しおください。



なぜこのようなチェックが必芁なのですか サヌバヌが起動し、数秒間メモリにハングアップしおクラッシュした堎合を芚えおいたす。 そしお、私は無駄にIPアドレスを取埗しようずしたした。



すべおがうたくいった堎合、ログに次のようなものがありたす。

12月2日20:36:17 big-A75F-M2 dhcpd485b394378から10.0.0.155のDHCPREQUEST 10.90.90.90経由でe5big-1001PX



12月2日20:36:17 big-A75F-M2 dhcpd10.0.0.155から485bのDHCPACK39437810.90.90.90経由のe5big-1001PX



12月2日20:38:06 big-A75F-M2 dhcpd10.0.0.155のrawオプション82情報のリヌスはCID0.4.0.10.0.3 AID 0.6.c0.a0.bb.48.e5.b0




今、非垞に重芁なこずは、どこにも曞かれおいたせんが、実隓的に到達したした。 スむッチのIPアドレスは、加入者に発行されたアドレスず同じサブネット䞊になければなりたせん 。 他の組み合わせでは、Dlink DES-3200バンドルブヌトPROMバヌゞョンビルド4.00.002ファヌムりェアバヌゞョンビルド4.04.004ハヌドりェアバヌゞョンC1​​ずisc-dhcp-server 4.2.4を動䜜させるこずはできたせんでした。



そしお、ただ倧きなボヌナスはありたせん。ブロヌドキャストで死なないこずです。 Dlink DES-3200 C1の構成



 config safeguard_engine state enable
 config safeguard_engine䜿甚率の䞊昇90例降30状態の有効化
 これはプロセッサの過負荷保護です
 configトラフィック制埡1-8ブロヌドキャストむネヌブルマルチキャストむネヌブルナニキャスト無効アクションドロップしきい倀
 d 64カりントダりン5 time_interval 5
 これにより、顧客が生成した耇数のブロヌドキャストからあなたを救いたす
ルヌプ怜出を有効にする
 config loopdetect ports 1-8 state enable
 config loopdetect recover_timer 1200 interval 10モヌドポヌトベヌス
 そしお、ルヌプが既に圢成されおいる堎合、これはルヌプから保存されたす




この蚘事はクロヌンではなく、他の人の蚘事をあなた自身の蚀葉で曞き盎そうずするものでもありたせん。 以䞋は、同様の出版物ずそれらずの違いのリストです。 私の蚘事では、ネットワヌクからDHCPサヌバヌを取り出そうずするのではなく、承認方法ずしおこの蚭蚈を䜿甚するこずに焊点を圓おたした。



-xgu.ru/wiki/%D0%9E%D0%BF%D1%86%D0%B8%D1%8F_82_DHCP-ここに゚ラヌがあり、それを芋぀けるのに倚くの時間を費やしたした。 䞊蚘に぀いお曞きたしたスむッチのIPアドレスは、サブスクラむバヌに䞎えられたアドレスず同じサブネット䞊にある必芁がありたす。他の組み合わせでは、Dlink DES-3200バンドルを動䜜させるこずはできたせんでしたブヌトPROMバヌゞョンビルド4.00.002ファヌムりェアバヌゞョンビルド4.04.004ハヌドりェアバヌゞョンC1​​およびisc-dhcp-server 4.2.4。 ;

habrahabr.ru/post/143846-ここでdhcpはネットワヌク倖に移動されたす。

www.dlink.ru/ru/faq/62/228.html-ここでもdhcpはネットワヌク倖に移動されたす。



All Articles