您的位置:首页 > 理论基础 > 计算机网络

tcpcopy 实践-引流到lvs(full-nat)

2015-10-08 17:15 316 查看
由于生产环境中使用的lvs服务器使用了full nat模式,导致按照作者wangbin博客中的示例跑不通。

所以,在测试过程中加了一层中间层,通过iptables nat作转换。

一 测试框架:



二 环境部署:

1客户端Client : lvsmgr1v.*

IP:10.16.77.43

2在线服务器:w-lvsc2.sys.*

IP:42.236..

VIP:10.172.95.125:8360

RIP:218.31.117.*:8361

启动tcpcopy进程:

TCPCPPY:./tcpcopy -x 10.172.95.125:8360-10.138.93.243:8360 -s 10.138.93.244 -d -F tcp

3测试服务器: dsync1.safe.*t(用于中转真正的测试服务器为其后端的lvs)

IP:10.138.93.243

设置路由,使得回复给client的数据包统一走辅助服务器

route add -host 10.16.77.43 gw 10.138.93.244

设置iptables nat转换,将发往该机器的消息发往lvs服务器

iptables -t nat -A PREROUTING -p tcp –dport 8360 -j DNAT –to 10.138.230.175

iptables -t nat -A POSTROUTING -p tcp –dport 8360 -j SNAT –to 10.138.93.243

iptables -t nat -A PREROUTING -p tcp –sport 8360 -j DNAT –to 10.16.77.43

iptables -t nat -A POSTROUTING -p tcp –sport 8360 -j SNAT –to 10.138.93.243

3.1后端lvs服务器:w-lvsc7.*

VIP:10.138.230.175 8360

RIP:10.138.109.74 8360 10.138.109.73 8360

4辅助服务器:dsync2.safe.*

IP:10.138.93.244

启动intercept进程,用于拦截从测试服务器返回的数据包,并将其转发给现在服务器的tcpcopy进程,用于建立完整的TCP通信。

./intercept -i eth0 -F tcp –d

关掉路由功能:

sysctl –w net.ipv4.ip_forward=0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  服务器 框架 iptables