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

  • 相关阅读:
    测试VPS
    [转] 如何在vps上安装和登录Xwindows
    [转]设置修改CentOS系统时区
    顺序队列
    求二叉树的高度
    VMware Workstation cannot connect to the virtual machine
    如何查看hadoop是32位还是64位
    64位CentOS上编译 Hadoop 2.2.0
    hadoop 2.X下eclipse配置
    删除文件及文件夹
  • 原文地址:https://www.cnblogs.com/silenceli/p/3569849.html
Copyright © 2011-2022 走看看