IPTABLES="/sbin/iptables" LOCALIF="lo" LOCALNET="127.0.0.0/24" LOCALIP="127.0.0.1" INTIF="eth0" INTNET="10.0.0.0/24" INTIP="10.0.0.1" INTGW="10.0.0.1" ADSLIF="eth2" ADSLNET="192.168.2.0/24" ADSLIP="192.168.2.15" ADSLGW="192.168.2.1" GSHDSLIF="eth1" GSHDSLNET="XX.XXX.73.0/29" GSHDSLIP="XX.XXX.73.2" GSHDSLGW="XX.XXX.73.1" echo " IPTABLES ..." echo 0 > /proc/sys/net/ipv4/ip_forward $IPTABLES -F $IPTABLES -X $IPTABLES -t nat -F $IPTABLES -t nat -X $IPTABLES -t mangle -F $IPTABLES -t mangle -X /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_conntrack_irc /sbin/modprobe ipt_REJECT /sbin/modprobe ipt_REDIRECT /sbin/modprobe ipt_TOS /sbin/modprobe ipt_MASQUERADE /sbin/modprobe ipt_LOG /sbin/modprobe iptable_mangle /sbin/modprobe iptable_nat /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_nat_irc echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A PREROUTING -t mangle -p tcp --dport 80 -s 10.0.0.0/24 -j MARK --set-mark 1 iptables -A PREROUTING -t mangle -p tcp --dport 80 -s 192.168.2.0/24 -j MARK --set-mark 1 iptables -A PREROUTING -t mangle -p tcp --dport 80 -s 88.248.73.0/29 -j MARK --set-mark 1 # SIP TCP UDP 506P iptables -A PREROUTING -t mangle -p tcp --dport 5060 -s 10.0.0.0/24 -j MARK --set-mark 2 iptables -A PREROUTING -t mangle -p udp --dport 5004:5082 -s 10.0.0.0/24 -j MARK --set-mark 2 # IAX2 iptables -A PREROUTING -t mangle -p udp --dport 4569 -s 10.0.0.0/24 -j MARK --set-mark 2 # IAX iptables -A PREROUTING -t mangle -p udp --dport 5036 -s 10.0.0.0/24 -j MARK --set-mark 2 # RTP iptables -A PREROUTING -t mangle -p udp --dport 10000:11000 -s 10.0.0.0/24 -j MARK --set-mark 2 # MGNC iptables -A PREROUTING -t mangle -p udp --dport 2727 -s 10.0.0.0/24 -j MARK --set-mark 2 # iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 192.168.2.15 iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 88.248.73.2 # ip rule add fwmark 1 table T1 ip rule add fwmark 2 table T2 # iptables -t mangle -nvL $IPTABLES -A FORWARD -s $INTNET -j ACCEPT $IPTABLES -A POSTROUTING -t nat -s $INTNET -j MASQUERADE $IPTABLES -A PREROUTING -t nat -i $INTIF -p tcp --dport 80 -j DNAT --to $INTIP:3128 $IPTABLES -A PREROUTING -t nat -i $INTIF -p tcp --dport 80 -j REDIRECT --to-port 3128 echo " ROUTE ..." ip route add $ADSLNET dev $ADSLIF src $ADSLIP table T1 ip route add default via $ADSLGW table T1 ip route add $GSHDSLNET dev $GSHDSLIF src $GSHDSLIP table T2 ip route add default via $GSHDSLGW table T2 #ip route add $ADSLNET dev $ADSLIF src $ADSLIP #ip route add $GSHDSLNET dev $GSHDSLIF src $GSHDSLIP #ip route add default via $GSHDSLGW $GSHDSLIF ip rule add from $ADSLIP table T1 ip rule add from $GSHDSLIP table T2 ip route add $INTNET dev $INTIF table T1 ip route add $GSHDSLNET dev $GSHDSLIF table T1 ip route add 127.0.0.0/8 dev lo table T1 ip route add $INTNET dev $INTIF table T2 ip route add $ADSLNET dev $ADSLIF table T2 ip route add 127.0.0.0/8 dev lo table T2 echo " FINISH ..."