免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5459 | 回复: 5
打印 上一主题 下一主题

[网络管理] linux服务器如何做流出流量的分流 [复制链接]

论坛徽章:
1
白羊座
日期:2014-11-19 14:18:59
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-11-07 16:22 |只看该作者 |倒序浏览
二台linux服务器:

A服务器:公网IP:1.1.1.1   内网IP:192.168.0.1    web服务器
B服务器:公网IP:1.1.1.2   内网IP:192.168.0.2    数据库服务器

这两台服务器内网通过网线直连。

现在的情况是A服务器公网流量过高,需要分流一些流量到B服务器出去,A服务器主要应用是web服务80端口。B服务器就是安装数据库,没有装其他。
要求在不新安装其他应用,就是不改变现有软件环境的情况下,通过路由等,把访问A服务器的web流量,全部让其通过B服务器出去,要如何做呢。


我通过设置如下:
A服务器:
ip rule add fwmark 100 table 3
ip route add 0/0 via 192.168.0.2 table 3
iptables -t mangle -A OUTPUT -p tcp --sport 80 -j MARK --set-mark 100

B服务器:
/sbin/ifconfig lo:0 1.1.1.1 broadcast 1.1.1.1 netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

能够把访问A服务器80的回应包转到B服务器的内网网卡,可是B服务器不能把这个回应包再通过本机eth0应答出去,要怎样才能让包发出去呢?

在B服务器内网网卡监听到转过来的包:

[root@localhost ~]# tcpdump -i eth1 -nnnv port 80
14:07:05.945826 IP 1.1.1.1.80 > 113.92.239.90.14632: P 6098:6170(72) ack 501 win 46
14:07:05.945947 IP 1.1.1.1.80 > 113.92.239.90.14632: P 6170:6171(1) ack 501 win 46
14:07:05.945955 IP 1.1.1.1.80 > 113.92.239.90.14632: P 6171:6172(1) ack 501 win 46
14:07:05.945960 IP 1.1.1.1.80 > 113.92.239.90.14632: P 6172:6173(1) ack 501 win 46
14:07:05.945965 IP 1.1.1.1.80 > 113.92.239.90.14632: P 6173:6174(1) ack 501 win 46
14:07:05.945987 IP 1.1.1.1.80 > 113.92.239.90.14632: P 6174:6179(5) ack 501 win 46

论坛徽章:
0
2 [报告]
发表于 2014-11-13 08:21 |只看该作者
你是想将web服务的流量均衡到两台服务器吗?
A服务器和B服务器都有WEB服务吗?

还是只想将web流量分配到两个公网IP(或者说是两个不同的线路)上?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2014-11-13 09:05 |只看该作者
感觉你的想法类似于LVS/DR的实现,又有点不一样.
A服务器流量大,你将流量导向B,并没有解决问题啊,况且,B服务器还是Database服务,能再负载web流量吗?

论坛徽章:
1
白羊座
日期:2014-11-19 14:18:59
4 [报告]
发表于 2014-11-13 14:14 |只看该作者
回复 2# abc3w

两台都有公网IP,机房是只针对单台服务器限带宽,即A服务器带宽已满,所以想让B服务器来分担一些带宽,B服务器没有安装web应用,数据库流量很小,分担一些流量一点都不影响。


   

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
5 [报告]
发表于 2014-11-13 15:27 |只看该作者
你的这个环境,在Dns上做文章,做域名解析,将你的域名解析到两个ip上去.

论坛徽章:
0
6 [报告]
发表于 2014-11-13 17:44 |只看该作者
回复 4# 鸿钧


    5楼版主的方法很好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP