#!/bin/bash
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "Modules loaded"
iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
echo "Flush OK"
iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p TCP -s 192.168.0.0/24 -m multiport --dport 21,22,25,110,995,8080,3128,1723 -j ACCEPT
iptables -A INPUT -p TCP -s 192.168.0.0/24 -m multiport --dport 22,3128,80 -j ACCEPT
iptables -A INPUT -p TCP -s 192.168.0.0/24 -m multiport --dport 22,3128,80 -j ACCEPT
iptables -A INPUT -p UDP -s 192.168.0.0/24 --dport ! 53 -j DROP
iptables -A INPUT -p UDP -s 192.168.0.241/32 -m multiport --destination-port ! 123,53 -j DROP
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -m conntrack --ctstate NEW -j ACCEPT
iptables -A POSTROUTING -t nat -o eth2 -j MASQUERADE
iptables -A FORWARD -p TCP -s 192.168.0.0/24 -m multiport --dport 21,25,160,110,995,587,993,1024,87,9080,9443,8470,465,1723,1$
iptables -A FORWARD -p TCP -s 192.168.0.0/24 -m multiport --dport 143,587,9443,1110 -j ACCEPT # Promsvyazbank
################################ N T P #########################
iptables -A FORWARD -p udp --dport 123 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.2 --dport 123 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.3 --dport 123 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.5 --dport 123 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.50 --dport 123 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.80 --dport 123 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.244 --dport 123 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.250 --dport 123 -j ACCEPT
echo "NTP OK"
################################### R e d i r e c t t o S r v ####################################
iptables -t nat -A PREROUTING -p TCP --dst 192.168.0.241 --dport 80 -j DNAT --to-destination 192.168.0.72
iptables -A FORWARD -p tcp -i eth2 -d 192.168.0.72 --dport 80 -j ACCEPT
echo "PrjSrv OK"
######################################## VPN U s e r s ##########################3
iptables -A FORWARD -p TCP -s 192.168.0.20 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.21 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.22 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.21 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.22 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.23 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.24 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.19 -m multiport --dport 3389,1723,4899,139,5500,160,53,445 -j ACCEPT
iptables -A FORWARD -s 192.168.0.18 -j ACCEPT
iptables -A FORWARD -s 192.168.0.26 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.27 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.28 -m multiport --dport 3389,1723,4899,139,5500,160,53 -j ACCEPT
iptables -A FORWARD -s 192.168.0.29 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.65 -m multiport --dport 3389,139,160,53 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.0.66 -m multiport --dport 3389,139,160,53 -j ACCEPT
iptables -A FORWARD -p UDP -s 192.168.0.0/24 --dport 53 -j ACCEPT
echo "VPN rules OK"
###################################### Free WiFi clients ######################
iptables -A FORWARD -s 192.168.0.16 -m multiport --dport 80,3128 -j ACCEPT
echo "Wifi internet clients OK"