All pastes #203312 Raw Edit

Anonymous

public text v1 · immutable
#203312 ·published 2006-10-15 01:51 UTC
rendered paste body
#!/bin/bash

/etc/init.d/iptables stop

export LAN=eth0
export WAN=eth1

# tell the kernel that forwarding is OK
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

# Flush any existing rules and set the default policies
iptables -F
iptables -t nat -F
iptables -P INPUT REJECT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Accept anything from myself
iptables -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

# Allow existing connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# routing services only work for the LAN
iptables -I INPUT 1 -i ${LAN} -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT

# Drop packets to priveleged ports
iptables -A INPUT -p TCP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
iptables -A INPUT -p UDP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP

# rules for NAT
iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

# Allow myself to be a non-passive FTP client
iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT

# Do not allow a local user to connect to a remote Telnet
# server and thus give away login and password information:
iptables -A OUTPUT -p tcp --dport telnet -j REJECT

# proftp stuff
iptables -A INPUT -p tcp --dport 60000:65535 -j ACCEPT
iptables -A INPUT -p tcp --dport 800 -j ACCEPT

# SSH
iptables -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT

# DC++ Port (custom)
iptables -A INPUT -p tcp --dport 27072 -j ACCEPT
iptables -A INPUT -p udp --dport 27072 -j ACCEPT

# Gnutella Listen Port (custom)
iptables -A INPUT -p tcp --dport 24247 -j ACCEPT
iptables -A INPUT -p udp --dport 24247 -j ACCEPT

# Appolon
iptables -A INPUT -p tcp --dport 1215 -j ACCEPT
iptables -A INPUT -p udp --dport 1215 -j ACCEPT

# Steam Clients
iptables -A INPUT -p tcp --dport 27020:27041 -j ACCEPT
iptables -A INPUT -p udp --dport 27020:27041 -j ACCEPT
iptables -A INPUT -p udp --dport 1200 -j ACCEPT

# Steam Servers
iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
iptables -A INPUT -p udp --dport 27015 -j ACCEPT

# Steam Friends Service
iptables -A INPUT -p udp --dport 1200 -j ACCEPT

# TeamSpeak
#off# iptables -A INPUT -p tcp --dport 14534 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 51234 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 8767 -j ACCEPT

# Unreal
#off# iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 7777 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 7778 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 7779 -j ACCEPT # plus?
#off# iptables -A INPUT -p udp --dport 27900 -j ACCEPT

# UnrealTournament
#off# iptables -A INPUT -p tcp --dport 7777 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 8777 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 9777 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 27900 -j ACCEPT

# UnrealTournament 2003/2004
#off# iptables -A INPUT -p tcp --dport 42292 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 7777 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 7778 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 7787 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27900 -j ACCEPT

# RTC Wolfenstein
#off# iptables -A INPUT -p udp --dport 27950 -j ACCEPT # 27950:27951?
#off# iptables -A INPUT -p udp --dport 27960 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27965 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27952 -j ACCEPT

# RTC Wolfenstein: Enemy Territory
#off# iptables -A INPUT -p udp --dport 27960 -j ACCEPT

# Worms Armageddon
#off# iptables -A INPUT -p tcp --dport 17010:17012 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 6667 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# Tribes 2
#off# iptables -A INPUT -p tcp --dport 15101 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 15104 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 15204 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 15206 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 15800 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27999 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 28000:29000 -j ACCEPT

# Tribes Aerial Assault
#off# iptables -A INPUT -p tcp --dport 28000:28008 -j ACCEPT

# Tribes Vengence
#off# iptables -A INPUT -p tcp --dport 7777 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 7777 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 7778 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 7778 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 28910 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 6500 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27900 -j ACCEPT

# Diablo/Diablo 2
#off# iptables -A INPUT -p tcp --dport 4000:6112 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 4000:6112 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 6112-6119 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 6112-6119 -j ACCEPT

# Doom 3
iptables -A INPUT -p tcp --dport 27666 -j ACCEPT
iptables -A INPUT -p udp --dport 27666 -j ACCEPT
iptables -A INPUT -p tcp --dport 27650 -j ACCEPT
iptables -A INPUT -p udp --dport 27650 -j ACCEPT

# FEAR
#off# iptables -A INPUT -p tcp --dport 27888 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27888 -j ACCEPT

# Hexen 2
#off# iptables -A INPUT -p tcp --dport 26900 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 26900 -j ACCEPT

# Far Cry
#off# iptables -A INPUT -p tcp --dport 49001:49002 -j ACCEPT # tcp:40000-42999 ??
#off# iptables -A INPUT -p udp --dport 49001:49002 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 49124 -j ACCEPT # udp:41005,41006,44000,49001 ??

# Gamespy
#off# iptables -A INPUT -p tcp --dport 6667 -j ACCEPT #irc
#off# iptables -A INPUT -p tcp --dport 3783 -j ACCEPT #voice
#off# iptables -A INPUT -p tcp --dport 27900 -j ACCEPT #master server udp heart beat
#off# iptables -A INPUT -p tcp --dport 28900 -j ACCEPT #master server list request
#off# iptables -A INPUT -p tcp --dport 29900 -j ACCEPT #gp connection manager
#off# iptables -A INPUT -p tcp --dport 29901 -j ACCEPT #gp search manager
#off# iptables -A INPUT -p tcp --dport 13139 -j ACCEPT #custom udp pings
#off# iptables -A INPUT -p tcp --dport 6515 -j ACCEPT #dplay udp
#off# iptables -A INPUT -p tcp --dport 6500 -j ACCEPT #query
#off# iptables -A INPUT -p tcp --dport 6700 -j ACCEPT

# Red Faction
#off# iptables -A INPUT -p udp --dport 7755 -j ACCEPT

# Quake 4
iptables -A INPUT -p udp --dport 28004 -j ACCEPT
iptables -A INPUT -p udp --dport 27950 -j ACCEPT

# Quake 3
iptables -A INPUT -p tcp --dport 27960 -j ACCEPT
iptables -A INPUT -p udp --dport 27960 -j ACCEPT

# Quake 2
#off# iptables -A INPUT -p tcp --dport 27910 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27910 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 27901 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27901 -j ACCEPT

# Quake 1
#off# iptables -A INPUT -p tcp --dport 26000 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 26000 -j ACCEPT

# Serious Sam: The Second Encounter
#off# iptables -A INPUT -p tcp --dport 25600:25616 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 25600:25616 -j ACCEPT

# Soldier of Fortune
#off# iptables -A INPUT -p udp --dport 28910:28915 -j ACCEPT

# Soldier of Fortune 2
#off# iptables -A INPUT -p udp --dport 20100 -j ACCEPT # 20100:10120 ?

# StarCraft
#off# iptables -A INPUT -p udp --dport 6112 -j ACCEPT

# Starseige Tribes
#what# iptables -A INPUT -p tcp --dport 28001 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 27999 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 28000 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 28008 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 28020 -j ACCEPT

# Arcanum
#off# iptables -A INPUT -p tcp --dport 11501 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 15204 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 15300 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 15800 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 20851 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 31435 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 31435 -j ACCEPT

# Aliens vs Predator
#off# iptables -A INPUT -p udp --dport 80 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 2300:2400 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 8000:8999 -j ACCEPT

# Aliens vs Predator 2
#off# iptables -A INPUT -p tcp --dport 2300:2400 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 7000:10000 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 27888:27900 -j ACCEPT

# Baldurs Gate 1 and 2
#off# iptables -A INPUT -p tcp --dport 2300 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 2300 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 2400:6073 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 2400:6073 -j ACCEPT

# MySQL Server
#off# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 3306 -j ACCEPT

# VNC
#off# iptables -A INPUT -p tcp --dport 5500 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 5500 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 5800 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 5800 -j ACCEPT
#off# iptables -A INPUT -p tcp --dport 5900 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 5900 -j ACCEPT

# POP3
#off# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 110 -j ACCEPT

# SSH
#off# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 22 -j ACCEPT

# ICQ
#off# iptables -A INPUT -p tcp --dport 5190 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 5190 -j ACCEPT

# Yahoo P2P Instant Message
#off# iptables -A INPUT -p tcp --dport 5101 -j ACCEPT

# Yahoo file Transfer
#off# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# Yahoo webcam
#off# iptables -A INPUT -p tcp --dport 5100 -j ACCEPT

# Yahoo voice chat
#off# iptables -A INPUT -p udp --dport 5000:5010 -j ACCEPT

# IRC DCC
iptables -A INPUT -p tcp --dport 10051:10070 -j ACCEPT
iptables -A INPUT -p udp --dport 10051:10070 -j ACCEPT

# Windows SMB
iptables -A INPUT -p tcp --dport 135:139 -j ACCEPT
iptables -A INPUT -p udp --dport 135:139 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -p udp --dport 445 -j ACCEPT

# AIM DCC
#off# iptables -A INPUT -p tcp --dport 5190:5200 -j ACCEPT

# AIM Video IM
#off# iptables -A INPUT -p tcp --dport 1024:5000 -j ACCEPT
#off# iptables -A INPUT -p udp --dport 1024:5000-j ACCEPT

# Report what happened
echo 'Firewall rules installed:'
iptables -L

/etc/init.d/iptables save
/etc/init.d/iptables start

exit