Depois de vários teste com o DHCP finalmente conseguimos fazer sub rede no próprio dhcp.

Para os pessoal que não gosta de fica indo nos clientes colocar ip´s essa é uma ótima forma de fazer um servidor DHCP.

EX.: Cliente-1 recebendo dhcp automático

Ip 10.100.2.2
Masc. 255.255.255.252
Gw. 10.100.0.1
Dns 200.200.200.200


EX.: Cliente-2 recebendo dhcp automático

Ip 10.100.3.2
Masc. 255.255.255.252
Gw. 10.100.0.1
Dns 200.200.200.200

EX.: Cliente-3 recebendo dhcp automático

Ip 10.100.4.2
Masc. 255.255.255.252
Gw. 10.100.0.1
Dns 200.200.200.200

E assim você coloca quanto quiseres.

Desta forma todos os cliente dhcp não se “enxergam”.

Então vamos ao trabalho.
Este dhcp foi testado em um slackware 11, mais eu acredito que sirva em qualquer sistema OP linux.

Procedimento
1. Criar varias interfaces virtuais na mesmo rede que for libera a internet.
2. Configurar um DNS local próprio
3. Configura o dHCP de acordo com sua faixa de ip desejada desde seja a mesmas das interfaces virtuais.

Neste tutorial não ensinarei como configurar o DNS, pois o propósito aqui é dHCP.

Mãos a obra

1 - Crie um arquivo para colocar as interfaces virtuais, no meus caso criei um com o nome “rotas” e colocaqui em /bin
Ex.

ifconfig eth1 10.100.0.1 netmask 255.255.255.0 up
ifconfig eth1:0 10.100.2.1 netmask 255.255.255.252 up
ifconfig eth1:2 10.100.3.1 netmask 255.255.255.252 up
ifconfig eth1:3 10.100.4.1 netmask 255.255.255.252 up
ifconfig eth1:4 10.100.5.1 netmask 255.255.255.252 up
ifconfig eth1:5 10.100.6.1 netmask 255.255.255.252 up
ifconfig eth1:6 10.100.7.1 netmask 255.255.255.252 up
ifconfig eth1:7 10.100.8.1 netmask 255.255.255.252 up
ifconfig eth1:8 10.100.9.1 netmask 255.255.255.252 up
ifconfig eth1:9 10.100.10.1 netmask 255.255.255.252 up

OBS. Se sua eth1 está sendo levantada em outro local não é necessário colocar ela novamente para se levantada aqui nesse arquivo, somente as virtuais.

Após criar o arquivo com as interfaces é necessário dar permissão.
Dentro do diretório /bin execute: chmod 700 rotas
Não esquecer de colocar o arquivo "rotas' para levantar automaticamente em seu local preferido.
Vai algumas sugestões:

No conectiva coloque dentro do /etc/rc.d/rc.local
/bin/rotas start
No slackware coloque dentro do /etc/rc.d/init.d/rc.local
/bin/rotas start

Em outras SO são quase a mesmo coisa, fica do seu gosto o importante e ele levantar automaticamente.

2 – DNS, se seu dns estiver funcionando perfeitamente vamos usar o mesmo ip da sua interface que recebe a internet.

Para fazer um teste é simples var em “/etc/resolv.conf “ e coloque o mesmo ip de sua interface que você recebe a internet, somente o ip de sua interfaces.

EX: se você recebe internet com um ip valido 200.200.200.200
nameserver 200.200.200.200

Faca o teste com um ping Under-Linux.Org e veja o resultado, se não pingar seu DNS não esta funcionando, configure.

Suponha que esteja funcionando vamos em frente

3 – DHCP /etc/dhcpd.conf

Acredito que nessas altura seu dhcp esteja instalado.
Se nao estiver instale
Agora vamos configurar o arquivo responsável /etc/dhcpd.conf

Dentro do arquivo dhcpd.conf Coloque:


#########################
authoritative;
ddns-update-style ad-hoc;
subnet 10.100.0.0 netmask 255.255.0.0 {
range 10.100.2.1 10.100.2.3;
range 10.100.3.1 10.100.3.3;
range 10.100.4.1 10.100.4.3;
range 10.100.5.1 10.100.5.3;
range 10.100.6.1 10.100.6.3;
range 10.100.7.1 10.100.7.3;
range 10.100.8.1 10.100.8.3;
range 10.100.9.1 10.100.9.3;
range 10.100.10.1 10.100.10.3;
option subnet-mask 255.255.255.252;
option broadcast-address 10.100.255.255;
option domain-name-servers 200.200.200.200;
option routers 10.100.0.1;
}

######### IP´s de Usuarios com as mac #######
host 2{
hardware ethernet 00:0b:cd:ec:d3:bb;
fixed-address 10.100.2.2;
}
host 3{
hardware ethernet 00:0b:cd:ec:d2:bb;
fixed-address 10.100.3.2;
}
host 4{
hardware ethernet 00:0b:c2:ec:d3:bb;
fixed-address 10.100.4.2;
}
host 5{
hardware ethernet 00:0b:cd:ec:d3:2f;
fixed-address 10.100.5.2;
}
host 6{
hardware ethernet 00:0e:2e:a5:d7:1a;
fixed-address 10.100.6.2;
}
host 7{
hardware ethernet 00:0e:2e:a5:d6:ad;
fixed-address 10.100.7.2;
}
host 8{
hardware ethernet 00:0e:2e:a5:fb:3b;
fixed-address 10.100.8.2;
}
host 9{
hardware ethernet 00:05:5d:96:83:c1;
fixed-address 10.100.9.2;
}
host 10 {
hardware ethernet 00:0e:2e:a5:d7:c2;
fixed-address 10.100.10.2;
}

Pronto dhcpd.conf configurado

Lembramos que, para colocar mais faixas de ip´s no dhcpd.conf é necessário também colocar a faixa de ip no arquivo “rotas” e executá-lo novamente.
Cada ip deve ter também a mac

Der permissão em seu firewall para o ip e a mac

No meu firewall aqui está da seguinte forma

-A Users –m mac –s 10.100.2.2 –j RETURN –mac 00:00:00:00:00:00
-A Users –m mac –s 10.100.3.2 –j RETURN –mac 00:ee:0:00:00:00
-A Users –m mac –s 10.100.4.2 –j RETURN –mac 00:00:bb:00:00:00
-A Users –m mac –s 10.100.5.2 –j RETURN –mac 00:00:00:cc:00:00
-A Users –m mac –s 10.100.6.2 –j RETURN –mac 00:00:00:00:ff:00
-A Users –m mac –s 10.100.7.2 –j RETURN –mac 00:00:00:00:00:aa
-A Users –m mac –s 10.100.8.2 –j RETURN –mac 00:gg:00:00:00:00
-A Users –m mac –s 10.100.9.2 –j RETURN –mac hh:00:00:00:00:00
-A Users –m mac –s 10.100.10.2 –j RETURN –mac 00:02:33:33:03:40

Estou dando permissões para o ip que esta entre as ranges
range 10.100.2.1 10.100.2.3;
range 10.100.3.1 10.100.3.3;
range 10.100.4.1 10.100.4.3;
range 10.100.5.1 10.100.5.3;
range 10.100.6.1 10.100.6.3;
range 10.100.7.1 10.100.7.3;
range 10.100.8.1 10.100.8.3;
range 10.100.9.1 10.100.9.3;
range 10.100.10.1 10.100.10.3;

Cada range dessas só fornecerá apenas um ip para cada interface de acordo com a mac cadastrada.

É isso ai pessoal
Boa sorte

Agradeço ao colega Dasso Freire [email protected] que junto fizemos os teste.