FILTER-Dokumentation FUER ISDNPM 3.0x

Stand: 6.10.2001

Filter sind fuer 'IsdnPm' :

    1.  'DialFilter'      regeln das automatische waehlen von Verbindungen

    2.  'InComingFilter'  regeln den Transport der IP-Paket die ueber ISDN
                          ankommen. (Paketfilter)

    3.  'OutgoingFilter'  regeln den Transport der IP-Paket die ueber ISDN
                          abgehen. (Paketfilter)

    4.  'TimeoutFilterIn'  sind fuer das Timeoutverhalten notwendig.
        'TimeoutFilterOut' sind fuer das Timeoutverhalten notwendig.

*NEU*
Hinweis zum Thema DialFilter: 
Wenn keine Besonderheiten zu beruecksichtigen sind, dann ist die Definition 
des AutoDialMode anstatt des hier beschriebenen DialFilter zu bevorzugen. 
Sind beide Konfigurationen angegeben, dann verwendet ISDNPM die Angaben des 
AutoDialMode. Der DialFilter ist also nur aktiv wenn AutoDialMode 0 gesetzt 
ist.


Fuer alle FILTER gelten die gleichen Regeln. Am Anfang steht der Name des 
Filters, der in der Definition der Verbindung (*.OUT,*.IN ...) verwendet wird.
Anschliessend werden die REGELN fuer den Filter aufgezaehlt. Jede Regel beginnt
mit einer AKTION. Dieser folgen eine Aufzaehlung der Bedingungen. Am Ende kann
eine REGEL noch mit einer MESSAGE fuer das LOGFILE versehen werden. ('Msg')

Als AKTIONen gelten 'ACC','DIAL','TRIGGER','NOTRIGGER' und 'DROP' bzw 'NODIAL'

	'ACC'		akzeptiere das Paket
	'DIAL'		whle bei diesem Paket
	'DROP'		werfe das Paket weg
	'NODIAL'	whle nicht bei diesem Paket.
    'TRIGGER'   Triggered einen Timeoutcounter
    'NOTRIGGER' Packet hlt den Timeout nicht auf 

Hinweis: ACC,DIAL,TRIGGER sind derzeit quivalent, sowie DROP,NODIAL,NOTRIGGER 
ebenfalls (d.h. DIAL in einem TimeoutFilter macht das gleiche wie TRIGGER 
und umgekehrt)

Folgende Bedingungen koennen ausgewaehlt werden :

        'Proto','IPSrc','IPDst','PortSrc','PortDst','Tcp','TcpF','Icmp',
        'Data'

	 'Proto=(1)'  fr ICMP
	 'Proto=(6)'  fr das Protokoll TCP. 
	 'Proto=(17)' fr das Protokoll UDP.
	 'Proto=(6,17)'	fr TCP und UDP

	 'IPSrc=(132.230.0.0/255.255.0.0)'	IpSourceadresse mit Maske
	 'IPSrc=(132.230.0.0-132.230.255.255)'  IpSourceadresse mit Range

	 'IpDst= ....'				fr die IpDestinationadresse

	 'PortSrc=(21,22,23)'			fr eine Source-Port Liste
	 'PortDst=(4000,5000)'			fr eine Destination-Port Liste
         'PortDst=(137-139)'                    fr eine Destination-Portrange

	 'Tcp=ACTIVE'				fr eine AKTIVE TCP-Verbindung
	 'Tcp=PASSIVE'				fr eine PASSIVE TCP-Verbindung

	 'TcpF=(SYN,ACK,FIN,RST)'		fr die TCPFlags
         'TcpF=(SYN,!ACK)'			fr ein TCP-OPEN

	 'ICMP=(0,8)'				fr ICMP ECHO und REPLY

	 'DATA=(4500/FFFF)'			Wert und Maske ber die Daten.
						(wie bei isdnpm 2.9)

*NEU*
         'WDAY = (SUN,MON,TUE,WED,THU,FRI,SAT)' Wochentagsangabe

         'TIME = (HH:MM:SS-HH:MM:SS)'           Uhrzeit von-bis
                                                HH = Stunde, MM = Minute,
                                                SS = Sekunde

         'DNS = domain.name'                    DNS-Request 

Mit der Filteroption DNS ist es moeglich den mit einem DNS-Request
startenden Verbindungswunsch auf den richtigen Provider auszurichten. Der
Vergleich startet von Rechts und gilt jeweils bis zum Punkt. "os2.org"
steht z.B. fuer alle Hostnamen die mit os2.org enden. Es empfiehlt sich 
beim Einsatz dieser Filteroption auch DNS Forwarding zu verwenden.

Hinweis: Das KeyWord "DNS =" kann nur als zusaetzliche Option in Verbindung 
mit dem Destination-Port 53 (DNS-Anfrage) verwendet werden. 

Der DialFilter fuer den DNS-Request zum abholen von Mails beim 
T-Online-Mailserver koennte dann wie folgt aussehen:

    DIAL,\
    Proto    =  UDP,\
    PortSrc != (137),\
    PortDst  = (53),\
    DNS      = pop.t-online.de


Beispiel einer Wochentags- und Uhrzeitabhaengigen 
Verbindungskonfiguration:

    NODIAL,\
    WDAY    = (MON,TUE,WED,THU,FRI),\
    TIME    = (00:00:00-06:30:59)

*---*

Jede Bedingung kann auf '=' gleich bzw. '!=' ungleich festgelegt werden.

Bei '=' ist die Bedingung erfuellt, wenn einer der Aufgezaehlten Werte
stimmt.

Bei '!=' ist die Bedingung erfuellt, wenn KEINER der Aufgezaehlten Werte
stimmt.

Ausnahme hiervon ist 'TcpF'. Die Aufgezaehlten FLAGS gelten als Gesamtwert.

Gibt es bei den Werten ein Aufzaehlung, muessen diese geklammert werden.

Hier sind einige Beispiele :


    [filtername]

        ACC,Proto=(6),IpSrc=(132.230.0.0/255.255.0.0)

        ACC,Proto=(6),IpSrc=(132.231.0.0/255.255.0.0)

        DROP,Msg="Alles andere wird ignoriert !"


kann auch noch so geschreiben werden :

    [filtername]

        ACC,Proto=(6),IpSrc=(132.230.0.0/255.255.0.0 , 132.231.0.0/255.255.0.0)

        DROP,Msg="Alles andere wird ignoriert !"


Dieser Filter lsst nur TCP-Pakete (Proto=(6)) fr die Sourceadressen
'132.230.0.0 mit der Maske 255.255.0.0' und mit den 'Sourceadressen
'132.231.0.0 mit der Maske 255.255.0.0' durch. Alle anderen Pakete
werden weggeschmissen, bzw. fhren nicht zu einem Autodial.


Eine Bedingung eines Filters muss in EINER Zeile stehen. Mit '\' kann
die Zeile in die nchste verlngert werden. (Es darf nach '\' keine
Leerzeile folgen !


Beispiel :

        ACC,\
	    Proto=(6),\
            IpSrc=(132.230.0.0/255.255.0.0 , 132.231.0.0/255.255.0.0),\
            IpDst=132.230.200.200,\
	    PortDst=(6,17)

        DROP,Msg="Alles andere wird ignoriert !"


Bei der Konstruktion des Filter mssen Sie sich entscheiden, ob Sie ein
'EINSCHLUSS-Filter' oder einen 'AUSSCHLUSS-Filter' wnschen. Bei einem
'EINSCHLUSS-FIlter' werden zuerst alle mit 'ACC' Bedingungen aufgezhlt.
Am Schluss folgt ein 'DROP' . 'Bei einem AUSSCHLUSS-Filter' ist es umge-
kehrt. 

Neben der Filterdefinition in den Verbindungskonfigurationen kann auch ein 
Packetfilter in/out im IP-Interface (SL oder LAN) definiert werden.
Damit kann man globale Filter setzen, die fr alle User
(Verbindungen) gelten.

   -------------------- snip --------------------
   [SL0]
       OutgoingFilter  : f1.flt,NETBIOSFILTER0
       IncomingFilter  : f1.flt,NETBIOSFILTER0
   -------------------- snip --------------------

Hinweis: Wenn Sie einen DialFilter einsetzen muss AutoDialMode : 0 gesetzt 
         sein!

Die Konstruktion von Filtern verlangt eine gute Kenntniss des TCPIP-Protokolls.

Bei Fragen bitte ueber die Mailingliste an den Autor wenden.
