All pastes #332372 Raw Edit

Someone

public text v1 · immutable
#332372 ·published 2007-01-29 23:02 UTC
rendered paste body
root@gw:/etc/rc.d# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.1.0      0.0.0.0         255.255.255.248 U     0      0        0 eth0
172.16.1.0      0.0.0.0         255.255.255.248 U     0      0        0 eth0
10.0.1.0        0.0.0.0         255.255.255.240 U     0      0        0 ath0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1.2
10.10.0.0       0.0.0.0         255.255.255.0   U     0      0        0 eth1.5
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1.3
10.0.3.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1.4
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         172.16.1.1      0.0.0.0         UG    0      0        0 eth0
root@gw:/etc/rc.d#


#!/bin/bash -x

iptables='/usr/local/sbin/iptables'

# 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="217.151.109.185"
natextip="172.16.1.2"

# dns
nameserver1="217.151.98.2"
nameserver2="217.151.103.2"

# fix arp and conntrack limits
echo 16 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 256 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
echo 65000 > /proc/sys/net/ipv4/ip_conntrack_max



                                        ## 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
$iptables -A FORWARD -i $wanif -o $lanif -d $lannet -p tcp --dport 6346 -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
$iptables -A FORWARD -i $wanif -o $dmzif -d $dmznet -p tcp --dport 6667 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$iptables -A FORWARD -i $wanif -o $dmzif -d $dmznet -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$iptables -A FORWARD -i $wanif -o $dmzif -d $dmznet -p tcp --dport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$iptables -A FORWARD -i $wanif -o $dmzif -d $dmznet -p tcp --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$iptables -A FORWARD -i $wanif -o $dmzif -d $dmznet -p tcp --dport 993 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$iptables -A FORWARD -i $wanif -o $dmzif -d $dmznet -p tcp --dport 995 -m state --state NEW,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
$iptables -t nat -A PREROUTING -i $wanif -p tcp -d $natextip --dport 6346 -j DNAT --to-destination 10.0.0.2

## [NAT] WAN --> DMZ ##

# iptables -t nat -A PREROUTING -p tcp -d $natextip --dport 995 -j DNAT --to-destination 10.0.2.10

                                        ## 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 -m state --state ESTABLISHED,RELATED -j ACCEPT
$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

                                        ## 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 -m state --state ESTABLISHED,RELATED -j ACCEPT
$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 -m state --state ESTABLISHED,RELATED -j ACCEPT
$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

# temp #
$iptables -A FORWARD -i $alpif -o $wanif -s $alpnet -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

## [NAT] ALP --> INTERNET ##
$iptables -t nat -A POSTROUTING -o $wanif -s $alpnet -j SNAT --to $natextip