首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子网路由

问子网路由
EN

Server Fault用户
提问于 2009-10-30 19:57:20
回答 1查看 166关注 0票数 0

托管在同一子网中的服务器上的应用程序不能引用承载在子网负载均衡器上的域名(VIP)。

假设:服务器A和服务器B托管在同一个子网中。

服务器A上托管的应用程序正在连接到VIP (它引用服务器B中承载的应用程序)。

连接初始化将从服务器A通过VIP传递到服务器B,但是响应将直接从服务器B返回到服务器A。

服务器A不会接受响应,因为它只将原始请求发送给VIP。

问:这种情况在网络设置中是否正常发生?建议的解决方案是为服务器A在服务器B上调用应用程序创建一个特殊的内部到子网IP :我不喜欢这个解决方案,因为它可能导致内部IP的激增,而这些IP管理起来可能很麻烦。

另一种选择是萌芽子网..。

有什么想法或建议吗?

EN

回答 1

Server Fault用户

发布于 2009-10-31 02:21:52

您正在执行DSR (直接服务器返回)。为了使其正常工作,负载均衡器需要知道这一点,以便它只修改目标MAC地址,而在数据包中保留两个IP地址。此外,VIP需要配置在负载均衡器后面的所有服务器的回送接口上,以便接收目标字段中带有VIP的传入数据包。那里的任何服务都需要配置为使用VIP,除非它绑定到0.0.0.0。一旦你准备好了这些东西,一切都会好起来的,就像这样:

  1. A发送的数据包在源端有自己的IP和MAC,VIP和LB的MAC在dest中。
  2. LB接收数据包,将dst从其自身重写到一个平衡服务器的MAC,并将其发送到B。
  3. B接收数据包,看到有效的dst (因为它是VIP,并且它在回送上有VIP ),把它踢到要处理的服务上。
  4. 该服务发送答案,以VIP和服务器MAC为源,以A的IP和MAC为最大。
  5. 数据包到达A,它将其识别为对原始请求的有效响应。

顺便说一句,你的标签是完全错误的,因为没有路由问题。它主要是第二层的技巧,在第三层有一些配置修改。

参考资料:LBWiki

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/80058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档