Mudanças entre as edições de "IER60808 2017-1"
(48 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 16: | Linha 16: | ||
#*global[mem]=32 #Para que cada instância utilize 32MBRAM | #*global[mem]=32 #Para que cada instância utilize 32MBRAM | ||
#*global[vm]=4 #Para que no máximo 4 máquinas virtuais sejam iniciadas simultâneamente | #*global[vm]=4 #Para que no máximo 4 máquinas virtuais sejam iniciadas simultâneamente | ||
− | #*global[clean]=True #Para que os | + | #*global[clean]=True #Para que os arquivos de inicialização e discos sejam apagados em cada inicialização (será utilizado assim num primeiro momento) |
#A seguir entre com as demais configurações de computadores, roteadores e switchs que deseja utilizar em sua rede | #A seguir entre com as demais configurações de computadores, roteadores e switchs que deseja utilizar em sua rede | ||
##Estabeleça a segmentação da rede | ##Estabeleça a segmentação da rede | ||
Linha 36: | Linha 36: | ||
==lab.conf de uma rede simples ponto a ponto (sobre ethernet)== | ==lab.conf de uma rede simples ponto a ponto (sobre ethernet)== | ||
− | Crie uma rede com dois computadores ligados ponto a ponto (utilizando o protocolo ethernet). <br> | + | Crie uma rede com dois computadores ligados ponto a ponto (utilizando o protocolo ethernet).<br/> |
− | [[Image:lab.conf de uma rede simples ponto a ponto (sobre ethernet).png]] | + | [[Image:lab.conf de uma rede simples ponto a ponto (sobre ethernet).png]]<br/> |
<code> | <code> | ||
− | #Global | + | <nowiki>#</nowiki>Global<br/> |
− | global[compact]=False | + | global[compact]=False<br/> |
− | global[mem]=32 | + | global[mem]=32<br/> |
− | global[vm]=4 | + | global[vm]=4<br/> |
− | global[clean]=True | + | global[clean]=True<br/> |
+ | <br/> | ||
+ | <nowiki>#</nowiki>Equipamentos<br/> | ||
+ | computador0[type]=generic<br/> | ||
+ | computador1[type]=generic<br/> | ||
+ | <br/> | ||
+ | <nowiki>#</nowiki>Enlaces<br/> | ||
+ | computador0[eth0]=enlace0<br/> | ||
+ | computador1[eth0]=enlace0<br/> | ||
+ | </code> | ||
− | + | ==lab.conf de uma rede simples com switch== | |
− | + | Crie uma rede simples com dois computadores conectados entre si por um switch.<br/> | |
− | + | [[Image:lab.conf de uma rede simples com switch.png]]<br/> | |
− | |||
− | |||
− | |||
− | |||
− | </ | ||
− | |||
− | |||
− | |||
<code> | <code> | ||
− | #Global | + | <nowiki>#</nowiki>Global |
− | global[compact]=False | + | global[compact]=False<br/> |
− | global[mem]=32 | + | global[mem]=32<br/> |
− | global[vm]=4 | + | global[vm]=4<br/> |
− | global[clean]=True | + | global[clean]=True<br/> |
− | + | <br/> | |
− | #Equipamentos | + | <nowiki>#</nowiki>Equipamentos<br/> |
− | computador0[type]=generic | + | computador0[type]=generic<br/> |
− | computador1[type]=generic | + | computador1[type]=generic<br/> |
− | switch0[type]=switch | + | switch0[type]=switch<br/> |
− | + | <br/> | |
− | #Enlaces | + | <nowiki>#</nowiki>Enlaces<br/> |
− | computador0[eth0]=enlace0 | + | computador0[eth0]=enlace0<br/> |
− | switch0[eth0]=enlace0 | + | switch0[eth0]=enlace0<br/> |
− | computador1[eth0]=enlace1 | + | computador1[eth0]=enlace1<br/> |
− | switch0[eth1]=enlace1 | + | switch0[eth1]=enlace1<br/> |
− | </ | + | </code> |
<!-- | <!-- | ||
*computador0.startup para configuração de endereço de rede | *computador0.startup para configuração de endereço de rede | ||
<code> | <code> | ||
− | #!/bin/bash | + | <nowiki>#</nowiki>!/bin/bash<br/> |
− | /hostlab/computador0-auto.sh | + | /hostlab/computador0-auto.sh<br/> |
− | ifconfig eth0 10.0.0.1/24 | + | ifconfig eth0 10.0.0.1/24<br/> |
− | </ | + | </code> |
--> | --> | ||
==lab.conf de uma rede simples com roteador ipv4== | ==lab.conf de uma rede simples com roteador ipv4== | ||
− | Crie uma rede com dois computadores ligados por um roteador. <br> | + | Crie uma rede com dois computadores ligados por um roteador.<br/> |
− | [[Image:lab.conf de uma rede simples com roteador ipv4.png]] | + | [[Image:lab.conf de uma rede simples com roteador ipv4.png]]<br/> |
− | + | <br/> | |
<code> | <code> | ||
− | # Global | + | <nowiki>#</nowiki>Global<br/> |
− | global[compact]=False | + | global[compact]=False<br/> |
− | global[mem]=32 | + | global[mem]=32<br/> |
− | global[vm]=4 | + | global[vm]=4<br/> |
− | global[clean]=True | + | global[clean]=True<br/> |
− | + | <br/> | |
− | # Equipamentos | + | <nowiki>#</nowiki>Equipamentos<br/> |
− | computador0[type]=generic | + | computador0[type]=generic<br/> |
− | computador1[type]=generic | + | computador1[type]=generic<br/> |
− | router0[type]=router | + | router0[type]=router<br/> |
− | + | <nowiki>#</nowiki>Enlaces<br/> | |
− | # Enlaces | + | <br/> |
− | computador0[eth0]=enlace0 | + | computador0[eth0]=enlace0<br/> |
− | computador1[eth0]=enlace1 | + | computador1[eth0]=enlace1<br/> |
− | router0[eth0]=enlace0 | + | router0[eth0]=enlace0<br/> |
− | router0[eth1]=enlace1 | + | router0[eth1]=enlace1<br/> |
− | </ | + | </code> |
<!-- Configuração direta via netkit | <!-- Configuração direta via netkit | ||
− | # Enlaces | + | <nowiki>#</nowiki>Enlaces<br/> |
− | computador0[eth0]=enlace0:ip=192.168.1.2/25 | + | computador0[eth0]=enlace0:ip=192.168.1.2/25<br/> |
− | computador0[route]=default:gateway=192.168.1.1 | + | computador0[route]=default:gateway=192.168.1.1<br/> |
− | computador1[eth0]=enlace1:ip=192.168.1.130/25 | + | computador1[eth0]=enlace1:ip=192.168.1.130/25<br/> |
− | computador1[route]=default:gateway=192.168.1.129 | + | computador1[route]=default:gateway=192.168.1.129<br/> |
− | router0[eth0]=enlace0:ip=192.168.1.1/25 | + | router0[eth0]=enlace0:ip=192.168.1.1/25<br/> |
− | router0[eth1]=enlace1:ip=192.168.1.129/25 | + | router0[eth1]=enlace1:ip=192.168.1.129/25<br/> |
--> | --> | ||
===lab.conf de uma rede simples com roteador ipv4: testes preliminares=== | ===lab.conf de uma rede simples com roteador ipv4: testes preliminares=== | ||
#Instancie a rede | #Instancie a rede | ||
− | #Em computador0 e computador1, respectivamente, observe que não há interfaces configuradas (exceto loopback) <code> | + | #Em computador0 e computador1, respectivamente, observe que não há interfaces configuradas (exceto loopback) |
− | $ ip -4 a</ | + | #:<code>$ ip -4 a</code> |
− | #Em computador0 e computador1, respectivamente, observe que não há rotas configuradas <code> | + | #Em computador0 e computador1, respectivamente, observe que não há rotas configuradas |
− | $ ip -4 r</ | + | #:<code>$ ip -4 r</code> |
*Obs.: Você também pode utilizar os comandos "ifconfig" e "netstat -rn" para verificar as configurações das interfaces e de rotas | *Obs.: Você também pode utilizar os comandos "ifconfig" e "netstat -rn" para verificar as configurações das interfaces e de rotas | ||
===lab.conf de uma rede simples com roteador ipv4: configurando as interfaces dos computadores=== | ===lab.conf de uma rede simples com roteador ipv4: configurando as interfaces dos computadores=== | ||
− | #Em computador0 adicione seu ip <code> | + | #Em computador0 adicione seu ip |
− | $ ip -4 address add 192.168.1.2/25 dev eth0</ | + | #:<code>$ ip -4 address add 192.168.1.2/25 dev eth0</code> |
− | #Em computador1 adicione seu ip <code> | + | #Em computador1 adicione seu ip |
− | $ ip -4 address add 192.168.1.130/25 dev eth0</ | + | #:<code>$ ip -4 address add 192.168.1.130/25 dev eth0</code> |
− | #Em computador0 e computador1, respectivamente, observe novamente os ips, agora incluindo a interface eth0 <code> | + | #Em computador0 e computador1, respectivamente, observe novamente os ips, agora incluindo a interface eth0 |
− | $ ip -4 a</ | + | #:<code>$ ip -4 a</code> |
− | #Em computador0 e computador1, respectivamente, observe que ainda não há rotas configuradas (exceto o link de enlace) <code> | + | #Em computador0 e computador1, respectivamente, observe que ainda não há rotas configuradas (exceto o link de enlace) |
− | $ ip -4 r</ | + | #:<code>$ ip -4 r</code> |
#*Resposta provavel em computador0 mostra que só há link de enlace, não há global: 192.168.1.0/25 dev eth0 proto kernel scope link src 192.168.1.2 | #*Resposta provavel em computador0 mostra que só há link de enlace, não há global: 192.168.1.0/25 dev eth0 proto kernel scope link src 192.168.1.2 | ||
Linha 270: | Linha 271: | ||
--> | --> | ||
− | =Laboratório virtual de rastreamento de pacotes roteados= | + | ==lab.conf de três subredes roteadas (dois ips em uma interface)== |
+ | Considere a seguinte infraestrutura. A sub-rede 0 é formada pelos computadores 0 e 1, uma rede 10.0.0.0/16. A sub-rede 1 é formada pelo computador 2, uma rede 192.168.6.64/27. A sub-rede 2 é formada pelos computadores 3 e 4 uma 192.168.6.128/25. <br>[[Image:lab.conf de três subredes roteadas (dois ips em uma interface).png|center]] | ||
+ | |||
+ | <code> | ||
+ | # Global | ||
+ | global[compact]=False | ||
+ | global[mem]=32 | ||
+ | global[vm]=4 | ||
+ | global[clean]=True | ||
+ | |||
+ | # Equipamentos | ||
+ | router0[type]=router | ||
+ | switch0[type]=switch | ||
+ | switch1[type]=switch | ||
+ | switch2[type]=switch | ||
+ | computador0[type]=generic | ||
+ | computador1[type]=generic | ||
+ | computador2[type]=generic | ||
+ | computador3[type]=generic | ||
+ | computador4[type]=generic | ||
+ | |||
+ | # Enlaces | ||
+ | router0[eth0]=enlace4 | ||
+ | router0[eth1]=enlace5 | ||
+ | switch0[eth2]=enlace4 | ||
+ | switch1[eth2]=enlace5 | ||
+ | switch0[eth0]=enlace0 | ||
+ | switch0[eth1]=enlace1 | ||
+ | switch1[eth0]=enlace6 | ||
+ | switch1[eth1]=enlace2 | ||
+ | switch2[eth0]=enlace3 | ||
+ | switch2[eth1]=enlace6 | ||
+ | switch2[eth2]=enlace7 | ||
+ | computador0[eth0]=enlace0 | ||
+ | computador1[eth0]=enlace1 | ||
+ | computador2[eth0]=enlace2 | ||
+ | computador3[eth0]=enlace3 | ||
+ | computador4[eth0]=enlace7 | ||
+ | </syntaxhighlight> | ||
+ | <!-- | ||
+ | computador0[eth0]=enlace0:ip=10.0.0.1/16 | ||
+ | computador1[eth0]=enlace1:ip=10.0.0.2/16 | ||
+ | computador2[eth0]=enlace2:ip=192.168.6.129/25 | ||
+ | computador3[eth0]=enlace3:ip=192.168.6.130/25 | ||
+ | computador4[eth0]=enlace7:ip=192.168.6.65/26 | ||
+ | --> | ||
+ | |||
+ | ==lab.conf cascateando roteadores== | ||
+ | Considere a seguinte infraestrutura. A sub-rede 0 é formada pelos computadores 0 e 1, uma rede 10.0.0.0/16. A sub-rede 1 é formada pelo computador 2, uma rede 192.168.6.64/27. A sub-rede 2 é formada pelos computadores 3 e 4 uma 192.168.6.128/25. <br>[[Image:lab.conf cascateando roteadores.png|center]] | ||
+ | |||
+ | <code> | ||
+ | # Global | ||
+ | global[compact]=False | ||
+ | global[mem]=32 | ||
+ | global[vm]=4 | ||
+ | global[clean]=True | ||
+ | |||
+ | # Equipamentos | ||
+ | router0[type]=router | ||
+ | router1[type]=router | ||
+ | switch0[type]=switch | ||
+ | switch1[type]=switch | ||
+ | switch2[type]=switch | ||
+ | computador0[type]=generic | ||
+ | computador1[type]=generic | ||
+ | computador2[type]=generic | ||
+ | computador3[type]=generic | ||
+ | computador4[type]=generic | ||
+ | |||
+ | # Enlaces | ||
+ | router0[eth0]=enlace4:ip=10.0.255.254/16 | ||
+ | router0[eth1]=enlace5:ip=200.0.0.1/24 | ||
+ | router1[eth1]=enlace5:ip=200.0.0.2/24 | ||
+ | router1[eth0]=enlace8:ip=192.168.6.254/25 | ||
+ | switch0[eth2]=enlace4 | ||
+ | switch1[eth2]=enlace8 | ||
+ | switch0[eth0]=enlace0 | ||
+ | switch0[eth1]=enlace1 | ||
+ | switch1[eth0]=enlace6 | ||
+ | switch1[eth1]=enlace2 | ||
+ | switch2[eth0]=enlace3 | ||
+ | switch2[eth1]=enlace6 | ||
+ | switch2[eth2]=enlace7 | ||
+ | computador0[eth0]=enlace0:ip=10.0.0.1/16 | ||
+ | computador1[eth0]=enlace1:ip=10.0.0.2/16 | ||
+ | computador2[eth0]=enlace2:ip=192.168.6.129/25 | ||
+ | computador3[eth0]=enlace3:ip=192.168.6.130/25 | ||
+ | computador4[eth0]=enlace7:ip=192.168.6.65/26 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <!-- | ||
+ | #router0# ip route 192.168.6.64/26 200.0.0.2 | ||
+ | #router0# ip route 192.168.6.128/25 200.0.0.2 | ||
+ | #router1# ip route 10.0.0.0/16 200.0.0.1 | ||
+ | #sh ip int br | ||
+ | --> | ||
+ | |||
+ | ==Laboratório virtual de rastreamento de pacotes roteados== | ||
*Configurar duas redes físicas (com 2 computadores cada) roteadas entre si. | *Configurar duas redes físicas (com 2 computadores cada) roteadas entre si. | ||
− | **Realize configurações de endereçamento de forma | + | **Realize configurações de endereçamento de forma persistente, no arquivo "/etc/network/interfaces" (ver seção Comandos/operações úteis) |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
**Uma das redes deve ser uma /24 (começando com os octetos 10.1.26.0) | **Uma das redes deve ser uma /24 (começando com os octetos 10.1.26.0) | ||
***Reservar os primeiros 20 endereços para servidores, simular uma das máquinas como um servidor de arquivos a outra como estação de trabalho | ***Reservar os primeiros 20 endereços para servidores, simular uma das máquinas como um servidor de arquivos a outra como estação de trabalho | ||
Linha 336: | Linha 425: | ||
*No computador cliente entre com o comando para cópia de arquivos via SSH <code> scp nome_do_usuario@ip:nome_arquivo .</syntaxhighlight> Observe que o ip deve ser o da máquina servidora do arquivo. No final do comando há um "ponto final" que representa o caminho da pasta de destino a ser copiado o arquivo, neste caso a pasta em que o comando scp está sendo rodado. | *No computador cliente entre com o comando para cópia de arquivos via SSH <code> scp nome_do_usuario@ip:nome_arquivo .</syntaxhighlight> Observe que o ip deve ser o da máquina servidora do arquivo. No final do comando há um "ponto final" que representa o caminho da pasta de destino a ser copiado o arquivo, neste caso a pasta em que o comando scp está sendo rodado. | ||
− | =Configuração estática | + | ==Laboratório virtual de um AS completo== |
+ | |||
+ | Obtenha o arquivo lab.conf da [https://github.com/clebercbr/Redes8aIntegrado/commit/7eb687302733b053741549778a078f1f30768320 aula 0] para configurar a rede apresentada. | ||
+ | |||
+ | <center> | ||
+ | <graphviz> | ||
+ | graph 0203 { | ||
+ | r0rot0 [label="roteador 0 [r0rot0]",shape=Mrecord] | ||
+ | r0swi0 [label="switch 0 [r0swi0]",shape=Mrecord] | ||
+ | r0swi1 [label="switch 1 [r0swi1]",shape=Mrecord] | ||
+ | r0swi2 [label="switch 2 [r0swi2]",shape=Mrecord] | ||
+ | r0srv0 [label="servidor 0 [r0srv0]",shape=Mrecord] | ||
+ | r0est0 [label="estacao 0 [r0est0]",shape=Mrecord] | ||
+ | r0est1 [label="estacao 1 [r0est1]",shape=Mrecord] | ||
+ | r0est2 [label="estacao 2 [r0est2]",shape=Mrecord] | ||
+ | |||
+ | r0rot0 -- r0swi0 [label="100,200,150",fontcolor=red,color=red] | ||
+ | r0swi0 -- r0swi1 [label="100,200,150",fontcolor=red,color=red] | ||
+ | r0swi0 -- r0swi2 [label="100,200,150",fontcolor=red,color=red] | ||
+ | r0swi1 -- r0swi2 [label="100,200,150",fontcolor=red,color=red] | ||
+ | r0swi1 -- r0srv0 [label="150",fontcolor=blue,color=blue] | ||
+ | r0swi2 -- r0est0 [label="200",fontcolor=blue,color=blue] | ||
+ | r0swi2 -- r0est1 [label="100",fontcolor=blue,color=blue] | ||
+ | r0swi2 -- r0est2 [label="100",fontcolor=blue,color=blue] | ||
+ | } | ||
+ | </graphviz> | ||
+ | </center> | ||
+ | |||
+ | Legenda: azul = untagged vlan, vermelho = tagged vlan. | ||
+ | |||
+ | No netkit sua rede ficará desta forma:<br> | ||
+ | [[Image:Laboratorio virtual de um AS completo.png|center]] | ||
+ | |||
+ | ===Aula 0=== | ||
+ | Nesta aula vamos discutir o experimento que faremos nas próximas aulas e como utilizaremos o netkit2 nas simulações. | ||
+ | #Obtenha o [https://github.com/clebercbr/Redes8aIntegrado/tree/IER-ARC-2017-1 banch] | ||
+ | ##Acessando o endereço clique em "clone or download" e depois na opção "Download ZIP" | ||
+ | ##Baixe o arquivo na pasta downloads de sua máquina | ||
+ | #Descompacte o arquivo, mova o conteúdo para uma subpasta sua na área "SALVE SEUS ARQUIVOS AQUI" | ||
+ | #Inicie o NetKit2, clique em "File" -> "Load only" e procure pelo arquivo lab.conf que você colocou em sua subpasta | ||
+ | #Observe se o grafico (File -> Graph) está condizente com o projeto, inicie e rede (Network -> Start) | ||
+ | #*As máquinas devem todas subir, são 3 estações de trabalho, 3 switches, 1 servidor e 1 roteador | ||
+ | #*Neste momento as máquinas devem estar todas zeradas, sem qualquer configuração, você pode explorar com os comandos que conhece | ||
+ | #Feche completamente o NetKit2 | ||
+ | #Navegue até a pasta /tmp/Redes8aIntegrado/lab, esta pasta acabou de ser criada no momento que você rodou esta rede | ||
+ | #Apague todo o conteúdo desta pasta | ||
+ | #Vá até sua subpasta onde está o conteúdo do github, obtenha os arquivos startup copiando para a pasta /tmp/Redes8aIntegrado/lab | ||
+ | #Suba a rede novamente | ||
+ | #*As máquinas agora já possuem alguma configuração, você pode explorar ips e rotas, tudo isso foi criado através de comandos linux que foram carregados na inicialização das VMs. | ||
+ | |||
+ | ===Aula 1=== | ||
+ | Nesta aula vamos configurar o ip e rota padrão das estações de trabalho, roteador, deixando switches com configuração padrão. Fazer máquibas se falarem independente da sub-rede; | ||
+ | #Abra o netkit, carregue o lab.conf que foi baixado do github | ||
+ | #Remova todos os arquivos do diretório /tmp/Redes8aIntegrado/lab | ||
+ | #Copie para a pasta referida os arquivos startup obtidos do github | ||
+ | #Vamos segmentar estas redes seguindo demanda apresentada no mapa dado | ||
+ | #Configurar ip e rota nas estações de trabalho | ||
+ | #Configurar ips no roteador | ||
+ | #Realizar verificações via ping em todas as sub-redes | ||
+ | ##Observar que precisamos remover um link de redundância pois sem a configuração devida é um loop | ||
+ | *Resultado: [https://github.com/clebercbr/Redes8aIntegrado/releases/tag/1.0 github aula 1] | ||
+ | |||
+ | ===Aula 2=== | ||
+ | Nesta aula vamos configurar as VLANs 100, 150 e 200 usando tags entre switches. Realizar checagens de transferência de pacotes de forma tagged e untagged. | ||
+ | #Abra o netkit, carregue o lab.conf que foi baixado do github | ||
+ | #Remova todos os arquivos do diretório /tmp/Redes8aIntegrado/lab | ||
+ | #Copie para a pasta referida os arquivos startup obtidos do github | ||
+ | #Usando parâmetros netkit configure as vlans untagged (entre switches) e tagged (ligações com terminais). | ||
+ | #*Veja as configurações de VLANs dos dispositivos em $ ip -d link | ||
+ | #Teste as comunicações (exemplo de dump na eth0: $tcpdump -nei eth0) | ||
+ | #Vamos configurar o roteador manualmente | ||
+ | #Teste as comunicações, verifique o tráfego de dados nas diferentes interfaces | ||
+ | *Resultado: [https://github.com/clebercbr/Redes8aIntegrado/tree/7ddc58fd07ec195da4415f1cef022bccc881a1a8 github aula 2] | ||
+ | |||
+ | ===Aula 3=== | ||
+ | Nesta aula vamos configurar o STP e realizar testes de tráfego em diferentes switches. | ||
+ | #Abra o netkit, carregue o lab.conf que foi baixado do github | ||
+ | #Remova todos os arquivos do diretório /tmp/Redes8aIntegrado/lab | ||
+ | #Copie para a pasta referida os arquivos startup obtidos do github | ||
+ | #Configurar STP | ||
+ | #Teste as comunicações, verifique o tráfego de dados nas diferentes interfaces | ||
+ | *Resultado: [https://github.com/clebercbr/Redes8aIntegrado/tree/13ff0633c5a7e0e5b9e8c63aae4394bb1450f445 github aula 3] | ||
+ | |||
+ | ===Relatório=== | ||
+ | *Dividir a turma em grupos (2 a 5 alunos) | ||
+ | *Na data final os alunos devem entregar um relatório seguindo padrão ABNT ([http://www.ifsc.edu.br/modelo-de-relatorio modelo de relatório]). | ||
+ | **No relatório deve constar detalhes do formato de segmentação de rede (padrão de endereçamento, reservas, endereços de broadcast e rede) | ||
+ | *Utilizar o modelo dado (arquivo lab.conf) | ||
+ | **Pesquise sobre as tecnologias utilizadas, explique como funcionam, quais as diferentes configurações e modos que suportam | ||
+ | **Realize testes de simulação de falha de links fazendo captura de pacotes, marque nas capturas dados relevantes que mostram as tecnologias em ação. Utilize printscreens das telas comentando os dados. | ||
+ | *Modifique o arquivo lab.conf dado para a configuração representada abaixo. | ||
+ | **Realize testes de simulação de falha de links fazendo captura de pacotes, marque nas capturas dados relevantes que mostram as tecnologias em ação. Utilize printscreens das telas comentando os dados. | ||
+ | **Explique que vantagens e desvantagens esta estrutura traz, por que poderia ser preferida em alguns casos? | ||
+ | <center><graphviz> graph 0203 { | ||
+ | r0rot0 [label="roteador 0 [r0rot0]",shape=Mrecord] | ||
+ | r0swi0 [label="switch 0 [r0swi0]",shape=Mrecord] | ||
+ | r0swi1 [label="switch 1 [r0swi1]",shape=Mrecord] | ||
+ | r0swi2 [label="switch 2 [r0swi2]",shape=Mrecord] | ||
+ | r0srv0 [label="servidor 0 [r0srv0]",shape=Mrecord] | ||
+ | r0est0 [label="estacao 0 [r0est0]",shape=Mrecord] | ||
+ | r0est1 [label="estacao 1 [r0est1]",shape=Mrecord] | ||
+ | r0est2 [label="estacao 2 [r0est2]",shape=Mrecord] | ||
+ | r0rot0 -- r0swi0 [label="100,200,150",fontcolor=red,color=red] | ||
+ | r0swi0 -- r0swi1 [label="200,150",fontcolor=red,color=red] | ||
+ | r0swi0 -- r0swi2 [label="100",fontcolor=red,color=red] | ||
+ | r0swi1 -- r0swi2 [label="200,150",fontcolor=red,color=red] | ||
+ | r0swi1 -- r0srv0 [label="150",fontcolor=blue,color=blue] | ||
+ | r0swi2 -- r0est0 [label="200",fontcolor=blue,color=blue] | ||
+ | r0swi2 -- r0est1 [label="100",fontcolor=blue,color=blue] | ||
+ | r0swi2 -- r0est2 [label="100",fontcolor=blue,color=blue]}</graphviz></center> | ||
+ | |||
+ | =Trabalho sobre redes sem-fio (Trabalho curricular)= | ||
+ | Este é um trabalho curricular cuja nota será de até 1 ponto adicional na média. Além de ajudar a melhorar o conceito pode ajudar alunos com baixo índice para aprovação. | ||
+ | |||
+ | *Na data final os alunos devem entregar um relatório padrão ABNT ([http://www.ifsc.edu.br/modelo-de-relatorio modelo de relatório]). | ||
+ | *O relatório deve contemplar parte teórica sobre WLAN (Wireless Local Area Network). | ||
+ | **Introdução as redes wireless | ||
+ | **Histórico de evolução de padrões | ||
+ | **Protocolo de acesso ao meio | ||
+ | **Distância, Obstáculos, Segurança, e outros parâmetros relevantes | ||
+ | *Implemente uma rede doméstica na prática | ||
+ | **Realize uma configuração básica de um roteador wi-fi para uma faixa de ip de sua escolha (configuração básica DHCP) | ||
+ | **Conecte um computador via cabo na interface ethernet e um outro dispositivo via wireless | ||
+ | **Realize testes de comunicação e dump via tcpdump ou wireshark | ||
+ | **Discuta os resultados | ||
+ | |||
+ | =Material de aula= | ||
+ | *[http://www.sj.ifsc.edu.br/~msobral/RCO2/docs.html Apostila professor Casagrande] | ||
+ | **[http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/casagrande/MODULO2/cap6/cap6.pdf Capítulo 6: Redes de Computadores] | ||
+ | **[http://www.sj.ifsc.edu.br/~msobral/RCO2/docs/casagrande/MODULO2/cap7/cap7.pdf Capítulo 7: O Padrão Ethernet] | ||
+ | |||
+ | ==Comandos/operações úteis== | ||
+ | {{collapse top|comando ip}} | ||
+ | Mostrar as configurações de todas as interfaces de rede ativas ou não | ||
+ | <code># ip a </syntaxhighlight> | ||
+ | Adicionar um ip a uma interface de rede (modo não persistente) | ||
+ | <code># ip a add 192.168.0.1/24 dev eth0</syntaxhighlight> | ||
+ | Remover um ip a uma interface de rede | ||
+ | <code># ip a del 192.168.0.1/24 dev eth0</syntaxhighlight> | ||
+ | Desativando uma interface de rede | ||
+ | <code># ip link set dev eth0 down</syntaxhighlight> | ||
+ | Ativando uma interface de rede | ||
+ | <code># ip link set dev eth0 up</syntaxhighlight> | ||
+ | Modificando endereço MAC de uma interface (interface precisa estar desativada) | ||
+ | <code># ip link set dev eth0 address 00:0c:13:45:5b:b6</syntaxhighlight> | ||
+ | Adicionando rota padrão (pode-se usar 0/0 no lugar de default) | ||
+ | <code># ip route add default via 192.168.0.254</syntaxhighlight> | ||
+ | Adicionando rota estática para uma determinada sub-rede | ||
+ | <code># ip route add 10.0.0.0/24 via 192.168.0.254 dev eth0</syntaxhighlight> | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | {{collapse top|comando para verificar configurações das interfaces de rede}} | ||
+ | Usando comando ip | ||
+ | <code># ip a</syntaxhighlight> | ||
+ | Usando ifconfig | ||
+ | <code># ifconfig</syntaxhighlight> | ||
+ | Usando nmcli (controlador do networkmanager) | ||
+ | <code># nmcli device show</syntaxhighlight> | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | {{collapse top|Habilitar/desabilitar/reiniciar interfaces}} | ||
+ | Comandos ifdown e ifup | ||
+ | <code># ifdown eth0 && ifup eth0</syntaxhighlight> | ||
+ | Comando ip | ||
+ | <code># ip link set dev eth0 down && ip link set dev eth0 up</syntaxhighlight> | ||
+ | Comando networking restart - considerado obsoleto | ||
+ | <code># service networking restart</syntaxhighlight> | ||
+ | Comando network restart | ||
+ | <code># /etc/init.d/network restart</syntaxhighlight> | ||
+ | Pelo comando ifconfig | ||
+ | <code># ifconfig eth0 down && ifconfig eth0 up</syntaxhighlight> | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | {{collapse top|Configuração estática persistente}} | ||
+ | Para tornar as configurações de rede persistentes, ou seja, manter as configurações mesmo se a máquina for reiniciada deve-se editar o arquivo /etc/network/interfaces conforme exemplo abaixo (após editar deve-se reiniciar a interface): <code> | ||
auto eth0 | auto eth0 | ||
iface eth0 inet static | iface eth0 inet static | ||
Linha 345: | Linha 608: | ||
netmask 255.255.255.224 | netmask 255.255.255.224 | ||
dns-nameservers 191.36.8.2 | dns-nameservers 191.36.8.2 | ||
− | dns-nameservers 191.36.8.3 | + | dns-nameservers 191.36.8.3</syntaxhighlight> |
− | + | {{collapse bottom}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {{collapse top|Ferramentas / utilitários}} | |
− | + | Calculado de endereçamento (rede, ip, mascara, broadcast) | |
− | + | <code># ipcalc 191.36.8.36/27</syntaxhighlight> | |
− | + | {{collapse bottom}} | |
=Material suplementar= | =Material suplementar= | ||
Linha 368: | Linha 625: | ||
*[[Roteador_Cisco_1750 | Instruções de uso Cisco 1750]] | *[[Roteador_Cisco_1750 | Instruções de uso Cisco 1750]] | ||
*[[Media:Manual_NR-2G_3200_e_4200.pdf | Net Router 2G 4200]] | *[[Media:Manual_NR-2G_3200_e_4200.pdf | Net Router 2G 4200]] | ||
+ | *[[Media:Manual Quagga 1.2.0.pdf | Manual Quagga]] |
Edição atual tal como às 11h50min de 17 de setembro de 2022
Dados do Professor
- Professor: Cleber Jorge Amaral
- Email: cleber.amaral@ifsc.edu.br
- Atendimento paralelo: terças e quintas das 12:00 as 13:00 na Sala Multimeios de Tele (ao lado da reprografia)
- Agenda do professor: Ver página
Dados da Disciplina
- Ementa da disciplina na wiki: Curso_Técnico_Integrado_de_Telecomunicações_8ª_Fase
- Página no moodle: moodle
Laboratórios (simulação e utilizando equipamentos físicos)
Utilizaremos a ferramenta netkit2 já pré-instalada nas máquinas linux dos laboratórios. Siga os passos a seguir para configuração básica:
- Para iniciar crie um arquivo chamado "lab.conf" em sua pasta pessoa (pasta "aluno") através de uma ferramenta de edição de sua preferência (gedit, nano, vi ou outro).
- Entre com a configuração global básica do netkit2:
- global[compact]=False #Para que o netkit não compacte os discos rígidos das instâncias
- global[mem]=32 #Para que cada instância utilize 32MBRAM
- global[vm]=4 #Para que no máximo 4 máquinas virtuais sejam iniciadas simultâneamente
- global[clean]=True #Para que os arquivos de inicialização e discos sejam apagados em cada inicialização (será utilizado assim num primeiro momento)
- A seguir entre com as demais configurações de computadores, roteadores e switchs que deseja utilizar em sua rede
- Estabeleça a segmentação da rede
- Configure os endereços das interfaces
- Crie as rotas
- Procure observar a configurações necessárias para cada camada
- Enlace: interfaces físicas //exemplo: ip link set eth0 up
- Enlace: agregação de enlace
- Enlace: VLAN
- Enlace: ponte
- Enlace: *STP
- Rede: endereçamento //exemplo: ip -4 addr add 10.0.20.100/24 dev eth0
- Rede: roteamento //exemplo: ip -4 route add 0.0.0.0/0 via 10.0.20.254
- Selecione no netkit2 a opção no menu File -> Load and Run, selecione seu arquivo lab.conf que deve ter preenchida a sessão global bem como as demais configurações de seu projeto específico de virtualização
- Observe que suas máquinas devem ser instanciadas, uma pasta chamada "lab" deve ter sido criada no mesmo diretório em que se encontra "lab.conf"
- Caso de não inicialização pode haver erro de sintaxe em seu arquivo "lab.conf"
- Caso de falha ao rodar procure fechar as instancias e o netkit2, reiniciando o processo do zero
- Caso tenha optado por não limpar os discos (opção "clean"), pode ser necessário apagar manualmente os discos de suas máquinas
lab.conf de uma rede simples ponto a ponto (sobre ethernet)
Crie uma rede com dois computadores ligados ponto a ponto (utilizando o protocolo ethernet).
#Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=True
#Equipamentos
computador0[type]=generic
computador1[type]=generic
#Enlaces
computador0[eth0]=enlace0
computador1[eth0]=enlace0
lab.conf de uma rede simples com switch
Crie uma rede simples com dois computadores conectados entre si por um switch.
#Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=True
#Equipamentos
computador0[type]=generic
computador1[type]=generic
switch0[type]=switch
#Enlaces
computador0[eth0]=enlace0
switch0[eth0]=enlace0
computador1[eth0]=enlace1
switch0[eth1]=enlace1
lab.conf de uma rede simples com roteador ipv4
Crie uma rede com dois computadores ligados por um roteador.
#Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=True
#Equipamentos
computador0[type]=generic
computador1[type]=generic
router0[type]=router
#Enlaces
computador0[eth0]=enlace0
computador1[eth0]=enlace1
router0[eth0]=enlace0
router0[eth1]=enlace1
lab.conf de uma rede simples com roteador ipv4: testes preliminares
- Instancie a rede
- Em computador0 e computador1, respectivamente, observe que não há interfaces configuradas (exceto loopback)
$ ip -4 a
- Em computador0 e computador1, respectivamente, observe que não há rotas configuradas
$ ip -4 r
- Obs.: Você também pode utilizar os comandos "ifconfig" e "netstat -rn" para verificar as configurações das interfaces e de rotas
lab.conf de uma rede simples com roteador ipv4: configurando as interfaces dos computadores
- Em computador0 adicione seu ip
$ ip -4 address add 192.168.1.2/25 dev eth0
- Em computador1 adicione seu ip
$ ip -4 address add 192.168.1.130/25 dev eth0
- Em computador0 e computador1, respectivamente, observe novamente os ips, agora incluindo a interface eth0
$ ip -4 a
- Em computador0 e computador1, respectivamente, observe que ainda não há rotas configuradas (exceto o link de enlace)
$ ip -4 r
- Resposta provavel em computador0 mostra que só há link de enlace, não há global: 192.168.1.0/25 dev eth0 proto kernel scope link src 192.168.1.2
lab.conf de uma rede simples com roteador ipv4: configurando o roteador
- Em router0 comece dando um comando ? para obter a lista de possíveis comandos
- Em router0 observe as interfaces que possui atualmente
- show interface </syntaxhighlight>
- Resposta provavel: eth0 e eth1 estão ativas porém sem endereço
- Em router0 observe as rotas que possui atualmente
- show ip route </syntaxhighlight>
- Resposta provavel: 127.0.0.0/8 is directly connected, lo
- Em router0 configure a interface eth0
- configure terminal
(config)# interface eth0
(config-if)# ip address 192.168.1.1/25 </syntaxhighlight>
- Em router0 saia da configuração de eth0 com
(config-if)# quit
(config)# interface eth1
(config-if)# ip address 192.168.1.129/25 </syntaxhighlight>
- Em router0 volte ao modo administração (CTRL+Z)
- Em router0 observe as interfaces que possui atualmente
- show interface </syntaxhighlight>
- Resposta provavel: eth0 e eth1 estão ativas com os endereços 192.168.1.1 e 192.168.1.129
- Em router0 observe as interfaces e rotas que possui atualmente
- show ip route </syntaxhighlight>
- Resposta provavel:
- 127.0.0.0/8 is directly connected, lo
- 192.168.1.0/25 is directly connected, eth0
- 192.168.1.128/25 is directly connected, eth1
lab.conf de uma rede simples com roteador ipv4: criando rotas
- Em computador0, experimente pingar o roteador
$ ping 192.168.1.1 </syntaxhighlight>
- Resposta provavel: $ Destination Host Unreachable
- Em computador0, crie a rota até o roteador
$ ip -4 r add 0/0 via 192.168.1.1 </syntaxhighlight>
- Em computador0, novamente tente pingar o roteador
$ ping 192.168.1.1 </syntaxhighlight>
- Resposta provavel: $ ping bem sucedido em menos de 1ms
- Cancele o ping (CTRL+C)
- Em computador0, experimente pingar a interface eth0 do roteador
$ ping 192.168.1.129 </syntaxhighlight>
- Resposta provavel: $ ping bem sucedido em menos de 1ms
- Cancele o ping (CTRL+C)
- Em computador0, experimente pingar o computador1
$ ping 192.168.1.130 </syntaxhighlight>
- Resposta provavel: $ Destination Host Unreachable
- Em computador1, crie a rota até o roteador
$ ip -4 r add 0/0 via 192.168.1.129 </syntaxhighlight>
- Em computador1, experimente pingar o computador0
$ ping 192.168.1.2 </syntaxhighlight>
- Resposta provavel: $ ping bem sucedido em menos de 1ms
- Em computador0, tente novamente pingar o computador1
$ ping 192.168.1.130 </syntaxhighlight>
- Resposta provavel: $ ping bem sucedido em menos de 1ms
lab.conf de uma rede simples ponto a ponto (sobre ppp)
Crie uma rede com dois computadores ligados ponto a ponto (utilizando o protocolo ppp).
- Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=True
- Equipamentos
computador0[type]=generic
computador1[type]=generic
- Enlaces
computador0[ppp0]=enlace0
computador1[ppp0]=enlace0
</syntaxhighlight>
lab.conf de duas subredes roteadas
- Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=True
- Equipamentos
computador0[type]=generic
computador1[type]=generic
computador2[type]=generic
computador3[type]=generic
switch0[type]=switch
switch1[type]=switch
router0[type]=router
- Enlaces
computador0[eth0]=enlace0
computador1[eth0]=enlace1
computador2[eth0]=enlace2
computador3[eth0]=enlace3
switch0[eth0]=enlace0
switch0[eth1]=enlace1
switch1[eth0]=enlace2
switch1[eth1]=enlace3
switch0[eth2]=enlace4
switch1[eth2]=enlace5
router0[eth0]=enlace4
router0[eth1]=enlace5
</syntaxhighlight>
lab.conf de três subredes roteadas (dois ips em uma interface)
Considere a seguinte infraestrutura. A sub-rede 0 é formada pelos computadores 0 e 1, uma rede 10.0.0.0/16. A sub-rede 1 é formada pelo computador 2, uma rede 192.168.6.64/27. A sub-rede 2 é formada pelos computadores 3 e 4 uma 192.168.6.128/25.
- Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=True
- Equipamentos
router0[type]=router
switch0[type]=switch
switch1[type]=switch
switch2[type]=switch
computador0[type]=generic
computador1[type]=generic
computador2[type]=generic
computador3[type]=generic
computador4[type]=generic
- Enlaces
router0[eth0]=enlace4
router0[eth1]=enlace5
switch0[eth2]=enlace4
switch1[eth2]=enlace5
switch0[eth0]=enlace0
switch0[eth1]=enlace1
switch1[eth0]=enlace6
switch1[eth1]=enlace2
switch2[eth0]=enlace3
switch2[eth1]=enlace6
switch2[eth2]=enlace7
computador0[eth0]=enlace0
computador1[eth0]=enlace1
computador2[eth0]=enlace2
computador3[eth0]=enlace3
computador4[eth0]=enlace7
</syntaxhighlight>
lab.conf cascateando roteadores
Considere a seguinte infraestrutura. A sub-rede 0 é formada pelos computadores 0 e 1, uma rede 10.0.0.0/16. A sub-rede 1 é formada pelo computador 2, uma rede 192.168.6.64/27. A sub-rede 2 é formada pelos computadores 3 e 4 uma 192.168.6.128/25.
- Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=True
- Equipamentos
router0[type]=router
router1[type]=router
switch0[type]=switch
switch1[type]=switch
switch2[type]=switch
computador0[type]=generic
computador1[type]=generic
computador2[type]=generic
computador3[type]=generic
computador4[type]=generic
- Enlaces
router0[eth0]=enlace4:ip=10.0.255.254/16
router0[eth1]=enlace5:ip=200.0.0.1/24
router1[eth1]=enlace5:ip=200.0.0.2/24
router1[eth0]=enlace8:ip=192.168.6.254/25
switch0[eth2]=enlace4
switch1[eth2]=enlace8
switch0[eth0]=enlace0
switch0[eth1]=enlace1
switch1[eth0]=enlace6
switch1[eth1]=enlace2
switch2[eth0]=enlace3
switch2[eth1]=enlace6
switch2[eth2]=enlace7
computador0[eth0]=enlace0:ip=10.0.0.1/16
computador1[eth0]=enlace1:ip=10.0.0.2/16
computador2[eth0]=enlace2:ip=192.168.6.129/25
computador3[eth0]=enlace3:ip=192.168.6.130/25
computador4[eth0]=enlace7:ip=192.168.6.65/26
</syntaxhighlight>
Laboratório virtual de rastreamento de pacotes roteados
- Configurar duas redes físicas (com 2 computadores cada) roteadas entre si.
- Realize configurações de endereçamento de forma persistente, no arquivo "/etc/network/interfaces" (ver seção Comandos/operações úteis)
- Uma das redes deve ser uma /24 (começando com os octetos 10.1.26.0)
- Reservar os primeiros 20 endereços para servidores, simular uma das máquinas como um servidor de arquivos a outra como estação de trabalho
- Endereços de ativos de meio de rede devem ser alocados no final da faixa
- A outra rede deve ser uma /28 (começando com os octetos 192.168.5.32)
- Toda a rede dedicada a estações de trabalho
- Endereços de ativos de meio de rede devem ser alocados no final da faixa
- Observar segmentação de rede (padrão de endereçamento, reservas, endereços de broadcast e rede)
- Obter dump de comunicação comentando as mensagens geradas nos diferentes ensaios
- Realizar ping
- Realizar copia de arquivo usando ssh
- Realizar troca de mensagens via netcat
- lab.conf:
- Global
global[compact]=False
global[mem]=32
global[vm]=4
global[clean]=True
- Equipamentos
computador0[type]=generic
computador1[type]=generic
computador2[type]=generic
computador3[type]=generic
switch0[type]=switch
switch1[type]=switch
router0[type]=router
- Enlaces
router0[eth0]=enlace0_0
computador0[eth0]=enlace0_1
computador1[eth0]=enlace0_2
router0[eth1]=enlace1_0
computador2[eth0]=enlace1_1
computador3[eth0]=enlace1_2
switch0[eth0]=enlace0_0
switch0[eth1]=enlace0_1
switch0[eth2]=enlace0_2
switch1[eth0]=enlace1_0
switch1[eth1]=enlace1_1
switch1[eth2]=enlace1_2
</syntaxhighlight>
Orientações para uso do netcat nos ensaios
- Certifique-se de que os computadores estejam visíveis na rede
- No computador servidor entre com o comando de "listening" configurando uma porta de sua preferência
nc -l porta </syntaxhighlight>
- No computador cliente entre com o comando para estabelecimento de conexão com um servidor através do ip do servidor e da porta estabelecida
nc ip porta </syntaxhighlight>
Orientações para cópia de arquivos via SSH nos ensaios
- Certifique-se de que os computadores estejam visíveis na rede
- Certifique-se de no servidor haver um usuário para realização de conexão (não pode ser o root)
- Se necessário crie um usuário
adduser nome_do_usuario </syntaxhighlight> entre em seguida com a senha e demais campos. Se quiser testar se o serviço SSH está ativo, na própria máquina realize o comando "ssh nome_do_usuario@localhost". Se experimentar problemas reinicie o serviço SSH "service ssh restart". Você também pode ir na máquina cliente e realizar uma conexão ssh direta para certificar o funcionamento "ssh nome_do_usuario@ip", será solicitado a senha. Verifique se a conexão foi estabelecida, dê o comando exit para desconectar.
- Certifique-se de haver algum arquivo para ser copiado. Você pode criar um arquivo texto qualquer usando por exemplo o editor nano
nano nome_arquivo </syntaxhighlight> digite então um conteúdo qualquer em texto e depois CTRL+X, confirmando que deseja salvar o arquivo.
- No computador cliente entre com o comando para cópia de arquivos via SSH
scp nome_do_usuario@ip:nome_arquivo .</syntaxhighlight> Observe que o ip deve ser o da máquina servidora do arquivo. No final do comando há um "ponto final" que representa o caminho da pasta de destino a ser copiado o arquivo, neste caso a pasta em que o comando scp está sendo rodado.
Laboratório virtual de um AS completo
Obtenha o arquivo lab.conf da aula 0 para configurar a rede apresentada.
<graphviz>
graph 0203 {
r0rot0 [label="roteador 0 [r0rot0]",shape=Mrecord]
r0swi0 [label="switch 0 [r0swi0]",shape=Mrecord]
r0swi1 [label="switch 1 [r0swi1]",shape=Mrecord]
r0swi2 [label="switch 2 [r0swi2]",shape=Mrecord]
r0srv0 [label="servidor 0 [r0srv0]",shape=Mrecord]
r0est0 [label="estacao 0 [r0est0]",shape=Mrecord]
r0est1 [label="estacao 1 [r0est1]",shape=Mrecord]
r0est2 [label="estacao 2 [r0est2]",shape=Mrecord]
r0rot0 -- r0swi0 [label="100,200,150",fontcolor=red,color=red]
r0swi0 -- r0swi1 [label="100,200,150",fontcolor=red,color=red]
r0swi0 -- r0swi2 [label="100,200,150",fontcolor=red,color=red]
r0swi1 -- r0swi2 [label="100,200,150",fontcolor=red,color=red]
r0swi1 -- r0srv0 [label="150",fontcolor=blue,color=blue]
r0swi2 -- r0est0 [label="200",fontcolor=blue,color=blue]
r0swi2 -- r0est1 [label="100",fontcolor=blue,color=blue]
r0swi2 -- r0est2 [label="100",fontcolor=blue,color=blue]
}
</graphviz>
Legenda: azul = untagged vlan, vermelho = tagged vlan.
No netkit sua rede ficará desta forma:
Aula 0
Nesta aula vamos discutir o experimento que faremos nas próximas aulas e como utilizaremos o netkit2 nas simulações.
- Obtenha o banch
- Acessando o endereço clique em "clone or download" e depois na opção "Download ZIP"
- Baixe o arquivo na pasta downloads de sua máquina
- Descompacte o arquivo, mova o conteúdo para uma subpasta sua na área "SALVE SEUS ARQUIVOS AQUI"
- Inicie o NetKit2, clique em "File" -> "Load only" e procure pelo arquivo lab.conf que você colocou em sua subpasta
- Observe se o grafico (File -> Graph) está condizente com o projeto, inicie e rede (Network -> Start)
- As máquinas devem todas subir, são 3 estações de trabalho, 3 switches, 1 servidor e 1 roteador
- Neste momento as máquinas devem estar todas zeradas, sem qualquer configuração, você pode explorar com os comandos que conhece
- Feche completamente o NetKit2
- Navegue até a pasta /tmp/Redes8aIntegrado/lab, esta pasta acabou de ser criada no momento que você rodou esta rede
- Apague todo o conteúdo desta pasta
- Vá até sua subpasta onde está o conteúdo do github, obtenha os arquivos startup copiando para a pasta /tmp/Redes8aIntegrado/lab
- Suba a rede novamente
- As máquinas agora já possuem alguma configuração, você pode explorar ips e rotas, tudo isso foi criado através de comandos linux que foram carregados na inicialização das VMs.
Aula 1
Nesta aula vamos configurar o ip e rota padrão das estações de trabalho, roteador, deixando switches com configuração padrão. Fazer máquibas se falarem independente da sub-rede;
- Abra o netkit, carregue o lab.conf que foi baixado do github
- Remova todos os arquivos do diretório /tmp/Redes8aIntegrado/lab
- Copie para a pasta referida os arquivos startup obtidos do github
- Vamos segmentar estas redes seguindo demanda apresentada no mapa dado
- Configurar ip e rota nas estações de trabalho
- Configurar ips no roteador
- Realizar verificações via ping em todas as sub-redes
- Observar que precisamos remover um link de redundância pois sem a configuração devida é um loop
- Resultado: github aula 1
Aula 2
Nesta aula vamos configurar as VLANs 100, 150 e 200 usando tags entre switches. Realizar checagens de transferência de pacotes de forma tagged e untagged.
- Abra o netkit, carregue o lab.conf que foi baixado do github
- Remova todos os arquivos do diretório /tmp/Redes8aIntegrado/lab
- Copie para a pasta referida os arquivos startup obtidos do github
- Usando parâmetros netkit configure as vlans untagged (entre switches) e tagged (ligações com terminais).
- Veja as configurações de VLANs dos dispositivos em $ ip -d link
- Teste as comunicações (exemplo de dump na eth0: $tcpdump -nei eth0)
- Vamos configurar o roteador manualmente
- Teste as comunicações, verifique o tráfego de dados nas diferentes interfaces
- Resultado: github aula 2
Aula 3
Nesta aula vamos configurar o STP e realizar testes de tráfego em diferentes switches.
- Abra o netkit, carregue o lab.conf que foi baixado do github
- Remova todos os arquivos do diretório /tmp/Redes8aIntegrado/lab
- Copie para a pasta referida os arquivos startup obtidos do github
- Configurar STP
- Teste as comunicações, verifique o tráfego de dados nas diferentes interfaces
- Resultado: github aula 3
Relatório
- Dividir a turma em grupos (2 a 5 alunos)
- Na data final os alunos devem entregar um relatório seguindo padrão ABNT (modelo de relatório).
- No relatório deve constar detalhes do formato de segmentação de rede (padrão de endereçamento, reservas, endereços de broadcast e rede)
- Utilizar o modelo dado (arquivo lab.conf)
- Pesquise sobre as tecnologias utilizadas, explique como funcionam, quais as diferentes configurações e modos que suportam
- Realize testes de simulação de falha de links fazendo captura de pacotes, marque nas capturas dados relevantes que mostram as tecnologias em ação. Utilize printscreens das telas comentando os dados.
- Modifique o arquivo lab.conf dado para a configuração representada abaixo.
- Realize testes de simulação de falha de links fazendo captura de pacotes, marque nas capturas dados relevantes que mostram as tecnologias em ação. Utilize printscreens das telas comentando os dados.
- Explique que vantagens e desvantagens esta estrutura traz, por que poderia ser preferida em alguns casos?
<graphviz> graph 0203 {
r0rot0 [label="roteador 0 [r0rot0]",shape=Mrecord]
r0swi0 [label="switch 0 [r0swi0]",shape=Mrecord]
r0swi1 [label="switch 1 [r0swi1]",shape=Mrecord]
r0swi2 [label="switch 2 [r0swi2]",shape=Mrecord]
r0srv0 [label="servidor 0 [r0srv0]",shape=Mrecord]
r0est0 [label="estacao 0 [r0est0]",shape=Mrecord]
r0est1 [label="estacao 1 [r0est1]",shape=Mrecord]
r0est2 [label="estacao 2 [r0est2]",shape=Mrecord]
r0rot0 -- r0swi0 [label="100,200,150",fontcolor=red,color=red]
r0swi0 -- r0swi1 [label="200,150",fontcolor=red,color=red]
r0swi0 -- r0swi2 [label="100",fontcolor=red,color=red]
r0swi1 -- r0swi2 [label="200,150",fontcolor=red,color=red]
r0swi1 -- r0srv0 [label="150",fontcolor=blue,color=blue]
r0swi2 -- r0est0 [label="200",fontcolor=blue,color=blue]
r0swi2 -- r0est1 [label="100",fontcolor=blue,color=blue]
r0swi2 -- r0est2 [label="100",fontcolor=blue,color=blue]}</graphviz>
Trabalho sobre redes sem-fio (Trabalho curricular)
Este é um trabalho curricular cuja nota será de até 1 ponto adicional na média. Além de ajudar a melhorar o conceito pode ajudar alunos com baixo índice para aprovação.
- Na data final os alunos devem entregar um relatório padrão ABNT (modelo de relatório).
- O relatório deve contemplar parte teórica sobre WLAN (Wireless Local Area Network).
- Introdução as redes wireless
- Histórico de evolução de padrões
- Protocolo de acesso ao meio
- Distância, Obstáculos, Segurança, e outros parâmetros relevantes
- Implemente uma rede doméstica na prática
- Realize uma configuração básica de um roteador wi-fi para uma faixa de ip de sua escolha (configuração básica DHCP)
- Conecte um computador via cabo na interface ethernet e um outro dispositivo via wireless
- Realize testes de comunicação e dump via tcpdump ou wireshark
- Discuta os resultados
Material de aula
Comandos/operações úteis
comando ip
Mostrar as configurações de todas as interfaces de rede ativas ou não
# ip a </syntaxhighlight>
Adicionar um ip a uma interface de rede (modo não persistente)
# ip a add 192.168.0.1/24 dev eth0</syntaxhighlight>
Remover um ip a uma interface de rede
# ip a del 192.168.0.1/24 dev eth0</syntaxhighlight>
Desativando uma interface de rede
# ip link set dev eth0 down</syntaxhighlight>
Ativando uma interface de rede
# ip link set dev eth0 up</syntaxhighlight>
Modificando endereço MAC de uma interface (interface precisa estar desativada)
# ip link set dev eth0 address 00:0c:13:45:5b:b6</syntaxhighlight>
Adicionando rota padrão (pode-se usar 0/0 no lugar de default)
# ip route add default via 192.168.0.254</syntaxhighlight>
Adicionando rota estática para uma determinada sub-rede
# ip route add 10.0.0.0/24 via 192.168.0.254 dev eth0</syntaxhighlight>
comando para verificar configurações das interfaces de rede
Usando comando ip
# ip a</syntaxhighlight>
Usando ifconfig
# ifconfig</syntaxhighlight>
Usando nmcli (controlador do networkmanager)
# nmcli device show</syntaxhighlight>
Habilitar/desabilitar/reiniciar interfaces
Comandos ifdown e ifup
# ifdown eth0 && ifup eth0</syntaxhighlight>
Comando ip
# ip link set dev eth0 down && ip link set dev eth0 up</syntaxhighlight>
Comando networking restart - considerado obsoleto
# service networking restart</syntaxhighlight>
Comando network restart
# /etc/init.d/network restart</syntaxhighlight>
Pelo comando ifconfig
# ifconfig eth0 down && ifconfig eth0 up</syntaxhighlight>
Configuração estática persistente
Para tornar as configurações de rede persistentes, ou seja, manter as configurações mesmo se a máquina for reiniciada deve-se editar o arquivo /etc/network/interfaces conforme exemplo abaixo (após editar deve-se reiniciar a interface):
auto eth0
iface eth0 inet static
network 191.36.8.32
address 191.36.8.36
gateway 191.36.8.62
broadcast 191.36.8.63
netmask 255.255.255.224
dns-nameservers 191.36.8.2
dns-nameservers 191.36.8.3</syntaxhighlight>
Ferramentas / utilitários
Calculado de endereçamento (rede, ip, mascara, broadcast)
# ipcalc 191.36.8.36/27</syntaxhighlight>
Material suplementar