Contents
概要
DHCPサーバーを構築します。
前提条件
OS
CentOS Stream 8を使用します。
SELinux
有効です。無効にする場合はこちらを参照して下さい。
Firewalld
無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。
標準ポート番号
UDP:67 (DHCPS), UDP:68 (DHCPC)
DHCPSがサーバー側のポートとなります。DHCPCはDHCPクライアントの送信元ポート番号です。
所感
DHCPリレー時のDHCPサーバーの設定は少々悩みました。DHCPリレーで検索するとルーターの設定ばかりがヒットしてDHCPサーバー自身の設定例を見つけるのに苦労しましたが、実際はとてもシンプルな内容でした。
設定
インストール
DHCPサーバーをインストールします。
[root@centos ~]# dnf install dhcp-server
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd.confを編集します。初期値はコメント行だけ存在しています。
同一ネットワーク上にDHCPサーバーを配置
最低限、インターネットにアクセスするために必要なDHCPサーバーの設定は下記の通りです。他にもいくつかの指定可能な設定値がありますが本稿では省略します。
subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.100 10.0.0.199; option routers 10.0.0.1; option domain-name-servers 10.0.0.1; }
- subnet
- DHCPサーバーが稼働するネットワークの指定です。
- range
- DHCPサーバーがクライアントに割り振るIPアドレスの範囲です。
- option routers
- デフォルトゲートウェイの指定です。
- option domain-name-servers
- DNSサーバーの指定です。
異なるネットワーク上にDHCPサーバーを配置
DHCPサーバーは172.16.0.0/24のネットワークのみに存在しますが、10.0.0.0/24のネットワークにDHCPサービスを提供したいケースです(つまり10.0.0.0/24のネットワークとはルーティングが必要)。
この場合、途中経路のルーターやL3SWなどでDHCPリレーを有効にし、172.16.0.0/24のDHCPサーバーのIPアドレスを指定します。DHCPサーバー自身は172.16.0.0/24でDHCP要求を受け付ける為、subnet設定で172.16.0.0/24を有効にします。172.16.0.0/24はDHCPサーバーを稼働させるだけですのでrange等の設定は不要です。10.0.0.0/24は前述と同様に設定するだけです。
subnet 172.16.0.0 netmask 255.255.255.0 { } subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.100 10.0.0.199; option routers 10.0.0.1; option domain-name-servers 10.0.0.1; }
サービス起動設定
DHCPサーバーを起動します。
[root@centos ~]# systemctl enable --now dhcpd.service [root@centos ~]# systemctl status dhcpd.service