MC833A - 2019
Programação de Redes de Computadores

Exercício 6 - Protocolos de tunelamento (L2 over L3) GRE, VxLAN e stack network (virtual router).

Critérios para entrega do exercício
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.
  1. 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 ?

  2. 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.

  3. 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).

Instituto de Computação
Universidade Estadual de Campinas
Av Albert Einstein 1251
13083-852 Campinas, SP - Brazil