xref: /linux-tools/misc/scripts/iptables/gen_flat_iptablerules.py (revision de922be4e919572d28577568db563e691d5e7702)
1*de922be4SDavid Wang
2*de922be4SDavid Wangvip = "10.10.0.1"
3*de922be4SDavid Wangss = [
4*de922be4SDavid Wang    "172.18.1.3",
5*de922be4SDavid Wang    "172.18.1.4",
6*de922be4SDavid Wang    "172.18.1.5",
7*de922be4SDavid Wang]
8*de922be4SDavid Wang
9*de922be4SDavid Wang# iptables -t nat -A myservice -d 10.10.0.1 -m statistic --mode random --probability 0.3333 -j DNAT --to-destination 172.18.1.3
10*de922be4SDavid Wangx, n = 0, 10000
11*de922be4SDavid Wangm = n
12*de922be4SDavid Wangfor _ in range(n-1):
13*de922be4SDavid Wang    p = 1.0/m
14*de922be4SDavid Wang    print "iptables -t nat -A myservice -d %s -m statistic --mode random --probability %.16f -j DNAT --to-destination %s" % (vip, p, ss[x])
15*de922be4SDavid Wang    m-=1
16*de922be4SDavid Wang    x+=1
17*de922be4SDavid Wang    x%=len(ss)
18*de922be4SDavid Wangprint "iptables -t nat -A myservice -d %s -j DNAT --to-destination %s" % (vip, ss[x])
19*de922be4SDavid Wang
20