PJI3-lab11

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

Objetivos

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

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.


Pji3-Enlace-pppoe-lab.jpg
A rede de acesso ethernet a ser implantada

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 ?

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
    

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