Neue Version V963
git-svn-id: svn://svn.compuextreme.de/Viitor/V963/Viitor_iptables@5933 504e572c-2e33-0410-9681-be2bf7408885
This commit is contained in:
commit
7345882d8a
1226
etc/init.d/.firewallfunc
Executable file
1226
etc/init.d/.firewallfunc
Executable file
File diff suppressed because it is too large
Load Diff
461
etc/init.d/firewall
Normal file
461
etc/init.d/firewall
Normal file
|
@ -0,0 +1,461 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
|
||||||
|
#dieses Framework wird im CVS Repository
|
||||||
|
#:pserver:cvs.rainmaker-mm.de/RMM/cvs zur Verfügung gestellt
|
||||||
|
#
|
||||||
|
#Lage dieser Datei im Archiv: $Source$
|
||||||
|
#
|
||||||
|
#(c) Rainmaker MultiMedia OHG
|
||||||
|
#This program is free software; you can redistribute it and/or
|
||||||
|
#modify ist under the terms of the GNU General Public License
|
||||||
|
#as published by the Free Software Foundation; either version
|
||||||
|
#2 of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
#This program is distributed in the hope that it will be useful,
|
||||||
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
#See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
#You should have received a copy of the GNU General Public License
|
||||||
|
#along with this program; if not write to the Free Software Foundation,
|
||||||
|
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
#
|
||||||
|
#Beschreibung:
|
||||||
|
#Neues Firewall Script für MonsumLinux. Dieses Script arbeitet
|
||||||
|
#in Verbindung mit /etc/init.d/functions und /etc/init.d/.firewallfunc
|
||||||
|
#Durch einfache Konfiguration über die Datei /etc/sysconfig/firewall
|
||||||
|
#kann die Firewall eingestellt werden. Es wird dediziert angegeben
|
||||||
|
#welche Systeme durch die Firewall das Angeschlossene Internet mit
|
||||||
|
#Dynamischer IP Nutzen können. Zugriff auf den Router selber, sowie
|
||||||
|
#das Routing durch den Router für die Local angeschlossenen Netze
|
||||||
|
#kann getrennt gesteuert werden.
|
||||||
|
#Die Firewall arbeitet nach der Regel: Alles was nicht explizit erlaubt
|
||||||
|
#ist, ist verboten.
|
||||||
|
#
|
||||||
|
#Aufrufparameter:
|
||||||
|
#Es handelt sich um ein System V Init script. Entsprechend die Optionen
|
||||||
|
#start und stop
|
||||||
|
#
|
||||||
|
#Letzte Änderung von: $Author$
|
||||||
|
#Datum der letzten Änderung: $Date$
|
||||||
|
#Version der Datei: $Revision$
|
||||||
|
#
|
||||||
|
#$Log$
|
||||||
|
#Revision 1.20 2007/05/09 12:03:06 segler
|
||||||
|
#firewall.template has moved to etc/sysconfig/net
|
||||||
|
#
|
||||||
|
#Revision 1.19 2007/05/02 12:07:35 segler
|
||||||
|
#iptables resides in /usr/sbin, not /sbin
|
||||||
|
#
|
||||||
|
#Revision 1.18 2007/03/23 11:25:32 kueller
|
||||||
|
#Neue Funktionen und bugfixes eingepflegt. (Diese laufen auf skylla und sphinx stabil)
|
||||||
|
#
|
||||||
|
#Revision 1.17 2006/08/24 21:19:41 kueller
|
||||||
|
#Viele Funktionen ueberarbeitet. Erkennung der incomming devices optimiert.
|
||||||
|
#Wird nicht mehr ueber das DEVICES Array mit verschachtelten schleifen gemacht,
|
||||||
|
#sondern ueber ausgaben von netstat -rn mit zugehoerigen netzadressen ->
|
||||||
|
#das ist deutlich schneller.
|
||||||
|
#Ausserdem ausbau und verbesserung diverser Firewall einstellungen. Weiter
|
||||||
|
#entwicklung des port forwardings auf interne Server -> dem scheint jetzt
|
||||||
|
#auch mit MASQUERADE zu funktionieren.
|
||||||
|
#Weiterhin die entschluesselung von "Portnummer;tcp" aufgehoben. dafuer
|
||||||
|
#werden jetzt jeweils 2 Variablen (1x udp, 1x tcp) definiert, und deren
|
||||||
|
#inhalte mit -m multiport auf einen schlag uebergeben. Das spart einiges
|
||||||
|
#an Schleifen und beschleunigt das script emminent.
|
||||||
|
#
|
||||||
|
#Revision 1.16 2006/06/30 09:33:02 kueller
|
||||||
|
#Sonderbehandlung fuer localen zugriff auf syslog eingebaut
|
||||||
|
#
|
||||||
|
#Revision 1.15 2006/02/21 14:42:35 kueller
|
||||||
|
#Korrektur im Aufruf der LocalServices Function - sollte jetzt fuer alle richtig functionieren.
|
||||||
|
#Weiterhin beschleunigung beim startup wenn /etc/sysconfig/firewall nicht veraendert wurde.
|
||||||
|
#Nach dem Aufbau der Firewall tables wird ein iptables-save in /var/state/iptables.state gemacht.
|
||||||
|
#Diese kann, sofern /etc/sysconfig/firewall unveraendert ist, mit iptables-restore wieder
|
||||||
|
#geladen werden - was wesentlich schneller als das parsen der configfiles geht.
|
||||||
|
#
|
||||||
|
#Revision 1.14 2004/11/23 19:46:07 kueller
|
||||||
|
#Debuging und neue Funktionalität der Firewall. Mit der Zeit weiter gewachsen
|
||||||
|
#im CompuExtreme Netzwerk.
|
||||||
|
#
|
||||||
|
#Revision 1.9 2002/11/04 12:03:01 kueller
|
||||||
|
#Fehlende Funktionssammlung .firewallfunc hinzugefügt. Erweiterung der Firewall
|
||||||
|
#um MARK Funktionalitaet, sowie Freischaltung von Getunnelten Netzen (letzteres
|
||||||
|
#ist in der DEBUG Phase und funktioniert noch nicht komplett!)
|
||||||
|
#
|
||||||
|
#Revision 1.8 2002/10/14 12:36:45 kueller
|
||||||
|
#Firewall Script komplett neu erstellt. Es wird nun mit den Unterschiedlichen
|
||||||
|
#Chains (INPUT, FORWARD, OUTPUT) gearbeitet. Die Firewall lässt sich so
|
||||||
|
#wesentlich feiner abstimmen, und arbeitet sicherer.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
CFGFILE=/etc/sysconfig/net/firewall
|
||||||
|
SYSFUNCTIONS=/etc/init.d/functions
|
||||||
|
FIREWALLFUNC=/etc/init.d/.firewallfunc
|
||||||
|
TMPSCRIPT=/var/tmp/firewall_reconfig$$
|
||||||
|
|
||||||
|
source $SYSFUNCTIONS
|
||||||
|
source $FIREWALLFUNC
|
||||||
|
IPTABLES="/usr/sbin/iptables"
|
||||||
|
IPCFG=/sbin/ip
|
||||||
|
IFCONFIG=/sbin/ifconfig
|
||||||
|
#DEBUG=echo
|
||||||
|
|
||||||
|
if [ -f "$CFGFILE" ]; then
|
||||||
|
source $CFGFILE
|
||||||
|
case $1 in
|
||||||
|
start)
|
||||||
|
if [ -f /var/state/iptables.state ]; then
|
||||||
|
echo -n "Disabling Kernel Console Output"
|
||||||
|
echo "0" >/proc/sys/kernel/printk
|
||||||
|
evaluate_retval
|
||||||
|
echo -n "Restoring Firewall Table"
|
||||||
|
cat /var/state/iptables.state|iptables-restore
|
||||||
|
evaluate_retval
|
||||||
|
else
|
||||||
|
echo "No saved configuration. please generate new config"
|
||||||
|
echo "Use $0 configure to generate new config"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
configure)
|
||||||
|
if [ -f "$TMPSCRIPT" ]; then
|
||||||
|
rm $TMPSCRIPT
|
||||||
|
fi
|
||||||
|
touch $TMPSCRIPT
|
||||||
|
chmod 755 $TMPSCRIPT
|
||||||
|
echo -n "Firewall: loads network informations"
|
||||||
|
LoadDevArray
|
||||||
|
evaluate_retval
|
||||||
|
echo -n "Firewall: Setting default rule DROP "
|
||||||
|
DefaultRule
|
||||||
|
evaluate_retval
|
||||||
|
echo -n "Firewall: Opening loopback Communication"
|
||||||
|
AllowLoopBack
|
||||||
|
evaluate_retval
|
||||||
|
ACCEPTRULE=ACCEPT
|
||||||
|
REJECTRULE=REJECT
|
||||||
|
if [ "$ACCOUNTING" == "yes" ]; then
|
||||||
|
echo -n "Activate ACCOUNTING LOG"
|
||||||
|
echo "#ACCOUNTING Table erstellen" >>$TMPSCRIPT
|
||||||
|
CreateAccountingTable
|
||||||
|
ACCEPTRULE=account-log
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
if [ "$LOG_REJECTED" == "yes" ]; then
|
||||||
|
echo -n "Activate REJECT LOG"
|
||||||
|
echo "#LOG_REJECT einrichten" >>$TMPSCRIPT
|
||||||
|
CreateLogTable
|
||||||
|
REJECTRULE=reject-log
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
if [ "$ICMP" == "yes" ]; then
|
||||||
|
echo -n "Activate ICMP Rules"
|
||||||
|
echo "#ICM Rules" >>$TMPSCRIPT
|
||||||
|
CreateICMPTable
|
||||||
|
ActivateICMPRules
|
||||||
|
evaluate_retval
|
||||||
|
else
|
||||||
|
echo -n "Opening ICMP"
|
||||||
|
echo "#ICM Ohne einschraenkung zulassen" >>$TMPSCRIPT
|
||||||
|
for i in FORWARD \
|
||||||
|
INPUT \
|
||||||
|
OUTPUT; do
|
||||||
|
echo "$DEBUG $IPTABLES -A $i \
|
||||||
|
-p icmp \
|
||||||
|
-j ACCEPT" >>$TMPSCRIPT
|
||||||
|
done
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
if [ "$INTERNROUTING" ]; then
|
||||||
|
echo -n "Activate Local Routing for $INTERNROUTING"
|
||||||
|
echo "#Firewalling fuer interne Ports deaktivieren" >>$TMPSCRIPT
|
||||||
|
AllowInternRouting ACCEPT $INTERNROUTING
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
y=0
|
||||||
|
while [ "${LOCALSERVER[$y]}" ]; do
|
||||||
|
echo -n "Activating allow for localserver ${LOCALSERVER[$y]}"
|
||||||
|
LOCSERVER=`echo ${LOCALSERVER[$y]}|cut -d":" -f 2`
|
||||||
|
DMZCLIENT=`echo ${LOCALSERVER[$y]}|cut -d":" -f 1`
|
||||||
|
LOCPORT=`echo ${LOCALSERVER[$y]}|cut -d":" -f 3`
|
||||||
|
LOCPROT=`echo ${LOCALSERVER[$y]}|cut -d":" -f 4`
|
||||||
|
AllowLocalServer $LOCSERVER \
|
||||||
|
$DMZCLIENT \
|
||||||
|
$LOCPORT \
|
||||||
|
$LOCPROT
|
||||||
|
evaluate_retval
|
||||||
|
(( y++ ))
|
||||||
|
done
|
||||||
|
if [ "$ALLOWNET" ]; then
|
||||||
|
echo -n "Allowing routing for NET=$ALLOWNET over $TUNDEV"
|
||||||
|
echo "#Netz $ALLOWNET komplett freischalten" >>$TMPSCRIPT
|
||||||
|
AllowAllDefault $ALLOWNET $TUNDEV ACCEPT
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
for i in $MASQNET; do
|
||||||
|
echo -n "Activate Masquerading for $i"
|
||||||
|
echo "#Masquerade einrichten" >>$TMPSCRIPT
|
||||||
|
ActivateMasq $OUTDEVICE $MASQNET
|
||||||
|
evaluate_retval
|
||||||
|
done
|
||||||
|
y=0
|
||||||
|
while [ ${DMZSERVER[$y]} ]; do
|
||||||
|
echo "Allow Access to ${DMZSERVER[$y]}"
|
||||||
|
echo "for UDP Ports: ${UDPDMZPORTS[$y]}"
|
||||||
|
echo -n "for TCP Ports: ${TCPDMZPORTS[$y]}"
|
||||||
|
echo "#DMZServer ${DMZSERVER[$y]} freigeben" >>$TMPSCRIPT
|
||||||
|
AllowDMZServiceAccess ${DMZSERVER[$y]} \
|
||||||
|
"${UDPDMZPORTS[$y]}" \
|
||||||
|
"${TCPDMZPORTS[$y]}"
|
||||||
|
evaluate_retval
|
||||||
|
(( y++ ))
|
||||||
|
done
|
||||||
|
y=0
|
||||||
|
while [ ${INSERVER[$y]} ]; do
|
||||||
|
echo "Allow Access to Intranet Service ${INSERVER[$y]}"
|
||||||
|
IP=`echo ${INSERVER[$y]}|awk -F":" '{print $1}'`
|
||||||
|
PORT=`echo ${INSERVER[$y]}|awk -F":" '{print $2}'`
|
||||||
|
PROT=`echo ${INSERVER[$y]}|awk -F":" '{print $3}'`
|
||||||
|
AllowIntranetService ${IP} \
|
||||||
|
${PORT} \
|
||||||
|
${PROT}
|
||||||
|
evaluate_retval
|
||||||
|
(( y++ ))
|
||||||
|
done
|
||||||
|
for i in $GLOBALSERVER; do
|
||||||
|
echo -n "Allow Access to Server $i"
|
||||||
|
echo "#Zugriff auf server $i freigeben" >>$TMPSCRIPT
|
||||||
|
LocalAllowWSAll $i
|
||||||
|
evaluate_retval
|
||||||
|
done
|
||||||
|
if [ "$LOCALDEVICES" ]; then
|
||||||
|
if [ "$LOCALUDP" ] || [ "$LOCALTCP" ]; then
|
||||||
|
echo "#Zugriff auf Firewall fuer locale Netze freigeben" >>$TMPSCRIPT
|
||||||
|
LocalAllowPortIN "$LOCALUDP" "$LOCALTCP" "$LOCALDEVICES"
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
wszahler=0
|
||||||
|
while [ "${ALLOWEDNETWORK[$wszahler]}" ]; do
|
||||||
|
echo "Allow Local Access for Network ${ALLOWEDNETWORK[$wszahler]}"
|
||||||
|
echo "#Eingeschr. Zugriff fuer Netz ${ALLOWEDNETWORK[$wszahler]} einrichten" >>$TMPSCRIPT
|
||||||
|
AllowNetPortIN "${NETUDPSERVICES[$wszahler]}" \
|
||||||
|
"${NETTCPSERVICES[$wszahler]}" \
|
||||||
|
${ALLOWEDNETWORK[$wszahler]}
|
||||||
|
(( wszahler = $wszahler + 1 ))
|
||||||
|
done
|
||||||
|
wszahler=0
|
||||||
|
while [ "${LOCALWS[$wszahler]}" ]; do
|
||||||
|
echo "Internet Access for ${LOCALWS[$wszahler]}"
|
||||||
|
echo "UDP: ${ROUTEUDP[$wszahler]}"
|
||||||
|
echo -n "TCP:${ROUTETCP[$wszahler]}"
|
||||||
|
echo "#Freischaltung fuer ${LOCALWS[$wszahler]}" >>$TMPSCRIPT
|
||||||
|
AllowWSPortOUT $OUTDEVICE \
|
||||||
|
${LOCALWS[$wszahler]} \
|
||||||
|
"${ROUTEUDP[$wszahler]}" \
|
||||||
|
"${ROUTETCP[$wszahler]}" \
|
||||||
|
$ACCEPTRULE
|
||||||
|
if [ "${ALLOWSWPORTS[$wszahler]}" = "yes" ]; then
|
||||||
|
echo "#ftp portswitch fuer ${LOCALWS[$wszahler]}" >>$TMPSCRIPT
|
||||||
|
AllowWSSwitchPort ${LOCALWS[$wszahler]} tcp $OUTDEV $ACCEPTRULE
|
||||||
|
AllowWSSwitchPort ${LOCALWS[$wszahler]} udp $OUTDEV $ACCEPTRULE
|
||||||
|
fi
|
||||||
|
if [ "${ALLOWNTP[$wszahler]}" = "yes" ]; then
|
||||||
|
echo "#ntp fuer ${LOCALWS[$wszahler]}" >>$TMPSCRIPT
|
||||||
|
AllowWSntpSync $OUTDEV ${LOCALWS[$wszahler]} $ACCEPTRULE
|
||||||
|
fi
|
||||||
|
if [ "${ALLOWNETBIOS[$wszahler]}" = "yes" ]; then
|
||||||
|
echo "#netbios fuer ${LOCALWS[$wszahler]}" >>$TMPSCRIPT
|
||||||
|
AllowNetBios $OUTDEV ${LOCALWS[$wszahler]} $ACCEPTRULE
|
||||||
|
fi
|
||||||
|
evaluate_retval
|
||||||
|
(( wszahler = $wszahler + 1 ))
|
||||||
|
done
|
||||||
|
netzahler=0
|
||||||
|
while [ "${ROUTEDBGNETWORK[$netzahler]}" ]; do
|
||||||
|
echo "Internet Access for ${ROUTEDBGNETWORK[$netzahler]}"
|
||||||
|
echo "UDPPORTS: ${BGNETUDP[$netzahler]}"
|
||||||
|
echo -n "RCPPORTS: ${BGNETTCP[$netzahler]}"
|
||||||
|
echo "#Internet Access for ${ROUTEDBGNETWORK[$netzahler]}" >>$TMPSCRIPT
|
||||||
|
AllowRouteNetOut ${ROUTEDBGNETWORK[$netzahler]} \
|
||||||
|
$OUTDEV \
|
||||||
|
"${BGNETUDP[$netzahler]}" \
|
||||||
|
"${BGNETTCP[$netzahler]}" \
|
||||||
|
$ACCEPTRULE
|
||||||
|
evaluate_retval
|
||||||
|
if [ ${ROUTEDBGNETSW[$netzahler]} == "yes" ]; then
|
||||||
|
echo "Allowing Port Switch for ${ROUTEDBGNETWORK[$netzahler]}"
|
||||||
|
echo "#Allowing Port Switch for ${ROUTEDBGNETWORK[$netzahler]}" >>$TMPSCRIPT
|
||||||
|
AllowRouteNetSwitch ${ROUTEDBGNETWORK[$netzahler]} $OUTDEV tcp $ACCEPTRULE
|
||||||
|
AllowRouteNetSwitch ${ROUTEDBGNETWORK[$netzahler]} $OUTDEV udp $ACCEPTRULE
|
||||||
|
fi
|
||||||
|
if [ ${ROUTEDBGNETNTP[$netzahler]} == "yes" ]; then
|
||||||
|
echo "Allowing NTP for ${ROUTEDBGNETWORK[$netzahler]}"
|
||||||
|
echo "#Allowing NTP for ${ROUTEDBGNETWORK[$netzahler]}" >>$TMPSCRIPT
|
||||||
|
AllowRouteNetNTP ${ROUTEDBGNETWORK[$netzahler]} $OUTDEV $ACCEPTRULE
|
||||||
|
fi
|
||||||
|
(( netzahler = $netzahler + 1 ))
|
||||||
|
done
|
||||||
|
if [ "$EXTUDPOPEN" ] || [ "$EXTTCPOPTEN"]; then
|
||||||
|
echo "Allow External Access"
|
||||||
|
echo "for UDP: $EXTUDPOPEN"
|
||||||
|
echo -n "for TCP: $EXTTCPOPEN"
|
||||||
|
echo "#Allow External Access" >>$TMPSCRIPT
|
||||||
|
ExternAllowPortIn "$EXTUDPOPEN" "$EXTTCPOPEN" $OUTDEVICE $ACCEPTRULE
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
for i in $ALLOWDEVICESWPORT; do
|
||||||
|
echo -n "Allowing Portswitch on device $i"
|
||||||
|
echo "#Allowing Portswitch on device $i" >>$TMPSCRIPT
|
||||||
|
AllowLocalSwitchPort tcp $i $ACCEPTRULE
|
||||||
|
AllowLocalSwitchPort udp $i $ACCEPTRULE
|
||||||
|
evaluate_retval
|
||||||
|
done
|
||||||
|
if [ "$LOCALUSEUDP" ] || [ "$LOCALUSETCP" ]; then
|
||||||
|
echo "Allow Local Internet Access"
|
||||||
|
echo "for UDP: $LOCALUSEUDP"
|
||||||
|
echo -n "for TCP: $LOCALUSETCP"
|
||||||
|
echo "#Allow Local Internet Access" >>$TMPSCRIPT
|
||||||
|
ExternAllowPortOut "$LOCALUSEUDP" "$LOCALUSETCP" $OUTDEVICE $ACCEPTRULE
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
if [ "$NTPSYNC" = "yes" ]; then
|
||||||
|
echo -n "Allow NTP Time Sync"
|
||||||
|
echo "#Allow NTP Time Sync" >>$TMPSCRIPT
|
||||||
|
LocalAllowntpSync $OUTDEV $ACCEPTRULE
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
for i in $LOCSYSLOG; do
|
||||||
|
echo -n "Allowing remote syslog for $i"
|
||||||
|
echo "#Allowing remote syslog for $i" >>$TMPSCRIPT
|
||||||
|
ExternAllowSyslog $i $ACCEPTRULE
|
||||||
|
evaluate_retval
|
||||||
|
done
|
||||||
|
if [ "$USESYSLOG" ]; then
|
||||||
|
echo -n "Allowing use of $USESYSLOG for syslog"
|
||||||
|
echo "#Allowing use of $USESYSLOG for syslog" >>$TMPSCRIPT
|
||||||
|
LocalAllowSyslog $USESYSLOG $ACCEPTRULE
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
if [ "$MARK" = "yes" ]; then
|
||||||
|
echo -n "Setting mark $MARKVALUE for Net $MARKNET"
|
||||||
|
echo "#Setting mark $MARKVALUE for Net $MARKNET" >>$TMPSCRIPT
|
||||||
|
InternMarkNet $MARKNET $MARKVALUE
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
y=0
|
||||||
|
while [ "${FORWARDSRV[$y]}" ]; do
|
||||||
|
echo "Forwarding to ${FORWARDSRV[$y]}"
|
||||||
|
echo "UDP Ports: ${FORWDUDP[$y]}"
|
||||||
|
echo "TCP Ports: ${FORWDTCP[$y]}"
|
||||||
|
echo "#Forwarding to ${FORWARDSRV[$y]}" >>$TMPSCRIPT
|
||||||
|
ExtForwardPorts ${FORWARDSRV[$y]} \
|
||||||
|
"${FORWDUDP[$y]}" \
|
||||||
|
"${FORWDTCP[$y]}" \
|
||||||
|
$OUTDEVICE
|
||||||
|
evaluate_retval
|
||||||
|
(( y++ ))
|
||||||
|
done
|
||||||
|
y=0
|
||||||
|
while [ "${DSTSERVER[$y]}" ]; do
|
||||||
|
for x in ${FWDSERVICE[$y]}; do
|
||||||
|
SPORT=`echo $x|cut -d";" -f 1`
|
||||||
|
PROT=`echo $x|cut -d";" -f 2`
|
||||||
|
DPORT=`echo $x|cut -d";" -f 3`
|
||||||
|
ExtForwardPort ${DSTSERVER[$y]} \
|
||||||
|
$PROT \
|
||||||
|
$SPORT \
|
||||||
|
$DPORT \
|
||||||
|
$OUTDEVICE
|
||||||
|
done
|
||||||
|
(( y++ ))
|
||||||
|
done
|
||||||
|
if [ "$DHCPSERVER" ]; then
|
||||||
|
AllowDHCPRelay $DHCPSERVER
|
||||||
|
fi
|
||||||
|
echo -n "Closing all returned open ports"
|
||||||
|
echo "#Closing all returned open ports" >>$TMPSCRIPT
|
||||||
|
CloseLast $REJECTRULE
|
||||||
|
evaluate_retval
|
||||||
|
echo -n "Stopping Firewall"
|
||||||
|
$0 stop
|
||||||
|
evaluate_retval
|
||||||
|
echo -n "Applying new config to firewall"
|
||||||
|
$DEBUG $TMPSCRIPT
|
||||||
|
evaluate_retval
|
||||||
|
rm $TMPSCRIPT
|
||||||
|
echo -n "Saving Firewall rules table"
|
||||||
|
$DEBUG iptables-save >/var/state/iptables.state
|
||||||
|
evaluate_retval
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
for i in INPUT FORWARD OUTPUT; do
|
||||||
|
$DEBUG $IPTABLES -F $i
|
||||||
|
$DEBUG $IPTABLES -P $i ACCEPT
|
||||||
|
done
|
||||||
|
if [ "$ACCOUNTING" == "yes" ]; then
|
||||||
|
$DEBUG $IPTABLES -F account-log
|
||||||
|
$DEBUG $IPTABLES -X account-log
|
||||||
|
fi
|
||||||
|
if [ "$LOG_REJECTED" = "yes" ]; then
|
||||||
|
$DEBUG $IPTABLES -F reject-log
|
||||||
|
$DEBUG $IPTABLES -X reject-log
|
||||||
|
fi
|
||||||
|
if [ "$ICMP" == "yes" ]; then
|
||||||
|
$DEBUG $IPTABLES -F icmp-rules
|
||||||
|
$DEBUG $IPTABLES -X icmp-rules
|
||||||
|
fi
|
||||||
|
if [ "$MASQ" == "yes" ] || [ "$FORWARDSRV[0]" ]; then
|
||||||
|
$DEBUG $IPTABLES -t nat -F
|
||||||
|
fi
|
||||||
|
if [ "$MARK" = "yes" ]; then
|
||||||
|
$DEBUG $IPTABLES -t mangle -F
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
deny)
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
echo "Need a Workstation to lock"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
wszahler=0
|
||||||
|
WSIP=`nslookup $2|tail -n 2|head -n 1|awk '{print $2}'`
|
||||||
|
while [ "${LOCALWS[$wszahler]}" ]; do
|
||||||
|
if [ "${LOCALWS[$wszahler]}" == "$WSIP" ]; then
|
||||||
|
for k in ${ROUTEPORTS[$wszahler]}; do
|
||||||
|
echo -n " $k"
|
||||||
|
FW_PORT=`echo $k|cut -f 1 -d ";"`
|
||||||
|
FW_PROT=`echo $k|cut -f 2 -d ";"`
|
||||||
|
ChangeWSOutRule ${LOCALWS[$wszahler]}\
|
||||||
|
$FW_PORT $FW_PROT DROP
|
||||||
|
done
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
(( wszahler = $wszahler + 1 ))
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
allow)
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
echo "Need a Workstation to lock"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
wszahler=0
|
||||||
|
WSIP=`nslookup $2|tail -n 2|head -n 1|awk '{print $2}'`
|
||||||
|
while [ "${LOCALWS[$wszahler]}" ]; do
|
||||||
|
if [ "${LOCALWS[$wszahler]}" == "$WSIP" ]; then
|
||||||
|
for k in ${ROUTEPORTS[$wszahler]}; do
|
||||||
|
echo -n " $k"
|
||||||
|
FW_PORT=`echo $k|cut -f 1 -d ";"`
|
||||||
|
FW_PROT=`echo $k|cut -f 2 -d ";"`
|
||||||
|
ChangeWSOutRule ${LOCALWS[$wszahler]}\
|
||||||
|
$FW_PORT $FW_PROT ACCEPT
|
||||||
|
done
|
||||||
|
evaluate_retval
|
||||||
|
fi
|
||||||
|
(( wszahler = $wszahler + 1 ))
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
20
etc/init/iptables.conf
Normal file
20
etc/init/iptables.conf
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
description "Setup and Start iptables firewall"
|
||||||
|
author "Harald Kueller <harald.kueller@compuextreme.de>"
|
||||||
|
version 1.0
|
||||||
|
emits none special
|
||||||
|
|
||||||
|
start on ( runlevel [2345] and (stopped routing))
|
||||||
|
|
||||||
|
console output
|
||||||
|
|
||||||
|
pre-start script
|
||||||
|
if [ [ ! -f /var/state/iptables.state ] && [ -f /etc/sysconfig/net/firewall ] ]; then
|
||||||
|
/etc/init.d/firewall configure
|
||||||
|
fi
|
||||||
|
end script
|
||||||
|
|
||||||
|
script
|
||||||
|
if [ -f /var/state/iptables.state ]; then
|
||||||
|
/etc/init.d/firewall start
|
||||||
|
fi
|
||||||
|
end script
|
266
etc/sysconfig/templates/firewall
Normal file
266
etc/sysconfig/templates/firewall
Normal file
|
@ -0,0 +1,266 @@
|
||||||
|
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
|
||||||
|
#dieses Framework wird im CVS Repository
|
||||||
|
#:pserver:cvs.rainmaker-mm.de/RMM/cvs zur Verfügung gestellt
|
||||||
|
#
|
||||||
|
#Lage dieser Datei im Archiv: $Source: /Data/cvs/Viitor_iptables/etc/sysconfig/firewall.template,v $
|
||||||
|
#
|
||||||
|
#(c) Rainmaker MultiMedia OHG
|
||||||
|
#This program is free software; you can redistribute it and/or
|
||||||
|
#modify ist under the terms of the GNU General Public License
|
||||||
|
#as published by the Free Software Foundation; either version
|
||||||
|
#2 of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
#This program is distributed in the hope that it will be useful,
|
||||||
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
#See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
#You should have received a copy of the GNU General Public License
|
||||||
|
#along with this program; if not write to the Free Software Foundation,
|
||||||
|
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
#
|
||||||
|
#Beschreibung:
|
||||||
|
#Konfigurations Datei für das firewall Init Script
|
||||||
|
#
|
||||||
|
#Aufrufparameter:
|
||||||
|
#wird vom Init Script verwendet - und hat keine eigenen
|
||||||
|
#funktionen oder parameter
|
||||||
|
#
|
||||||
|
#Letzte Änderung von: $Author: kueller $
|
||||||
|
#Datum der letzten Änderung: $Date: 2006/06/30 09:33:02 $
|
||||||
|
#Version der Datei: $Revision: 1.11 $
|
||||||
|
#
|
||||||
|
#$Log: firewall.template,v $
|
||||||
|
#Revision 1.11 2006/06/30 09:33:02 kueller
|
||||||
|
#Sonderbehandlung fuer localen zugriff auf syslog eingebaut
|
||||||
|
#
|
||||||
|
#Revision 1.10 2004/11/23 19:46:07 kueller
|
||||||
|
#Debuging und neue Funktionalität der Firewall. Mit der Zeit weiter gewachsen
|
||||||
|
#im CompuExtreme Netzwerk.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# Zu Allererst erfolgen einige Grundsätzliche Definitionen zum localen
|
||||||
|
# Netzwerk.
|
||||||
|
# OUTDEVICE enthält den Namen des Outgoing Devices - für ADSL typischerweise
|
||||||
|
# "ppp0", für isdn "ippp0"
|
||||||
|
OUTDEVICE=ppp0
|
||||||
|
|
||||||
|
# Konfiguration von Accounting Möglichkeiten. Wird diese Variable auf "yes"
|
||||||
|
# gesetzt, wird jeder erlaubte Zugriff in des Externe Netz mirprotokolliert
|
||||||
|
# Dies ermöglicht eine spätere Auswertung, und damit die sammlung von
|
||||||
|
# Traffic informationen wie sie zu Abrechnungszwecken notwendig sind.
|
||||||
|
ACCOUNITNG="no"
|
||||||
|
|
||||||
|
# Konfiguration von LOG Aktivitäten zu Unerlaubten/wünschen Zugriffen.
|
||||||
|
# wird diese Variable auf "yes" gesetzt, wird jeder von der Firewall
|
||||||
|
# abgewiesene Zugriff mitprotokolliert
|
||||||
|
LOG_REJECTED="no"
|
||||||
|
|
||||||
|
#ICMP Freischaltung. Wird die folgende Variable auf YES gesetzt, so
|
||||||
|
#wird die Durchleitung von ICMP Meldungen eingeschränkt. Dies verhindert
|
||||||
|
#Verschiedene DoS Attacken. Ohne Setzen dieser Variable schaltet die Firewall
|
||||||
|
#sämtliche icmp Zugriffe durch.
|
||||||
|
ICMP=yes
|
||||||
|
|
||||||
|
#Werden in der folgenden Variablen Devices angegeben, so fungiert dieser
|
||||||
|
#Rechner für alle an diese Devices angeschlossenen Systeme als Router.
|
||||||
|
#Der Traffic zwischen diesesn Systemen wird ohne einschränkungen erlaubt.
|
||||||
|
INTERNROUTING="eth1 lo"
|
||||||
|
|
||||||
|
#Die Folgenden Variablen aktivieren das Masquerading. Hier werden die
|
||||||
|
#Packete eines Netzes mit der Internet Adresse des Routers Maskiert.
|
||||||
|
#Leider kann hier nur EIN Locales Netz angegeben werden. Jedoch kann
|
||||||
|
#durch gute Definition des Localen Netzes ein sehr grosser Bereich
|
||||||
|
#Maskiert werden. Das Locale Netz muss mit "NetzIP/ShortMask" angegeben werden.
|
||||||
|
#MASQNET=192.168.66.0/24
|
||||||
|
|
||||||
|
#Mit den folgenden Variablen lässt sich ein Komplettes Netz freischalten, das
|
||||||
|
#z.B. hinter einem weiteren Router im Netzwerk angeschlossen ist.
|
||||||
|
|
||||||
|
#compuextreme.lan
|
||||||
|
ROUTEDBGNETWORK[0]=192.168.66.0/27
|
||||||
|
BGNETUDP[0]="13,20,21,70,109 110,143 220,765,1024:65535"
|
||||||
|
BGNETTCP[0]="13,15,20,21,25,43,70,80 109:115,143,143 220,443,554,765,1024:65535"
|
||||||
|
ROUTEDBGNETSW[0]="yes"
|
||||||
|
ROUTEDBGNETNTP[0]="yes"
|
||||||
|
|
||||||
|
ROUTEDBGNETWORK[1]=192.168.66.32/28
|
||||||
|
BGNETUDP[1]="13,20,21,70,109 110,143 220,765,1024:65535"
|
||||||
|
BGNETTCP[1]="13,15,20,21,25,43,70,80 109:115,143,143 220,443,554,765,1024:65535"
|
||||||
|
ROUTEDBGNETSW[1]="yes"
|
||||||
|
ROUTEDBGNETNTP[1]="yes"
|
||||||
|
|
||||||
|
#Bei DMZ Systemen solle u.U. bestimmte Services im geschuetzen Netzbereich
|
||||||
|
#aus der DMZ heraus ansprechbar sein.
|
||||||
|
#Die Server werden mit Portnummer und Protokoll jeweils in $LOCALSERVER[#]
|
||||||
|
#eingetragen
|
||||||
|
#LOCALSERVER[0]="hugin.compuextreme.de:pgsql.compuextreme.lan:5432:tcp"
|
||||||
|
|
||||||
|
#Mit den folgenden Zeilen wird die Internet Berechtigung für einzelne IP
|
||||||
|
#Adressen festgelegt. LOCALWS Enthält die IP jeweils einer localen Workstation
|
||||||
|
#Alternativ kann in LOCALWS auch ein komplettes SubNet angegeben werden. Dies wird
|
||||||
|
#durch die kurze Schreibform eines Netzwerkes (IP/MASK, z.B. 192.168.0.0/16) erreicht.
|
||||||
|
#ROUTEPORTS die für den Durchgriff der Maschienen freizuschaltenden Portnummern
|
||||||
|
#und Protokolle. Einige Protokolle Bauen mehrere Verbindungen auf
|
||||||
|
#unterschiedlichen Ports auf - d.H. sie Switchen den Port nach dem
|
||||||
|
#Verbindungsaufbau (speziell FTP). Hierzu ist eine besondere Einstellung in
|
||||||
|
#der Firewall notwendig. Diese Einstellung kann mit ALLOWSWPORTS="yes" erreicht
|
||||||
|
#werden. NTP (Network Time Protokoll) wiederum verhält sich ebenfalls nicht
|
||||||
|
#ganz wie üblich. Hier wird die Verbindung nicht über einen port >1024
|
||||||
|
#Aufgebaut, sondern Server und Client verwenden den gleichen Port 123.
|
||||||
|
#Daher kann eine spezielle Regel für NTP eingefügt werden. Hierzu muss der
|
||||||
|
#Wert von ALLOWNTP auf "yes" gesetzt werden.
|
||||||
|
#Gleiches gild fuer netbios von Microsoft. Hier kann die Variable ALLOWNETBIOS
|
||||||
|
#auf "yes" gesetzt werden, um die entsprechende Sonderbehandlung zu aktivieren.
|
||||||
|
#In den Eckigen Klammern wird fuer jede freizuschaltende Workstation
|
||||||
|
#eine andere Nummer eingesetzt. Es muessen alle vier Variablen jeweils einmal
|
||||||
|
#pro Workstation gesetzt werden.
|
||||||
|
#Protokoll getrennt durch ";" zusammengefasst
|
||||||
|
#Special Ports:
|
||||||
|
#2401;tcp cvs Access
|
||||||
|
#5190;tcp 5190;udp AOL Instand Messanger
|
||||||
|
#6346;tcp gnutella
|
||||||
|
#6699;tcp 7950/1/2;tcp WinMX
|
||||||
|
#1214;tcp 2832;tcp KaZaA
|
||||||
|
|
||||||
|
#Freischaltung fuer odin.dmz.lan
|
||||||
|
LOCALWS[0]="192.168.66.49"
|
||||||
|
ROUTEUDP[0]="13,20,21,43,53,70,109,110,143,162,177,220,765,1024:65535"
|
||||||
|
ROUTETCP[0]="13,15,20:25,43,53,70,80,109:115,143 161,177,220,443,554,765,1024:65535"
|
||||||
|
#ROUTEUDP[0]="0:65535"
|
||||||
|
#ROUTETCP[0]="0:65535"
|
||||||
|
ALLOWSWPORTS[0]="yes"
|
||||||
|
ALLOWNTP[0]="yes"
|
||||||
|
|
||||||
|
#Freischaltung fuer hades.dmz.lan
|
||||||
|
LOCALWS[1]="192.168.66.50"
|
||||||
|
ROUTEUDP[1]="13,20,21,70,109,110,143,162,177,220,765,1024:65535"
|
||||||
|
ROUTETCP[1]="13,15,20:25,43,70,80,109:115 143,161,177,220,443,554,765,1024:65535"
|
||||||
|
ALLOWSWPORTS[1]="yes"
|
||||||
|
ALLOWNTP[1]="no"
|
||||||
|
|
||||||
|
#Wenn der Router Server aus dem internen Netz Benutzt, so muss der Zugriff
|
||||||
|
#auf diese Server freigeschaltet werden. Dies kann entweder Global für
|
||||||
|
#Alle Dienste geschehen, oder auch dediziert für bestimmte Dienste.
|
||||||
|
#Die Globale Freischaltung empfiehlt sich vor allem wenn RPC Basierte
|
||||||
|
#Dienste des Servers verwendet werden. Die dedizierte Variante ist die
|
||||||
|
#Sicherere, bedeutet jedoch mehr Aufwand für den Firewallrechner.
|
||||||
|
#Diese Firewall verwendet derzeit nur die Globale Freischaltung von
|
||||||
|
#Bestimmten servern.
|
||||||
|
#Über die Variable GLOBALSERVER koennen ein oder mehrere interne Netze
|
||||||
|
#angegeben werden. Bei der Angabe mehrerer Netze müssen diese durch ein
|
||||||
|
#space zeichen voneinander getrennt werden.
|
||||||
|
GLOBALSERVER="192.168.66.49 192.168.66.53"
|
||||||
|
|
||||||
|
#Liegen die genutzen Dienste hinter einem grouteten Netz, so muss die
|
||||||
|
#Freischaltung anders erfolgen. Hierzu die Variable unten
|
||||||
|
#definieren. Angegeben wird hier die Server IP, der Dienst Port, sowie das
|
||||||
|
#Protokoll. Hier wird NUR dem Firewall Rechner der Zugriff auf diese
|
||||||
|
#Dienste erlaubt.
|
||||||
|
INSERVER[0]="192.168.75.67:53:tcp"
|
||||||
|
INSERVER[1]="192.168.75.67:53:udp"
|
||||||
|
|
||||||
|
#Serverdienste Auf Router. Hiermit können Bestimmte Zugriffe auf den Router
|
||||||
|
#aus dem gesammten Localen Netz (definiert über die angegebenen Devices)
|
||||||
|
#erlaubt werden. Die Angabe der Freigeschalteten Dienste erfolgt auf
|
||||||
|
#die gleiche Weise, wie in "$ROUTERPORTS"
|
||||||
|
LOCALUDP="22"
|
||||||
|
LOCALTCP="22,25,80"
|
||||||
|
LOCALDEVICES="eth1"
|
||||||
|
|
||||||
|
#Alternativ zu LOCALSERVICES koennen die Dienste auch pro Netzwerk freigeschaltet werden.
|
||||||
|
#Hierzu muss pro freizuschaltendes Netzwerk die Variablen ALLOWEDNETWORK[#] und
|
||||||
|
#NETSERVICES[#] definiert werden. ALLOWEDNETWORK enthält die Netzwerkdefinition,
|
||||||
|
#NETSERVICES die erlaubten Port/Protokoll Kombinationen.
|
||||||
|
#ALLOWEDNETWORK[0]="192.168.26.0/27"
|
||||||
|
#NETUDPSERVICES[0]="13,53,67,68,88,110,111,137:139,143,161,177,220,464"
|
||||||
|
#NETTCPSERVICES[0]="13,15,20:23,25,42,53,67,80,88,110,111,143,161"
|
||||||
|
#ALLOWENETWORK[1]="192.168.26.128/27"
|
||||||
|
#NETUDPSERVICES[1]="517,518,520,765,856,863,873,1024:65535"
|
||||||
|
#NETTCPSERVICES[1]="177,220,443,513,514,543,544,749,765,856,863,1024:65535"
|
||||||
|
|
||||||
|
#Die folgende Variable Entspricht der Funktionalität von LOCALSERVICES,
|
||||||
|
#bezieht sich jedoch auf Services, die aus dem Internet herraus ansprechbar
|
||||||
|
#sein sollen. Hier ist nur der Zugriff vom Internet auf den Router gemeint
|
||||||
|
#Freigeschaltene Dienste werden nicht durch den Router durchgereicht!
|
||||||
|
EXTUDPOPEN="22"
|
||||||
|
EXTTCPOPEN="22,25"
|
||||||
|
|
||||||
|
#Sollen aus dem Geschuetzten Netz Server in der DMZ ansprechbar sein (Ohne
|
||||||
|
#Restriktionen!) dann hier eintragen.
|
||||||
|
#DMZSERVER[0]="192.168.66.49"
|
||||||
|
#UDPDMZPORTS[0]="20,49,53,80,110,111,1024:65535"
|
||||||
|
#TCPDMZPORTS[0]="20,21,22,25,49,53,69,80,110,111,443,1024:65535"
|
||||||
|
|
||||||
|
#Einzelne Dienste können durch die Firewall auf ein system im Privaten Internen
|
||||||
|
#Netz weitergeleitet werden. So kann zum Beispiel Aller Traffic von port 80
|
||||||
|
#auf eine andere Maschine weitergeleitet werden, welche diesen Request
|
||||||
|
#beantwortet
|
||||||
|
#Diese Funktion der Viitor Firewall befindet sich noch in der Entwicklung!
|
||||||
|
FORWARDSRV[0]="192.168.66.49"
|
||||||
|
FORWDUDP[0]="20,21,443,3690,5000,8767,8888,8889"
|
||||||
|
FORWDTCP[0]="20,21,22,80,443,873,2401,3690,5000"
|
||||||
|
FORWDSWITCH[0]=yes
|
||||||
|
FORWARDSRV[1]="192.168.66.27"
|
||||||
|
FORWDUDP[1]="902"
|
||||||
|
FORWDTCP[1]="902"
|
||||||
|
|
||||||
|
#u.U sollen beim forwarden auf einen anderen server auch die Port Nummern
|
||||||
|
#geaendert werden. Dann ist pro Server/Port paar ein Eintrag notwendig.
|
||||||
|
DSTSERVER[0]="192.168.66.54"
|
||||||
|
FWDSERVICE[0]="8080;tcp;22 8080;udp;22"
|
||||||
|
|
||||||
|
#Wird auf dem localen System ein FTP-Server betrieben, so muss ein Switchen
|
||||||
|
#der Verbindung möglich sein. Dieses Switchen wird auf Device Basis
|
||||||
|
#freigeschalten - jedes in ALLOWEXTSWIN enthaltene Interface erlaubt
|
||||||
|
#den für den ftp betrieb notwendigen Switch der Portnummern.
|
||||||
|
#ALLOWDEVICESWPORT="eth1 ppp0"
|
||||||
|
|
||||||
|
#Mit der Variable LOCALUSESERVICE wird eingestellt welche Dienste der
|
||||||
|
#router selber aus dem Internet benutzen darf.
|
||||||
|
LOCALUSEUDP="22,110"
|
||||||
|
LOCALUSETCP="22,25,80,110"
|
||||||
|
|
||||||
|
#Die Verwendung des NTP Dienstes braucht eine besondere Behandlung, da hier
|
||||||
|
#Client und Server den NTP Port (123) verwenden. (Normal Client >1024)
|
||||||
|
#Soll eine Zeitsynchronisation mit einem NTP Server vom Firewallrechner
|
||||||
|
#aus stattfinden, so muss NTPSYNC auf "yes" gesetzt werden.
|
||||||
|
#NTPSYNC="192.168.66.48"
|
||||||
|
|
||||||
|
#Gleiches wie fuer NTP gild auch fuer die syslog dienste. soll der Firewall
|
||||||
|
#rechner auch loghost sein, muss LOCSYSLOG auf "yes" gesetzt werden.
|
||||||
|
#LOCSYSLOG="192.168.66.49"
|
||||||
|
|
||||||
|
#Und wenn der Router einen Syslog server verwenden soll, muss das natuerlich
|
||||||
|
#genauso spezial behandelt werden
|
||||||
|
USESYSLOG="192.168.66.49"
|
||||||
|
|
||||||
|
#dhcp sendet auch von untypischen ports. wenn der router auch
|
||||||
|
#dhcprelay spielt ist daher eine sonderbehandlung fuer die kommunikation
|
||||||
|
#mit dem dhcpserver noetig.
|
||||||
|
|
||||||
|
#DHCPSERVER="192.168.66.49"
|
||||||
|
|
||||||
|
#Das Advanced Routing des Linux Kernels (>2.2.x) kann mehrere Routingtabellen
|
||||||
|
#verwalten. Normalerweise wird die Default Tabel für das Routing Verwendet.
|
||||||
|
#Basierend auf Verschiedenen Regeln können jedoch auch anderen Routingtabellen
|
||||||
|
#verwendet werden. Eine dieser Regeln wertet Firewall Markierungen aus,
|
||||||
|
#und kann entsprechend dem Markierungswert routingtabellen verwenden.
|
||||||
|
#die MonsumFirewall erlaubt es EIN Netz derartig für das advanced routing
|
||||||
|
#zu markieren. Dieses Feature aktiviert, wenn MARK auf "yes" gesetzt wird.
|
||||||
|
#MARKNET muss dann die Netzwerk informationen (Netzadresse/Shortmask)
|
||||||
|
#beinhalten. MARKVALUE den Wert, mit dem Markiert werden soll (Integer Zahl)
|
||||||
|
#MARK="no"
|
||||||
|
#MARKNET="62.112.132.240/28"
|
||||||
|
#MARKVALUE="3"
|
||||||
|
|
||||||
|
#Wird die Mark Option Verwendet (z.B. für Statische Adressen in Verbindung mit
|
||||||
|
#einem Tunnel - wobei für den Tunnel traffic gebühren entstehen) so sollen
|
||||||
|
#die Statischen Adressen in der Regel per Defaultroute "TUNNELENDE" weiter
|
||||||
|
#geleitet werden. Hier ist u.U. eine Firewall unerwünscht (es muss sich der
|
||||||
|
#Rechner am anderen Ende um die Sicherheit kümmern!)
|
||||||
|
#ALLOWNET bestimmt das Netzwerk, welches ohne weitere Kontrolle über $TUNDEV
|
||||||
|
#geleitet wird.
|
||||||
|
#ALLOWNET="62.112.132.240/28"
|
||||||
|
#TUNDEV="tun1"
|
40
init/genpkg
Normal file
40
init/genpkg
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#genpkg script für iptables
|
||||||
|
#(c) Rainmaker MultiMedia OHG
|
||||||
|
#
|
||||||
|
#$Author$
|
||||||
|
#$Date$
|
||||||
|
#$Revision$
|
||||||
|
#
|
||||||
|
#$Log$
|
||||||
|
#Revision 1.4 2002/10/14 12:38:25 kueller
|
||||||
|
#Outwall Script ist mit dem neuen Firewall script überflüssig geworden
|
||||||
|
#
|
||||||
|
#Revision 1.3 2002/02/13 13:39:11 hkueller
|
||||||
|
#Erzeugen er links fuer outwall script
|
||||||
|
#
|
||||||
|
#Revision 1.2 2001/10/17 08:24:16 kueller
|
||||||
|
#Rechtekorrektur für init script
|
||||||
|
#
|
||||||
|
#Revision 1.1.1.1 2001/09/23 17:40:02 kueller
|
||||||
|
#AddOns für iptables
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ -d /var/install/sysvinit* ]; then
|
||||||
|
WDIR=`pwd`
|
||||||
|
cd etc/init.d
|
||||||
|
chmod 755 firewall
|
||||||
|
mkdir rc{0,1,2,3,4,5,6}.d
|
||||||
|
for i in 0 6; do
|
||||||
|
cd rc$i.d
|
||||||
|
ln -s ../firewall K75firewall
|
||||||
|
cd ..
|
||||||
|
done
|
||||||
|
for i in 1 2 3 4 5; do
|
||||||
|
cd rc$i.d
|
||||||
|
ln -s ../firewall S12firewall
|
||||||
|
cd ..
|
||||||
|
done
|
||||||
|
cd $WDIR
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user