Cisco Switch: 802.1q Trunk to Router (a.k.a. Router-on-a-Stick)

You can connect a Cisco switch and router via 802.1q trunking. This configuration is known as a router-on-a-stick.

First, let us start with the switch. VLAN 1 exists by default, so we will add a couple of other VLANs:

vlan 100
name data
state active

vlan 200
name data
state active

Now, we will configure the switchport to connect to the router:
interface fastethernet 1/0/1
switchport trunk encapsulation dot1q
switchport mode trunk

Now, we will move to the router.

interface fastethernet 0/0
no ip address

interface fastethernet 0/0.1
encapsulation dot1q 1 native

interface fastethernet 0/0.100
encapsulation dot1q 100
ip address

interface fastethernet 0/0.200
encapsulation dot1q 200
ip address

At this point, workstations on VLAN 100 should be able to ping the address, and workstations on VLAN 200 should be able to ping the address.

If, for some reason, the native VLAN on the switchport is something other than one (1), change the encapsulation statement on the router, or the trunk may not form.

The Conversation

Follow the reactions below and share your own thoughts.

19 Responses to “Cisco Switch: 802.1q Trunk to Router (a.k.a. Router-on-a-Stick)”

  1. December 14, 2008 at 10:52 pm, Haitham said:

    Hello, I wonder how to create a 802.1q interface in cisco 2600 router with ios ver c2600-i-mz_122-1?
    it has one interface Ethernet 0/0
    but I searched about encapsulation .1q commands and couldn’t find it.
    So i need your advice.
    Best Regards


    • January 15, 2009 at 12:50 am, vtwin said:

      You need fastEthernet interface.


    • January 19, 2009 at 8:55 am, Dominusanubis said:

      You have the wrong IOS, go to Cisco’s site and download this IOS….



      • January 19, 2009 at 8:56 am, Dominusanubis said:

        And no, you dont need a Fast Ethernet interface to do encapsulation.


        • June 20, 2009 at 12:35 am, felix said:

          You do need FastEthernet interface. You cannot create a sub-interfaces from a regular Ethernet interface. So, you cannot use a router that doesn’t have a fastethernet interface in a router on a stick configuration


    • April 06, 2009 at 8:37 pm, Bob said:

      try using ISL as the encapsulation. And if the router has a AUX port you can get a dongle that will turn it into a ethernet/fast ethernet port


  2. March 01, 2009 at 2:24 am, felix said:

    its usuall not a good idea to use vlan 1 as your management vlan for security reasons.

    make sure to trunk the interface directly conecting the switch to the router.


  3. June 30, 2009 at 3:22 pm, toni said:

    veryyyyyyyyyyyyyy good help


  4. July 10, 2009 at 9:39 pm, Tony said:

    Dude! Simplest explanation of VLAN and TRUNK’ing I have ever seen. Sweeeeet!


  5. April 22, 2010 at 5:04 pm, Anonymous said:

    good work, keep it up.


  6. July 08, 2010 at 5:41 pm, Ace said:

    omg :0

    Ive totally forgot encapsulation dot1q 1 native in sub



  7. September 28, 2010 at 8:58 am, Axiz said:

    how about routing vlan 100 to vlan 200 what would be the config?


  8. October 03, 2010 at 8:07 am, Hhaa111 said:

    I tried creating sub-interface on a regular ethernet interface and it does allow you to create.

    Interface IP-Address OK? Method Status Protocol
    Ethernet0/0 YES manual up up
    Ethernet0/0.1 unassigned YES unset up up
    Serial0/0 YES manual up up


  9. July 29, 2011 at 9:52 pm, Markjunky said:

    They are rotued on the router … ‘show ip route’ on the router should show the two routes as connected. Hence, hosts on VLAN 100 should point to as their gateway to VLAN 200, and hosts on VLAN 200 should point to as their gateway to VLAN 100.


  10. January 10, 2012 at 8:42 am, simone1 said:

    Is there a limit to amount of sub interfaces which can be created on one router fastethernet interface


  11. March 28, 2012 at 11:35 pm, majid omidi said:

    how about routing vlan 100 to vlan 200 what would be the config?
    how station see another?


  12. April 26, 2012 at 4:31 pm, Adam Stauffer said:

    Thanks, I was missing the native arguement on my router subif config and the trunk from the switch would not come up cause i was using something other than VLAN ID 1. :)


  13. June 08, 2012 at 11:09 am, Vishal P. Bulbule said:

    Veryyyyyyyyyyy Gooooooooood. Thanks for help.


  14. November 21, 2012 at 6:31 pm, Vic said:

    I tried this configuration using a Cisco 3750 switch that has 3750-ipbasek9-mz 122-25. SEE4.bin and a Cisco 2600 -D-M running 12.2(7). The trunk comes up but I am unable to ping the ip address for the respectives vlan on the 2600.


Leave a Reply