DHCP: uma NIC e várias sub-redes

4

Estou configurando um Debian para funcionar como um gateway para uma rede de pequena empresa. Eu preciso ter três sub-redes para diferentes áreas dentro da empresa e vou definir quais PCs obterão o IP baseado em seus endereços MAC.

Minha pergunta é: é possível manipular o DHCP para 3 sub-redes com uma única NIC? como?

Eu tentei configurar uma interface virtual para cada rede assim:

# ip addr show dev eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 6c:f0:49:a4:47:38 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global eth2
    inet 10.1.2.1/24 brd 10.1.2.255 scope global eth2:1
    inet 10.1.3.1/24 brd 10.1.3.255 scope global eth2:2
    inet 10.1.1.1/24 brd 10.1.1.255 scope global eth2:0
    inet6 fe80::6ef0:49ff:fea4:4738/64 scope link 
       valid_lft forever preferred_lft forever

Nota: o eth2 está usando 192.168.1.10 porque a caixa não é atualmente o gateway de rede. Isso é apenas temporário.

Então eu configurei meu dhcpd.conf assim:

ddns-update-style interim;
option domain-name "mydomain.com";
option domain-name-servers ns1.mydomain.com;
default-lease-time 86400;
max-lease-time 86400;
authoritative;
log-facility local7;

subnet 10.1.1.0 netmask 255.255.255.0 {
        range 10.1.1.100 10.1.1.254;
        default-lease-time 86400;
        max-lease-time 86400;
        option routers 10.1.1.1;
        option ip-forwarding off;
        option broadcast-address 10.1.1.255;
        option subnet-mask 255.255.255.0;
        option ntp-servers 10.1.1.1;
        option domain-name-servers 10.1.1.1;
}

subnet 10.1.2.0 netmask 255.255.255.0 {
        range 10.1.2.100 10.1.2.254;
        default-lease-time 86400;
        max-lease-time 86400;
        option routers 10.1.2.1;
        option ip-forwarding off;
        option broadcast-address 10.1.2.255;
        option subnet-mask 255.255.255.0;
        option ntp-servers 10.1.2.1;
        option domain-name-servers 10.1.2.1;
}

subnet 10.1.3.0 netmask 255.255.255.0 {
        range 10.1.3.100 10.1.3.254;
        default-lease-time 86400;
        max-lease-time 86400;
        option routers 10.1.3.1;
        option ip-forwarding off;
        option broadcast-address 10.1.3.255;
        option subnet-mask 255.255.255.0;
        option ntp-servers 10.1.3.1;
        option domain-name-servers 10.1.3.1;
}

Mas quando eu tento lançar o dhcpd eu entendo isso:

# dhcpd -4 eth2:0 eth2:1 eth2:2
Internet Systems Consortium DHCP Server 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 leases to leases file.

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


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


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


Not configured to listen on any interfaces!

Sou muito novo no DHCP, então provavelmente estou sentindo falta de algo óbvio. Estive pesquisando por um tempo, mas não consigo encontrar as respostas de que preciso ou não estou pesquisando direito.

    
por El Barto 18.05.2012 / 16:28

2 respostas

3

Como as três sub-redes compartilham a mesma mídia (eth2), elas devem ser declaradas dentro do mesmo shared-network :

shared-network my-net {
  subnet 10.1.1.0 netmask 255.255.255.0 {
    ...
  }

  subnet 10.1.2.0 netmask 255.255.255.0 {
    ...
  }

  subnet 10.1.3.0 netmask 255.255.255.0 {
    ...
  }
}
    
por 18.05.2012 / 16:54
0

Existem apenas duas maneiras de fazer isso:

  1. Defina o IP do seu servidor DHCP como o 'Endereço auxiliar do DHCP' no seu switch L3 para cada VLAN e defina os escopos para aqueles no seu servidor.
  2. Defina a porta NIC do servidor DHCP no comutador para ser um tronco .1q carregando todas as VLANs apropriadas e configure os vNICs separados em seu servidor com IPs apropriados para cada VLAN e a partir daí.

De qualquer forma, tente não apenas usar um único NIC, você deve ter dois para a resiliência e, em seguida, apenas ligá-los.

    
por 23.03.2018 / 13:57