複数VLANを持つネットワークで、DHCPサーバが別ネットワークに存在する場合、通常のブロードキャストではアドレス配布が行えません。このとき必要になるのがDHCPリレー機能です。Cisco機器ではip helper-addressコマンドで実装できます。本記事では、その仕組み、設定例、確認方法を解説します。

1. なぜDHCPリレーが必要か

DHCPクライアントは、IPアドレスを取得するためにDHCP Discoverをブロードキャストで送信します。しかし、ルータやL3スイッチはブロードキャストを別ネットワークに転送しません。そのため、DHCPサーバが別のVLANにある場合は、L3デバイスが中継する必要があります。

2. ip helper-addressの仕組み

  • 受信したDHCPブロードキャストを、指定したDHCPサーバ宛のユニキャストに変換して転送
  • DHCP以外にもTFTPやNetBIOSなど特定UDPポートのブロードキャストを中継可能(デフォルトで8種類)

3. 設定例

VLAN 10のクライアントが、192.168.100.10にあるDHCPサーバからアドレスを取得する構成例です。

Switch# configure terminal
! VLAN 10 SVIにDHCPサーバを指定
interface Vlan10
 ip address 192.168.10.1 255.255.255.0
 ip helper-address 192.168.100.10
 no shutdown

! L3ルーティングを有効化
ip routing

4. 複数DHCPサーバの指定

バックアップ用に複数のDHCPサーバを指定できます。

interface Vlan10
 ip helper-address 192.168.100.10
 ip helper-address 192.168.100.20

順番に問い合わせを行い、最初に応答があったサーバからアドレスを取得します。

5. 動作確認

基本確認

Switch# show running-config interface Vlan10
Switch# show ip interface Vlan10

詳細なパケット確認(テスト時)

Switch# debug ip dhcp server packet

クライアントからのDHCP Discoverが、指定サーバ宛のユニキャストに変換されていることを確認します。

6. 運用上の注意

  • ACLやファイアウォールでUDP 67/68がブロックされていないか確認
  • 不要なUDPポート中継はip forward-protocolコマンドで制御可能
  • DHCPサーバが複数VLANに対応していることを事前に確認
  • ループバックインターフェースをhelperアドレスに使わない(直接到達可能なIPを指定)

7. まとめ

DHCPリレーは、複数VLAN環境でのIPアドレス配布を実現する基本機能です。ip helper-addressを正しく設定すれば、物理的に離れたDHCPサーバからでも安定してアドレスを取得できます。運用時はACLやルーティング設定とあわせて動作を確認し、トラブル時にはdebugで詳細を確認しましょう。