O sistema de repositório de pacotes do Debian Linux é bem bacana, pois já instala o pacote mais atual, bem como todas suas dependências.
Antes de instalar o pacote é necessário atualizar a lista de repositórios. Para isso basta editar:
# pico /etc/apt/sources.list
deb http://ftp2.de.debian.org/debian/ etch main
deb-src http://ftp2.de.debian.org/debian/ etch main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb ftp://ftp.br.debian.org/debian/ etch main contrib non-free
Agora vamos baixar a lista dos pacotes mais atuais, só digitar o comando:
# apt-get update
Agora vamos atualizar os pacotes que estão desatualizados para manter os softwares sempre com a última versão mais atual/estável, utilize o comando:
# apt-get -y upgrade
(A opção/parâmetro -y é para não ter que ficar digitando y/s e apertando enter pra aceitar/confirmar a instalação dos pacotes)
Bom, após a lista dos pacotes mais atuais estarem no repositório e também os pacotes já instalados na máquina serem atualizados para versão mais nova, vamos enfim instalar os pacotes dhcp3-server e bind9. :)
[2] Comentário enviado por andrefreire em 13/04/2009 - 09:21h
Bom dia ! Não se aborreça mas sua sua solução pode melhorar bastante.
Pra que você usa um servidor de DHCP se usa IP fixo nas estações ?
Deixe que o DHCP distribua os IPs como ele quiser
Pra que você usa DNS dinâmico se voce registra os nomes manualmente no aequivo da zona ?
Vc está usando atualização dinâmica então o próprio DHCP se encaregará de atualizar o regsitro de nomes DNS bastando que a chave rndc esteja certa.
Seu servidor DNS está aberto aceitando consultas de qualquer um.
Desta forma qq esperto pode usar seu DNS e inclusive invadi-lo. Leia sobre " allow-query "
Com DNS você não precisa registrar os hosts no arquivo host pois fica sem sentido. Quem tem que responder as consultas de nome é o DNS.
Mas uma vez peço que não se aborreça, pois o intuito de meus comentários não é desmerecer sua solução e sim complementala para que voce possa ter o melhor desempenho de seu servidor com o menor esforço administrativo possível.
[3] Comentário enviado por cirinho em 14/04/2009 - 17:25h
Não me aborreço não.
Bom quanto ao DHCP, só algumas máquinas que eu tenho necessidade de que tenha um ip fixo está configurado para elas receberem aquele ip de acordo com o seu endereço MAC, e elas estão configuradas para obter automaticamente pedindo ao DHCP, o dhcp que diz qual ip será atribuido (engraçado é um ip fixo obtido automaticamente kkkk), já as demais máquinas o dhcp atribui automaticamente/aleatoriamente só estabeleci uma faixa (range).
Realmente meu problema era o DNS, como disse no artigo eu não acertava configurá-lo de jeito algum, li vários tutoriais e artigos inclusive do VOL, estudei, tentei e errei até acertar uma besteirinha que me deixou feliz e resolvir documentar.
Ele só resolvia pelo arquivo /etc/host. Bom se tiver como melhorar tiver mais detalhes, poste ai o exemplo. De preferencia aproveitando o mesmo exemplo como melhorá-lo que é a solução que utilizo aqui em minha rede.
Meu intuito em documentar aqui era que pudesse ajudar outro, pois tive muitos problemas/dificuldades em acertar uma bola dentro, porém se puder melhorar minha solução eu agradeço muito :)
[6] Comentário enviado por cirinho em 09/12/2009 - 04:17h
Meus amigos, agradeço as críticas e comentários, realmente sem eles seria impossível eu aprender e me aperfeiçoar.
Realmente eu ainda estou aprendendo e essa implementação está falha. Ele não resolve o reverso ptr, após muita luta conseguir agora ele ta rodando redondinho.
Quanto ao eduardofraga:
Realmente não faz sentido você editar o /etc/hosts, a função dele é resolver nomes sem a necessidade do DNS.
Acho o seu DNS não está resolvendo no próprio servidor, isso é comum acontecer.
Acho que é só colocar a linha "listen-on { 10.0.0.0/8; 127.0.0.1; };" no named.conf
Bom, o /etc/hosts resolve localmente sem precisar do bind, uso ele apenas como mais um meio, e principalmente para setar os apelidos/aliases
Tentei essa sua dica ai do listen-on e não funcionou, aliás o bind nem iniciou deu erro. Mesmo assim obrigado pela ajuda meu velho.
Quanto ao andrefreire:
Bom dia ! Não se aborreça mas sua sua solução pode melhorar bastante.
Pra que você usa um servidor de DHCP se usa IP fixo nas estações ?
Deixe que o DHCP distribua os IPs como ele quiser
Pra que você usa DNS dinâmico se voce registra os nomes manualmente no aequivo da zona ?
Vc está usando atualização dinâmica então o próprio DHCP se encaregará de atualizar o regsitro de nomes DNS bastando que a chave rndc esteja certa.
Seu servidor DNS está aberto aceitando consultas de qualquer um.
Desta forma qq esperto pode usar seu DNS e inclusive invadi-lo. Leia sobre " allow-query "
Com DNS você não precisa registrar os hosts no arquivo host pois fica sem sentido. Quem tem que responder as consultas de nome é o DNS.
Mas uma vez peço que não se aborreça, pois o intuito de meus comentários não é desmerecer sua solução e sim complementala para que voce possa ter o melhor desempenho de seu servidor com o menor esforço administrativo possível.
Realmente poderia melhorar bastante e ja melhorou meu amigão.
O DHCP atribuiu o ip q ele quer (está na .conf) as máquinas da redes eu preciso ter um cadastro e necessito q elas tenham um ip fixo. Porém esse ip fixo é atribuido automaticamente pelo dhcp e não em cada máquina. (Engraçado que paradoxo. Utilizo o host+mac pra atribuir a cada máquina o seu ip). As demais o dhcp atribui automaticamente/aleatoriamente em uma range/faixa.
Em relação ao /etc/hosts eu ja respondi acima pro nosso outro amigo.
Realmente meu servidor na teoria está aceitando consultas de qualquer um. Porém no firewall inclusive do modem a porta está fechada, sendo assim ninguém de fora poderá consultá-lo ou invadí-lo. Mas foi bacana a sua observação.
Concerteza não me aborreci, foi graças as críticas construtivas de vocês que eu melhorei e agora está ok. Vou postar as moficiações.
Quanto ao overlock e gregh muito obrigado pelo incentivo :)
[7] Comentário enviado por cirinho em 09/12/2009 - 04:27h
Vale lembrar que agora eu utilizo o debian5 antes era o 4 porém as configurações são bem parecidas, fiz algumas moficiações que funcionaram.
Minha rede:
189.105.*.* (IP público velox/internet) <-> 192.168.254.254 modem <-> 192.168.254.1 (eth0) Linux (eth1) 10.0.0.1 <-> hub e demais pcs com os ips 10.0.0.*
Deveria usar o modem como bridge porém prefiro ele roteado, por si só o modem roteado ja é uma camada de proteção/firewall pois por padrão suas portas vem todas fechadas.
Então eu libero do modem pro eth0 as portas que quero/preciso e através do iptables eu redireciono para as respectivas máquinas na rede de acordo com as necessidades.
Como já foi comentado pelos colegas, eu utilizo o /etc/hosts embora o bind/dns faça o seu trabalho resolvendo.
Observe que que ele vai usar o 127.0.0.1 a máquina local/linux para a rede interna
porém para a rede externa ele utiliza o modem para resolver os domínios/ips da internet
É paradoxal e engraçado o ip é fixo automaticamente. Porém essas máquinas eu tenho interesse que os ips sejam fixos, por isso usando o host e endereço mac da placa de rede o dhcp seta o ip e nos pcs do cliente eu ponho para ser atribuido automaticamente.
Os demais pcs existem uma faixa/range
Em relação a primeira .conf eu dei uma modificada.
Onde tinha 0.0.10.in-addr.arpa eu troquei por 10.in-addr.arpa, pois a minha maskara não é 255.255.255.0 e sim 255.0.0.0 (Sim ja sei poderia melhorar por causa do broadcast - isso será a minha próxima atualização - sou baiano ai fiquei com preguiça de trocar tudo ehehe - é brincadeira)
era
ddns-rev-domainname "0.0.10.in-addr.arpa"; #Zona reversa da rede interna
troquei
ddns-rev-domainname "10.in-addr.arpa"; #Zona reversa da rede interna
era
zone 0.0.10.in-addr.arpa{
primary 127.0.0.1;
key rndc-key;
}
troquei
zone 10.in-addr.arpa{
primary 127.0.0.1;
key rndc-key;
}
[9] Comentário enviado por cirinho em 09/12/2009 - 05:00h
Agora vamos ao bind que é o que realmente interessa
meu /etc/bind/named.conf.local
******************************************************************************
******************************************************************************
include "/etc/bind/rndc.key";
## minhas zonas ##
#Zona NetGame
zone "netgame"{
type master;
file "/etc/bind/zones/db.netgame";
allow-update { key "rndc-key"; };
notify yes;
};
#Reverso da rede 192.168.254.0
zone "254.168.192.in-addr.arpa"{
type master;
file "/etc/bind/zones/db.254.168.192";
allow-update { key "rndc-key"; };
notify yes;
};
#Reverso da rede 10.0.0.0
zone "10.in-addr.arpa"{
type master;
file "/etc/bind/zones/db.0.0.10";
allow-update { key "rndc-key"; };
notify yes;
};
## fim das minhas zonas ##
******************************************************************************
******************************************************************************
Creio que em relação ao primeiro eu mudei só isto:
de 0.0.10.in-addr.arpa para 10.in-addr.arpa
Bom vamos agora para o meu
/etc/bind/named.conf.options
Bom ai estão os meus servidores dns
192.168.254.254 é o modem
e os demais os ips dos servidores dns de meu provedor (Velox pra Bahia)
claro todos eles são apenas para meu dns funcionar na internet resolvendo os domínios e ips externamente.
Agora vamos a pasta zones
onde estão minhas zonas
/etc/bind/zones/db.netgame
******************************************************************************
******************************************************************************
$TTL 604800
@ IN SOA gw.netgame. root.netgame. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS gw.netgame.
@ IN A 10.0.0.1
gw IN A 10.0.0.1
roteador IN A 192.168.254.1
modem IN A 192.168.254.254
server IN A 10.0.0.100
netgame01 IN A 10.0.0.101
netgame02 IN A 10.0.0.102
netgame03 IN A 10.0.0.103
netgame04 IN A 10.0.0.104
netgame05 IN A 10.0.0.105
alexandre IN A 10.0.0.201
edival IN A 10.0.0.202
adjane IN A 10.0.0.203
antoni IN A 10.0.0.204
juliana IN A 10.0.0.205
paulinho IN A 10.0.0.206
patricia IN A 10.0.0.207
******************************************************************************
******************************************************************************
Bom em relação ao primeiro eu só alterei isso:
antes era
@ IN SOA ns.netgame. root.netgame. (
agora é
@ IN SOA gw.netgame. root.netgame. (
antes era
@ IN NS ns.netgame.
agora é
@ IN NS gw.netgame.
Eu copiei de um exemplo, ai estudando gw é como chamei a minha máquina 10.0.0.1 o eth1 que é o servidor dns de toda a rede e é quem tem autoridade, essa máquina ns não existe kkkk
De qualquer forma como estava antes funcionava corretamente. Porém assim é o correto.
Bom agora vamos para outra zona
/etc/bind/zones/db.254.168.192
******************************************************************************
******************************************************************************
$TTL 604800
@ IN SOA gw.netgame. root.netgame. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS gw.netgame.
1 IN PTR roteador.netgame.
254 IN PTR modem.netgame.
******************************************************************************
******************************************************************************
Esta também ja funcionava corretamente resolvendo o reverso PTR do ip pra o nome da máquina, porém fiz as mesmas alterações onde tinha ns.netgame troquei por gw.netgame.
Como falei gw é o eth1 ip 10.0.0.1 a máquina que tem autoridade e servidor dns de toda a rede interna.
Meu maior problema estava ai em baixo, pois era ai que não resolvia o reverso PTR de toda a rede 10.0.0.0 apenas só funcionava pelo /etc/hosts
Sendo assim segue a atual conf dessa bendita zona
/etc/bind/zones/db.0.0.10
******************************************************************************
******************************************************************************
$TTL 604800
;$ORIGIN 10.in-addr.arpa
@ IN SOA gw.netgame. root.gw.netgame. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS netgame.
;Router
1.0.0 IN PTR router.netgame.
;Server
100.0.0 IN PTR server.netgame.
;Lan NETGAME
101.0.0 IN PTR netgame01.netgame.
102.0.0 IN PTR netgame02.netgame.
103.0.0 IN PTR netgame03.netgame.
104.0.0 IN PTR netgame04.netgame.
105.0.0 IN PTR netgame05.netgame.
;Divisao Internet
201.0.0 IN PTR alexandre.netgame.
202.0.0 IN PTR edival.netgame.
203.0.0 IN PTR adjane.netgame.
204.0.0 IN PTR antoni.netgame.
205.0.0 IN PTR juliana.netgame.
206.0.0 IN PTR paulinho.netgame.
207.0.0 IN PTR patricia.netgame.
208.0.0 IN PTR irma1.netgame.
209.0.0 IN PTR irma2.netgame.
210.0.0 IN PTR irma3.netgame.
******************************************************************************
******************************************************************************
Esquisito meus amigos, tive que comentar usando ; ao inves de #
quando comento usando # ele dar erro, a conf igualzinha só um comentário, quem souber/puder por favor me ajude.
Então vamos as minhas alterações:
Acrescentei
;$ORIGIN 10.in-addr.arpa
Era
@ IN SOA ns.netgame. root.netgame. (
agora é
@ IN SOA gw.netgame. root.gw.netgame. (
como eu disse não existe essa maquina ns e sim gw que é o eth1 o servidor dns 10.0.0.1
Era
@ IN NS ns.netgame.
agora é
@ IN NS netgame
Não lembro se pondo gw.netgame como autoridade dava erro, pus apenas o dominio como autoridade.
e por fim os ips
era
1 IN PTR router.netgame.
agora é
;Router
1.0.0 IN PTR router.netgame.
como eu falei minha maskara é 255.0.0.0 e não 255.255.255 se fosse assim estaria correto anteriormente.
Bom essas simples configurações/alterações meu dns ta blzinha.
[10] Comentário enviado por cirinho em 09/12/2009 - 05:14h
Checando:
router:/etc/bind# named-checkconf -z
zone localhost/IN: loaded serial 2
zone 127.in-addr.arpa/IN: loaded serial 1
zone 0.in-addr.arpa/IN: loaded serial 1
zone 255.in-addr.arpa/IN: loaded serial 1
zone netgame/IN: loaded serial 1
zone 254.168.192.in-addr.arpa/IN: loaded serial 1
zone 10.in-addr.arpa/IN: loaded serial 1
router:/etc/bind/zones# named-checkzone netgame db.netgame
zone netgame/IN: loaded serial 1
OK
router:/etc/bind/zones# named-checkzone 254.168.192.in-addr.arpa db.254.168.192
zone 254.168.192.in-addr.arpa/IN: loaded serial 1
OK
router:/etc/bind/zones# named-checkzone 10.in-addr.arpa db.0.0.10
zone 10.in-addr.arpa/IN: loaded serial 1
OK
O erro dava sempre nessa ai agora está 100% ok funfando r0x
router:/etc/bind/zones# host -v modem
Query about modem for record types A
Trying modem within netgame ...
Query done, 1 answer, authoritative status: no error
modem.netgame 604800 IN A 192.168.254.254
Authority information:
netgame 604800 IN NS gw.netgame
Additional information:
gw.netgame 604800 IN A 10.0.0.1
router:/etc/bind/zones# host -v 192.168.254.254
Query about 192.168.254.254 for record types PTR
Name: modem.netgame
Address: 192.168.254.254
Aliases: modem
router:/etc/bind/zones# host -v roteador
Query about roteador for record types A
Trying roteador within netgame ...
Query done, 1 answer, authoritative status: no error
roteador.netgame 604800 IN A 192.168.254.1
Authority information:
netgame 604800 IN NS gw.netgame
Additional information:
gw.netgame 604800 IN A 10.0.0.1
router:/etc/bind/zones# host -v 192.168.254.1
Query about 192.168.254.1 for record types PTR
Name: roteador.netgame
Address: 192.168.254.1
Aliases: roteador
router:/etc/bind/zones# host -v gw
Query about gw for record types A
Trying gw within netgame ...
Query done, 1 answer, authoritative status: no error
gw.netgame 604800 IN A 10.0.0.1
Authority information:
netgame 604800 IN NS gw.netgame
router:/etc/bind/zones# host -v 10.0.0.1
Query about 10.0.0.1 for record types PTR
Name: gw.netgame
Address: 10.0.0.1
Aliases: gw
router:/etc/bind/zones# host -v server
Query about server for record types A
Trying server within netgame ...
Query done, 1 answer, authoritative status: no error
server.netgame 604800 IN A 10.0.0.100
Authority information:
netgame 604800 IN NS gw.netgame
Additional information:
gw.netgame 604800 IN A 10.0.0.1
router:/etc/bind/zones# host -v 10.0.0.100
Query about 10.0.0.100 for record types PTR
Name: server.netgame
Address: 10.0.0.100
Aliases: server
router:/etc/bind/zones# host -v netgame01
Query about netgame01 for record types A
Trying netgame01 within netgame ...
Query done, 1 answer, authoritative status: no error
netgame01.netgame 604800 IN A 10.0.0.101
Authority information:
netgame 604800 IN NS gw.netgame
Additional information:
gw.netgame 604800 IN A 10.0.0.1
router:/etc/bind/zones# host -v 10.0.0.101
Query about 10.0.0.101 for record types PTR
Name: netgame01.netgame
Address: 10.0.0.101
Aliases: netgame01
router:/etc/bind/zones# host -v paulinho
Query about paulinho for record types A
Trying paulinho within netgame ...
Query done, 1 answer, authoritative status: no error
paulinho.netgame 604800 IN A 10.0.0.206
Authority information:
netgame 604800 IN NS gw.netgame
Additional information:
gw.netgame 604800 IN A 10.0.0.1
router:/etc/bind/zones# host -v 10.0.0.206
Query about 10.0.0.206 for record types PTR
Name: paulinho.netgame
Address: 10.0.0.206
Aliases: paulinho
Bom pessoal acho que agora está solucionado
se alguém tiver mais alguma dúvida crítica ou sugestão a fim de que possa melhorar ótimo.
Assim posso sempre está otimizando minha rede.
Quem se baseou em minha documentação para implementar o seu por favor preste atenção as correções e detalhes.
Grande abraço a todos;
Vocês podem me encontrar no IRC
irc.canalbahia.net ou irc.canalreggae.org ou irc.canalmp3.net
Canais #Bahia #Reggae e #Mp3