dhcpd

dhcpdはインターネットシステムコンソーシアムのDHCPサーバーです。 これは、例えば、LAN上のルータとして機能するマシン上で便利です。注:dhcpd(DHCP(server)daemon)はdhcpcd(DHCP client daemon)と同じではありません。

インストール

dhcpパッケージをインストールします。

使用法

dhcpdには、デーモンを制御するために使用できる二つのユニットファイルdhcpd4.servicedhcpd6.serviceが含まれています。 それぞれIpv4とIpv6のすべてのネットワークインターフェイスでデーモンを起動します。 代替方法については、”#Listening on only one interface”を参照してください。

設定

使用するインターフェイスに静的Ipv4アドレスを割り当てます(この例ではeth0を使用します)。 このアドレスの最初の3バイトは、別のインターフェイスのアドレスとまったく同じにすることはできません。

# ip link set up dev eth0# ip addr add 139.96.30.100/24 dev eth0 # arbitrary address
ヒント:通常、次の三つのサブネットのいずれかが特別に予約され、インターネット内のどのホストとも競合しないプライベートネットワークに使用されます:

  • 192.168/16 (サブネット192.168.0.0、ネットマスク255.255.0.0)
  • 172.16/12 (サブネット172.16.0.0、ネットマスク255.240.0.0)
  • 10/8 (大規模ネットワークの場合; サブネット10.0.0.0、ネットマスク255.0.0.0)

RFC1918も参照。

起動時に静的ipを割り当てるには、ネットワーク設定#静的IPアドレスを参照してください。

デフォルトのdhcpd.confにはコメントされていない例が多く含まれているため、再配置します:

# cp /etc/dhcpd.conf /etc/dhcpd.conf.example

最小限の設定ファイルは、

/etc/dhcpdのようになります。conf
オプションdomain-name-servers8.8.8.8,8.8.4.4;オプションsubnet-mask255.255.255.0;オプションrouters139.96.30.100;サブネット139.96.30.0ネットマスク255.255.255.0{range139.96.30.150 139.96.30.250;1つの特定のデバイスに固定IPアドレスを指定する必要がある場合は、ホストブロックを定義できます:
/etc/dhcpd。conf
オプションdomain-name-servers8.8.8.8,8.8.4.4;オプションsubnet-mask255.255.255.0;オプションrouters139.96.30.100;サブネット139.96.30.0ネットマスク255.255.255.0{range139.96.30.150 139.96.30.250;}ホストmacbookpro{ハードウェアイーサネット70:56:81:22:33:44; 固定アドレス139.96.30.199;}

domain-name-servers このオプションには、クライアントに提供されるDNSサーバーのアドレスが含まれています。 この例では、GoogleのパブリックDNSサーバーを使用しています。 ローカルDNSサーバー(たとえば、ISPによって提供される)を知っている場合は、その使用を検討する必要があります。 ローカルマシンで独自のDNSを構成している場合は、サブネットでそのアドレスを使用します(例では139.96.30.100)。

subnet-maskおよびroutersは、サブネットマスクとサブネット上で使用可能なルーターのリストを定義します。 小規模ネットワークの場合、ほとんどの場合、マスクとして255.255.255.0を使用し、DHCPサーバーをルーターとして構成するマシンのIPアドレスを指定できます。

subnetブロックは、dhcpdが実行されているネットワークインターフェイスにマップされる別々のサブネットのオプションを定義します。 この例では、これは単一のインターフェイスeth0のサブネット139.96.30.0/24であり、使用可能なIPアドレスの範囲を定義しました。 この範囲のアドレスは、接続しているクライアントに割り当てられます。

一つのインターフェイスだけでリッスン

お使いのコンピュータがすでに一つまたは複数のネットワークの一部である場合、お使いのコンピュータが他のネットワー これは、dhcpdを設定するか、systemctlでデーモンとして起動することによって行うことができます。

Configuring dhcpd

インターフェイスを除外するには、そのインターフェイスで設定されるサブネットの空の宣言を作成する必要があります。

これは、設定ファイル(例:

/etc/dhcpd)を編集することによって行われます。conf
#DMZネットワークにDHCPサービスがありません(192.168.2.0/24)サブネット192.168.2.0ネットマスク255.255.255.0{}

サービスファイル

デフォルトではdhcpdを一つのインターフェイスでのみ使用するためのサービスファイルは提供されていないので、一つを作成す 既存のサービスをコピーすることから始めます:

# cp /usr/lib/systemd/system/dhcpd4.service /etc/systemd/system/[email protected]

次に、ExecStart行を編集してインターフェイス

/etc/systemd/system/dhcpd4@を含めます。サービス
。.....ExecStart=/usr/bin/dhcpd-4-q-cf/etc/dhcpd.conf-pf/run/dhcpd4/dhcpd.pid%I...

これはテンプレートユニットであり、特定のインターフェイスにバインドします。[email protected]ここで、eth0はip linkで示されているインターフェイスです。

PXEの使用

PXEの設定は、

/etc/dhcpdの2つのオプションを使用して行います。conf
next-server192.168.0.2;ファイル名"/pxelinux.0";

このセクションは、subnet全体またはhost定義に含めることができます。 next-serverはTFTPサーバのIP、filenameは起動するイメージのファイル名です。 詳細については、"PXE"を参照してください。

ISC DHCPドキュメント

  • も参照してください