thanks for the help!
Code: Select all
#!/bin/bash
#clear any previous NAT settings. presuming NAT modules are already loaded
echo > "eth0 is 192.168.0.1 external interface"
echo > "eth1 is 192.168.10.99 internal interface"
echo "Flushing all previous settings"
iptables -t nat -F
iptables -F
iptables -X
iptables -Z # zero all counters
echo "Setting up Network Address Translator"
#set up NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#turn it on
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Creating blocked ports table"
#block ftpd
#iptables -A INPUT -i eth0 --protocol tcp --dport 2121 -j DROP
#blocking pop3 from the outside for now
iptables -A INPUT -i eth0 --protocol tcp --dport 110 -j DROP
#and pop3s
iptables -A INPUT -i eth0 --protocol tcp --dport 995 -j DROP
#blocking outgoing 8988 UDP for Sobig.E worm
iptables -A INPUT --protocol udp --dport 8998 -j DROP
#blocking incoming port 3000, ntop2 web stuff accessible from inside only
#iptables -A INPUT -i eth0 --protocol tcp --dport 3000 -j DROP
#firewall
echo > "Initializing Firewall Script"
#
#iptables -A INPUT -p udp --destination-port 53 -j ACCEPT
#iptables -A INPUT -p udp --source-port 53 -j ACCEPT
iptables -A FORWARD -p udp --destination-port 53 -j ACCEPT
iptables -A FORWARD -p udp --source-port 53 -j ACCEPT
# Timeservice.
iptables -A FORWARD -p udp --destination-port 37 -j ACCEPT
iptables -A FORWARD -p udp --source-port 37 -j ACCEPT
#
iptables -A FORWARD -p icmp -s !eth1/24 -j DROP
iptables -A FORWARD -p icmp -d eth0/24 -j DROP
# WEB [[[Not sure what this does]]]] so i leave it commented
#iptables -A INPUT -i eth0 -p tcp --destination-port www -j REJECT
# sshd
iptables -A FORWARD -p tcp -s 0/0 -d eth0/24
--destination-port 22 -j LOG
#iptables -A FORWARD -p tcp -s 0/0 -d eth0/24
--destination-port 22 -j ACCEPT
# WWW-Server
iptables -A FORWARD -p tcp -s 0/0 -d 192.168.10.69 --destination-port www -j ACCEPT
# FTP-Server
iptables -A FORWARD -p tcp -s 0/0 -d 192.168.10.69 --destination-port ftp -j
ACCEPT
iptables -A FORWARD -p tcp -s 0/0 -d 192.168.10.69 --destination-port ftp-data
-j ACCEPT
iptables -A FORWARD -p tcp -s eth0/24 -d 0/0 --source-port ftp-data -j ACCEPT
iptables -A FORWARD -p tcp -d eth0/24 -s 0/0 --destination-port ftp-data -j ACCEPT
# ident p. 113 reject
iptables -A FORWARD -p tcp -s eth0/24 -d 0/0 --destination-port auth -j REJECT
iptables -A FORWARD -p tcp -d eth0/24 -s 0/0 --destination-port auth -j REJECT
# SYN-Packets
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
iptables -A FORWARD -p tcp -d eth0/24 -s 0/0 --syn -j LOG
iptables -A FORWARD -p tcp -d eth0/24 -s 0/0 ! --syn -j ACCEPT
iptables -A FORWARD -p tcp -s eth0/24 -d 0/0 -j ACCEPT
#disable response to ICMP broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#some spoof protection. nothing from the internal IP range should be connecting
#to the external interface
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 68.0.118.72 -j DROP
iptables -A INPUT -i eth0 -s 10.0.0.0/8
iptables -A INPUT -i eth0 -s 172.16.0.0/12
#don't accept outgoing packets that aren't from 192.168.1.x
iptables -A INPUT -i eth1 -s ! 192.168.10.0/24 -j DROP
#don't accept source routed packets
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
#unlimited traffic on loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

