免费注册 查看新帖 |

Chinaunix

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

用iptables 和iproute2实现网络负载平衡功能(转载) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-11 09:56 |只看该作者 |倒序浏览
假设,网络中有两个外部接口,IP地址分别为eth0 172.16.1.1/24,eth1 10.0.0.1/24,连接内部网络的接口为eth2 192.168.1.1。现在设计这样一个策略,将所有来自内部网络的web服务的数据,走向172.16.1.1这个出口。其他的数据走向10.0.0.1 这个出口。
   
#接口设置
ifconfig eth0 172.16.1.1 netmask 255.255.255.0
ifconfig eth1 10.0.0.1 netmask 255.255.255.0
ifconfig eth2 192.168.1.1 netmask 255.255.255.0
echo 1 >;/proc/sys/net/ipv4/ip_forward
#将web服务类的数据包打上标示100
#这一步,很关键,用于实现策略路由的是iproute2工具包,但是iproute2工具包是无法根据端口来进行匹配的,因此,需要借助iptables来配合
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 100
#增加多路由表 假设172.16.1.1 这一出口的网关是172.16.1.254
ip route add 0/0 via 172.16.1.254 table 100
#设置路由策略 凡是数据包标记位上是100的数据,查询100号路由表
ip rule add fwmark 100 table 100
#NAT 如果需要的话,进行NAT 不需要的话,就直接路由
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
本文出自 51CTO.COM技术博客


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/34172/showart_1791573.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP