Programa da Disciplina.Forma de Avaliação. O computador: hardware e software. SO Linux: histórico e distribuições. Ligando/Logando/Desligando a Máquina. Conceitos básico de Sistema de Arquivos e Processos.
2
29/09/2019
ERALDO
Gerenciamento de Arquivos I: Operações sobre arquivos e diretórios usando o terminale o Nautilus.
3
3/09/2019
ERALDO
Gerenciamento de Arquivos II: continuação Operações sobre arquivos e diretórios. Links Simbólicos, Criação de Arquivo com vi e outros editores.
4
5/09/2019
ERALDO
Interfaces Gráficas: X11, Gnome. KDE e outras. Instalação de Programas via Gerenciador de Pacotes.
5
10/09/2019
ERALDO
Administração de contas de usuários I
6
12/09/2019
ERALDO
Administração de contas de usuários II
7
17/09/2019
ERALDO
Permissionamento de Arquivos
8
19/09/2019
ERALDO
Gerenciamento de Processos
9
24/09/2019
ERALDO
Introdução ao Shell Script
10
26/09/2019
ERALDO
Introdução ao Shell Script
11
1/10/2019
ERALDO
Introdução a Redes. Conceito de Protocolos. Ferramentas de Rede no Linux.
12
3/10/2019
ERALDO
Conceito de Protocolos. Protocolos de Aplicação: exemplo http. Protocolo DNS
13
8/10/2019
ERALDO
Camada de Transporte: protocolo UDP. Protocolo TCP. Diferenças dos protocolos de Transporte TCP/UDP.
14
10/10/2019
ERALDO
Camada IP e aspectos da configuração da mesma sob o Linux
15
15/10/2019
ERALDO
Camada de Enlace/Física. Hubs X Switches. O Papel do Protocolo ARP. Outros serviços/protocolos: Serviço DHCP e NAT
16
17/10/2019
ERALDO
Segmentação Redes IP. Cálculo de subredes.
17
22/10/2019
ERALDO
Introdução ao IPV6. Introdução ao Access Point TPLINK N750: configuração da LAN e WAN
18
24/10/2019
ERALDO
Serviço SSH no Linux. Acesso a rede WIFI. Conceitos básicos de redes sem fio.
19
29/10/2009
ERALDO
Tópicos Adicionais sobre redes no Linux: Configuração Manual X NetworkManager. Relatório Avaliativo 1.
3.6 Metodologia, Avaliação e Critérios de Aprovação
Aulas expositivas e aulas práticas no laboratório. Nas aulas práticas serão desenvolvidos exercícios e trabalhos individuais.
Avaliações individuais: Listas de exercícios com aproveitamento e entregues no prazo.
Critérios para aprovação: Serão considerados aprovados os alunos que obtiverem conceito final 6 ou superior em cada componente curricular. ATENÇÃO: Possuir no mínimo 75% de presença
3.7 Bibliografia
Odilson Tadeu Valle
Administração de redes com Linux: fundamentos e práticas
Forma como estão estruturados/organizados os arquivos/dados em uma determinada mídia [2];
Um sistema operacional deve saber como acessar e operar sobre este sistema;
Tipos de sistemas: ext4, NTFS, VFAT32
3.12 Exemplos de SO
Unix
Microsoft DOS
IBM
Microsoft Windows
netBSD, freeBSD, openBSD
Linux
macOS
Android
iOS
3.13 Histórico do Linux
O início de tudo: UNIX;
Surgiu em 1991 quando Linus Torvalds, um estudante finlandês, resolveu desenvolver um sistema operacional compatível com a POSIX, por em que pudesse ser executado em arquitetura x86;
Linux está sob uma licença de software livre e diversas pessoas e empresas contribuem para o desenvolvimento do mesmo.
E o que é POSIX? Define padrões para a interface de programação de aplicações (API) de um OS de forma a manter compatibilidade com o UNIX;
Camandos adicionais para gerenciamento de processos
9.2 Instalação
Considere a estrutura de sistemas de arquivos abaixo. Montar um sistema de arquivos da forma abaixo considerando que sb1 seria um segundo hd máquina virtual.
Logar no sistema e usando o terminal verificar as configurações estabelecidas.
df -h
cd /home
ls spock
Usar o comando gparted para criar uma partição adicional no segundo disco.
sudo apt-get install gparted
sudo gparted
Redimensionar a partição original para poder criar uma adicional.
Liste as configurações da interface eth0 da sua máquina Linux. Recorte e cole em um doc (tipo DRAW) do openoffice. Indique usando flechas onde estão os endereços IPV4, IPV6, MAC(endereço de hardware) e o local indicando onde a interface está ativa.
15.2 Camada IP no Linux: Configuração das Interfaces usando ifconfig e ip addr
Usando a ferramenta Netkit2, que permite construir redes virtuais com o Linux vamos construir DUAS redes locais interligadas por um roteador. Em cada rede colocaremos dois PCs. As interfaces estarão completamente desconfiguradas:
Construir um arquivo texto de nome rede.conf usando o editor de texto gedit.
gedit rede.conf &</syntaxhighlight>
Executar netkit fazendo (atualize se necessário - pergunte para o professor como fazer):
Aplicativos >> Educativo >> Netkit2
Carregar o arquivo lab.conf a partir do Netkit2:
File >> Load Only</syntaxhighlight>
Visualizar a rede a ser implementada:
File >> Graph</syntaxhighlight>
Executar a configuração:
Network >> Start</syntaxhighlight>
Verificar o estado de todas interfaces (se UP ou DOWN) com:
ifconfig -a</syntaxhighlight>
ip addr</syntaxhighlight>
Note que nas últimas versões do Linux o comando ip vem sendo recomendado (embora o ifconfig ainda esteja disponível).
Vamos configurar as interfaces. Para tanto vamos assumir que teremos duas sub-redes:
lan0 - endereço da rede 10.10.10.0/24</syntaxhighlight>
lan1 - endereço da rede 20.20.20.0/24</syntaxhighlight>
A interface eth0 de PC1 receberá o endereço 10.10.10.1/24 e a interface eth0 de PC2 recebera 10.10.10.2/24. A interface do roteador NA lan0 também deve receber um endereço: 10.10.10.254/24:
No PC1:
ifconfig eth0 10.10.10.1/24</syntaxhighlight>
No PC2:
ifconfig eth0 10.10.10.2/24</syntaxhighlight>
No R1:
ifconfig eth0 10.10.10.254/24</syntaxhighlight>
Seguindo a mesma lógica configure as máquinas e o roteador na lan1
Um ponto importante a ser lembrado é que quando uma interface é configurada com um número IP, a tabela de roteamento do sistema é alimentada com o número correspondente da rede associada ao número. Isto pode ser observado em TODAS as máquinas, inclusive no roteador:
route -n </syntaxhighlight>
ou
ip route </syntaxhighlight>
15.3 Camada IP no Linux: verificando e configurando rotas - configuração da rota default
Um ponto importante a ser lembrado é que quando uma interface é configurada com um número IP, a tabela de roteamento do sistema é alimentada com o número correspondente da rede associada ao número. Isto pode ser observado em TODAS as máquinas, inclusive no roteador:
route -n </syntaxhighlight>
ou
ip route </syntaxhighlight>
Esta informação é importante pois define a entrega DIRETA de pacotes na rede, ou seja, se PC1 quiser enviar um pacote para PC2, esta linha na tabela de roteamento garante que o pacote IP seja despachado diretamente para o PC2 através de um frame ETHERNET endereçado para o MAC do PC1.
Confira os endereços MAC e IP das interfaces dos PC1 e PC2 e anote. Faça um ping no PC1 em direção a PC2.
root@pc1:~# ping 10.10.10.2</syntaxhighlight>
Use um capturador de pacotes em modo texto para observar o tráfego na eth0 do PC2. Observe os endereços MAC do Frame Ethernet e os endereços IP do pacote IP.
root@pc2:~# tcpdump -i eth0 -e</syntaxhighlight>
ENTÃO? O que se pode concluir? É uma entrega direta ou indireta?
Uma curiosidade. Tente observar o tráfego na interface eth0 do Roteador R1. É possível observar algo? O que se pode concluir? Pare agora o ping e os tcpdumps executados.
Qualquer máquina IP acaba tomando uma decisão de roteamento. O PC1, ao observar que PC2 está na sua própria rede 10.10.10.0/24, entrega diretamente o pacote. E se PC1 tentar entregar para PC3? Faça um ping e observe o que acontece:
root@pc1:~#ping 20.20.20.1</syntaxhighlight>
Não deve ter funcionado :-(
Um primeiro problema é que simplesmente a camada IP observa que o endereço não é entrega DIRETA mas não tem informação (linha) na tabela de roteamento dizendo para quem deve ser entregue o pacote.
Vamos acrescentar uma linha na tabela de PC1 dizendo como fazer esta entrega INDIRETA. Usaremos o conceito de gateway default. Ou seja, se não tiver para quem entregar explicitamente, o pacote será entregue para o gateway default:
root@pc1:~# route add default gateway 10.10.10.254</syntaxhighlight>
confira o estabelocimento da rota:
root@pc1:~# route -n</syntaxhighlight>
tente o ping novamente escutando com o tcpdump na interface eth0 de R1. Ainda não funcionou mas o R1 já recebe os pacotes. Confira o MAC de destino do pacote. Deve ser o MAC do roteador.
POR QUE NÃO FUNCIONOU: será que R1 não sabe como entregar o pacote para PC3? Confira se o pacote sai de R1 na rede lan1:
root@r1:~# tcpdump -i eth2 -e</syntaxhighlight>
Temos um problema ainda que o nosso roteador Linux NÃO está habilitado a ser roteador. Isto pode ser feito com:
echo 1 > /proc/sys/net/ipv4/ip_forward</syntaxhighlight>
Tente novamente o ping de PC1 para PC3. Ainda não funcionará mas escute a interface eth1 de R1 e a interface eth0 de PC3 e verá que os pacotes do ICMP REQUEST estão chegando. Confira inclusive os MACs envolvidos...
O que estaria faltando ainda para que PC3 responda aos ECHO REQUEST? O problema é de entrega indireta. O PC3 não sabe como entregar pacotes "externos". Acrescente um gateway default.
Construir a rede apresentada na Figura 1, usando como apoio a configuração do netkit descrita na sequência. As sub-redes (SN) a serem utilizadas na parte 1 e 2 são:
SN1 : 200.10.1.0/24
SN2 : 200.10.2.0/24
SN3 : 200.10.3.0/24
SN4 : 200.10.4.0/24
SN5 : 200.10.5.0/24
SN6 : 200.10.6.0/24
SN7 : 200.10.7.0/24
SN8 : 200.10.8.0/24
Abaixo o arquivo de configuração para o NetKit. Copie e salve como /home/aluno/roteamento.conf.
Construir uma rede simular a aula anterior mas deixar PC1 desconfigurado (sem endereço IP e sem default router). Criar uma máquina para atuar como servidor DHCP.
Editar o arquivo de configuração do dhcp server:
Descrição das Máquinas e Roteadores
r1[type]=gateway #já habilitado para forward
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
pcdhcp[type]=generic
No server estabelecer a configuração desejada:
nano /etc/dhcp/dhcpd.conf
com:
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.10 10.10.10.50;
option routers 10.10.10.254;
option broadcast-address 10.10.10.255;
default-lease-time 600;
max-lease-time 7200;
}
</syntaxhighlight>
Rodar o servidor DHCP na máquina pc_dhcp:
/usr/sbin/dhcpd -q -4 -pf /run/dhcp-server/dhcpd.pid -cf /etc/dhcp/dhcpd.conf eth0
</syntaxhighlight>
No cliente (PC1) fazer:
dhclient -v eth0
</syntaxhighlight>
Usando o ifconfig e route confira se o PC1 está completamente configurado. Faça teste com o ping
Rode o tcpdump na eth0 de r1 para "verificar" os pacotes DHCP:
tcpdump -i eth0
</syntaxhighlight>
Repetir a operação no PC2. Baixe a interface antes:
ifconfig eth0 down
dhclient -v eth0
</syntaxhighlight>
DESAFIO: Na rede do exercício 1 acrescentar na lan do H1 um servidor DHCP. Acrescente um H3 nesta rede e faça-o adquirir a configuração da rede dinamicamente.
Construir uma rede com 3 LANs e 2 roteadores como na aula passada. Executar o APACHE em uma máquina da lan3 (exemplo PC4). Não colocar rotas para lan0 em r2. Desta forma PC1 não deve pingar em PC4.
A figura abaixo apresenta o diagrama esquemático da rede a ser montada/analisada. Observe que todos os IPv6 Global Unicast já estão definidos na mesma, são esses IPs que utilizaremos em nosso experimento.
Crie em seu computador um arquivo com nome /home/aluno/IPv6.conf, com o seguinte conteúdo:
#Ligacao das maquinas nos dominios de colisao#Duas pequenas redes interligadas pelo backbone# Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
# Hosts' interfaces to local routers
pc1[eth0]=link0:ipv6=2001:bcc:faca:1::101/64
pc2[eth0]=link1:ipv6=2001:bcc:cafe:1::102/64
pc3[eth0]=HUB1:ipv6=2001:bcc:1f0:1::103/64
pc4[eth0]=HUB1
#Default Gateways definitions
pc1[route]=default6:gateway=2001:bcc:faca:1::1
pc2[route]=default6:gateway=2001:bcc:cafe:1::1
pc3[route]=default6:gateway=2001:bcc:1f0:1::1
# Routers definitions
r1[type]=gateway
r2[type]=gateway
#Routers interfaces definitions
r1[eth0]=backbone0:ipv6=2001:db8:dead:1::1/64
r1[eth1]=link0:ipv6=2001:bcc:faca:1::1/64
r1[eth2]=link1:ipv6=2001:bcc:cafe:1::1/64
r2[eth0]=backbone0:ipv6=2001:db8:dead:1::2/64
r2[eth1]=HUB1:ipv6=2001:bcc:1f0:1::1/64
#Routers definitions
r1[route]=2001:bcc:1f0:1::0/64:gateway=2001:db8:dead:1::2
r2[route]=2001:bcc:faca:1::0/64:gateway=2001:db8:dead:1::1
r2[route]=2001:bcc:cafe:1::0/64:gateway=2001:db8:dead:1::1
Tenha certeza que o Netkit2 estja atualizado: General >> Update.
Rode o NetKit em seu computador. Em um terminal digite:
netkit2&
No menu File - Load and Run, procure o arquivo /home/aluno/IPv6.conf e clique em OK. Abrirá uma janela com 6 abas, onde cada uma delas é um terminal de configuração do respectivo equipamento: pc1-4 ou r1-2.
Observe que o pc4 não está com sua interface configurada.
Ao clicar no menu File - Graph, pode-se ter uma visão da rede a ser simulada e conferir se é equivalente ao diagrama proposto.
Faça um ping6 entre o pc1 ao pc3:
ping6-c42001:bcc:1f0:1::103
Faça um ping6 entre o pc1 e pc2.
No pc4 use o seguinte comando para adicionar o endereço IPv6 à interface de rede:
ipaddradd2001:bcc:1f0:1::104/64deveth0
No pc4, acrescente o default gateway com o seguinte comando:
ip-6routeadddefaultvia2001:bcc:1f0:1::1deveth0
No pc1 use o seguinte comando para verificar como ficou a configuração dos endereços da interface de rede. O resultado é similar ao apresentado pelo comando ifconfig:
ipaddrshowdeveth0
Todo o roteamento está pronto, mas caso desejássemos poderíamos acrescentar rotas com comando similares aos já utilizados. Por exemplo, no r1, para adicionar uma rota estática para a rede dos pc3 e pc4 utilizaríamos o seguinte comando:
Configurar a LAN para DHCP na faixa 192.168.0.10 a 192.168.0.100
Usar uma máquina virtual para testar a aquisição do IP:
pc1[type]=generic
pc1[eth0]=uplink:bridge=eth0
18.2 Desafios sobre o uso do equipamento TP-LINK N750
DESAFIO 1: Elabore um experimento para mostrar que a LAN do AP funciona como um switch.
Sugestão: Use uma máquina adicional colocada em uma porta do AP.
DESAFIO 2: Elabore um experimento para mostrar como o NAT funciona no AP. Se inspire no experimento realizado sobre o NAT.
19 AULA Dia 22/10/2019
19.1 Objetivos
Relatório avaliativo 1: montagem de rede cabeada com NAT e DHCP lado LAN;
Introdução a rede Wireless (WLAN);
19.2 Relatório Avaliativo 1
Implementar a rede abaixo. Construir e postar um arquivo no SIGA A com as seguintes informações:
Configuração da WAN no AP D-Link;
Configuração da LAN no AP D-Link;
Status das redes no AP (aoós rebootar);
ping funcionando da MV no hospedeiro;
ping funcionando da MV no site www.ifsc.edu.br
20 AULA Dia 24/10/2019
20.1 Objetivos
Um pouco mais segmentação de redes IP
Introdução a rede Wireless (WLAN);
Configuração da rede Wifi em 2.4Ghz
Uso de filtros por MAC
Visibilidade da Rede
Configuração da rede Wifi em 5Ghz
Opções de extensão da rede sem fio usando cabo entre APs
20.4 Configuração da rede Wifi em 2.4Ghz usando o AP Router com NAT
Entrar na configuração do AP conforme aula anterior.
Conectara a WAN do AP na rede do laboratório e o PC em uma porta da LAN do AP.
Configurar a WAN para IP dinâmico.
Configurar a rede WIreless 2.4 Ghz:
Nome SSID: FIC-NomeAluno
Configurar canal AUTO e channel width para AUTO
Habilite o broadcast da rede.
Configurar segurança (Wireless Security) para WPA versão Automática, Criptografia AES e password ABCDEF
Configurar o DHCP na LAN para distribuir endereços entre 192.168.0.100 e 192.168.0.200
Salve as configurações
Reboote o roteador
Teste a conectividade da rede usando um celular. Verifique a conformidade do endereço do celular com os endereços distribuídos pelo AP;
teste ping entre MVs e celular
teste ping entre MV e mundo externo
Tente fazer um ping da rede do laboratório em direção ao celular. Discuta o resultado.
20.5 Uso de filtros por MAC
Na configuração da WLAN entre em Wireless MAC Filtering
Em Filtering Rules coloque Deny (negar)
Adicione um terminal que deseja bloquear o acesso. Utilize o MAC do seu celular (veja em configurações do telefone ou anote na opção Wireless Statistics)
Habilite o Filtro e tente se conectar
OBS: Este filtro é interessante para ter maior segurança na rede, garantindo que somente dispositivos gabilitados possam acessá-la.
20.6 Visibilidade da Rede
desabilite a visbilidade da rede. Desconecte a rede do seu celular e tente encontrá-la novamente.
20.7 Opções de extensão da rede sem fio usando cabo entre APs
Conecte um segundo AP (WAN do segundo AP a LAN do primeiro AP). Teste a conectividade colocando uma máquina Linux na LAN do segundo AP.
Esta configuração deve funcionar mas impõe um overhead adicional devido ao NAT realizado duas vezes...
DESAFIO: mostrar que o NAT está sendo duplicado.
Estendendo a rede através da LAN usando segundo AP e LAN
Discuta com o colega ao lado e pense como poderia conectar o segundo AP via LAN. Uma configuração adicional será necessária.
22.2.2 Acessando um hospedeiro dentro da rede Internet
A rede doméstica normalmente é privada (possui um endereço do tipo 192.168.0.10/24). Como poderia rodar um serviço tipo ssh ou mesmo um webserver usando inclusive um NOME de DNS?
Existem serviços (alguns gratuitos ou temporariamente gratuitos) que prestam este serviço. É o caso do no-ip.com e do dynu e do https://www.noip.com/pt-BR [no-ip]. Observe que são sites de empresas/organizações e portanto o acesso aos mesmos é por sua conta (não nos responsabilizamos).
No Ubuntu server (baseado no material do Prof.Odilson)
sudo su
apt-get update
apt-get install openssh-server
O SSH já estará funcionaneod normalmente.
Para acessar o servidor basta digitar em um terminal: ssh login@ipd_do_servidor. Será solicitado a senha.
Para configurações extras deve-se editar o arquivo /etc/ssh/sshd_config e acrescentar, por exemplo:
X11Forwarding yes (no) ### habilita/desabilita acesso com ambiente gráfico remoto
AllowUsers Fred Wilma ### Libera o acesso somente para os usuáriso Fred e Wilma
DenyUsers Dino Pebbles ### Bloqueia o acesso aos usuários Dino e Pebbles e libera para os demais usuários
AllowGroups admin ### Libera o acesso somente para o grupo admin.
Após modificar o arquivo de configuração deve-se reiniciar o serviço: service ssh restart
22.3.2 Uso do SSH
Para login:
ssh ssh login@ipd_do_servior
Cópia remota de arquivos:
scp arquivo login@ipd_do_servidor:caminho
22.4 Mais sobre configurações de interfaces no Linux (Material do Prof.Odilson Tadeu Valle)
Qualquer dispositivo (físico ou lógico) capaz de transmitir e receber datagramas IP. Interfaces de rede ethernet são o exemplo mais comum, mas há também interfaces PPP (seriais), interfaces tipo túnel e interfaces loopback. De forma geral, essas interfaces podem ser configuradas com um endereço IP e uma máscara de rede, e serem ativadas ou desabilitadas. Em sistemas operacionais Unix a configuração de interfaces de rede se faz com o programa ifconfig. Para mostrar todas as interfaces: ifconfig -a
Para configurar uma interface de rede (que fica automaticamente ativada). Ex: ifconfig eth1 192.168.1.100 netmask 255.255.255.0
Para desativar uma interface. Ex: ifconfig eth1 down
Para ativar uma interface desativada. Ex: ifconfig eth1 up
Ao se configurar uma interface de rede, cria-se uma rota automática para a subrede diretamente acessível via aquela interface. Isto se chama roteamento mínimo ou entrega direta. Para verificar as rotas ativas: route -n ou netstat -rn.
Todo sistema operacional possui alguma forma de configurar suas interfaces de rede, para que sejam automaticamente ativadas no boot com seus endereços IP. Por exemplo, em sistemas Linux Ubuntu. A configuração de rede se concentra no arquivo /etc/network/interfaces. Um exemplo desse arquivo:
This file describes the network interfaces available on your system
and how to activate them. For more information, see interfaces(5).
Esses arquivo é lido pelos scripts ifup e ifdown. Esses scripts servem para ativar ou parar interfaces específicas, fazendo todas as operações necessárias para isto. Ex: ifup eth1; ifdown eth1
Para ativar, desativar ou recarregar as configurações de todas as interfaces de rede:
desativa todas as interfaces de rede: sudo /etc/init.d/networking stop ou service networking stop
ativa todas as interfaces de rede: sudo /etc/init.d/networking start ou service networking start
recarrega as configurações de todas as interfaces de rede: sudo /etc/init.d/networking restart ou service networking restart
Programa da Disciplina.Forma de Avaliação. O computador: hardware e software. SO Linux: histórico e distribuições. Ligando/Logando/Desligando a Máquina. Conceitos básico de Sistema de Arquivos e Processos.
2
14/03/2019
TIAGO
Gerenciamento de Arquivos I: Operações sobre arquivos e diretórios usando o terminale o Nautilus.
3
21/03/2019
TIAGO
Gerenciamento de Arquivos II: continuação Operações sobre arquivos e diretórios. Links Simbólicos, Criação de Arquivo com vi e outros editores.
4
26/03/2019
TIAGO
Interfaces Gráficas: X11, Gnome. KDE e outras. Instalação de Programas via Gerenciador de Pacotes.
5
28/03/2019
TIAGO
Administração de contas de usuários I
6
02/04/2019
TIAGO
Administração de contas de usuários II
7
04/04/2019
TIAGO
Permissionamento de Arquivos
8
09/04/2019
TIAGO
Gerenciamento de Processos
9
11/04/2019
TIAGO
Introdução ao Shell Script
10
16/04/2019
TIAGO
Avaliação 1 - Introdução ao Sistema Operacional Linux
11
09/10/2019
ERALDO
Introdução a Redes. Conceito de Protocolos. Ferramentas de Rede.
12
11/10/2019
ERALDO
Protocolos de Aplicação: exemplo http
13
16/10/2019
ERALDO
O DNS como protocolo de Aplicação; Camada de Transporte: protocolo UDP
14
18/10/2019
ERALDO
Protocolo TCP. Diferenças dos protocolos de Transporte TCP/UDP. Camada IP e aspectos da configuração da mesma sob o Linux
15
23/10/2017
ERALDO
Camada de Enlace/Física. Hubs X Switches. O Papel do Protocolo ARP. Outros serviços/protocolos: Serviço DHCP e NAT
16
25/10/2017
ERALDO (TIAGO)
Segmentação Redes IP. Cálculo de subredes.
17
30/10/2017
ERALDO
Introdução ao IPV6. Introdução ao Access Point TPLINK N750: configuração da LAN e WAN
18
01/11/2017
ERALDO
Serviço SSH no Linux. Acesso a rede WIFI. Conceitos básicos de redes sem fio.
19
06/11/2007
ERALDO
Tópicos Adicionais sobre redes no Linux: Configuração Manual X NetworkManager. Relatório Avaliativo 1.
20
08/11/2017
ERALDO
Relatório Avaliativo 2
24.6 Metodologia, Avaliação e Critérios de Aprovação
Aaulas expositivas e aulas práticas no laboratório. Nas aulas práticas serão desenvolvidos exercícios e trabalhos individuais.
Avaliações individuais: Listas de exercícios com aproveitamento e entregues no prazo.
Critérios para aprovação: Serão considerados aprovados os alunos que obtiverem conceito final 6 ou superior em cada componente curricular. ATENÇÂO: Possuir no mínimo 75% de presença
24.7 Bibliografia
Odilson Tadeu Valle
Administração de redes com Linux: fundamentos e práticas
Forma como estão estruturados/organizados os arquivos/dados em uma determinada mídia [16];
Um sistema operacional deve saber como acessar e operar sobre este sistema;
Tipos de sistemas: ext4, NTFS, VFAT32
24.12 Exemplos de SO
Unix
Microsoft DOS
IBM
Microsoft Windows
netBSD, freeBSD, openBSD
Linux
macOS
Android
iOS
24.13 Histórico do Linux
O início de tudo: UNIX;
Surgiu em 1991 quando Linus Torvalds, um estudante finlandês, resolveu desenvolver um sistema operacional compatível com a POSIX, por em que pudesse ser executado em arquitetura x86;
Linux está sob uma licença de software livre e diversas pessoas e empresas contribuem para o desenvolvimento do mesmo.
E o que é POSIX? Define padrões para a interface de programação de aplicações (API) de um OS de forma a manter compatibilidade com o UNIX;
39.2 Camada IP no Linux: Configuração das Interfaces usando ifconfig e ip addr
Usando a ferramenta Netkit2, que permite construir redes virtuais com o Linux vamos construir DUAS redes locais interligadas por um roteador. Em cada rede colocaremos dois PCs. As interfaces estarão completamente desconfiguradas:
Construir um arquivo texto de nome rede.conf usando o editor de texto gedit.
gedit rede.conf &</syntaxhighlight>
Executar netkit fazendo (atualize se necessário - pergunte para o professor como fazer):
Aplicativos >> Educativo >> Netkit2
Carregar o arquivo lab.conf a partir do Netkit2:
File >> Load Only</syntaxhighlight>
Visualizar a rede a ser implementada:
File >> Graph</syntaxhighlight>
Executar a configuração:
Network >> Start</syntaxhighlight>
Verificar o estado de todas interfaces (se UP ou DOWN) com:
ifconfig -a</syntaxhighlight>
ip addr</syntaxhighlight>
Note que nas últimas versões do Linux o comando ip vem sendo recomendado (embora o ifconfig ainda esteja disponível).
Vamos configurar as interfaces. Para tanto vamos assumir que teremos duas sub-redes:
lan0 - endereço da rede 10.10.10.0/24</syntaxhighlight>
lan1 - endereço da rede 20.20.20.0/24</syntaxhighlight>
A interface eth0 de PC1 receberá o endereço 10.10.10.1/24 e a interface eth0 de PC2 recebera 10.10.10.2/24. A interface do roteador NA lan0 também deve receber um endereço: 10.10.10.254/24:
No PC1:
ifconfig eth0 10.10.10.1/24</syntaxhighlight>
No PC2:
ifconfig eth0 10.10.10.2/24</syntaxhighlight>
No R1:
ifconfig eth0 10.10.10.254/24</syntaxhighlight>
Seguindo a mesma lógica configure as máquinas e o roteador na lan1
Um ponto importante a ser lembrado é que quando uma interface é configurada com um número IP, a tabela de roteamento do sistema é alimentada com o número correspondente da rede associada ao número. Isto pode ser observado em TODAS as máquinas, inclusive no roteador:
route -n </syntaxhighlight>
ou
ip route </syntaxhighlight>
39.3 Camada IP no Linux: verificando e configurando rotas - configuração da rota default
Um ponto importante a ser lembrado é que quando uma interface é configurada com um número IP, a tabela de roteamento do sistema é alimentada com o número correspondente da rede associada ao número. Isto pode ser observado em TODAS as máquinas, inclusive no roteador:
route -n </syntaxhighlight>
ou
ip route </syntaxhighlight>
Esta informação é importante pois define a entrega DIRETA de pacotes na rede, ou seja, se PC1 quiser enviar um pacote para PC2, esta linha na tabela de roteamento garante que o pacote IP seja despachado diretamente para o PC2 através de um frame ETHERNET endereçado para o MAC do PC1.
Confira os endereços MAC e IP das interfaces dos PC1 e PC2 e anote. Faça um ping no PC1 em direção a PC2.
root@pc1:~# ping 10.10.10.2</syntaxhighlight>
Use um capturador de pacotes em modo texto para observar o tráfego na eth0 do PC2. Observe os endereços MAC do Frame Ethernet e os endereços IP do pacote IP.
root@pc2:~# tcpdump -i eth0 -e</syntaxhighlight>
ENTÃO? O que se pode concluir? É uma entrega direta ou indireta?
Uma curiosidade. Tente observar o tráfego na interface eth0 do Roteador R1. É possível observar algo? O que se pode concluir? Pare agora o ping e os tcpdumps executados.
Qualquer máquina IP acaba tomando uma decisão de roteamento. O PC1, ao observar que PC2 está na sua própria rede 10.10.10.0/24, entrega diretamente o pacote. E se PC1 tentar entregar para PC3? Faça um ping e observe o que acontece:
root@pc1:~#ping 20.20.20.1</syntaxhighlight>
Não deve ter funcionado :-(
Um primeiro problema é que simplesmente a camada IP observa que o endereço não é entrega DIRETA mas não tem informação (linha) na tabela de roteamento dizendo para quem deve ser entregue o pacote.
Vamos acrescentar uma linha na tabela de PC1 dizendo como fazer esta entrega INDIRETA. Usaremos o conceito de gateway default. Ou seja, se não tiver para quem entregar explicitamente, o pacote será entregue para o gateway default:
root@pc1:~# route add default gateway 10.10.10.254</syntaxhighlight>
confira o estabelocimento da rota:
root@pc1:~# route -n</syntaxhighlight>
tente o ping novamente escutando com o tcpdump na interface eth0 de R1. Ainda não funcionou mas o R1 já recebe os pacotes. Confira o MAC de destino do pacote. Deve ser o MAC do roteador.
POR QUE NÃO FUNCIONOU: será que R1 não sabe como entregar o pacote para PC3? Confira se o pacote sai de R1 na rede lan1:
root@r1:~# tcpdump -i eth2 -e</syntaxhighlight>
Temos um problema ainda que o nosso roteador Linux NÃO está habilitado a ser roteador. Isto pode ser feito com:
echo 1 > /proc/sys/net/ipv4/ip_forward</syntaxhighlight>
Tente novamente o ping de PC1 para PC3. Ainda não funcionará mas escute a interface eth1 de R1 e a interface eth0 de PC3 e verá que os pacotes do ICMP REQUEST estão chegando. Confira inclusive os MACs envolvidos...
O que estaria faltando ainda para que PC3 responda aos ECHO REQUEST? O problema é de entrega indireta. O PC3 não sabe como entregar pacotes "externos". Acrescente um gateway default.
Construir uma rede com 3 LANs e 2 roteadores como na aula passada. Executar o APACHE em uma máquina da lan3 (exemplo PC4). Não colocar rotas para lan0 em r2. Desta forma PC1 não deve pingar em PC4.
Baseado no arquivo exemplo abaixo, crie um arquivo de configuração para o NetKit que implemente sua proposta. O arquivo deve contemplar todas as configurações necessárias para o perfeito funcionamento da rede, ou seja, ao carregar o arquivo todos os hosts deverão ser capazes de "pingar" uma ao outro.
Faça testes de conectividade entre os hosts.
Demonstre para o professor o perfeito funcionamento de sua rede.
O arquivo de configuração do Netkit abaixo, é a definição para o funcionamento da simulação da rede apresentada na Figura 2. Falta adicionar as rotas.
A figura abaixo apresenta o diagrama esquemático da rede a ser montada/analisada. Observe que todos os IPv6 Global Unicast já estão definidos na mesma, são esses IPs que utilizaremos em nosso experimento.
Crie em seu computador um arquivo com nome /home/aluno/IPv6.conf, com o seguinte conteúdo:
#Ligacao das maquinas nos dominios de colisao#Duas pequenas redes interligadas pelo backbone# Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
# Hosts' interfaces to local routers
pc1[eth0]=link0:ipv6=2001:bcc:faca:1::101/64
pc2[eth0]=link1:ipv6=2001:bcc:cafe:1::102/64
pc3[eth0]=HUB1:ipv6=2001:bcc:1f0:1::103/64
pc4[eth0]=HUB1
#Default Gateways definitions
pc1[route]=default6:gateway=2001:bcc:faca:1::1
pc2[route]=default6:gateway=2001:bcc:cafe:1::1
pc3[route]=default6:gateway=2001:bcc:1f0:1::1
# Routers definitions
r1[type]=gateway
r2[type]=gateway
#Routers interfaces definitions
r1[eth0]=backbone0:ipv6=2001:db8:dead:1::1/64
r1[eth1]=link0:ipv6=2001:bcc:faca:1::1/64
r1[eth2]=link1:ipv6=2001:bcc:cafe:1::1/64
r2[eth0]=backbone0:ipv6=2001:db8:dead:1::2/64
r2[eth1]=HUB1:ipv6=2001:bcc:1f0:1::1/64
#Routers definitions
r1[route]=2001:bcc:1f0:1::0/64:gateway=2001:db8:dead:1::2
r2[route]=2001:bcc:faca:1::0/64:gateway=2001:db8:dead:1::1
r2[route]=2001:bcc:cafe:1::0/64:gateway=2001:db8:dead:1::1
Tenha certeza que o Netkit2 estja atualizado: General >> Update.
Rode o NetKit em seu computador. Em um terminal digite:
netkit2&
No menu File - Load and Run, procure o arquivo /home/aluno/IPv6.conf e clique em OK. Abrirá uma janela com 6 abas, onde cada uma delas é um terminal de configuração do respectivo equipamento: pc1-4 ou r1-2.
Observe que o pc4 não está com sua interface configurada.
Ao clicar no menu File - Graph, pode-se ter uma visão da rede a ser simulada e conferir se é equivalente ao diagrama proposto.
Faça um ping6 entre o pc1 ao pc3:
ping6-c42001:bcc:1f0:1::103
Faça um ping6 entre o pc1 e pc2.
No pc4 use o seguinte comando para adicionar o endereço IPv6 à interface de rede:
ipaddradd2001:bcc:1f0:1::104/64deveth0
No pc4, acrescente o default gateway com o seguinte comando:
ip-6routeadddefaultvia2001:bcc:1f0:1::1deveth0
No pc1 use o seguinte comando para verificar como ficou a configuração dos endereços da interface de rede. O resultado é similar ao apresentado pelo comando ifconfig:
ipaddrshowdeveth0
Todo o roteamento está pronto, mas caso desejássemos poderíamos acrescentar rotas com comando similares aos já utilizados. Por exemplo, no r1, para adicionar uma rota estática para a rede dos pc3 e pc4 utilizaríamos o seguinte comando:
Configurar a LAN para DHCP na faixa 192.168.0.10 a 192.168.0.100
Usar uma máquina virtual para testar a aquisição do IP:
pc1[type]=generic
pc1[eth0]=uplink:bridge=eth0
DESAFIO 1: Elabore um experimento para mostrar que a LAN do AP funciona como um switch.
Sugestão: Use uma máquina adicional colocada em uma porta do AP.
DESAFIO 2: Elabore um experimento para mostrar como o NAT funciona no AP. Se inspire no experimento realizado sobre o NAT.
43 AULA 18 - Dia 16/05/2019
43.1 Objetivos
PARTE 0 - Exercício de Revisão
PARTE 1 - Serviços de rede sobre o Linux
serviço SSH no Linux
PARTE 2 - Acesso a rede WIFI
conceitos básicos de redes sem fio: pg.103 de [27]
configuração da WIFI no Access Point e Acesso via Linux
43.1.1 PARTE 0
Considere a rede abaixo definida pelo arquivo do netkit. Configure as redes com os seguintes prefixos:
lan0: 50.50.50.0/24
lan1: 60.60.60.0/24
lan2: 70.70.70.0/24
O pc2dhcp deve ser configurado como servidor DHCP e deverá liberar IPs na faixa de 50.50.50.100/24 a 50.50.50.200/24. Todos os PCs receberão IP estáticos com exceção do PC1 que deverá receber dinamicamente o endereço. Toda a configuração deve ser realizada manualmente.
Teste a conectividade entre todos os PCs. Usando o tcpdump demonstre que quando PC2 faz um ping em PC4 a entrega será indireta. Demonstre usando o MAC address das máquinas como apoio. Chame o professor para demonstrar.
O Serviço SSH se utiliza do modelo cliente-servidor. Deve-se executar um servidora ssh na máquina que permitirá o acesso remoto.
Um cliente a partir de uma outra máquina poderá logar remotamente usando um cliente ssh ou poderá fazer outras operações, tipo cópia remota
de arquivos.
43.2.1 ETAPA 1 - Rodando o servidor SSH
Baseado no Material do Prof.Odilson Valle
No Ubuntu server:
sudo su</syntaxhighlight>
apt-get update</syntaxhighlight>
apt-get install ssh</syntaxhighlight> O SSH já estará funcionando normalmente.
Para configurações extras deve-se editar o arquivo /etc/ssh/sshd_config e acrescentar, por exemplo:
X11Forwarding yes (no) ### habilita/desabilita acesso com ambiente gráfico remoto
AllowUsers Fred Wilma ### Libera o acesso somente para os usuários Fred e Wilma
DenyUsers Dino Pebbles ### Bloqueia o acesso aos usuários Dino e Pebbles e libera para os demais usuários
AllowGroups admin ### Libera o acesso somente para o grupo admin.
Após modificar o arquivo de configuração deve-se reiniciar o serviço: service ssh restart</syntaxhighlight>
Criar um usuário na máquina servidora:
adduser alien</syntaxhighlight>
Logar como alien:
su alien</syntaxhighlight>
43.2.2 ETAPA 2 - Logando remotamente
Para acessar o servidor basta digitar em um terminal:
ssh alien@ip_do_servidor. </syntaxhighlight> Será solicitado a senha.
Confira que está "dentro" da máquina remota:hostname</syntaxhighlight>
Confira os arquivos do diretório corrente:ls -l</syntaxhighlight>
43.2.3 ETAPA 3 - Cópia Remota de aquivos
Na máquina hospedeira/cliente, EM OUTRO TERMINAL, criar um arquivo qualquer usando um editor de texto:gedit teste.txt &</syntaxhighlight>
Envie o arquivo para a máquina servidora: scp teste.txt alien@IP_MAQUINA_SERVIDORA:./</syntaxhighlight>
No terminal onde está logado remotamente confira se o arquivo está copiado: ls -l</syntaxhighlight>
Mude o nome do arquivo: mv teste.txt alfat.txt</syntaxhighlight>
No terminal da máquina cliente traga novamente o arquivo: scp alien@IP_MAQUINA_SERVIDORA:./alfa.txt .</syntaxhighlight>
Confira se o arquivo foi copiado corretamente: ls -l</syntaxhighlight>
43.3 PARTE 2 - Configuração do Access Point na rede de 2.4Ghz
Entrar na configuração do AP conforme aula anterior.
Conectara a WAN do AP na rede do laboratório e o PC em uma porta da LAN do AP.
Configurar a WAN para IP dinâmico.
Configurar a rede WIreless 2.4 Ghz:
Nome SSID: nome FIC-NomeAluno
Configurar canal AUTO e channel width para AUTO
Habilite o broadcast da rede.
Configurar segurança (Wireless Security) para WPA versão Automática, Criptografia AES e password ABCDEF
Configurar o DHCP na LAN para distribuir endereços entre 192.168.0.100 e 192.168.0.200
Salve as configurações
Reboote o roteador
43.4 Acessando a rede de dispostivo Celular
Teste o acesso a rede a partir de um celular. No Androi ligue e desligue o wifi. Deve aparecer a lista de dispositivos.
43.5 Habilitando Filtros por MAC
Na configuração da WLAN entre em Wireless MAC Filtering
Em Filtering Rules coloque Deny (negar)
Adicione um terminal que deseja bloquear o acesso. Utilize o MAC do seu celular (veja em configurações do telefone ou anote na opção Wireless Statistics)
Habilite o Filtro e tente se conectar
OBS: Este filtro é interessante para ter maior segurança na rede, garantindo que somente dispositivos gabilitados possam acessá-la.
43.6 Coloque no ar a rede 5Ghz
Repita o procedimento da rede de 2.4Ghz e coloque-a no ar.
Teste a conectividade com o celular.
44 AULA 19 - Dia 21/05/2019
44.1 Objetivos
Tópicos Adicionais sobre redes no Linux: Configuração Manual X NetworkManager
Opções de Acesso a Internet: ADSL, Cabo
Sistema de Arquivos em Rede: Samba Server
Relatório de Avaliação 1
Opções de Extensão da Rede Wireless
44.2 Tópicos Adicionais sobre redes no Linux
44.2.1 Configuração da Rede no Linux - o NetworkManager
Ao longo do curso estudamos vários comandos para ver e modificar parâmetros de rede. Entretanto, em uma instalação padrão de um sistema Linux Ubuntu vamos verificar que existe um serviço de suporte a estas configurações que permite configurar interfaces graficamente e reconectar/escolher uma rede. Trata-se do NetworkManager. Ver alguns detalhes aqui [28] e aqui[29]. Este serviço tenta fornecer a melhor conectividade possível usando as interfaces disponíveis. O serviço é composto por:
um processo do sistema (roda como serviço) monitorando constantemente as interfaces;
uma applet para interação com o usuário (canto direito da interface);
O NetworkManager vai ignorar as configurações das interfaces realizadas em /etc/network/interfaces
Teste o uso do NetworkManager. Clique no topo do desktop a direita e inspecione as interfaces disponíveis.
Em algumas situações pode ser desejável desabilitar o NetworkManager. Na linha de comando pode ser executado:
sudo service network-manager stop
44.2.2 Configurando interfaces de forma manual
TEXTO baseado nas anotações do Prog.Marcelo Sobral:
O arquivo /etc/network/interfaces contém declarações para configurar as interfaces de rede. Um exemplo de configuração básica contida nesse arquivo pode ser vista a seguir:
auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp
Esse exemplo pode ser interpretado assim:
Linha 1: declara que as interfaces lo e eth0 devem ser ativadas automaticamente no boot. Se uma interface não aparecer em uma declaração como esta, então ela não será ativada. OBS: interface ativadas desta forma NÃO são controladas pelo NetworkManager.
Linha 2: configura a interface lo como sendo do tiupo loopback. Essa é uma interface especial criada puramente em software (uma interface de rede virtual), usada para comunicação entre processos de um mesmo computador.
Linha 3: configura a interface eth0 de forma dinâmica usando DHCP. A configuração de rede é solicitada usando a própria rede. Ness ecaso, deve existir algum equipamento ou computador nessa rede que seja um servidor DHCP, capaz de responder com uma mensagem contendo a configuração de rede a ser utilizada.
O exemplo anterior é bastante simplificado, uma vez que a configuração de rede de fato é obtida dinamicamente com DHCP. Isso pode ser suficiente para computadores usados somente para acesso a Internet, mas não para computadores que sejam servidores. Nesse caso, é melhor definir uma configuração de rede estática, como mostrado a seguir:
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 172.18.80.251
netmask 255.255.128.0
gateway 172.18.0.254
dns-nameservers 191.36.8.2 191.36.8.3
A diferença em relação ao caso anterior está na declaração da interface eth0. Ao invés de configurá-la com DHCP, declararam-se todas as informações de rede. Assim, essa interface sempre será ativada com essas informações configuradas. No exemplo apresentado, as configurações de rede são:
address 172.18.80.251: endereço IP da interface
netmask 255.255.128.0: máscara de rede
gateway 172.18.0.254: endereço do gateway (ou roteador default)
dns-nameservers 191.36.8.2 191.36.8.3: servidores DNS a serem utilizados (podem-se especificar um ou mais endereços IP)
Antes da alteração de configuração de uma interface é interessante desativá-la:
ifdown eth0
Alterar o arquivo /etc/network/interfaces
E na sequência ativá-la novamente:
ifup eth0
ou
sudo /etc/init.d/networking restart
O comando ifup vai consultar o arquivo e alterar as configurações. Indiretamente, o script networking também usa o ifup para ativar as configurações (e todas demais que forem realizadas).
44.3 Relatório Avaliativo 1
Criar um arquivo no OpenOffice nomeando-o SeuNomeSemEspaco-FICLinux-2019-A1
Copiar e responder as questões abaixo:
1.Faça um ifconfig na interface eth0. Cole um recorte da tela no espaço abaixo e faça um texto indicando qual o endereço de hardware associado a esta interface, qual o endereço IPv4 e qual a máscara de subrede.
2.Faça um experimento usando o ping e o wireshark mostrando como o DNS atua para resolver o nome que está sendo "pingando". Informe em texto abaixo qual o IP do servidor DNS local e qual o IP do site que está sendo "pingado".
3,Execute o laboratório do Netkit da forma e cole abaixo a figura da rede fornecida pelo netkit:
4.Configure todas as interfaces dos PC usando para lan0 o prefixo 50.50.50.0/24 e para lan1 use no lugar de 50 o dia de seu nascimento.
Cole uma tela mostrando PC1 pingando PC3.
5.Informe abaixo o MAC da eth0 do roteador.
6.Usando o tcpdump na eth0 do roteador mostre que a entrega é indireta.
44.4 Estendendo a rede através da LAN usando segundo AP e WAN
Conecte um segundo AP (WAN do segundo AP a LAN do primeiro AP). Teste a conectividade colocando uma máquina Linux na LAN do segundo AP.
Esta configuração deve funcionar mas impõe um overhead adicional devido ao NAT realizado duas vezes...
DESAFIO: mostrar que o NAT está sendo duplicado.
44.5 Estendendo a rede através da LAN usando segundo AP e LAN
Discuta com o colega ao lado e pense como poderia conectar o segundo AP via LAN. Uma configuração adicional será necessária.
44.6 Estendendo a rede através do Wireless (WDS)
Estude no manual como poderia estender a rede Sem Fio usando conexão via WDS.
r1[eth0]=uplink:bridge=eth0:ip=VER COM PROFESSOR
r1[eth1]=lan2
r2[eth0]=lan1
r2[eth1]=lan2
</syntaxhighlight>
Construir um doc conforme aula anterior com as seguintes informações:
Coloque a tela de um píng funcionando de R1 para PC1
Cole a tela da tabela de roteamento de R2
Cole a tela de um ping de uma máquina VirtualBox (netkit) no R1 (uplink)
Cole a tela de um ping funcionando uma máquina VirtualBox (netkit) no PC1
Note que o gateway default da máquina virtual deverá ser reconfigurado para PC1.
ADENDO: Coloque em R1 rotas para as redes dos PC1 dos demais grupos.
45.1.2 PARTE 2
Acrescente na sua rede um AP configurado como indicado abaixo:
OBS: Para este exercício configuramos estaticamente todos os endereços para o lado do backbone (Laboratório). Usamos 50.50.50.0/24
46 ATIVIDADE DE RECUPERAÇÃO 1
Refazer o relatório Avaliativo 1 proposto anteriormente. Enviar doc para o SIGA A
47 ATIVIDADE DE RECUPERAÇÃO 2
Registre em um DOC e faça um post no SIGA A colando a imagem das telas das saídas de cada comando!
47.1 Roteiro de atividades sobre o IPv6
A figura abaixo apresenta o diagrama esquemático da rede a ser montada/analisada. Observe que todos os IPv6 Global Unicast já estão definidos na mesma, são esses IPs que utilizaremos em nosso experimento.
Crie em seu computador um arquivo com nome /home/aluno/IPv6.conf, com o seguinte conteúdo:
#Ligacao das maquinas nos dominios de colisao#Duas pequenas redes interligadas pelo backbone# Hosts definitions
pc1[type]=generic
pc2[type]=generic
pc3[type]=generic
pc4[type]=generic
# Hosts' interfaces to local routers
pc1[eth0]=link0:ipv6=2001:bcc:faca:1::101/64
pc2[eth0]=link1:ipv6=2001:bcc:cafe:1::102/64
pc3[eth0]=HUB1:ipv6=2001:bcc:1f0:1::103/64
pc4[eth0]=HUB1
#Default Gateways definitions
pc1[route]=default6:gateway=2001:bcc:faca:1::1
pc2[route]=default6:gateway=2001:bcc:cafe:1::1
pc3[route]=default6:gateway=2001:bcc:1f0:1::1
# Routers definitions
r1[type]=gateway
r2[type]=gateway
#Routers interfaces definitions
r1[eth0]=backbone0:ipv6=2001:db8:dead:1::1/64
r1[eth1]=link0:ipv6=2001:bcc:faca:1::1/64
r1[eth2]=link1:ipv6=2001:bcc:cafe:1::1/64
r2[eth0]=backbone0:ipv6=2001:db8:dead:1::2/64
r2[eth1]=HUB1:ipv6=2001:bcc:1f0:1::1/64
#Routers definitions
r1[route]=2001:bcc:1f0:1::0/64:gateway=2001:db8:dead:1::2
r2[route]=2001:bcc:faca:1::0/64:gateway=2001:db8:dead:1::1
r2[route]=2001:bcc:cafe:1::0/64:gateway=2001:db8:dead:1::1
Tenha certeza que o Netkit2 estja atualizado: General >> Update.
Rode o NetKit em seu computador. Em um terminal digite:
netkit2&
No menu File - Load and Run, procure o arquivo /home/aluno/IPv6.conf e clique em OK. Abrirá uma janela com 6 abas, onde cada uma delas é um terminal de configuração do respectivo equipamento: pc1-4 ou r1-2.
Observe que o pc4 não está com sua interface configurada.
Ao clicar no menu File - Graph, pode-se ter uma visão da rede a ser simulada e conferir se é equivalente ao diagrama proposto.
Faça um ping6 entre o pc1 ao pc3:
ping6-c42001:bcc:1f0:1::103
Faça um ping6 entre o pc1 e pc2.
No pc4 use o seguinte comando para adicionar o endereço IPv6 à interface de rede:
ipaddradd2001:bcc:1f0:1::104/64deveth0
No pc4, acrescente o default gateway com o seguinte comando:
ip-6routeadddefaultvia2001:bcc:1f0:1::1deveth0
No pc1 use o seguinte comando para verificar como ficou a configuração dos endereços da interface de rede. O resultado é similar ao apresentado pelo comando ifconfig:
ipaddrshowdeveth0
Todo o roteamento está pronto, mas caso desejássemos poderíamos acrescentar rotas com comando similares aos já utilizados. Por exemplo, no r1, para adicionar uma rota estática para a rede dos pc3 e pc4 utilizaríamos o seguinte comando:
Combinar equipes com dois computadores para execução do experimento.
Uma equipe escutará na porta 5000 e a outra equipe transmitirá uma mensagem nessa porta. Os processos de transmissão e recepção podem ocorrer simultaneamente, em terminais distintos.
Cada equipe deve identificar os IPs (IP_DEST) das máquinas de seus pares.
Cada equipe deve abrir uma Janela de terminal.
Cada equipe deve preparar o Wireshark, interfaces any, para escuta das portas no protocolo UDP usando um filtro:
udp.port==5000
A equipe da escuta na porta 5000 executa no terminal:
netcat-u-l-p5000
A equipe que irá transmitir para a porta 5000 executa no terminal:
netcat-uIP_DEST5000
Em seguida escreve no terminal uma mensagem de até 20 caracteres, ao teclar <Enter> a mensagem será enviada.
O wireshark deve ter capturado os pacotes UDP
Identifique e anote os seguintes dados na captura do wireshark:
IP FONTE e DESTINO
PORTAS FONTE E DESTINO para ambas comunicações
Campo de protocolo no pacote IP
Campo de tamanho (anote o tamanho) e checksum no pacote (datagrama) UDP
O campo de dados no pacote UDP
Troquem os papéis das equipes: quem houvia agora transmite mensagens.
Cada equipe pode transmitir sequencialmente várias mensagens, devendo identificar múltiplos datagramas UDP.
PERGUNTAS baseadas na captura:
Qual o tamanho de cada campo do cabeçalho do pacote UDP?
Qual o tamanho máximo do número de porta?
Qual o tamanho máximo da área de dados (payload) do pacote?
Qual o número identificador de protocolo UDP no pacote IP?
Em algum momento foi identificado algum procedimento para estabelecimento de conexão?
Em algum campo do UDP existe numeração de mensagens?
49 AULA 20 - Dia 18/04/2019
49.1 Curso FIC Linux 2018
Semestre 2018-2 - Prof. André D'Amato
49.2 Introdução ao Sistema Operacional Linux
10/09/18: Aula01
Apresentação da Disciplina, Introdução a Informática e Memória e Armazenamento
Aula 01
49.3 Curso FIC Linux 2016
Semestre 2016-2 - Prof. Luciano Barreto
49.4 Introdução ao Sistema Operacional Linux
04/10/16: Aula01
Apresentação da Disciplina, Introdução a Informática e Memória e Armazenamento
Aula 01
06/10/16: Aula 02
Introdução ao Linux, Sistema de Arquivos e Conhecendo o Terminal
Aula 02