cisco router configuration

在路由器上建立VPN服务

为了更加方便安全地连接到家庭局域网,在路由器上配置VPN服务器是一个很好的选择。
本节就介绍一下在思科路由器上建立L2TP协议VPN接入服务的过程。
同样的为了方便说明,设定以下前提条件:

  • 外网ip为 219.107.1.1
  • L2TP的预共享密钥为 "preshared_key"
  • 有一个注册用户,用户名为 "user1", 密码为 "password1"
#启动L2TP协议下的VPN服务
vpdn enable
vpdn-group VPN_L2TP-IPsec
    accept-dialin
    protocol l2tp
    virtual-template 1
    no l2tp tunnel authentication
    exit

#创建用户
username user1 password 0 password1

#设置加密方式
crypto isakmp policy 100
    encr 3des
    authentication pre-share
    group 2
    exit
crypto isakmp key preshared_key address 0.0.0.0
crypto isakmp keepalive 3600
crypto ipsec transform-set TRANS-SET esp-3des esp-sha-hmac 
    mode transport
    exit
crypto dynamic-map DYNAMIC_MAP 10
    set nat demux
    set transform-set TRANS-SET 
    exit
crypto map CRYPTO_MAP 100 ipsec-isakmp dynamic DYNAMIC_MAP 

#创建虚拟端口
interface Virtual-Template1
    ip unnumbered Dialer1
    ip mtu 1280
    ip nat inside
    ip virtual-reassembly in
    peer default ip address pool VPN_POOL_ADDR
    ppp encrypt mppe auto
    ppp authentication ms-chap-v2

#制定VPN客户端的地址池
ip local pool VPN_POOL_ADDR 10.10.10.1 10.10.10.10
ip forward-protocol nd
no ip http server
no ip http secure-server

#允许对VPN数据进行转发
access-list 1 permit 10.10.10.0 0.0.0.255

显然,连接的时候要指定VPN服务器的地址,也是就路由器的外网IP。而我的网络默认给的是动态ip,即每次拨号连接,或者每经过一定时间外网ip地址就可能会发生变化(想要固定IP要另加钱,万恶的资本主义),所以需要借助 DDNS(动态DNS)服务来实时更新域名与ip的绑定。
好在有不少免费的DDNS可以选择,而且可以提供免费的二级域名。但是我还是想有一个自己的域名,而且注册域名也挺便宜的,所以就自己注册了一个.com域名。
关于更新DNS记录,DDNS服务一般都提供了自动更新的API接口,利用这个API再路由器上就能完成自动更新。这里以mydns为例:

  • 自己的域名为hexgleam.com
  • mydns的用户名为 "mydns_user",密码为"mydns_password"
#创建更新任务
ip ddns update method MyDNS
 HTTP
  add http://mydns_user:[email protected]/login.html
 interval maximum 1 0 0 0 
#将更新任务添加到Dialer1
interface Dialer1
    ip ddns update hostname hexgleam.com
    ip ddns update MyDNS

设置完成后就可以使用域名来连接到VPN服务器了。

Ads