Servidor dhcpd do Linux com vários escopos para atribuir IP com base na origem da solicitação

2

Eu configurei um servidor dhcpd do Linux com vários escopos na mesma interface (eth0). Os dispositivos que precisam desses endereços IP (clientes DHCP) estão em duas redes remotas diferentes. A equipe de rede concluiu toda a configuração, incluindo as retransmissões de DHCP entre elas, para que as solicitações cheguem ao meu servidor DHCP no seguinte formato:

DHCPDISCOVER from macaddress via 10.238.16.10 (remote_network_1)

DHCPDISCOVER from macaddress via 10.238.25.20 (remote_network_2)

(Acho que os IPs mencionados acima pertencem aos roteadores remotos que estão encaminhando solicitações DHCP para o meu servidor.)

Neste momento, o servidor DHCP está atribuindo com êxito os IPs do primeiro escopo configurado (10.238.16.x) aos clientes que solicitam a partir de ambos remote_network_1 e remote_network_2.

Como posso configurá-lo para que, quando uma solicitação chegar de 10.238.16.10, ele atribua um IP 10.238.16.X e, quando vier de 10.238.25.20, ele atribua um IP 10.238.25.X.

Eu sei que existem outras maneiras de resolver esse problema - como configurar o dhcpd para ouvir em duas interfaces diferentes, etc., mas isso não funciona para mim.

Eu tentei "opção broadcast-address", mas isso não funcionou.

Meu dhcpd.conf:

ddns-update-style none;

default-lease-time 6000;
max-lease-time 72000;

authoritative;

log-facility local7;


subnet 10.238.24.0 netmask 255.255.255.248 {
}

shared-network DA {
    subnet 10.238.16.0 netmask 255.255.255.0{
        range 10.238.16.52 10.238.16.254;
        option routers 10.238.24.9;     
        option broadcast-address 10.238.16.255;
    }

    subnet 10.238.25.0 netmask 255.255.255.0{
        range 10.238.25.52 10.238.25.254;
        option routers 10.238.24.9;
        option broadcast-address 10.238.25.255;
    }

}

Do syslog:

Feb  3 13:32:18 linux-server dhcpd: DHCPDISCOVER from b8:5e:7b:1e:c2:89 via 10.238.25.20
Feb  3 13:32:19 linux-server dhcpd: DHCPOFFER on 10.238.16.53 to b8:5e:7b:1e:c2:89 (android-ba98679bfc07f0cb) via 10.238.25.20
Feb  3 13:32:19 linux-server dhcpd: DHCPREQUEST for 10.238.16.53 (10.238.24.20) from b8:5e:7b:1e:c2:89 (android-ba98679bfc07f0cb) via 10.238.25.20
Feb  3 13:32:19 linux-server dhcpd: DHCPACK on 10.238.16.53 to b8:5e:7b:1e:c2:89 (android-ba98679bfc07f0cb) via 10.238.25.20
Feb  3 13:35:40 linux-server dhcpd: DHCPDISCOVER from 40:f3:08:89:3f:13 via 10.238.16.10
Feb  3 13:35:41 linux-server dhcpd: DHCPOFFER on 10.238.16.54 to 40:f3:08:89:3f:13 (android-47aa390064e91817) via 10.238.16.10
Feb  3 13:35:41 linux-server dhcpd: DHCPREQUEST for 10.238.16.54 (10.238.24.20) from 40:f3:08:89:3f:13 (android-47aa390064e91817) via 10.238.16.10
Feb  3 13:35:41 linux-server dhcpd: DHCPACK on 10.238.16.54 to 40:f3:08:89:3f:13 (android-47aa390064e91817) via 10.238.16.10
    
por Debianuser 03.02.2014 / 23:16

2 respostas

1

No final, descobrimos que a melhor maneira de fazer isso é configurar o DHCPD para atribuir IP estático com base no endereço MAC do dispositivo.

Nós controlamos os dispositivos que se conectam a essas redes e há apenas um número limitado deles, portanto, essa solução funciona para nós. É um pouco de trabalho extra, mas também adiciona segurança.

    
por 25.04.2014 / 10:18
0

Removeu a parte shared-network . Esta não é uma rede compartilhada. Você só precisa dos dois escopos. De man dhcpd.conf :

The shared-network statement is used to inform the DHCP server that some IP subnets actually share the same physical network. Any subnets in a shared network should be declared within a shared-network statement. Parameters specified in the shared-network statement will be used when booting clients on those subnets unless parameters provided at the subnet or host level override them. If any subnet in a shared network has addresses available for dynamic allocation, those addresses are collected into a common pool for that shared network and assigned to clients as needed. There is no way to distinguish on which subnet of a shared network a client should boot.

Você também deve corrigir a linha option routers em cada sub-rede. Esta linha deve listar o gateway padrão para cada rede.

    
por 20.02.2014 / 20:17

Tags