linuxlearning4R 发表于 2016-05-11 22:39

iptables的dnat后面接的是ip地址区间实现简单负载均衡问题

本帖最后由 linuxlearning4RMB 于 2016-05-12 09:14 编辑

iptables -t nat -A PREROUTING 匹配条件 -j DNAT --to 192.168.xxx.112-192.168.xxx.122

内网有好几台机器用来server,在外网通过登录到外网口ip(不妨设为ip_xx)的请求,想分配到这几台服务器来,类似做一个负载均衡

在外网连接通过不同的电脑来登录ip_xx,以后发现dnat都只是到第一个内网ip(192.168.xxx.112),难道不应该是根据不同的用户dnat到不同的内网机器吗


philarlala 发表于 2016-05-12 09:30

这个要看dnat选择ip的实现吧,有可能是随机的,有可能是顺序选择可用的,具体是怎样的不是很清楚。但是你这种需求估计不是dnat能实现的,你可以用lvs的nat模式

nswcfd 发表于 2016-05-13 22:18

好像是靠hash值选择的,记不清了。

Godbach 发表于 2016-05-16 13:00

回复 3# nswcfd


我前一段看过一次代码,是根据 srcip 相关信息做了 hash 的。


   

nswcfd 发表于 2016-05-16 18:26

嗯,是的,那个--persistent参数貌似在控制 计算hash的时候是否把目的ip包含进去。
页: [1]
查看完整版本: iptables的dnat后面接的是ip地址区间实现简单负载均衡问题