PPP over Ethernet (PPPOE)


You are working for a small company as a network engineer and currently you are still using a dial-up modem for Internet access.  The company will upgrade the Internet access to a DSL connection and your service provider promised they will send you a Cisco 800 series router so you can configure it already for PPPoE. The problem is you never configured PPPoE before so it’s time to upgrade your skills!


  • Do not configure any IP address on the Fast Ethernet interfaces.
  • Router Artemis will be the PPPoE server (to emulate the service provider)
  • Configure a DHCP pool on Router Artemis for the PPP connection, use the subnet.
  • Configure Router Artemis as a PPPoE server using the DHCP pool you just created. Use a Virtual-Template and configure the IP address on this router.
  • Router Poseidon should get IP address from the PPPoE server.
  • Configure Router Poseidon as the PPPoE Client.
  • Your end result should be a working PPPoE session and Router Poseidon should get an IP address from DHCP.
  • When your PPPoE connection is working, configure CHAP authentication:
    Username: Poseidon
    Password: VAULT
  • Optional: Configure Router Artemis so PPPoE clients cannot initiate more than 5 sessions within 1 minute for 10 minutes.




PPP over Ethernet PPPOE

Video Solution:

Configuration Files

You need to register to download the GNS3 topology file. (Registration is free!)

Once you are logged in you will find the configuration files right here.

Opt In Image
Do you want your CCNA or CCNP Certificate?

The How to Master series helps you to understand complex topics like spanning-tree, VLANs, trunks, OSPF, EIGRP, BGP and more.

Written by René Molenaar - CCIE #41726

You May Also Like

About the Author: Rene Molenaar

René - CCIE #41726 is the creator of GNS3Vault.com where he shares CCNA, CCNP and CCIE R&S labs. He also blogs about networking on http://networklessons.com


  1. i am newuser for using gns3. from where i get the configuration commands for the labs.

  2. Hello Hamed,

    At this moment there are only labs available. The commands are for you to learn and find out 😉

    In the future i’ll be adding videos, for an example see the “Basic MPLS Lab”.

    Kind Regards,


  3. Hi, I couldn’t find exact solution for last requirement. Could you give some solution video or something like that?

  4. Hello Dear

    First of all, thanks for nice video….but there is no audio in last half of the tutorial… >:(
    Please sir if you may fix it…
    Thanks in advance

  5. Thanks you… Waiting;D ………….Appreciate.. please ignore my perversion ANGRY symbol… I just saw, I am Apology .. I actually put sad it was just wrong click Once again forgive me..

  6. Thanks you… Waiting;D ………….Appreciate.. please ignore my perversion ANGRY symbol… I just saw, accept my Apologies.. I actually put “Sad”:( , it was just wrong click Once again forgive me..

  7. No worries Sabby, I don’t feel offended ;D I’ll have to see if I have the original video with audio or I’ll have to re-record it. Meanwhile the final configuration will be helpful to you though.

  8. Thank you for the excellent tutorial!

    I’ve had no trouble getting this to work perfectly with the IOS that you listed in the article; however, when I try to setup this same configuration in GNS3 using IOS 15, the connection flaps… It does connect correctly at first, but every few minutes the PPPoE connection is terminated by the server with the error "Missed 5 keepalives, taking LCP down." I’ve checked using Wireshark and no packets are lost–the server receives a response from the client for each keepalive. Any idea on what may be the cause of this?

    I think this may be unrelated, but during authentication, the client side issues the following two lines in the debug: "Sent CHAP SENDAUTH Request" & "Received SENDAUTH Response FAIL." Again, I do not think that this is related, but it is the only difference I can find in the debug between the two IOS versions…

    Any help is appreciated!!

    1. Upon closer inspection, it seems to be a problem with the Dynamips-Community emulator… It looks like every so often, the PPP keepalives are being malformed (as shown in Wireshark). This happens in the 12.4 IOS in GNS3 as well, but it doesn’t happen as often so the PPP session is able to stay up. In IOS 15, it happens so often that the connection consistently falls and is reestablished over and over again.

      In the meantime, I’ll look into setting a higher keepalive threshold. Hopefully this can somehow be fixed in a future version of Dynamips-Community… 🙁

      1. Okay–here’s the workaround: by default PPP keepalives are sent from both the server and client side. For some reason, the emulator sometimes creates malformed PPP echo-replies from the client-side. Again, this seems to happen more often in IOS 15 than IOS 12 for some reason…

        Just disable keepalives on the server side ( “no keepalive” ) and this should stop the PPPoE flapping.

        I hope this saves someone else troubleshooting time down the line!!

  9. Hello Rene, I’ve just been following your excellent tut here for PPP over Ethernet (PPPOE), but I’m finding that at around 5:16 the audio seems to stop working.

    Brilliant tutorials by the way Rene, your instructions are always really clear and easy to follow and you make learning this a really enjoyable experience.



  10. Is it possible to do multilink with several ethernet connections between 2 routers? or only with serial connections?


Comments are closed.