|
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
|