Blog de Linux

jeferson.info
  • rss
  • Início
  • Sobre o autor

Servidor dhcp com suporte a múltiplas redes

terça-feira, 29 de julho de 2008

Esta é a primeira de três partes sobre a criação de servidor para distribuição de internet. Mostrarei agora como configurar o servidor dhcp para atender a requisições das estações, fornecendo sempre os mesmos ips . A diferença fica pelo fato de o servidor dhcp oferecer ips em redes diferentes para cada host, dessa forma, reduzindo o broadcast em caso de pequenos grupos de computadores e atuando como uma maneira simples de fazer com que as máquinas não se vejam na rede. Vale lembrar que não há muito o que se possa fazer para impedir que micros se vejam quando estão dentro de uma mesma rede fisica, sem um servidor entre elas ou um switch com suporte a vlan, o que não é o meu caso.

Antes de mais nada, devemos observar que para termos várias redes, precisamos de vários dispositivos ethernet. Nosso servidor possui apenas 2 interfaces reais: eth0, que servirá à rede interna e eth1, que será conectada ao modem, ou seja, quem nos conectará à internet. Utilizaremos diversas interfaces virtuais para o serviço. O intuito é demonstrar que é possível utilizar um único servidor para várias redes diferentes.

A criação das interfaces virtuais é bem simples: vá até /etc/network e abra o arquivo interfaces.

root@server:# vi /etc/network/interfaces

Para isso, dê um ip fixo. Neste exemplo, ficaria assim:

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.0.0
network 192.168.0.0
broadcast 192.168.0.255

Desta forma, temos a interface eth0 respondendo pelo ip 192.168.1.1/255.255.255.0.
A partir daí é só ir criando as outras interfaces. A vantagem está em criar redes totalmente diferentes da eth0, seguindo o seguinte padrão:

auto eth0:2
iface eth0:2 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255

auto eth0:3
iface eth0:3 inet static
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255

E assim por diante. Desta forma, criamos várias interfaces virtuais, cada uma respondendo por uma faixa diferente. Deixaremos o segundo ip da rede para corresponder ao servidor, ou seja, No caso de uma rede 192.168.X.0/255.255.255.0, o primeiro ip corresponde a rede, que é 192.168.X.0, o segundo, nós definimos como sendo o ip do servidor e o ultimo, obrigatóriamente é o endereço do broadcast, que é 192.168.X.255

Agora que já temos as subredes configuradas, vamos ao servidor dhcp.

A sua instalação é feita via apt:

root@server:# apt-get install dhcp3-server

Uma vez instalado, vamos configurar a primeira parte do dhcp.conf. Começaremos inserindo as configurações globais:

root@server:# vi /etc/dhcp3/dhcpd.conf

ddns-update-style none;
default-lease-time 8600;
max-lease time 7200;
authoritative;
subnet 192.168.0.0 netmask 255.255.0.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option domain-name-servers 192.168.0.2;
range 192.168.1.101 192.168.1.199;
}

Acabo de dizer ao servidor dhcp que ele ele irá responder em uma subrede de classe b(subnet 192.168.0.0 netmask 255.255.0.0) , e após isto dará ips de classe C para os terminais (option subnet-mask 255.255.255.0) , começando em 192.168.1.101 até 192.168.1.199, além disso receberão o dns 192.168.0.2 (option domain-name-servers 192.168.0.2), que ainda vamos configurar mais à frente.

Após editarmos este arquivo, vamos salvar, reiniciar o servidor dhcp e colocar uma máquina na rede.

root@server:# invoke-rc.d dhcp3-server restart

Se tudo ocorreu bem, teremos os computadores pegando ips entre 192.168.1.101 e 192.168.1.199, gateway 192.168.1.1 e dns 192.168.0.2

Agora vamos compreender a configuração individual de cada host. Volte ao dhcpd.conf. Iremos definir ips fixos para cada computador, baseando-se no mac.
Logo abaixo das linhas que escrevemos anteriormente, adicione o seguinte:

host computador1 {
hardware-ethernet 00:00:00:00:00:00;
fixed-address 192.168.10.2;
option routers 192.168.10.1;
}

Com essas linhas eu adicionei o computador “computador1″, na linha abaixo, é informado o mac, depois o ip que ele receberá sempre e por último, o gateway, que é o ip que demos à interface virtual responsável pela rede 192.168.10.0, que é 192.168.10.1

Teste novamente inserindo os dados conforme escrito e reinicie o dhcp.

Atençao para o “{” e “}” da seção “subnet 192.168.0.0 netmask 255.255.0.0″. O “{” começa nesta linha e “}” deve ser a última coisa no arquivo de configuração, de forma que essas configurações de ips amarrados ao mac, ficam logo acima do “}”
Olhe abaixo um exemplo do dhcpd.conf com 1 cliente dhcp fixo cadastrado.

ddns-update-style none;
default-lease-time 8600;
max-lease time 7200;
authoritative;
subnet 192.168.0.0 netmask 255.255.0.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option domain-name-servers 192.168.0.2;
range 192.168.1.101 192.168.1.199;

host computador1 {
hardware-ethernet 00:00:00:00:00:00;
fixed-address 192.168.10.2;
option routers 192.168.10.1;
}

}

O script que desenvolveremos no final irá aproveitar toda esta configuração, exceto as configurações de dhcp fixo. Então não perca tempo adicionando todo mundo agora, pois iremos fazer isso de maneira mais automatizada. Faça apenas um para testar se está funcionando.

BANCO DE DADOS

Para fecharmos esta parte, vamos criar o nosso “banco de dados”. Trata-se de um arquivo de texto simples, que conterá todas as informações que a princípio são necessárias para configurarmos tanto o dhcp quanto tudo que veremos à frente.

Crie o arquivo clientes.bdt (bdt de” banco de dados de texto”… apenas uma convenção que uso para saber que se trata de um arquivo que atua como banco de dados…)

root@server:# vi clientes.bdt

Dentro do arquivo, iremos inserir a primeira linha que será assim:

#cod!nome!endereco!tel1!tel2!email!obs!mac!bandaup!bandadown!ip!ativo

Esta linha é nosso referencial para preenchermos os dados abaixo, que serão assim:

2!jeferson!rua sen nome!9999-9999!9999-9999!jefersondossantos@gmail.com!eu mesmo!00:00:00:00:00:00!300!150!192.168.10.3!s

Note que cada campo é demarcado por um “!”. Este é o nosso separador, de forma que não deve haver nenhuma exclamação que não sejam estas, caso contrário o script quebra, pois passa a pegar a informação no campo errado.
Alguns campo não são necessários à principio, como endereço, telefone, obs… Estes campos existem pois farão parte de um sistema de cadastro de usuários. Este sistema foge do escopo deste tutorial, mas será utilizado em outros, logo
em breve. Sendo assim alguns campos podem ser deixados vazios. Caso deseje, pode deixar assim:
2!jeferson!!!!!!00:00:00:00:00:00!300!45!192.168.10.3!s

Agora que reduzi o número de campos, irei explica-los:

2- é apenas um código crescente. Apesar deste não ser necessário para este tutorial, por favor, mantenha-o, para facilitar as coisas.

jeferson - nome do usuário. Super importante, pois irá constar na listagem do squid e como nome do host no dhcp

00:00:00:00:00:00 - coloque aqui o mac da placa de rede
300 - Para o cbq controlar download

45 - Para o cbq controlar upload

192.168.10.3 - O ip que será dado a este micro

s - Deverá ser marcado “s” para computadores ativos e “n” para computadores inativos. Os computadores inativos não terão acesso aos recursos do servidor.

basta alimentar o banco de dados com estas informações, que serão futuramente usadas.

O nosso próximo passo é configurar o servidor proxy. Aguardem…

Bookmark e Compartilhe

Artigos relacionados:

  • Como Converter linux físico em virtual com vmware e clonezilla
  • Servidor para distribuição de internet - apresentação
  • Frox, proxy e Cache server para ftp
  • Implementação e conceito de um Firewall linux com iptables básico
  • Trabalhando com vmware em linha de comando
Categorias
Linux, Tutoriais
Tags
dhcp
Comentários RSS
Comentários RSS
Trackback
Trackback

« Análise - cuil, um fork do Google? Twitter - Encontre amigos pelo celular »

2 repostas

Olá, eu gostaria muito de ter acesso as outras duas

Allison | quinta-feira, 30 de outubro de 2008

Olá, eu gostaria muito de ter acesso as outras duas partes que você menciona no inicio do tutorial. Já estou procurando sobre esse assunto há alguns dias. Esse foi um ótimo tutorial. Amanhã já vou testá-lo.

Ola gostei muito do tutorial, mas se fosse possivel estou

Fernando | sexta-feira, 2 de janeiro de 2009

Ola gostei muito do tutorial, mas se fosse possivel estou precisando do restante do tutorial, se tiver algum custo, nao tem problema,

Deixar um comentário

Você pode usar essas TAGS : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tags

Analises backup blog blogger blogging blogs blogspot compilação corel draw debian dinheiro distribuições download educação escolas Eventos gnome google hospedagem informática internet kde kernel links Linux linux com cara de xp linux windows memória microsoft photoshop php pirataria proxy red hat review SEO servidor sites software livre terminal Top 10 ubuntu vmware server Windows wordpress

Categorias

  • Analises (9)
  • artigo (16)
  • dicas (9)
  • Eventos (2)
  • Indefinido (29)
  • links recomendados (4)
  • Linux (18)
  • linux vmware (1)
  • Noticias (5)
  • programação (1)
  • Scripts (1)
  • SEO (1)
  • Top 10 (5)
  • Tutoriais (7)
  • virtualização (2)
  • Windows (1)

Comentários

  • Pablo S.M em Como ter hospedagem gratis e de qualidade para o seu site ou blog
  • Igor Mol em Rodar Fsck no próximo boot
  • Fernando em Servidor dhcp com suporte a múltiplas redes
  • Luis em Boot remoto com gpxe
  • ooopinionsss em Blogcamp RJ 2008 - Eu participei, e voce?

Blogroll

  • Aventux
  • Balbinux
  • Blog do Dito
  • Blog do Vicente
  • Connected Minds
  • W3zLinux
rss Comentários RSS valid xhtml 1.1 design by jide powered by Wordpress get firefox
Tag :  tag
add this tag to your favorites in TagALLY.com
  • all blogs
  • this blog
Latest : 
Top Hot : 
Powered by TagALLY.com