好几没更新了,今天来讲讲一个PPTP访问×××的售前与交付实施的故事,今天直接上正文,不扯其他的情怀了。

逻辑拓扑示意图:

目前客户痛点简述:

客户在数据中心有一台服务器和一台思科1921-k9,接入国内BGP线路。目前因客户终端办公用户近期增量较大,虽然cisco-1921在成本上解决了拨入并发的问题,但访问www.salesforce.com延迟依旧过大,≥300ms已经对员工的办公效率造成了不同程度的影响,需立刻解决该问题。

目前访问延迟截图:

目前访问路径MTR截图:

需求设计思路:
1.新增一条国际出口

2.国内&国际双链路负载

3.解决DNS污染问题(各种传说中的防火墙)

优化后的架构图:

PS:新增一条国际出口,实现流量区别待遇(国内走国内、国际走国际)

依据需求与逻辑拓扑图涉及出来的流量走向图:

【红色箭头为国际侧的流量访问走向】

【黑色箭头为国内侧的流量访问走向】

在该项目中遇到的技术挑战:

1.    思科双链路如何NAT负载,使用传统的nat配合方法不可行

2.    如何做缺省路由扔国际,明细路由扔国内

3.    PPTP、L2TP over IPSEC--(mobile、PC)国内基于8.8.8.8DNS解析会被污染,如何解决?

写给做售前咨询的工程师————

       尤其是刚刚走上售前的工程师,大家一定要把思路从专注实施和解决问题上转向前端设计上,这一点我个人已经深深栽了好几个跟头,所以痛的教训大家一定要汲取。做售前你不能专注在实施上,这个会让你仍然是一个售后工程师的思维。所这个时候一定把前期的调研和架构设计目标做好做完成。不要仅仅只是满足功能,在这个期间很有可能就会忽略很多细节问题,这有可能就成为了方案中最“老鼠屎”的一个细节。

好了,不秀自己过去踩过的坑了。这里考虑到市面上有很多PPTP、L2TP、L2TP overipsec的配置方法都有些时日了,我这里也给大家再更新一版。这一版我多花一些时间介绍下,也希望后面看到市面上杂乱的配置方法的网工能节省更多的时间去学习更深。

1921-k9许可证情况:

OS固件版本:

CiscoIOS Software, C1900 Software (C1900-UNIVERSALK9-M), Version 15.4(3)M3

PS:注意,如果没有security 许可证,就不能配置关联***功能,截图如下:

献上2017年5月1日梳理并亲自验证后的PPTP的配置脚本

R(config)#aaanew-model  【启用3A认证策略】

R(config)#aaaauthentication ppp default local    【建立ppp认证策略】

R(config)#usernamecisco password 0 cisco       【建立登陆账号】

R(config)#vpdnenable    【启用vpdn服务(外接称思科隐藏模式)】

R(config)#vpdn-grouppptp-***    【命名pptp-***的vpdn的服务】

R(config-vpdn)#accept-dialin     【接受拨入方式】

R(config-vpdn-acc-in)#protocolpptp   【如果写any,即l2tp 和 pptp 都可以用】

R(config-vpdn-acc-in)#virtual-template8

R(config-vpdn-acc-in)#exit

R(config-vpdn)#nol2tp tunnel authentication 【如果两个都需要使用,记住将L2TP的隧道认证关闭,否则L2TP无法正常拨入】

R(config)#iplocal pool ***_ip_pool_vpdn 172.25.7.1 172.25.7.254   【建立local pool 地址池】

R(config)#interfaceVirtual-Template8     【建立虚拟地址池】

R(config-if)#ipunnumbered FastEthernet0/0              【借用公网出接口、或者自定义lop接口均可】

R(config-if)#ipflow ingress

R(config-if)#encapsulationppp     【封装ppp】

R(config-if)#peerdefault ip address pool ***_ip_pool_vpdn  【联动本地定义的地址池】

R(config-if)#pppencrypt mppe auto

R(config-if)#pppipcp dns 8.8.8.8  【给拨入用户下发dns】

R(config-if)#pppauthentication chap pap ms-chap ms-chap-v2  【ppp认证方式】

R(config-if)#end

PS:有几项没有备注,在网络上查到的作用有很多,说实在的我也不知道怎么去测试去验证到底哪个说的是对的,这也说明了我确实很少上国外的网站去“原装”的文档,我得好好反省下自己了。至于到底什么干嘛用的,大家花点时间去看看资料去学习,不要去学别人做一个伸手党,因为你这样做了,你学到任何思想和思路。你仅仅只是技术的搬运工!!!遇到下次你还会手足无措!!!

L2TP的配置脚本:

PS:其实思科L2TP和PPTP的配置几乎完全一样,但有个小地方需要注意,否则你的pc和mobile会一直拨入不成功,这里只写区别,有利于大家去理解配置思路。避免养成复制和“傻瓜式”的贴配置,最后什么都不会的情况出现

R(config)#vpdn-grouppptp-***

R(config-vpdn)#accept-dialin

R(config-vpdn-acc-in)#protocolpptp   【如果写any,即l2tp 和 pptp 都可以用

R(config-vpdn-acc-in)#virtual-template8

R(config-vpdn-acc-in)#exit

R(config-vpdn)#nol2tp tunnel authentication 【如果两个都需要使用,记住将L2TP的隧道认证关闭,否则你拨入L2TP的时候会一直报错,PPTP正常可拨入

L2TPOVER IPSEC 的配置脚本我这里不更新了,我在网络上找了很多配置脚本并一一验证了确认可用,所以这里就不班门弄斧了,免得大家认为我就是想上主页。无意间又暴露出我自命清高的一面了。

好了,前面的配置都是配菜,而且是基本功,请一定要练好后再往下看,看我们如何集中解决那三个技术上的挑战,再列下遇到的技术挑战:

1.思科双链路如何NAT负载,使用传统的nat挂接口overload方法不可行

2.如何做缺省路由扔国际,明细路由扔国内

3.PPTP、L2TP over IPSEC--(mobile、PC)国内基于8.8.8.8DNS解析会被污染

列下解决思路:

1.思科双链路如何NAT负载,使用传统的nat挂接口overload方法不可行

解决方案:

传统的配置方法:ip nat inside source list 100interface GigabitEthernet0/0 overload

优化的配置方法:ip nat inside source route-mapisp1 interface GigabitEthernet0/0 overload

PS:不要问我为什么要这么做,自己去debug去google,去反复的观察数据流量的走向。这对于你才是最好的。我直接告诉你,那有什么意义

2.如何做缺省路由扔国际,明细路由扔国内?

解决方法:

配置方法:ip route 0.0.0.0 0.0.0.0 118.184.5.1 name guoji

ip route 国内汇总后的路由表

http://download.jh.51idc.com:8000/shell  有个route.list的文件,打开就可以开始快乐的刷了

3.PPTP、L2TP over IPSEC--(mobile、PC)国内基于8.8.8.8DNS解析会被污染,如何解决?

解决方法:

PC终端解决思路,直接把8.8.8.8扔到国际出口上,切勿在本地设置一些dns代理

Mobile解决思路,在虚拟接口上设置PPP ipcp dns 8.8.8.8 下发给拨入user dns使用

PS:第三个问题是我们团队用了非常久的时间彻底解决,我们在配置配ipcp后,确实在首次拨入后dns获取没什么问题,但后续中断后执行第二次拨入后,就无法获取dns了。这个问题头疼了3天多,但仍然找不到解决办法。

补充,我们回到刚刚的PPTP/L2TP虚拟接口的配置文件上:

R(config)#interfaceVirtual-Template8     【建立虚拟地址池】

R(config-if)#ipunnumbered FastEthernet0/0               【借用公网出接口、或者自定义lop接口均可】

R(config-if)#ipflow ingress

R(config-if)#encapsulationppp     【封装ppp】

R(config-if)#peer default ipaddress pool ***_ip_pool_vpdn   【联动本地定义的地址池】

R(config-if)#pppencrypt mppe auto

R(config-if)#pppipcp dns 8.8.8.8  【给拨入用户下发dns】

R(config-if)#pppauthentication chap pap ms-chap ms-chap-v2  【ppp认证方式】

R(config-if)#end

注意我标红的一段,别问我怎么想到的,其实我也是被客户逼的,到处再机会下手解决问题!!

R(config-if)#peerdefault ip address ?

dhcp      Use DHCP proxy client mechanism to allocate a peer IP address

dhcp-pool Use local DHCP pools to allocate a peer IP address

pool      Use IP pool mechanism to allocate a peer IP address

我们在前面调用的方式是基于pool的方式,大家也看到可以基于DHCP,所以这里我们在全局新增DHCP配置:
ip dhcp pool ***

network 172.25.7.0 255.255.255.0

dns-server 8.8.8.8

PS:非常的简单,相当于我们利用DHCP服务去做分发,也不要问我为什么这么简单前面在方案设计上没有想到,因为我也是一个初来乍到的售前,所以很多实施上的潜在问题我根本没法考虑到,所以对不起,我坑了!!

最后测试,拨入成功:

回到我们测试原来的网站:www.salesforce.com

统计与汇总:

未优化的延迟:319ms

优化后的延迟:243ms

延迟优化空间:76ms

优化后的路径MTR截图:

等等,最后还有一个问题没有确认噢,就是国内的流量国内进出、国际的流量国际进出。

那现在我们来测试下:

访问我们大腾讯的官网:www.qq.com

ipip.net查看:

可以看到延迟非常低,这基本上已经证明了就是从国内的口出去的,不着急接下来可以去看访问路径:

访问我们大谷歌:www.google.com

ipip.net查看如下:

访问google的路径MTR截图:

结论:实现了国内流量从国内走、国际流量从国际走

最后皆大欢喜,非常享受这十几天,学习了很多,也认识到自己有很多不足。把学习当成一种习惯或是一种信仰,对你的未来绝对百利无一害!!

——————来自一个努力奋斗的网工分享

本人能力有限,遇到说法不严谨或者错误的地方,希望大家指正,祝大家愉快。

QQ:549675970

QZONE:http://user.qzone.qq.com/549675970

E-mail:

549675970@qq.com

allen_junjun@hotmail.com

人生格言:越努力、越幸运

转载于:https://blog.51cto.com/allen686/1923211

如何用一台cisco1921-K9解决目前国内常见访问全网需求和流量区分策略?相关推荐

  1. 多台显示器连接一台服务器,如何用一台显示器连接多台电脑?

    我教大家如何用一台显示器连接多台电脑,日常生活中可能用到的比较少,不过有些时候可能会用到,来看看吧! 工具/原料 显示器1台 VGA线1条 电脑主机(根据需要) KVM切换器1台(附件8条VGA+US ...

  2. w10系统无法访问xp计算机名,解决winxp系统无法访问win10系统共享资源的方法

    如今我们的电脑win7和win10可以正常互访共享资源,win10也可以直接访问winxp共享的资源,但是winxp系统却无法直接进访问win10系统共享的资源下面是学习啦小编为大家整理的关于解决wi ...

  3. 局域网的计算机不能上网,如何设置路由器使局域网内的一台计算机不能上网,却能访问局域网?...

    在一个小型局域网内,有若干台计算机,现使用一个TP-link R410 路由器上网.局域网和上网一切正常. 现在想让某一台计算机上不了网,这台计算机的IP地址固定,但又想让这台计算机能正常访问局域网内 ...

  4. ajax 没有权限 -quot;跨域quot;,如何解决AJAX中跨域访问出现'没有权限'的错误

    如何解决AJAX中跨域访问出现'没有权限'的错误 很多人在使用AJAX调用别人站点内容的时候,JS会提示"没有权限"错误,这是XMLHTTP组件的限制-安全起见 禁止访问非同域的网 ...

  5. php-cgi和php-fpm,Windows环境下解决Nginx+php并发访问阻塞问题。

    php-cgi 是运行php, php-fpm是守护php-cgi进程 nginx配置目录运行php         location  ~ \.php$         {              ...

  6. 解决android模拟器不能访问网络的问题

    解决android模拟器不能访问网络的问题 参考文章: (1)解决android模拟器不能访问网络的问题 (2)https://www.cnblogs.com/oriental/p/11750330. ...

  7. 解决Docker容器内访问宿主机MySQL数据库服务器的问题

    解决Docker容器内访问宿主机MySQL数据库服务器的问题 参考文章: (1)解决Docker容器内访问宿主机MySQL数据库服务器的问题 (2)https://www.cnblogs.com/ga ...

  8. 解决Jira和Confluence访问打开越来越缓慢问题

    解决Jira和Confluence访问打开越来越缓慢问题 参考文章: (1)解决Jira和Confluence访问打开越来越缓慢问题 (2)https://www.cnblogs.com/keving ...

  9. 国内github访问慢的解决方法

    国内github访问慢的解决方法 参考文章: (1)国内github访问慢的解决方法 (2)https://www.cnblogs.com/xmu-chenming/p/6034217.html 备忘 ...

最新文章

  1. 使用 PHP 在站点上构建类似 Twitter 的系统
  2. js--webSocket入门
  3. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质示例 )
  4. 谁能想到,我给技术总监“上了一课”?
  5. 前端学习(2478):请求提交
  6. 微信公众账号 token 验证失败 解决办法
  7. android标题栏添加按钮_几行代码实现Android通用标题栏(轻松向左右两侧添加Menu)...
  8. Android版本Oppo电视,OPPO 智能电视 R1
  9. 关于linux交换分区的增大
  10. IntelliJ IDEA 安装本地插件
  11. 一组开源asp.net用户控件
  12. 多路复用输入/输出 ---- select
  13. docker修改服务器ip地址,如何修改docker的ip地址
  14. PX4模块设计之九:PX4飞行模式简介
  15. 金庸年度最新十大广告
  16. Kali渗透测试:散列密码破解
  17. coq学习3-形式化证明的直观理解
  18. 辉芒微IO单片机FT60F112
  19. putty下载(Putty下载中断)
  20. VIM实用指南(1)字符串替换

热门文章

  1. 第三章类与对象基础 ① 笔记
  2. 电商宝SCRM微信多公众号聚合客服系统可以解决哪些痛点?
  3. 网上银行等的WEB登陆安全性简要分析
  4. nginx 日志分析示例
  5. 控制论:轻预测,重反应,做变色龙。
  6. 5元写的Html网页设计第15次作业——风中的麦浪- 水流流水 - 水流流水 (yunjunet.cn)
  7. java最快的orm框架_java有哪些简洁的ORM框架?
  8. 硬盘播出系统_系统升级荣威RX5 PLUS Ali贺岁精选版上市
  9. 保研经验贴—上岸中国科学技术大学
  10. unity3d 基于物理渲染的问题解决