RaspberryPi3をDHCPv4サーバーにしてみましたので、その手順を紹介したいと思います。
環境
本体 | RaspberryPi3 |
---|---|
OS | Raspbian stretch lite 9.4 |
DHCP daemon | isc-dhcp-server 4.3 |
配布アドレス | 192.168.0.1~192.168.0.12 |
プレフィックス | 28 |
ゲートウェイ | 192.168.0.14 |
DNS | 192.168.0.12-13 |
前提
静的アドレスは設定済みで、インターネットからパッケージのダウンロードができる状態であることやsudoを使用できることを想定し、ここではそれらには触れません。
構築しよう
デーモンのインストール
早速DHCPの構築に必要なデーモンのインストールをします。
今回使用するのは、isc-dhcp-serverです。
$ sudo apt-get -y install isc-dhcp-server
設定のコメントアウトとアンコメント
インストール直後のコンフィグファイルに例として書き込まれているもので、必要ないものをコメントアウトします。
コンフィグファイルは***/etc/dhcp/dhcpd.conf***です。
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
⇩コメントアウト
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
次に必要な設定をアンコメントします。
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative; // アンコメント
⇩アンコメント
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
配布アドレスの設定
それでは、配布するアドレスの設定をしていきましょう。
設定する際には、行末に必ずセミコロン;をつけるようにしましょう。つけ忘れ注意です。
完成形は以下のようになります。
subnet 192.168.0.0 netmask 255.255.255.240 {
range 192.168.0.1 192.168.0.13;
option routers 192.168.0.14;
option domain-name-servers 192.168.0.12, 192.168.0.13;
option broadcast-address 192.168.0.15;
ignore declines;
}
パラメータ | 説明 |
---|---|
subnet ~ netmask | 配布したいネットワークのネットワークアドレスの定義 |
range | 配布するホストアドレスの範囲 |
option routers | ゲートウェイのアドレス |
option domain-name-servers | DNSサーバのアドレス |
option broadcast-address | ブロードキャストアドレス |
ignore declines | DHCPDECLINEメッセージを無視する |
この他にも、特定のホストのアドレスを固定したり、リース期間を変更したりするパラメータがあるので、いろいろ試してみてください。
インターフェースへ紐付け
/etc/default/isc-dhcp-serverファイルの最終行に配布を行うインターフェース名を書き込みます。
例として、インターフェース名はeth1とします。
INTERFACES = "eth1"
デーモンの起動
$ sudo systemctl start isc-dhcp-server.service
$ sudo systemctl enable isc-dhcp-server.service
確認
実際にアドレスが配布されたかを確認するには、/var/lib/dhcp/dhcpd.leasesの中身を確認しましょう。
$ cat /var/lib/dhcp/dhcpd.leases
lease 192.168.0.1 {
(省略)
}
ホストに割当が成功していれば、配布したアドレス、リース期間の情報、ホスト名などが出力されます。