Você está na página 1de 94

Curso de DNS – Domain Name Server

Curso de DNS – Domain Name Server http://www.freesoftware.org.br Instalação do GNU/Debian Linux DNS (Domain Name

http://www.freesoftware.org.br

Instalação do GNU/Debian Linux DNS (Domain Name Server)

Ralf Braga Sermatheu

ralf@freesoftware.org.br

1

&

Marcio Garcia Marcenari

mgarcia@freesoftware.org.br

Versão 1.0

Curso de DNS – Domain Name Server

Índice

O

Sistema Operacional

4

O

Linux

4

Algumas Características do Linux

5

Distribuições do Linux

7

Software Livre

11

Instalação do GNU/Debian Linux 3.0 r2

14

Menu de Instalação – Selecionando a Imagem de Instalação

14

Menu de Instalação – Seleção de Ídioma

15

Menu de Instalação – Seleção de Ídioma e Teclado

16

Menu de Instalação – Notas de Lançamento

17

Menu de Instalação – Configuração do Teclado

18

Menu de Instalação – Selecionar Teclado

19

Menu de Instalação – Particionar Disco Rígido

20

Menu de Instalação – Selecionar Unidade de Disco

21

Menu de Instalação – Limitações do LILO

22

Menu de Instalação – Informações Adicionais sobre ReiserFS

23

Menu de Instalação – Particionar Disco Rígido

24

Menu de Instalação – Particionar Disco Rígido

25

Menu de Instalação – Configuração da Partição Swap

26

Menu de Instalação – Checar Blocos Defeituosos

27

Menu de Instalação – Formatar Dispositivo Selecionado

28

Menu de Instalação – Inicializar Dispositivo do Sistema

29

Menu de Instalação – Tipo de Sistema de Arquivos

30

Menu de Instalação – Selecionar Dispositivo

31

Menu de Instalação – Checar Blocos Defeituosos

32

Menu de Instalação – Formatar Dispositivo Selecionado

33

Menu de Instalação – Gerando Sistema de Arquivos

34

Menu de Instalação – Montar Dispositivo Selecionado

35

Menu de Instalação – Inicializar Dispositivo do Sistema

36

Menu de Instalação – Selecionar Dispositivo

37

Menu de Instalação – Checar Blocos Defeituosos

38

Menu de Instalação – Formatar Dispositivo Selecionado

39

Menu de Instalação – Gerando Sistema de Arquivos

40

Menu de Instalação – Montar Dispositivo Selecionado

41

Menu de Instalação – Instalar Kernel e Módulos

42

Menu de Instalação – CDROM

43

Menu de Instalação – Configuração de Dispositivos

44

Menu de Instalação – Configuração de Dispositivos

45

Menu de Instalação – Configuração de Dispositivos

46

Menu de Instalação – Configuração de Rede

47

Menu de Instalação – Nome no Servidor

48

Menu de Instalação – Ativar Rede DHCP ou STATIC

49

Menu de Instalação – Configuração do IP do Servidor

50

Menu de Instalação – Configuração da Mascará de Rede

51

2

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do Gateway

52

Menu de Instalação – Configuração do Domínio do Servidor

53

Menu de Instalação – Configuração do Resolvedor de Nomes

54

Menu de Instalação – Instalação do Sistema GNU/Debian Linux

55

Menu de Instalação – Instalação do Sistema GNU/Debian Linux

56

Menu de Instalação – Configuração do Gerenciador de Boot

57

Menu de Instalação – Configuração do Gerenciador de Boot

58

Menu de Instalação – Configuração do Gerenciador de Boot

59

Menu de Instalação – Reiniciar o Sistema

60

Menu de Instalação – Reiniciar o Sistema

61

Gerenciador de pacotes do Debian

62

dpkg

62

APT

63

Redes

66

Configuração do ambiente Debian

67

Introdução

72

A

História do Domain Name Server

73

Tráfego e

carga

73

Colisões de nomes

74

Consistência

74

A

História do BIND

75

Na prática, como funciona:

76

BIND – Berkeley Internet Name Domain

76

Zonas ou Zone

76

Domínio

76

Servidores Primários e Secundários

77

A

BIBLIOTECA RESOLVER

77

ESTRUTURA DE ARQUIVOS

78

Arquivos de

Configuração

79

Trabalhando com o arquivo named.conf

79

Estrutura do named.conf

80

Exemplo do arquivo freesoftware.conf

80

Restringindo acesso a hosts para transferência de zonas

81

Iniciando o Serviço do BIND

84

Visualizando os Logs no Servidor de Nomes

84

Entendendo os logs

85

Visualizando e Entendendo o LOG de transferência de zonas

86

Trabalhando com TSIG e DNSSEC para transferência de zonas

87

Recursos Especiais do BIND

91

Trabalhando com Round Robin

92

Trabalhando com Forwarders

93

Referências Utilizadas:

94

3

Curso de DNS – Domain Name Server

O Sistema Operacional

O Sistema Operacional é o conjunto de programas que fazem a interface

do usuário e seus programas com o computador. Ele é responsável pelo gerenciamento de recursos e periféricos (como memória, discos, arquivos,

impressoras, CD-ROMs, etc.), interpretação de mensagens e a execução de programas.

No Linux o Kernel mais o conjunto de ferramentas GNU compõem o Sistema Operacional. O kernel (que é a base principal de um sistema operacional), poderá ser construído de acordo com a configuração do seu computador e dos periféricos que possui.

O Linux

O Linux é um sistema operacional criado em 1991 por Linus Torvalds na

universidade de Helsinki na Finlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu código fonte é liberado como Free Software (software livre) o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele está proibido de fazer a comercialização do sistema.

Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é crime fazer cópias para instalar em outros computadores, nós inclusive incentivamos você a fazer isto. Ser um sistema de código aberto pode explicar a performance, estabilidade e velocidade em que novos recursos são adicionados ao sistema.

Para rodar o Linux você precisa, no mínimo, de um computador 386 SX com 2 MB de memória e 40MB disponíveis em seu disco rígido para uma instalação básica e funcional.

O sistema segue o padrão POSIX que é o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux você não encontrará muita dificuldade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema.

O código fonte aberto permite que qualquer pessoa veja como o sistema

funciona (útil para aprendizado), corrija alguma problema ou faça alguma sugestão sobre sua melhoria, esse é um dos motivos de seu rápido crescimento, do aumento da compatibilidade de periféricos (como novas placas

sendo suportadas logo após seu lançamento) e de sua estabilidade.

Outro ponto em que ele se destaca é o suporte que oferece a placas, CD- Roms e outros tipos de dispositivos de última geração e mais antigos (a maioria deles já ultrapassados e sendo completamente suportados pelo sistema operacional). Este é um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanços tecnológicos com as máquinas que possui.

4

Curso de DNS – Domain Name Server

Hoje o Linux é desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuição ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e também ajuda na coordenação entre os desenvolvedores.

O suporte ao sistema também se destaca como sendo o mais eficiente e rápido do que qualquer programa comercial disponível no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Você pode se inscrever em uma lista de discussão e relatar sua dúvida ou alguma falha, e sua mensagem será vista por centenas de usuários na Internet e algum irá te ajudar ou avisará as pessoas responsáveis sobre a falha encontrada para devida correção.

Algumas Características do Linux

É livre e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento deste sistema operacional.

Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas comerciais existentes.

Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com o DOS, Windows, OS/2) no mesmo computador.

Multitarefa real.

Multiusuário.

Suporte a nomes extensos de arquivos e diretórios (255 caracteres).

Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc.

Proteção entre processos executados na memória RAM.

Suporte a mais de 63 terminais virtuais (consoles).

Modularização - O GNU/Linux somente carrega para a memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa/dispositivo é finalizado.

Devido a modularização, os drivers dos periféricos e recursos do sistema podem ser carregados e removidos completamente da memória RAM a qualquer momento. Os drivers (módulos) ocupam pouco espaço quando carregados na memória RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo).

Não há a necessidade de se reiniciar o sistema após modificar a configuração de qualquer periférico ou parâmetros de rede. Somente é necessário reiniciar o sistema no caso de uma instalação interna de um novo

5

Curso de DNS – Domain Name Server

periférico, falha em algum hardware (queima do processador, placa mãe, etc.) ou atualização do Kernel.

Não precisa de um processador potente para funcionar. O sistema roda bem em computadores 386Sx 25 com 4MB de memória RAM (sem rodar o sistema gráfico X, que é recomendado 8MB de RAM). Já pensou no seu desempenho em um 486 ou Pentium ;-)

O crescimento e novas versões do sistema não provocam lentidão, pelo contrário, a cada nova versão os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos úteis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x).

Não é requerida uma licença para seu uso. O GNU/Linux é licenciado de acordo com os termos da GPL.

Acessa sem problemas discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac, etc.

Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM.

NÃO EXISTEM VÍRUS NO LINUX! Em 13 anos de existência, nunca foi registrado NENHUM tipo de vírus neste sistema. Isto tudo devido a grande segurança oferecida pelas permissões de acesso do sistema que funcionam inclusive durante a execução de programas.

Rede TCP/IP mais rápida que no Windows e tem sua pilha constantemente melhorada. O GNU/Linux tem suporte nativo a redes TCP/IP e não depende de uma camada intermediária como o WinSock. Em acessos via modem a Internet, a velocidade de transmissão é 10% maior.

Jogadores do Quake ou qualquer outro tipo de jogo via Internet preferem o GNU/Linux por causa da maior velocidade do Jogo em rede. É fácil rodar um servidor Quake em seu computador e assim jogar contra vários adversários via Internet.

Roda aplicações DOS através do DOSEMU. Para se ter uma idéia, é possível dar o boot em um sistema DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema.

Roda aplicações Windows através do WINE.

Suporte a dispositivos infravermelho.

Suporte a rede via rádio amador.

Suporte a dispositivos Plug-and-Play.

Suporte a dispositivos USB.

Vários tipos de firewalls de alta qualidade e com grande poder de segurança de graça.

Roteamento estático e dinâmico de pacotes.

Ponte entre Redes.

6

Curso de DNS – Domain Name Server

Proxy Tradicional e Transparente.

Possui recursos para atender a mais de um endereço IP na mesma placa de rede, sendo muito útil para situações de manutenção em servidores de redes ou para a emulação de "mais computadores" virtualmente.

O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usuário que se conecta tem a impressão que a rede possui servidores diferentes.

O sistema de arquivos usado pelo GNU/Linux (Ext3) organiza os arquivos de forma inteligente evitando a fragmentação e fazendo-o um poderoso sistema para aplicações multi-usuárias exigentes e gravações intensivas e ainda possui o recurso de Kjournal File System.

Permite a montagem de um servidor Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, é distribuído gratuitamente junto com o Linux. O mesmo acontece com o Sendmail.

Por ser um sistema operacional de código aberto, você pode ver o que o código fonte (o que foi digitado pelo programador) faz e adaptá-lo as suas necessidades ou de sua empresa. Esta característica é uma segurança a mais para empresas sérias e outros que não querem ter seus dados roubados (você não sabe o que um sistema sem código fonte faz na realidade enquanto esta processando o programa).

Suporte a diversos dispositivos e periféricos disponíveis no mercado, tanto os novos como obsoletos.

Pode ser executado em 10 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, S/390. Risc, Sparc, etc.).

Consultores técnicos especializados no suporte ao sistema espalhados por todo o mundo.

Entre muitas outras características que você descobrirá durante o uso do sistema.

TODOS OS ÍTENS DESCRITOS ACIMA SÃO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE SEU FUNCIONAMENTO.

Distribuições do Linux

kernel GNU/Linux não é suficiente para se ter uma sistema

funcional, mas é o principal.

Existem grupos de pessoas, empresas e organizações que decidem "distribuir" o Linux junto com outros programas essenciais (como por exemplo editores gráficos, planilhas, bancos de dados, ambientes de programação,

o

7

Curso de DNS – Domain Name Server

formatação de documentos, firewalls, etc).

Este é o significado básico de distribuição. Cada distribuição tem sua característica própria, como o sistema de instalação, o objetivo, a localização de programas, nomes de arquivos de configuração, etc. A escolha de uma distribuição é pessoal e depende das necessidades de cada um.

Algumas distribuições bastante conhecidas são: Slackware, Debian, Red Hat, Conectiva, Suse, Monkey, todas usando o SO Linux como kernel principal (a Debian é uma distribuição independente de kernel e pode ser executada sob outros kernels, como o GNU hurd).

A escolha de sua distribuição deve ser feita com muita atenção, não adianta muita coisa perguntar em canais de IRC sobre qual é a melhor distribuição, ser levado pelas propagandas, pelo vizinho, etc. O melhor caminho para a escolha da distribuição, acredito eu, seria perguntar as características de cada uma e porque essa pessoa gosta dela ao invés de perguntar qual é a melhor, porque quem lhe responder isto estará usando uma distribuição que se encaixa de acordo com suas necessidade e esta mesma distribuição pode não ser a melhor para lhe atender.

Segue abaixo as características de algumas distribuições seguidas do site principal e endereço ftp:

Debian http://www.debian.org/ - Distribuição desenvolvida e atualizada através do esforço de voluntários espalhados ao redor do mundo, seguindo o estilo de desenvolvimento GNU/Linux. Por este motivo, foi adotada como a distribuição oficial do projeto GNU. Possui suporte a língua Portuguesa, é a única que tem suporte a 10 arquiteturas diferentes (i386, Alpha, Sparc, PowerPc, Macintosh, Arm, etc.) e aproximadamente 15 sub-arquiteturas. A instalação da distribuição pode ser feita tanto através de Disquetes, CD- ROM, Tftp, Ftp, NFS ou através da combinação de vários destes em cada etapa de instalação.

Acompanha mais de 4350 programas distribuídos em forma de pacotes divididos em 4 CDs binários e 2 de código fonte, cada um destes programas são mantidos e testados pela pessoa responsável por seu empacotamento. Os pacotes são divididos em diretórios de acordo com sua categoria e gerenciados através de um avançado sistema de gerenciamento de pacotes (o dpkg) facilitando a instalação e atualização de pacotes. Possui tanto ferramentas para administração de redes e servidores quanto para desktops, estações multimídia, jogos, desenvolvimento, web, etc.

A atualização da distribuição ou de pacotes individuais pode ser feita facilmente através de 2 comandos, não requerendo adquirir um novo CD para usar a última versão da distribuição. É a única distribuição não comercial onde todos podem contribuir com seu conhecimento para o seu desenvolvimento. Para gerenciar os voluntários, conta com centenas de listas de discussão envolvendo determinados desenvolvedores das mais

8

Curso de DNS – Domain Name Server

diversas partes do mundo.

São feitos extensivos testes antes do lançamento de cada versão para atingir um alto grau de confiabilidade. As falhas encontradas nos pacotes podem ser relatados através de um sistema de tratamento de falhas que encaminha a falha encontrada diretamente ao responsável para avaliação

e correção. Qualquer um pode receber a lista de falhas ou sugestões sobre

a distribuição cadastrando-se em uma das lista de discussão que tratam

especificamente da solução de falhas encontradas na distribuição (disponível na página principal da distribuição).

Os pacotes podem ser instalados através de Tarefas contendo seleções de pacotes de acordo com a utilização do computador (servidor Web, desenvolvimento, TeX, jogos, desktop, etc.), Perfis contendo seleções de pacotes de acordo com o tipo de usuário (programador, operador, etc.), ou através de uma seleção individual de pacotes, garantindo que somente os pacotes selecionados serão instalados fazendo uma instalação enxuta.

Existe um time de desenvolvedores com a tarefa específica de monitorar atualizações de segurança em serviços (apache, sendmail, e todos os outros 8000 pacotes)que possam compromenter o servidor, deixando-o vulnerável a ataques. Assim que uma falha é descoberta, é enviado uma alerta (DSA - Debian Security Alert) e disponibilizada uma atualização para correção das diversas versões da Debian. Isto é geralmente feito em menos de 48 horas desde a descoberta da falha até a divulgação da correção. Como quase todas as falhas são descobertas nos programas, este método também pode ser usado por administradores de outras distribuições para manterem seu sistema seguro e atualizado.

O suporte ao usuário e desenvolvimento da distribuição são feitos através de listas de discussões e canais IRC. Existem uma lista de consultores habilitados a dar suporte e assistência a sistemas Debian ao redor do mundo.

ftp://ftp.debian.org/ - Endereço Ftp para download.

Conectiva

http://www.conectiva.com.br/

ftp://ftp.conectiva.com.br/

Libranet http://www.libranet.com/ - Distribuição baseada na Debian GNU/Linux oferecendo as principais características da distribuição Debian. São empacotadas os aplicativos mais utilizados da Distribuição Debian em um único CD, você pode ter um desktop completo sendo executado em pouco tempo.

9

Curso de DNS – Domain Name Server

As atualizações de softwares são feitas gratuitamente. O sistema de gerenciamento de pacotes Debian permite o gerenciamento de atualizações automaticamente.

Slackware

http://www.slackware.com/

Volkerding, desenvolvida para alcançar facilidade de uso e estabilidade como prioridades principais. Foi a primeira distribuição a ser lançada no mundo e costuma trazer o que há de mais novo enquanto mantém uma certa tradição, provendo simplicidade, facilidade de uso e com isso

Patrick

Distribuição

desenvolvida

-

por

flexibilidade e poder.

Desde a primeira versão lançada em Abril de 1993, o Projeto Slackware Linux tem buscado produzir a distribuição Linux mais UNIX-like, ou seja, mais parecida com UNIX. O Slackware segue os padrões Linux como o Linux File System Standard, que é um padrão de organização de diretórios

e arquivos para as distribuições.

Enquanto as pessoas diziam que a Red Hat era a melhor distribuição para

o usuário iniciante, o Slackware é o melhor para o usuário mais "velho", ou

seja programadores, administradores, etc.

ftp://ftp.slackwarebrasil.org/linux/slackware/

Slackware.

-

Ftp

da

distribuição

SuSE http://www.suse.com/ - Distribuição comercial Alemã com a coordenação sendo feita através dos processos administrativos dos desenvolvedores e

de seu braço norte-americano. O foco da Suse é o usuário com conhecimento técnico no Linux (programador, administrador de rede, etc.)

e as corporações.

A distribuição possui suporte ao idioma e teclado Português, mas não inclui (até a versão 6.2) a documentação em Português. Eis a lista de idiomas suportados pela distribuição: English, Deutsch, Français, Italiano, Espanholñ, Português, Português Brasileiro, Polski, Cesky, Romanian, Slovensky, Indonésia.

Sua instalação pode ser feita via CD-ROM ou CD-DVD (é a primeira distribuição com instalação através de DVD).

Uma média de 1500 programas acompanham a versão 6.3 distribuídos em 6 CD-ROMs. O sistema de gerenciamento de pacotes é o RPM padronizado. A seleção de pacotes durante a instalação pode ser feita através da seleção do perfil de máquina (developer, estação kde, gráficos, estação gnome, servidor de rede, etc.) ou através da seleção individual de pacotes.

10

Curso de DNS – Domain Name Server

A atualização da distribuição pode ser feita através do CD-ROM de uma nova versão ou baixando pacotes de ftp://ftp.suse.com/. Usuários registrados ganham direito a suporte de instalação via e-mail. A base de dados de suporte também é excelente e está disponível na web para qualquer usuário independente de registro.

ftp://ftp.suse.com/ - Ftp da distribuição SuSE.

Red Hat http://www.redhat.com/

ftp://ftp.redhat.com/

Software Livre

(tradução do texto Linux e o Sistema GNU de Richard Stallman obtido no site do CIPSGA: http://www.cipsga.org.br). O projeto GNU começou há 12 anos atrás com o objetivo de desenvolver um sistema operacional Unix-like totalmente livre. Livre se refere à liberdade, e não ao preço; significa que você está livre para executar, distribuir, estudar, mudar e melhorar o software.

Um sistema Unix-like consiste de muitos programas diferentes. Nós achamos alguns componentes já disponíveis como softwares livres -- por exemplo, X Window e TeX. Obtemos outros componentes ajudando a convencer seus desenvolvedores a tornarem eles livres -- por exemplo, o Berkeley network utilities. Outros componentes nós escrevemos especificamente para o GNU -- por exemplo, GNU Emacs, o compilador GNU C, o GNU C library, Bash e Ghostscript. Os componentes desta última categoria são "software GNU". O sistema GNU consiste de todas as três categorias reunidas.

O projeto GNU não é somente desenvolvimento e distribuição de alguns softwares livres úteis. O coração do projeto GNU é uma idéia: que software deve ser livre, e que a liberdade do usuário vale a pena ser defendida. Se as pessoas têm liberdade mas não a apreciam conscientemente, não irão mantê- la por muito tempo. Se queremos que a liberdade dure, precisamos chamar a atenção das pessoas para a liberdade que elas têm em programas livres.

O método do projeto GNU é que programas livres e a idéia da liberdade dos usuários ajudam-se mutuamente. Nós desenvolvemos software GNU, e conforme as pessoas encontrem programas GNU ou o sistema GNU e comecem a usá-los, elas também pensam sobre a filosofia GNU. O software mostra que a idéia funciona na prática. Algumas destas pessoas acabam concordando com a idéia, e então escrevem mais programas livres. Então, o software carrega a idéia, dissemina a idéia e cresce da idéia.

Em 1992, nós encontramos ou criamos todos os componentes principais

11

Curso de DNS – Domain Name Server

do sistema exceto o kernel, que nós estávamos escrevendo. (Este kernel consiste do microkernel Mach mais o GNU HURD. Atualmente ele está funcionando, mas não está preparado para os usuários. Uma versão alfa deverá estar pronta em breve.)

Então o kernel do Linux tornou-se disponível. Linux é um kernel livre escrito por Linus Torvalds compatível com o Unix. Ele não foi escrito para o projeto GNU, mas o Linux e o quase completo sistema GNU fizeram uma combinação útil. Esta combinação disponibilizou todos os principais componentes de um sistema operacional compatível com o Unix, e, com algum trabalho, as pessoas o tornaram um sistema funcional. Foi um sistema GNU variante, baseado no kernel do Linux.

Ironicamente, a popularidade destes sistemas desmerece nosso método de comunicar a idéia GNU para as pessoas que usam GNU. Estes sistemas são praticamente iguais ao sistema GNU -- a principal diferença é a escolha do kernel. Porém as pessoas normalmente os chamam de "sistemas Linux (Linux systems)". A primeira impressão que se tem é a de que um "sistema Linux" soa como algo completamente diferente de "sistema GNU", e é isto que a maioria dos usuários pensam que acontece.

A maioria das introduções para o "sistema Linux" reconhece o papel desempenhado pelos componentes de software GNU. Mas elas não dizem que

o sistema como um todo é uma variante do sistema GNU que o projeto GNU

vem compondo por uma década. Elas não dizem que o objetivo de um sistema Unix-like livre como este veio do projeto GNU. Daí a maioria dos usuários não saber estas coisas.

Como os seres humanos tendem a corrigir as suas primeiras impressões menos do que as informações subseqüentes tentam dizer-lhes, estes usuários que depois aprendem sobre a relação entre estes sistemas e o projeto GNU ainda geralmente o subestima.

Isto faz com que muitos usuários se identifiquem como uma comunidade separada de "usuários de Linux", distinta da comunidade de usuários GNU. Eles usam todos os softwares GNU; de fato, eles usam quase todo o sistema GNU; mas eles não pensam neles como usuários GNU, e freqüentemente não pensam que a filosofia GNU está relacionada a eles.

Isto leva a outros problemas também -- mesmo dificultando cooperação com a manutenção de programas. Normalmente quando usuários mudam um programa GNU para fazer ele funcionar melhor em um sistema específico, eles mandam a mudança para o mantenedor do programa; então eles trabalham com o mantenedor explicando a mudança, perguntando por ela, e às vezes

reescrevendo-a para manter a coerência e mantenebilidade do pacote, para ter

o patch instalado.

Mas as pessoas que pensam nelas como "usuários Linux" tendem a lançar uma versão "Linux-only" do programa GNU, e consideram o trabalho terminado. Nós queremos cada e todos os programas GNU que funcionem "out of the box" em sistemas baseados em Linux; mas se os usuários não ajudarem, este objetivo se torna muito mais difícil de atingir.

12

Curso de DNS – Domain Name Server

Como deve o projeto GNU lidar com este problema? O que nós devemos fazer agora para disseminar a idéia de que a liberdade para os usuários de computador é importante?

Nós devemos continuar a falar sobre a liberdade de compartilhar e modificar software -- e ensinar outros usuários o valor destas liberdades. Se nós nos beneficiamos por ter um sistema operacional livre, faz sentido para nós pensar em preservar estas liberdades por um longo tempo. Se nós nos beneficiamos por ter uma variedade de software livres, faz sentido pensar sobre encorajar outras pessoas a escrever mais software livre, em vez de software proprietário.

Nós não devemos aceitar a idéia de duas comunidades separadas para GNU e Linux. Ao contrário, devemos disseminar o entendimento de que "sistemas Linux" são variantes do sistema GNU, e que os usuários destes sistemas são tanto usuários GNU como usuários Linux (usuários do kernel do Linux). Usuários que têm conhecimento disto irão naturalmente dar uma olhada na filosofia GNU que fez estes sistemas existirem.

Eu escrevi este artigo como um meio de fazer isto. Outra maneira é usar os termos "sistema GNU baseado em Linux (Linux-based GNU system)" ou "sistema GNU/Linux (GNU/Linux system)", em vez de "sistema Linux", quando você escreve sobre ou menciona este sistema.

13

Curso de DNS – Domain Name Server

Instalação do GNU/Debian Linux 3.0 r2

Menu de Instalação – Selecionando a Imagem de Instalação

de Instalação – Selecionando a Imagem de Instalação Figura 1.0 Na figura 1.0, estaremos efetuando a

Figura 1.0

Na figura 1.0, estaremos efetuando a instalação do Sistema Operacional GNU/Debian Linux 3.0 r2.

Existem muitas imagens de instalação do GNU/Debian Linux. Caso deseje listar as imgens, pressione a tecla <F3>.

Estaremos

utilizando

a

imagen

“bf24”,

GNU/Debian Linux com o kernel 2.4.

14

utilizada

para

instalar

o

Curso de DNS – Domain Name Server

Menu de Instalação – Seleção de Ídioma

Name Server Menu de Instalação – Seleção de Ídioma Figura 1.1 Na figura 1.1, estaremos selecionando

Figura 1.1

Na figura 1.1, estaremos selecionando nosso idioma para a instalação do Sistema Operacional GNU/Debian Linux 3.0 r2.

Conforme descrito na figura 1.0, estaremos selecionando a opção “pt”, ou seja, Português.

15

Curso de DNS – Domain Name Server

Menu de Instalação – Seleção de Ídioma e Teclado

Menu de Instalação – Seleção de Ídioma e Teclado Figura 1.2 Na figura 1.2, estaremos selecionando

Figura 1.2

Na figura 1.2, estaremos selecionando nosso idioma e teclado para a instalação do Sistema Operacional GNU/Debian Linux 3.0 r2.

Conforme

descrito

na

figura

“Brasileiro (teclado padrão ABNT2).

1.1,

estaremos

selecionando

a

opção

Para quem possui teclado “Americano Internacional”, escolha a opção “Brasileiro (teclado padrão EUA).

16

Curso de DNS – Domain Name Server

Menu de Instalação – Notas de Lançamento

Name Server Menu de Instalação – Notas de Lançamento Figura 1.3 Na figura 1.3 nos fornece

Figura 1.3

Na

figura

1.3

nos

fornece

algumas

Operacional GNU/Debian Linux.

Podemos seguir adiante

17

informações

sobre

o

Sistema

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do Teclado

Server Menu de Instalação – Configuração do Teclado Figura 1.4 ou particionar o disco rígido, estaremos

Figura 1.4

ou

particionar o disco rígido, estaremos reconfigurando nosso teclado para

Brasileiro padrão ABNT2.

Na

figura

1.4,

podemos

reconfigurar

nosso

teclado

novamente

18

Curso de DNS – Domain Name Server

Menu de Instalação – Selecionar Teclado

Name Server Menu de Instalação – Selecionar Teclado Figura 1.5 Na figura 1.5, estaremos selecionando nosso

Figura 1.5

Na figura 1.5, estaremos selecionando nosso teclado “qwerty/br-abnt2 :

Brasileiro (layout ABNT2)”.

19

Curso de DNS – Domain Name Server

Menu de Instalação – Particionar Disco Rígido

Server Menu de Instalação – Particionar Disco Rígido Figura 1.6 Na figura 1.6, estaremos particionando nosso

Figura 1.6

Na figura 1.6, estaremos particionando nosso disco rígido, onde iremos separar partições para a instalação do GNU/Debian Linux.

20

Curso de DNS – Domain Name Server

Menu de Instalação – Selecionar Unidade de Disco

Server Menu de Instalação – Selecionar Unidade de Disco Figura 1.7 Na figura 1.7, estaremos selecionando

Figura 1.7

Na figura 1.7, estaremos selecionando o disco no qual estaremos particionando o disco rígido e efetuando a instalação do Linux. Nesta etapa temos que tomar muito cuidado para não selecionar o disco errado, caso tenhamos mais de um.

Estaremos efetuando a instalação no disco “/dev/hdb”, que é o nosso segundo disco, conforme descrito abaixo:

Dispositivo Descrição

Dispositivo Descrição

/dev/hda

IDE – Master Primário

/dev/sda

1 unidade SCSI

/dev/hdb

IDE – Master Secundário

/dev/sdb

2 unidade SCSI

/dev/hdc

IDE – Slave Primário

/dev/sdc

3 unidade SCSI

/dev/hdd

IDE – Slave Secundário

/dev/sdd

4 unidade SCSI

21

Curso de DNS – Domain Name Server

Menu de Instalação – Limitações do LILO

Name Server Menu de Instalação – Limitações do LILO Figura 1.8 Na figura 1.8, fornece informações

Figura 1.8

Na figura 1.8, fornece informações muito importantes sobre a MBR (Master Boot Records), onde e como deve ser gravado o boot de nosso Sistema Operacional.

Leia atentamente as informações da figura 1.7, pois se estivermos efetuando uma instalação do GNU/Debian Linux ou qualquer outra distribuição em uma máquina antiga, devemos gravar o boot do Sistema Operacional nos primeiros 1024 cilindros.

22

Curso de DNS – Domain Name Server

Menu de Instalação – Informações Adicionais sobre ReiserFS

de Instalação – Informações Adicionais sobre ReiserFS Figura 1.9 Na figura 1.9, exibe algumas informações sobre

Figura 1.9

Na figura 1.9, exibe algumas informações sobre o sistema de arquivos ReiserFS.

23

Curso de DNS – Domain Name Server

Menu de Instalação – Particionar Disco Rígido

Server Menu de Instalação – Particionar Disco Rígido Figura 2.0 Na figura 2.0, estaremos efetuando o

Figura 2.0

Na figura 2.0, estaremos efetuando o particionamento de nosso disco rígido.

Nesta etapa temos que tomar muito cuidado para não apagar as partições que já existem em nosso sistema.

Criamos 3 partições para a instalação de nosso sistema GNU/Linux Debian, sendo elas:

Dispositivo

Tipo da Partição

Tamanho

Descrição

hdb11

83 – Linux

24Mb

Partição de boot

hdb12

82 – Linux Swap

256Mb

Partição de troca

hdb13

83 – Linux

3072Mb

Partição raíz

Em seguida salvamos a tabela de particionamento conforme figura 1.9.

24

Curso de DNS – Domain Name Server

Menu de Instalação – Particionar Disco Rígido

Server Menu de Instalação – Particionar Disco Rígido Figura 2.1 Na figura 2.1, após ter gravado

Figura 2.1

Na figura 2.1, após ter gravado a tabela de particionamento, iremos sair do aplicativo “cfdisk”, utilizado para particionar o disco rígido.

25

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração da Partição Swap

Menu de Instalação – Configuração da Partição Swap Figura 2.2 Na figura 2.2, iremos inicializar uma

Figura 2.2

Na figura 2.2, iremos inicializar uma partição Swap.

O GNU/Debian Linux detecta automaticamente a partição Swap.

26

Curso de DNS – Domain Name Server

Menu de Instalação – Checar Blocos Defeituosos

Server Menu de Instalação – Checar Blocos Defeituosos Figura 2.3 Na figura 2.3, temos a opção

Figura 2.3

Na figura 2.3, temos a opção de checar blocos defeituosos no disco. Apesar de ser uma tarefa demorada, é recomendado checar blocos defeituosos em discos novos, pois os mesmos nunca foram utilizados é não sabemos se existe erros.

27

Curso de DNS – Domain Name Server

Menu de Instalação – Formatar Dispositivo Selecionado

Menu de Instalação – Formatar Dispositivo Selecionado Figura 2.4 Na figura 2.4, será formatado o dispositivo

Figura 2.4

Na figura 2.4, será formatado o dispositivo “/dev/hdb12” e será utilizado o sistema de arquivos Linux Swap, portanto, todos os dados existentes no dispositivo serão apagados.

28

Curso de DNS – Domain Name Server

Menu de Instalação – Inicializar Dispositivo do Sistema

Menu de Instalação – Inicializar Dispositivo do Sistema Figura 2.5 Na figura 2.5, iremos inicializar outro

Figura 2.5

Na figura 2.5, iremos inicializar outro dispositivo, pois até agora só configuramos a Partição Swap.

O próximo dispositivo a ser selecionado, será a partição raíz ( / ) do Sistema Operacional GNU/Debian Linux, portanto se você deseja criar partições separadas para alguns diretórios (ex.: /home /var /tmp /boot), não se esqueça que a próxima partição a ser inicializada após a Swap é a Raíz ( / ), onde ficarão os demais diretórios.

29

Curso de DNS – Domain Name Server

Menu de Instalação – Tipo de Sistema de Arquivos

Server Menu de Instalação – Tipo de Sistema de Arquivos Figura 2.6 Na figura 2.6, iremos

Figura 2.6

Na figura 2.6, iremos escolher o sistema de arquivos para o dispositivo a ser selecionado.

Iremos utilizar o sistema de arquivos “ext3”, que possui um recurso muito importanto chamado “Kjournal File System”, onde obtemos maior segurança em eventuais queda de energia.

30

Curso de DNS – Domain Name Server

Menu de Instalação – Selecionar Dispositivo

Name Server Menu de Instalação – Selecionar Dispositivo Figura 2.7 Na figura 2.7, iremos selecionar o

Figura 2.7

Na figura 2.7, iremos selecionar o dispositivo “/dev/hda13” para ser a raíz so sistema.

31

Curso de DNS – Domain Name Server

Menu de Instalação – Checar Blocos Defeituosos

Server Menu de Instalação – Checar Blocos Defeituosos Figura 2.8 Na figura 2.8, temos a opção

Figura 2.8

Na figura 2.8, temos a opção de checar blocos defeituosos no disco. Apesar de ser uma tarefa demorada, é recomendado checar blocos defeituosos em discos novos, pois os mesmos nunca foram utilizados é não sabemos se existe erros.

32

Curso de DNS – Domain Name Server

Menu de Instalação – Formatar Dispositivo Selecionado

Menu de Instalação – Formatar Dispositivo Selecionado Figura 2.9 Na figura 2.9, será formatado o dispositivo

Figura 2.9

Na figura 2.9, será formatado o dispositivo “/dev/hdb13”, portanto, todos os dados existentes no dispositivo serão apagados.

33

Curso de DNS – Domain Name Server

Menu de Instalação – Gerando Sistema de Arquivos

Server Menu de Instalação – Gerando Sistema de Arquivos Figura 3.0 Na figura 3.0, está sendo

Figura 3.0

Na figura 3.0,

está sendo criado o sistema de arquivos “ext3”

dispositivo “/dev/hdb13”.

34

no

Curso de DNS – Domain Name Server

Menu de Instalação – Montar Dispositivo Selecionado

Menu de Instalação – Montar Dispositivo Selecionado Figura 3.1 Na figura 3.1, iremos montar o dispositivo

Figura 3.1

Na figura 3.1, iremos montar o dispositivo “/dev/hdb13” como raíz ( / ) do sistema. Será abaixo do “ / “ onde estarão os demais diretórios do GNU/Linux, tais como: /boot, /var, /home, /etc, /usr, /tmp, /lib , etc

35

Curso de DNS – Domain Name Server

Menu de Instalação – Inicializar Dispositivo do Sistema

Menu de Instalação – Inicializar Dispositivo do Sistema Figura 3.2 Na figura 3.2, iremos inicializar outro

Figura 3.2

Na figura 3.2, iremos inicializar outro dispositivo, pois até agora só configuramos a Partição Swap e o “ / “, que é o suficiente para instalar o GNU/Linux, portanto, iremos também configurar um dispositivo só para os arquivos de inicialização do GNU/Linux.

O próximo dispositivo a ser selecionado, será a partição de boot ( /boot ) do Sistema Operacional GNU/Debian Linux.

36

Curso de DNS – Domain Name Server

Menu de Instalação – Selecionar Dispositivo

Name Server Menu de Instalação – Selecionar Dispositivo Figura 3.3 Na figura 3.3, iremos escolher o

Figura 3.3

Na figura 3.3, iremos escolher o sistema de arquivos para o dispositivo a ser selecionado.

Iremos utilizar o sistema de arquivos “ext3”, que possui um recurso muito importanto chamado “Kjournal File System”, onde obtemos maior segurança em eventuais queda de energia.

37

Curso de DNS – Domain Name Server

Menu de Instalação – Checar Blocos Defeituosos

Server Menu de Instalação – Checar Blocos Defeituosos Figura 3.4 Na figura 3.4, temos a opção

Figura 3.4

Na figura 3.4, temos a opção de checar blocos defeituosos no disco. Apesar de ser uma tarefa demorada, é recomendado checar blocos defeituosos em discos novos, pois os mesmos nunca foram utilizados é não sabemos se existe erros.

38

Curso de DNS – Domain Name Server

Menu de Instalação – Formatar Dispositivo Selecionado

Menu de Instalação – Formatar Dispositivo Selecionado Figura 3.5 Na figura 3.5, será formatado o dispositivo

Figura 3.5

Na figura 3.5, será formatado o dispositivo “/dev/hdb11”, portanto, todos os dados existentes no dispositivo serão apagados.

39

Curso de DNS – Domain Name Server

Menu de Instalação – Gerando Sistema de Arquivos

Server Menu de Instalação – Gerando Sistema de Arquivos Figura 3.6 Na figura 3.6, está sendo

Figura 3.6

Na figura 3.6,

está sendo criado o sistema de arquivos “ext3”

dispositivo “/dev/hdb11”.

40

no

Curso de DNS – Domain Name Server

Menu de Instalação – Montar Dispositivo Selecionado

Menu de Instalação – Montar Dispositivo Selecionado Figura 3.7 Na figura 3.7, iremos montar o dispositivo

Figura 3.7

Na figura 3.7, iremos montar o dispositivo “/dev/hdb11” como boot ( /boot ) do sistema. Será abaixo do “ /boot “ onde estarão os arquivos de inicialização do GNU/Linux.

41

Curso de DNS – Domain Name Server

Menu de Instalação – Instalar Kernel e Módulos

Server Menu de Instalação – Instalar Kernel e Módulos Figura 3.8 Na figura 3.8, iremos instalar

Figura 3.8

Na figura 3.8, iremos instalar o kernel e os módulos para que possamos dar inicio a instalação do GNU/Debian Linux

42

Curso de DNS – Domain Name Server

Menu de Instalação – CDROM

de DNS – Domain Name Server Menu de Instalação – CDROM Figura 3.9 Na figura 3.9,

Figura 3.9

Na figura 3.9, iremos instalar GNU/Debian Linux através do CDROM, pois o mesmo também pode ser instalado através de NFS, WWW ou FTP.

43

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração de Dispositivos

Menu de Instalação – Configuração de Dispositivos Figura 4.0 Na figura 4.0, iremos configurar os módulos

Figura 4.0

Na figura 4.0, iremos configurar os módulos dos dipositivos de nosso servidor, ex: placa de rede, som, vídeo, etc

Esta etapa é muito importante caso desejamos carregar algum módulo em específico para sua utilização no decorrer da instalação.

Em muitos casos, o GNU/Debian Linux pode detectar alguns dipositivos de nosso sistema, como placa de rede.

44

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração de Dispositivos

Menu de Instalação – Configuração de Dispositivos Figura 4.1 Na figura 4.1, exibe informações de que

Figura 4.1

Na figura 4.1, exibe informações de que alguns módulos já estão embutidos no kernel, ex: sistema de arquivos, cdrom, floppy, etc

45

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração de Dispositivos

Menu de Instalação – Configuração de Dispositivos Figura 4.2 Na figura 4.2, exibe os módulos que

Figura 4.2

Na figura 4.2, exibe os módulos que podem ser carregados na instalação do GNU/Debian Linux. Caso deseje carregar algum módulo, basta selecioná-lo no menu desejado.

Nesta estapa não estaremos adicionando nenhum módulo.

Os módulos que adicionarmos nesta etapa, serão carregados toda vez que inicializarmos nosso servidor, portanto, não se preocupe, pois os módulos podem ser adicionados após a instalação de nosso sistema.

46

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração de Rede

Name Server Menu de Instalação – Configuração de Rede Figura 4.3 Na figura 4.3, o GNU/Debian

Figura 4.3

Na figura 4.3, o GNU/Debian Linux detectou nossa placa de rede e estaremos configurando a mesma no decorrer da instalação.

Também temos a opção de continuar a instalação do sistema sem configurar nossa placa de rede, bastando apenas escolher a opção “Instalar o Sistema Básico”.

47

Curso de DNS – Domain Name Server

Menu de Instalação – Nome no Servidor

Domain Name Server Menu de Instalação – Nome no Servidor Figura 4.4 Na figura 4.4, estaremos

Figura 4.4

Na

figura

4.4,

estaremos

configurando

o

“hostname”

de

nosso

computador, ou seja, o nome de nosso servidor.

 

É muito importante o nome

de nosso servidor, pois ele será

uma

identificação em nossa rede e caso o mesmo esteja na Internet, será um alvo.

Por que um alvo ?

Imagine que você possui um servidor de email em sua empresa chamado “mail.freesoftware.org.br”. O nome “mail” chama muita atenção e o ideal seria colocar algum outro nome que não associa-se com email, como: smeagol, golum, ferrari, lamborguini, beta, alpha, etc

48

Curso de DNS – Domain Name Server

Menu de Instalação – Ativar Rede DHCP ou STATIC

Server Menu de Instalação – Ativar Rede DHCP ou STATIC Figura 4.5 Na figura 4.5, estaremos

Figura 4.5

Na figura 4.5, estaremos efetuando a configuração de rede de nosso servidor.

Caso deseje configurar seu servidor com um IP dinâmico, basta apenas selecionar a opção “<SIM>”, conforme decrito na figura 4.5, portanto, em um servidor, não colocamos um IP dinâmico.

Em servidores a melhor forma de evitar aborrecimentos, é configurá-lo com IP estático, ou seja, mais conhecido como IP fixo.

49

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do IP do Servidor

Menu de Instalação – Configuração do IP do Servidor Figura 4.6 Na figura 4.6, iremos atribuir

Figura 4.6

Na figura 4.6, iremos atribuir um IP para nosso servidor. OBS: Caso esteja configurando um servidor ou uma estação de trabalho que não estarão na Internet, ou o servidor tem que obrigatoriamente estar em sua rede interna, utilize sempre IP's que não são roteáveis para na Internet, ou seja, IP's inválidos, conforme tabela abaixo:

Veja RFC 1597

Classe

IP

Mascará

Classe A

10.0.0.0 a 10.255.255.255

255.0.0.0 ou /8

Classe B

172.16.0.0 a 172.31.255.255

255.255.0.0 ou /16

Classe C

192.168.0.0 a

255.255.255.0 ou /24

192.168.255.255

Figura 4.6.1

Utilizando IP's inválidos em sua rede, você evita um séria de problemas, tais como: lentidão, colisão, perda de pacotes, etc

50

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração da Mascará de Rede

Menu de Instalação – Configuração da Mascará de Rede Figura 4.7 Na figura 4.7, iremos atribuir

Figura 4.7

Na figura 4.7, iremos atribuir a mascará de rede para nosso IP.

Veja figura 4.6.1 caso esteja utilizando um endereço inválido e que não seja subnetado ou supernetado.

51

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do Gateway

Server Menu de Instalação – Configuração do Gateway Figura 4.8 Na figura 4.8, iremos atribuir um

Figura 4.8

Na figura 4.8, iremos atribuir um Gateway para nosso servidor.

Um Gateway ou um roteador são utilizados para fazer repasses de pacotes para uma outra rede ou para a Internet.

52

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do Domínio do Servidor

de Instalação – Configuração do Domínio do Servidor Figura 4.9 Na figura 4.9, iremos atribuir um

Figura 4.9

Na figura 4.9, iremos atribuir um domínio para nosso servidor.

53

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do Resolvedor de Nomes

de Instalação – Configuração do Resolvedor de Nomes Figura 5.0 Na figura 5.0, iremos atribuir um

Figura 5.0

Na figura 5.0, iremos atribuir um servidor de nomes para nosso servidor.

O servidor de nomes, mais conhecido como DNS (Domain Name Server), é utilizado na resolução de nomes na Internet, ou seja, tranforma nomes em IP's.

Você já imaginou se todo o site que você desejasse acessar, você teria que colocar o IP do mesmo em seu navegador. Por isso existem os servidores de nomes que tranforme o site “www.freesoftware.org.br” em IP “200.155.x.x”.

54

Curso de DNS – Domain Name Server

Menu de Instalação – Instalação do Sistema GNU/Debian Linux

de Instalação – Instalação do Sistema GNU/Debian Linux Figura 5.1 Na figura 5.1, GNU/Debian Linux. estaremos

Figura 5.1

Na

figura

5.1,

GNU/Debian Linux.

estaremos

iniciando

55

a

instalação

de

nosso

sistema

Curso de DNS – Domain Name Server

Menu de Instalação – Instalação do Sistema GNU/Debian Linux

de Instalação – Instalação do Sistema GNU/Debian Linux Figura 5.2 Na figura 5.2, exibe o status

Figura 5.2

Na figura 5.2, exibe o status da instalação do GNU/Debian Linux.

Um ítem interessante é que a instalação do GNU/Debian é rápido, pois ele instala o mínimo essencial para seu funcionamento perfeito.

56

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do Gerenciador de Boot

de Instalação – Configuração do Gerenciador de Boot Figura 5.3 Na figura 5.3, estaremos configurando o

Figura 5.3

Na figura 5.3, estaremos configurando o gerenciador de boot de nosso servidor.

Um gerenciador de boot é utilizado para inicializar um determinado sistema operacional. Caso tenhamos mais de um sistema operacional em nosso servidor, quem nos fornecerá a opção de qual sistema inicializar é o gerenciador de boot.

57

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do Gerenciador de Boot

de Instalação – Configuração do Gerenciador de Boot Figura 5.4 Na figura 5.4, estaremos instalando o

Figura 5.4

Na figura 5.4, estaremos instalando o gerenciador de boot na MBR (Master Boot Records).

Temos também a opção de instalar o boot no disco para você deseje utilizar um outro gerenciador de boot.

Estaremos utilizando o LILO como gerenciador de boot.

58

Curso de DNS – Domain Name Server

Menu de Instalação – Configuração do Gerenciador de Boot

de Instalação – Configuração do Gerenciador de Boot Figura 5.5 Na figura 5.5, exibe informações importantes

Figura 5.5

Na figura 5.5, exibe informações importantes sobre o gerenciador de boot, de como torná-lo mais seguro.

Após a instalação você pode editar o arquivo de configuração de boot (/etc/lilo.conf) do sistema e adicionar as seguintes linha para torná-lo mais seguro:

restricted

password=senha

Após setar estas configurações no LILO, digite “lilo” para validar as alterações.

59

Curso de DNS – Domain Name Server

Menu de Instalação – Reiniciar o Sistema

Name Server Menu de Instalação – Reiniciar o Sistema Figura 5.6 Na figura 5.6, iremos reiniciar

Figura 5.6

Na figura 5.6, iremos reiniciar o sistema, pois a instalação foi finalizada.

Temos também a opção “Criar um Disquete de Partida”, que é utilizado para inicializar o GNU/Debian Linux caso ocorra algum problema no gerenciador de boot do sistema.

Quando instalamos o sistema operacional GNU/Linux e em seguida o Windows, o gerenciador de boot do Windows sobrepõe o gerenciador de boot do GNU/Linux, e então, não conseguimos inicializar o Linux, a não ser que tenhamos o “Disquete de Partida” ou um “Rescue Disk”.

60

Curso de DNS – Domain Name Server

Menu de Instalação – Reiniciar o Sistema

Name Server Menu de Instalação – Reiniciar o Sistema Figura 5.7 Na figura 5.7, iremos reiniciar

Figura 5.7

Na figura 5.7, iremos reiniciar o sistema.

Não se esqueça de remover a mídia do leitor de CD.

61

Curso de DNS – Domain Name Server

Gerenciador de pacotes do Debian

dpkg

Iremos agora nos adaptar no GNU/Debian Linux, onde iremos ver alguns comandos úteis para instalação, consulta e exclusão de pacotes no sistema.

Nesta etapa, também iremos aprender alguns ítens de configuração do Debian, exclusivo de sua distribuição.

Listar os pacotes instalados no sistema:

# dpkg -l

Opção: L minúsculo

Listar os pacotes instalados no sistema, filtrando pelo nome:

# dpkg -l | grep <nome>

Opção: L minúsculo

Listar os pacotes instalados no sistema, que começam com “c”:

# dpkg -l | awk '{print $2}' | grep ^c

Opção: L minúsculo

Obter informações de um pacote através do dpkg e suas dependências:

# dpkg -I <pacote.deb>

Opção: i maiúsculo

Qual pacote instalou determinado aplicativo:

# dpkg -S <aplicativo>

# dpkg -S /bin/ls

Onde estão instalados os arquivos do pacote “fileutils”:

# dpkg -L fileutils

Onde serão instalados os arquivos de um determiando pacote:

62

Curso de DNS – Domain Name Server

#

dpkg -c <pacote.deb>

Instalar um pacote no sistema através do dpkg:

# dpkg -i <pacote.deb>

Remover um pacote no sistema através do dpkg:

# dpkg -r <pacote>

Remover um pacote no sistema através do dpkg e excluir todos seus arquivos:

# dpkg --purge <pacote>

Remover um pacote no sistema brutalmente através do dpkg:

# dpkg --purge --force-all <pacote>

APT

O “apt” é uma ferramenta útil para consulta, instalação e remoção de pacotes no sistema. Através do apt, conseguimos instalar um pacote e caso o mesmo apresente alguma dependência, o apt se encarrega de instalar a mesma.

Também é possível manter o sistema atualizado de uma forma bastante simples e segura, pois os pacotes atualizados foram baixados do mirror “security.debian.org”, onde contém todos os pacotes que devem ser atualizados. Normalmente, quando surge uma vulnerabilidade de algum aplicativo, a equipe de desenvolvimento do Debian se encarrega de corrigir o aplicativo bugado, e após efetuar todos os testes, disponibiliza uma nova versão do aplicativo corrigido.

Podemos utilizar o apt para manipular pacotes através de http, ftp, filesystem ou do próprio CD.

Configurando o apt:

# apt-setup

Localizando um determinado aplicativo:

63

Curso de DNS – Domain Name Server

#

apt-cache search <aplicativo>

Instalando um determinado aplicativo:

# apt-get install <aplicativo>

Reinstalando um determinado aplicativo:

# apt-get install <aplicativo> --reinstall

Removendo um aplicativo do sistema:

# apt-get remove <aplicativo>

Compilando um determinado aplicativo para gerar um pacote.deb:

# apt-get source <aplicativo> --compile

Atualizando a lista de aplicativos dos mirrors configurados:

# apt-get update

Atualizando o sistema:

# apt-get upgrade

# apt-get dist-upgrade

Arquivo de configuração dos mirrors:

64

Curso de DNS – Domain Name Server

# vi /etc/apt/sources.list

# CDROM

deb cdrom:[Debian GNU/Linux 3.0 r2 _Woody_ - Official i386 Binary-1 (20031201)]/ unstable contrib main non-US/contrib non-US/main

# Mirrors da Debian

deb http://ftp.us.debian.org/debian/ stable main non-free contrib

deb-src http://ftp.us.debian.org/debian/ stable main non-free contrib

# Mirror do site de segurança da Debian

deb http://security.debian.org/ stable/updates main contrib non-free

Onde ficam os pacotes.deb que foram baixados da Internet:

# ls /var/cache/apt/archives/

OBS.: Após ter efetuado a instalação de um aplicativo através do apt, seus pacotes, que estão localizados no diretório “/var/cache/apt/archives/”, podem ser apagados.

Também é possível migrar os pacotes de padrão RPM (RedHat Package Manager) para o Debian, utilizando o aplicativo “alien”. O nome “alien” foi uma excelente escolha, pois imaginem vocês migrando um pacote de padrão RPM para Debian (.deb). Com certeza o pacote.deb gerado pode ter se tornado um pacote de outro mundo, totalmente incompátivel com o Debian.

Deixo aqui meus parábens ao criadores do nome “alien”.

65

Marcio Garcia

Curso de DNS – Domain Name Server

Redes

Iremos agora nos adaptar aos arquivos de configuração de rede do Debian, que é diferente das outras distribuições.

Arquivo de configuração de rede e gateway:

# vi /etc/network/interfaces

# Interface Loopback e Ethernet

auto lo eth0

# Configuração da interface Loopback

iface lo inet loopback

# Configuração da Interface Ethernet

iface eth0 inet static address 192.168.100.1 netmask 255.255.255.0 gateway 192.168.100.1

Arquivo de configuração /etc/hosts:

# vi /etc/hosts

127.0.0.1

localhost

192.168.100.1

instrutor.freesoftware.org.br

instrutor

#

Suporte a IPv6

::1

ip6-localhost ip6-loopback

fe00::0 ip6-localnet ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts

Obs: É no arquivo /etc/hosts que definimos a configuração do domínio de nosso servidor.

66

Curso de DNS – Domain Name Server

Arquivo de configuração /etc/resolv.conf:

# vi /etc/resolv.conf

search freesoftware.org.br nameserver 192.168.100.23

Arquivo de configuração do nome do servidor:

# vi /etc/hostname

instrutor

Arquivo de configuração do módulo de rede:

# vi /etc/modules

# Placa de rede 3COM

3c59x

Obs: É no arquivo /etc/modules que definimos os módulos que serão carregados na inicialização do sistema.

Iniciando o serviço de rede:

# /etc/init.d/networking stop

# /etc/init.d/networking start

Checklist das configurações de rede do servidor:

# ifconfig

e lo

# route -n

# hostname

# hostname -d

# ping instrutor

# ping instrutor.freesoftware.org.br

Interfaces de rede do servidor – eth0

Tabela de rotas do servidor

Nome da servidor

Domínio do servidor

IP Ethernet tem que responder

IP Ethernet tem que responder

Obs: Esta etapa é muito importante para o funcionamento correto de nosso servidor.

Configuração do ambiente Debian

67

Curso de DNS – Domain Name Server

Iremos agora instalar e configurar o ambiente gráfico e alguns aplicativos que iremos utilizar no decorrer do curso.

Instalando e configurando o ambiente gráfico:

# apt-get install xserver-xfree86

# apt-get install x-window-system

# xf86config

Utilize caso seu ambiente gráfico não esteja corretamente configurado

Obs: O apt irá instalar e configurar todas as dependências dos aplicativos acima.

Instalando e configurando um desktop:

# apt-get install fluxbox

# vi /root/.xinitrc

fluxbox

Obs: Configuramos o desktop padrão que será inicializado ao digitarmos “startx”.

Instalando o mozilla (browser, https e email):

# apt-get install mozilla mozilla-psm mozilla-mailnews

Instalando o vim:

# apt-get install vim

# vi /root/.vimrc

:syntax on

Obs: Ao editar os arquivos de configuração com o vi, os parâmetros irão ficar coloridos.

Configurando o mapa de caracteres pt_BR para o ambiente gráfico:

68

Curso de DNS – Domain Name Server

# dpkg-reconfigure locales

# dpkg-reconfigure locales

Obs: Iremos selecionar o mapa de teclados “pt_BR ISO-8859-1”.

Configurando o mapa de caracteres pt_BR para o ambiente texto:

69

Curso de DNS – Domain Name Server

# dpkg-reconfigure console-data

# dpkg-reconfigure console-data Obs: Iremos selecionar o mapa de teclados em uma lista de opções. Obs:

Obs: Iremos selecionar o mapa de teclados em uma lista de opções.

selecionar o mapa de teclados em uma lista de opções. Obs: Selecionar a opção “qwerty”, opção

Obs: Selecionar a opção “qwerty”, opção na qual contém o layout Brasileiro.

Selecionar a opção “qwerty”, opção na qual contém o layout Brasileiro. Obs: Selecionar a opção “Brazilian”.

Obs: Selecionar a opção “Brazilian”.

70

Curso de DNS – Domain Name Server

Ralf Braga - Marcio Garcia e Alex Marcio

* Introdução à Resolução de Nomes

* Conceitos de Resolução de Nomes

* Tipos de Resolução de Nomes mais comuns (Tabela hosts e DNS)

* Importância da Resolução de Nomes

DNS - Domain Name Server - Servidor de Nomes e Domínio

* Histórico

* O que é o DNS

* Como funciona

* Domínio Direto

* Domínio Reverso

* Funções do Resolver

* Tipos de Queries

* Tipos de Registros (Resource Records)

* Principais Aplicações de DNS

* Registro de Domínios Públicos (Nacionais)

Servidores de Nomes

* Primary Name Server

* Secondary Name Server

* Root Servers

* Internal Root Server

* Caching

BIND -Berkeley Internet Name Domain

* Histórico do BIND

* Linhas e Versões

* Estrutura dos Registros

* Estrutura dos Arquivos de Configuração

BIND - Configuração Básica

* Instalação do BIND

* Configuração do Arquivo de Carga do DNS

* Configuração dos Arquivos de Banco de Dados

* Inicialização do Serviço de DNS (bind9 ou named)

* Ferramentas de Depuração e Troubleshooting

BIND - Configuração Avançada

* Diretiva Forward (Genérica, Específica, Only e First)

* Diretiva Notify (Genérica e Específica)

* Configurações de Logging

* Distribuição de Carga

* Segurança (Controle de acesso, Criptografia)

* Depuração e Troubleshooting

71

Curso de DNS – Domain Name Server

Este curso destina-se a Administradores de Redes, Analistas de TI – Tecnologia da Informação, Estudantes de Tecnologia da Informação e Ciências da Computação.

O objetivo do curso é aperfeiçoar vosso conhecimento em resolvedores de nomes, ou seja em Servidores de Nomes e domínio trazendo assim um maior controle das transações e consultas relacionadas aos Servidores DNS.

Introdução

Talvez você não conheça muito bem o DNS (Domain Name Server) – ainda – mas, sempre que entra na Internet, utiliza o serviço de DNS. Toda vez que você envia um e-mail ou navega na World Wide Web (WWW), precisa do DNS.

Enquanto os seres humanos preferem se lembrar dos nomes dos computadores, eles gostam de se comunicar por número. Na Internet, esse número tem 32 bits, entre zero e quatro bilhões, ou mais. Para um computador é fácil lembrar de tantos números, já que ele possui muita memória, o que é ideal para armazenar números. Porém, isso não é fácil para nós, seres humanos. Por exemplo, pegue aleatoriamente dez números de telefones de sua agenda e depois tente se lembrar de cada um deles. Achou difícil ? Agora, anexe códigos de área aleatórios a esses dez números de telefone. Isso demonstra o nível de dificuldade que teríamos para lembrar de dez endereços arbritários na Internet.

Esse é um dos motivos pelo qual precisamos do DNS. Ele lida com o mapeamento entre os nomes dos hosts, convenientes para nós, seres humanos, e entre os endereços na Internet, com os quais o computador lida. Na verdade, o DNS é o mecanismo padrão da Internet para anunciar e acessar todos os tipos de informações sobre hosts, não apenas endereços. E o DNS é usado por praticamente todos os softwares de interligação de redes, inclusive email; programas terminais remotos como como Telnet e SSH; programas de transferência de arquivos, como o FTP; e navegadores Web, como o Netscape Navigator e o Mozilla Navigator.

Outro recurso do DNS é que ele torna as informações do host acessíveis em toda a Internet. Manter informações sobre hosts em um arquivo formatado em um único computador só ajuda os usuários naquele computador. O DNS oferece um meio de recuperar informações remotamente de qualquer lugar da rede.

Além disso, o DNS permite que você distribua o gerenciamento de informações de hosts entre muitos sites e organizações. Você não precisa enviar seus dados a um site central ou recuperar periodicamente cópias do banco de dados “master”. Você deve simplesmente certificar-se de que sua

72

Curso de DNS – Domain Name Server

seção, chamada de zona, esteja atualizada em seus SERVIDORES DE NOMES. Seus servidores de nomes tornam seus dados de zonas disponíveis para todos os outros servidores de nomes.

Como o banco de dados é distribuído, o sistema também precisa ser capaz de localizar os dados que você procura buscando um número de possíveis localizações. O DNS fornece inteligência aos servidores de nomes para que eles possam navegar pelo banco de dados e achar os dados em qualquer zona.

Quando falamos sobre DNS, iremos no concentrar exclusivamente no BIND (Berkeley Internet Name Domain), que é a implementação das especificações do DNS.

A História do Domain Name Server

Durante a década de 1970, a ARPAnet era uma comunidade amigável, pequena, de algumas centenas de hosts. Um único arquivo, HOSTS.TXT, continha todas as informações necessárias sobre esses hosts, mapeamento de nome a endereço para cada host conectado à ARPAnet. A conhecida tabela de host do Unix, “/etc/hosts”, foi derivada do HOSTS.TXT (basicamernte eliminando campos que o Unix não usava).

O HOSTS.TXT era atualizado pelo Network Information Center do SRI (NIC) e distribuído a partir de um único host, SRI-NIC. Os administradores da ARPAnet geralmente enviavam suas mudanças por email para o NIC, e periodicamente, por FTP para o SRI-NIC e capturavam o atual HOSTS.TXT. Suas mudanças eram compiladas em um novo HOSTS.TXT um ou duas vezes por semana. À medida que a ARPAnet crescia, contudo, esse esquema tornava-se impraticável. O tamanho do HOSTS.TXT crescia em proporção do ao crescimento do número de hosts da ARPAnet. Além disso, o tráfego gerado pelo processo de atualização aumentava cada vez mais rápido; cada host adicionado significava não apenas outra linha no HOSTS.TXT, mas potencialmente outra atualização de host dp SRI-NIC.

E quando a ARPAnet mudou para protocolos TCP/IP, a população da rede explodiu. Agora, havia um milhão de problemas com o HOSTS.TXT:

Tráfego e carga

A taxa

na SRI-NIC

processadores

insustentável.

envolvidos

na

cobrada pelo tráfego da rede

distribuição

do

arquivo,

e

carga de

ficar

começava

a

73

Curso de DNS – Domain Name Server

Colisões de nomes

Não podia haver dois hosts no HOSTS.TXT com o mesmo nome. Contudo, enquanto o NIC podia atribuir endereços de uma forma que garantia suas singularidades, não tinha autoridade sobre os nomes do host. Não havia como impedir que alguém adicionasse um host com um nome conflitante e quebrasse o esquema inteiro. Se alguém adicionasse um host com o mesmo nome como mail principal, por exemplo, poderia romper com o serviço de email da ARPAnet.

Consistência

Manter a consistência do arquivo em uma rede em expanção tornou-se cada vez mais difícil. Quando um novo HOSTS.TXT atingia os mais distantes lugares da expandida ARPAnet, um host de rede alterava endereços ou surgia um novo host que os usuários queriam atingir.

não

dimensionava bem. Ironicamente, o sucesso da ARPAnet como um experimento levou o HOSTS.TXT ao fracasso e à absolescência.

O problema

maior

era

que

o

mecanismo

do

HOSTS.TXT

A direção da ARPAnet contratou pesquisadores para criar um sucessor para o HOSTS.TXT. A meta era criar um sistema que solucionasse os problemas inerente a um sistema de tabelas de hosts unificados. O novo sistema deveria permitir a administração local de dados, e ainda disponibilizar os dados globalmente. A descentralização da administração eliminaria o gargalo de um host único e liberaria o problema do tráfego. E o gerenciamento local realizaria a tarefa de manter os dados atualizados com mais facilidade. O novo sistema deveria usar um espaço de nomes hierárquico para nomear hosts, garantindo assim a singularidade dos nomes.

Paul Mockapetris, do Instituto de Ciência da Informação da Universidade de Colúmbia, era o responsável pelo projeto de arquitetura do novo sistema. Em 1984, ele liberou as RFC's 882 e 883, que descreviam o Domain Name Server. Essas RFC's foram suplantadas pela RFC's 1034 e 1035, as especificações atuais do DNS. Agora as RFC's 1034 e 1035 foram expandidas por muitas outras RFC's, descrevendo potenciais problemas de segurança, implementação e administração com o DNS, e descrevendo mecanismos para atualização dinâmica de servidores de nomes e a segurança de dados de zonas, e muito mais.

Em poucas palavras o DNS é um banco de dados distribuído. Isso permite

um controle local dos segmentos do banco de dados global, embora os dados em cada segmento estejam disponíveis em toda a rede através de um esquema cliente-servidor. Desempenhos resistentes e adequados são adquiridos por meio de reprodução e cache.

74

Curso de DNS – Domain Name Server

A História do BIND

A primeira implementação do DNS foi chamada JEEVES, escrita pelo próprio Paul Mockapetris. A implementação seguinte foi o BIND, um acrônimo de Berkeley Internet Domain, escrita para o sistema operacional do Unix BSD 4.3 de Berkeley por Kevin Dunlap. O BIND hoje é mantido pelo Internet Software Consortium.

Maiores informações sobre o Internet Software Consortium e seu trabalho com o BIND, pode ser obtida através do site: https://www.isc.org/bind.html

75

Curso de DNS – Domain Name Server

Na prática, como funciona:

Sua função é realizar a conversão de nomes para números

Exemplo:

ping www.freesoftware.org.br

PING www.freesoftware.org.br (200.200.200.200): 56 data bytes

64

bytes from 200.200.200.200: icmp_seq=1 ttl=57 time=683.9 ms

64

bytes from 200.200.200.200: icmp_seq=2 ttl=57 time=695.2 ms

64

bytes from 200.200.200.200: icmp_seq=3 ttl=57 time=828.8 ms

64

bytes from 200.200.200.200: icmp_seq=4 ttl=57 time=1042.4 ms

Ele é gerenciado por um “daemon” ou “serviço” chamado “named”, “bind” ou “bind9”, dependendo-se a distribuição do Linux ou *nix que você está utilizando. Funciona atendendo e devolvendo requisições na porta 53 sob os protocolos tcp e udp.

O DNS possui um domínio raiz (root), localizado no topo da hierarquia de

domínios, alimentado por um grupo de servidores denominados “Root Name Servers”.

Alguns conceitos:

BIND – Berkeley Internet Name Domain

No Unix o serviço de DNS é implementado através de um software chamado “BIND”, conforme descrição acima, isso é válido se estivermos falando do Software resolvedor de nomes, ou seja que rodará no Servidor de Nomes. O lado cliente do DNS é chamado de “Resolver”. Hoje em dia já existem outros serviços resolvedores (DJBDNS, PDNS), porém o mais utilizado ainda continua sendo o BIND.

Zonas ou Zone

O termo zona refere-se sempre a informações contidas em uma base de dados

do DNS.

Domínio

São identificados através de seu nome e hierarquia.

76

Curso de DNS – Domain Name Server

Exemplo:

www.freesoftware.org.br

Onde freesoftware.org.br é considerado um domínio, neste caso o “www” pode ser apontado através de um registro na base do servidor DNS ou ainda ser considerado uma chamada através do protocolo “http”, mas por hora vamos classificar essa informação como sendo um domínio, um pouco mais para a frente iremos aprender como apontar esse tipo de registro na base do DNS.

Servidores Primários e Secundários

Primário é a fonte de toda informação consultada e tem total autoridade de responder por uma informação a ele questionada desde que haja uma domínio nele existente.

Secundário - Ele transfere informações a partir de um servidor primário. Essas informações trazidas do servidor primário. Essas informações trazidas do servidor primário são armazenadas no servidor secundário localmente em arquivo. Essa tarefa é chamada de zone transfer, ou seja o servidor secundário mantém uma cópia do primário.

A BIBLIOTECA RESOLVER

É configurada através do arquivo resolv.conf. Essa configuração tem vantagem sobre outros resolvedores pois permite especificar mais de um servidor de nomes de forma que se um falhar, ele utiliza o próximo nameserver da lista.

77

Curso de DNS – Domain Name Server

ESTRUTURA DE ARQUIVOS

Curso de DNS – Domain Name Server ESTRUTURA DE ARQUIVOS 78

78

Curso de DNS – Domain Name Server

Arquivos de Configuração

named.conf

Responsável pelo apontamento e definição das zonas de domínios

dominio.conf

Este arquivo pode ou não ser utilizado como uma extensão do arquivo named.conf, podendo-se para cada domínio criar uma extensão do mesmo utilizando-se da diretiva “include”

named.ca

Arquivo responsável por armazenar os “Root Servers”

named.local

Base de dados local

db.dominio

Base de dados utilizado para cache das zonas

rev.dominio

Arquivo responsável pela resolução reversa

resolv.conf

Utilizado no cliente para definição do (s) Nameserver(s)

Trabalhando com o arquivo named.conf

Para se trabalhar com o arquivo de zonas de domínio “named.conf” é necessário que antes entendamos alguns registros:

Hint

Define um servidor como sendo cache (.)

Master

Define um servidor como sendo primário

Slave

Define um servidor como sendo secundário

Include

Inclusão de outra zona, porém configurada em outro arquivo. Esta diretiva funciona como uma extensão neste arquivo, utilizada para também para otimizar a “named.conf” quando estiver trabalhando com vários domínios.

79

Curso de DNS – Domain Name Server

Estrutura do named.conf

options {

directory “/var/named”;

};

zone “.” {

type hint;

file “named.ca”;

};

zone “0.0.127.in-addr.arpa” {

type master;

file “named.local”;

};

include “primary/freesoftware.conf”;

Neste caso fizemos a inclusão do arquivo freesoftware.conf, onde a estrutura do mesmo deverá ser parecido ou seja ter apontamento de sua zona de domínio e seu reverso.

Exemplo do arquivo freesoftware.conf

zone “freesoftware.org.br” {

type master;

file “db.freesoftware”;

};

zone “rev.sucesusp.org.br” {

type master;

file “rev.freesoftware”

80

Curso de DNS – Domain Name Server

};

Obs: A diretiva “include” serve para definir uma extensão de um determinado arquivo, neste caso o arquivo que continuará a definir a zona freesoftware.org.br será o rev.freesoftware.

Restringindo acesso a hosts para transferência de zonas

Vamos partir do princípio que um temos na empresa 2 servidores DNS. Um primário endereçado com o IP 192.168.100.1 e outro secundário com o IP 192.168.100.2. O que faz com que qualquer outro computador com o BIND instalado não receba as zonas (zone transfer) apontando um desses computadores como sendo sua zona “Master”.

Para

isso

utilizaremos

o

parâmetro

“allow-transfer”

e

permitiremos

que

somente os servidores Secundário e Primário efetuem a transferência de zona.

81

Curso de DNS – Domain Name Server

# vi /etc/bind/named.conf

options { directory "/var/cache/bind"; allow-transfer { 192.168.100.1; 192.168.100.2; }; auth-nxdomain no;

}; zone "." { type hint; file "/etc/bind/db.root";

}; zone "localhost" { type master; file "/etc/bind/db.local";

}; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127";

}; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0";

}; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255";

}; include "primary/freesoftware.conf";

82

Curso de DNS – Domain Name Server

#

vi /var/cache/bind/primary/freesoftware.conf

zone "freesoftware.org.br" IN {

 
 

type master;

 

file "zone/db.freesoftware";

 

};

zone "100.168.192.in-addr.arpa" IN {

 
 

type master;

 

file "zone/rev.freesoftware";

 

};

#

vi /var/cache/bind/zone/db.freesoftware

 

$TTL

3600

 

@

IN

SOA

freesoftware.org.br.

root.freesoftware.org.br.

 

(

 

2004200500

; Serial

3H

; Refresh

15M

; Retry

1W

; Expire

1D )

; Negative Cache TTL

@

IN

NS

freesoftware.org.br.

freesoftware.org.br.

IN

A

192.168.100.1

mail

 

IN

A

192.168.100.1

webmail

IN

A

192.168.100.1

@

IN

MX 5

mail.freesoftware.org.br.

instrutor

 

IN

A

192.168.100.1

#

vi /var/cache/bind/zone/rev.freesoftware

 

$TTL

3600

 

@

IN

SOA

freesoftware.org.br. root.freesoftware.org.br. ( 2004200500 ; Serial

 

3H

; Refresh

15M

; Retry

83

Curso de DNS – Domain Name Server

#

vi /var/cache/bind/zone/rev.freesoftware

 

1W

; Expire ; Negative Cache TTL freesoftware.org.br. freesoftware.org.br. mail.freesoftware.org.br. webmail.freesoftware.org.br.

1D )

@

IN

NS

1.100.168.192.in-addr.arpa. IN 1.100.168.192.in-addr.arpa. IN 1.100.168.192.in-addr.arpa. IN

PTR

PTR

PTR

# vi /etc/resolv.conf

search freesoftware.org.br nameserver 192.168.100.1

Iniciando o Serviço do BIND

# /etc/init.d/bind9 stop

# /etc/init.d/bind9 start

Visualizando os Logs no Servidor de Nomes

É de grande importância para a manutenção do Servidor de Nomes que o administrador visualize e audite com frequência os LOGS e ocorrências do mesmo, para tanto podemos utilizar o comando “tail” para visualizá-los.

Na distribuição Debian GNU-Linux o arquivo responsável por armazenar os LOGS do bind9 é o daemon.log, em outras distribuições ele fica armazenado no mesmo diretório porém o nome do arquivo se chama “messages”.

Exemplo:

tail -f /var/log/daemon.log

Curso de DNS – Domain Name Server

Oct 6 08:51:02 server named[7080]: command channel listening on 127.0.0.1#953

Oct

6 08:51:02 server named[7080]: zone 0.in-addr.arpa/IN: loaded serial 1

Oct

6 08:51:02 server named[7080]: zone 127.in-addr.arpa/IN: loaded serial 1

Oct 6 08:51:02 server named[7080]: zone 0.168.192.in-addr.arpa/IN: loaded serial 1

Oct

6 08:51:02 server named[7080]: zone 255.in-addr.arpa/IN: loaded serial 1

Oct

6 08:51:02 server named[7080]: zone empresa.com.br/IN: loaded serial 1

Oct

6 08:51:02 server named[7080]: zone localhost/IN: loaded serial 1

Oct

6 08:51:02 server named[7080]: running

Entendendo os logs

Neste caso vamos entender a primeira linha:

Significado

Exemplo de log

Primeiro vem a data e horário

06 de Outubro 08:51

Nome do Host/Servidor

Server

Daemon responsável por este serviço

Neste caso o “named”

PID (Process Id)

7080

Ação:

Por exemplo a linha com a expressão “listening on IPv4 interface lo, 127.0.0.1#53” informa que:

Este servidor está ouvindo através de conexões IP (Família ou Versão 4 – IPV4), através da interface lo (loopback) e do endereço 127.0.0.1 (Localhost) Na porta 53. Você também pode confirmar isso através do comando “netstat -an” ou “nmap”.

85

Curso de DNS – Domain Name Server

Visualizando e Entendendo o LOG de transferência de zonas

Oct 6 10:49:28 server named[8750]: zone 127.in-addr.arpa/IN: loaded serial 1

Oct 6 10:49:28 server named[8750]: zone 241.0.168.192.in-addr.arpa/IN: loaded serial 1

Oct 6 10:49:28 server named[8750]: zone 255.in-addr.arpa/IN: loaded serial 1

Oct 6 10:49:28 server named[8750]: zone empresa.com.br/IN: loaded serial 1

Oct 6 10:49:28 server named[8750]: zone teste.com.br/IN: loaded serial 1

Oct 6 10:49:28 server named[8750]: zone localhost/IN: loaded serial 1

Oct 6 10:49:28 server named[8750]: running

Oct 6 10:49:28 server named[8750]: zone teste.com.br/IN: sending notifies (serial 1)

Oct 6 10:49:28 server named[8750]: zone empresa.com.br/IN: sending notifies (serial 1)

Oct 6 10:56:25 server named[8750]: client 192.168.0.252#32782: transfer of 'empresa.com.br/IN': AXFR started

No exemplo de LOG acima conseguimos visualizar na última linha uma transferência de zona sendo realizado do host 192.168.0.241 para o host 192.168.0.252 para as zonas “empresa.com.br” e “teste.com.br”.

86

Curso de DNS – Domain Name Server

Trabalhando com TSIG e DNSSEC para transferência de zonas

A partir do bind 8.2 é possível trabalhar com TSIG, ou seja transações de zonas através de assinaturas (Transfer Signatures).

Trabalhando com dnssec – Inserindo criptografia ou algorítmo de hash na transferência de zonas:

DNSSEC – Este comando é utilizado para gerar 2 chaves, a chave pública e privada, porém não iremos trabalhar com criptografia assimétrica a idéia desse comando é utilizar somente as chave para ser utilizada no Servidor DNS primário e secundário.

Exemplo:

dnssec-keygen -a hmac-md5 -b 128 -n ZONE/HOST zone.com.br

Onde:

dnssec-keygen – Binário/Comando utilizado para gerar a chave com respectivo algorítmo, podendo ser utilizado os seguintes padrões e tamanhos:

RSA:

[512 a 4096]

DH:

[128 a 4096]

DSA:

[512 a 1024] e divisível por 64

HMAC-MD5: [1 a 512]

PARÂMETROS UTILIZADOS NA CRIAÇÃO DA CHAVE

-a

Tipo de algorítmo

-b

Quantidade de bits devendo ser respeitado os limites acima

-n

Para especificar o nome da ZONA ou HOST

ZONE

Nome da zona em questão

HOST

Nome do host em questão

Com isso será gerado um arquivo Kzone.com.br.+157+22977 com o nome abaixo e devido conteúdo:

zone.com.br. IN KEY 256 3 157 0Ajx59H8rCnKO1/ewCAq0g==

Onde o conteúdo dentro do parênteses (0Ajx59H8rCnKO1/ewCAq0g==) será importante para nós, se possível utilize seu editor de textos para salvar

87

Curso de DNS – Domain Name Server

somente esse conteúdo. A recomendação é que se utilize o editor de textos “vi” os parâmetros “r” (ready) e “w” (write) para importar e exportar conteúdo dos arquivos.

Bem vamos agora construir nossa zona de nome zone.com.br. Ainda no Servidor DNS Primário.

/etc/bind/named.conf

No final das declarações das zonas default, originadas juntamente com o arquivo named.conf, não importa a distribuição se o bind for 9.x insira os detalhes abaixo, conforme sua chave gerada:

key zone.com.br. { algorithm hmac-md5; secret “0Ajx59H8rCnKO1/ewCAq0g==”;

};

zone “zone.com.br” { type master; file “db.zone”; allow-transfer { key zone.com.br.;};

};

zone “200.168.192.in-addr.arpa” { type master; file “rev.zone”;

};

Criaremos agora o arquivo db.zone no diretório /var/cache/bind, para tanto adeque ao endereçamento IP (Internet Protocol) de seu Servidor DNS.

@

IN

SOA

zone.com.br. postmaster.zone.com.br. (

 

1

; Serial

604800

; Refresh

86400

2419200

604800 )

; Retry ; Expire

; Negative Cache TTL

@

IN

NS

zone.com.br.

zone.com.br.

IN

A

192.168.200.16

www

IN

A

192.168.200.16

ftp

IN

A

192.168.200.16

88

Curso de DNS – Domain Name Server

mail

IN

A

192.168.200.16

@

IN

MX 5 mail.zone.com.br.

Montando o arquivo de reverso no diretório /var/cache/bind/rev.zone

@

IN

SOA

zone.com.br. postmaster.zone.com.br. (

 

1

604800

86400

2419200

604800 )

; Serial

; Refresh

; Retry

; Expire

; Negative Cache TTL

@

IN

NS

zone.com.br.

16.200.168.192.in-addr.arpa.

IN

PTR

zone.com.br.

16.200.168.192.in-addr.arpa.

IN

PTR

mail.zone.com.br.

16.200.168.192.in-addr.arpa.

IN

PTR

www.zone.com.br.

16.200.168.192.in-addr.arpa.

IN

PTR

ftp.zone.com.br.

Montando um DNS Secundário para receber a transferência de zonas utilizando assinaturas TSIG com dnssec.

Neste caso o servidor secundário precisará reconhecer e assinar todas as transferências de zona, como se fosse uma autorização para concluir o processo de transferência de zona (zone transfer).

key zone.com.br. { algorithm hmac-md5; secret “0Ajx59H8rCnKO1/ewCAq0g==”;

};

server 192.168.200.16 { keys { zone.com.br.; };

};

zone “zone.com.br” { type slave; masters { 192.168.200.16 ; }; file “sec.zone”;

};

Criando uma zona secundária com vários domínios, porém somente alguns utilizando TSIG.

Curso de DNS – Domain Name Server

};

zone "." { type hint; file "/etc/bind/db.root";

};

zone "localhost" { type master; file "/etc/bind/db.local";

};

zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127";

};

zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0";

};

zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255";

};

key teste3.com.br. { algorithm hmac-md5; secret "wX6nGINDRpjDwChzAfLCjw=="; };

server 192.168.3.1 { keys { teste3.com.br.;};

};

zone "empresa3.com.br" { type slave; masters {192.168.3.1; }; file "db.ns2.empresa3.com.br"; notify yes;

};

zone "teste3.com.br" { type slave; masters {192.168.3.1; }; file "db.ns2.teste3.com.br";

90

Curso de DNS – Domain Name Server

notify yes;

};

No exemplo acima temos duas zonas, empresa3.com.br e teste3.com.br, porém somente a zona teste3.com.br está efetuando transferência de zonas utilizando o recursos de “TSIG”.

Podemos visualizar isso através do parâmetro (key, secret, keys e algorithm). Caso qualquer um desses parâmetros ou a chave não coincida com os mesmos dados no Servidor Primário (Master), a transferência de zona não será realizada, sendo apresentado uma mensagem de erro através dos Logs.

sendo apresentado uma mensagem de erro através dos Logs. Exercícios: Monte uma zona de DNS chamada

Exercícios:

Monte uma zona de DNS chamada fsm.org.br utilizando chave de criptografia com o algorítmo HMAC-MD5 com 256 bits e uma zona secundária permitindo a transferência de zona somente do primário e o secundário permitindo a transferência de zona somente de sua própria zona.

Recursos Especiais do BIND

Trabalhando com ACL – Access Control List

Exemplo:

acl negados { x.x.x.x; y.y.y.y; z.z.z.z; };

Obs: Toda acl tem que ser colocada fora do options

Usando ACL's para a transferência de zona

Exemplo:

allow-transfer { negados; };

allow-query { negados; };

Neste caso estamos bloqueando o acesso da acl negados

91

Curso de DNS – Domain Name Server

Trabalhando com chave de criptografia para transferência de zonas

Habilitando a chave no named.conf

key fsm.org.br. { algorithm hmac-md5; secret "MJumi7D089ZksWQjyMPuNQ=="; };

server 192.168.200.9 { keys { fsm.org.br.; };

};

Trabalhando com Round Robin

O conceito de Round Robin consiste em distribuir carga para servidores conforme discriminação do Administrador, conforme exemplo abaixo:

$TTL 3600

@ IN SOA empresa.com.br. hostmaster.empresa.com.br. ( 2003120900 ; serial

4H

; refresh

15M

; retry

1W

; expire

1D )

; minimum

@

IN

NS

empresa.com.br.

empresa.com.br.

IN

A

192.168.200.9

@

IN

NS ns1.empresa.com.br.

ns1.empresa.com.br.

IN

A

192.168.200.8

www

10

IN

A

192.168.200.9

www

20

IN

A

192.168.200.8

www

30

IN

A

192.168.200.10

ftp

IN

A

192.168.200.9

mail

IN

A

192.168.200.9

@

IN

MX 5 mail.empresa.com.br.

micro9

IN

A

192.168.200.9

Testes através do utilitário (ping) para ver se está funcionando

ping -c 3 www.empresa.com.br (repetir umas três vezes. A opção -c (count), permite enviar 3 sequências de pacotes apenas para teste. Experimente repetir essa operação 3 vezes e notar qual o endereço IP que

92

Curso de DNS – Domain Name Server

retornará.

Trabalhando com Forwarders

Syntaxe:

forwarders { 192.168.200.1; };

Obs: A opção forwarders deve ser colocada dentro do options

93

Curso de DNS – Domain Name Server

Referências Utilizadas:

http://www.dicas-unicamp.br/dicas-l/Treinamentos/dns/bibliografia.html RFC 1034 http://www.isc.org Livro – DNS e BIND (Bind9) – O'Reilly

94