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