web-dev-qa-db-ja.com

dhcpd.conf "構成ファイルエラーが発生しました"

Isc-dhcp-serverを設定したいのですが、dhcpd -tでテストしているときにdhcp.confファイルでエラーが発生します。

...
/etc/dhcp/dhcpd.conf line 6: expecting a parameter or declaration
authoritative;
              ^
Configuration file errors encountered -- exiting
...

cat /etc/dhcp/dhcpd.conf

# Configuration file for the ISC-DHCP Server 4.3.3
# Default sample file at /etc/dhcp/dhcpd.sample.conf


# global statements:
authoritative;
interface enp30s0;
option routers 192.168.100.1;
option domain-name-servers 192.168.178.1, 192.168.100.1;

subnet 192.168.100.0 netmask 255.255.255.0{
    range 192.168.100.10 192.168.100.110;
    default-lease-time 600;
    max-lease-time 7200;
}

# Host declaration
Host server {
    hardware ethernet 1c:c1:de:80:76:e8;
    fixed-address 192.168.100.10;
    option Host-name "server";
}

Host pc {
    hardware ethernet 1C:1B:0D:10:44:71;
    fixed-address 192.168.100.11;
    option Host-name "PC";
}

ほとんどのファイルはドキュメントからコピーして貼り付けるので、問題がどこにあるのかわかりません...

4
Darth-RPi

問題はinterface enp30s0;行にあるようです。オプションを数値で参照するので、インターフェースを指定する必要はないと思います。

dhcpd.confから man page

オプションルーター204.254.239.1;

ここでのアドレスは数値で指定されていることに注意してください。これは必須ではありません。ルーターのインターフェイスごとに異なるドメイン名を使用している場合、数値アドレスの代わりにそのインターフェイスのドメイン名を使用することは完全に正当です。ただし、多くの場合、ルーターのすべてのIPアドレスに対して1つのドメイン名しかなく、その名前をここで使用することは適切ではありません。

私はサンプルファイルを使用してdhcpd.confを1行ずつ再作成しましたが、それが原因でした。

これが私の作業バージョンです:

# cat /usr/share/doc/dhcp*/dhcpd.conf.sample
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option routers 192.168.100.1;
option domain-name-servers 192.168.178.1, 192.168.100.1;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# This is a very basic subnet declaration.
subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.10 192.168.100.110;
  default-lease-time 600;
  max-lease-time 7200;
}

# Hosts which require special configuration options can be listed in
# Host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the Host-specific information
# will still come from the Host declaration.
Host server {
  hardware ethernet 1c:c1:de:80:76:e8;
  fixed-address 192.168.100.10;
  option Host-name "server";
}

Host pc {
    hardware ethernet 1C:1B:0D:10:44:71;
    fixed-address 192.168.100.11;
    option Host-name "PC";
}

幸運を!

1
Grayson Kent