[BSD] pf+FreeBSD custom route

Beregszászi Attila melon at m42.hu
2005. Dec. 8., Cs, 20:12:08 CET


Original message (sent 2005. december 6. 11:08):

> Sziasztok,

> van egy problémám, amin nem tudok túljutni. Adott egy FreeBSD router 3 interfésszel:
> - em0 - isp1 (default route), gyors kapcsolat, de csak belső cím,
> a forgalom tőlünk függetlenül van tovább natolva
> - em1 - isp2, külső ip cím, ezen keresztül üzemel, dns, mail és web
> - em2 - lan sok alias-szal, számukra natol a router az em0-n keresztül.

> A default route az em0 felé megy, az em1-en üzemelő
> szolgáltatásokat reply-to alkalmazásával állítottam be, azaz pl. a
> kintről (em1) jövő dns kérések válaszai ugyanarra mennek, és nem a
> default route-on keresztül.

> a problémám az, hogy a router egyben mailszerver is, és az
> önmagáról kiinduló smtp forgalmat is szeretném az em1-en és annak
> gateway-én keresztül küldeni. Ezt a route-to alkalmazásával
> próbáltam, de az igazából csak befelé jövő forgalomnál működne. A
> pf.conf-ban található szabály nem megy (# e-mail forgalom) Kernel
> routing tábla nem jöhet szóba, mert tetszőleges cím 25-ös portjaira
> menő forgalmat kellene arra irányítani.

> a pf.conf lényegi részei:

> ############################################################
> IFWAN="em0"
> IFSUL="em1"
> IFLAN="em2"
> LAN="172.22.2.0/23"

> WANIP="192.168.100.2"   # em0
> WANGW="192.168.100.1"   # em0 gw
> SULIP="195.x.x.233"             # em1
> SULGW="195.x.x.238"             # em1 gw

> TCP_SERVICES_EXT = "{https,smtp,smtps,pop3,pop3s,imap,imaps}"
> TCP_SERVICES_LAN = "{http,https,ntp}"

> table <servers> file "/etc/pft.servers"

> set block-policy drop
> scrub in all

> # NAT
> #
> nat on $IFWAN from <servers> to any -> $IFWAN
> nat on $IFWAN from $LAN to any port {21 80 443} -> $IFWAN

> # ez akkor kell, ha megszakad az em0 fele a kapcsolat
> # olyankor jon a 'route change default 195.x.x.238'
> nat on $IFSUL from $LAN to !$LAN -> $IFSUL

> # RDR
> #
> rdr on $IFLAN proto tcp from $LAN to !$LAN port 80 -> \
>         127.0.0.1 port 3128

> block log
> pass quick on lo0 all

> ### WAN
> # em0 ping
> pass in quick on $IFWAN inet proto icmp from any to ($IFWAN) \
>         icmp-type 8 keep state
> antispoof for $IFWAN

> # e-mail forgalom
> pass out quick on $IFWAN route-to ($IFSUL $SULGW) proto tcp \
>         from any to any port 25 keep state
> pass out on $IFWAN from any to any keep state

> ### IFSUL
> antispoof for $IFSUL
> pass out on $IFSUL all keep state

> # icmp echo
> pass in  quick on $IFSUL reply-to ($IFSUL $SULGW) proto icmp \
>     from any to ($IFSUL) icmp-type 8 keep state
> # ssh
> pass in  quick on $IFSUL reply-to ($IFSUL $SULGW) proto tcp \
>     from $TRUSTED_EXT to ($IFSUL) port 22 flags S/SA modulate state
> # dns
> pass in  quick on $IFSUL reply-to ($IFSUL $SULGW) proto { tcp,udp } \
>     from any to ($IFSUL) port domain keep state
> # egyeb tcp
> pass in  quick on $IFSUL reply-to ($IFSUL $SULGW) proto tcp \
>     from any to ($IFSUL) port $TCP_SERVICES_EXT modulate state

> ### LAN
> pass on $IFLAN all
> ############################################################


> Köszi,
> Attila

> _______________________________________________
> BSD levlista
> BSD at hu.freebsd.org
> http://www.hu.freebsd.org/hu/mailman/listinfo/bsd


Erre senki? :/






További információk a(z) BSD levelezőlistáról