「Dhcpd」の版間の差分
Archwiki: Keaページへのリンクに変更 |
同期 |
||
| 7行目: | 7行目: | ||
[[zh-hans:Dhcpd]] |
[[zh-hans:Dhcpd]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related| |
{{Related|ネットワーク設定}} |
||
{{Related|ネットワークツール}} |
|||
{{Related articles end}} |
{{Related articles end}} |
||
[https://www.isc.org/dhcp/ dhcpd] は、旧式の ISC DHCP サーバーです。 |
|||
{{Note| |
|||
[https://www.isc.org/dhcp/ dhcpd] は、古い Internet Systems Consortium (ISC) DHCP サーバーです。''dhcpd'' は 2023 年 1 月時点で保守されなくなっていることに注意してください。ISC は、[[Kea]] を正式な後継者として推進します。 |
|||
* ''dhcpd'' は現在メンテナンスされていません。ISC は Kea を公式の代替として推奨しています。 |
|||
* ''dhcpd'' (DHCP サーバーデーモン)は [[dhcpcd]] (DHCP クライアントデーモン) とは異なります。 |
|||
| ⚫ | |||
== インストール == |
== インストール == |
||
[[公式リポジトリ]]の {{pkg|dhcp}} パッケージを[[インストール]]してください。 |
[[公式リポジトリ]]の {{pkg|dhcp}} パッケージを[[インストール]]してください。 |
||
| ⚫ | |||
''dhcpd'' にはユニットファイル {{ic|dhcpd4.service}} が含まれており、これを使ってデーモンを[[有効化|制御]]できます。全ての[[ネットワーク設定#ネットワークインターフェース|ネットワークインターフェイス]]でデーモンが起動します。[[#一つのインターフェイスだけを使う]] も見て下さい。 |
|||
== 設定 == |
== 設定 == |
||
''dhcpd'' がリスニングするインターフェース (ここでは {{ic|eth0}}) に静的な IPv4 アドレスを設定します。他のインターフェースのサブネットと重ならないように注意してください。 |
|||
# ip link set up dev eth0 |
# ip link set up dev eth0 |
||
# ip addr add 139.96.30.100/24 dev eth0 |
# ip addr add 139.96.30.100/24 dev eth0 # 任意のアドレス |
||
{{Tip| |
|||
| ⚫ | |||
| ⚫ | |||
* {{ic|192.168/16}} (サブネット {{ic|192.168.0.0}}, ネットマスク {{ic|255.255.0.0}}) |
|||
| ⚫ | |||
* {{ic|172.16/12}} (サブネット {{ic|172.16.0.0}}, ネットマスク {{ic|255.240.0.0}}) |
|||
| ⚫ | |||
* {{ic|10/8}} (大規模ネットワーク用; サブネット {{ic|10.0.0.0}}, ネットマスク {{ic|255.0.0.0}}) |
|||
[https://www.ietf.org/rfc/rfc1918.txt RFC 1918] も参照。}} |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
特定のサブネット ({{ic|139.96.30.0/24}}) のみをリスニングするように、以下のような最小構成の設定ファイルを作成します。 |
|||
| ⚫ | |||
最小限の設定ファイルは以下のようになります: |
|||
{{hc|/etc/dhcpd.conf| |
{{hc|/etc/dhcpd.conf| |
||
| 52行目: | 48行目: | ||
}} |
}} |
||
この設定ファイルで使用されているオプションは次のとおりです。 |
|||
特定のデバイスで固定 IP アドレスを使う必要がある場合、以下の構文を使います: |
|||
| ⚫ | |||
| ⚫ | |||
option domain-name-servers 8.8.8.8, 8.8.4.4; |
|||
option subnet-mask 255.255.255.0; |
|||
option routers 139.96.30.100; |
|||
subnet 139.96.30.0 netmask 255.255.255.0 { |
|||
range 139.96.30.150 139.96.30.250; |
|||
{{ic|subnet-mask}} および {{ic|routers}} これらは、サブネットマスクとサブネット内で利用可能なルーターのリストを定義します。 |
|||
host macbookpro{ |
|||
また、{{ic|routers}} はクライアントに提供されるデフォルトゲートウェイも指定します。 |
|||
hardware ethernet 70:56:81:22:33:44; |
|||
小規模なネットワークでは、通常 {{ic|255.255.255.0}} をマスクとして使用し、''dhcpd'' を実行しているマシンのIPアドレス(ここでは {{ic|139.96.30.100}}) を指定できます。 |
|||
fixed-address 139.96.30.199; |
|||
} |
|||
| ⚫ | |||
| ⚫ | |||
{{ic|subnet}} ''dhcpd'' がリッスンしているネットワークインターフェースに適用される、個別のサブネットのオプションを定義します。 |
|||
| ⚫ | |||
ここでは、単一のサブネット {{ic|139.96.30.0/24}} (インターフェース {{ic|eth0}}) の利用可能な IP アドレスの範囲を定義しています。 |
|||
詳細なオプションについては、{{man|5|dhcpd.conf}} を参照してください。 |
|||
{{ic|subnet-mask}} と {{ic|routers}} はサブネットマスクとサブネット上の利用可能なルーターのリストを定義します。小規模なネットワークであれば大抵は {{ic|255.255.255.0}} をマスクとして、ルーターとして DHCP サーバーを設定しているマシンの IP アドレスを指定します。 |
|||
{{Note|''dhcpd'' は、設定ファイルで定義されたサブネットを持つインターフェースのみをリスニングします。{{man|8|dhcpd}} の説明とは異なる動作をする点に注意してください。}} |
|||
{{ic|subnet}} ブロックには各サブネットのオプションを定義します。''dhcpd'' が動作するネットワークインターフェイスにマッピングされます。上記の場合、サブネット {{ic|139.96.30.0/24}} でインターフェイス {{ic|eth0}} を使用して、利用可能な IP アドレスの範囲を定義しています。この範囲のアドレスが接続してきたクライアントに割り当てられます。 |
|||
| ⚫ | |||
設定後、[[Systemd#ユニット使う|systemctl]] を使って {{ic|dhcpd4.service}} を起動することで ''dhcpd'' デーモンを起動できます。任意で、ブート時に自動的に起動するように有効化してください。 |
|||
| ⚫ | |||
=== 一つのインターフェイスだけを使う === |
|||
既にコンピュータがネットワークの一部となっている場合、他のネットワークからマシンに ip アドレスを付与すると問題になる可能性があります。dhcpd を設定したり [[Systemd#ユニットを使う|systemctl]] を使ってデーモンとして dhcpd を起動することで使用するインターフェイスを一つに絞ることができます。 |
|||
| ⚫ | |||
==== dhcpd の設定 ==== |
|||
| ⚫ | |||
インターフェイスを除外するには、除外したいインターフェイスでサブネットの空の宣言を作成する必要があります。 |
|||
| ⚫ | |||
設定ファイルを編集することで作成できます (例): |
|||
{{hc|/etc/dhcpd.conf|<nowiki> |
|||
# No DHCP service in DMZ network (192.168.2.0/24) |
|||
subnet 192.168.2.0 netmask 255.255.255.0 { |
|||
} |
|||
</nowiki>}} |
|||
==== サービスファイル ==== |
|||
''dhcpd'' によって提供されるデフォルトのサービスファイルはインターフェイスを指定しません。次のように、{{ic|dhcpd4.service}} に [[ドロップインファイル]] を使用します。 |
|||
{{hc|/etc/systemd/system/dhcpd4.service.d/override.conf|2= |
|||
[Service] |
|||
ExecStart= |
|||
ExecStart=/usr/bin/dhcpd -4 -q -cf /etc/dhcpd.conf -pf /run/dhcpd4/dhcpd.pid %I |
|||
}} |
}} |
||
{{ic|next-server}} は [[TFTP]] サーバーのIPアドレスであり、{{ic|filename}} はブートするイメージを指定します。 |
|||
これにより、{{ic|dhcpd4.service}} をテンプレートユニットとして使用し、''dhcpd'' を特定のインターフェイスにバインドできるようになります。たとえば、{{ic|dhcpd4@''eth0''.service}}、''eth0'' は [https://freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames で最初に列挙されたイーサネットデバイス] です。 |
|||
このセクションは、{{ic|subnet}} 全体に含めることも、特定の {{ic|host}} 定義内に含めることもできます。 |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
{{hc|/etc/dhcpd.conf|<nowiki> |
|||
| ⚫ | |||
| ⚫ | |||
</nowiki>}} |
|||
''dhcpd'' には {{ic|dhcpd4.service}} と {{ic|dhcpd6.service}} の2つのユニットファイルが含まれており、これらを使用してデーモンを[[有効化|制御]]できます。 |
|||
上記のセクションは {{ic|subnet}} 全体の中か {{ic|host}} の定義の中のどちらかに記述できます。{{ic|next-server}} は TFTP サーバーの IP に、{{ic|filename}} は起動するイメージのファイル名に置き換えてください。詳しくは [[PXE]] を参照。 |
|||
これらのサービスは、それぞれ IPv4 および IPv6 用に すべての [[ネットワークインターフェース]] 上でデーモンを起動します。 |
|||
== 参照 == |
== 参照 == |
||
2025年2月26日 (水) 06:48時点における版
dhcpd は、旧式の ISC DHCP サーバーです。
- dhcpd は現在メンテナンスされていません。ISC は Kea を公式の代替として推奨しています。
- dhcpd (DHCP サーバーデーモン)は dhcpcd (DHCP クライアントデーモン) とは異なります。
インストール
公式リポジトリの dhcp パッケージをインストールしてください。
設定
dhcpd がリスニングするインターフェース (ここでは eth0) に静的な IPv4 アドレスを設定します。他のインターフェースのサブネットと重ならないように注意してください。
# ip link set up dev eth0 # ip addr add 139.96.30.100/24 dev eth0 # 任意のアドレス
- 起動時に静的IPアドレスを割り当てるには、ネットワーク設定#固定 IP アドレスを参照してください。
- RFC 1918 サブネットはプライベートネットワーク用に予約されており、インターネット上のホストとは競合しません。
デフォルトの設定ファイル dhcpd.conf には多くのサンプルが含まれているため、元のファイルを移動しておきます。
# cp /etc/dhcpd.conf /etc/dhcpd.conf.example
特定のサブネット (139.96.30.0/24) のみをリスニングするように、以下のような最小構成の設定ファイルを作成します。
/etc/dhcpd.conf
option domain-name-servers 8.8.8.8, 8.8.4.4;
option subnet-mask 255.255.255.0;
option routers 139.96.30.100;
subnet 139.96.30.0 netmask 255.255.255.0 {
range 139.96.30.150 139.96.30.250;
}
この設定ファイルで使用されているオプションは次のとおりです。
domain-name-servers クライアントに提供される DNS サーバーのアドレスを指定します。ここでは Google のパブリックDNSサーバーを使用しています。ローカルマシンに独自の DNS サーバーを設定している場合は、そのアドレスを指定してください (ここでは 139.96.30.0/24)
subnet-mask および routers これらは、サブネットマスクとサブネット内で利用可能なルーターのリストを定義します。
また、routers はクライアントに提供されるデフォルトゲートウェイも指定します。
小規模なネットワークでは、通常 255.255.255.0 をマスクとして使用し、dhcpd を実行しているマシンのIPアドレス(ここでは 139.96.30.100) を指定できます。
subnet dhcpd がリッスンしているネットワークインターフェースに適用される、個別のサブネットのオプションを定義します。
ここでは、単一のサブネット 139.96.30.0/24 (インターフェース eth0) の利用可能な IP アドレスの範囲を定義しています。
詳細なオプションについては、dhcpd.conf(5) を参照してください。
PXE
Preboot Execution Environment (PXE) 設定は、次の2つのオプションで実行されます:
/etc/dhcpd.conf
next-server 192.168.0.2; filename "/pxelinux.0";
next-server は TFTP サーバーのIPアドレスであり、filename はブートするイメージを指定します。
このセクションは、subnet 全体に含めることも、特定の host 定義内に含めることもできます。
使用方法
dhcpd には dhcpd4.service と dhcpd6.service の2つのユニットファイルが含まれており、これらを使用してデーモンを制御できます。
これらのサービスは、それぞれ IPv4 および IPv6 用に すべての ネットワークインターフェース 上でデーモンを起動します。