DHCP Relay Agent



 DHCPによるアドレッシングの問題

 今日の企業内LANといえば一般的に複数のVLANから構成され、マルチレイヤスイッチ等のL3機器により
 VLAN間ルーティングが行われています。L3機器ではデフォルトで全てのブロードキャストを転送しないため
 DHCPによりIPアドレッシングを行っている場合、サブネットごとにDHCPサーバを導入する必要があります。

 下図の通り、DHCPクライアントのいるセグメントと異なるセグメントにDHCPサーバが設置されている場合、
 DHCPクライアントからのDHCP DiscoverメッセージがDHCPサーバに到達できないため、DHCPサーバに
 よるIPアドレッシングが行うことはできません。しかし、セグメントごとにDHCPサーバを導入するという事は
 費用、運用の観点から先ずありえません。この問題はDHCPリレーエージェントの機能により解決できます。



   




 DHCPリレーエージェント

 L3機器でDHCPリレーエージェント機能を有効にする事で、DHCPブロードキャストが転送されるようになります。
 Ciscoでは [ ip helper-address ] コマンドによりDHCPリレーエージェント機能が有効になります。このコマンドは
 DHCPクライアントが存在する全セグメントのVLANインターフェースにて、DHCPサーバのIPアドレスを指定します。




  



 
Catalyst(config)# interface vlan 10
 Catalyst(config-if)# ip address 10.1.1.1 255.255.255.0
 Catalyst(config-if)# no ip directed-broadcast
 Catalyst(config-if)# ip hellper-address 20.1.1.100

 Catalyst(config)# interface vlan 20
 Catalyst(config-if)# ip address 20.1.1.1 255.255.255.0
 Catalyst(config-if)# no ip directed-broadcast

 ※ DHCPサーバが複数ある場合、ip helper-addressコマンドを複数入力します。ip helper-addressコマンドを使用する時は、UDPの
    ブロードキャストパケット通過するアウトバウンドのI/Fで [ no ip directed-broadcast ] が設定されいてる必要があります。ただし
    この設定はIOS12.0以降のデフォルト設定 ( ディレクテッドブロードキャストから物理(MAC) ブロードキャストの変換を禁止 ) です。



 UDPブロードキャスト転送

 DHCPリレーエージェント機能を有効にする [ ip helper-address ] を設定することで、DHCPのブロードキャスト
 だけではなくデフォルトで以下のUDPブロードキャストも転送されるようになります。UDPブロードキャスト転送を
 制御する[ ip forward protocol udp ]により、以下のデフォルトで転送される特定のUDPブロードキャストの転送
 を行わなかったり、以下のデフォルトにない特定のUDPブロードキャストの転送を行ったりすることができます。

ip helper-addressにより転送されるデフォルトUDPポート
ポート番号 TCP/UDP サービス名 説明
37 UDP time Time
42 UDP nameserver Host Name Server
53 UDP domain Domain Name Server
67 UDP bootps Bootstrap Protocol Server
68 UDP bootpc Bootstrap Protocol Client
69 UDP tftp Trivial File Transfer
137 UDP netbios-ns NETBIOS Name Service
138 UDP netbios-dgm NETBIOS Datagram Service


 ※ 以下の設定では、「20.1.1.100」に対して [ bootpc ] [ bootps ] 以外のUDPブロードキャスト転送を禁止しています。


 
Catalyst(config)# interface vlan 10
 Catalyst(config-if)# ip address 10.1.1.1 255.255.255.0
 Catalyst(config-if)# no ip directed-broadcast
 Catalyst(config-if)# ip hellper-address 20.1.1.100

 Catalyst(config)# no ip forward-protocol udp tftp
 Catalyst(config)# no ip forward-protocol udp nameserver
 Catalyst(config)# no ip forward-protocol udp domain
 Catalyst(config)# no ip forward-protocol udp time
 Catalyst(config)# no ip forward-protocol udp netbios-ns
 Catalyst(config)# no ip forward-protocol udp netbios-dgm




 ※ 以下の設定では、デフォルトで転送されるUDPブロードキャストに、さらに [ mobile-ip ] についても転送される
    ように設定しています。但し、デフォルトで転送される1つの [ netbios-ns ] については転送を禁止としています。


 
Catalyst(config)# interface vlan 10
 Catalyst(config-if)# ip address 10.1.1.1 255.255.255.0
 Catalyst(config-if)# no ip directed-broadcast
 Catalyst(config-if)# ip hellper-address 20.1.1.100

 Catalyst(config)# ip forward-protocol udp mobile-ip

 Catalyst(config)# no ip forward-protocol udp netbios-ns




 Resource : CatalystLANスイッチ教科書 BCMSNテキスト第2版 DHCP by Universd Cat3560 12.2(25)SEE atmarkit CCO DHCP


← DHCPサーバの設定 2   DHCPスヌーピング 

ネットワークエンジニアとして

Copyright(C) 2002-2008 Cool. All Rights Reserved