All pastes #359010 Raw Edit

Untitled

public text v1 · immutable
·published 2007-02-16 14:38 UTC
rendered paste body
#!/bin/sh
##################################################################################
# GLOBAL VARIABLES
##################################################################################

IFCONFIG=/sbin/ifconfig
AWK=/bin/awk

INTIF="eth0"
INTIF2="eth1"
EXTIF="eth2"
echo " External Interface:   $EXTIF"
echo " Internal Interface 1:   $INTIF"
echo " Internal Interface 2:   $INTIF2"
echo " ---"

EXTIP="`$IFCONFIG $EXTIF | $AWK \
 /$EXTIF/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
echo " External IP: $EXTIP"
echo " ---"


iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

##################################################################################
# FORWARD RULES
##################################################################################

iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT # eth0 -> eth2
iptables -A FORWARD -i $INTIF2 -o $EXTIF -j ACCEPT # eth1 -> eth2
iptables -A FORWARD -i $INTIF -o $INTIF -j ACCEPT # eth0 -> eth0
iptables -A FORWARD -i $INTIF2 -o $INTIF2 -j ACCEPT # eth1 -> eth1
iptables -A FORWARD -i $INTIF -o $INTIF2 -j ACCEPT # eth0 -> eth1
iptables -A FORWARD -i $INTIF2 -o $INTIF -j ACCEPT # eth1 -> eth0
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT # eth3 -> eth0
iptables -A FORWARD -i $EXTIF -o $INTIF2 -m state --state ESTABLISHED,RELATED -j ACCEPT # eth3 -> eth1

##################################################################################
# INPUT RULES
##################################################################################

iptables -A INPUT -s 127.0.0.1 -j ACCEPT # lo
iptables -A INPUT -i $INTIF -j ACCEPT # eth0
iptables -A INPUT -i $INTIF2 -j ACCEPT # eth1
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # eth3 + any other interface not specified just in case

# ECHO ICMP PING ALLOW
iptables -A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

##################################################################################
# vsFTP Server on the Firewall
##################################################################################

iptables -A INPUT -i $EXTIF -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT

# ACTIVE
iptables -A INPUT -i $EXTIF -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT

# PASSIVE
iptables -A INPUT -i $EXTIF -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT


##################################################################################
# OUTPUT RULES
##################################################################################

iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT # lo
iptables -A OUTPUT -s 192.168.1.253 -j ACCEPT # eth0
iptables -A OUTPUT -s 192.168.6.250 -j ACCEPT # eth1
iptables -A OUTPUT -s $EXTIP -j ACCEPT # eth2

##################################################################################
# POSTROUTING
##################################################################################

iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.3.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.4.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.5.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.6.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.10.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.11.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.56.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP
iptables -t nat -A POSTROUTING -s 192.168.57.0/255.255.255.0 -o $EXTIF -j SNAT --to-source $EXTIP