通过PPTP VPN认证上网

情景分析

很多人都想搭建一个属于自己WIFI_WEB认证网络,其主要用到的技术是Portal(传送门),它可以通过WEB页面认证合法用户。通过这个技术做认证的第三方解决方案有WIFIAPWIWIZ,这两个公司都是比较有代表性的。据我调查,华三也有Portal解决方案,唯独思科我还没发现有相关的解决方案(在RS这领域吧,我没有学过思科的无线)。所以我想使用其他技术以达到我的目的。现在安卓手机已经相当普及,安卓手机和电脑都具备VPN拨入功能,所以我想通过VPN拨入来作为我的解决方案。

预期结果

拨入VPN的用户可以访问互联网或者我指定的网络,未拨入VPN的用户只能访问特定的网络。

图片1

1、预先配置

2、VPN PPTP

创建一个虚拟模版 也可以理解为VPN的网关

R1(config)#interface Virtual-Template 1

给这个虚拟接口配置一个IP地址

R1(config-if)#ip address 172.16.1.1 255.255.255.0

设置这条虚拟链路的验证方式

R1(config-if)#ppp authentication chap ms-chap ms-chap-v2

设置拨入用户获得IP地址的地址池 名为vpn

R1(config-if)#peer default ip address dhcp-pool vpn

在地址池里排除虚拟接口的IP地址

R1(config)#ip dhcp excluded-address 172.16.1.1

创建一个自动分配地址的池 名为vpn

R1(config)#ip dhcp pool vpn

设置给用户分配的地址段 最好与Virtual-Template 1的IP地址在同一个网段

R1(dhcp-config)#network 172.16.1.0 255.255.255.0

设置分配给用户的DNS域名解析服务器

R1(dhcp-config)#dns-server 8.8.8.8

开启虚拟链路拨入功能

R1(config)#vpdn enable

创建一个拨入组 名为vpn

R1(config)#vpdn-group vpn

设置允许用户拨入

R1(config-vpdn)#accept-dialin

设置拨入的协议为PPTP

R1(config-vpdn-acc-in)#protocol pptp

调用上面的虚拟模版

R1(config-vpdn-acc-in)#virtual-template 1

4、NAT

创建一个列表转换列表 名为vpnnat

R1(config)#ip access-list extended vpnnat

抓取用户的拨入获得IP地址段

R1(config-ext-nacl)#permit ip 172.16.1.0 0.0.0.255 any

创建一个地址转换协议 以便用户通过外网端口访问互联网

R1(config)#ip nat inside source list vpnnat interface FastEthernet1/0 overload

将外网口设置为外部端口

R1(config)#interface FastEthernet1/0

R1(config)#ip nat outside

将外网口设置为内部端口

R1(config)#interface Virtual-Template1

R1(config-if)#ip nat inside

5、ACL

创建一个列表 阻止未拨入VPN的用户访问互联网

R1(config)#ip access-list extended novpn

抓取禁止访问互联网的内部端口的网段

R1(config-ext-nacl)#deny ip 10.1.1.0 0.0.0.255 any

放过其他流量

R1(config-ext-nacl)#permit ip any any

将限制列表调用在外网口的出方向

R1(config)#interface FastEthernet1/0

R1(config-if)#ip access-group novpn out

PS

我还想调用Radius服务器作为PPTP VPN的用户数据库,但是普通的路由器没有这个功能,需要使用思科的防火墙产品才能实现调用Radius服务器数据库。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.