Skip to content

Instantly share code, notes, and snippets.

@aminamid
Last active August 29, 2015 14:20
Show Gist options
  • Save aminamid/1850a3ae12999337d56d to your computer and use it in GitHub Desktop.
Save aminamid/1850a3ae12999337d56d to your computer and use it in GitHub Desktop.
echo 1 > /proc/sys/net/ipv4/ip_forward
smtp_ip='192.168.100.1'
smtp_port='25'
smtp_port1='12125'
smtp_port2='12225'
smtp_port3='12325'
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
iptables -t mangle -A PREROUTING -p tcp -d $smtp_ip --dport $smtp_port -m state --state NEW -m statistic --mode nth --every 3 --packet 0 -j CONNMARK --set-mark 1
iptables -t mangle -A PREROUTING -p tcp -d $smtp_ip --dport $smtp_port -m state --state NEW -m statistic --mode nth --every 3 --packet 1 -j CONNMARK --set-mark 2
iptables -t mangle -A PREROUTING -p tcp -d $smtp_ip --dport $smtp_port -m state --state NEW -m statistic --mode nth --every 3 --packet 2 -j CONNMARK --set-mark 3
iptables -t nat -A PREROUTING -p tcp -d $smtp_ip --dport $smtp_port -m connmark --mark 1 -j DNAT --to-destination $smtp_ip:$smtp_port1
iptables -t nat -A PREROUTING -p tcp -d $smtp_ip --dport $smtp_port -m connmark --mark 2 -j DNAT --to-destination $smtp_ip:$smtp_port2
iptables -t nat -A PREROUTING -p tcp -d $smtp_ip --dport $smtp_port -m connmark --mark 3 -j DNAT --to-destination $smtp_ip:$smtp_port3
iptables -t nat -A POSTROUTING -p tcp -s $smtp_ip --sport $smtp_port1 -j SNAT --to-source $smtp_ip:$smtp_port
iptables -t nat -A POSTROUTING -p tcp -s $smtp_ip --sport $smtp_port2 -j SNAT --to-source $smtp_ip:$smtp_port
iptables -t nat -A POSTROUTING -p tcp -s $smtp_ip --sport $smtp_port3 -j SNAT --to-source $smtp_ip:$smtp_port
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment