web-dev-qa-db-ja.com

DHCPDがサブネット宣言を無視する

私の内部インターフェイスであるeth0には、10.0.0.1の静的アドレスがあります。また、外部インターフェイスとして機能するp4p1というインターフェイスもあります。それが重要な場合は、私の外部インターフェイスが物理的に接続されておらず、iptablesがオフ/まだ書き込まれています。

/etc/sysconfig/dhcpd

DHCPDARGS=eth0

/etc/dhcpd.confのサブネット句:

subnet 10.0.0.0 netmask 255.255.255.0 {
  option routers 10.0.0.1;
  option domain-name-servers 10.0.0.1;
  option ntp-servers 10.0.0.1;
  default-lease-time 86400; # 1 day 
  max-lease-time 604800;    # 7 days
  use-Host-decl-names on;
  ddns-updates on;

  use-Host-decl-names on;
  allow unknown-clients;
  ignore client-updates;

  option domain-name "localdomain";
  ddns-domainname "localdomain";
  next-server 10.0.0.1;
  filename "pxelinux.0";

  group # known hosts
  {
    Host host1.localdomain  {hardware ethernet [REDACTED]; fixed-address Host1.localdomain;}
    Host host2.localdomain  {hardware ethernet [REDACTED]; fixed-address Host2.localdomain;}
  {

  pool
  {
    one-lease-per-client true;
    ping-check true;
    range 10.0.0.51 10.0.0.60;
  }
}

では、起動時に「サブネット宣言がありません」というエラーメッセージが引き続き表示されるのはなぜですか?

No subnet declaration for eth0 (10.0.0.1).
** Ignoring requests on eth0.  If this is not what
   you want, please write a subnet declaration
   in your dhcpd.conf file for the network segment
   to which interface eth0 is attached. **

PDATE 4/1 1900h

今夜の実験の前に:

[root@father ~]# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 90:e2:ba:2d:92:4d brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 brd 10.0.0.255 scope global eth0
    inet6 fe80::92e2:baff:fe2d:924d/64 scope link 
       valid_lft forever preferred_lft forever

私は内部ネットワークのIPアドレスを192.168.100.0/24に切り替えましたが、動作の変更はないため、一致する変更を/etc/dhcpd.confに変更しました。

[root@father ~]# ip addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 90:e2:ba:2d:92:4d brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.1/24 brd 192.168.100.255 scope global eth0
    inet6 fe80::92e2:baff:fe2d:924d/64 scope link 
       valid_lft forever preferred_lft forever

[root@father ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 p4p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 p4p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth0

ああ、ちょっと!そこにゲートウェイはありません!これは、GATEWAY=192.168.0.1およびifcfg-eth0ファイルのifcfg-p4p1で簡単に修正できます。 service network restartそして...

[root@father ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 p4p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 p4p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 p4p1

したがって、ゲートウェイがありますが、service dhcpd startは同じエラーで失敗します。

その他の注意事項:

  • p4p1は物理的に接続されていません。
  • service dhcpd configtestSyntax: OKと言います。したがって、これはほぼ間違いなくブレースの配置が間違っている場合ではありません。
11
dafydd

よし、「ドーッ」をもらえますか?会衆から!

RHEL6および派生物では、dhcpd構成ファイルは/etc/dhcp/dhcpd.confではなく/etc/dhcpd.confに配置されるようになりました。ファイルを移動し、すべてが順調です。

14
dafydd

dhcpd.confで指定したサブネットマスクは、インターフェースのサブネットマスクと一致する必要があります。

実行:

/sbin/ifconfig eth0

サブネットマスクを255.255.255.0と指定しましたが、これはおそらく誤りです。インターフェイスに合わせてdhcpd.confを変更します。

DHCPサーバーが待機しているインターフェイスには、DHCP構成で使用しているものと同じサブネットの静的IPが必要です。

7
Rahul Patil