segunda-feira, 11 de novembro de 2013

Configuração do DNS - Bind9

Agora que temos praticamente tudo funcionando vamos configurar o servidor DNS de forma que ele responda como autoridade sobre um domínio definido por você, e possa relacionar os nomes da rede com os IP's das máquinas.

Neste tutorial vamos criar a zona(domínio) lab3.femc, e criar entradas específicas para algumas máquinas da rede.

Primeiro confira se o pacote bind9 está instalado:

apt-get install bind9

Em seguida vamos configurar o arquivo de ocnfiguração principal do Bind:

nano /etc/bind/named.conf.local

Aqui podemos declarar a  nossa zona e os arquivos de configuração dela. O conteúdo do arquivo será este:

zone "lab3.femc" IN {
           type master;
           file "/etc/bind/db.lab3";
           allow-transfer { none; };
};

zone "XY.0.10.in-addr.arpa" {
          type master;
          file "/etc/bind/db.lab3.rev";
};

Cada parte entre chaves é a declaração de uma zona na qual o servidor responderá como autoridade. A segunda é uma zone reversa que serve para fazer consultas DNS inversas ao convencional (consultar qual o nome de determinado IP). Repare que é declarado a faixa de endereço IP da rede e não o nome de domínio como em "lab3.femc". Você deve colocar de acordo com a faixa de endereçamento da sua rede, por exemplo: Se a minha rede é 10.0.66.0 o texto na configuração da zona reversa será "66.0.10.in-addr.arpa", invertendo a ordem dos números no endereço IP dos 3 primeiros blocos.

Veja que são definidos os arquivos de configuração de cada zona, onde serão declaras as configurações adicionais.

Primeiro vamos ao arquivo "/etc/bind/db.lab3":

@ IN SOA        srv-lab3-XY.lab3.femc.    root.lab3.femc. (
  2008061645 3H 15M 1W 1D )

@ IN NS srv-lab3-XY.lab3.femc.
@ IN MX 10 srv-lab3-XY.lab3.femc.

srv-lab3-XY       IN      A       10.0.XY.A
lab3.femc.           IN      A       10.0.XY.A
www                 IN      A       10.0.XY.A
smtp                 IN      A       10.0.XY.A
email               IN      A       10.0.XY.A
servidor          IN      CNAME   srv-lab3-XY
cilente            IN    A    10.0.XY.B
Outra-maquina    IN    A    10.0.XY.C
pref                IN    A    177.36.207.3



Você deve substituir os XY de acordo com o seu número e os endereços IP de acordo com os endereços da sua rede. O "A", representa o IP definido no seu servidor, e "B" e "C" outros endereços quais quer.

Em seguida edite o arquivo de configuração da zona reversa, "/etc/bind/db.lab3.rev:

 @ IN SOA        srv-lab3-XY.lab3.femc.    root.lab3.femc. (
  2008061645 3H 15M 1W 1D )

@ IN NS srv-lab3-XY.lab3.femc.

254     IN      PTR     lab3.femc.
254     IN      PTR     srv-lab3-XY.lab3.femc.
254     IN      PTR     servidor.lab3.femc
254     IN      PTR     srv-lab3-XY
100    IN       PTR     Cliente

150    IN       PTR     OutraMaquina

Lembre-se de substituir o conteúdo pelos endereços e nome de acordo com a nomenclatura.
Assim que terminar de editar os arquivos, salve e reinicie o serviço de dns com o seguinte comando:

/etc/init.d/bind9 restart

OU

service bind9 restart

Caso ele apresente algum erro, volte nos arquivos de configuração e confira se não tem algum erro.

Se o bind reiniciou sem problemas você pode fazer login na máquina cliente e fazer os testes.
Primeiro teste se ao "pingar" um nome no qual foi definido na configuração do DNS ele será resolvido para o nome correto. Por exemplo, o nome "www" foi definido como 10.0.XY.A, então ao dar o ping o IP deve aparecer imediatamente:

ping -c 4 www.lab3.femc
PING www.lab3.femc (10.0.XY.A) 56(84) bytes of data.
64 bytes from www.lab3.femc (10.0.XY.A): icmp_req=1 ttl=64 time4.00 ms
64 bytes from www.lab3.femc (10.0.XY.A): icmp_req=1 ttl=64 time4.00 ms
64 bytes from www.lab3.femc (10.0.XY.A): icmp_req=1 ttl=64 time4.00 ms
64 bytes from www.lab3.femc (10.0.XY.A): icmp_req=1 ttl=64 time4.00 ms

Para testar a zona reversa você pode usar o comando nslookup seguido do endereço IP que deseja "perguntar":

nslookup 10.0.XY.A


domingo, 10 de novembro de 2013

Passo a passo - Rede, DHCP, DNS e Internet

Passo a passo de como configurar a Rede, o DHCP, DNS e compartilhamento de Internet no Linux.

 0) Antes de configurar a sua máquina reveja:

 - O VitualBox está configurado corretamente?
 - Você configurou as senhas de root e Aluno conforme a senha fornecida em aula?

Você deve identificar as interfaces de rede da sua máquina, o normal é que sejam eth0 e eth1, mas se você fez alguma alteração é importante saber quais nomes o sistema atribuiu às interfaces, e qual delas é rede interna e qual é rede externa.
Você pode usar o comando ifconfig para checar.

 Comandos básicos:

ifconfig                          # mostra a configuração de todas interfaces de rede
ifconfig eth0                  # mostra  configuração da eth0
ifdown eth0                   # desativa a interface eth0
ifup eth1                        # ativa a interface eth1
apt-get install mc          # Instala o pacote "mc", que vem com o editor "mcedit"
/etc/init.d/networking restart           # Recarrega o serviço de rede
dhclient eth1                 # Solicita configuração via dhcp na interface eth1


Para fazer todas essas configurações você deve estar logado como root.

1) Configurando a rede no servidor

Primeiro o servidor deve estar com as 2 interfaces de rede configuradas, para isso vamos editar o arquivo "/etc/network/interfaces"

nano /etc/network/interfaces

Dentro do arquivo você deve declarar as configurações das interfaces, sendo a interface interna com endereço manual e a externa por DHCP. O arquivo deve ter o seguinte conteúdo:

# A interface de loopback
auto lo
iface lo inet loopback

## eth0 interface da rede interna.
## configurada manualmente.
allow-hotplug eth0
iface eth0 inet static
        address  10.0.XY.254

        netmask  255.255.255.0
        network  10.0.XY.0
        broadcast 10.0.XY.255

## Interface conectada à rede da escola (modo bridge)
## Receba via DHCP a configuração
allow-hotplug eth1
iface eth1 inet dhcp

 

Lembre que você deve colocar o seu endereçamento segundo a nossa nomenclatura, substituindo XY pelo número da sua máquina.
Terminada a edição do arquivo você deve recarregar o serviço de rede do sistema:

service networking restart 
ifup lo eth0 eth1


Em seguida execute o ifconfig e veja e as interfaces estão configuradas. Se elas não aparecerem na saída do ifconfig você pode ativar uma por uma:

ifup eth0
ifup eth1

Se houver algum erro no arquivo de configuração você deve reabrir o arquivo e revisar o passo 1. O endereço configurado na interface interna deve aparecer no comando ifconfig, e o endereço fornecido pela escola via DHCP deve aparecer na interface externa (eth1).

Você pode fazer uma nova solicitação DHCP para o servidor da escola com o seguinte comando:

dhclient eth1

Não entre nos passos seguintes sem antes ter certeza de toda a configuração do passo 1 estar correta. Use o comando "ifconfig eth0" para checar se o endereço configurado na interface interna está correto, e o comando "ifconfig eth1" para checar se o servidor recebeu endereço da rede da escola por dhcp.

Se está tudo correto, teste a conexão com a internet no servidor usando o comando ping para algum host da internet. Por exemplo:

ping -c 4 www.google.com.br


2) Configuração do servidor DHCP

 Com a rede configurada no servidor, vamos configurar o serviço de DHCP. Primeiro instale o pacote:

apt-get intall isc-dhcp-server

Depois você deve abrir o arquivo "/etc/default/isc-dhcp-server" e encontrar o parâmetro "INTERFACES", onde você deve deixar apenas a interface interna, como em.

INTERFACES="eth0"


Salve o arquivo "/etc/default/isc-dhcp-server" e a abra o arquivo de configuração do servidor dhcp "/etc/dhcp/dhcpd.conf". Você pode remover todo o conteúdo original e deixar da seguinte maneira:

ddns-update-style       none;
default-lease-time      600;
max-lease-time          7200;
authoritative;
ddns-domainname "lab3.femc.";


subnet 10.0.XY.0 netmask 255.255.255.0
{
        range 10.0.XY.100 10.0.XY.150;
        option routers 10.0.XY.A;
        option domain-name-servers 10.0.XY.A;
        option broadcast-address 10.0.XY.255;
}



Lembre-se, XY é inválido para endereços IP, você deve substituí-los pelo seu número. E onde eu coloco A, você deve colocar o IP do servidor, definido anteriormente.
 
Salve o arquivo e reinicie o serviço de dhcp com o seguinte comando:

service isc-dhcp-server restart

Se ele informar algum erro será mostrado em qual parte do arquivo está o erro. Você deve voltar ao arquivo e rever. Corrija o problema e reinicie o serviço novamente.

A rede declarada no arquivo do dhcp deve ser a mesma configurada para a rede interna, de acordo com o seu endereço IP de acordo com a nomenclatura. Por exemplo, se eu configurei o endereço 10.0.55.254 para a interface interna do servidor, a rede declarada no dhcp deve ser 10.0.55.0.

3) Configuração básica do DNS

Instalar o servidor DNS para que ele funcione como um servidor de cache DNS. Basta instalar o pacote:

apt-get install bind9

Lembre que o DNS declarado no DHCP deve apontar para o servidor (com o seu endereço IP), no parâmetro "option domain-name-servers 10.0.XY.A;", para que o cliente use o servidor como servidor DNS. Por exemplo, se eu configurei o IP do servidor como 10.0.74.254, o parâmetro no dhcp seria "option domain-name-servers 10.0.74.254;".

4) Compartilhamento de internet

Para que o servidor compartilhe a conexão com a internet são necessários 2 comandos:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Lembre que onde está "eth1" você deve colocar a sua interface externa, caso tenha nome diferente de eth1.

Estes dois comandos devem ser escritos no arquivo"/etc/rc.local" antes da linha "exit 0", para que sejam executados durante o boot, e você não precise fazer de novo a cada inicialização.

Abra o arquivo e digite os comandos conforme dito:

nano /etc/rc.local

Para que a máquina cliente acesse a conexão compartilhada pelo servidor ela deve usar o mesmo como roteador (gateway), para isso na configuração do DHCP, no parâmetro "option routers 10.0.XY.A;" você deve colocar o IP do seu servidor. Por exemplo, se eu configurei o endereço 10.0.80.254 para a interface interna do servidor,o parâmetro na configuração do DHCP deve ser da seguinte maneira "option routers 10.0.80.254;".

5) Recebendo a configuração na máquina cliente

Logue como usuário root na máquina cliente, e verifique o arquivo de configuração da rede, "/etc/network/interfaces". Ele deve estar assim:

## Interface de loopback
auto lo
iface lo inet loopback

### eth0 interface da rede interna
### Recebe a configuração via DHCP do servidor.
allow-hotplug eth0
iface eth0 inet dhcp


Salve o arquivo e faça uma solicitação dhcp para que o servidor forneça a configuração, usando o comando:

dhclient eth0

Confira se a configuração foi entregue corretamente usando o comando "ifconfig" para checar o endereço.

Veja se o DNS fornecido está de acordo com o passo 3 usando o comando:

cat /etc/resolv.conf

Este comando exibe o arquivo onde deve estar o endereço ip do servidor DNS fornecido por DHCP. A linha "nameserver 10.0.XY.A", contendo o endereço do seu servidor deve aparecer.
Exemplo:

# cat /etc/resolv.conf
domain lab3.femc
search lab3.femc
nameserver 10.0.66.254

Se algo der errado confira se a máquina cliente está com a configuração do Virtual Box correta. Se ainda der errado revise os passos 0, 1 e 2 deste tutorial.

Por fim você deve testar se a máquina cliente acessa a internet. Use o ping para isso:

ping -c 4 www.google.com.br

Pronto ?


domingo, 3 de novembro de 2013

Padrões adotados na aula

Padrões adotados na aula

Nomenclatura
Tenha em mente o seu número segundo a nomenclatura sugerida na aula. XY, onde X é o número da sua fila da porta para a outra parede e Y é o número do seu computador contanto da frente ao fundo da sala.



Os nomes das máquinas

Tenha em mente o NOME das suas máquina de acordo com o seu número. Por exemplo "SRV-LAB3-32", ou "Cliente-LAB3-13".

 Os nomes de máquinas Linux são facilmente alterados editando o arquivo "/etc/hostname", ou mesmo usando o comando hostname.

# nano /etc/hostname                           ##### Edite o arquivo para alterar o nome da máquina
# hostname SRV-LAB3-45                  ##### Altera o nome da máquina para SRV-LAB3-45

Ao usar o comando hostname o nome não é alterado permanentemente, é mais recomendável alterar o arquivo, e em seguida usar o comando.



Os endereços IP

 Tenha em mente que cada aluno trabalha em uma rede diferente com faixa de endereçamento IP diferente. A sua rede deve ter o prefixo segundo a nomenclatura 10.0.XY.0
Por exemplo, as máquinas virtuais de número 25 serão configuradas com endereços IP na rede 10.0.25.0.
Nunca é demais lembrar que em aula estamos usando a máscara 255.255.255.0, então endereços terminados em ZERO (como acima) não podem ser configurados em hosts, pois representam a sub-rede. As suas máquinas podem ter endereços terminados com qualquer número entre 1 e 254.

Não se esqueça dos endereços que você mesmo escolheu para configurar as suas máquinas, você é o administrador da sua Rede! Preste atenção em qual máquina está fazendo cada configuração.

Usuários e senhas

Durante a instalação do sistema operacional é necessário configurar a senha do administrador (root no caso do Linux) e criar uma outra conta de usuário. O padrão adotado na nossa aula é que seja criado um usuário de nome "aluno".
São definidas senhas diferentes de acordo com a turma. Tenha anotado as senhas que usa na aula.
Caso a sua máquina não use este padrão corrija IMEDIATAMENTE para evitar problemas futuros.
Veja abaixo os comandos para colocar as coisas em ordem no Linux:

# passwd                                      #### Altera a renha do usuário atual, no caso o root
# passwd aluno                           ####  Altera a senha do usuário aluno

# adduser aluno                          ####  Caso não tenha o usuário aluno na sua máquina use este comando
                                                                para adicioná-lo
# deluser fulano                         ####  Caso precise remover uma conta de usuário use este comando


Use a mesma máquina

Procure sempre usar a mesma máquina todas as aulas para evitar problemas. Não defina senhas diferentes das passadas na aula, você pode acabar esquecendo e inutilizando a sua máquina, ou mesmo precisar de uma máquina que não pode usar por conta da senha. Não se esqueça de fazer uma cópia do HD virtual da sua máquina em um momento que ela esteja sem problemas.

Ao desligar a máquina

Sempre que for desligar uma máquina virtual, desligue da mesma maneira que faz com uma máquina real . NORMALMENTE. Não apenas feche a janela do Virtual Box, ela pode apresentar problemas por isso assim como uma máquina qualquer. Você pode perder arquivo salvos por exemplo.
O comando para desligar uma máquina Linux é o halt e deve ser executado como root. Se você estiver na interface gráfica poderá deligar clicando nos ícones normalmente.


Livros recomendados, o mínimo

Como dizia um professor meu: "Estudar é preciso, viver não é preciso!".

É muito fácil encontrar um "tutorial" na internet para resolver o problema como em uma receita de bolo, mas nada paga o esforço de um autor em produzir uma boa obra que lhe valerá por anos e ainda dará o norte dos passos seguintes.

A Biblioteca da Escola tem MUITOS livros, mesmo os mais antigos contém conteúdo muito atual. Tire um dia de intervalo na aula e dê uma volta na biblioteca, ficará surpreso.

Pretendo postar aqui dicas e comentários de livros que leio para ajudar algumas pessoas assim como eles me ajudaram. Vou começar recomendando a coleção do Carlos Morimoto que você pode ter como o mínimo para sua biblioteca. Eles estão quase que inteiramente disponíveis online. São livros extremamente baratos e completos em conteúdo, com texto bem agradável e humorado.


O Morimoto é o fundador do Guiadohardware.net, atual www.hardware.com.br. O livros são vendidos no seguinte endereço:

www.gdhpress.com.br

Atualmente a coleção contém 4 livros:

 - Hardware, o guia definitivo II
 - Redes, guia prático 2ªed.
 - Linux, guia prático
 - Servidores Linux, guia prático



Os outros livros não são mais impressos, mas estão inteiramente disponíveis online. Vale a pena conferir livros como SmartPhones, Guia prático e Linux, Ferramentas técnicas.
Algumas partes dos livros atuais estão abertas no site, e mesmo o que não está, é possível encontrar em artigos e dicas no enorme arquivo do site.

Cada livro tem o suprimento técnico completo, de forma clara, objetiva e agradável de se ler, e todos têm dicas e detalhes que nunca ví em outros livros. Recomendo que compre pelo menos um da coleção, principalmente o de Redes.

Aqui vai um breve comentário sobre cada um.


Hardware o guia definitivo II

Hardware é assunto fundamental para qualquer profissional da área, muito mais para  profissionais que trabalham com suporte de manutenção. Este livro conta a história da indústria do PC e em cada capítulo mostra as diferentes tecnologias e detalhes do seu funcionamento. A segunda edição é muito mais completa em termos de história, mas a primeira é mais orientado a dicas e prática, contendo os 2 capítulos finais com manutenção de notebooks e um resumo sobre Redes.
São 1066 páginas! Você pode encontrar a primeira edição de segunda mão ou mesmo lê-la online AQUI. A segunda edição pode ser comprada online. Por que estou falando sobre a primeira edição que não é mais comercializada? Por que ela tem coisas que não tem na segunda. Eu uso as duas até hoje :-)




Redes, Guia prático 2ªed

Redes também é um tema fundamental para qualquer profissional de TI. Mesmo que você seja programador, entender de Redes é muito importante, e ter o mínimo de conhecimento e prática. Este livro contém dicas e truques desde a instalação física, configuração de roteadores, e todo o resto. Em todos os livros ele aborda Windows e Linux simultaneamente. Fala sobre as principais tecnologias de acesso a internet,endereçamento IP e muito mais. Um capítulo exclusivo para redes Wireless, outro de segurança e por fim um guia completo para configuração de servidores básicos com Windows, Linux e FreeNAS.



Linux, Guia prático

O Morimoto é autoridade nacional em Linux. Escreveu outros livros sobre o tema que evoluíram para este e o livro de Servidores. Também é autor da distribuição Kurumin Linux que fez muito sucesso até 2008. Este livro tem todas as dicas pra usuários de Linux no desktop, todos os truques e problemas mais comuns. O temas são abordados a medida que ele aborda as principais distribuições (Mandriva, Fedora, CEntOS, Debian, Ubuntu, Slackware). Tem dicas de gerenciamento de pacotes, repositórios, comandos, softwares para todo tipo de trabalho, gestão de energia, problemas com drivers e hardware, e até mesmo um guia completo pra o Wine (software que executa programas e jogos do Windows no Linux).



Servidores Linux, Guia prático

Por fim temos o livro de servidores. Existem muito livros no mercado para este segmento, mas muito pouco são tão completos quanto este. Ele começa devagar explicando o mais básico, fala de hospedagem, depois aborda todos os principais serviços em detalhes, à exemplo do capítulo de Samba, o Squid e o de Apache, e termina com virtualização e hardware de servidores. Se você pretende configurar servidores Linux, definitivamente precisa deste livro.




Configuração do Virtual Box.

Vaja como o Virtual Box deve ser configurado no ambiente das nossas aulas, e outras dicas.

Preste muita atenção. Não é necessário alterar estas configurações.

 1º) Cada aluno utiliza 2 máquinas virtuais no computador. Ao criar a sua máquina deixe bem claro o nome dela identificando a sua turma, módulo, horário, etc, para que não tenhamos problemas. Você pode alterar o Nome da máquina quando quiser apenas abrindo as suas configurações.

Clique para ampliar


2º) Crie 2 máquinas com a seguinte configuração:

 - Nome contendo a turma explicitamente.
 - Sistema operacional Microsoft Windows, ou Linux Debian
 - 256 MB de memória RAM
 - Disco rígido no formato VDI, com 20GB, dinamicamente alocado.

3º) Criadas as máquinas você pode abrir a configuração de cada uma e:

 - Desabilitar Audio
 - Desabilitar o USB
 - Na guia Sistema preste atenção na ordem de boot. Deixe o CD em primeiro lugar, e em seguida o HD.
    Após a instalação apenas desmarque a opção do CD na ordem de Boot.


  - Na guia Armazenamento você deve inserir a imagem do CD do sistema operacional que vai usar.  Veja a imagem abaixo:

   Após a instalação do sistema desmarque o CD da ordem de boot na guia sistema.

 4º) Configuração da rede no Virtual box.

       A máquina que será CLIENTE tem apenas uma interface de rede, configurada como Rede Interna:


       A máquina que será SERVIDOR leva 2 (duas) interfaces de rede. A primeira em Rede interna (assim como na máquina cliente) e segunda em modo bridge:


Lembre-se que o Servidor possui 2 placas de rede. Quando estiver trabalhando com o servidor identifique qual das interfaces identificadas no sistema operacional é a que está em Rede interna e qual está em modo Bridge. Isso fará TODA a diferença quando estiver fazendo as configurações.
Se você seguiu os passos corretamente, a primeira interface (rede interna) será identificada no Linux como eth0, e a segunda (modo bridge) como eth1.



 5º) Instale o sistema operacional.


Fazendo uma cópia do HD virtual

Você pode fazer uma cópia do HD da sua máquina depois de instalada. Caso tenha algum problema será fácil recuperar. Todas as máquinas do Vbox ficam na pasta do usuário em "VirtualBox VMs". Clique no Menu Iniciar e no nome de usuário que está no topo do menu ao lado direito. Abra a pasta "VirtualBox VMs" e veja as pastas para cada máquina virtual. Identifique as pastas das suas máquinas abra elas. Copie o arquivo de extenção VDI (aquele com o ícone vermelho) e cole em uma outra pasta. Você pode criar uma pasta dentro da "VirtualBox VM's" de nome "Discos" por exemplo e deixar as copias dos HD's lá. Caso tenha algum problema com a sua máquina basta substituir o arquivo do disco.


 Dicas

 Caso você tenha dificuldades com isso, faça tudo rigorosamente como este guia.

Quando terminar de instalar o sistema e todas as configurações estiverem corretas, desligue a máquina e faça uma cópia do HD virtual.

Não é necessário nenhuma alteração nas configurações passadas aqui. A não ser desmarcar o CD na ordem de boot após a instalação do sistema.

Preste muita atenção na configuração da REDE. Revise esta configuração sempre antes de ligar a máquina. Isto pode lhe causar muita perda de tempo! 





Caso tenha duvidas use os comentários. :-)