[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