Re: pf problemer under bridging

From: Morten Liebach (none@m--mongers.org.lh.bsd-dk.dk)
Date: Wed 28 Apr 2004 - 23:30:35 CEST


Date: Wed, 28 Apr 2004 23:30:35 +0200
From: Morten Liebach <none@m--mongers.org.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: Re: pf problemer under bridging

On 2004-04-28 20:17:47 +0000, Allan Jensen wrote:
> Jeg kører OpenBSD 3.3-stable. Jeg skal bruge den som firewall og har sat en
> bridge op mellem xl0 (yderside) og em1 (inderside).
>
> Min pf.conf ser ud som følgende:
>
> -------------------------------------------------------------------------

[udkommenterede regler fjernet]

> pass in on em1 all
> pass out on em1 all
> pass in on xl0 all
> pass out on xl0 all
>
> ----------------------------------------------------------------------
>
> På denne måde kan jeg godt få internetforbindelse på min client, som sidder
> på em1, men når jeg begynder at tage reglerne i brug kan jeg hverken det
> ene eller det andet på min client.
> Når reglerne er taget i brug vil det se ud som følgende:
>
> -----------------------------------------------------------------------
>
> pass in on em1 all
> pass out on em1 all
>
> pass in quick on xl0 inet proto tcp from any to any port 22
> pass in quick on xl0 inet proto tcp from any to any port 25
> pass in quick on xl0 inet proto udp from any to any port 53
> pass in quick on xl0 inet proto tcp from any to any port 110
> pass in quick on xl0 inet proto tcp from any to any port 443
> pass in quick on xl0 inet proto tcp from any to any port 3128
> pass in quick on xl0 inet proto icmp all
>
> block in log quick on xl0 from any to any
> #pass in on xl0 all
>
> pass out quick on xl0 inet proto tcp from any to any port 22
> pass out quick on xl0 inet proto tcp from any to any port 25
> pass out quick on xl0 inet proto udp from any to any port 53
> pass out quick on xl0 inet proto tcp from any to any port 110
> pass out quick on xl0 inet proto tcp from any to any port 443
> pass out quick on xl0 inet proto tcp from any to any port 3128
> pass out quick on xl0 inet proto icmp all
>
> block out log quick on xl0 from any to any
> #pass out on xl0 all
>
> -----------------------------------------------------------------------

Ovenstående ville jeg skrive som:

    int_if = "em1"
    ext_if = "xl0"

    pass on $int_if all
    block log on $ext_if from any to any
    pass on $ext_if inet proto tcp from any to any \
        port { ssh, smtp, domain, pop3, https, 3128 } keep state
    pass on $ext_if inet proto icmp all keep state

Efter min mening nemmere at læse og forstå. Det er sjældent man behøver
at bruge 'quick' og med 'keep state' får du så også en stateful firewall
hvilket oftest er at foretrække.

Det er stadigvæk et lidt sært regelsæt, så fortæl lidt mere om hvad det
er du vil opnå, hvilke services skal klienterne kunne bruge, og hvilke
services skal være tilgængelige fra Internettet.

> Jeg har fået det til at virke før på denne måde, hvor jeg brugte nat i
> stedet for bridge. Jeg brugte selvfølgelig ikke "pass in on em1 all" og
> "pass out on em1 all".

At bridge er meget forskelligt fra at NAT'e, og jeg må tilstå at jeg
aldrig har prøvet at bridge, men brconfig(8), bridge(4) og
bridgename.if(5) ser ud til at kunne lære dig en hel masse mere, og
derudover så er der jo det evige hit hvad OpenBSD docs angår, FAQ'en,
særligt PF Users Guide på http://openbsd.mongers.org/faq/pf/, den ville
have reddet dig fra at skrive så lange regelsæt som du har.
 
> Jeg kan ikke lige gennemskue, hvorfor jeg er løbet ind i dette problem.
>
> Er der nogen der kan hjælpe mig?

Sikkert. Men hvis det regelsæt jeg lige skrev ovf. ikke hjælper -- og
det gør det nok ikke -- så skrive lidt mere om netværkslayoutet og hvad
det er du egentlig vil med det.

Med venlig hilsen
                                 Morten

-- 
http://m.mongers.org/ -- http://zentience.mongers.org/
__END__



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:39 CET