Notas de Aula - 2011 FIAP - Uso Interno Prof. Alexander Luz Sperandio FIAP- Faculdade de Inform´ atica e Administrac ¸˜ ao Paulista Curso: Tecnologia em Redes de Computadores Disciplina: Sistema Operacional Linux Prof.: Alexander Luz Sperandio ([email protected]) Notas de aula Servidores Linux (Todas as Notas de Aula) Sum´ ario I Configurac ¸˜ ao de rede no linux 6 1 Rede no Linux 6 1.1 Configurac ¸˜ ao de interfaces ..................... 6 1.2 Tabela de roteamento ........................ 8 1.3 Arquivos de configurac ¸˜ ao da rede ................. 8 1.4 Configurac ¸˜ ao de DNS ........................ 9 2 Utilit´ arios 10 2.1 ping ................................. 10 2.2 traceroute .............................. 11 2.3 netstat ................................ 11 3 Exerc´ ıcios 11 II Servic ¸os: init e runleves 14 4 Inicializac ¸˜ ao do sistema 14 4.1 O processo init ........................... 14 4.2 Os scripts de inicializac ¸˜ ao ..................... 14 4.3 init do System V .......................... 15 4.4 Manipulando servic ¸os ........................ 16 4.5 Administrac ¸˜ ao de runlevels ..................... 16 III DHCP 17 5 DHCP 17 5.1 Introduc ¸˜ ao .............................. 17 5.2 Como funciona ........................... 17 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
FIAP- Faculdade de Informatica e Administracao PaulistaCurso: Tecnologia em Redes de ComputadoresDisciplina: Sistema Operacional LinuxProf.: Alexander Luz Sperandio ([email protected])
2Note que up pode ser omitido. Na configuracao de exemplo de eth1 sera usada a mascara-padrao.
7
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
1.2 Tabela de roteamento
• Tabela de roteamentocat /proc/net/routenetstat -rn/sbin/route -n
K er ne l IP r o u t i n g t a b l eD e s t i n a t i o n Gateway Genmask F l a g s M e t r i c Ref Use I f a c e1 9 2 . 1 6 8 . 2 . 0 0 . 0 . 0 . 0 2 5 5 . 2 5 5 . 2 5 5 . 0 U 0 0 0 e t h 11 9 2 . 1 6 8 . 0 . 0 0 . 0 . 0 . 0 2 5 5 . 2 5 5 . 2 5 5 . 0 U 0 0 0 e t h 00 . 0 . 0 . 0 1 9 2 . 1 6 8 . 0 . 1 0 . 0 . 0 . 0 UG 0 0 0 e t h 0
3Podem haver pequenas variacoes entre as distribuicoes baseadas em rpm. No CentOS o diretorioe o /etc/sysconfig/network-scripts.
4Aceita argumentos como start, stop, restart, ...; execute o script sem argumentos para saberquais sao aceitos.
8
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
# a r q u i v o / e t c / s y s c o n f i g / ne twork / i f c f g−e t h 0DEVICE= e t h 0# BOOTPROTO=dhcp # Pa ra u s a r DHCPBOOTPROTO= s t a t i c # Pa ra c o n f i g u r a c a o e s t a t i c aIPADDR = 1 9 2 . 1 6 8 . 3 . 9NETMASK= 2 5 5 . 2 5 5 . 2 5 5 . 0NETWORK= 1 9 2 . 1 6 8 . 3 . 0BROADCAST= 1 9 2 . 1 6 8 . 3 . 2 5 5GATEWAY= 1 9 2 . 1 6 8 . 3 . 2 5 4ONBOOT= yes
• Debian, Knoppix, Ubuntu, ...
– diretorio: /etc/network/
– arquivo: interfaces
– script de inicializacao:/etc/init.d/networking
# a r q u i v o / e t c / ne twork / i n t e r f a c e sa u t o l oi f a c e l o i n e t l o o p b a c k
a u t o e t h 0# i f a c e e t h 0 i n e t dhcp # Pa ra u s a r DHCPi f a c e e t h 0 i n e t s t a t i c # Pa ra c o n f i g u r a c a o e s t a t i c a
a d d r e s s 1 9 2 . 1 6 8 . 3 . 9netmask 2 5 5 . 2 5 5 . 2 5 5 . 0gateway 1 9 2 . 1 6 8 . 3 . 2 5 4# p a c o t e r e s o l v c o n f deve e s t a r i n s t a l a d o p a r a uso das l i n h a s a b a i x o .# dns−s e a r c h maths . wu . edu . au wu . edu . au# aba ixo , sao os DNS p u b l i c o s do OpenDNS (www. opendns . com )# dns−n a m e s e r v e r s 2 0 8 . 6 7 . 2 2 2 . 2 2 2 2 0 8 . 6 7 . 2 2 0 . 2 2 0
NOTA: Para a configuracao de cliente DHCP, e necessaria a instalacao dos pacotespump ou dhcp-client.
1.4 Configuracao de DNS
• DNS - Domain Name System+ converte os nomes de maquinas para enderecos IPs que todas as maquinasda Internet possuem
• /etc/resolv.conf
– lista domınios a serem pesquisados para resolver nomes incompletos(search)
– enderecos IP dos servidores DNS a serem contatados para pesquisas denomes (nameserver)
# a r q u i v o / e t c / r e s o l v . con fs e a r c h maths . wu . edu . au wu . edu . aun a m e s e r v e r 8 . 8 . 8 . 8 # E s s e s sao os DNS p u b l i c o s do Googlen a m e s e r v e r 8 . 8 . 4 . 4
9
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
Outros arquivos
• /etc/hosts+ faz a associacao entre nomes e enderecos IP
# a r q u i v o / e t c / h o s t s1 2 7 . 0 . 0 . 1 l o c a l h o s t1 9 2 . 1 6 8 . 1 . 1 0 foo . mydomain . o rg foo
• /etc/host.conf+ configuracoes para a biblioteca resolverDefine aonde a biblioteca de resolucao de nomes deve procurar primeiro aoresolver um nome. O default e procurar primeiro no arquivo /etc/hosts edepois no DNS (bind).
# a r q u i v o / e t c / h o s t . con fo r d e r h o s t s , b indm u l t i on
– order hosts,bind+ checar o arquivo /etc/hosts (parametro hosts) antes de tentar verificarum servidor de nomes (parametro bind) e retornar um IP valido
– multi on+ retorna todos os enderecos validos para um host no arquivo /etc/hosts;se off retorna apenas o primeiro
2 Utilitarios
2.1 ping
• teste para verificar a configuracao de rede
• envia pacotes “ICMP ECHO REQUEST” para hosts na rede5
$ p ing u o l . com . b rPING u o l . com . b r ( 2 0 0 . 2 2 1 . 2 . 4 5 ) 5 6 ( 8 4 ) b y t e s o f d a t a .64 b y t e s from home . u o l . com . b r ( 2 0 0 . 2 2 1 . 2 . 4 5 ) : i cmp seq =1 t t l =59 t ime =27 .9 ms64 b y t e s from home . u o l . com . b r ( 2 0 0 . 2 2 1 . 2 . 4 5 ) : i cmp seq =2 t t l =59 t ime =20 .5 ms. . .
<C t r l><C>−−− u o l . com . b r p ing s t a t i s t i c s −−−3 p a c k e t s t r a n s m i t t e d , 3 r e c e i v e d , 0% p a c k e t l o s s , t ime 2009msr t t min / avg / max / mdev = 1 5 . 3 0 9 / 7 8 . 6 6 2 / 1 9 7 . 0 5 7 / 8 3 . 7 8 6 ms$
- mostra a rota que os pacotes tomam para chegar a um host- usa pacotes UDP ou ICMPt r a c e r o u t e t o www. goo g l e . com ( 2 0 9 . 8 5 . 1 9 3 . 1 4 7 ) , 30 hops max , 40 b y t e p a c k e t s1 1 0 . 1 1 . 0 . 1 ( 1 0 . 1 1 . 0 . 1 ) 29 .304 ms 29 .412 ms 29 .502 ms2 ∗ ∗ ∗3 c9060003 . v i r t u a . com . b r ( 2 0 1 . 6 . 0 . 3 ) 40 .563 ms 40 .733 ms 40 .886 ms4 2 9 . p t t . ansp . b r ( 2 0 0 . 1 3 6 . 3 4 . 2 9 ) 45 .059 ms 47 .062 ms 47 .150 ms5 2 0 9 . 8 5 . 2 5 0 . 2 4 2 ( 2 0 9 . 8 5 . 2 5 0 . 2 4 2 ) 47 .241 ms 47 .422 ms 49 .367 ms6 2 0 9 . 8 5 . 2 5 1 . 2 1 4 ( 2 0 9 . 8 5 . 2 5 1 . 2 1 4 ) 58 .480 ms 29 .201 ms 29 .171 ms7 br−in−f147 . go og l e . com ( 2 0 9 . 8 5 . 1 9 3 . 1 4 7 ) 20 .029 ms 19 .564 ms 19 .502 ms
2.3 netstat
- mostra conexoes de rede, tabelas de roteamento, estatısticas de interfaces, ...
netstat [opcoes]
Parametro Descricao-n Mostra enderecos numericos, sem tentar resolver os
nomes da maquina, porta ou usuario;-a mostra os servicos em listening (estado ouca);-c mostra a tabela selecionada a cada segundo, continua-
mente na tela ate que voce o interrompa;-t somente servicos tcp;-u somente servicos udp;-p mostra o PID dos processos por tras dos servicos.
Exemplo:
$ n e t s t a t −napConexoes I n t e r n e t A t i v a s ( s e r v i d o r e s e e s t a b e l e c i d a s )P r o t o Recv−Q Send−Q Endereco Loca l Endereco Remoto Es t ad ot c p 0 0 0 . 0 . 0 . 0 : 8 0 0 . 0 . 0 . 0 : ∗ OUCAt c p 0 0 0 . 0 . 0 . 0 : 2 2 0 . 0 . 0 . 0 : ∗ OUCAt c p 0 0 0 . 0 . 0 . 0 : 6 3 1 0 . 0 . 0 . 0 : ∗ OUCAt c p 0 0 1 2 7 . 0 . 0 . 1 : 2 5 0 . 0 . 0 . 0 : ∗ OUCAt c p 0 0 1 9 2 . 1 6 8 . 0 . 2 : 3 2 8 3 5 6 6 . 2 4 9 . 8 3 . 1 0 9 : 4 6 5 ESTABELECIDAt c p 0 0 1 9 2 . 1 6 8 . 0 . 2 : 3 2 8 0 4 6 6 . 2 4 9 . 8 3 . 1 0 9 : 9 9 5 ESTABELECIDAt c p 0 0 1 2 7 . 0 . 0 . 1 : 8 0 1 2 7 . 0 . 0 . 1 : 3 3 1 3 6 ESTABELECIDAt c p 0 0 1 2 7 . 0 . 0 . 1 : 8 0 1 2 7 . 0 . 0 . 1 : 3 3 1 3 8 TIME WAITudp 0 0 0 . 0 . 0 . 0 : 6 8 0 . 0 . 0 . 0 : ∗udp 0 0 0 . 0 . 0 . 0 : 6 3 1 0 . 0 . 0 . 0 : ∗Domain s o c k e t s UNIX a t i v o s ( s e r v i d o r e s e e s t a b e l e c i d a s ). . .
– ha links simbolicos para eles em /etc/rc0.d/, /etc/rc1.d/ e assimpor diante
Tarefas dos scripts
• configurar o nome do computador
• configurar o fuso horario
• verificar os discos com fsck
• montar os discos do sistema
• remover arquivos de /tmp/
• configurar interfaces de rede
• iniciar daemons e servicos de rede
Esses scripts nao devem ser alterados. Para isso as configuracoes dos servicosficam em arquivos de configuracao que os scripts consultam.
Exemplo:# ! / b i n / sh# s c r i p t p a r a i n i c i a r o c l i e n t e de s e r v i c o de DNS# dinamico p a r a no−i p . com#c a s e ” $1 ” i n
s t a r t )echo ” S t a r t i n g no ip . ”/ u s r / l o c a l / b i n / no ip
; ;s t o p )
echo −n ” S h u t t i n g down no ip . ”k i l l p r o c −TERM / u s r / l o c a l / b i n / no ip
; ;∗ )
echo ” Usage : $0 { s t a r t | s t o p }”e x i t 1
e s a ce x i t 0
4.3 init do System V
• sete nıveis de execucao (runlevels);+ cada um corresponde a um diretorio /etc/rc?.d/ com um conjunto par-ticular de servicos;
– Nıvel 0 - desliga o sistema;
– Nıvel 1 - modo monousuario;
15
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
– Nıveis 2 a 5 - nıveis multiusuario;
– Nıvel 6 - reinicializa o sistema.
• O runlevel padrao e definido em /etc/inittab7;$ grep ˆ i d / e t c / i n i t t a bi d : 2 : i n i t d e f a u l t :$
• runlevel - mostra o runlevel anterior e o atual;
• telinit N - troca para runlevel N.
4.4 Manipulando servicos
• scripts aceitam argumentos como:
– start - inicializa servico
– stop - derruba servico
– restart - mesmo que stop/start; reinicia servico
– reload - recarrega arquivo de configuracao
– ...
• Exemplos de comandos:/etc/init.d/script - mostra os argumentos possıveis;/etc/init.d/script start - inicia o servico;/etc/init.d/script stop - derruba o servico.
4.5 Administracao de runlevels
• links simbolicos (criados com ln -s)
• links iniciam com S ou K seguido de numero e nome do servico+ ex.: S91apache, K08vmware
– scripts sao executados em ordem numerica
– os que iniciam com S recebem o argumento start
– os que iniciam com K recebem o argumento stop
• ferramentas de adminstracao criam os links para iniciar ou derrubar os servicosem cada runlevel.
7O ubuntu utiliza o upstart[?] ao inves do arquivo /etc/inittab.
16
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
NOTA: para que um servico nao seja iniciado em determinado runlevel basta re-mover o link ou apenas renomea-lo usando a letra inicial minuscula.
Parte III
DHCP5 DHCP
5.1 Introducao
• Dynamic Host Configuration Protocol.
• permite que um host “alugue” parametros de rede e administrativos de umservidor;
• perıodo de locacao+ clientes devem renovar sua locacao periodicamente;
– generaliza os parametros que podem ser fornecidos– adiciona o conceito de “locacao” (lease)
Como funciona o DHCP
• cliente envia a mensagem DHCPDISCOVERIP destino 255.255.255.255, IP origem 0.0.0.0
• servidores respondem com mensagem DHCPOFFER+ com sugestao de endereco e outros parametros 9
• cliente recebe DHCPOFFER e aceita enviando mensagem DHCPREQUEST
• servidor responde com ACK e aloca endereco+ ou responde com NACK (negative acknowledgment) e o cliente devereiniciar o processo de descobrimento
• antes de usar endereco, cliente verifica sua utilizacao com ARP. Se o enderecoja esta em uso, cliente envia DHCPDECLINE e reinicia negociacoes
• cliente envia DHCPREQUEST para renovar a locacao e DHCPRELEASEpara desistir da locacao
DHCP logs# c l i e n td h c l i e n t : I n t e r n e t S o f t w a r e Consor t ium DHCP C l i e n t 2 . 0 p l 5d h c l i e n t : L i s t e n i n g on LPF / e t h 0 / 0 0 : e0 : 7 d : a2 : c4 : 3 3d h c l i e n t : Send ing on LPF / e t h 0 / 0 0 : e0 : 7 d : a2 : c4 : 3 3d h c l i e n t : DHCPREQUEST on e t h 0 t o 2 5 5 . 2 5 5 . 2 5 5 . 2 5 5 p o r td h c l i e n t : DHCPACK from 1 9 2 . 1 6 8 . 0 . 1
# s e r v e rdhcpd : DHCPDISCOVER from 0 0 : 0 6 : 1 b : dc : 9 a : 0 9 v i a e t h 1dhcpd : DHCPOFFER on 1 9 2 . 1 6 8 . 2 . 1 t o 0 0 : 0 6 : 1 b : dc : 9 a : 0 9 v i a e t h 1dhcpd : DHCPREQUEST f o r 1 9 2 . 1 6 8 . 2 . 1 from 0 0 : 0 6 : 1 b : dc : 9 a : 0 9 v i a e t h 1dhcpd : DHCPACK on 1 9 2 . 1 6 8 . 2 . 1 t o 0 0 : 0 6 : 1 b : dc : 9 a : 0 9 v i a e t h 1
6 Laboratorio 1 - Servidor DHCP
6.1 Passo1 - Instalacao do servidor DHCP
Utilize as ferramentas da distribuicao em uso para instalar o servidor DHCP doISC - pacote dhcp3-server.
aptitude updateaptitude install dhcp3-server
9servidores em uma subrede diferente recebem por meio de um relayagent (agente de retrans-missao)
18
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
6.2 Passo2 - Configuracao do servidor DHCP
6.2.1 Dados da configuracao
1. Qual a rede a ser configurada (subnet)?
2. Qual a interface nessa rede?
3. Qual o intervalo de IPs a ser distribuıdo (range)?
4. Qual o gateway a ser distribuıdo (Option routers)?
5. Quais os IPs dos servidores DNS ((Option domain-name-servers))?
6.2.2 Arquivo dhcpd.conf
Para configurar o servidor DHCP e conveniente comecarmos em um arquivovazio:
• ddns-update-style none; - o sevidor DHCP pode atualizar o servidorDNS se o endereco IP de um servidor na LAN foi mudado.
No entanto, por nao ser recomendada a utilizacao de servidores com IPdinamico, esse parametro deve ser none;
• option domain-name-servers - diz ao servidor DHCP quais servidoresDNS atribuir aos clientes. Mais de um servidor DNS pode ser indicado,separados por vırgulas.
19
Notasde
Aula
-2011
FIAP
-UsoInterno
Prof
.Al
exan
der
Luz
Sper
andi
o
• default-lease-time, max-lease-time - o cliente DHCP pode requisi-tar a configuracao por um tempo determinado. Se nao fizer isso, o servi-dor atribui a configuracao de rede por default-lease-time segundos, se ofizer, recebera a configuracao por no maximo max-lease-time segundos;
• authoritative - A versao 3 do servidor DHCP e nao-autoritaria por padrao.
Isso significa que se um cliente requisita um endereco que o servidor naosabe nada a respeito e o endereco esta incorreto para aquele segmento derede, o servidor NAO enviara um DHCPNAK (que diz ao cliente que omesmo deveria parar de usar o endereco).
Para mudar esse comportamento deve-se indicar no arquivo dhcpd.conf emquais segmentos de rede o servidor DHCP sera autoritario, usando a diretivaauthoritative;
• subnet - a subrede a ser utilizada;
• range - intervalo de enderecos IP que serao atribuıdos aos clientes;
• option subnet-mask - a mascara de rede a ser utilizada;
• option routers - endereco do gateway que sera atribuıdo aos clientes.
6.2.3 Arquivo /etc/default/dhcp3-server
E preciso atribuir uma interface ao servidor DHCP para ter o servico funcio-nando. A interface e atribuıda no arquivo /etc/default/dhcp3-server.
INTERFACES="eth0 eth1"
6.3 Passo3 - Configuracao do cliente DHCP
Ha tres diferentes clientes DHCP disponıveis nas distribuicoes GNU/Linux:dhcpcd, pump e dhclient (pacote dhcp3-client - ISC, no Debian).
Instale o pacote dhcp3-client. O arquivo de configuracao do cliente DHCPdo ISC fica em /etc/dhcp3/dhclient.conf.
Usualmente, a configuracao padrao do cliente DHCP e suficiente para seu fun-cionamento. Nao modificaremos esse arquivo.
6.3.1 Configuracao de rede
O arquivo de configuracao de rede do Debian e o /etc/network/interfaces.Faca a configuracao para a utilizacao de configuracao dinamica na interface com oservidor DHCP.
20
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
# The loopback network interfaceauto loiface lo inet loopback
# The primary network interfaceauto eth0iface eth0 inet dhcp
6.4 Passo4 - Verificacao do funcionamento do servidor DHCP
Os arquivos /var/log/syslog e /var/lib/dhcp3/dhcpd.leases podem serverificados no servidor.
No lado do cliente, verifique o mesmo arquivo de log e o arquivo /var/lib/dhcp3/dhclient.leasese /var/lib/dhcp3/dhclient.eth0.leases.
7 Laboratorio 2 - vde2, qemu e DHCP
O pacote vde2 permite a criacao de um switch virtual para a conexao de variasmaquinas qemu.
Neste laboratorio, vamos instalar o pacote vde2 e testar a configuracao denosso servidor DHCP com varias maquinas conectadas em nosso switch virtual.
7.1 Passo 1 - Instalacao do qemu e vde2
Note o sımbolo # antes dos comandos. Significa que o comando deve ser ex-ecutado como root. Quando utilizado o sımbolo $, o comando deve ser executadopelo usuario.
Os scripts serverA.sh e serverX.sh utilizam o comando abaixo para levantarduas maquinas virtuais a partir da imagens indicadas nos scripts (uma maquinaDebian, versao 5 e uma CentOS, versao 5.5).
Cada uma com um endereco MAC diferente, para que se comuniquem atravesdo switch virtual. Execute os scripts acima para obter as maquinas rodando.
Se necessario, faca a configuracao manual do IP das maquinas virtuais que foramlevantadas e veja que elas conseguem se comunicar entre si (teste com ping).
7.4 Passo 4 - Configuracao do servidor DHCP e clientes
Faca a configuracao do servidor DHCP com visto no lab1-DHCP.Desta vez a interface tap0 e livre e deve ser configurada manualmente por voce
com a rede que voce escolher. Responda as perguntas do lab1-DHCP de acordocom suas escolhas para a interface tap0.
7.4.1 Verificando o servidor
• o comando netstat -na mostrara a porta udp 67 do servidor DHCP;
• o comando dhclient pode ser usado, como root, no cliente, para a obtencaoda configuracao via DHCP;
• no servidor, o arquivo de leases pode ser visto em /var/lib/dhcpd/dhcpd.leases;
• no cliente, o arquivo de leases se encontra em /var/lib/dhcp3/dhclient.leases.
7.5 Passo 5 - IP fixo para um servidor da rede
Faca a configuracao de IP fixo como demonstrado no exemplo abaixo, para umdos clientes das maquinas virtuais.
O endereco IP deve estar fora do intervalo distribuıdo anteriormente.
[1] Nemeth, E, Snyder, G, Hein, T.R., Manual Completo do Linux - Guia doAdministrador. 2a. edicao. Pearson. Sao Paulo. 2007. cap. 12, p.217-219;
[2] Timme, Falko. How To Set Up A DHCP Server For Your LAN. Disponıvelem: http://www.howtoforge.com/dhcp_server_linux_debian_sarge.Acesso em: 26 ago. 2009.
[4] Lemon, Ted. dhcpd.conf.5 - pagina de manual. Disponıvel em: http://www.bind9.net/dhcpd.conf.5. Acesso em: 28 ago. 2009.
Parte IV
DNS8 DNS - Domain Name System
8.1 Introducao
Historico
• inıcio da internet: ARPANET+ do U.S. Department of Defense
• usavam mapeamento entre nomes e enderecos em um arquivo texto+ HOSTS.TXT ê /etc/hosts+ serve para uma rede pequena, mas nao para uma crescente ARPANET
• DNS - Domain Name System
– RFCs 1034, 1035 (1987)+ especificacao basica do DNS(modificada depois por varias outras RFCs)
O DNS define:
• um espaco de nomes hierarquico para hosts e enderecos IP;
• uma tabela de hosts implementada como uma base de dados distribuıda;
• um resolvedor (“resolver”) - rotinas de biblioteca que consultam essa basede dados;
– paıses criam uma arquitetura organizacional com domınios de segundonıvel
– ex.: .br, .fr, .com.br, .co.uk, ...
8.2.2 Registro de domınio
• Autoridades de domınio de primeiro nıvel
• registrar um nome de segundo nıvel de domınio
– Brasil: http://registro.br/+ Comite Gestor da Internet no Brasil - http://www.cgi.br/
– EUA: http://www.icann.org/
– Europa: https://www.centr.org/
– ASIA/Pacıfico: http://www.apnic.net/
• Domınios de DNS “devem” (RFC 1219) ser servidos por pelo menos doisservidores
• Nomes de domınio- DNS permite 63 caracteres em cada componente- 255 caracteres em um nome completo
9 O software BIND
• versoes: BIND 4, BIND 8 e BIND 9+ BIND - Berkeley Internet Name Domain
• Desenvolvido pelo ISC - http://www.isc.org/software/bind+ Unix, Linux, Windows (NT4, 2000)+ pacote bind nas distribuicoes do Linux
• Para descobir a sua versao
> d i g @ l o c a l h o s t v e r s i o n . b ind t x t chaosv e r s i o n . b ind . 0 CH TXT ” 9 . 2 . 4 ”
> g rep named / v a r / l o g / s y s l o gAug 24 1 5 : 1 8 : 5 6 l o c a l h o s t named [ 4 6 5 8 ] : s t a r t i n g BIND 9 . 2 . 4 −u b indAug 24 1 5 : 1 8 : 5 6 l o c a l h o s t named [ 4 6 5 8 ] : u s i n g 1 CPU
• o daemon named que responde a consultas;+ o “servidor de nomes”
• rotinas de biblioteca que resolvem consultas de host entrando em contatocom servidores DNS;+ o “resolvedor (resolver)”
• interfaces de linha de comando para DNS:+ nslookup, dig e host.
9.2 Configuracao do BIND
9.2.1 Servidor cache
• armazena em cache os dados de consultas previas+ normalmente nao tem zonas locais
• reduz significativamente o tempo de espera+ especialmente em conexoes lentas
• normalmente, basta iniciar o servidor named
– /etc/init.d/bind9 start
– tail /var/log/messages+ para detectar erros de configuracao
– incluir a linha abaixo em /etc/resolv.conf
# / e t c / r e s o l v . con fn a m e s e r v e r 1 2 7 . 0 . 0 . 1
Forwarding
• configuracao de uma “forwarder hierarchy”
• o servidor de nomes repassa os pedidos para outro servidor+ ex.: o servidor DNS do seu provedor (ISP)
• inclua na secao “options” do arquivo /etc/named.conf
f o r w a r d e r s {1 0 . 0 . 0 . 1 ;1 0 . 0 . 0 . 2 ;
} ;
26
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
9.3 Arquivos de configuracao
• /etc/bind/named.conf+ arquivo de configuracao
• db.root ou root.hints, ...+ arquivo de dicas, contem os servidores raiz
• para servidores mestre: arquivos de dados de zona+ contem os mapeamentos de enderecos de cada host
• named.conf tem formato proprio; todos os outros tem formatos de acordocom a especificacao do DNS.
Configuracao de um servidor cache/ / Conf ig f i l e f o r c a c h i n g on ly name s e r v e r/ // / O p t i o n s e s p e c i f i c a as opcoes g l o b a i s . Ha mais de 50 no b ind 9 ./ / man named . con f p a r a mais i n f o r m a c o e s
o p t i o n s {
/ / Nomes de caminhos r e l a t i v o s nos a r q u i v o s de c o n f i g u r a c a o , sao/ / i n t e r p r e t a d o s em r e l a c a o a e s s e d i r e t o r i o .
d i r e c t o r y ” / v a r / named ” ;v e r s i o n ” ” ;
} ;
/ / f o r n e c e ao s e r v i d o r o conhec imen to dos s e r v i d o r e s r a i zzone ” . ” {
t y p e h i n t ;f i l e ” r o o t . h i n t s ” ;
} ;
/ / Fo rnece mapeamento r e v e r s o p a r a o e n d e r e c o de l o o p b a c kzone ” 0 . 0 . 1 2 7 . in−add r . a r p a ” {
t y p e m a s t e r ;f i l e ” pz / l o c a l h o s t . r e v ” ;
} ;
DNS primario e secundario
• DNS primario (Primary Master)
– servidor com autoridade aonde os dados de zona sao mantidos
– carrega a zona de um arquivo local
• DNS secundario (escravo - Slave Servers)
– servidor com autoridade que carrega a zona de outro servidor
– processo conhecido como “zone transfer”
• Exemplo de configuracao para um authoritative-only server+ master server para ”example.com”+ slave (escravo) para o subdominio ”eng.example.com”.
27
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
Servidor com autoridade/ / Duas r e d e s de onde q u e r i e s sao p e r m i t i d o sa c l ” l a b s ” { 1 0 . 1 . 1 . 0 / 2 6 ; 1 0 . 1 . 2 . 0 / 2 6 ; } ;o p t i o n s {
d i r e c t o r y ” / e t c / namedb ” ; / / D i r e t o r i o de t r a b a l h oa l low−query { l a b s ; } ;
} ;/ / Root s e r v e r h i n t szone ” . ” { t y p e h i n t ; f i l e ” r o o t . h i n t ” ; } ;/ / P r o v i d e a r e v e r s e mapping f o r t h e l o o p b a c k a d d r e s s 1 2 7 . 0 . 0 . 1zone ” 0 . 0 . 1 2 7 . in−add r . a r p a ” {
t y p e m a s t e r ;f i l e ” l o c a l h o s t . r e v ” ;
} ;/ / We a r e t h e m a s t e r s e r v e r f o r example . comzone ” example . com” {
t y p e m a s t e r ;f i l e ” example . com . db ” ;/ / I P s de s e r v i d o r e s e s c r a v o s p e r m i t i d o s a t r a n s f e r i r example . comal low− t r a n s f e r {
1 9 2 . 1 6 8 . 4 . 1 4 ; 1 9 2 . 1 6 8 . 5 . 5 3 ; } ;} ;/ / Somos um s e r v i d o r e s c r a v o ( s e c u n d a r i o ) p a r a eng . example . comzone ” eng . example . com” {
t y p e s l a v e ;f i l e ” eng . example . com . bk ” ;/ / IP a d d r e s s o f eng . example . com m a s t e r s e r v e rm a s t e r s { 1 9 2 . 1 6 8 . 4 . 1 2 ; } ;
} ;
10 Arquivos de zona
• banco de dados distribuıdo do DNS
• Mantido pelo administrador de sistemas+ servidor de nomes mestre do domınio.
• Contem dois tipos de entrada
– registros de recursos
– comandos
10.1 Registros de Recursos - RRs
• Formato basico:+ [nome] [ttl] [classe] tipo dados
• Campos separados por espacos ou TABs e podem conter:
– ; - introduz um comentario;
– Caractere arroba - nome da zona atual;
– ( ) - permite que os dados se estendam sobre linhas;
– * - caractere coringa (somente para o campo nome).
28
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
10.1.1 Campo nome
• host ou domınio descrito pelo registro;+ primeira coluna+ apos o primeiro, pode ser omitido => iniciar com espaco
• pode ser relativo ou absoluto+ absolutos terminam com ponto, sao completos+ relativos sao adicionados ao domınio
• tempo que o item de dados pode ficar armazenado em cache (s)
• normalmente, omitido+ exceto no arquivo hints (arquivo de dicas)
• diretiva $TTL no inıcio do arquivo de zona+ obrigatoria no BIND9
– valores altos economizam banda e a carga no DNS
– valores baixos permitem mudanca rapida
10.1.3 Campo classe
• 3 valores:
– IN de Internet (padrao)
– HS de Hesiod (MIT)
– CH de ChaosNet (obsoleto)
• 2 informacoes sao guardadas na rede ChaosNet:
– versao do software do servidor DNS
– nome do host onde esta executando
29
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
10.1.4 Campo tipo
• Muitos tipos de registros DNS
• 4 grupos:
– Registros de zona - identificam domınios e seus servidores de nomes;
– Registros basicos - associam nomes a enderecos e encaminham email;
– Registros de seguranca - autenticacao e assinaturas nos arquivos dezonas;
– Registros opcionais - informacoes adicionais sobre hosts ou domınios.
tipos de registros comuns:Registros de zona
• SOA - Start Of Authority - Define uma zona DNS
• NS - Name Server - Identifica servidores de zonas, delega subdomıniosRegistros basicos
• A - IPV4 address - Conversao de nome para endereco
• AAAA - IPV6 address - Conversao de nome para endereco
• PTR - Pointer - Conversao de endereco para nome
• MX - Mail Exchanger - Controla o roteamento de email
Registros de seguranca:
• DS - Delegation Signer - Hash da chave de assinatura de chave da zonafilha assinada
• DNSKEY - Public Key - Chave publica para um nome DNS
• NSEC - Next Secure - Usado com DNSSEC para respostas negativas
• RRSIG - Signature - Conjunto de registros de recursos assinados e auten-ticados
Registros opcionais:
• CNAME - Canonical Name - Apelido ou aliases para um host
• LOC - Location - Localizacao e extensao geografica
• SRV - Services - Fornece as localizacoes de servicos bem conhecidos
• TXT - Text - Comentarios ou informacoes nao transcritas
30
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
10.2 Comandos em arquivos de zonas
• Devem comecar na primeira coluna e ocupar linha exclusiva
• Ha quatro comandos:
– $ORIGIN nomeDeDomınio
– $INCLUDE nomeDeArquivo
– $TTL padraottl
– $GENERATE inıcio-fim/[passo] lhs tipo rhs [comentario]
• $ORIGIN e $TTL sao especificados nas RFCs
• $INCLUDE e $GENERATE tem origem no BIND
11 Exercıcios
1. Para que serve o BIND?
2. De o caminho e o nome do arquivo de configuracao do servidor de nomes doBIND9.
3. Descreva o que fazem as linhas abaixo, na secao options do arquivo deconfiguracao do BIND:
(a) directory "/var/cache/bind";
(b) forwarders {201.6.0.100; 201.6.0.35; };
(c) listen-on { 127.0.0.1; 172.20.0.1; };
4. Para cada trecho de configuracao abaixo, descreva para que serve e em qualarquivo ou diretorio ele pode ser encontrado.
(a) zone "." {type hint;file "/etc/bind/db.root";};
(b) zone "linux.bogus" {type master;notify no;file "/etc/bind/linux.bogus";};
5. Sobre o arquivo de configuracao de zona mostrado abaixo, responda o que epedido:
$TTL 1W@ IN SOA @ root (
42 ; serial (d. adams)2D ; refresh4H ; retry6W ; expiry1W ) ; minimum
IN NS @IN A 127.0.0.1
31
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
(a) Indique a zona para a qual esse arquivo foi definido.
(b) Escreva o significado do arroba, utilizado em varios pontos do arquivo.
(c) Escreva as linhas do arquivo /etc/named.conf que definem a zonapara esse arquivo.
(d) Escreva as linhas do arquivo /etc/named.conf que definem a zonareversa.
(e) Escreva o arquivo de zona, referente a zona reversa escrita no itemanterior.
(f) Escreva o significado da linha: $TTL 1W
(g) Para que serve e qual o significado de cada um dos valores informadosentre parenteses, no registro SOA?
6. Escreva o arquivo de zona para a zona “exercicio.com”, definida na configuracaodo servidor bind9. Defina as maquinas:
• pintado (servidor de nomes) com IP 200.146.79.162;
• pescada (servidor de email) com IP 200.146.79.163;
• tainha (servidor web) com IP 200.146.79.164;
• www como CNAME do host tainha.
Continue a partir das linhas abaixo:
$TTL 4D@ IN SOA pintado.exercicio.com. hostmaster.exercicio.com. (2006091801 3H 15M 1W 1D ; H - Hora, M - Minuto, W - Week, D - Dia)
12 lab1: Resolucao de nomes DNS
12.1 Objetivos
- Entender como o DNS funciona - Aprender sobre o utilitario dig
12.2 Introducao
Na busca por uma maquina, a requisicao seque recursivamente dentro da hier-arquia do DNS, comecando pela raiz (.).
Para encontrar o endereco da maquina prep.ai.mit.edu, o servidor de nomestem que comecar em algum lugar.
Seu servidor nao conhece nada sobre ai.mit.edu., mit.edu. ou edu.. Se oendereco nao existe no cache, a busca deve comecar pela raiz.
Os servidores raiz nao respondem diretamente a consulta, ao inves disso, fornecemuma referencia de onde a resposta pode ser encontrada. Essa referencia (referral)deve levar o seu servidor a um servidor que sabe a resposta.
32
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
Vamos usar o comando dig para fazer a busca, usando a opcao +norec - semrecursividade - assim, nos fazemos esse trabalho. As outras opcoes sao para reduzira quantidade de informacoes na saıda de dig.
12.3 Atividade
1 - use o comando dig . ns para procurar pelos root servers;E possıvel perguntar diretamente a um dos servidores raiz: dig @f.root-servers.net. ns
Os root servers sao carregados no cache do seu servidor DNS atraves de umarquivo. De uma olhada no arquivo named.conf.> d i g . ns
; <<>> DiG 9 . 2 . 4 <<>> . ns; ; g l o b a l o p t i o n s : p r i n t c m d; ; Got answer :; ; −>>HEADER<<− opcode : QUERY, s t a t u s : NOERROR, i d : 32294; ; f l a g s : q r rd r a ; QUERY: 1 , ANSWER: 13 , AUTHORITY: 0 , ADDITIONAL : 10
; ; QUESTION SECTION :; . IN NS
; ; ANSWER SECTION :. 517302 IN NS M.ROOT−SERVERS . NET .. 517302 IN NS A.ROOT−SERVERS . NET .. 517302 IN NS B .ROOT−SERVERS . NET .. 517302 IN NS C .ROOT−SERVERS . NET .. 517302 IN NS D.ROOT−SERVERS . NET .. 517302 IN NS E .ROOT−SERVERS . NET .. 517302 IN NS F .ROOT−SERVERS . NET .. 517302 IN NS G.ROOT−SERVERS . NET .. 517302 IN NS H.ROOT−SERVERS . NET .. 517302 IN NS I .ROOT−SERVERS . NET .. 517302 IN NS J .ROOT−SERVERS . NET .. 517302 IN NS K.ROOT−SERVERS . NET .. 517302 IN NS L .ROOT−SERVERS . NET .
; ; ADDITIONAL SECTION :B .ROOT−SERVERS . NET . 603702 IN A 1 9 2 . 2 2 8 . 7 9 . 2 0 1C .ROOT−SERVERS . NET . 603702 IN A 1 9 2 . 3 3 . 4 . 1 2D.ROOT−SERVERS . NET . 603702 IN A 1 2 8 . 8 . 1 0 . 9 0E .ROOT−SERVERS . NET . 603702 IN A 1 9 2 . 2 0 3 . 2 3 0 . 1 0F .ROOT−SERVERS . NET . 604539 IN A 1 9 2 . 5 . 5 . 2 4 1G.ROOT−SERVERS . NET . 603702 IN A 1 9 2 . 1 1 2 . 3 6 . 4H.ROOT−SERVERS . NET . 603702 IN A 1 2 8 . 6 3 . 2 . 5 3I .ROOT−SERVERS . NET . 603702 IN A 1 9 2 . 3 6 . 1 4 8 . 1 7L .ROOT−SERVERS . NET . 603702 IN A 1 9 8 . 3 2 . 6 4 . 1 2M.ROOT−SERVERS . NET . 603702 IN A 2 0 2 . 1 2 . 2 7 . 3 3
2 - Escolha um dos root servers e comecamos a busca.> d i g + n o r e c + noques + n o s t a t s +nocmd prep . a i . mi t . edu . @d. r o o t−s e r v e r s . n e t .
33
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
; ; Got answer :; ; −>>HEADER<<− opcode : QUERY, s t a t u s : NOERROR, i d : 50054; ; f l a g s : q r ; QUERY: 1 , ANSWER: 0 , AUTHORITY: 8 , ADDITIONAL : 8
; ; AUTHORITY SECTION :edu . 172800 IN NS L3 . NSTLD .COM.edu . 172800 IN NS D3 . NSTLD .COM.edu . 172800 IN NS A3 . NSTLD .COM.edu . 172800 IN NS E3 . NSTLD .COM.edu . 172800 IN NS C3 . NSTLD .COM.edu . 172800 IN NS G3 . NSTLD .COM.edu . 172800 IN NS M3. NSTLD .COM.edu . 172800 IN NS H3 . NSTLD .COM.
; ; ADDITIONAL SECTION :L3 . NSTLD .COM. 172800 IN A 1 9 2 . 4 1 . 1 6 2 . 3 2D3 . NSTLD .COM. 172800 IN A 1 9 2 . 3 1 . 8 0 . 3 2A3 . NSTLD .COM. 172800 IN A 1 9 2 . 5 . 6 . 3 2E3 . NSTLD .COM. 172800 IN A 1 9 2 . 1 2 . 9 4 . 3 2C3 . NSTLD .COM. 172800 IN A 1 9 2 . 2 6 . 9 2 . 3 2G3 . NSTLD .COM. 172800 IN A 1 9 2 . 4 2 . 9 3 . 3 2M3. NSTLD .COM. 172800 IN A 1 9 2 . 5 5 . 8 3 . 3 2H3 . NSTLD .COM. 172800 IN A 1 9 2 . 5 4 . 1 1 2 . 3 2
Isso e uma referencia. Obtivemos uma “Authority Section” e nenhuma “An-swer Section”. Obtivemos as autoridades do domınio edu.
3 - Escolha um outra vez.> d i g + n o r e c + noques + n o s t a t s +nocmd prep . a i . mi t . edu . @e3 . n s t l d . com .
; ; Got answer :; ; −>>HEADER<<− opcode : QUERY, s t a t u s : NOERROR, i d : 27952; ; f l a g s : q r ; QUERY: 1 , ANSWER: 0 , AUTHORITY: 3 , ADDITIONAL : 3
; ; AUTHORITY SECTION :mi t . edu . 172800 IN NS W20NS . mi t . edu .mi t . edu . 172800 IN NS STRAWB. mi t . edu .mi t . edu . 172800 IN NS BITSY . mi t . edu .
; ; ADDITIONAL SECTION :BITSY . mi t . edu . 172800 IN A 1 8 . 7 2 . 0 . 3W20NS . mi t . edu . 172800 IN A 1 8 . 7 0 . 0 . 1 6 0STRAWB. mi t . edu . 172800 IN A 1 8 . 7 1 . 0 . 1 5 1
Agora ele nos refere aos servidores no domınio mit.edu. Escolha um.> d i g + n o r e c + noques + n o s t a t s +nocmd prep . a i . mi t . edu . @bitsy . mi t . edu .
; ; Got answer :; ; −>>HEADER<<− opcode : QUERY, s t a t u s : NOERROR, i d : 5949; ; f l a g s : q r r a ; QUERY: 1 , ANSWER: 0 , AUTHORITY: 4 , ADDITIONAL : 4
; ; AUTHORITY SECTION :a i . mi t . edu . 21600 IN NS FEDEX . a i . mi t . edu .a i . mi t . edu . 21600 IN NS LIFE . a i . mi t . edu .a i . mi t . edu . 21600 IN NS MINTAKA. LCS . mi t . edu .a i . mi t . edu . 21600 IN NS OSSIPEE . LCS . mi t . edu .
; ; ADDITIONAL SECTION :FEDEX . a i . mi t . edu . 21600 IN A 1 9 2 . 1 4 8 . 2 5 2 . 2 8LIFE . a i . mi t . edu . 21600 IN A 1 2 8 . 5 2 . 3 2 . 8 0
34
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
MINTAKA. LCS . mi t . edu . 21600 IN A 1 8 . 2 6 . 0 . 3 6OSSIPEE . LCS . mi t . edu . 21600 IN A 1 8 . 2 6 . 0 . 1 8
Agora devemos obter uma resposta (Answer Section).4 - Escolha um dos servidores que tem autoridade sobre o domınio ai.mit.edu
> d i g + n o r e c + noques + n o s t a t s +nocmd prep . a i . mi t . edu . @l i f e . a i . mi t . edu .
; ; Got answer :; ; −>>HEADER<<− opcode : QUERY, s t a t u s : NOERROR, i d : 17192; ; f l a g s : q r aa ; QUERY: 1 , ANSWER: 1 , AUTHORITY: 0 , ADDITIONAL : 0
; ; ANSWER SECTION :p rep . a i . mi t . edu . 1800 IN CNAME f t p . gnu . o rg .
5 - Experimente o comando dig +trace prep.ai.mit.edu
13 lab2: Servidor Primario e Secundario
13.1 Objetivos
- Definir nosso proprio domınio usando named
13.2 Criacao de um domınio
Vamos definir o domınio linux.bogus.
1 - Ja existe algo parecido com o texto abaixo em named.conf
zone "127.in-addr.arpa" {type master;file "/etc/bind/db.127";
};
O que significa:
• - Definiremos a zona 127.in-addr.arpa;
• - Somos o servidor master para ela;
• - A zona esta armazenada em /etc/bind/db.127.
2 - Vamos editar o arquivo /etc/bind/db.127
;; BIND reverse data file for local loopback interface;$TTL 3D@ IN SOA ns.linux.bogus. root.linux.bogus. (
• Note o ’.’ ao final de todos os domınios completos e a sua inexistencia emnamed.conf
• Ha 3 registros de recursos (RRs - Resource Records): SOA, NS e PTR
– SOA - Start of Authority
– NS - Name Server
– PTR - Domain Name Pointer - diz que o host 127.0.0.1 tem nome lo-calhost
• $TTL 3DO servidor fornece essa TTL (Time To Live) em respostas a queries, per-mitindo a outros servidores manter os dados em cache por esse intervalo;
• @ IN SOA ns.linux.bogus. root.linux.bogus.- ’@’ e uma notacao especial, significando origem; se refere a 127.in-addr.arpa.- o domınio definido em named.conf, no item zoneDiz ao DNS que maquina e o servidor de nomes do domınio 127.in-addr.arpa,e ns.linux.bogus;- root.linux.bogus significa [email protected] - o email do administrador;
3 - Agora reinicie named (rndc reload deve resolver) e vamos usar o comandodig, para examinar nosso trabalho. A opcao -x, no comanodo dig faz uma consultaa zona reversa.
;NS ns ; Inet Address of name serverMX 10 mail.linux.bogus. ; Primary Mail ExchangerMX 20 mail.friend.bogus. ; Secondary Mail Exchanger
;ns A 192.168.196.2mail A 192.168.196.4
• no registo SOA, ns.linux.bogus deve ser uma maquina com um registroA. Seu nome nao precisa ser ns, poderia ser qualquer outro hostname;
• Ha um novo RR nesse arquivo: MX (Mail Exchanger - indica um hostnameque ira agir como servidor de email para o domınio. O numero antes donome e a prioridade, menor e mais prioritario.)
5 - reload named e examine os resultados com dig:
> dig any linux.bogus.
; <<>> DiG 9.2.4 <<>> any linux.bogus;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 803;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 2
;; QUESTION SECTION:;linux.bogus. IN ANY
;; ANSWER SECTION:linux.bogus. 259200 IN SOA ns.linux.bogus. hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400linux.bogus. 259200 IN NS ns.linux.bogus.linux.bogus. 259200 IN MX 10 mail.linux.bogus.linux.bogus. 259200 IN MX 20 mail.friend.bogus.
;; ADDITIONAL SECTION:ns.linux.bogus. 259200 IN A 192.168.196.2mail.linux.bogus. 259200 IN A 192.168.196.4
;TXT "Linux.Bogus, your DNS consultants"NS ns ; Inet Address of name serverNS ns.friend.bogus.MX 10 mail ; Primary Mail ExchangerMX 20 mail.friend.bogus. ; Secondary Mail Exchanger
gw A 192.168.196.1TXT "The router"
ns A 192.168.196.2www CNAME nsdonald A 192.168.196.3
TXT "DEK"mail A 192.168.196.4ftp A 192.168.196.5
• CNAME (Canonical Name) - um modo de dar varios nomes a uma maquina;www e um alias para ns;- registros MX, CNAME ou SOA nao devem se referir a registros CNAME,mas somente a registros A;
7 - Carregue a nova base de dados com rndc reload e vamos ao dig. Com otipo axfr dig pede por uma transferencia de zona (zone transfer);
> dig linux.bogus. axfr
; <<>> DiG 9.2.4 <<>> linux.bogus axfr;; global options: printcmdlinux.bogus. 259200 IN SOA ns.linux.bogus. hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400linux.bogus. 259200 IN TXT "Linux.Bogus, your DNS consultants"linux.bogus. 259200 IN NS ns.linux.bogus.linux.bogus. 259200 IN NS ns.friend.bogus.linux.bogus. 259200 IN MX 10 mail.linux.bogus.linux.bogus. 259200 IN MX 20 mail.friend.bogus.donald.linux.bogus. 259200 IN A 192.168.196.3donald.linux.bogus. 259200 IN MX 10 mail.linux.bogus.donald.linux.bogus. 259200 IN MX 20 mail.friend.bogus.donald.linux.bogus. 259200 IN TXT "DEK"ftp.linux.bogus. 259200 IN A 192.168.196.5ftp.linux.bogus. 259200 IN MX 10 mail.linux.bogus.ftp.linux.bogus. 259200 IN MX 20 mail.friend.bogus.gw.linux.bogus. 259200 IN A 192.168.196.1gw.linux.bogus. 259200 IN TXT "The router"localhost.linux.bogus. 259200 IN A 127.0.0.1mail.linux.bogus. 259200 IN A 192.168.196.4mail.linux.bogus. 259200 IN MX 10 mail.linux.bogus.mail.linux.bogus. 259200 IN MX 20 mail.friend.bogus.ns.linux.bogus. 259200 IN A 192.168.196.2
38
Notasde
Aula
-2011
FIAP
-UsoInterno
Prof
.Al
exan
der
Luz
Sper
andi
o
ns.linux.bogus. 259200 IN MX 10 mail.linux.bogus.ns.linux.bogus. 259200 IN MX 20 mail.friend.bogus.www.linux.bogus. 259200 IN CNAME ns.linux.bogus.linux.bogus. 259200 IN SOA ns.linux.bogus. hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400;; Query time: 1 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Wed Sep 13 09:29:13 2006;; XFR size: 24 records
Agora os programas podem converter os nomes em linux.bogus para enderecosaonde eles podem conectar. Tambem e necessario criar uma zona reversa, quetorna o DNS capaz de converter enderecos em nomes.
9 - Ponha o texto abaixo em named.conf
zone "196.168.192.in-addr.arpa" {type master;notify no;file "pz/192.168.196";
};
Esse conteudo e similar ao da zona 127.in-addr.arpa, que incluımos antesno arquivo named.conf.
Note que os numeros 1, 2, 3, 4 e 5 sao completados com a zona reversa196.168.192.in-addr.arpa, definida no arquivo named.conf.
$TTL 3D@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
;; QUESTION SECTION:;4.196.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:4.196.168.192.in-addr.arpa. 259200 IN PTR mail.linux.bogus.
;; AUTHORITY SECTION:196.168.192.in-addr.arpa. 259200 IN NS ns.linux.bogus.
;; ADDITIONAL SECTION:ns.linux.bogus. 259200 IN A 192.168.196.2
;; Query time: 4 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Sun Dec 23 03:16:05 2001;; MSG SIZE rcvd: 107
11 - Agora, vamos fazer a transferencia de zona outra vez
> dig 196.168.192.in-addr.arpa. AXFR
; <<>> DiG 9.1.3 <<>> 196.168.192.in-addr.arpa. AXFR;; global options: printcmd196.168.192.in-addr.arpa. 259200 IN SOA ns.linux.bogus. \
hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400196.168.192.in-addr.arpa. 259200 IN NS ns.linux.bogus.1.196.168.192.in-addr.arpa. 259200 IN PTR gw.linux.bogus.2.196.168.192.in-addr.arpa. 259200 IN PTR ns.linux.bogus.3.196.168.192.in-addr.arpa. 259200 IN PTR donald.linux.bogus.4.196.168.192.in-addr.arpa. 259200 IN PTR mail.linux.bogus.5.196.168.192.in-addr.arpa. 259200 IN PTR ftp.linux.bogus.196.168.192.in-addr.arpa. 259200 IN SOA ns.linux.bogus. \
hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400;; Query time: 6 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Sun Dec 23 03:16:58 2001;; XFR size: 9 records
40
Notasde
Aula
-2011
FIAP
-UsoInterno
Prof
.Al
exan
der
Luz
Sper
andi
o
Se a sua saıda nao se parece com essa, procure pelas mensagens de erro emseu syslog (arquivos: /var/log/syslog ou /var/log/messages, dependendoda configuracao de sua distribuicao).
13.4 Transferencia de zona
Arquivo de configuracao do servidor dns /etc/bind/named.conf
zone "tralala.fiap" {type master;file "/etc/bind/db.tralala";allow-transfer { 192.168.6.102; };
};
zone "6.168.192.in-addr.arpa" {type master;file "/etc/bind/rev.tralala";allow-transfer { 192.168.6.102; };
};
Arquivo master da zona ”tralala.fiap”
$TTL 60@ IN SOA ello.tralala.fiap. root.tralala.fiap. (
7 ; Serial604800 ; Refresh86400 ; Retry
2419200 ; Expire604800 ) ; Negative Cache TTL
;@ IN NS ello.tralala.fiap.
IN NS rede6b.tralala.fiap.IN MX 10 mail.tralala.fiap.
ello IN A 192.168.6.122rede6b IN A 192.168.6.102mail IN A 192.168.6.122
; Apelidos
www IN CNAME elloftp IN CNAME ello
Arquivo reverso da zona ”tralala.fiap”
41
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
$TTL 60@ IN SOA ello.tralala.fiap. root.tralala.fiap. (
7 ; Serial604800 ; Refresh86400 ; Retry
2419200 ; Expire604800 ) ; Negative Cache TTL
;@ IN NS ello.tralala.fiap.122 IN PTR ello.tralala.fiap.102 IN PTR rede6b.tralala.fiap.
O servidor DNS secundario tem o arquivo de configuracao:
zone "tralala.fiap" {type slave;file "db.tralala.bk";masters { 192.168.6.122; };
};
zone "6.168.192.in-addr.arpa" {type slave;file "rev.tralala.bk";masters { 192.168.6.122; };
};
Referencias
[1] Nemeth, E, Snyder, G, Hein, T.R., Manual Completo do Linux - Guia doAdministrador. 2a. edicao. Pearson. Sao Paulo. 2007. cap. 15, p.260-336;
[2] Nemeth, E, Snyder, G, Seebass, S, Hein, T.R., Manual de Administracaodo Sistema UNIX. 3a. edicao. Bookman, 2002. cap.16, p.434-529.
[3] Sheer, P. LINUX: Rute User’s Tutorial and Exposition (Version 1.0.0).Disponıvel em: http://packages.debian.org/stable/doc/rutebook.Acesso em: 21 jul. 2006.cap.27.
– sao ativados atraves da criacao de links simbolicos no diretorio /etc/apache2/sites-enabled/
– a2ensite e a2dissite sao scripts para ativar e desativar um Virtual Host, re-spectivamente.
Diretivas de configuracao
• User e Group - usuario e grupo que executa o apache;- atribuıdos em apache2.conf a partir das variaveis de ambiente do apache criadasno arquivo envvars;
• DirectoryIndex - arquivos-padrao a serem abertos pelo apache;- arquivo: mods-available/dir.conf, ativado por padrao em mods-enabled/dir.conf13;
• DocumentRoot - diretorio raiz dos arquivos fornecidos pelo apache (Ex.: arquivos.html);- arquivo: sites-available/default;
• ServerAdmin - define o endereco de e-mail do administrador do servidor Apache;- arquivo: sites-available/default;
• ServerName - define o hostname do servidor;
15.1.2 Blocos de secao
Configuracao de blocos de secao14
E possıvel a definicao de blocos para a inclusao de diretivas aplicaveisapenas ao bloco.Exemplo: compartilhamento de um diretorio acessıvel por:
13 Ha tambem arquivos .load em mods-available/. Esses arquivos tambem devem ter seuslinks simbolicos em mods-enabled/ pois fazem o apache carregar os modulos necessarios para asconfiguracoes. Ex.: mods-available/dir.load .
• Location - restricoes ao diretorio especificado na URL+ < LocationURL− path|URL > ... < /Location >
• LocationMatch - o mesmo, mas aceita expressoes regulares+ < LocationMatchregex > ... < /LocationMatch >ê server config, virtual host
• ifDefine - diretivas serao processadas se o teste for verdadeiro+ < I f De f ine [!]parameter−name > ... < /I f De f ine >ê server config, virtual host, directory, .htaccess
• ifModule - diretivas serao processadas na ausencia ou presenca de um modulo es-pecıfico+ < I f Module [!]module−name > ... < /I f Module >ê server config, virtual host, directory, .htaccess
• VirtualHost - diretivas se aplicam a um hostname ou IP especıfico+ <VirtualHost addr[: port] [addr[: port]] ... > ... < /VirtualHost >ê server config
Configura que caracterısticas sao disponıveis em um diretorio particular.+ Options[+|−]option[[+|−]option]...ê server config, virtual host, directory (exceto Files), .htaccess- Pode ser configurada para None ou uma ou mais de:
• All - Tudo exceto MultiViews (default)
• ExecCGI - Permite a execucao de scripts CGI (mod cgi)
• FollowSymLinks - O servidor seguira links simbolicos
• Indexes - Permite a listagem do diretorio se nao ha um arquivo especificado peladiretiva DirectoryIndex
• Multiviews - Negociacao de conteudo17: permite o envio de paginas no idiomarequisitado pelo navegador do cliente
• Includes - Permite includes por mod include18
• IncludesNOEXEC - Permite includes, mas os comandos #exec e #include de umscript CGI sao desativados
• SymLinksIfOwnerMatch - link simbolico e seguido apenas se o arquivo alvo tivero mesmo dono do link
Outras diretivas
• Alias - Mapeia URLs para locais no sitema de arquivos+ AliasURL− path f ile− path|directory− pathê server config, virtual host
• Order - Controla o estado de acesso default e a ordem na qual Allow e Deny saoavaliadas+ Order Deny,Allow (default) - avalia o deny antes e entao garante as excecoesbaseadas na diretiva allowOrder Allow,Deny - avalia o allow antes e entao garante as excecoes baseadas nadiretiva denyMutual Failure - indica que somente os hosts que aparecem na lista allow e naoaparecem na lista deny possuirao acesso
Allow/Deny
• Allow - lista os hosts que possuem permissao para acessar o diretorio
• Exemplos:Allow from localhost 192.168.0.1Deny from allAllow from .net example.eduAllow from 10 172.20 192.168.2Allow from 10.1.0.0/16Allow from 10.1.0.0/255.255.0.0
15.2 Virtual Hosts
Virtual HostsPratica de rodar mais de um web site (www.empresa1.com e www.empresa2.com)
em uma unica maquina.
• Virtual hosts baseados em nome: mais de um web site por IP
• Virtual hosts baseados em IP: um endereco IP pra cada web site
- 196.123.45.1 serve domain1 e domain2 (Name virtual hosting)- 196.123.45.2 serve domain3 na mesma maquina (IP virtual hosting)
NameVir tua lHos t 1 9 6 . 1 2 3 . 4 5 . 1
<V i r t u a l H o s t 196 .123 .45 .1 >ServerName www. domain1 . comDocumentRoot / o p t / apache / h t d o c s /www. domain1 . com /
</ V i r t u a l H o s t>
<V i r t u a l H o s t 196 .123 .45 .1 >ServerName www. domain2 . comDocumentRoot / o p t / apache / h t d o c s /www. domain2 . com /
</ V i r t u a l H o s t>
<V i r t u a l H o s t 196 .123 .45 .2 >ServerName www. domain3 . comDocumentRoot / o p t / apache / h t d o c s /www. domain3 . com /
</ V i r t u a l H o s t>
16 Exercıcios
1. Que requisicao deve ser atendida por um servidor web?
2. Forneca o caminho e nome do arquivo principal de configuracao do apache.
3. Descreva o significado da linha abaixo e onde ela se encontra.
Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all
</Directory></VirtualHost>
49
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
17 lab1: apache
17.1 Objetivos
Conhecer o servidor web apache
• Entender o funcionamento do servidor web
• Iniciar/parar o servidor
• Entender as permissoes de arquivos para a exibicao de paginas
17.2 Requisitos
• Conhecimentos basicos de Linux
• Distribuicao Linux instalada
• Servidor Web Apache2 instalado
17.3 Iniciando o servidor
1. Ha um servidor apache instalado no sistema? Escreva como verificar.
2. Anote a versao:
3. Inicialize o servidor. Anote como:
4. Use o comando netstat -na e verifique se o servidor web esta funcio-nando. Anote a linha que confirma isso.
5. Use o comando telnet para testar o servico. Anote o que deve ser feito.
6. Use um navegador para testar o servico. Anote o endereco a ser acessado.Justifique o uso desse endereco.
7. Abra um terminal e use o comando tail -f para visualizar o arquivo delog do apache. Copie aqui o comando que o servidor recebe do navegadorquando a pagina inicial e acessada.
8. Como sair do comando tail -f usado anteriormente?
17.4 Entendendo os modulos
Para o proximo passo e necessario o modulo userdir. Esse modulo permiteque um usuario publique paginas na web a partir de um diretorio public html emseu diretorio de usuario.
Para habilitar um modulo no apache, basta a criacao de links simbolicos no di-retorio mods-enabled apontando para os modulos existentes no diretorio mods-available.
50
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
O script a2enmod pode ser utilizado para habilitar um modulo no apache,como mostrado abaixo, executado pelo usuario root. A funcao desse script e criaros links simbolicos necessarios no diretorio mods-enabled.
# a2enmod userdir
17.5 Entendendo as permissoes
Usaremos o diretorio ˜/public html, para essa parte do roteiro.
1. Verifique as permissoes desse diretorio com ls -ld ˜/public html/
2. Quais permissoes sao necessarias para a exibicao na web, de um arquivodeste diretorio? Explique.
3. Crie um arquivo index.html nesse diretorio, com o conteudo abaixo e useo endereco http://localhost/˜usuario para acessa-lo.
<HTML><H1> Oi, sou uma pagina html!!</H1></HTML>
4. Anote as permissoes do arquivo index.html.
5. Quais permissoes sao necessarias para a exibicao desse arquivo na web?Explique.
18 lab2: apache
18.1 Objetivos
• Conhecer algumas configuracoes do servidor Apache
• Configurar autorizacao e autenticacao
• Configurar virtual hosts
18.2 Autorizacao
1. Vamos especificar o acesso ao diretorio /usr/share/doc para localhost e proibirpara outros:
Alias /doc "/usr/share/doc/"<Directory /usr/share/doc>Options Indexes FollowSymLinksOrder deny,allow
O item Alias define um nome, atraves do qual sera acessada a pagina nodiretorio na sequencia (entre aspas). Dessa forma pode-se usar o enderecohttp://localhost/doc/ para acessar o diretorio /usr/share/doc.
As opcoes disponıveis no item Options e o item Order estao no item 12.6do focalinux avancado.
Directory A restricao afetara o diretorio no disco especificado, consequente-mente a pagina armazenada nele. Por exemplo:
<Directory /var/www>Order deny,allowdeny from allallow from 10.1.0.1
<Directory>
O acesso ao diretorio /var/www sera permitido somente ao computador como endereco IP 10.1.0.1.
2. Para permitir o acesso a outros pode-se inserir enderecos no item allow
allow from localhost 10.1.1.8 # permite acesso ao localhost e amaquina com esse IP
allow from localhost 10.1.1. # permite acesso a localhost e atodas as maquinas com IP 10.1.1.*
3. Faca um teste com o IP do seu vizinho e veja se ele consegue acessar aspaginas de documentacao na sua maquina
18.3 Autenticacao
1. Na autenticacao e preciso criar um arquivo de senhas. O comando htpasswde usado para isso.
2. Para criar um arquivo com o nome ”senhas”para o usuario ”aluno”, e usadaa sintaxe:
htpasswd -c -m senhas aluno
note que o arquivo senhas precisa ter permissao de leitura para o usuario queroda o apache;
3. Modifique o acesso ao diretorio /doc para o exemplo abaixo:
Alias /doc "/usr/share/doc/"<Directory /usr/share/doc>Options Indexes FollowSymLinksAuthName "Acesso a documentacao"AuthType basicAuthUserFile /etc/httpd/senhasRequire valid-user
</Directory>
4. Crie o arquivo senhas no diretorio /var/www e de permissao para todos lerem(ao inves disso pode-se mudar o dono e grupo do arquivo para o usuario egrupo que rodam o apache e dar permissao de leitura somente a esses)
5. Teste agora o acesso a pagina
6. E possıvel usar a autorizacao e autenticacao juntas,
Alias /doc "/usr/share/doc/"
<Directory /usr/share/doc>Options Indexes MultiViewsOrder deny,allowdeny from allallow from localhostAuthName "Acesso aos docs"AuthType basicAuthUserFile /etc/httpd/senhasrequire valid-userrequire user alunosatisfy any
</Directory>
A configuracao acima permite o acesso sem senha para localhost e comsenha para outros IPs. Teste com o seu vizinho.
Essa configuracao pode ser usada para a criacao de intranets, permitindo oacesso de fora para certos usuarios.
18.4 Virtual Hosts
1. Configuracao de hosts virtuais:
Virtual Hosts (sites virtuais) e um recurso que permite servir mais de umsite no mesmo servidor. Vamos testar o metodo baseado em nome com umexemplo de um dominio para a nossa documentacao:
2. Adicione o nome “empresa” ao arquivo /etc/hosts para a resolucao de nomes.
3. Crie o diretorio “empresa” no diretorio /var/log/apache - ou no diretoriode log usado na sua distribucao - e crie os arquivos access.log e error.lognesse diretorio - use o comando touch;
4. Monitore o arquivo de log - use o comando tail -f arquivo - e acesse a paginaa partir do seu micro.
5. Peca ao vizinho para acessar sua pagina e observe o arquivo de log.
19 lab: DNS e apache
1. Vamos criar o domınio seunome.sobrenome. Anote o domınio criado:
2. Comece adicionando sua zona ao final do arquivo named.conf
zone "seunome.seusobrenome" {type master;file "db.seunome";
};
3. Adicione tambem a zona reversa
zone "1.1.10.in-addr.arpa" {type master;file "db.seunome.rev";
};
4. Agora edite o arquivo db.seunome, para as configuracoes da zona
$TTL 3D@ IN SOA ns.seunome.sobrenome. root.seunome.sobrenome. (200609181 3H 15M 1W 1D )
NS ns.seunome.sobrenome.localhost A 127.0.0.1ns A 10.1.1.7www CNAME nswww2 A 10.1.1.7
5. Edite tambem o arquivo db.seunome.rev, para as configuracoes da zonareversa
54
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
$TTL 3D@ IN SOA ns.seunome.sobrenome. root.seunome.sobrenome. (200609181 3H 15M 1W 1D )
• Impedir conexoes vindas da Internet para sua rede local
• NAT
• Proteger servicos que estejam rodando na maquina
21.2 iptables
iptables e uma estrutura de tabelas para o estabelecimento de regras.Cada regra em uma tabela consiste de um numero de comparacoes (iptablesmatches) e uma acao relativa as comparacoes (iptables target)[?].
• 2010-Ago-06: iptables-1.4.9.1
• .rpm, .deb, .tgz, .tar.gz
• Linux 2.4.x and 2.6.x kernel em diante
• Dividido em duas partes:
– Ferramentas em espaco de usuario (iptables)
– Modulos do kernel (netfilter)+ para a compilacao dos modulos:
Networking support -> Netorking options -> Network packet filtering framework
56
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
22 Conceitos basicos
22.1 regras, chains e tabelas
22.1.1 Regras
• sao comandos passados ao iptables para que ele realize uma determinadaacao
– bloquear (DROP)
– rejeitar (REJECT)
– aceitar (ACCEPT)
– registrar (LOG)
– ...
• regras sao armazenadas no kernel, isto e, em memoria
• iptables -A INPUT -s 123.123.123.1 -j DROP
22.1.2 Chains - listas de regras
• locais onde as regras do firewall definidas pelo usuario sao armazenadas paraoperacao do firewall
• Existem dois tipos de chains:
– embutidos, ex.: INPUT, OUTPUT e FORWARD
– criados pelo usuario
• os nomes dos chains sao case-sensitive
22.1.3 Tabelas
• sao locais usados para armazenar as chains e conjunto de regras com umadeterminada caracterıstica em comum
• existem 3 tabelas disponıveis no iptables:
– filter - Esta e a tabela padrao
– nat - Usada para dados que geram outra conexao (masquerading, sourcenat, destination nat, port forwarding, proxy transparente sao alguns ex-emplos)
– mangle - Utilizada para alteracoes especiais de pacotes (como modi-ficar o tipo de servico (TOS), TTL ou MARK)
57
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
22.1.4 Tabelas contem chains
Tabela filter- Contem 3 chains:
• INPUT - Consultado para dados que chegam a maquina
• OUTPUT - Consultado para dados que saem da maquina
• FORWARD - Consultado para dados que sao redirecionados para outra interfacede rede ou outra maquina
Tabela natNetwork Address Translation
- Contem 3 chains:
• PREROUTING - Consultado quando os pacotes precisam ser modificados logoque chegam. E o chain ideal para realizacao de DNAT e redirecionamentode portas
• OUTPUT - Consultado quando os pacotes gerados localmente precisam sermodificados antes de serem roteados. Este chain somente e consultado paraconexoes que se originam de IPs de interfaces locais.
• POSTROUTING - Consultado quando os pacotes precisam ser modificadosapos o tratamento de roteamento. E o chain ideal para realizacao de SNAT eIP Masquerading
• INPUT - os pacotes precisam ser modificados antes de serem enviados para ochain INPUT da tabela filter
• FORWARD - os pacotes precisam ser modificados antes de serem enviados parao chain FORWARD da tabela filter
• PREROUTING - os pacotes precisam ser modificados antes de ser enviadospara o chain PREROUTING da tabela nat
• POSTROUTING - os pacotes precisam ser modificados antes de serem enviadospara o chain POSTROUTING da tabela nat
• OUTPUT - os pacotes precisam ser modificados antes de serem enviados parao chain OUTPUT da tabela nat
58
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
Atravessando as tabelas
• Um pacote chega da rede para a primeira decisao de roteamento:
– antes da decisao de roteamento:+ pode ter endereco de destino mudado na chain PREROUTING (DNAT);ê depois segue para a decisao de roteamento;
– se nao e destinado para a maquina local ê FORWARD (filter)
– se e destinada para a maquina local ê INPUT (filter)
• DNAT (Destination NAT) - utilizado para mudar IP de destino e/ou porta,para direcionar o pacote para um servidor interno;
• Um pacote tem origem na maquina local:+ a partir de um processo local;
– passa pela tabela filter OUTPUT;– depois da decisao de roteamento, se o pacote e roteado para a Internet:
+ tem o endereco de origem mudado na chain POSTROUTING (SNAT OUMASQUERADE)
• SNAT (Source NAT) - utilizado quando o IP da interface de saıda e fixo;
• MASQUERADE - utilizado quando o IP da interface de saıda e dinamico;
23 lab1: iptables
23.1 Objetivos
• Aprender a utilizar o comando iptables
59
Notasde
Aula
-2011
FIAP
-UsoInterno
Prof
.Al
exan
der
Luz
Sper
andi
o
• Construir um firewall utilizando o comando iptables
23.2 Atividade1. O script abaixo limpa todas as regras na memoria1 # ! / b i n / sh2 # i p t a b l e s − f l u s h . sh3 # h t t p : / / i p t a b l e s − t u t o r i a l . f r o z e n t u x . n e t / s c r i p t s / r c . f l u s h− i p t a b l e s . t x t45 IPTABLES=” / s b i n / i p t a b l e s ”67 # c o n f i g u r a as p o l i t i c a s padrao para ACCEPT8 $IPTABLES −P INPUT ACCEPT9 $IPTABLES −P OUTPUT ACCEPT
10 $IPTABLES −P FORWARD ACCEPT1112 $IPTABLES − t n a t −P PREROUTING ACCEPT13 $IPTABLES − t n a t −P POSTROUTING ACCEPT14 $IPTABLES − t n a t −P OUTPUT ACCEPT1516 $IPTABLES − t mangle −P PREROUTING ACCEPT17 $IPTABLES − t mangle −P POSTROUTING ACCEPT18 $IPTABLES − t mangle −P INPUT ACCEPT19 $IPTABLES − t mangle −P OUTPUT ACCEPT20 $IPTABLES − t mangle −P FORWARD ACCEPT2122 # l impa as r e g r a s e t o d a s as t a b e l a s23 $IPTABLES −F24 $IPTABLES − t n a t −F25 $IPTABLES − t mangle −F2627 # apaga as c h a i n s nao−padrao28 $IPTABLES −X29 $IPTABLES − t n a t −X30 $IPTABLES − t mangle −X
2. Definindo as polıticas:
iptables [-t tabela] [-P chain] [ACCEPT/DROP]- A polıtica padrao determina o que acontecera com um pacote quando elechegar ao final das regras contidas em um chain
iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP
3. Tente um ping em localhost
4. Liberando o loopback- Varios programas precisam do acesso a interface lo - loopback
60
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
iptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT
5. Estados dos pacotes (modulo ip conntrack) - Nessas regras sao permitidosos pacotes estabelecidos e relacionados a conexoes geradas de nossa propriamaquina.
• NEW - Confere com pacotes que criam novas conexoes
• ESTABLISHED - Confere com conexoes ja estabelecidas
• RELATED - Confere com pacotes relacionados indiretamente a uma conexao,como mensagens de erro icmp, etc.
• INVALID - Confere com pacotes que nao puderam ser identificados poralgum motivo. Como respostas de conexoes desconhecidas.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
6. Navegar:
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPTiptables -A OUTPUT -p udp --dport 53 -j ACCEPT
23.3 Salvando as regras da memoria
O comando iptables-save e utilizado para copiar as regras da memoria paraa saıda padrao (tela). Essa saıda pode ser redirecionada para um arquivo, comomostrado abaixo:
# iptables-save > meufirewall.txt
O comando iptables-restore recebe como entrada um arquivo com as regrassalvas pelo comando iptables-save e restaura essas regras na memoria. Usamos oredirecionamento para entrada, nesse caso:
# iptables-restore < meufirewall.txt
24 Ativacao do script do firewall
O script do firewall deve se executado automaticamente sempre que o sistema einiciado, assim as regras do firewall sao carregadas na memoria e passam a protegera maquina e a rede por tras dela.
61
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
24.1 Ativacao do script - Debian
A distribuicao Debian e suas derivadas tem uma facilidade para rodar o scriptdo firewall de dentro do arquivo de configuracao de rede.
A opcao pre-up e capaz de rodar o script do firewall a partir do arquivo/etc/network/interfaces.
Essa opcao roda o comando informado logo que a interface de rede e ativada.Se o comando falha a interface permanece desativada. Dessa forma, a interface naoe ativada sem um firewall.
O arquivo /etc/rc.local pode ser utilizado para a execucao do script dofirewall. Esse arquivo e usado para executar os ultimos comandos, definidos peloadministrador, apos a inicializacao de todos os servicos do runlevel em utilizacao.
Todas as distribuicoes do GNU/Linux possuem esse arquivo, inclusive a distribuiacaoDebian;
• mydestination = $myhostname, localhost+ nomes de domınios que devem ser tratados como local, isto e, destino final dasmensagens
• mynetworks = 127.0.0.1/8 192.168.0.0/24+ redes ou IPs em que o postfix ira aceitar relay
• inet interfaces = all+ seleciona as interfaces onde o postfix ira esperar por conexoes
Quando um parametro e repetido mais de uma vez no arquivo, somente a ultimavez e valida. A ordem dos parametros no arquivo main.cf nao importa.
Utilitarios
• postfix - inicia e para o sistema de correio
• postconf - exibe ou altera o valor de parametros de main.cf
• postqueue - controle das filas
• postsuper - gerencia as filas
• postcat - lista o conteudo de arquivos na fila
• postdrop, postmap, postalias,
• postkick, postlock e postlog
27.3 Servidor POP
Servidor POP
• O pacote imap fornece os servicos POP e IMAP
• Iniciado via o daemon xinetd+ edite /etc/xinetd.d/imap e reinicie xinetd para iniciar o servico
# a r q u i v o / e t c / x i n e t d . d / imap. . .s e r v i c e pop3{
d i s a b l e = no. . .s e r v e r = / u s r / s b i n / ipop3d
}
66
Notasde
Aula
-2011
FIAP
-UsoInterno
Prof
.Al
exan
der
Luz
Sper
andi
o
27.4 webmail
Squirrelmail
• http://www.squirrelmail.org/
• iniciar imap server via xinetd+ criar arquivo /etc/cram-md5.pwd
• configurar squirrelmail# cd / s r v /www/ h t d o c s / s q u i r r e l m a i l# . / c o n f i g u r e
• http://localhost/squirrelmail
28 lab: Servidor de email postfix
28.1 Objetivo
- Configurar o Postfix - servidor de email
28.2 Atividade
Nessa atividade vamos configurar o registro MX de um domınio, procuradopelos servidores de email para o envio de mensagens, e configurar o servidor deemail postfix.
28.3 Configuracao do DNS
1 - Devemos incluir nosso servidor de email no arquivo de configuracao dazona seunome.sobrenome.:
$TTL 3D@ IN SOA ns.seunome.sobrenome. root.seunome.sobrenome. (200609181 3H 15M 1W 1D )
Digite mail para ver o email recebido. Alguns dos comandos aceitos sao:
• n - mostra email com numero n
• q - sair
• h - listar os emails
• r - replay (utilize Ctrl+D para finalizar)
• d 1 3 - deleta os emails 1 e 320O pacote mailx deve estar instalado.
68
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
Parte IX
squid29 Conhecendo o squid
29.1 Introducao
O que e o Squid?
• Servidor web proxy cache.
• Analise de trafego de acesso a internet.
• Restricao de acesso por ACLs (Access Control List).
• Desempenho e Estabilidade.
• Economia de Banda.
O que e proxy?
• Prove um intercambio entre os computadores da rede interna e a internet.
• Isolamento de Redes.
• Controle de Servico.
O que e cache?
• Armazenamento momentaneo de conteudo.
• Dispositivo de acesso rapido.
29.2 Daemons e Utilitarios
• squid responsavel pela execucao e gerenciamento do proxy e cache.
• sarg gera relatorios baseados nos logs de acesso do squid. (access.log).
29.3 Arquivo de configuracao
/etc/squid/squid.conf
• visible hostname MAQXX
• http port 3128
69
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
• icp port 3130
• cache mem 8 MB # default
• cache dir aufs /var/spool/squid 100 16 256
• cache peer ip servidor parent 3128 3130 no-digest no-netdb-exchange
30 ACLs - Access Control Lists
30.1 Introducao
• Para que serve?
• Onde eu uso isso?
• Como funciona?
30.2 tags de configuracao
tag “acl”
• ACL por IP (src)
• ACL por Autenticacao (proxy auth)
• ACL de bloqueio de url (dstdomain)
• ACL de bloqueio por palavra-chave (url regex -i)
tag “http access”Metodo de bloqueio seletivo
• http access deny sites proibidos
• http access deny sites porno !nao porno
• http access allow all
tag “http access”Metodo de liberacao seletiva
• http access deny all
• http access allow ips livres
• http access allow user auth
70
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
30.3 Autenticacao
# A u t e n t i c a c a o dos U s u a r i o s ( Squid )# usando n c s a a u t h# Le ia documentacao em / u s r / s h a r e / doc / s q u i da u t h p a r a m b a s i c rea lm Squida u t h p a r a m b a s i c program / u s r / l i b / s q u i d / n c s a a u t h / e t c / s q u i d / passwda u t h p a r a m b a s i c c h i l d r e n 5a u t h p a r a m b a s i c rea lm D i g i t e sua senhaa u t h p a r a m b a s i c c r e d e n t i a l s t t l 2 h o u r sa u t h p a r a m b a s i c c a s e s e n s i t i v e o f fa c l a u t e n t i c a d o s p r o x y a u t h REQUIREDh t t p a c c e s s a l l o w a u t e n t i c a d o s
30.4 Criacao de usuarios
• htpasswd -c /etc/squid/passwd primeiro usuario Cria o arquivo desenhas do squid.
• htpasswd /etc/squid/passwd outro userAdiciona outro usuario a listade senhas do squid.
31 Relatorios com sarg
31.1 Configuracao e o comando sarg
/etc/squid/sarg.conf
• output dir /www/docs/relatorios/
• access log /var/log/squid/access.log
• language Portuguese
• resolve ip yes
• report type topsites users sites sites users date time deniedauth failures site user time date
Utilizacao do sargO comando crontab pode ser usado para rodar o comando sarg diariamente:
# minuto ho ra d i a mes d i a d a s e m a n a comando0 12 ∗ ∗ 1−5 / u s r / b i n / s a r g && echo ”” > / v a r / l o g / s q u i d / a c c e s s . l o g
O comando indicado sera executado as 12:00, qualquer dia de qualquer mes,de segunda (1) a sexta (5)
71
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
32 lab: squid
32.1 Limpeza do arquivo squid.conf
• renomeie o arquivo squid.conf para squid.conf.orig e utilize o co-mando abaixo:
$ grep −v ˆ# s q u i d . con f . o r i g | g rep −v ˆ $ > s q u i d . con f
• Obtemos o arquivo sem comentarios e espacos em branco, como o exemploabaixo:
h i e r a r c h y s t o p l i s t cg i−b i n ?a c l QUERY u r l p a t h r e g e x cg i−b i n \?n o c a c h e deny QUERYh o s t s f i l e / e t c / h o s t sr e f r e s h p a t t e r n ˆ f t p : 1440 20% 10080r e f r e s h p a t t e r n ˆ gopher : 1440 0% 1440r e f r e s h p a t t e r n . 0 20% 4320a c l a l l s r c 0 . 0 . 0 . 0 / 0 . 0 . 0 . 0a c l manager p r o t o c a c h e o b j e c ta c l l o c a l h o s t s r c 1 2 7 . 0 . 0 . 1 / 2 5 5 . 2 5 5 . 2 5 5 . 2 5 5a c l t o l o c a l h o s t d s t 1 2 7 . 0 . 0 . 0 / 8a c l S S L p o r t s p o r t 443 563 # h t t p s , snewsa c l S S L p o r t s p o r t 873 # r s y n ca c l S a f e p o r t s p o r t 80 # h t t pa c l S a f e p o r t s p o r t 21 # f t pa c l S a f e p o r t s p o r t 443 563 # h t t p s , snewsa c l S a f e p o r t s p o r t 70 # gophera c l S a f e p o r t s p o r t 210 # waisa c l S a f e p o r t s p o r t 1025−65535 # u n r e g i s t e r e d p o r t sa c l S a f e p o r t s p o r t 280 # h t t p−mgmta c l S a f e p o r t s p o r t 488 # gss−h t t pa c l S a f e p o r t s p o r t 591 # f i l e m a k e ra c l S a f e p o r t s p o r t 777 # m u l t i l i n g h t t pa c l S a f e p o r t s p o r t 631 # cupsa c l S a f e p o r t s p o r t 873 # r s y n ca c l S a f e p o r t s p o r t 901 # SWATa c l purge method PURGEa c l CONNECT method CONNECTh t t p a c c e s s a l l o w manager l o c a l h o s th t t p a c c e s s deny managerh t t p a c c e s s a l l o w purge l o c a l h o s th t t p a c c e s s deny purgeh t t p a c c e s s deny ! S a f e p o r t sh t t p a c c e s s deny CONNECT ! S S L p o r t sa c l o u r n e t w o r k s s r c 1 7 2 . 2 0 . 0 . 0 / 2 4 1 9 2 . 1 6 8 . 2 . 0 / 2 4 1 2 7 . 0 . 0 . 1h t t p a c c e s s a l l o w o u r n e t w o r k sh t t p a c c e s s deny a l lh t t p r e p l y a c c e s s a l l o w a l li c p a c c e s s a l l o w a l lc o r e d u m p d i r / v a r / s p o o l / s q u i d# Pa ra o uso do proxyc a c h e p e e r 1 9 2 . 1 6 8 . 6 0 . 8 p a r e n t 3128 3130 no−query
32.2 Clientes com acesso ao proxy
72
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
• Defina as redes que podem acessar o servidor proxy e negue o acesso a todasas outras
a c l o u r n e t w o r k s s r c 1 7 2 . 2 0 . 0 . 0 / 2 4 1 9 2 . 1 6 8 . 2 . 0 / 2 4 1 2 7 . 0 . 0 . 1h t t p a c c e s s a l l o w o u r n e t w o r k sh t t p a c c e s s deny a l l
32.3 Bloqueio de sites
1. Vamos inserir duas novas ACLs (Access Control Lists)a c l b l o q u e a d o s u r l r e g e x − i ” / e t c / s q u i d / b l o c k . t x t ”a c l n a o b l o q u e a d o s u r l r e g e x − i ” / e t c / s q u i d / unb lock . t x t ”
2. Adicionar uma linha http access para negar o acesso a primeira acl e permitiro acesso a segunda (usando ! para negacao)
h t t p a c c e s s deny b l o q u e a d o s ! n a o b l o q u e a d o s
3. Criar os arquivos block.txt e unblock.txt com palavras que serao proibidase excecoes, respectivamente, uma por linha.Ex.: proibir a palavra “yahoo” em block.txt e permitir “yahoogroups” emunblock.txt.
Parte X
NFS33 NFS - Network File System
33.1 Introducao
• permite o compartilhamento de sistemas de arquivos
# / e t c / e x p o r t s#/ pub 1 0 . 1 . 1 . 0 / 2 4 ( ro , a sync ) L01Micro07 ( rw , sync )
– ro - read only
– async - processa solicitacoes de gravacao de maneira assincrona. Mel-hora o desempenho na gravacao, mas possibilita a perda de dados nocaso de queda.
• /etc/init.d/portmap start
• /etc/init.d/nfsserver start
33.3 Montagem do sistema de arquivos via NFS
Configuracao do cliente
• mount servidor:/diretorio /mnt (root)
• /etc/fstab# / e t c / f s t a bs e r v e r : / pub / mnt n f s r s i z e =8192 , ws ize =8192 , t imeo =14 , i n t r
– rsize - numero de bytes usados na leitura de arquivos
– wsize - numero de bytes usados na escrita de arquivos
– timeo - tempo limite para requisicoes em decimos de segundo
– intr - permite aos usuarios interromperem as operacoes bloqueadas(fazendo com que retorne um erro)
• man nfs para mais informacoes
74
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
33.4 tcp wrappers
• /etc/hosts.deny nega o acesso a servicos
# / e t c / h o s t s . denyALL: ALL
• /etc/hosts.allow permite o acesso a servicos
# / e t c / h o s t s . a c c e s spor tmap : 1 0 . 1 . 1 . 0 / 2 4
• man hosts access para mais informacoes
Parte XI
samba34 Conhecendo o Samba
34.1 Introducao
O que e o Samba?
• Servidor e conjunto de ferramentas para Unix para conversar com redes Win-dows
• Protocolo SMB (Server Message Block) ou CIFS (Common Internet FileSystem)
• UNIX, Linux, IBM System 390, OpenVMS e outros sistemas operacionais
Como posso usar o Samba?
• Cliente de uma rede Windows
• Servidor de domınio para clientes Windows
• Controle de acesso em nıvel de usuario
• Servidor de impressao para redes Windows
• Servidor WINS
• etc.
75
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
34.2 Daemons
O servidor Samba consiste essencialmente em dois ou tres daemons:
• nmbd - suporta o servico de nomes NetBIOS e WINS. Participa no mecan-ismo de navegacao de rede;
• smbd - responsavel pelo compartilhamento de arquivos e impressoras, autenticacaoe autorizacao para clientes SMB;
• winbindd - utilizado quando Samba e membro de um domınio Windows.
34.3 Programas utilitarios
• smbclient - ferramenta de navegacao para acesso a recursos de uma maquinaSMB remota; possui interface similar a de um cliente FTP;
• smbmount, smbumount - monta/desmonta um compartilhamento de umamaquina SMB remota;
• testparm - faz a checagem do arquivo smb.conf;
• smbpasswd - cria os usuarios samba na maquina Linux;
• smbtree - similar ao ambiente de rede do windows, em modo texto;
• swat
SWAT
• Interface WEB para facilitar a configuracao do Samba
Criacao de scripts de logon[global]domain logons = yeslogon script = logon.cmdlogon drive = H:
Palavras-chave
• domain logons - ativa o recurso de logon scripts do samba
78
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
• logon script - e o script que sera executado na maquina cliente quandofizer o logon
• logon drive - unidade de disco que tera o homedir do usuario mapeado.Maquinas NT/2000/XP
Criacao de scripts de logon
[netlogon]path = /pub/samba/netlogonread only = yeswrite list = ntadmin
Palavras-chave
• write list - Lista de usuarios separados por espaco ou vırgula que poderaoler e gravar no compartilhamento. Caso o nome for iniciado por ”@”, onome especificado sera tratado como um grupo UNIX (/etc/group) e todosos usuarios daquele grupo terao acesso de gravacao
• http://www.samba.org/ documentacao, versao (3.0), fontes, binarios, GUIs,informacoes ao desenvolvedor,..
• pacote samba-doc SAMBA Developers Guide Samba-3 by Example HOWTOand Reference Guide Using Samba, 2nd Edition
• man pages
37 lab: samba
37.1 Objetivos
• Utilizar as ferramentas do pacote samba
• Utilizar uma configuracao basica do arquivo smb.conf
• Configurar um controlador de domınio
79
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
37.2 Utilitarios
37.2.1 smbclient
Para a listagem dos compartilhamentos existentes em um servidor:
• smbclient -L servidor+ Lista os compartilhamentos de servidor;
• smbclient //servidor/pasta -U aluno -W grupo+ Acessa o compartilhamento como usuario aluno e grupo de trabalho grupo.Comandos como ls, put e get sao aceitos para transferencia de arquivos.
Sharename Type Comment--------- ---- -------IPC$ IPC IPC remototemp Disk arquivos temporariosADMIN$ Disk Administracao remotaC$ Disk Recurso compartilhado padraoDomain=[W2K] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
Server Comment--------- -------
Workgroup Master--------- -------
> smbumount mnt/
37.2.2 smbmount
Permite a montagem de um disco compartilhado por uma maquina SMB re-mota como uma particao.
> smbmount //w2k/C$ mnt/ -o username=administradorPassword:> ls mnt/arcldr.exe Documents and Settings PDFsarcsetup.exe IO.SYS RECYCLERArquivos de programas MSDOS.SYS System Volume InformationAUTOEXEC.BAT NTDETECT.COM tempBootfont.bin ntldr WINNTboot.ini pagefile.sysCONFIG.SYS PDF LIVRE
80
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
37.2.3 nmblokup
Resolve nome ou IP de um cliente e lista suas caracterısticas.> nmblookup sargequerying sarge on 192.168.2.255192.168.2.5 sarge<00>> nmblookup w2kquerying w2k on 192.168.2.255querying w2k on 192.168.0.255querying w2k on 172.20.255.255172.20.0.2 w2k<00>
Quanto ao codigo em hexadecimal:
• 00 = O servico NetBEUI esta sendo executado na maquina.
• 03 = Nome generico da maquina (nome NetBIOS).
• 1d - GRUPO = Navegador Local de Domınio/Grupo.
• 1b = Navegador Principal de Domınio.
• 03 - GRUPO = Nome Generico registrado por todos os membros do grupode trabalho.
• 1c - GRUPO = Controladores de Domınio / Servidores de logon na rede.
• 1e - GRUPO = Resolvedores de Nomes Internet (WINS).
37.3 Configuracao do arquivo smb.conf
[global] # secao globalworkgroup = HOME # grupo de trabalho da maquinanetbios name = linux # Nome da maquina na rede SMB# share1 e share2 sao secoes de compartilhamento[share1]path = /tmp # Diretorio do Unix a ser compartilhadocomment = Diretorio temporario do sistemaread only = novalid users = aluno[share2]path = /pubcomment = Arquivos # Comentario sobre o compartilhamento[homes] # Compartilhamento dos diretorios de usuarios do Unixcomment = Home oirectoriesbrowseable = nowritable = yescreate mask = 0700directory mask = 0700
1. Editar o arquivo /etc/samba/smb.confFaremos modificacoes para o Linux aparecer no ambiente de rede do Win-dows;
81
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
2. testparmPara testar o novo arquivo smb.conf
3. Editar arquivo /etc/hosts.allowSamba vem com tcpwrappers: arquivos hosts.allow e hosts.deny controlamacesso pela rede;
4. Reiniciar servidor samba para que as novas configuracoes sejam lidasOs scripts que iniciam os servicos ficam em /etc/init.d
37.4 Controlador de Domınio
A configuracao abaixo, faz com que o samba trabalhe como um PDC - PrimaryDomain Controller.# Global parameters[global]workgroup = HOMEnetbios name = LINUXserver string = Linux Serverpassdb backend = tdbsamsecurity = user
# add user script = /usr/sbin/useradd -m %u# delete user script = /usr/sbin/userdel -r %u# add group script = /usr/sbin/groupadd %g# delete group script = /usr/sbin/groupdel %g# add user to group script = /usr/sbin/groupmod -A %u %g# delete user from group script = /usr/sbin/groupmod -R %u %g# add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody %u
# script de login para ser executado no windowslogon script = logon.cmdlogon path = \\%N\%U\profile #profiles no diretorio do usuariologon drive = X:logon home = "\\%N\%U"
# configuracao de domıniodomain logons = Yesos level = 100preferred master = Yesdomain master = Yeswins support = Yestime server = Yes
[tmp]comment = Temporary file spacepath = /tmpread only = Noguest ok = Yes
1. Crie uma conta de maquina no servidor Linux
useradd -g maquina -c "maquina de dominio" -s /bin/false \-d /dev/null w2000$smbpasswd -m -a w2000
2. Crie uma conta para o root no samba
smbpasswd -a root
3. Crie o diretorio netlogon/scripts utilizado para a manutencao dos scripts delogon
mkdir -p /var/lib/samba/netlogon/scripts
4. Crie o script logon.cmd no diretorio criado
net use X: /HOMEnet time \\LINUX /set /yes
5. Crie usuarios do sistema Linux que podem logar a partir do windows
83
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
useradd -s /bin/false userpasswd usersmbpasswd -a user
6. Configure o Windows para logar no domınio
Se o script logon.cmd for criado no sistema Linux, estara no formato Unix;nesse caso, use o utilitario unix2dos para converte-lo para o formato DOS.
No exemplo abaixo, # e o prompt de comando.
# unix2dos logon.cmd# lslogon.cmd# file logon.cmdlogon.cmd: ASCII text, with CRLF line terminators# dos2unix logon.cmd# file logon.cmdlogon.cmd: ASCII text
84
Notasde
Aula
-2011
FIAP
-UsoInterno
Prof
.Al
exan
der
Luz
Sper
andi
o
A Comandos do vim
Comandos basicos
• i - entra em edicao na posicao do cursor
• < ESC > - volta para o modo de comandos
• :wq - salva (w) e sai (q)
• q! - sai sem salvar (! forca)
Outros comandos
• :r arquivo - adiciona arquivo na linha abaixo do cursor
• :w nome - salva arquivo com o nome fornecido
• o - entra em edicao abrindo uma linha abaixo do cursor
• O - entra em edicao abrindo uma linha acima do cursor
• :syntax on - liga as cores para sintaxe em linguagens de programcao
• :set nu - enumera as linhas
• :set nonu - retira a numeracao de linhas
• :10,20 w arquivo - salva o intervalo da linha 10 a linha 20 em arquivo
B qemu e vde2
qemu e um virtualizador e emulador de maquinas[?].Usado como emulador, ele pode rodar sistemas e programas de uma maquina/arquitetura
(ex.: ARM) em uma maquina diferente (ex.: PC);Quando usado como virtualizador, o qemu atinge performances proximas da
nativa quando utilizado junto com o modulo kqemu. Para o aproveitamento davirtualizacao por hardware contida nos processadores atuais, deve-se utilizar okvm.
vde e um software do projeto Virtual Square[?]. Esse projeto inclui variossoftwares e bibliotecas. O principal objetivo e criar um ambiente unificado quepermita a maquinas virtuais, sistemas e redes se comunicarem e iteragirem entresi.
85
Notas de
Aula- 20
11
FIAP - Uso
Intern
o
Prof
.Ale
xand
erL
uzSp
eran
dio
B.1 Instalacao dos pacotes necessarios
Note o sımbolo # antes dos comandos. Significa que o comando deve ser ex-ecutado como root. Quando utilizado o sımbolo $, o comando deve ser executadopelo usuario.
O comando slirpvde pode ser executado pelo usuario comum e permite aconexao do switch virtual a internet, fornecendo a configuracao de rede atravesdo protocolo DHCP, para as maquinas no switch.
A opcao --network permite a especificacao da rede que sera distribuıda via dhcp.
B.4 Maquinas virtuais com o qemu
ATENCAO: Os scripts debian vma.sh e debian vmb.sh utilizam o comandovdeqemu para levantar duas maquinas virtuais a partir da imagem do arquivodebian vm.img.
Cada script levanta uma maquina com um endereco MAC diferente, para quese comuniquem atraves do switch virtual. Execute esses scripts para obter asmaquinas rodando.
# Exemplo de um dos scripts debian_vma.sh#$ vdeqemu -m 128 -hda debian5.img -boot c -net nic,macaddr=00:11:22:33:44:50-net vde,sock=/tmp/vde1 -snapshot
O comando dhclient pode ser utilizado nas maquinas virtuais para a configuracaovia DHCP se essa ja nao for a configuracao padrao na maquina virtual. Pode serutilizado, tambem na maquina host, para configurar a interface tap0 via DHCP.