DHCPD忽略我的子网声明


11

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. **

更新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-p4p1service 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。因此,这几乎肯定不是支架放错地方的情况。

1
对于带有的RHEL / CentOS 7,systemd您可以复制/lib/systemd/system/dhcpd.service/etc/systemd/system/并在Exec行中指定接口: ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eth0
ILMostro_7 2015年

Answers:


14

好吧,我可以拿一个“ D'哦!” 来自会众!

在RHEL6及其衍生版本中,dhcpd配置文件现在位于/etc/dhcp/dhcpd.conf,而不是/etc/dhcpd.conf。移动了文件,一切顺利。


现在一切正常,还是您遇到任何问题?
Rahul Patil

3
现在工作正常。而我额头上的瘀伤就是我在桌上desk头的地方……
dafydd

烦人吧?我对此有点了解。
ewwhite 2014年

当我搜索“ centos install dhcpd”时,第一个结果就是centos.org,它是centos 5的结果,它指向/etc/dhcpd.conf。这样,CentOS 6+的设计可能会有微小但重要的变化,这是有道理的!
bgStack15 '17

7

您在其中指定的子网掩码dhcpd.conf必须与您的接口子网掩码匹配。

跑:

/sbin/ifconfig eth0

您将子网掩码指定为255.255.255.0,这很可能是错误的。更改您dhcpd.conf的界面以匹配您的界面。

DHCP服务器正在侦听的接口必须具有与DHCP配置中使用的子网相同的静态IP。


ifconfig报告的网络掩码为255.255.255.0,与我在ifcfg-eth0中设置的NETMASK = 255.255.255.0匹配。
dafydd

您的服务器IP和路由器是多少,后输出/sbin/route -n
Rahul Patil

我已经用信息更新了主要问题。
dafydd

@dafydd现在工作正常,或者您遇到任何问题
Rahul Patil
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.