#!/bin/bash -x # safenet = where non-trusted boxes sit - do not trust on local network at all # # lan = local area (safe) network # # dmz = server network that cannot touch anything other than wan # # alp = ayrshire lan party that cannot touch anything other than wan and dmz # # wan = Internet Connectivity # # wlan = Wireless network - Secured with WPA Enterprise # # flush existing settings iptables -F iptables -X iptables -t nat -F # drop all by default iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # interfaces wanif="eth0" wlanif="ath0" lanif="eth1.2" dmzif="eth1.3" safeif="eth1.4" alpif="eth1.5" # networks wannet="" wlannet="10.0.1.0/24" lannet="10.0.0.0/24" dmznet="10.0.2.0/24" safenet="10.0.3.0/24" alpnet="10.10.0.0/24" # ip(s) lanip="10.0.0.1" wlanip="10.0.1.1" dmzip="10.0.2.1" safeip="10.0.3.1" alpip="10.10.0.1" # nat natextip="82.153.32.153" # dns nameserver1="212.104.130.9" nameserver2="212.104.130.65" ## LAN ## ## [INPUT] LAN --> GATEWAY ## iptables -A INPUT -i $lanif -s $lannet -p tcp -d $lanip --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [OUTPUT] GATEWAY --> LAN ## iptables -A OUTPUT -o $lanif -s $lanip -d $lannet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] LAN --> DMZ ## iptables -A FORWARD -i $lanif -o $dmzif -s $lannet -d $dmznet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] LAN --> WLAN ## iptables -A FORWARD -i $lanif -o $wlanif -s $lannet -d $wlannet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] LAN --> ALP ## iptables -A FORWARD -i $lanif -o $alpif -s $lannet -d $alpnet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] LAN --> WAN ## iptables -A FORWARD -i $lanif -o $wanif -s $lannet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [NAT] LAN --> INTERNET ## iptables -t nat -A POSTROUTING -o $wanif -s $lannet -j SNAT --to $natextip ## DMZ ## ## [FORWARD] DMZ --> LAN ## iptables -A FORWARD -i $dmzif -o $lanif -s $dmznet -d $lannet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] DMZ --> WLAN ## iptables -A FORWARD -i $dmzif -o $wlanif -s $dmznet -d $wlannet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] DMZ --> ALP ## iptables -A FORWARD -i $dmzif -o $alpif -s $dmznet -d $alpnet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] DMZ --> WAN ## iptables -A FORWARD -i $dmzif -o $wanif -s $dmznet -p udp -d $nameserver1 --dport 53 -m state --state NEW,ESTABLISHED,RELATE$ iptables -A FORWARD -i $dmzif -o $wanif -s $dmznet -p udp -d $nameserver2 --dport 53 -m state --state NEW,ESTABLISHED,RELATE$ iptables -A FORWARD -i $dmzif -o $wanif -s $dmznet -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $dmzif -o $wanif -s $dmznet -p tcp --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $dmzif -o $wanif -s $dmznet -p tcp --dport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $dmzif -o $wanif -s $dmznet -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $dmzif -o $wanif -s $dmznet -p tcp --dport 6667 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [NAT] DMZ --> INTERNET ## iptables -t nat -A POSTROUTING -o $wanif -s $dmznet -j SNAT --to $natextip ## WAN ## ## [FORWARD] WAN --> LAN ## iptables -A FORWARD -i $wanif -o $lanif -d $lannet -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $wanif -o $lanif -d $lannet -p tcp --dport 32825 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] WAN --> DMZ ## iptables -A FORWARD -i $wanif -o $dmzif -d $dmznet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] WAN --> WLAN ## iptables -A FORWARD -i $wanif -o $wlanif -d $wlannet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] WAN --> SAFENET ## iptables -A FORWARD -i $wanif -o $safeif -d $safenet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] WAN --> ALP ## iptables -A FORWARD -i $wanif -o $alpif -d $alpnet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [NAT] WAN --> LAN ## iptables -t nat -A PREROUTING -i $wanif -p tcp -d $natextip --dport 32825 -j DNAT --to-destination 10.0.0.2 ## WLAN ## ## [FORWARD] WLAN --> LAN ## iptables -A FORWARD -i $wlanif -o $lanif -s $wlannet -d $lannet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] WLAN --> DMZ ## iptables -A FORWARD -i $wlanif -o $dmzif -s $wlannet -d $dmznet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] WLAN --> ALP ## iptables -A FORWARD -i $wlanif -o $alpif -s $wlannet -d $alpnet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] WLAN --> WAN ## iptables -A FORWARD -i $wlanif -o $wanif -s $wlannet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [NAT] WLAN --> INTERNET ## iptables -t nat -A POSTROUTING -o $wanif -s $wlannet -j SNAT --to $natextip ## SAFENET ## ## [FORWARD] SAFENET --> WAN ## iptables -A FORWARD -i $safeif -o $wanif -s $safenet -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $dmzif -o $wanif -s $safenet -p udp -d $nameserver1 --dport 53 -m state --state NEW,ESTABLISHED,RELAT$ iptables -A FORWARD -i $dmzif -o $wanif -s $safenet -p udp -d $nameserver2 --dport 53 -m state --state NEW,ESTABLISHED,RELAT$ ## [NAT] SAFENET --> INTERNET ## iptables -t nat -A POSTROUTING -o $wanif -s $safenet -j SNAT --to $natextip ## ALP ## ## [FORWARD] ALP --> LAN ## iptables -A FORWARD -i $alpif -o $lanif -s $alpnet -d $lannet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] ALP --> DMZ ## iptables -A FORWARD -i $alpif -o $dmzif -s $alpnet -d $dmznet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] ALP --> WLAN ## iptables -A FORWARD -i $alpif -o $wlanif -s $alpnet -d $wlannet -m state --state ESTABLISHED,RELATED -j ACCEPT ## [FORWARD] ALP --> WAN ## iptables -A FORWARD -i $alpif -o $wanif -s $alpnet -p tcp --dport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $alpif -o $wanif -s $alpnet -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $alpif -o $wanif -s $alpnet -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $alpif -o $wanif -s $alpnet -p udp -d $nameserver1 --dport 53 -m state --state NEW,ESTABLISHED,RELATED iptables -A FORWARD -i $alpif -o $wanif -s $alpnet -p udp -d $nameserver2 --dport 53 -m state --state NEW,ESTABLISHED,RELATED ## [NAT] ALP --> INTERNET ## iptables -t nat -A POSTROUTING -o $wanif -s $alpnet -j SNAT --to $natextip