Trabalho 1 - Encaminhamento estático
Objectivo
Implementar a seguinte rede:

Informações úteis:
Ver aqui como fazer backup de configurações
dos routers Cisco de forma simples.
Notas:
- Os PCs a utilizar como Term1, Term2 e RLin devem ser escolhidos com base
no número de interfaces de rede disponíveis.
- Todas as rotas estabelecidas serão rotas estáticas.
- O terminal 2 (Term2) não faz routing apesar de ter 2
interfaces de rede.
- Note que não necessita do RCis1 para o trabalho,
dado que a sua ausência é um requisito. Deve, no entanto, configurar
todas as outras máquinas como se este existisse.
- As rotas no Term1:
- por defeito é RLin
- para rede 192.180.40.0/24 é o RCis1
- A rota por defeito de Term2 é RCis2
- RLin e RCis2 sem rota por defeito
- Em Term2 deve pôr o parâmetro
arp_announce
com o valor 1 (ver esta
página).
- Para que as capturas de
traceroute
sejam mais fáceis
de interpretar, use a opção -N
desse comando:
traceroute -n -N 1 <ipaddr>
Entregáveis
Cada grupo deve entregar um arquivo zip com o seguinte conteúdo:
- dump da
configuração inicial do router cisco, devidamente identificada.
Ou seja os resultados de:
show running-config
(em texto)
show ip int brief
(em texto)
show ip route
(em texto)
- dump da
configuração inicial das máquinas linux (router e
terminais) devidamente identificadas
- rotas (
route -n
)
- configuração IP (
ifconfig
)
- Um relatório em formato PDF contendo
- respostas às questões indicadas abaixo (a necessidade
de resposta textual é indicada com texRes)
Não são aceitáveis
respostas iguais em diferentes grupos. Os trabalhos são para ser
feitos exclusivamente pelos elementos do grupo.
- comandos ou fragmentos de ficheiros de configuração pedidos nas
questões indicadas como confRes
- output de comandos como o
ping
ou o
traceroute
nas questões indicadas como
outRes (em texto com fonte de tamanho fixo, para melhor
visibilidade)
- screenshots com o
resultado da captura de pacotes nas questões indicadas
como capRes; salvo indicação explícita, as capturas são
feitas com o
wireshark
- deverão ser claramente
visíveis todos os campos relevantes dos pacotes
- deve haver sempre uma indicação clara de que pacotes
(entre os capturados) são relevantes para a questão, ou
então usado um filtro para mostrar apenas esses.
Nota: em qualquer dump ou captura deve indicar sempre o comando;
nas capturas deve indicar sempre os filtros que eventualmente tenha
utilizado.
Questões/Traces/Análise
IMPORTANTE: Antes de começar a
responder às questões, veja a
nota sobre este
trabalho disponibilizada no Fórum Notícias no Moodle da disciplina.
- Connectividade:
- Faça
traceroute
do Term2 para cada uma das
interfaces do RLin.(outRes)
- Faça
traceroute
do Term1 para cada uma das
interfaces do Term2 nas seguintes condições:
- RCis2 sem rota para a rede 170.2.0.0/16 (outRes)
- RCis2 com rota para a rede 170.2.0.0/16 através de RCis1
(outRes); indique também o comando usado para criar a
rota (confRes)
- RCis2 com rota para a rede 170.2.0.0/16 através de RLin
(outRes)
- Explique o que se passa em cada um dos casos na alínea anterior.
(texRes)
- Tendo em conta as duas alíneas anteriores, identifique condições
genéricas que tornam vantajoso o uso de encaminhamento dinâmico
numa rede. Justifique.
(texRes)
- Faça um
traceroute
do Term2 para o Term1 nas
três condições citadas na alínea b.
(outRes)
- Tendo em conta os resultados da alínea anterior, seria útil ter
encaminhamento dinâmico nos routers para conseguir resposta ao traceroute?
Justifique.(texRes)
- Em RCis2, coloque a rota para a rede 170.2.0.0/16 através de RLin.
- No terminal 2, ponha o
wireshark
a fazer uma captura
na interface cujo IP é 192.180.40.44;
faça traceroute
desse terminal para um endereço IP
da rede 170.2.0.0/16 ao qual não corresponda nenhuma máquina.
Repita o traceroute
(a saída deve ser diferente; caso seja
igual, repita os dois traceroutes com outro endereço IP). (outRes + capRes)
NOTA: se mesmo
experimentando com outro endereço IP a saída continuar a ser igual,
faça sysctl -w net.ipv4.conf.all.accept_redirects=1
no
Term2 e tente novamente.
- Por que razão é diferente a saída do
traceroute
?
(texRes)
- ARP. Coloque o
wireshark
a correr no
term2. Faça ping -c 1 192.180.40.55
.
- Capture o resultado do ping. (capRes)
- Comente os pacotes ARP e ICMP capturados na alínea anterior,
usando-os para explicar o funcionamento do protocolo ARP
(incluindo timeouts e retransmissões).
(texRes)
- No terminal 1 faça uma captura definindo filtros para 'apanhar'
apenas pacotes TCP, com a flag PUSH activa e com um comprimento
do pacote IP menor que 128 bytes. Faça
ssh
para a interface
192.180.30.44 do terminal 2.
NOTAS:
Pode testar os filtros usando, na shell da máquina remota,
a='#'; while true; do echo $a; sleep 1; a=$a'#'; done
Se não conseguir fazer ssh (“connection refused”), vá
ao Term2 e corra o seguinte comando como root:
systemctl start sshd.service
- Utilize o
tcpdump
e indique o filtro usado.
(confRes + capRes)
- Utilize o
wireshark
com filtro de visualização
e indique o filtro usado.
(confRes + capRes)
- Como se pode calcular o tamanho do campo de dados no pacote IP?
(texRes)