#!/bin/bash IPTABLES="/sbin/iptables" LOCALNET1="192.168.1.0/24" LOCALNET2="192.168.2.0/24" LOCALNET3="192.168.3.0/24" LOCALNET4="192.168.4.0/24" LOCALNET5="192.168.5.0/24" LOCALNET7="192.168.7.0/24" REAL_LAN_IP="217.3.X.X"
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -Z
# Accept forward packets $IPTABLES -A FORWARD -s $LOCALNET1 -d 0/0 -j ACCEPT $IPTABLES -A FORWARD -s $LOCALNET2 -d 0/0 -j ACCEPT $IPTABLES -A FORWARD -s $LOCALNET3 -d 0/0 -j ACCEPT $IPTABLES -A FORWARD -s $LOCALNET4 -d 0/0 -j ACCEPT $IPTABLES -A FORWARD -s $LOCALNET5 -d 0/0 -j ACCEPT $IPTABLES -A FORWARD -s $LOCALNET7 -d 0/0 -j ACCEPT
$IPTABLES -A INPUT -s $LOCALNET7 -d 0/0 -p tcp --dport 21 -j ACCEPT $IPTABLES -A INPUT -s $LOCALNET7 -d 0/0 -p udp --dport 21 -j ACCEPT $IPTABLES -A INPUT -s $LOCALNET7 -d 0/0 -p tcp --dport 20 -j ACCEPT $IPTABLES -A INPUT -s $LOCALNET7 -d 0/0 -p udp --dport 20 -j ACCEPT $IPTABLES -A INPUT -d 0/0 -p tcp --dport 22 -j ACCEPT $IPTABLES -A INPUT -d 0/0 -p tcp --dport 25 -j ACCEPT $IPTABLES -A INPUT -d 0/0 -p tcp --dport 53 -j ACCEPT $IPTABLES -A INPUT -d 0/0 -p udp --dport 53 -j ACCEPT $IPTABLES -A INPUT -d 0/0 -p tcp --dport 80 -j ACCEPT $IPTABLES -A INPUT -d 0/0 -p tcp --dport 110 -j ACCEPT $IPTABLES -A INPUT -d 0/0 -p tcp --dport 443 -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type 0 -j ACCEPT $IPTABLES -A INPUT -p icmp --icmp-type 3 -j ACCEPT $IPTABLES -A INPUT -p icmp --icmp-type 5 -j ACCEPT $IPTABLES -A INPUT -p icmp --icmp-type 11 -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -p ALL -s $LOCALNET1 -d 0/0 -j SNAT --to-source $REAL_LAN_IP $IPTABLES -t nat -A POSTROUTING -p ALL -s $LOCALNET2 -d 0/0 -j SNAT --to-source $REAL_LAN_IP $IPTABLES -t nat -A POSTROUTING -p ALL -s $LOCALNET3 -d 0/0 -j SNAT --to-source $REAL_LAN_IP $IPTABLES -t nat -A POSTROUTING -p ALL -s $LOCALNET4 -d 0/0 -j SNAT --to-source $REAL_LAN_IP $IPTABLES -t nat -A POSTROUTING -p ALL -s $LOCALNET5 -d 0/0 -j SNAT --to-source $REAL_LAN_IP $IPTABLES -t nat -A POSTROUTING -p ALL -s $LOCALNET7 -d 0/0 -j SNAT --to-source $REAL_LAN_IP #Redirect all users on transparent proxy $IPTABLES -t nat -A PREROUTING -s $LOCALNET1 -d 0/0 -p tcp --dport 80:88 -j REDIRECT --to-port 3128 #$IPTABLES -t nat -A PREROUTING -s $LOCALNET1 -d 0/0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -s $LOCALNET2 -d 0/0 -p tcp --dport 80:88 -j REDIRECT --to-port 3128 $IPTABLES -t nat -A PREROUTING -s $LOCALNET2 -d 0/0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -s $LOCALNET3 -d 0/0 -p tcp --dport 80:88 -j REDIRECT --to-port 3128 $IPTABLES -t nat -A PREROUTING -s $LOCALNET3 -d 0/0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -s $LOCALNET4 -d 0/0 -p tcp --dport 80:88 -j REDIRECT --to-port 3128 $IPTABLES -t nat -A PREROUTING -s $LOCALNET4 -d 0/0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -s $LOCALNET5 -d 0/0 -p tcp --dport 80:88 -j REDIRECT --to-port 3128 #$IPTABLES -t nat -A PREROUTING -s $LOCALNET5 -d 0/0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -s $LOCALNET7 -d 0/0 -p tcp --dport 80:88 -j REDIRECT --to-port 3128
$IPTABLES -A INPUT -i $REAL_LAN_IP -j LOG $IPTABLES -A FORWARD -i $REAL_LAN_IP -j LOG