• 文章搜索:
  • 灵犀一指

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    敢问路在何方之vpn下起portal

    作者:  |  上传时间:2014-11-26  |  关键字:敢问路在何方之vpn下起portal

    各位看官不要觉得作者哗众取宠,故事还得从唐朝说起。

    话说唐三藏误会悟空无心向善,有意作恶,一连害死三条人命后,一怒之下赶走悟空。悟空被师傅误会驱赶,心有戚戚,回到自己的老巢,久别500多年的花果山,继续当起他的猴大王。这边唐僧饥肠辘辘叫八戒化缘,八戒却跑去呼呼大睡,唐僧饥渴难耐,遂又派沙僧去寻找八戒。哪料妖怪趁此绑去唐僧。

    且不言三藏逢灾。却说那沙僧出林找八戒,直有十余里远近,只听得草中有人言语,声大如雷。待沙僧叫醒八戒,携八戒到到林中看时,不见了师父。沙僧道:“二师兄,师傅被妖怪抓走了!快去找大师兄!”八戒扛起钉耙,直奔花果山!岂料师兄弟二人的动静悉数落到白骨精眼底,白骨精命人守到去往花果山的岔口,欲将那大猪头引入自己的陷阱。

    话说猪八戒凭着自己的记忆寻到花果山,哪料这五百年间花果山发生了翻天覆地的变化。山上花草俱无,烟霞尽绝;峰岩倒塌,林树焦枯。八戒站在一处岔口左右顾盼,急的汗水直淌,哪条才是通往花果山的路呢。师傅正等着俺老猪带大师兄回去救他呢,再晚些只怕师傅就要变成妖怪的盘中餐了。正当此时,一小啰啰从一条大路上迎面走来“大王派我来巡山咯,巡完东山巡西山咯~”。“慢,就你,过来,告诉本元帅,哪条路通往花果山”小啰啰心中一阵窃喜,不动声色指向右侧的大路,“此去20公里便是花果山,元帅沿此路一路向西即可”。八戒不疑有他,只奔西而去。。。

    八戒错信旁人,救人不成反倒落入他人陷阱。可叹!其实只要他再往左侧大路走走就能找到花果山的石碑,或者他再抓个小猴子问问也能找到他大师兄所在。所幸有惊无险,三藏最后被悟空救下,师徒二人重归于好,场面甚是感人。八戒也免不了被他师傅一顿碎碎念“人是人他妈生的,妖是妖他妈生的,怎生如此残忍欺骗于你,你怎生如此笨猪,被人欺骗,害为师蒸了个异常灼热的桑拿。。。”。

    这些都是很久很久以前的事了,话说那师徒四人西天取经归来个个练就不死之身,加官封爵,每日坐在那高高的棉花糖上斗地主,或是调戏调戏路过小宫娥,或是遥想遥想当年之英姿,日子久了也心生厌倦。“师傅,师傅,现在都21世纪了,世界变化这么大,那些小宫娥都不出来遛弯改在家淘宝了,咱是不是也要寻求点变化,趁势而上做番大事业”“师傅、大师兄、二师兄说的对”“悟空,你看呢,咱师徒四人做点啥合适”,“师傅,徒儿认为现在是个互联网的时代,什么都离不开网络,要是当年咱能有这玩意,哪用历经九九八十一难,让他们把经文传直接我QQ邮箱一份即可。咱要不就从NB的网络工程师做起,凭师傅的嘴皮、我的火眼金睛,二师弟的脸皮,三师弟的细致,咱一定会成为最NB的团队”“师傅、二师兄、大师兄说的对”“那依悟空之计,我们投奔哪家呢?”天空飘来四个字“学网络,去华三,那里是个好地方。。。”众人作揖“谢佛祖提点!”,乘云而去。

    岂料师徒四人第一次出马就遇到了一个棘手的问题。某局点S5500-EI下挂VPN用户portal认证失败,客户发现启用portal之后,认证用户认证失败无法正常访问网络。

    八戒一脸笑嘻嘻接过组网图,心中暗想这下惨了,这用户咋不按常理出牌呢,认证PC和portal/radius服务器还都位于VPN实例中。这版本也不老,R2221,也无已知问题。回头求助众人,大师兄转向一边吃起香蕉;师傅更夸张,与女客户聊人生、谈理想,热火朝天,过去这么多年了,没想这世道还是看皮相的啊;再看看沙僧,一脸无辜,一张嘴估计又是“二师兄说得对!”。无奈,只能硬着头皮继续排查。

    常规思路,先对设备配置进行检查。

    咦,配置并无问题:

    portal server test ip 183.233.37.164 vpn-instance jiaoyu key cipher test url http://183.233.37.164:8080/portal

    ip vpn-instance jiaoyu

    route-distinguisher 100:1

    vpn-target 100:1 export-extcommunity

    vpn-target 100:1 import-extcommunity

    radius scheme test

    server-type extended

    primary authentication 183.233.37.165 vpn-instance jiaoyu

    primary accounting 183.233.37.165 vpn-instance jiaoyu

    key authentication cipher test

    key accounting cipher test

    user-name-format without-domain

    nas-ip 10.198.200.1

    retry stop-accounting 10

    domain test

    authentication portal radius-scheme test

    authorization portal radius-scheme test

    accounting portal radius-scheme test

    interface Vlan-interface4000 //认证用户所处VLAN虚接口配置

    description PORTAL-TEST

    ip binding vpn-instance jiaoyu

    ip address 10.198.200.1 255.255.255.0

    portal server test method layer3

    portal domain test

    interface Vlan-interface103 //连接服务器的上行虚接口

    ip binding vpn-instance jiaoyu

    ip address 192.168.123.2 255.255.255.252

    ip route-static 0.0.0.0 0.0.0.0 192.168.3.1

    ip route-static vpn-instance jiaoyu 0.0.0.0 0.0.0.0 192.168.123.1

    配置没有问题,为了进一步排查问题原因,只能使出俺老猪必杀技,在设备上开debug了。

    Debug portal packet

    Debug radius packet

    哈哈,通过debug,果真发现有报错信息

    *Jul 9 01:59:25:993 2000 GDQY-MS-JJW-SW01-QXEJL-H3C PORTAL/7/PORTAL_DEBUG: get bas ip fail.

    *Jul 9 01:59:26:945 2000 GDQY-MS-JJW-SW01-QXEJL-H3C PORTAL/7/PORTAL_DEBUG: Failed to check packet.

    根据debug的信息“Failed to check packet.”结合现场当前设备的实现机制来判断,是设备在对认证报文进行检查时没有通过,导致认证失败。

    排查至此,看似明了实则仍是迷糊,为什么会检查时没有通过呢,get bas ip fail.路由问题吗?可路由表没有问题的啊。

    八戒有些懊恼的看着众人,“大师兄,要不你用火眼金睛瞅瞅吧,俺老猪实在是搞不定了”“大师兄,二师兄说的对,你给瞅瞅”。

    悟空接过组网图,看着报文交互流程,在他眼里这些流量就像他的猴子猴孙,好动却有序,没道理认证流量会回不去,问题会在哪呢?portal认证这么常见的应用,这次哪不同呢?唯一不同在于vpn,对!vpn!VPN下起portal会有什么不同了,莫非是。。。悟空已有所悟,“八戒,再给我查看下当前全局表和VPN路由表”

    ip route-static 0.0.0.0 0.0.0.0 192.168.3.1

    ip route-static vpn-instance jiaoyu 0.0.0.0 0.0.0.0 192.168.123.1

    没错,就是他了。“把这条公网缺省路由去掉我们试下”。“大师兄,成功了成功了!”认证正常通过更加证实了悟空的推测,原来是这样.

    处在vpn中的用户进行portal认证时,设备会从portal报文中提取用户IP, 再根据用户IP遍历所有VPN的Fib表, 查找用户的入接口信息,确定用户是在哪个接口起的portal.因为遍历的时候目前版本的处理时按照先查到先匹配的原则,如果同时存在公网路由和私网路由,会引起查表错误,从而导致找错了用户接口,最终导致vpn里的用户无法进行portal认证。

    比如服务器发送过来的报文,需要根据该报文中用户的IP地址查找路由确定用户的三层接口,以查到的第一个为准,如果用户有两条路由,会出现查到公网路由上去了,我们这个案例当中,就是因为下面公网路由的存在导致表项查找错误,

    ip route-static 0.0.0.0 0.0.0.0 192.168.3.1

    众人一脸崇拜的看着美猴王,阴影里三藏也忍不住点头微笑“自从紫霞嫁给摇滚青年后,悟空这几年变化很大,不再动不动打打杀杀,心思也澄净细腻起来”。看着光环中的悟空,八戒心中开始不是滋味,心中佩服却又不愿承认,这种滋味最是难熬。忍不住为自己辩白“俺老猪要不是第一次遇到这种问题,也不会毫无经验”。“八戒,休得造次,为师给过你机会的,你可记得当年花果山的巡山小喽喽!”八戒瞬间脸色苍白,无力喊道“师傅!”语气中透着哀求。“人家给你指条道你就去了,也不看看是不是去花果山的路,害得为师蒸了个异常灼热的桑拿,人是人他妈生的,妖是妖他妈生的,怎生如此残忍欺骗于你,你怎生如此笨猪,被人欺骗。。。”果然,师傅还是那个碎碎念的师傅,八戒深知自己粗心,一错再错,无力反驳。

    最终为了适应这种VPN用户的portal接入认证组网环境,在师徒四人的推动下新的版本对实现机制进行了修改。可以升级到R2221P03及其后版本解决。

    谨以此文献给工作在前线的网络工程师,遇到非常规问题,要善于找突破点,敢于怀疑,也祝愿师徒四人越来越牛!