zoukankan      html  css  js  c++  java
  • iptables实现负载均衡

    例子:

    iptables -t nat -A PREROUTING -d 10.192.0.65/32 -p tcp -m tcp --dport 8080 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to-destination 10.1.160.14:8080
    iptables -t nat -A POSTROUTING -d 10.1.160.14/32 -p tcp -m tcp --dport 8080 -j SNAT --to-source 10.192.0.65

    iptables -t nat -A PREROUTING -d 10.192.0.65/32 -p tcp -m tcp --dport 8080 -m statistic --mode nth --every 1 --packet 0 -j DNAT --to-destination 10.1.160.15:8080
    iptables -t nat -A POSTROUTING -d 10.1.160.15/32 -p tcp -m tcp --dport 8080 -j SNAT --to-source 10.192.0.65

    实现的目的:

    2014-2-26 13-54-39

    即负载均衡地访问10.1.160.14和10.1.160.15

    注意:需要在10.192.0.65上打开net.ipv4.ip_forward=1

    修改/etc/sysctl.conf文件 ,然后执行sysctl -p命令

    原理解释:

    第一条使用statistic模块,模块的模式是nth,—every 2是每两个数据包,—packet 0是第一个数据包,

    第二条iptables rule匹配时,第一条规则匹配上的数据已经被拿走,剩下的数据包重新计算。

    如果有计数器的话:奇数号数据包被第一条规则匹配,偶数号数据包被第二条规则匹配。

    对iptables的一些理解

    tables:表是对链功能的归纳。

    如filter 表是对数据包的过滤,根据方向的不同有INPUT,OUTPUT,FORWARDING三条链

    mangle表可以改变我们可以改变不同的包及包 头的内容,比如 TTL,TOS或MARK。数据包必然具有包头,所以它适用于每条链,也就是在没条链那里都可以根据需求实现mangle的功能

    nat表是进行NAT转换的,替换source ip地址是snat,替换destination ip是dnat。

    可以进行snat转换的是有postrouting链和output链

    可以进行dnat转换的是只有prerouting

    213457974

    http://jafy00.blog.51cto.com/2594646/651856

  • 相关阅读:
    HDU 6071
    HDU 6073
    HDU 2124 Repair the Wall(贪心)
    HDU 2037 今年暑假不AC(贪心)
    HDU 1257 最少拦截系统(贪心)
    HDU 1789 Doing Homework again(贪心)
    HDU 1009 FatMouse' Trade(贪心)
    HDU 2216 Game III(BFS)
    HDU 1509 Windows Message Queue(队列)
    HDU 1081 To The Max(动态规划)
  • 原文地址:https://www.cnblogs.com/silenceli/p/3569849.html
Copyright © 2011-2022 走看看