有一个业务中的问题想跟您咨询一下,您有空给帮看下。就是我所在的数据中心有三家运营商的线路接入,然后我是想保持业务流量的源进源出,方向一致性;但是也想能够让运营商的线路能够在中断一条的情况下切换到另外线路的灵活性,从网络设计的角度想的话有什么好的思路嘛?
如果配置BGP,能保证流量的源进源出(相同 incoming /outgoing interface)?
Alice从电信网络访问数据中心服务器,返程的流量走电信线路,在BGP眼里它是路由最优的。
Bob从联通网络访问数据中心服务器,返程的流量走联通线路,在BGP眼里它是路由最优的。
Cellia从美国的AT&T网络访问数据中心服务器,最后一跳是从电信线路进入数据中心。返程的流量有可能走电信线路、也有可能联通线路、甚至有可能移动线路,取决于谁的AS-Path最短。
所以,即使有BGP的存在,都无法确保流量的源进源出。
更不要说,在这个数据中心仅仅使用3条线路,对应3条0.0.0.0/0路由了。
在流量进入数据中心时,能够动态记录源IP地址、以及入接口,比如:
这种动态生成的32位路由优先于0.0.0.0/0或者BGP路由,返程的流量优先匹配,自然就满足了我们的期望,进从哪一个接口进来,就从哪个接口流出。
好像有的,比如这家,它的名字叫Policy-Based Forwarding Symmetric Return。
https://live.paloaltonetworks.com/t5/general-articles/policy-based-forwarding-symmetric-return-overview/ta-p/545067
其它厂家如Cisco也有Policy-Based Routing,但是他家的PBR不是特别智能,不能根据实时流量动态创建路由,需要提前知道源IP或者目的IP。事实上在流量到来之前,你都无法知道哪些IP会从电信线路进来,哪些IP从联通线路进来,对吗?意味这这种提前配置IP的方式无法满足需求。
从上文的畅想可以清晰看出,基于流量动态创建路由表/转发表功能强大,对流量有自适应能力。在我们的印象中,还有哪些feature可以动态创建table的?
NAT,即Network Address Translation。
只要对入口的流量做一次NAT,将源(Origin)IP替换成本地IP,同时记录入口线路。
返程流量到来,将本地IP替换成源(Origin)IP,并从入接口将流量扔出。
如果使用多个出口设备 + 多条线路组合,要在多个出口设备上同步NAT表,这个应该也是可以配置的。
一旦Primary线路失效,将会自动切换到其它线路,无论使用的是 0.0.0.0/0等价负载均衡或者BGP路由,这种切换无需人工干涉,是完全自动切换。
原文始发于微信公众号(车小胖谈网络):如何确保互联网流量源进源出?
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/2846130.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论