Firewall
#! /bin/sh
# Copyright (c) 1995-2004 SUSE Linux AG, Nuernberg, Germany.
# All rights reserved.
#
# Author: Matthias Praunegger
# Please send feedback to http://bgweiz.at
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Firewall
# Description: Firewall for BG/BRG Weiz
### END INIT INFO
IPTABLES=/sbin/iptables
test -x $IPTABLES_BIN || { echo "$IPTABLES_BIN not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
. /etc/rc.status
# Reset status of this service
rc_reset
case "$1" in
start)
echo -n "Starting firewall "
# Variablen
OUT="-m physdev --physdev-in eth0 --physdev-out eth1 "
IN="-m physdev --physdev-in eth1 --physdev-out eth0 "
IPT="iptables -A FORWARD "
TCP="-p tcp "
UDP="-p udp "
DPORT="--destination-port "
IP1d="-d 193.170.221.1 "
IP2d="-d 193.170.221.2 "
IP3d="-d 193.170.221.3 "
IP4d="-d 193.170.221.4 "
IP5d="-d 193.170.221.5 "
IP1s="-s 193.170.221.1 "
IP2s="-s 193.170.221.2 "
IP3s="-s 193.170.221.3 "
IP4s="-s 193.170.221.4 "
IP5s="-s 193.170.221.5 "
### .1
#$IPT $IN $TCP $DPORT 21 $IP1d -j ACCEPT
##$IPT $IN $TCP $DPORT 22 $IP1d -j ACCEPT
$IPT $IN $TCP $DPORT 25 $IP1d -j ACCEPT
$IPT $IN $TCP $DPORT 123 $IP1d -j ACCEPT
$IPT $IN $UDP $DPORT 123 $IP1d -j ACCEPT
$IPT $IN $TCP $DPORT 53 $IP1d -j ACCEPT
$IPT $IN $UDP $DPORT 53 $IP1d -j ACCEPT
$IPT $IN $TCP $DPORT 80 $IP1d -j ACCEPT
$IPT $IN $TCP $DPORT 110 $IP1d -j ACCEPT
$IPT $IN $TCP $DPORT 995 $IP1d -j ACCEPT
$IPT $IN $TCP $DPORT 443 $IP1d -j ACCEPT
$IPT $IN $TCP $DPORT 31337 $IP1d -j ACCEPT
$IPT $IN -p icmp --icmp-type 8 $IP1d -j ACCEPT
#$IPT $OUT $TCP $DPORT 21 $IP1s -j ACCEPT
##$IPT $OUT $TCP $DPORT 22 $IP1s -j ACCEPT
$IPT $OUT $TCP $DPORT 25 $IP1s -j ACCEPT
$IPT $OUT $TCP $DPORT 123 $IP1s -j ACCEPT
$IPT $OUT $UDP $DPORT 123 $IP1s -j ACCEPT
$IPT $OUT $TCP $DPORT 53 $IP1s -j ACCEPT
$IPT $OUT $UDP $DPORT 53 $IP1s -j ACCEPT
$IPT $OUT $TCP $DPORT 80 $IP1s -j ACCEPT
$IPT $OUT $TCP $DPORT 110 $IP1s -j ACCEPT
$IPT $OUT $TCP $DPORT 443 $IP1s -j ACCEPT
$IPT $OUT $TCP $DPORT 31337 $IP1s -j ACCEPT
$IPT $OUT -p icmp --icmp-type 8 $IP1s -j ACCEPT
### .2
$IPT $IN $TCP $DPORT 22 $IP2d -j ACCEPT
#$IPT $IN $TCP $DPORT 53 $IP2d -j ACCEPT
#$IPT $IN $UDP $DPORT 53 $IP2s -j ACCEPT
#$IPT $IN $TCP $DPORT 80 $IP2d -j ACCEPT
$IPT $IN -p icmp --icmp-type 8 $IP2d -j ACCEPT
$IPT $OUT $TCP $DPORT 22 $IP2s -j ACCEPT
#$IPT $OUT $TCP $DPORT 53 $IP2s -j ACCEPT
#$IPT $OUT $UDP $DPORT 53 $IP2s -j ACCEPT
$IPT $OUT $TCP $DPORT 80 $IP2s -j ACCEPT
$IPT $OUT -p icmp --icmp-type 8 $IP2s -j ACCEPT
### .3
##$IPT $IN $TCP $DPORT 22 $IP3d -j ACCEPT
$IPT $IN $TCP $DPORT 25 $IP3d -j ACCEPT
$IPT $IN $TCP $DPORT 110 $IP3d -j ACCEPT
$IPT $IN $TCP $DPORT 143 $IP3d -j ACCEPT
#$IPT $IN $TCP $DPORT 80 $IP3d -j ACCEPT
$IPT $IN -p icmp --icmp-type 8 $IP3d -j ACCEPT
##$IPT $OUT $TCP $DPORT 22 $IP3s -j ACCEPT
$IPT $OUT $TCP $DPORT 25 $IP3s -j ACCEPT
$IPT $OUT $TCP $DPORT 110 $IP3s -j ACCEPT
$IPT $OUT $TCP $DPORT 143 $IP3s -j ACCEPT
#$IPT $OUT $TCP $DPORT 80 $IP3s -j ACCEPT
$IPT $OUT -p icmp --icmp-type 8 $IP3s -j ACCEPT
### .4
#$IPT $IN $TCP $DPORT 20 $IP4d -j ACCEPT
#$IPT $IN $UDP $DPORT 20 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 21 $IP4d -j ACCEPT
#$IPT $IN $UDP $DPORT 21 $IP4d -j ACCEPT
#$IPT $OUT $TCP $DPORT 1024:65535 $IP4d -j ACCEPT
##$IPT $OUT $TCP $DPORT 20000:20120 $IP4d -j ACCEPT
#$IPT $OUT $UDP $DPORT 1024:65535 $IP4d -j ACCEPT
##$IPT $OUT $UDP $DPORT 20000:20120 $IP4d -j ACCEPT
##$IPT $IN $TCP $DPORT 22 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 25 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 123 $IP4d -j ACCEPT
#$IPT $IN $UDP $DPORT 123 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 53 $IP4d -j ACCEPT
#$IPT $IN $UDP $DPORT 53 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 80 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 81 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 902 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 110 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 995 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 443 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 31337 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 5801 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 5802 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 5803 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 5804 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 5901 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 5902 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 5903 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 5904 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 6001 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 6002 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 6003 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 6004 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 9090 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 8080 $IP4d -j ACCEPT
#$IPT $IN $TCP $DPORT 1234 $IP4d -j ACCEPT
$IPT $IN -p icmp --icmp-type 8 $IP4d -j ACCEPT
#$IPT $OUT $TCP $DPORT 20 $IP4s -j ACCEPT
#$IPT $OUT $UDP $DPORT 20 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 21 $IP4s -j ACCEPT
#$IPT $OUT $UDP $DPORT 21 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 1024:65535 $IP4s -j ACCEPT
##$IPT $OUT $TCP $DPORT 20000:20120 $IP4s -j ACCEPT
##$IPT $OUT $UDP $DPORT 1024:65535 $IP4s -j ACCEPT
##$IPT $OUT $UDP $DPORT 20000:20120 $IP4s -j ACCEPT
##$IPT $OUT $TCP $DPORT 22 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 25 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 123 $IP4s -j ACCEPT
#$IPT $OUT $UDP $DPORT 123 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 53 $IP4s -j ACCEPT
#$IPT $OUT $UDP $DPORT 53 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 80 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 81 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 902 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 110 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 443 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 5801 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 5802 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 5803 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 5804 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 5901 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 5902 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 5903 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 5904 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 6001 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 6002 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 6003 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 6004 $IP4s -j ACCEPT
#$IPT $OUT $TCP $DPORT 31337 $IP4s -j ACCEPT
$IPT $OUT -p icmp --icmp-type 8 $IP4s -j ACCEPT
### .5
#ftp
#HIGH="1024:65535"
#
# $IPT $IN $TCP $DPORT 20 $IP5d -j ACCEPT
# $IPT $IN $UDP $DPORT 20 $IP5d -j ACCEPT
# $IPT $IN $TCP $DPORT 21 $IP5d -j ACCEPT
# $IPT $IN $UDP $DPORT 21 $IP5d -j ACCEPT
# #$IPT $IN $TCP $DPORT $HIGH $IP5d -j ACCEPT
# #$IPT $IN $UDP $DPORT $HIGH $IP5d -j ACCEPT
$IPT $IN $TCP $DPORT 8080 $IP5d -j ACCEPT
# poesi
$IPT $IN $TCP $DPORT 110 $IP5d -j ACCEPT
$IPT $IN $TCP $DPORT 6885 $IP5d -j ACCEPT
$IPT $IN $TCP $DPORT 16063 $IP5d -j ACCEPT
$IPT $IN $UDP $DPORT 16063 $IP5d -j ACCEPT
$IPT $IN $TCP $DPORT 4346 $IP5d -j ACCEPT
$IPT $IN $TCP $DPORT 7924 $IP5d -j ACCEPT
$IPT $IN $UDP $DPORT 7924 $IP5d -j ACCEPT
# $IPT $OUT $TCP $DPORT 20 $IP5s -j ACCEPT
# $IPT $OUT $UDP $DPORT 21 $IP5s -j ACCEPT
# $IPT $OUT $TCP $DPORT 21 $IP5s -j ACCEPT
# $IPT $OUT $UDP $DPORT 21 $IP5s -j ACCEPT
# #$IPT $OUT $TCP $DPORT $HIGH $IP5s -j ACCEPT
# #$IPT $OUT $UDP $DPORT $HIGH $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 22 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 25 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 53 $IP5s -j ACCEPT
$IPT $OUT $UDP $DPORT 53 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 80 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 110 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 143 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 443 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 1755 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 6667 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 5190 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 8000 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 8080 $IP5s -j ACCEPT
# www.portal.at
$IPT $OUT $TCP $DPORT 9080 $IP5s -j ACCEPT
# telebanking psk
$IPT $OUT $TCP $DPORT 3048 $IP5s -j ACCEPT
# poesi
$IPT $OUT $TCP $DPORT 4346 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 16063 $IP5s -j ACCEPT
$IPT $OUT $UDP $DPORT 16063 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 6885 $IP5s -j ACCEPT
$IPT $OUT $TCP $DPORT 7924 $IP5s -j ACCEPT
$IPT $OUT $UDP $DPORT 7924 $IP5s -j ACCEPT
# FTP
HIGH_PORTS="1024:65535"
##rückwand
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
## verbindungsaufbau ftp:
iptables -A FORWARD -o eth0 -p tcp --sport $HIGH_PORTS --dport ftp -m state --state NEW -j ACCEPT
## passives ftp:
iptables -A FORWARD -o eth0 -p tcp --sport $HIGH_PORTS --dport $HIGH_PORTS -m state --state NEW -j ACCEPT
#
# verbindungsaufbau ftp:
iptables -A FORWARD -o eth0 -p udp --sport $HIGH_PORTS --dport ftp -m state --state NEW -j ACCEPT
## passives ftp:
iptables -A FORWARD -o eth0 -p udp --sport $HIGH_PORTS --dport $HIGH_PORTS -m state --state NEW -j ACCEPT
#
# PTF
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 16063 -j DNAT --to-destination 193.170.221.5:16063
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4346 -j DNAT --to-destination 193.170.221.5:6346
# webmail klockwork
$IPT $OUT $TCP $DPORT 8888 $IP5s -j ACCEPT
$IPT $OUT -p icmp --icmp-type 8 $IP5s -j ACCEPT
### alle
$IPT -m physdev --physdev-is-bridged -m state --state ESTABLISHED,RELATED -j ACCEPT
### dropall
$IPT -j DROP
rc_status -v
;;
stop)
echo -n "Shutting down firewall "
iptables -F
rc_status -v
;;
restart)
$0 stop
$0 start
rc_status
;;
status)
echo -n "Checking for service firewall "
iptables -L
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
rc_exit