Debian dhcpd “Nenhuma declaração de sub-rede para eth0”

8


Eu estou tentando configurar um servidor de inicialização pxe em uma máquina Squeeze do Debian 6.0.3 que fornece imagens do PLoP Linux. Eu estava seguindo um tutorial do link .
Quando tento iniciar o dhcpd (do pacote dhcp3-server), recebo o seguinte:

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



Not configured to listen on any interfaces!

Meu /etc/dhcpd.conf é idêntico ao do tutorial, salvo algumas alterações:

host testpc {
        hardware ethernet 00:0C:6E:A6:1A:E6;
        fixed-address 10.0.0.250;
}

é

host tablet {
        hardware ethernet 00:02:3F:FB:E2:6F;
        fixed-address 10.0.0.249;
}

Meu / etc / network / interfaces é:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 10.0.0.0
        netmask 255.255.255.0

E este é o meu / etc / default / isc-dhcp-server:

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

que eu copiei para / etc / default / dhcp3-server também, não tenho certeza de qual verificaria.

Eu também tentei configurar o ip em / etc / network / interfaces como 10.0.0.1 e 10.0.0.2, mas ele produziu o mesmo resultado.

    
por Suchipi 04.03.2012 / 07:31

5 respostas

6

Como o dhcpd tem que distribuir endereços IP para os clientes, ele precisa conhecer o intervalo de endereços pelos quais é responsável. A declaração de sub-rede fornece ao dhcpd essa informação e mais. Supondo que você esteja usando 10.0.0 / 24, o seguinte deve começar e passar a mensagem de erro, mas você realmente precisa Entre na documentação para ir mais longe. Adicione isto ao seu dhcpd.conf:

subnet 10.0.0.0 netmask 255.255.255.0 { 
   authoritative; 
   range 10.0.0.1 10.0.0.254; 
   default-lease-time 3600; 
   max-lease-time 3600; 
   option subnet-mask 255.255.255.0; 
   option broadcast-address 10.0.0.255; 
   option routers 10.0.0.0; 
   option domain-name-servers 8.8.8.8; 
   option domain-name "example.com"; 
} 

Os endereços IP que eu conectei acima são palpites. Você precisa configurá-los adequadamente para sua configuração.

    
por 04.03.2012 / 09:05
2

O problema é que 10.0.0.0 não é um endereço IPv4 válido. O primeiro endereço na sub-rede (o endereço com todos os zeros para a parte do host) é o identificador de sub-rede e, portanto, não é um endereço de host válido. Tente 10.0.0.1 . Você também deve evitar o último endereço em uma sub-rede, pois esse é o endereço de transmissão IP.

Decimal: 
  Address:     10   .0  .0  .0
  Subnet Mask: 255.255.255.255
Hex:     
  Address:     0A 00 00 00 
  Subnet Mask: FF FF FF 00
  Network:     ^^ ^^ ^^
  Host:                 ^^
  Smallest Addr:        01 (.1)
  Largest Addr:         FE (.254)
  Broadcast:            FF (.255)
    
por 20.01.2018 / 09:20
1

Acabei apenas limpando o dhcp3-server e usando o dnsmasq. Eu passei pelo arquivo de configuração para ele e pude usar os exemplos que ele comentou para configurar meu servidor como eu precisava. O dnsmasq também tem um servidor tftp embutido que usei para a inicialização PXE.

    
por 04.03.2012 / 19:56
0

Verifique com

ifconfig eth0

Se a sua interface eth0 tem o ipv4 correto

(parece que você configurou para address 10.0.0.0 , o que seria inválido de qualquer forma)

se tiver um IP no intervalo errado, forneça um novo endereço, por exemplo, com:

ifconfig eth0 10.0.0.1

tente reiniciar o seu servidor dhcp

    
por 09.02.2017 / 23:52
0

Remover dnsmasq resolveu meu problema

sudo apt-get -y remove dnsmasq
    
por 18.12.2017 / 17:06

Tags