PJI3-lab11

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

1 Objetivos

  1. Implantar uma rede de acesso baseada em links ethernet
  2. Experimentar técnicas de isolamento dos clientes na rede de acesso

2 Roteiro

Neste experimento uma rede de acesso ethernet será disponibilizada para clientes do provedor. Essa rede deve isolar os clientes, de forma que eles consigam se comunicar somente com o roteador do provedor que dá acesso a Internet. Para isso serão usadas as técnicas de VLAN e PPPoE.



A rede de acesso ethernet a ser implantada

2.1 Parte 1: os enlaces PPPoE em uma rede virtual

  1. Usando do Netkit2, carregue este arquivo de configuração e inicie a rede nele descrita.
  2. Uma vez que a rede estiver em execução, investigue as interfaces de rede e rotas nos CPE e no AC. Observe em particular o tipo de interface de rede que os CPE usam para seus link para Internet.
  3. Teste a comunicação entre um CPE e a Internet.
  4. No AC inicie o wireshark para capturar pacotes na interface eth0. Em seguida, repita o teste de comunicação com a Internet a partir de algum CPE.
    1. Observe os quadro capturados pelo wireshark, e compare-os com a estrutura dos quadros PPPoE apresentados em aula.
    2. Veja como os datagramas IP são encapsulados nos quadros PPP.
    3. Observe os endereços MAC contidos nos quadros ethernet capturados, e compare-os com os endereços MAC das interfaces do AC e dos CPE.
  5. Encerre o wireshark no AC
  6. Agora force o término do enlace PPPoE em CPE1, o que pode ser feito assim:
    killall pppd
    
    ... e, em seguida, verifique as interface de rede existentes em CPE1. Algo mudou ?
  7. Teste a comunicação com a Internet a partir de CPE1. Foi possível realizar a comunicação ?
  8. Inicie o wireshark no CPE1, capturando na interface eth0, e depois execute este comando:
    pppd call adsl
    
  9. Verifique os pacotes capturados pelo wireshark. Identifique a sequência de estabelecimento de enlace PPPoE, comparando-a com o que foi mostrado em aula. Além da negociação feita com PPPoE, há uma segunda etapa realizada pelo protocolo PPP (que será estudado algumas aulas à frente).
  10. Conclusão: qual a utilidade de usar enlaces PPPoE ?

2.2 Parte 2: os enlaces PPPoE em equipamentos reais

  1. Implante a rede do cliente, composta por um computador e um CPE. Deve ser usado um roteador TP-Link AC1750 como CPE.
  2. Use um switch TP-Link SG-3210 (o mesmo usado nos experimentos sobre LAN na etapa 1) como equipamento de agregação para a rede de acesso.
  3. Implante o AC PPPoE em uma máquina virtual. Para isso siga estes passos:
    1. Antes de executar a máquina virtual, configure-a com duas interfaces de rede em modo bridge e vinculadas à interface física eth0.
    2. Instale este software servidor PPPoE:
      sudo apt install pppoe
      
    3. No ac, a interface eth1 será usada para os enlaces PPPoE, e a interface eth0 dará acesso à rede externa (LAN do laboratório).
    4. Crie o arquivo /etc/ppp/pppoe-server-options com o seguinte conteúdo:
      require-chap
      noauth
      login
      lcp-echo-interval 10
      lcp-echo-failure 2
      ms-dns 191.36.8.3
      netmask 255.255.255.0
      noipdefault
      debug
      kdebug 4
      
    5. Crie o arquivo /etc/ppp/chap-secrets com o seguinte conteúdo:
      usuario1 * senha1
      
    6. Crie o arquivo /etc/ppp/faixa-ip com o seguinte conteúdo:
      172.18.1.1-100
      
    7. Ative o servidor PPPoE:
      pppoe-server -C pji3 -L 172.18.1.254 -p /etc/ppp/faixa-ip -I eth1
      
  4. Configure o CPE para estabelecer um link PPPoE em sua interface WAN.
  5. Ative Nat no AC pela interface eth0:
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    
  6. Habilite o encaminhamento IP no AC:
    sudo sysctl -w net.ipv4.ip_forward=1
    
    Obs: você pode editar /etc/sysctl.conf para que isso fique permanente !
  7. Teste a comunicação do computador com a Internet.
  8. Teste a comunicação do computador com os outros CPE;
  9. Estenda a rede para que um CPE sem-fio tenha seu enlace WAN estabelecido com PPPoE.


Tornando o PC um cliente PPPoE

  1. No pc deve-se criar o arquivo /etc/ppp/peers/pji3 com este conteúdo:
    pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452 -C pji3"
    noipdefault
    usepeerdns
    defaultroute
    hide-password
    lcp-echo-interval 20
    lcp-echo-failure 3
    connect /bin/true
    noauth
    persist
    mtu 1492
    noaccomp
    user usuario1
    default-asyncmap
    
  2. Crie no pc o arquivo /etc/ppp/chap-secrets com este conteúdo:
    usuario1 * senha1
    
  3. Em pc ative o enlace PPPoE, executando:
    pppd call pji3
    

2.3 Parte 3: o isolamento dos clientes

Mesmo com os enlaces PPPoE, é possível que um cliente envie pacotes para outro, pois o switch de agregação faz com que os clientes estejam em uma mesma LAN. Isso deve ser impedido, pois cada cliente deve poder se comunicar somente com o AC.

  1. Investigue no manual do switch se há alguma forma de isolar o tráfego das portas, de forma que apenas uma das portas (aquela onde se conecta o AC) consiga se comunicar com as demais. Dica: veja na seção sobre VLANs.
  2. Implante o isolamento dos clientes, e teste-o tentando fazer a comunicação direta entre CPEs (ou computadores no lugar dos CPE).
Gambiarra no Linux para agregar as VLANs
  1. Crie uma interface do tipo VLAN para cada VLAN de cliente (vid_num):
    sudo vconfig add eth1 vid_num
    sudo ifconfig eth1.vid_num up
    
  2. Crie uma interface do tipo bridge, que servirá para agregar os tráfegos das interfaces VLAN:
    sudo brctl addbr br0
    # execute a linha abaixo para cada uma das interfaces VLAN
    sudo brctl addif br0 eth1.vid_num
    sudo ifconfig br0 up
    
  3. Bloqueie a comutação de quadros entre as interfaces VLAN na bridge Linux. Com isso, cada cliente conseguirá se comunicar somente com o AC:
    ebtables -P FORWARD DROP
    
  4. Execute o pppoe-server para receber as requisições na interface br0:
    pppoe-server -C pji3 -L 172.18.1.254 -p /etc/ppp/faixa-ip -I br0