phirebird

Configuring a client-to-site VPN through PPTP on a Cisco router

When config’ing up a new Cisco router, turning on the VPN server functionality is a really handy feature to have – but again it’s one of them that you only need once-in-a-while. There are millions of different things that you can tweak – authentication, IP allocation, etc – but I’ll run through how to configure it up for use in a small office enviroment.

First off, you’ll want to make sure that you have VPN server functionality. Again, this is determined by your IOS image. Check your feature set on the Cisco feature navigator:

http://tools.cisco.com/ITDIT/CFN/jsp/index.jsp

Once you’ve done that – on to the configuration. I’ll point out anything that’s worth noting.

Enter configuration mode, set some basic aaa and enable vpdn:

phbrouter#conf t
phbrouter(config)#aaa new-model
phbrouter(config)#aaa authentication ppp default local
phbrouter(config)#aaa authorization network default if-authenticated
phbrouter(config)#vpdn enable
phbrouter(config)#

As mentioned, this is a fairly basic config. You’ll notice that we’re authenticating against the local userlist (which we’ll define later). If you wanted to, you could use RADIUS instead (which is outside the scope of this article! Maybe I’ll cover it some other time!). Next we need to setup a VPDN group, tell it that we accept dialin, define what protocol it should use and which virtual interface template to use for incoming connections (which we’ll do later):

phbrouter(config)#vpdn-group 1
phbrouter(config-vpdn)#accept-dialin
phbrouter(config-vpdn-acc-in)#protocol pptp
phbrouter(config-vpdn-acc-in)#virtual-template 1
phbrouter(config-vpdn-acc-in)#exit
phbrouter(config-vpdn)#exit
phbrouter(config)#

Great! Half way there. The next stage is to create a virtual interface that will be brought up when a user connects. This includes the address allocation and what authentication we want to accept. MS-Chap and MS-Chap v2 is good enough for our purposes:

phbrouter(config)#int Virtual-Template1
phbrouter(config-if)#desc VPN Virtual Interface
phbrouter(config-if)#ip unnumbered FastEthernet0/0
phbrouter(config-if)#peer default ip address pool vpnpool
phbrouter(config-if)#ppp encrypt mppe auto
phbrouter(config-if)#ppp authentication ms-chap ms-chap-v2
phbrouter(config-if)#exit
phbrouter(config)#

You’ll notice that it’ll try to grab an address from a pool (rather creatively) named vpnpool. We’ll define this now – but be sure to change this to a free address range on your network (also big enough to accomodate your number of users):

phbrouter(config)#ip local pool vpnpool 192.168.1.150 192.168.1.160
phbrouter(config)#

The final stage is to define some users. Seeing as we’re going to be using the local userlist, it’s a really good idea to set these users to privilege level 0 (for obvious reasons):

phbrouter(config)#username joebloggs privilege 0 password joebloggsrules
phbrouter(config)#username jackbloggs privilege 0 password brownbear

And you’re finished! You can either use the Cisco VPN Client to connect from remote locations – but I find the in-built Windows ‘Connection Wizard’ is a lot lighter (!) and is more than suffice.

This was done on a router with an existing aaa policy. If I’ve missed anything out – please post your feedback!

 

Are you looking to learn more about Cisco equipment? Well, here’s a selection of a few books that I’ve found useful over the years:


Cisco: A Beginner’s Guide
 
CCNA – Cisco Certified Network Associate Study Guide
 
Cisco Networking for Dummies
 
Cisco IOS in a Nutshell – O’Reilly

 



Comments

13 Responses to “Configuring a client-to-site VPN through PPTP on a Cisco router”
  1. GarykPatton says:

    Hello. I think the article is really interesting. I am even interested in reading more. How soon will you update your blog?

  2. admin says:

    I’m sure thats a compliment really! Updates can be sparse, or fairly common – it all depends what I’m up to. Let me know if you want anything inparticular..

  3. MishaPowerauto says:

    Nice site. go to my favorites. TNx
    http://www.phirebird.net – cool!!!!

  4. SergeyNikolaev says:

    Ya put a smile in my face.

  5. Zashkaser says:

    I’m in love with you, my Adonis.

  6. shands says:

    Nice to hear from fans (!)

  7. dimagromovfoto says:

    Just wanted to say HI. I found your blog a few days ago on Technorati and have been reading it over the past few days.

  8. blondinkaya says:

    Ace site! This one was useful for me – thanks!

  9. ipguy says:

    i keep getting an error when setting up the FastEthernet line

    ip unnumbered FastEthernet0/0
    ^
    % Invalid input detected at ‘^’ marker.

  10. ipguy says:

    that marker point to the /

  11. shands says:

    ipguy: Do you have a FastEthernet0/0 ? (do a: “show interfaces” to find out)

  12. ipguy says:

    shands, no i have a FastEthernet 0
    ..through to 3

Trackbacks

Check out what others are saying about this post...
  1. [...] Looks like it will work with Cisco IOS. I imagine PIXOS8 should have these commands. Configuring a client-to-site VPN through PPTP on a Cisco router : phirebird __________________ [...]



Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

phirebird