环境:Windows XP 、Packet Tracert 5.3
目的:基本掌握配置VPN。
说明:
虚拟专用网(vpn)被定义为通过一个公用网络建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。VPN可以通过特殊的加密的通讯协议在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,使用这条隧道可以对数据进行几倍加密达到安全使用互联网的目的。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。VPN可以提供的功能:防火墙功能、认证、加密、隧道化
实验A、(远程接入式VPN)
配置R1路由器:
Router>en
Router#conf t
Router(config)#host R1
R1(config)#int fa0/0
R1(config-if)#ip add 192.168.1.254 255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#int s0/0/0
R1(config-if)#ip add 12.1.1.1 255.255.255.0
R1(config-if)#ip nat outside
R1(config-if)#no sh
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 //创建一条标准式访问列表
R1(config)#ip nat inside source list 1 interface s0/0/0 overload //配置超载NAT,让内网用户访问外网
R1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2 //配置静态路由
配置Internet路由器:
Router>en
Router#conf t
Router(config)#host Internet
Internet(config)#int s0/0/0
Internet(config-if)#ip add 12.1.1.2 255.255.255.0
Internet(config-if)#clock rate 64000
Internet(config-if)#no sh
Internet(config-if)#exit
Internet(config)#int s0/0/1
Internet(config-if)#ip add 23.1.1.1 255.255.255.0
Internet(config-if)#clock rate 64000
Internet(config-if)#no sh
配置公司路由器:
Router>en
Router#conf t
Router(config)#host Company
Company(config)#int fa0/0
Company(config-if)#ip add 192.168.0.254 255.255.255.0
Company(config-if)#no sh
Company(config-if)#exit
Company(config)#int s0/0/1
Company(config-if)#ip add 23.1.1.2 255.255.255.0
Company(config-if)#no sh
Company(config)#ip route 0.0.0.0 0.0.0.0 23.1.1.1
Company(config)#username kkfloat password 123 //创建一个VPN的拨入用户
Company(config)#ip local pool vclient 172.16.0.1 172.16.0.254 //创建一个为拨入用户分发的IP地址池
Company(config)#aaa new-model //开启AAA服务
Company(config)#aaa authentication login vpn-a local//创建vpn-a本地登录认证事件
Company(config)#aaa authorization network vpn-n local //创建授权网络vpn-n事件
Company(config)#crypto isakmp policy 10 //创建密钥交换策略名为10
Company(config-isakmp)#hash md5 //配置使用哈希算法
Company(config-isakmp)#authentication pre-share //配置使用预共享密钥方式
Company(config-isakmp)#group 2 //使用1024位加密
Company(config-isakmp)#exit //退出策略配置
Company(config)#crypto isakmp client configuration group vpn-group //创建一个VPN用户拨入组vpn-group
Company(config-isakmp-group)#key [email protected] //配置vpn-group组的密钥
Company(config-isakmp-group)#pool vclient //指定为vpn-group组分配的IP地址池
Company(config-isakmp-group)#exit //退出用户组
Company(config)#crypto ipsec transform-set kkfloatset esp-3des esp-md5-hmac //创建加密转换集kkfloatset
Company(config)#crypto dynamic-map vpnmap 10 //配置动态映射图名为10
Company(config-crypto-map)#set transform-set kkfloatset //动态映射图中应用加密转换集kkfloatset
Company(config-crypto-map)#reverse-route //路由注入
Company(config-crypto-map)#exit //退出动态映射
Company(config)#crypto map company client authentication list vpn-a //配置静态映射图company验证调用vpn-a
Company(config)#crypto map company isakmp authorization list vpn-n //配置静态映射图company授权使用vpn-n
Company(config)#crypto map company client configuration address respond //配置静态映射图company为客户端分配地址
Company(config)#crypto map company 10 ipsec-isakmp dynamic vpnmap //配置静态映射图与动态映射图转换
Company(config)#int s0/0/1 //进入s0/0/1接口
Company(config-if)#crypto map company //把company 绑定到接口
Company(config-if)#end
配置Clinet 电脑进行VPN拨号,并点击“connect”:
实验B、(站点对站点式VPN)
配置VPN1
Router>en
Router#conf t
Router(config)#host VPN1
VPN1 (config)#int fa0/0
VPN1(config-if)#ip add 192.168.1.254 255.255.255.0
VPN1 (config-if)#no sh
VPN1 (config-if)#exit
VPN1 (config)#int s0/0/0
VPN1(config-if)#ip add 12.1.1.1 255.255.255.0
VPN1 (config-if)#no sh
VPN1(config-if)#exit
VPN1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2
VPN1 (config)#crypto isakmp policy 10
VPN1 (config-isakmp)#authentication pre-share
VPN1 (config-isakmp)#hash md5
VPN1 (config-isakmp)#group 2
VPN1 (config-isakmp)#encryption 3des //配置使用3des进行加密
VPN1 (config-isakmp)#exit
VPN1(config)#crypto isakmp key kkfloat address 23.1.1.2 //配置使用共享密钥的对方地址
VPN1(config)#crypto ipsec transform-set kkfloatset esp-3des esp-sha-hmac
VPN1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 //创建访问控制列表,允许本地对远端的访问
VPN1(config)#crypto map vpnmap 10 ipsec-isakmp
VPN1(config-crypto-map)#match address 100 //应用访问控制列表
VPN1(config-crypto-map)#set transform-set kkfloatset
VPN1(config-crypto-map)#set peer 23.1.1.2 //配置对端站点的地址
VPN1(config-crypto-map)#exit
VPN1(config)#int s0/0/0
VPN1(config-if)#crypto map vpnmap
VPN1 (config-if)#end
配置Internet路由器:
Router>en
Router#conf t
Router(config)#host Internet
Internet(config)#int s0/0/0
Internet(config-if)#ip add 12.1.1.2 255.255.255.0
Internet(config-if)#no sh
Internet(config-if)#clock rate 64000
Internet(config-if)#no sh
Internet(config-if)#exit
Internet(config)#int s0/0/1
Internet(config-if)#ip add 23.1.1.1 255.255.255.0
Internet(config-if)#clock rate 64000
Internet(config-if)#no sh
配置VPN2:
VPN2>en
Router#conf t
Router(config)#host VPN2
VPN2 (config)#int fa0/0
VPN2 (config-if)#ip add 192.168.2.254 255.255.255.0
VPN2 (config-if)#no sh
VPN2 (config-if)#exit
VPN2 (config)#int s0/0/1
VPN2 (config-if)#ip add 23.1.1.2 255.255.255.0
VPN2 (config-if)#no sh
VPN2 (config-if)#exit
VPN2(config)#ip route 0.0.0.0 0.0.0.0 23.1.1.1
VPN2 (config)#crypto isakmp policy 10
VPN2 (config-isakmp)#authentication pre-share
VPN2 (config-isakmp)#hash md5
VPN2 (config-isakmp)#group 2
VPN2 (config-isakmp)#encryption 3des
VPN2 (config-isakmp)#exit
VPN2 (config)#crypto isakmp key kkfloat address 12.1.1.1
VPN2 (config)#crypto ipsec transform-set kkfloatset esp-3des esp-sha-hmac
VPN2 (config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
VPN2 (config)#crypto map vpnmap 10 ipsec-isakmp
VPN2 (config-crypto-map)#match address 100
VPN2 (config-crypto-map)#set transform-set kkfloatset
VPN2 (config-crypto-map)#set peer 12.1.1.1
VPN2 (config-crypto-map)#exit
VPN2 (config)#int s0/0/1
VPN2 (config-if)#crypto map vpnmap
VPN2 (config-if)#end
测试VPN网络:
实验C、(站点对站点及远程接入式混合VPN,用AAA服务器进行用户身份验证)
首先配置AAA服务器:创建需要认证的客户端,同时创建外出用户VPN账号
配置总部路由器:
Router>en
Router#conf t
Router(config)#host Company
Company (config)#int fa0/1
Company (config-if)#ip add 192.168.1.254 255.255.255.0
Company (config-if)#no sh
Company (config-if)#exit
Company (config)#int s0/0/0
Company (config-if)#ip add 1.1.1.1 255.255.255.0
Company (config-if)#no sh
Company (config-if)#exit
Company (config)#ip rou 0.0.0.0 0.0.0.0 1.1.1.2
Company (config)#ip local pool vclient 172.16.0.1 172.16.0.254
Company(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Company(config)#aaa new-model
Company(config)#aaa authentication login vpna group radius
Company(config)#aaa authorization network vpnn group radius
Company(config)#radius-server host 192.168.1.1 auth-port 1645 key kkfloat
Company(config)#crypto isakmp policy 1
Company(config-isakmp)#encry 3des
Company(config-isakmp)#authentication pre-share
Company(config-isakmp)#group 2
Company(config-isakmp)#exit
Company(config)#crypto isakmp policy 10
Company(config-isakmp)#hash md5
Company(config-isakmp)#authentication pre-share
Company(config-isakmp)#exit
Company(config)#crypto isakmp key kkfloat address 2.1.1.1
Company(config)#crypto isakmp client configuration group vpn-group
Company(config-isakmp-group)#key kkfloat
Company(config-isakmp-group)#pool vclient
Company(config-isakmp-group)#exit
Company(config)#crypto ipsec transform-set kkfloatset esp-3des esp-md5-hmac
Company(config)#crypto dynamic-map vpnmap 10
Company(config-crypto-map)#set transform-set kkfloatset
Company(config-crypto-map)# reverse-route
Company(config-crypto-map)#exit
Company(config)#crypto map company client authentication list vpna
Company(config)#crypto map company isakmp authorization list vpnn
Company(config)#crypto map company client configuration address respond
Company(config)#crypto map company 1 ipsec-isakmp
Company(config-crypto-map)#set peer 2.1.1.1
Company(config-crypto-map)#set transform-set kkfloatset
Company(config-crypto-map)#match address 100
Company(config-crypto-map)#exit
Company(config)#crypto map company 10 ipsec-isakmp dynamic vpnmap
Company(config)#int s0/0/0
Company(config-if)#crypto map company
Company(config-if)#end
配置Internet路由器:
Router>en
Router#conf t
Router(config)#host Internet
Internet(config)#int s0/0/0
Internet(config-if)#ip add 1.1.1.2 255.255.255.0
Internet(config-if)#clock rate 64000
Internet(config-if)#no sh
Internet(config-if)#exit
Internet(config)#int s0/0/1
Internet(config-if)#ip add 2.1.1.2 255.255.255.0
Internet(config-if)#clock rate 64000
Internet(config-if)#no sh
Internet(config-if)#exit
Internet(config)#int s0/2/0
Internet(config-if)#ip add 3.1.1.2 255.255.255.0
Internet(config-if)#clock rate 64000
Internet(config-if)#no sh
Internet(config-if)#exit
配置分公司路由器:
Router>en
Router#conf t
Router(config)#host Branch
Branch(config)#int fa0/1
Branch(config-if)#ip add 192.168.2.254 255.255.255.0
Branch(config-if)#no sh
Branch(config-if)#exit
Branch(config)#int s0/0/0
Branch(config-if)#ip add 2.1.1.1 255.255.255.0
Branch(config-if)#no sh
Branch(config-if)#exit
Branch(config)#ip route 0.0.0.0 0.0.0.0 2.1.1.2
Branch(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
Branch(config)#crypto isakmp policy 10
Branch(config-isakmp)#hash md5
Branch(config-isakmp)#authentication pre-share
Branch(config-isakmp)#exit
Branch(config)#crypto isakmp key kkfloat address 1.1.1.1
Branch(config)#crypto ipsec transform-set kkfloatset esp-3des esp-md5-hmac
Branch(config)#crypto map vpnmap 10 ipsec-isakmp
Branch(config-crypto-map)#set peer 1.1.1.1
Branch(config-crypto-map)#set transform-set kkfloatset
Branch(config-crypto-map)#match address 100
Branch(config-crypto-map)#exit
Branch(config)#int s0/0/0
Branch(config-if)#crypto map vpnmap
Branch(config-if)#end
配置外部路由器:
Router>en
Router#conf t
Router(config)#host Trip
Trip(config)#int fa0/1
Trip(config-if)#ip add 192.168.3.254 255.255.255.0
Trip(config-if)#ip nat inside
Trip(config-if)#no sh
Trip(config-if)#exit
Trip(config)#int s0/0/0
Trip(config-if)#ip add 3.1.1.1 255.255.255.0
Trip(config-if)#ip nat outside
Trip(config-if)#no sh
Trip(config-if)#exit
Trip(config)#access-list 1 permit 192.168.3.0 0.0.0.255
Trip(config)#ip nat inside source list 1 int s0/0/0 overload
Trip(config)#ip route 0.0.0.0 0.0.0.0 3.1.1.2
测试VPN网络:
实验完成