0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DHCPサーバの構築

DHCPサーバは、クライアントに対して自動的にIPアドレスを割り当てるサービスを提供する。
これにより、クライアントはIPアドレスの手動設定という煩雑な作業から開放される。

DHCPサーバのインストール

ここでは、dhcp-serverによる単純な構成でDHCPサーバを構築する。
dnsmasqとllibvirtdのサービスが起動している場合は事前に停止し、OSを再起動する。
また、構築ネットワーク内に別のDHCPサーバがある場合は、停止しておく。

systemctl disable libvirtd
systemctl disable dnsmasq
reboot
systemctl is-active libvirtd dnsmasq

パッケージのインストール

dnf install -y dhcp-server

DHCPサーバの設定ファイルの作成

DHCPサーバ設定ファイルのdhcp.confを記述する。
今回は、DNSサーバが、n200.jpn.linux.hpe.comで、192.168.0.0/24のネットワーク内の10~50までの範囲で動的IPアドレスを与えるdhcp.confファイルの例

vi /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
option domain-name              "jpn.linux.hpe.com";
option domain-name-servers      n200.jpn.linux.hpe.com;
default-lease-time              600;
max-lease-time                  7200;
log-facility                    local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
 range                          192.168.0.10 192.168.0.50;
 option domain-name-servers     n200.jpn.linux.hpe.com;
 option domain-name             "jpn.linux.hpe.com";
 option routers                 192.168.0.1;
 option broadcast-address       192.168.0.255;
 default-lease-time             600;
 max-lease-time                 7200;
}

DHCPサーバのNICの設定

DHCPサーバにNICが複数搭載されている場合、どのNICからDHCPサービスを提供するかを設定する。

cp -p /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/
vi /etc/systemd/system/dhcpd.service

NICはDHCPサーバのdhcpd.serviceファイルのExecStart行のno-pidの後に記述する。
ここでは、eno1を指定している。

ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eno1

dhcpd.serviceファイルを編集したら、dhcpd.serviceファイルの変更をsystemdに通知する

systemctl daemon-reload

DHCPサービスの起動

systemctl enable --now dhcpd
systemctl is-active dhcpd

セキュリティ設定

# ファイアウォールでDHCPを許可
firewall-cmd --zone=public --add-service=dhcp
firewall-cmd --runtime-to-permanent
# ファイアウォールの許可リストを表示
firewall-cmd --list-services

DHCPサーバの動作確認をする

DHCPクライアント端末(Windows端末など)をネットワークに接続して確認してみる。
windowsであればipconfigコマンドでIPがDHCPサーバのアドレスプールから割り当てられていることを確認する。

IPアドレスの自動固定割り当て(MACアドレスに紐づける)

DHCPは基本的に毎回同じIPアドレスを割り振るわけではなく、
タイミングによって異なるIPアドレスをDHCPクライアントに割り当てようとする。
DHCPクライアントマシンに毎回同じIPアドレスを付与するには、DHCPサーバ側の設定ファイルである
/etc/dhcp/dhcpd.confファイルに、DHCPクライアントのMACアドレスと付与したいIPアドレスの対応付けを記述する。

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
option domain-name              "jpn.linux.hpe.com";
option domain-name-servers      n200.jpn.linux.hpe.com;
default-lease-time              600;
max-lease-time                  7200;
log-facility                    local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
 range                          192.168.0.10 192.168.0.50;
 option domain-name-servers     n200.jpn.linux.hpe.com;
 option domain-name             "jpn.linux.hpe.com";
 option routers                 192.168.0.1;
 option broadcast-address       192.168.0.255;
 default-lease-time             600;
 max-lease-time                 7200;
}
# 以下の記述を追加(対象のMACアドレスに192.168.0.15を割り当てる設定)
host n015{
 hardware ethernet              E0:51:D8:15:3A:00;
 fixed-address                  192.168.0.15;
}

記述後、DHCPサービスを再起動する

systemctl restart dhcpd

対象の機器を接続して想定したIPアドレスが割り当てられているか確認する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?