rendered paste body#!/bin/bash
# Flush any existing rules and set the default policies
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# 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
# 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
# Steam
iptables -A INPUT -p tcp --dport 27000:27041 -j ACCEPT
iptables -A INPUT -p udp --dport 27000:27041 -j ACCEPT
# Steam Friends Service
iptables -A INPUT -p udp --dport 1200 -j ACCEPT
# Quake 3
iptables -A INPUT -p tcp --dport 27960 -j ACCEPT
iptables -A INPUT -p udp --dport 27960 -j ACCEPT
# Quake 2
iptables -A INPUT -p udp --dport 27910 -j ACCEPT
iptables -A INPUT -p udp --dport 27910 -j ACCEPT
# StarCraft
iptables -A INPUT -p tcp --dport 6112 -j ACCEPT
iptables -A INPUT -p udp --dport 6112 -j ACCEPT
# AIM DCC
iptables -A INPUT -p tcp --dport 5190:5200 -j ACCEPT
iptables -A INPUT -p udp --dport 5190:5200 -j ACCEPT
# Custom DC++ Port
iptables -A INPUT -p tcp --dport 27072 -j ACCEPT
iptables -A INPUT -p udp --dport 27072 -j ACCEPT
# Report what happened
echo 'Firewall rules installed:'
iptables -L
exit