(NW)DHCPリレー設定する

投稿者: | 2020年8月20日
皆さんこんにちは。
今回は前回の構成にDHCPリレーの設定を追加してみようと思います。
スイッチがDHCPの通信を拾って、別NWにあるDHCPサーバにリクエストを転送してくれる機能のようです。

やることとしては、

1, DSW1とDSW2にDHCPリレーの設定を入れる
2, SRV1 にDHCPサーバの設定を入れる
    – OSはCentOS7を利用します
3, PC1 のIP設定をDHCPで取得するように設定
    – うまくいけばIPアドレスが設定されるはず
4, もろもろ確認

スイッチを設定する

###
### DSW1
###

### DHCPリレーの設定
DSW1>ena
DSW1#conf t
DSW1(config)#int vlan 10
### DHCPのリレー先のIPアドレスを設定する
DSW1(config-if)#ip helper-address 192.168.30.100
DSW1(config-if)#exit

DSW1(config)#int vlan 20
DSW1(config-if)#ip helper-address 192.168.30.100
DSW1(config-if)#end

DSW1#write memory 
###
### DSW2
###

### DHCPリレーの設定
DSW2>ena
DSW2#conf t
DSW2(config)#int vlan 10
### DHCPのリレー先のIPアドレスを設定する
DSW2(config-if)#ip helper-address 192.168.30.100
DSW2(config-if)#exit

DSW2(config)#int vlan 20
DSW2(config-if)#ip helper-address 192.168.30.100
DSW2(config-if)#end

DSW2#write memory

DHCPサーバを設定する

### DHCPサーバをインストール
# yum -y instll dhcp

### 設定
### DHCPサーバ自身のNICが所属するNWもsubnetに設定しないとサービスが起動しない
# cat /etc/dhcp/dhcpd.conf
===============================================================================
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.10.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        option routers 192.168.10.254;
        range 192.168.10.100 192.168.10.200;
}
subnet 192.168.20.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        option routers 192.168.20.254;
        range 192.168.20.100 192.168.20.200;
}
subnet 192.168.30.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        option routers 192.168.30.254;
        range 192.168.30.100 192.168.30.200;
}
===============================================================================

# systemctl restart dhcpd
# systemctl enable dhcpd

もろもろ確認

それでは、PC1をDHCPでIPを取得するようにして動作確認を行います。
PC1をアクセスポートVLAN10に接続すると、以下のとおりちゃんと対応するNWのIPアドレスが振られました。
PC1でDHCPのパケットを確認したいとおもいます。
DHCPのシーケンスは、

1, DHCP DISCOVER
2, DHCP OFFER
3, DHCP REQUEST
4, DHCP ACK

となるようです。では確認します。 DHCP ACKが1つ多いですが、多分DSW1,DSW2にそれぞれDHCPリレーの設定を入れてる影響だと思います。詳細は未確認ですが一旦放置。
それぞれのデータの中身を覗いてみます。

DHCP DISCOVER
UDPの通信で、送信元68ポート、宛先67ポートになっています
DHCP OFFER
「Your (client) IP address」に、クライアント側に割り振るIPがあります。また、Relay agent IP addressに、DSW1のIPアドレスが確認できます。
「Options」には、DHCPサーバに設定したリース期限やデフォルトGWの設定などが渡ってきてます。
DHCP REQUEST
DHCP ACK
以上で今回の検証は終了です。
VLAN20のアクセスポートにPC1を接続してもちゃんとVLAN20のIPが割り当てられました。この辺の検証した設定がちゃんと動くと少しうれしくなりますね。

DHCP周りは他にDHCPスヌーピングやIPv6でのDHCPなどあるのでそのうちまたやってみようかとおもいます。

それではまた。

参考:
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/networking_guide/sec-configuring_a_multihomed_dhcp_server
https://www.infraexpert.com/study/tcpip13.html