「Dhcpd」の版間の差分
(同期) |
(同期) |
||
(2人の利用者による、間の6版が非表示) | |||
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| |
||
− | dhcpd は [http://www.isc.org/downloads/dhcp/ Internet Systems Consortium] による DHCP サーバーです。LAN 上でルーターとして動作するマシンなどで有用です。 |
||
+ | * ''dhcpd'' は既に保守されていません。 [https://www.isc.org/ Internet Systems Consortium] (ISC) は、[[Kea]] を [https://www.isc.org/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| |
||
− | {{Tip|通常、プライベートネットワークでは、特別に予約されている以下の3つのサブネットのどれかを使用します。インターネット上のホストと衝突することはありません: |
||
+ | * 起動時に静的IPアドレスを割り当てるには、[[ネットワーク設定#固定 IP アドレス]]を参照してください。 |
||
− | * {{ic|192.168/16}} (サブネット {{ic|192.168.0.0}}, ネットマスク {{ic|255.255.0.0}}) |
||
+ | * [[RFC:1918|RFC 1918]] サブネットはプライベートネットワーク用に予約されており、インターネット上のホストとは競合しません。 |
||
− | * {{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] も参照。}} |
||
− | |||
− | 起動時に固定 ip を割り当てるには、[[ネットワーク設定#固定 IP アドレス]]を参照。 |
||
− | デフォルトの {{ic|dhcpd.conf}} には |
+ | デフォルトの設定ファイル {{ic|dhcpd.conf}} には多くのサンプルが含まれているため、元のファイルを移動しておきます。 |
− | # |
+ | # cp /etc/dhcpd.conf /etc/dhcpd.conf.example |
+ | 特定のサブネット ({{ic|139.96.30.0/24}}) のみをリスニングするように、以下のような最小構成の設定ファイルを作成します。 |
||
− | 最小限の設定ファイルは以下のようになります: |
||
{{hc|/etc/dhcpd.conf| |
{{hc|/etc/dhcpd.conf| |
||
51行目: | 48行目: | ||
}} |
}} |
||
+ | この設定ファイルで使用されているオプションは次のとおりです。 |
||
− | 特定のデバイスで固定 IP アドレスを使う必要がある場合、以下の構文を使います: |
||
+ | {{ic|domain-name-servers}} クライアントに提供される DNS サーバーのアドレスを指定します。ここでは Google のパブリックDNSサーバーを使用しています。ローカルマシンに独自の DNS サーバーを設定している場合は、そのアドレスを指定してください (ここでは {{ic|139.96.30.0/24}}) |
||
− | {{hc|/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; |
||
+ | {{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|domain-name-servers}} オプションにはクライアントに供給する DNS サーバーのアドレスを記入します。上の例では Google のパブリック DNS サーバーを使っています。(ISP などによる) ローカルの DNS サーバーがある場合、それを使ってください。ローカルマシンで DNS を自分で設定している場合、そのアドレスを使ってください (例: {{ic|139.96.30.100}})。 |
||
+ | ここでは、単一のサブネット {{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 アドレスの範囲を定義しています。この範囲のアドレスが接続してきたクライアントに割り当てられます。 |
||
+ | === PXE === |
||
− | 設定後、[[Systemd#ユニット使う|systemctl]] を使って {{ic|dhcpd4.service}} を起動することで ''dhcpd'' デーモンを起動できます。任意で、ブート時に自動的に起動するように有効化してください。 |
||
+ | [[Preboot Execution Environment]] (PXE) 設定は、次の2つのオプションで実行されます: |
||
− | === 一つのインターフェイスだけを使う === |
||
− | 既にコンピュータがネットワークの一部となっている場合、他のネットワークからマシンに ip アドレスを付与すると問題になる可能性があります。dhcpd を設定したり [[Systemd#ユニットを使う|systemctl]] を使ってデーモンとして dhcpd を起動することで使用するインターフェイスを一つに絞ることができます。 |
||
+ | {{hc|/etc/dhcpd.conf| |
||
− | ==== dhcpd の設定 ==== |
||
+ | next-server 192.168.0.2; |
||
− | インターフェイスを除外するには、除外したいインターフェイスでサブネットの空の宣言を作成する必要があります。 |
||
+ | filename "/pxelinux.0"; |
||
+ | }} |
||
+ | {{ic|next-server}} は [[TFTP]] サーバーのIPアドレスであり、{{ic|filename}} はブートするイメージを指定します。 |
||
− | 設定ファイルを編集することで作成できます (例): |
||
− | {{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>}} |
||
+ | このセクションは、{{ic|subnet}} 全体に含めることも、特定の {{ic|host}} 定義内に含めることもできます。 |
||
− | ==== サービスファイル ==== |
||
− | デフォルトではインターフェイスを一つだけ使用する ''dhcpd'' のサービスファイルは存在しないため、作成する必要があります: |
||
+ | == 使用方法 == |
||
− | {{hc|/etc/systemd/system/dhcpd4@.service|<nowiki> |
||
− | [Unit] |
||
− | Description=IPv4 DHCP server on %I |
||
− | Wants=network.target |
||
− | After=network.target |
||
+ | ''dhcpd'' には {{ic|dhcpd4.service}} と {{ic|dhcpd6.service}} の2つのユニットファイルが含まれており、これらを使用してデーモンを[[有効化|制御]]できます。 |
||
− | [Service] |
||
+ | これらのサービスは、それぞれ IPv4 および IPv6 用に すべての [[ネットワークインターフェース]] 上でデーモンを起動します。 |
||
− | Type=forking |
||
− | PIDFile=/run/dhcpd4.pid |
||
− | ExecStart=/usr/bin/dhcpd -4 -q -pf /run/dhcpd4.pid %I |
||
− | KillSignal=SIGINT |
||
+ | == 参照 == |
||
− | [Install] |
||
− | WantedBy=multi-user.target |
||
− | </nowiki>}} |
||
− | |||
− | 上記は、特定のインターフェイスに bind するテンプレートユニットです。例えば {{ic|dhcpd4@''eth0''.service}} などとして使います (''eth0'' は {{ic|ip link}} で確認できるインターフェイスに置き換えて下さい)。 |
||
− | |||
− | ネットワークが設定されるのを待機したい場合、{{ic|network.target}} の代わりに {{ic|network-online.target}} を待機するようにサービスを作成してください: |
||
− | |||
− | {{hc|/etc/systemd/system/dhcpd4@.service|<nowiki> |
||
− | [Unit] |
||
− | Wants=network-online.target |
||
− | After=network-online.target |
||
− | </nowiki>}} |
||
− | |||
− | 上記のサービスを使うには他のサービスを有効化する必要があります: |
||
− | |||
− | # systemctl enable systemd-networkd-wait-online |
||
− | |||
− | === PXE === |
||
− | |||
− | PXE の設定は以下の2つのオプションで行います: |
||
− | |||
− | {{hc|/etc/dhcpd.conf|<nowiki> |
||
− | next-server 192.168.0.2; |
||
− | filename "/pxelinux.0"; |
||
− | </nowiki>}} |
||
+ | * [https://kb.isc.org/docs/aa-00333 ISC DHCP ドキュメント] |
||
− | 上記のセクションは {{ic|subnet}} 全体の中か {{ic|host}} の定義の中のどちらかに記述できます。{{ic|next-server}} は TFTP サーバーの IP に、{{ic|filename}} は起動するイメージのファイル名に置き換えてください。詳しくは [[PXE]] を参照。 |
2025年2月26日 (水) 06:52時点における最新版
dhcpd は、旧式の ISC DHCP サーバーです。
インストール
公式リポジトリの dhcp パッケージをインストールしてください。
設定
dhcpd がリスニングするインターフェース (ここでは eth0
) に静的な IPv4 アドレスを設定します。他のインターフェースのサブネットと重ならないように注意してください。
# ip link set up dev eth0 # ip addr add 139.96.30.100/24 dev eth0 # 任意のアドレス
デフォルトの設定ファイル 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 用に すべての ネットワークインターフェース 上でデーモンを起動します。