Re: [BSD] Hamá pf legyen kövér

István Szukács leccine at gmail.com
2005. Ápr. 12., K, 11:14:28 CEST


en is neztem a joember HPjan ezt a fajta queneinget de nem ertettem
hogy miert mindket quenebe rakja bele a rulokkal a paketokat


On Apr 12, 2005 10:49 AM, Zeller Balázs <zeller at axelero.hu> wrote:
> Hali!
> 
> Látom éppen dúl a pf téma gondoltam énis beszállok.
> Szal csináltam egy olyan „tüzfalat" ami igazából csak annyit csinál, hogy load balance-ol kifelé két adsl-t, natol egyet, megpróbálja megoldani az adslnél
> jövő feltöltés során szar a letöltés gondot és minden portot kivéve 1-et átpassol egy ms isa servernek (ez követelmény volt hogy a rule-okat rajtam kívül más is tudja változtatni ☹)
> majd az isa natol még1-et és ott jön a helyi háló.
> 
> Topológia:
> 
> Inet1—--
>        |---fbsd+pf---192.168.2.0/24---msisa2004---192.168.1.0/24---lan
> Inet2---
> 
> Itt van a ruleset:
> 
> ext_if1="tun0"
> ext_if2="tun1"
> int_if="rl2"
> lan_net="192.168.2.0/24"
> ext_gw1="195.70.32.10"
> ext_gw2="195.70.32.10"
> server="192.168.2.2"
> gre = "47"
> 
> scrub in all
> 
> #xxx adsl altq
> altq on $ext_if1 priq bandwidth 350Kb queue { q_pri_1, q_def_1 }
> queue q_pri_1 priority 7
> queue q_def_1 priority 1 priq(default)
> 
> #yyy adsl altq
> altq on $ext_if2 priq bandwidth 350Kb queue { q_pri_2, q_def_2 }
> queue q_pri_2 priority 7
> queue q_def_2 priority 1 priq(default)
> 
> #nat
> nat on $ext_if1 from $lan_net to any -> ($ext_if1)
> nat on $ext_if2 from $lan_net to any -> ($ext_if2)
> 
> #internetbank nat (csak egy if-en mehet)
> nat on $ext_if2 from $lan_net to 195.56.141.44 -> ($ext_if2)
> 
> #ez akarna lenni az port atiranyitas
> rdr on $ext_if1 proto tcp from any to any port 1:21 -> $server port 1:21
> rdr on $ext_if2 proto tcp from any to any port 1:21 -> $server port 1:21
> 
> rdr on $ext_if1 proto tcp from any to any port 23:65535 -> $server port 23:65535
> rdr on $ext_if2 proto tcp from any to any port 23:65535 -> $server port 23:65535
> 
> rdr on $ext_if1 proto udp from any to any port 1:65535 -> $server port 1:65535
> rdr on $ext_if2 proto udp from any to any port 1:65535 -> $server port 1:65535
> 
> #pptp servernek kell (vpn)
> rdr on $ext_if1 proto $gre from any to any -> $server
> rdr on $ext_if2 proto $gre from any to any -> $server
> 
> #internetbank atiranyitas (csak egy if-en keresztül mehet)
> rdr on $ext_if2 from 195.56.141.44 to any -> $server
> 
> #antispoof
> antispoof for $ext_if1
> antispoof for $ext_if2
> 
> pass all
> 
> pass out quick all keep state
> 
> #pass all outgoing packets on internal interface
> pass out on $int_if from any to $lan_net
> 
> #pass in quick any packets destined for the gatewy itself
> pass in quick on $int_if from $lan_net to $int_if
> 
> #altq tcp ack priorizing (feltöltés/letöltés gond)
> pass out on $ext_if1 proto tcp from $ext_if1 to any flags S/SA \
> keep state queue (q_def_1, q_pri_1)
> 
> pass in on $ext_if1 proto tcp from any to $ext_if1 flags S/SA \
> keep state queue (q_def_1, q_pri_1)
> 
> pass out on $ext_if2 proto tcp from $ext_if2 to any flags S/SA \
> keep state queue (q_def_2, q_pri_2)
> 
> pass in on  $ext_if2 proto tcp from any to $ext_if2 flags S/SA \
> keep state queue (q_def_2, q_pri_2)
> 
> #load balance
> pass in on $int_if route-to \
> { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
> proto tcp from $lan_net to any flags S/SA modulate state
> 
> pass in on $int_if route-to \
> { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
> proto { udp, icmp } from $lan_net to any keep state
> 
> #  general "pass out" rules for external interfaces
> pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state
> pass out on $ext_if1 proto { udp, icmp } from any to any keep state
> pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state
> pass out on $ext_if2 proto { udp, icmp } from any to any keep state
> 
> #  route packets from any IPs on $ext_if1 to $ext_gw1 and the same for
> #  $ext_if2 and $ext_gw2
> pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
> pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
> 
> Szal a load balance müxik is legalábbis az mrtg szerint amit nem látok hogy müködne a "feltöltés/letöltés" javítás.
> Legalábbis ha nézem a "pfctl -s queue -v" akkor a 7 prioritású queue-k mindig üresek. Nem kéne ezt a részt "keep state queue (q_def_X, q_pri_X)"
> minden sor végére odatenni?
> A másik kérdés/kérés hogy nem lehetne vhogy letisztultabbá tenni a ruleset-et? Nem vagyok biztos benne hogy nem engedélyezek túl sokszor mindent :)
> Ötletek?
> 
> Üdv zeller
> 
> _______________________________________________
> BSD levlista
> BSD at hu.freebsd.org
> http://www.hu.freebsd.org/hu/mailman/listinfo/bsd
> 


-- 
the sun shines for all



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