Exercício 6 - Protocolos de tunelamento (L2 over L3) GRE, VxLAN e stack network (virtual router).
Critérios para entrega do exercício
- Este exercício é em dupla ou individual.
- A resolução do exercício deve ser enviada em um arquivo .pdf + captura do wireshark em um arquivo ZIP ou TAR para william@ic.unicamp.br até o dia 17/11/2019. O nome do arquivo deve ser "raXXXXXX_e_raYYYYYY_exercicio6", onde XXXXXX e YYYYYY deve ser substituído pelo número do RA dos membros da dupla;
- O material a ser entregue no arquivo será referente aos passos deste laboratório.
- O assunto da mensagem deve ser "[MC833] Exercício 6".
Atividade
Passos:
Vamos utilizar a instância vm-netlabs e vm2-netlabs como "host" para o sistema de virtualização. Para iniciar o "host" digite em um terminal o seguinte comando:
vm-netlabs
e
vm2-netlabs
em outro terminal.
OBS: Todos os passos a seguir serão executado a partir da vm-netlabs e vm2-netlabs.
-
L2 sobre L3: (executar nos dois host) vm-netlabs e vm2-netlabs
Abra um terminal e digite sudo -i
para ter privilegios de administrador no ambiente.
Pare o firewall dos host
iptables -F
Habilite o modulo gre no seu Linux:
modprobe gre ; modprobe ip_gre
Crie uma interface gre interligando o host vm-netlabs e vm2-netlabs (lembre-se de trocar o ip do comando abaixo):
ip link add testgre type gretap remote 192.168.122.42 local 192.168.122.187 ttl 255
ifconfig testgre up
Crie uma bridge-linux e inclua a interface gre na bridge
brctl addbr br0 ; brctl addif br0 testgre
Adicione um ip na bridge: (não esqueça de alterar o ip em um dos lados
ifconfig br0 10.20.30.1/24 up
Teste a conectividade entre o IP da bridge da vm-netlabs e vm2-netlabs:
ping 10.20.30.2
Inicie a captura de pacotes com o wireshark com a interface externa do seu host e utilize o nc para gerar trafego entre os ips da rede da bridge.
Relembrando:
vm-netlabs$ nc -l 9000
e
vm2-netlabs$ echo "teste" | nc 10.20.30.1 9000
Salve a captura e envie junto com o seu relatório e responda:
Na camada Frame do wireshark, que tipo de informação podemos observar diferente de qualquer outro pacote ?
- Inicie uma VM no host 1 - vm-netlabs, utilizando a bridge br0 e uma interface tap. (utilize a atividade 5 para auxiliar)
No host 2 - vm2-netlabs, vamos criar uma nova pilha de rede.
Em um terminal com sudo -i execute os seguintes comando para criar uma para de interface veth:
# ip link add veth0 type veth peer name veth1 ; ifconfig veth1 up ; ifconfig veth0 up
Crie um nova pilha de rede em seu linux:
# ip netns add newstack
Leve uma das interfaces veth para a nova pilha de rede e coloque a outra interface na bridge:
# ip link set veth0 netns newstack
# brctl addif br0 veth1
Vamos iniciar um bash sobre a nova pilha de rede:
# ip netns exec newstack bash
Configure o endereço IP na interface na nova pilha de rede para se comunicar com a VM que esta no host da vm-netlabs.
Demonstre o teste entre a nova pilha de rede e a vm que esta no host vm-netlabs.
-
Descreva o que é necessário para criar duas redes virtualizadas (subredes) com roteamento isolado ? OBS: A sua solução deve levar em conta o crescimento de hosts e de numero de redes. (não é necessario implementar).