DHCPD ignorando minha declaração de sub-rede

11

eth0, minha interface interna, tem um endereço estático de 10.0.0.1. Eu também tenho uma interface p4p1, atuando como minha interface externa. Se isso importa, minha interface externa não está fisicamente conectada e iptablesestá desativada / ainda está sendo gravada.

/etc/sysconfig/dhcpd:

DHCPDARGS=eth0

cláusula de sub-rede de /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;
  }
}

Então, por que ainda estou recebendo a mensagem de erro "Sem declaração de sub-rede" no lançamento?

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

ATUALIZAÇÃO 4/1 1900h

Antes das experiências desta noite:

[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

Troquei meus endereços IP de rede internos 192.168.100.0/24com alterações correspondentes /etc/dhcpd.confpara não alterar o comportamento.

[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

Ah, ei! Não há porta de entrada! Isso é fácil de corrigir com GATEWAY=192.168.0.1os arquivos ifcfg-eth0e ifcfg-p4p1. service network restarte...

[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

Então, eu tenho um gateway, mas service dhcpd startfalha com o mesmo erro.

Outras notas:

  • p4p1 não está fisicamente conectado.
  • service dhcpd configtestdiz Syntax: OK. Portanto, isso quase certamente não é um caso de uma chave extraviada.
dafydd
fonte
1
Para RHEL / CentOS 7 com systemd: você pode fazer uma cópia /lib/systemd/system/dhcpd.servicepara /etc/systemd/system/e especifique a interface na Exec linha: ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eth0
ILMostro_7

Respostas:

14

Ok, posso pegar um "D'oh!" da congregação!

No RHEL6 e derivados, o arquivo de configuração dhcpd agora está localizado em /etc/dhcp/dhcpd.conf, não /etc/dhcpd.conf. Movido o arquivo e está tudo bem.

dafydd
fonte
Agora está funcionando bem ou você está enfrentando algum problema?
Rahul Patil #
3
Está funcionando bem agora. E isso hematoma na testa é de onde eu estava batendo a cabeça na minha mesa ...
dafydd
Irritante, certo? Eu só fiquei com isso.
precisa saber é
Quando procurei "centos install dhcpd", o resultado do centos.org, que é o primeiro, refere-se ao centos 5 e refere-se ao /etc/dhcpd.conf. Faz sentido que possa haver mudanças pequenas, mas significativas, na maneira como o CentOS 6+ é projetado, assim!
precisa saber é o seguinte
7

A máscara de sub-rede especificada dhcpd.confdeve corresponder à sua máscara de sub-rede da interface.

Corre:

/sbin/ifconfig eth0

Você especificou a máscara de sub-rede como 255.255.255.0, provavelmente isso está errado. Mude seu dhcpd.confpara combinar com sua interface.

A interface em que o servidor DHCP está atendendo deve ter um IP estático da mesma sub-rede que você está usando na sua configuração DHCP.

Rahul Patil
fonte
O ifconfig relata a máscara de rede como 255.255.255.0, que corresponde à configuração NETMASK = 255.255.255.0 que eu coloquei em ifcfg-eth0.
Dafydd 01/04
qual é o seu IP do servidor e roteador, saída cargo de/sbin/route -n
Rahul Patil
Atualizei a questão principal com as informações.
Dafydd 02/04
@dafydd Agora ele está funcionando bem ou você está enfrentando algum problema
Rahul Patil