Mudanças entre as edições de "Gerência de Redes de Computadores (técnico) (diário 2013-2)"
(47 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 54: | Linha 54: | ||
=Aulas= | =Aulas= | ||
− | ==16/08: | + | ==16/08: visão geral da disciplina== |
* Visão geral da disciplina: etapas e tópicos, programação. | * Visão geral da disciplina: etapas e tópicos, programação. | ||
* Materiais sugeridos: | * Materiais sugeridos: | ||
Linha 62: | Linha 62: | ||
** Guia do Administrador do Sistema (2ª edição)<ref>http://novatec.com.br/livros/linuxguiaadm2/</ref> | ** Guia do Administrador do Sistema (2ª edição)<ref>http://novatec.com.br/livros/linuxguiaadm2/</ref> | ||
− | ==19/08: | + | ==19/08: sistema operacional variante do UNIX== |
* O tripé Usuário, Processo e Dados; ou melhor, multiusuário, multitarefa e multidados. O ''kernel'' como controle e abstração do ''hardware'' para o usuário final. O arquivo como abstração final: '''Tudo é arquivo ou conteúdo de...'''. | * O tripé Usuário, Processo e Dados; ou melhor, multiusuário, multitarefa e multidados. O ''kernel'' como controle e abstração do ''hardware'' para o usuário final. O arquivo como abstração final: '''Tudo é arquivo ou conteúdo de...'''. | ||
* Comandos de manipulação de usuários, grupos, processos, arquivos, manuais de sobrevivência (<tt>which</tt>, <tt>whereis</tt>, <tt>man</tt>). | * Comandos de manipulação de usuários, grupos, processos, arquivos, manuais de sobrevivência (<tt>which</tt>, <tt>whereis</tt>, <tt>man</tt>). | ||
Linha 78: | Linha 78: | ||
** Dos arquivos do tipo ''socket'' (<tt>s</tt>), quais não estão em <tt>/var</tt>? | ** Dos arquivos do tipo ''socket'' (<tt>s</tt>), quais não estão em <tt>/var</tt>? | ||
− | ==26/08: | + | ==26/08: instalação do S.O.== |
* Instalação do sistema operacional [http://ubuntu.com Ubuntu Linux], [[CTIC:Servidores|criação manual de ''swap'']] e vistos os arquivos criados pela instalação. | * Instalação do sistema operacional [http://ubuntu.com Ubuntu Linux], [[CTIC:Servidores|criação manual de ''swap'']] e vistos os arquivos criados pela instalação. | ||
* Como referência das dependências dos serviços, mostrado como exemplo a disciplina [[Gerência de Redes (diário 2013-1)|Gerência de Rede do Tecnólogo, edição 2013-1]]. | * Como referência das dependências dos serviços, mostrado como exemplo a disciplina [[Gerência de Redes (diário 2013-1)|Gerência de Rede do Tecnólogo, edição 2013-1]]. | ||
Linha 134: | Linha 134: | ||
==13/09: DNS== | ==13/09: DNS== | ||
− | * Visto o serviço DNS, os [http://root-servers.org/ servidores raiz] e as organizações [http://www.iana.org/ IANA] e [http://www.icann.org/ ICANN] | + | * Visto o serviço DNS, os [http://root-servers.org/ servidores raiz] e as organizações [http://www.iana.org/ IANA] e [http://www.icann.org/ ICANN]<ref>http://www.dnsinspect.com/</ref>. |
* A implementação [http://www.isc.org/downloads/BIND/ bind, da ISC]. Alguns arquivos de configuração: | * A implementação [http://www.isc.org/downloads/BIND/ bind, da ISC]. Alguns arquivos de configuração: | ||
** <tt>/etc/named.conf</tt> | ** <tt>/etc/named.conf</tt> | ||
** <tt>/etc/named.conf.local</tt> | ** <tt>/etc/named.conf.local</tt> | ||
** <tt>/etc/named.conf.options</tt> | ** <tt>/etc/named.conf.options</tt> | ||
+ | |||
+ | ==16/09: DNS e revisão de IP== | ||
+ | * Apresentação e configuração dos principais arquivos de configuração do DNS, e criação de um domínio com autoridade local: <tt>gerencia.com.br</tt> para ilustrar a criação e entender melhor a delegação de domínios. | ||
+ | * Iniciada a revisão de conceitos sobre máscara de sub-rede e roteamento. | ||
+ | |||
+ | ==20/09: atividade de Máscara de sub-rede== | ||
+ | Para reforçar a revisão, a seguir algumas atividades a serem feitas em relação a máscara de sub-rede. | ||
+ | # Considere a rede 172.16.0.0/16. Agora, segmente-a para resolver os seguintes problemas: | ||
+ | ## 2 sub-redes de mesmo tamanho, onde caibam pelo menos 50 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (''broadcast'') e quantos computadores (incluindo o roteador) cabem em cada uma dessas. | ||
+ | ## 5 sub-redes de mesmo tamanho, onde caibam pelo menos 10 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (''broadcast'') e quantos computadores (incluindo o roteador) cabem em cada uma dessas. | ||
+ | ## 10 sub-redes de mesmo tamanho, onde caibam pelo menos 10 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (''broadcast'') e quantos computadores (incluindo o roteador) cabem em cada uma dessas. | ||
+ | ## 3 sub-redes de tamanhos diversos, ondem caibam, respectivamente, 10, 20 e 40 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (''broadcast'') e quantos computadores (incluindo o roteador) cabem em cada uma dessas. | ||
+ | ## 6 sub-redes de tamanhos diversos, ondem caibam, respectivamente, 10, 20, 20, 40, 60 e 60 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (''broadcast'') e quantos computadores (incluindo o roteador) cabem em cada uma dessas. | ||
+ | ## 9 sub-redes de tamanhos diversos, ondem caibam, respectivamente, 1, 2, 10, 10, 10, 20, 20, 30 e 80 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (''broadcast'') e quantos computadores (incluindo o roteador) cabem em cada uma dessas. | ||
+ | # Para cada exemplo acima, procure uma solução com endereços diferentes a partir de máscaras de sub-rede diferentes da solução original. | ||
+ | # Repita todo o processo, agora com a rede 192.168.1.0/24. | ||
+ | |||
+ | ==23/09 - 30/09: revisão de assunto== | ||
+ | * Ainda sobre a revisão de IP e máscara de sub-rede, e finalização da configuração da zona direta <tt>gerencia.com.br</tt>. | ||
+ | |||
+ | ==04/10: DNS== | ||
+ | * Configuração do DNS: zonas direta e reversa. | ||
+ | No VirtualBox, com a máquina desligada, atualizar o MAC das interfaces de rede (1 e 2). | ||
+ | Ao ligar o Linux, virar root e depois apagar as interfaces antigas: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | sudo su - | ||
+ | cat /dev/null > /etc/udev/rules.d/70-persistent-net.rules | ||
+ | reboot | ||
+ | </syntaxhighlight> | ||
+ | Tem rede? Então pode instalar o servidor DNS: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | cat /etc/apt/sources.list | ||
+ | aptitude update | ||
+ | aptitude install bind9 | ||
+ | </syntaxhighlight> | ||
+ | Editar a configuração principal: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | cd /etc/bind | ||
+ | vi named.conf.options | ||
+ | </syntaxhighlight> | ||
+ | Criar os domínios: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | vi named.conf.local | ||
+ | vi <zona direta> | ||
+ | vi <zona reversa> | ||
+ | </syntaxhighlight> | ||
+ | Para aplicar os novos valores: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | tail -f /var/log/syslog & | ||
+ | service bind9 restart | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==07/10: Primeira rede== | ||
+ | <center> | ||
+ | <graphviz> | ||
+ | digraph PrimeiraRede { | ||
+ | rankdir=LR | ||
+ | Internet [shape=circle] | ||
+ | Servidor [shape=Mrecord|label="<0>Servidor|<1>eth0|<2>eth1"] | ||
+ | Cliente [shape=Mrecord|label="<0>Cliente|<1>eth0"] | ||
+ | Cliente:1 -> Servidor:2 | ||
+ | Servidor:1 -> Internet | ||
+ | } | ||
+ | </graphviz> | ||
+ | </center> | ||
+ | |||
+ | ===Servidor (ger1-tecnico)=== | ||
+ | * Configuração de rede, arquivo /etc/network/interfaces: | ||
+ | <code> | ||
+ | # Loopback | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | # Rede externa | ||
+ | auto eth0 | ||
+ | iface eth0 inet static | ||
+ | address 192.168.1.1XX | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 192.168.1.1 | ||
+ | dns-search nome.com.br | ||
+ | dns-nameservers 127.0.0.1 | ||
+ | |||
+ | # Rede interna | ||
+ | auto eth1 | ||
+ | iface eth1 inet static | ||
+ | address 172.31.1.1XX | ||
+ | netmask 255.255.255.0 | ||
+ | post-up /usr/local/sbin/eth1.up | ||
+ | pre-down /usr/local/sbin/eth1.down | ||
+ | </syntaxhighlight> | ||
+ | * Configuração de rede, arquivo /etc/resolv.conf: | ||
+ | <code> | ||
+ | search nome.com.br | ||
+ | nameserver 127.0.0.1 | ||
+ | </syntaxhighlight> | ||
+ | * Roteamento e NAT, arquivo /usr/local/sbin/eth1.up: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | #!/bin/bash | ||
+ | sysctl -w net.ipv4.ip_forward=1 | ||
+ | iptables -t nat -F | ||
+ | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
+ | </syntaxhighlight> | ||
+ | * Roteamento e NAT, arquivo /usr/local/sbin/eth1.down: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | #!/bin/bash | ||
+ | sysctl -w net.ipv4.ip_forward=0 | ||
+ | iptables -t nat -F | ||
+ | </syntaxhighlight> | ||
+ | * Configuração do NTP, alterar somente as linhas no arquivo /etc/ntp.conf: | ||
+ | server a.ntp.br | ||
+ | server b.ntp.br | ||
+ | server c.ntp.br | ||
+ | server d.ntp.br | ||
+ | * Configuração do DNS, adicionar as seguintes linhas antes do último "};" no arquivo /etc/bind/named.conf.options: | ||
+ | listen-on { any; }; | ||
+ | allow-query { any; }; | ||
+ | allow-query-cache { any; }; | ||
+ | allow-recursion { | ||
+ | 127.0.0.0/8; | ||
+ | 192.168.1.0/24; | ||
+ | 172.31.1.0/24; | ||
+ | }; | ||
+ | * Configuração do DNS, arquivo /etc/bind/named.conf.local: | ||
+ | zone "nome.com.br" { | ||
+ | type master; | ||
+ | file "/etc/bind/nome.com.br"; | ||
+ | }; | ||
+ | zone "1.168.192.in-addr.arpa" { | ||
+ | type master; | ||
+ | file "/etc/bind/1.168.192.in-addr.arpa"; | ||
+ | }; | ||
+ | * Configuração do DNS, zona direta nome.com.br: | ||
+ | $TTL 86400 | ||
+ | @ IN SOA dns1.nome.com.br. dns-admin.nome.com.br. ( | ||
+ | 2013100701 ; serial | ||
+ | 1d ; refresh | ||
+ | 1h ; retry | ||
+ | 1w ; expire | ||
+ | 1d ; negative cache ttl | ||
+ | ) | ||
+ | @ IN NS dns1.nome.com.br. | ||
+ | |||
+ | dns1 IN A 192.168.1.101 | ||
+ | www IN CNAME dns1.nome.com.br. | ||
+ | blog IN CNAME dns1.nome.com.br. | ||
+ | wiki IN CNAME dns1.nome.com.br. | ||
+ | ntp IN CNAME dns1.nome.com.br. | ||
+ | * Configuração do DNS, zona reversa 1.168.192.in-addr.arpa: | ||
+ | $TTL 86400 | ||
+ | @ IN SOA dns1.nome.com.br. dns-admin.nome.com.br. ( | ||
+ | 2013100700 ; serial | ||
+ | 1d ; refresh | ||
+ | 1h ; retry | ||
+ | 1w ; expire | ||
+ | 1d ; negative cache ttl | ||
+ | ) | ||
+ | @ IN NS dns1.nome.com.br. | ||
+ | |||
+ | 101 IN PTR dns1.nome.com.br. | ||
+ | * Aplicação dos valores: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | chmod 0755 /usr/local/sbin/eth1* | ||
+ | ifdown eth0 | ||
+ | ifdown eth1 | ||
+ | ifup eth1 | ||
+ | ifup eth0 | ||
+ | service ntp restart | ||
+ | service bind9 restart | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ===Cliente (ger2-tecnico)=== | ||
+ | * Configuração de rede, arquivo /etc/network/interfaces: | ||
+ | <code> | ||
+ | # Loopback | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | # Rede interna | ||
+ | auto eth0 | ||
+ | iface eth0 inet static | ||
+ | address 172.31.1.2XX | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 172.31.1.1XX | ||
+ | dns-search nome.com.br | ||
+ | dns-nameservers 172.31.1.1XX | ||
+ | </syntaxhighlight> | ||
+ | * Configuração de rede, arquivo /etc/resolv.conf: | ||
+ | <code> | ||
+ | search nome.com.br | ||
+ | nameserver 172.31.1.1XX | ||
+ | </syntaxhighlight> | ||
+ | * Configuração do NTP, alterar somente as linhas no arquivo /etc/ntp.conf: | ||
+ | server ntp.nome.com.br | ||
+ | * Aplicação dos valores: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | ifdown eth0 | ||
+ | ifup eth0 | ||
+ | service ntp restart | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==11/10: HTTP, o cliente== | ||
+ | * O protocolo HTTP, do [http://web.archive.org/web/*/http://www.uol.com.br UOL] ao [http://chrome.angrybirds.com Angry Birds] e [https://developer.mozilla.org/pt-BR/demos/detail/bananabread Banana Bread]. | ||
+ | * Conexão TCP. Um exemplo: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | telnet towel.blinkenlights.nl | ||
+ | </syntaxhighlight> | ||
+ | * O cliente HTTP usando <tt>telnet</tt> e <tt>netcat</tt>. O arquivo de requisição <tt>req</tt>: | ||
+ | GET /portal/ HTTP/1.1 | ||
+ | Host: www.terra.com.br | ||
+ | |||
+ | e a requisição em si: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | nc www.terra.com.br 80 < req | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==14/10: HTTP, o servidor== | ||
+ | * Instalado o Apache na sua 2ª versão: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | aptitude install apache2 | ||
+ | </syntaxhighlight> | ||
+ | e o PHP na sua 5ª - e ativado em seguida: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | aptitude install php5 | ||
+ | a2enmod php5 | ||
+ | service apache2 restart | ||
+ | </syntaxhighlight> | ||
+ | Um código simples para testar a sua funcionalidade: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | vi /var/www/info.php | ||
+ | </syntaxhighlight> | ||
+ | com o conteúdo | ||
+ | <syntaxhighlight lang=php> | ||
+ | <html> | ||
+ | <header> | ||
+ | <title>Página Inicial</title> | ||
+ | </header> | ||
+ | <body> | ||
+ | <center> | ||
+ | <h1>Olá!</h1> | ||
+ | <?php | ||
+ | $ipaddress = getenv('REMOTE_ADDR'); | ||
+ | echo "Seu IP é: $ipaddress."; | ||
+ | ?> | ||
+ | </center> | ||
+ | </body> | ||
+ | </html> | ||
+ | </syntaxhighlight> | ||
+ | ==31/10: HTTP e o serviço blog== | ||
+ | * Seguido o [http://codex.wordpress.org/pt-br:Instalando_o_WordPress manual de instalação recomendado do Wordpress]. | ||
+ | |||
+ | ==04/11: HTTPS com WebDAV e autenticação básica== | ||
+ | * Cliente: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | aptitude update | ||
+ | aptitude install xorg blackbox firefox cadaver | ||
+ | startx | ||
+ | firefox | ||
+ | </syntaxhighlight> | ||
+ | * Servidor: | ||
+ | <syntaxhighlight lang=bash> | ||
+ | cd /etc/bind | ||
+ | vi named.conf.options | ||
+ | vi named.conf.local | ||
+ | vi dominio.com.br | ||
+ | service bind9 restart | ||
+ | cd /etc/apache2/sites-available | ||
+ | cp default blog | ||
+ | vi blog | ||
+ | a2dissite default | ||
+ | a2ensite blog | ||
+ | service apache2 restart | ||
+ | cp default-ssl arquivos | ||
+ | vi arquivos | ||
+ | mkdir -p /var/www/arquivos | ||
+ | openssl req -new -x509 -nodes -days 1825 -out /etc/ssl/certs/arquivos.pem -keyout /etc/ssl/certs/arquivos.pem | ||
+ | a2dissite default-ssl | ||
+ | a2ensite arquivos | ||
+ | a2enmod ssl | ||
+ | service apache2 restart | ||
+ | a2enmod dav_fs | ||
+ | vi arquivos | ||
+ | htpasswd -c -s /etc/apache2/senhas joao | ||
+ | service apache2 restart | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==11/11: filtro de pacotes e controle de tráfego== | ||
+ | |||
+ | ==14/11: avaliação CPA 2013 e segunda prova== | ||
+ | * [https://formulario.ifsc.edu.br/limesurvey/index.php?sid=54466 Avaliação da Instituição] | ||
+ | |||
+ | ==13/12: recuperação== | ||
+ | Instalação do [http://joomla.org Joomla], de forma análoga ao que fizemos em aula com o WordPress. | ||
+ | |||
+ | =Conceitos= | ||
+ | * [https://docs.google.com/spreadsheet/ccc?key=0AvKQkavuEKVtdF9NcjVtRjZadElUUno5Q1FCRkNWS1E&usp=sharing Tabela publicada]. | ||
=Referências= | =Referências= | ||
<references/> | <references/> |
Edição atual tal como às 19h02min de 13 de dezembro de 2013
Plano de Ensino
- Avaliações:
- 4, uma por mês - incluindo Projeto Integrador.
- Conceito Final:
- A: 4 As.
- B: para cada 1 C 1 A, e no máximo 1 C.
- C: para cada 1 D 1 A, e no máximo 1 D.
- D: demais casos.
Tabela de Serviços
Serviço | RFC | Executável | Configuração | Porta |
Syslog | RFC 5424 | /usr/sbin/rsyslogd | /etc/rsyslog.conf | 514/UDP |
NTP | RFC 5905 | /usr/sbin/ntpd | /etc/ntp.conf | 123/UDP |
DHCP | RFC 2131 | /usr/sbin/dhcpd | /etc/dhcp/dhcpd.conf | 67/UDP |
<graphviz> digraph Serviços {
subgraph cluster_Camada3 { label="Camada 3" DHCP [shape=Mrecord] Rede [shape=Mrecord] }
subgraph cluster_Locais { label="Locais" Syslog [shape=Mrecord] Cron [shape=Mrecord] }
NTP [shape=Mrecord]
DHCP -> Rede DHCP -> NTP [color=blue] Rede -> NTP [color=blue] Rede -> Syslog NTP -> Syslog [color=blue] NTP -> Cron [color=blue] Syslog -> Cron Syslog -> Rede Syslog -> DHCP Syslog -> NTP
} </graphviz>
Aulas
16/08: visão geral da disciplina
- Visão geral da disciplina: etapas e tópicos, programação.
- Materiais sugeridos:
19/08: sistema operacional variante do UNIX
- O tripé Usuário, Processo e Dados; ou melhor, multiusuário, multitarefa e multidados. O kernel como controle e abstração do hardware para o usuário final. O arquivo como abstração final: Tudo é arquivo ou conteúdo de....
- Comandos de manipulação de usuários, grupos, processos, arquivos, manuais de sobrevivência (which, whereis, man).
- Execução de um programa, seja ele compilado (código de máquina) ou interpretado - o usuário que roda um processo que manipula um arquivo.
- Apenas um kernel?
23/08: conceitos básicos
- Revistos os dois conceitos básicos: arquivo ("tudo é arquivo ou conteúdo de") e processos.
- Exercícios de pesquisa em arquivos:
- Quantos arquivos pertencem ao usuário aluno?
- Quais os 50 maiores arquivos do sistema?
- Quais os 50 maiores diretórios do sistema (contando com seu conteúdo)?
- Quais arquivos não têm dono ou grupo correspondente?
- Quais arquivos foram modificados há mais de 15 dias pelo usuário root?
- Dos arquivos do tipo socket (s), quais não estão em /var?
26/08: instalação do S.O.
- Instalação do sistema operacional Ubuntu Linux, criação manual de swap e vistos os arquivos criados pela instalação.
- Como referência das dependências dos serviços, mostrado como exemplo a disciplina Gerência de Rede do Tecnólogo, edição 2013-1.
02/09: boot e o processo init
- Visão do início do sistema, diretório raiz (/) e o primeiro processo, init, com suas configurações.
- O primeiro serviço em rede, syslog, que trata da auditoria de sistema(s).
06/09: rede, cron e hora certa
- Serviços básicos de rede, agendamento de tarefas com cron e hora certa com NTP.
- Configuração exemplo de rede: arquivo /etc/network/interfaces.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-search sj.ifsc.edu.br
dns-nameservers 200.135.37.72 200.135.37.65
</syntaxhighlight>
09/09: DHCP
- O serviço DHCP.
- Configuração de exemplo em aula: arquivo /etc/dhcp/dhcpd.conf.
authoritative;
- Integração com Syslog
log-facility local7;
- Integração com DNS
ddns-update-style none;
option domain-name "sj.ifsc.edu.br";
option domain-name-servers 200.135.37.72, 200.135.37.65;
- Tempos de "aluguel"
default-lease-time 3600;
max-lease-time 14400;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.50 192.168.1.99;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
#
# Integração com NTP
option ntp-servers 192.168.1.1;
}
</syntaxhighlight>
- Arquivos de log:
- /var/log/syslog: eventos do serviço.
- /var/lib/dhcp/dhcpd.leases: concessões de endereço.
13/09: DNS
- Visto o serviço DNS, os servidores raiz e as organizações IANA e ICANN[5].
- A implementação bind, da ISC. Alguns arquivos de configuração:
- /etc/named.conf
- /etc/named.conf.local
- /etc/named.conf.options
16/09: DNS e revisão de IP
- Apresentação e configuração dos principais arquivos de configuração do DNS, e criação de um domínio com autoridade local: gerencia.com.br para ilustrar a criação e entender melhor a delegação de domínios.
- Iniciada a revisão de conceitos sobre máscara de sub-rede e roteamento.
20/09: atividade de Máscara de sub-rede
Para reforçar a revisão, a seguir algumas atividades a serem feitas em relação a máscara de sub-rede.
- Considere a rede 172.16.0.0/16. Agora, segmente-a para resolver os seguintes problemas:
- 2 sub-redes de mesmo tamanho, onde caibam pelo menos 50 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (broadcast) e quantos computadores (incluindo o roteador) cabem em cada uma dessas.
- 5 sub-redes de mesmo tamanho, onde caibam pelo menos 10 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (broadcast) e quantos computadores (incluindo o roteador) cabem em cada uma dessas.
- 10 sub-redes de mesmo tamanho, onde caibam pelo menos 10 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (broadcast) e quantos computadores (incluindo o roteador) cabem em cada uma dessas.
- 3 sub-redes de tamanhos diversos, ondem caibam, respectivamente, 10, 20 e 40 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (broadcast) e quantos computadores (incluindo o roteador) cabem em cada uma dessas.
- 6 sub-redes de tamanhos diversos, ondem caibam, respectivamente, 10, 20, 20, 40, 60 e 60 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (broadcast) e quantos computadores (incluindo o roteador) cabem em cada uma dessas.
- 9 sub-redes de tamanhos diversos, ondem caibam, respectivamente, 1, 2, 10, 10, 10, 20, 20, 30 e 80 computadores cada (não incluindo o roteador). Para cada sub-rede, informe a máscara de sub-rede, endereço de sub-rede, endereço de difusão (broadcast) e quantos computadores (incluindo o roteador) cabem em cada uma dessas.
- Para cada exemplo acima, procure uma solução com endereços diferentes a partir de máscaras de sub-rede diferentes da solução original.
- Repita todo o processo, agora com a rede 192.168.1.0/24.
23/09 - 30/09: revisão de assunto
- Ainda sobre a revisão de IP e máscara de sub-rede, e finalização da configuração da zona direta gerencia.com.br.
04/10: DNS
- Configuração do DNS: zonas direta e reversa.
No VirtualBox, com a máquina desligada, atualizar o MAC das interfaces de rede (1 e 2).
Ao ligar o Linux, virar root e depois apagar as interfaces antigas:
sudo su -
cat /dev/null > /etc/udev/rules.d/70-persistent-net.rules
reboot
Tem rede? Então pode instalar o servidor DNS:
cat /etc/apt/sources.list
aptitude update
aptitude install bind9
Editar a configuração principal:
cd /etc/bind
vi named.conf.options
Criar os domínios:
vi named.conf.local
vi <zona direta>
vi <zona reversa>
Para aplicar os novos valores:
tail -f /var/log/syslog &
service bind9 restart
07/10: Primeira rede
<graphviz>
digraph PrimeiraRede {
rankdir=LR
Internet [shape=circle]
Servidor [shape=Mrecord|label="<0>Servidor|<1>eth0|<2>eth1"]
Cliente [shape=Mrecord|label="<0>Cliente|<1>eth0"]
Cliente:1 -> Servidor:2
Servidor:1 -> Internet
}
</graphviz>
Servidor (ger1-tecnico)
- Configuração de rede, arquivo /etc/network/interfaces:
- Loopback
auto lo
iface lo inet loopback
- Rede externa
auto eth0
iface eth0 inet static
address 192.168.1.1XX
netmask 255.255.255.0
gateway 192.168.1.1
dns-search nome.com.br
dns-nameservers 127.0.0.1
- Rede interna
auto eth1
iface eth1 inet static
address 172.31.1.1XX
netmask 255.255.255.0
post-up /usr/local/sbin/eth1.up
pre-down /usr/local/sbin/eth1.down
</syntaxhighlight>
- Configuração de rede, arquivo /etc/resolv.conf:
search nome.com.br
nameserver 127.0.0.1
</syntaxhighlight>
- Roteamento e NAT, arquivo /usr/local/sbin/eth1.up:
#!/bin/bash
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- Roteamento e NAT, arquivo /usr/local/sbin/eth1.down:
#!/bin/bash
sysctl -w net.ipv4.ip_forward=0
iptables -t nat -F
- Configuração do NTP, alterar somente as linhas no arquivo /etc/ntp.conf:
server a.ntp.br
server b.ntp.br
server c.ntp.br
server d.ntp.br
- Configuração do DNS, adicionar as seguintes linhas antes do último "};" no arquivo /etc/bind/named.conf.options:
listen-on { any; };
allow-query { any; };
allow-query-cache { any; };
allow-recursion {
127.0.0.0/8;
192.168.1.0/24;
172.31.1.0/24;
};
- Configuração do DNS, arquivo /etc/bind/named.conf.local:
zone "nome.com.br" {
type master;
file "/etc/bind/nome.com.br";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/1.168.192.in-addr.arpa";
};
- Configuração do DNS, zona direta nome.com.br:
$TTL 86400
@ IN SOA dns1.nome.com.br. dns-admin.nome.com.br. (
2013100701 ; serial
1d ; refresh
1h ; retry
1w ; expire
1d ; negative cache ttl
)
@ IN NS dns1.nome.com.br.
dns1 IN A 192.168.1.101
www IN CNAME dns1.nome.com.br.
blog IN CNAME dns1.nome.com.br.
wiki IN CNAME dns1.nome.com.br.
ntp IN CNAME dns1.nome.com.br.
- Configuração do DNS, zona reversa 1.168.192.in-addr.arpa:
$TTL 86400
@ IN SOA dns1.nome.com.br. dns-admin.nome.com.br. (
2013100700 ; serial
1d ; refresh
1h ; retry
1w ; expire
1d ; negative cache ttl
)
@ IN NS dns1.nome.com.br.
101 IN PTR dns1.nome.com.br.
- Aplicação dos valores:
chmod 0755 /usr/local/sbin/eth1*
ifdown eth0
ifdown eth1
ifup eth1
ifup eth0
service ntp restart
service bind9 restart
Cliente (ger2-tecnico)
- Configuração de rede, arquivo /etc/network/interfaces:
- Loopback
auto lo
iface lo inet loopback
- Rede interna
auto eth0
iface eth0 inet static
address 172.31.1.2XX
netmask 255.255.255.0
gateway 172.31.1.1XX
dns-search nome.com.br
dns-nameservers 172.31.1.1XX
</syntaxhighlight>
- Configuração de rede, arquivo /etc/resolv.conf:
search nome.com.br
nameserver 172.31.1.1XX
</syntaxhighlight>
- Configuração do NTP, alterar somente as linhas no arquivo /etc/ntp.conf:
server ntp.nome.com.br
- Aplicação dos valores:
ifdown eth0
ifup eth0
service ntp restart
11/10: HTTP, o cliente
- O protocolo HTTP, do UOL ao Angry Birds e Banana Bread.
- Conexão TCP. Um exemplo:
telnet towel.blinkenlights.nl
- O cliente HTTP usando telnet e netcat. O arquivo de requisição req:
GET /portal/ HTTP/1.1
Host: www.terra.com.br
e a requisição em si:
nc www.terra.com.br 80 < req
14/10: HTTP, o servidor
- Instalado o Apache na sua 2ª versão:
aptitude install apache2
e o PHP na sua 5ª - e ativado em seguida:
aptitude install php5
a2enmod php5
service apache2 restart
Um código simples para testar a sua funcionalidade:
vi /var/www/info.php
com o conteúdo
<html>
<header>
<title>Página Inicial</title>
</header>
<body>
<center>
<h1>Olá!</h1>
<?php
$ipaddress = getenv('REMOTE_ADDR');
echo "Seu IP é: $ipaddress.";
?>
</center>
</body>
</html>
31/10: HTTP e o serviço blog
04/11: HTTPS com WebDAV e autenticação básica
- Cliente:
aptitude update
aptitude install xorg blackbox firefox cadaver
startx
firefox
- Servidor:
cd /etc/bind
vi named.conf.options
vi named.conf.local
vi dominio.com.br
service bind9 restart
cd /etc/apache2/sites-available
cp default blog
vi blog
a2dissite default
a2ensite blog
service apache2 restart
cp default-ssl arquivos
vi arquivos
mkdir -p /var/www/arquivos
openssl req -new -x509 -nodes -days 1825 -out /etc/ssl/certs/arquivos.pem -keyout /etc/ssl/certs/arquivos.pem
a2dissite default-ssl
a2ensite arquivos
a2enmod ssl
service apache2 restart
a2enmod dav_fs
vi arquivos
htpasswd -c -s /etc/apache2/senhas joao
service apache2 restart
11/11: filtro de pacotes e controle de tráfego
14/11: avaliação CPA 2013 e segunda prova
13/12: recuperação
Instalação do Joomla, de forma análoga ao que fizemos em aula com o WordPress.
Conceitos
Referências