Die Nutzung von Services im Intranet aus der DMZ heraus kann jetzt
dediziert freigeschaltet werden. Weiterhin gibt es eine hostbasierte Sonderbehandlung um NetBIOS durch die Firewall zu bekommen git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_iptables@5792 504e572c-2e33-0410-9681-be2bf7408885
This commit is contained in:
parent
82b1cbc73b
commit
1b2421eafa
|
@ -208,6 +208,21 @@ ActivateMasq() {
|
|||
-j MASQUERADE >>$TMPSCRIPT
|
||||
}
|
||||
|
||||
AllowLocalServer() {
|
||||
SERVER=$1
|
||||
CLIENT=$2
|
||||
PORT=$3
|
||||
PROT=$4
|
||||
RULE=ACCEPT
|
||||
|
||||
echo $DEBUG $IPTABLES -A FORWARD \
|
||||
-s $CLIENT \
|
||||
-d $SERVER \
|
||||
-p $PROT \
|
||||
--dport $PORT \
|
||||
-j $RULE >>$TMPSCRIPT
|
||||
}
|
||||
|
||||
AllowDMZServiceAccess() {
|
||||
SRVIP=$1
|
||||
UDPPORTS=$2
|
||||
|
@ -675,6 +690,57 @@ AllowWSntpSync() {
|
|||
-j $RULE >>$TMPSCRIPT
|
||||
}
|
||||
|
||||
AllowNetBios() {
|
||||
OUTDEV=$1
|
||||
WSIP=$2
|
||||
RULE=$3
|
||||
echo >&2 "Executing AllowNetBios with \"$1\" \"$2\" \"$3\""
|
||||
WSIPADDR=`echo $WSIP|sed -e "s/\/.*$//"`
|
||||
INDEV=`FindInDevice $WSIPADDR`
|
||||
for i in 137 138 139; do
|
||||
echo $DEBUG $IPTABLES -A FORWARD \
|
||||
-p tcp \
|
||||
-s $WSIP \
|
||||
--sport $i \
|
||||
--dport $i \
|
||||
-o $OUTDEV \
|
||||
-i $INDEV \
|
||||
-m state \
|
||||
--state NEW,ESTABLISHED \
|
||||
-j $RULE >>$TMPSCRIPT
|
||||
echo $DEBUG $IPTABLES -A FORWARD \
|
||||
-p tcp \
|
||||
-d $WSIP \
|
||||
--sport $i \
|
||||
--dport $i \
|
||||
-o $INDEV \
|
||||
-i $OUTDEV \
|
||||
-m state \
|
||||
--state ESTABLISHED \
|
||||
-j $RULE >>$TMPSCRIPT
|
||||
echo $DEBUG $IPTABLES -A FORWARD \
|
||||
-p udp \
|
||||
-s $WSIP\
|
||||
--sport $i \
|
||||
--dport $i \
|
||||
-o $OUTDEV \
|
||||
-i $INDEV \
|
||||
-m state \
|
||||
--state NEW,ESTABLISHED \
|
||||
-j $RULE >>$TMPSCRIPT
|
||||
echo $DEBUG $IPTABLES -A FORWARD \
|
||||
-p udp \
|
||||
-d $WSIP \
|
||||
--sport $i \
|
||||
--dport $i \
|
||||
-o $INDEV \
|
||||
-i $OUTDEV \
|
||||
-m state \
|
||||
--state ESTABLISHED \
|
||||
-j $RULE >>$TMPSCRIPT
|
||||
done
|
||||
}
|
||||
|
||||
AllowDHCPRelay() {
|
||||
SERVERIP=$1
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ if [ -f "$CFGFILE" ]; then
|
|||
case $1 in
|
||||
start)
|
||||
if [ -f /var/state/iptables.state ]; then
|
||||
echo -n "Disable kernel console output"
|
||||
echo -n "Disabling Kernel Console Output"
|
||||
echo "0" >/proc/sys/kernel/printk
|
||||
evaluate_retval
|
||||
echo -n "Restoring Firewall Table"
|
||||
|
@ -172,6 +172,20 @@ if [ -f "$CFGFILE" ]; then
|
|||
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
|
||||
|
@ -238,6 +252,10 @@ if [ -f "$CFGFILE" ]; 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
|
||||
|
|
|
@ -73,7 +73,7 @@ INTERNROUTING="eth1 lo"
|
|||
#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
|
||||
#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.
|
||||
|
@ -91,6 +91,12 @@ 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
|
||||
|
@ -105,6 +111,8 @@ ROUTEDBGNETNTP[1]="yes"
|
|||
#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.
|
||||
|
|
Loading…
Reference in New Issue
Block a user