ISC DHCP Server escutando na interface virtual

1

Eu tenho um servidor ISC DHCP 4.2.2 (Debian Wheezy) funcionando. Eu preciso adicionar um segundo escopo para clientes desconhecidos que lhes dá um endereço falso (principalmente para fins de solução de problemas). No entanto, nada que eu tente parece funcionar. Arquivo dhcpd4.conf truncado abaixo com a nova declaração de sub-rede abaixo.

subnet 10.111.111.0 netmask 255.255.255.0 {
        range 10.111.111.5 10.111.111.250;
        allow unknown-clients;
}

subnet 192.168.XXX.0 netmask 255.255.255.0 {
  range 192.168.XXX.194 192.168.XXX.200;
  range 192.168.XXX.100 192.168.XXX.109;
  range 192.168.XXX.215 192.168.XXX.250;

        ignore unknown-clients;
  option routers 192.168.XXX.XXX;
<lots more options>
}

Eu sei que o servidor DHCP irá ignorar a sub-rede 10.111.111.0 se não tiver interface com um IP nessa sub-rede, então eu tentei pela primeira vez um virtual. Em / etc / network / interfaces, adicionei:

up ip addr add 10.111.111.1/24 dev eth0 label eth0:1

Depois trouxe a interface para cima. ifconfig confirmou que estava funcionando. Então eu adicionei eth0: 1 para / etc / default / isc-dhcp-server:

INTERFACES="eth0 eth0:1"

Eu reiniciei o servidor DHCP, mas recebi apenas o seguinte:

...WARNING: Host declarations are global.  They are not limited to the scope you declared them in.
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 53 leases to leases file.
Listening on LPF/eth0/00:50:XX:XX:XX:71/192.168.220.0/24
Sending on   LPF/eth0/00:50:XX:XX:XX:71/192.168.220.0/24
Sending on   Socket/fallback/fallback-net

Ouvindo em 192.168.220.0, mas não ouvindo em 10.111.111.0. Eu tentei uma linha de comando mais explícita:

/usr/sbin/dhcpd -cf /etc/dhcp/dhcpd4.conf eth0:1

Mas isso só me deu um

No subnet declaration for eth0:1 (no IPv4 addresses).
 ** Ignoring requests on eth0:1.  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:1 is attached. **

Pesquisando na Internet, encontrei um thread ( Interfaces de rede com alias e isc servidor dhcp ), e a resposta da Zoredache me levou a experimentá-lo sem a interface virtual. Eu tenho configurado e ip addr show mostra a interface está lá (mas ifconfig não - eu deveria estar preocupado?).

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:XX:XX:XX:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.XXX.XXX/24 brd 192.168.220.255 scope global eth0
    inet 10.111.111.1/24 scope global eth0
    inet 192.168.XXX.XXX/24 scope global secondary eth0:0  

No entanto, ao reiniciar o servidor DHCP, não ouço a mensagem 10.111.111.1, apenas escuto 192.168.XXX.XXX.

Alguma idéia do que estou fazendo errado?

    
por user2891127 20.04.2015 / 18:56

1 resposta

5

OK, eu percebi isso. Se você tiver mais de um endereço IP atribuído à mesma interface, todas as declarações de sub-rede deverão ser agrupadas em outra declaração. Por exemplo, a máquina Linux tem 192.168.1.1 e 10.10.10.1 (ambos / 24) IP's em eth0. Então, um escopo simples seria:

shared-network mynet {
  subnet 10.10.10.0 netmask 255.255.255.0 {
      range 10.10.10.5 10.10.10.250;
      allow unknown-clients;
  }

  subnet 192.168.1.0 netmask 255.255.255.0 {
     range 192.168.1.194 192.168.1.200;
     ignore unknown-clients;
  }
}

A rede compartilhada {} precisa estar em torno de ambas as declarações de sub-rede. Então, quando você iniciar o servidor dhcp, ele dirá que está ouvindo em mynet, em vez de em um endereço IP.

    
por 24.04.2015 / 19:51