标签:LB FW Firewall 防火墙 默认 Azure 服务器 非对称 路由
来看下这样的一个架构,web服务器默认路由指向FW,web服务器前有一个standard load balancer,web服务器是它的后端池,LB上配置了80端口的规则,web服务器本身没有公网IP,再这样的架构下,有两个问题
Web服务器是否能访问internet
在internet通过standard lb是否能访问web服务器上的nginx
我们一个个来看,standard lb后端的服务器,默认是不能访问internet的,那么如果它的默认路由指向Firewall呢?
经过测试发现,访问完全没有问题
那么,第二个问题呢,首先来看下LB的配置,其实很简单
可以看到只是简单配置了一个80的规则
但是测试发现,lb的ip一直没办法ping通
但是,在把指向FW的默认路由去掉之后,我们发现可以ping通了
这是为什么呢?其实微软的文档已经给了我们解释
这种现象叫非对称路由,理解上其实很简单,因为入站的时候是通过LB进来的,但是回去的时候因为默认路由的原因,却要从FW出去,FW上没有这个会话,就回导致把包丢掉
非对称路由
非对称路由是指数据包采用一条路径发往目标,并采用另一条路径返回到源。 如果子网的默认路由转到防火墙的专用 IP 地址,并且使用的是公共负载均衡器,则会出现非对称路由问题。 在这种情况下,将通过负载均衡器的公共 IP 地址接收传入的负载均衡器流量,但返回路径将通过防火墙的专用 IP 地址。 由于防火墙是有状态的,并且无法识别此类已建立的会话,因此会丢弃返回的数据包。
这个问题其实也是可以有办法解决的,官网的解释是说,如果防火墙后边跟的是public lb,则需要创建一个到防火墙public ip的UDR规则,下一条是internet,否则azure会通过默认路由发给防火墙的private ip,同时流量的入口也不能是LB,而应该是FW
下边我们就来试下,整个流量是这样的FW -> Public Standard LB -> WEB
首先,先在FW上配置到LB的NAT规则
但是测试发现,端口连不上
接下来再试下添加到FW 公网IP的路由
这次终于访问成功了
标签:LB,FW,Firewall,防火墙,默认,Azure,服务器,非对称,路由 来源: https://blog.51cto.com/mxyit/2462929
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。