O PPP over Ethernet (RFC 2516) é uma especificação que permite a conexão de hosts à Rede do Provedor para acesso a Internet, providenciando conexões ponto-a-ponto, utilizando a Pilha do protocolo PPP sobre o protocolo Ethernet.
O protocolo PPP trabalha com a tecnologia Ethernet para ligar a placa de rede dos usuários ao modem. Desta forma é possível agregarmos a autenticação para a conexão e aquisição de um endereço IP fixo ou dinâmico à máquina do usuário.
Modems DSL são essencialmente simples Bridges Ethernet para conexão com Multiplexadores de Acesso (DSLAMs) da Operadora, oferecendo um túnel PPP sobre Ethernet.
PPPoE em Roteadores MSR
Existem diversas maneiras para a configuração em Roteadores MSR como clientes PPPoE. No exemplo abaixo efetuaremos a configuração básica para simulação do Roteador R1 como cliente PPPoE e R2 como um servidor PPPoE para autenticação utilizando PAP e o fornecimento de endereços por DHCP.
R1: # interface Dialer1 ! Criando a Interface Dialer0 link-protocol ppp ! Habilitando o protocolo PPP ppp pap local-user diego password simple 12345 ! Configurando a autenticação com pap ! usuario "diego" com a senha "12345" ip address ppp-negotiate ! Configurando a negociação IP dinâmica dialer user diego dialer-group 1 dialer bundle 1 ! Configurando o dialer-group 1 e o dialer bundle 1 # interface Ethernet0/1/0 port link-mode route pppoe-client dial-bundle-number 1 ! Vinculando o dialer bundle na interface e0/1/0 # ip route-static 0.0.0.0 0.0.0.0 Dialer1 ! Configurando a rota estática para o Dialer1 #
Comandos Display e Debug
<R1>display pppoe-client session summary PPPoE Client Session: ID Bundle Dialer Intf RemMAC LocMAC State 1 1 1 Eth0/1/0 000fea031100 000feb030f00 PPPUP <R1>display ip interface brief *down: administratively down (s): spoofing Interface Physical Protocol IP Address Description Dialer1 up up 192.168.1.3 Dialer1 I... Ethernet0/1/0 up up unassigned Ethernet0...
! O commando display pppoe-client session mostrará as conexões PPPoE ativas no Roteador incluindo o endereço MAC da outra ponta.
<R1> debugging pppoe-client packet *Sep 25 11:15:31:359 2013 SW1 PPPOEC/7/debugging: Ethernet0/1/0: PPPoE Client OUT Discovery packet (PADI), Len = 30 *Sep 25 11:15:31:374 2013 SW1 PPPOEC/7/debugging: Ethernet0/1/0: PPPoE Client IN Discovery packet (PADO), Len = 49 *Sep 25 11:15:31:390 2013 SW1 PPPOEC/7/debugging: Ethernet0/1/0: PPPoE Client OUT Discovery packet (PADR), Len = 49 %Sep 25 11:15:31:405 2013 SW1 IFNET/3/LINK_UPDOWN: Dialer1:0 link status is UP. *Sep 25 11:15:31:405 2013 SW1 PPPOEC/7/debugging: Ethernet0/1/0: PPPoE Client IN Discovery packet (PADS), Len = 49, Session ID = 1%Sep 25 11:15:33:605 2013 SW1 IFNET/5/LINEPROTO_UPDOWN: Line protocol on the interface Dialer1:0 is UP. %Sep 25 11:15:33:621 2013 SW1 IFNET/5/PROTOCOL_UPDOWN: Protocol PPP IPCP on theinterface Dialer1:0 is UP. %Sep 25 11:15:33:636 2013 SW1 PPPOEC/6/PPPOEC_LOG_ON: PPPoE user diego logged on successfully.
O Debug acima é bastante interessante para entendermos as mensagens de negociação PPPoE .
Durante iniciação da negociação PPPoE o host encaminha uma mensagem PADI (PPPoE Active Discovery Initiation )em Broadcast, quando o Servidor PPPoE ou Concentrador de acesso recebe essa mensagem, ela é respondida com uma mensagem PADO (The PPPoE Active Discovery Offer) contendo informações do Servidor.
Muito similiar as solicitações DHCP, o host poderá receber mais de uma mensagem PADO ( de diversos concentradores). O host responde na seqüência com uma mensagem PADR (PPPoE Active Discovery Request ) em unicast para o Servidor PPPoE escolhido. Se a mensagem PADR for valida, é encaminhada para o host uma mensagem PADS (PPPoE Active Discovery Session-confirmation) para iniciar a sessão PPP.
Obs: Se desejado o fim da sessão PPP é gerado uma mensagem PADT (PPPoE Active Discovery Terminate).
Mais…
Segue abaixo a configuração do Roteador R2, responsável por aceitar e autenticar a conexão de R1.
# local-user diego password simple 12345 service-type ppp ! Configurando o usuario e senha para autenticação # interface Ethernet0/0/0 port link-mode route pppoe-server bind Virtual-Template 1 ! Vinculando a interface virtual-template 1 # interface Virtual-Template1 ppp authentication-mode pap remote address 192.168.1.3 ip address 192.168.1.1 255.255.255.0 ! Habilitando o serviço de autenticação PAP na interface Virtual-Template 1 ! incluindo o IP remoto (nesse caso, poderia ser configurado um servidor DHCP)
Referencias:
http://tools.ietf.org/html/rfc2516
http://babarata.blogspot.com/2010/03/inicio.html
http://fengnet.com/book/VPNs%20Illustrated%20Tunnels%20%20VPNsand%20IPsec/ch04lev1sec3.html
http://blog.ine.com/2010/03/18/bba-group-and-dialer-profiles-with-pppoe/
http://www.rotadefault.com.br/2013/06/26/introducao-ao-pppoe-e-configuracao-basica-em-roteadores-cisco/