#!/bin/bash
# Firewall configuration by
# Robert Spangler
# Tables Rules CLEAR/FLUSH/RESET
################################
iptables -F
iptables -Z
iptables -X
# Set Default Policies
######################
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
# Forward Rules
###############
iptables -A FORWARD -i eth0 -j WAN
iptables -A FORWARD -i eth1 -j LAN
# Loopback Rules
################
iptables -A -i lo -j ACCEPT
iptables -A -o lo -j ACCEPT
# WAN Rules
###########
iptables -A WAN -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A WAN -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A WAN -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A WAN -j DROP
# LAN Rules
###########
iptables -A LAN -d 66.110.24.220 -j DROP
iptables -A LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A LAN -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A LAN -p udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A LAN -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A LAN -p udp --dport 137:138 -m state --state NEW -j ACCEPT
iptables -A LAN -p tcp --dport 139 -m state --state NEW -j ACCEPT
iptables -A LAN -p tcp --dport 445 -m state --state NEW -j ACCEPT
iptables -A LAN -p tcp --dport 5901 -m state --state NEW -j ACCEPT
iptables -A LAN -j REJECT --reject-with icmp-port-unreachable
iptables -A LAN -j DROP
# Postrouting Rules
###################
iptables -A POSTROUTING -o eth0 -j MASQUERADE