【Ubuntu】「isc-dhcp-server」を使って簡単に「DHCPサーバ」を構築する方法!

目次

「DHCP」サーバの構築

「isc-dhcp-server」のインストール

まずは、「isc-dhcp-server」をインストールします。

sudo apt install -y isc-dhcp-server

「インターフェース」の指定

NICが2つあった時などでもちゃんと動作できるように、
事前にDHCPサーバを動作させるインターフェースを指定します。

「isc-dhcp-server」ファイルを開きます。

sudo nano /etc/default/isc-dhcp-server

今回は、「eth0」とします。

INTERFACESv4="eth0"

「dhcpd.conf」の編集

「dhcpd.conf」ファイルを編集して、DHCPリースのレンジや、デフォルトゲートウェイ、DNSを指定します。

sudo nano /etc/dhcp/dhcpd.conf

以下の記述を追加。

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.101 192.168.0.200;
    option routers 192.168.0.254;
    option domain-name-servers 192.168.0.254;
}

ドメイン名とDNSを指定。

# option definitions common to all supported networks...
option domain-name "raspberrypi.local";
option domain-name-servers 192.168.0.254;

以下のコメントを外す。

authoritative;

変更が完了したら、ファイルを保存します。

サービス再起動

変更を加えたので、サービスを再起動します。

sudo systemctl restart isc-dhcp-server

ステータスの確認

一度、現在のステータスをチェックします。「active」になっていればOKです。

sudo systemctl status isc-dhcp-server

サービスの常時有効化

ラズパイが再起動しても、自動でサービスが起動するように「enable」しておきます。

sudo systemctl enable isc-dhcp-server

ログ出力先の変更

ログの出力先を変更。

sudo nano /etc/rsyslog.conf
# 末尾に追記

#dhcp_log
:syslogtag, contains, "dhcpd" /var/log/dhcpd.log
& stop

「DNSサーバ」の構築

「dnsmasq」をインストール

「dnsmasq」をインストールします。

apt -y install dnsmasq

「dnsmasq.conf」ファイルを編集

「dnsmasq.conf」ファイルを編集します。
以下のコマンドでファイルを開きます。

sudo nano /etc/dnsmasq.conf

開いたら、以下の内容を修正します。

# 19行目:コメント解除 (ドメイン名の無いクエリは上位サーバーに問い合わせない)
domain-needed

# 21行目:コメント解除 (プライベート IP の逆引き要求は上位サーバーに問い合わせない)
bogus-priv

# 53行目:コメント解除 ([resolv.conf] に記述のサーバーに上から順に問い合わせる)
strict-order


# 135行目:コメント解除 (ホスト名に自動的にドメイン名を付加する)
expand-hosts

# 145行目:追記 (ドメイン名を定義)
domain=raspberrypi.local

「systemd-resolved」との競合を回避

「systemd-resolved」との競合を回避するために、以下のコマンドを実行します。

sudo ln -fs /run/systemd/resolve/resolv.conf /etc/resolv.conf

サービス再起動

設定の反映をさせるために、「dnsmasq」と「systemd-resolved」のサービスを再起動します。

sudo systemctl restart dnsmasq systemd-resolved

「hosts」ファイルの編集

「hosts」ファイルを編集して、ホスト名のエントリを追加します。

以下のコマンドで「hosts」ファイルを開き、

sudo nano /etc/hosts

OS自身のIPアドレスと、ホスト名を追加します。

# 設定するエントリを追記
192.168.0.254 raspberrypi.local raspberrypi 

サービス再起動

今度は「dnsmasq」のみサービスを再起動します。

sudo systemctl restart dnsmasq

DNSを変更

DNSサーバを立てたので、稼働させているOS自体のDNS参照先を変更します。

sudo nano /etc/netplan/99-manual_config.yaml

# 名前解決の参照先を自身に変更
nameservers:
  addresses: [192.168.0.254]

サービスの常時有効化

最後に、「dnsmasq」サービスを常時有効化させます。

sudo systemctl enable dnsmasq

以上で、DHCPサーバの構築は完了です!
NICにLANケーブルを接続して、PCにIPアドレスが割り当てられるかチェックしてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次