Trabalho 1 - Encaminhamento estático
Objectivo
No emulador de rede GNS3 dentro da
VM
a correr no
sistema de virtualização
deve configurar a rede da seguinte figura segundo as indicações dadas
abaixo:

- Faça download do
ficheiro com o
projecto
, guarde-o no directório
~ar/GNS3/projects/trab1
, e depois abra-o no GNS3.
- O terminal 2 (Term2) não faz routing apesar de ter 2
interfaces de rede.
- Todas as rotas estabelecidas serão rotas estáticas.
- RCis1 deve ter uma rota para 192.180.40.0/24 através de RCis2
- RCis2 deve ter uma rota para 170.2.0.0/16 através de RCis1
- As rotas no Term1 são as seguintes:
- padrão (default) através de RLin
- para 192.180.40.0/24 através de RCis1
- A rota-padrão de Term2 é através de RCis2
- RLin e RCis2 sem rota-padrão
- RCis1 estará inicialmente ligado, mas depois será desligado para
simular uma avaria
Notas
- No GNS3, por vezes as capturas deixam de mostrar novos pacotes. Se isto
acontecer, basta fechar o wireshark (sem gravar), clicar com o botão
direito do rato na ligação em que decorre a captura, e seleccionar
Start Wireshark.
- As interfaces de rede das máquinas Linux,
ens3
,
ens4
e ens5
, aparecem no GNS3 como
Ethernet0
, Ethernet1
e Ethernet2
,
respectivamente
- Devido a um
bug do NetworkManager, as rotas-padrão têm que ser configuradas
usando o parâmetro
GATEWAY=
no ficheiro de configuração da
interface de saída. As
restantes são configuradas no
/etc/sysconfig/network-scripts/route-itf
, onde
itf
é a interface de saída.
- Para que as capturas de
traceroute
sejam mais fáceis
de interpretar, use a opção -N
desse comando:
traceroute -n -N 1 <ipaddr>
Questões/Traces/Análise
- 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)
- Desligue agora o RCis1 para simular que avariou e repita a alínea
anterior.
NOTA:
RCis1 deverá permanecer desligado para o resto do trabalho.
- 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 indicadas 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.
- Inicie uma captura na ligação de Term2 à sub-rede 192.180.40.0/24;
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)
- Por que razão é diferente a saída do
traceroute
?
(texRes)
- ARP.
Inicie uma captura na ligação de Term2 ao switch da sub-rede
192.180.40.0/24.
- Faça
ping -c 1 192.180.40.55
e capture o resultado do
ping. (capRes)
- Repita a alínea anterior para o endereço 192.180.40.3
- Comente os pacotes ARP e ICMP capturados nas alíneas anteriores,
usando-os para explicar o funcionamento do protocolo ARP
(incluindo timeouts e retransmissões).
(texRes)
- Faça as capturas indicadas nas alíneas seguintes
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
do terminal 1 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
no
Term2, capturando em todas as interfaces
(tcpdump -l -n -i any filtro)
e indique o filtro usado.
(confRes + capRes)
- Utilize o
wireshark
com filtro de visualização
(captura na ligação de Term1 à rede)
e indique o filtro usado.
(confRes + capRes)
- Como se pode calcular o tamanho do campo de dados no pacote IP?
(texRes)