Date: Tue, 25 Oct 2005 11:24:32 +1000 From: "Josh Finlay" <montarotech@optusnet.com.au> To: "Bruno Afonso" <brunomiguel@dequim.ist.utl.pt> Cc: freebsd-pf@freebsd.org Subject: Re: FreeBSD + MPD + PF + ALTQ Message-ID: <001301c5d902$db39d6d0$0132a8c0@delta> References: <000b01c5d644$54527f20$0132a8c0@delta><4359ED5B.7010303@dequim.ist.utl.pt><55e8a96c0510220651t47fa063ayefd1dcffd63950a6@mail.gmail.com><435A6025.5060602@dequim.ist.utl.pt><55e8a96c0510221659g7ac457b1gc696f392a249fee3@mail.gmail.com> <010001c5d7e0$8669bd50$6200a8c0@delta> <008f01c5d8e3$308c15f0$0132a8c0@delta> <435D85A6.7020106@dequim.ist.utl.pt>
next in thread | previous in thread | raw e-mail | index | archive | help
Looking forward to 6.0 :) Any idea on a release date? It will certainly make my life so much easier. ----- Original Message ----- From: "Bruno Afonso" <brunomiguel@dequim.ist.utl.pt> To: "Josh Finlay" <montarotech@optusnet.com.au> Cc: <freebsd-pf@freebsd.org> Sent: Tuesday, October 25, 2005 11:08 AM Subject: Re: FreeBSD + MPD + PF + ALTQ > Josh Finlay wrote: >> Just giving this message a bit of a bump. >> >> I've looked into: >> >> route add -net 192.168.0.0/24 192.168.1.1 >> in an attempt to route between the two interfaces >> but i just get "file exists" errors, even if i "route flush" before hand. >> >> like I said earlier, routing is -not- my forte. > > Do yourself a favour, use current or wait for 6.0 to come out or ask for > patches :-) > > BA > >> >> ----- Original Message ----- From: "Josh Finlay" >> <montarotech@optusnet.com.au> >> To: "Bill Marquette" <bill.marquette@gmail.com> >> Cc: <freebsd-pf@freebsd.org> >> Sent: Monday, October 24, 2005 12:46 AM >> Subject: Re: FreeBSD + MPD + PF + ALTQ >> >> >>> Ok I've tried to study the PF FAQ on OpenBSD.org and learn a few things >>> from some of the rules you've given. >>> >>> Here is my current pf.conf to date: >>> (note: de0 goes to my lan, vr0 goes to my modem, mpd still uses ng0 but >>> the traffic is still essentially coming in/out on vr0 right?) >>> >>> ExtIF="vr0" >>> IntIF="de0" >>> >>> set loginterface $ExtIF >>> scrub in all >>> scrub out all random-id max-mss 1440 >>> >>> altq on $ExtIF priq bandwidth 128Kb queue { std_out, ssh_im_out, >>> dns_out, tcp_ack_out } >>> queue std_out priq(default) >>> queue ssh_im_out priority 4 priq(red) >>> queue dns_out priority 5 >>> queue tcp_ack_out priority 6 >>> >>> altq on $IntIF cbq bandwidth 512Kb queue { std_in, ssh_im_in, dns_in } >>> queue std_in bandwidth 384Kb cbq(default) >>> queue ssh_im_in bandwidth 64Kb priority 4 >>> queue dns_in bandwidth 64Kb priority 5 >>> >>> local_net = "192.168.0.0/24" >>> ssh_ports = "{ 22 }" >>> im_ports = "{ 1863 5190 5222 }" >>> >>> nat on $IntIF from $local_net to any -> ($ExtIF) >>> pass in quick on lo0 all >>> pass out quick on lo0 all >>> >>> pass out on $ExtIF inet proto tcp from ($ExtIF) to any flags S/SA \ >>> keep state queue(std_out, tcp_ack_out) >>> pass out on $ExtIF inet proto { udp icmp } from ($ExtIF) to any keep >>> state >>> pass out on $ExtIF inet proto { tcp udp } from ($ExtIF) to any port >>> domain \ >>> keep state queue dns_out >>> pass out on $ExtIF inet proto tcp from ($ExtIF) to any port $ssh_ports >>> \ >>> flags S/SA keep state queue(std_out, ssh_im_out) >>> pass out on $ExtIF inet proto tcp from ($ExtIF) to any port $im_ports \ >>> flags S/SA keep state queue(ssh_im_out, tcp_ack_out) >>> >>> pass in on $IntIF from $local_net >>> pass out on $IntIF proto { tcp udp } from any port domain to $local_net >>> \ >>> queue dns_in >>> pass out on $IntIF proto tcp from any port $ssh_ports to $local_net \ >>> queue(std_in, ssh_im_in) >>> pass out on $IntIF proto tcp from any port $im_ports to $local_net \ >>> queue ssh_im_in >>> >>> --end >>> >>> I have also only just installed the second nic in the machine >>> before that, de0 was doing all the work. >>> i am stuck with a small problem, which ive had no experience with, once >>> i tell mpd to connect via vr0, i get connectivity on the router but not >>> on any other machines on the network. >>> they are still using de0's ip (192.168.0.101) as their gateway, but its >>> not able to do any internet traffic. >>> this is the same if i bind a ping to 192.168.0.101 (ie. ping -S >>> 192.168.0.101 host.name) i get no response while mpd is using vr0, but >>> if its using de0 like before it works fine. >>> >>> is this something in pf i need to fix? or do I need to somehow route >>> traffic from de0 to vr0, im in the dark about this, like I said ive had >>> no experience with a second nic. >>> >>> this rules apply fine. but with the above problem on hand, i havent been >>> able to see if they actually work yet. let me know if I messed it all up >>> or not ;) >>> >>> ----- Original Message ----- From: "Bill Marquette" >>> <bill.marquette@gmail.com> >>> To: "Bruno Afonso" <brunomiguel@dequim.ist.utl.pt> >>> Cc: <freebsd-pf@freebsd.org> >>> Sent: Sunday, October 23, 2005 9:59 AM >>> Subject: Re: FreeBSD + MPD + PF + ALTQ >>> >>> >>>> On 10/22/05, Bruno Afonso <brunomiguel@dequim.ist.utl.pt> wrote: >>>>> Bill Marquette wrote: >>>>> > On 10/22/05, Bruno Afonso <brunomiguel@dequim.ist.utl.pt> wrote: >>>>> >> The download part is the problematic one IF they're not all >>>>> connected >> to >>>>> >> the same network interface. Why ? Because altq only works PER >> >>>>> interface >>>>> >> and tun0, tun1, tun2, etc are each and single one, one interface >>>>> on >> its own. >>>>> >> >>>>> >> You basically have to >>>>> >> >>>>> >> altq on tun0 >>>>> >> >>>>> >> altq on tun1, etc.. >>>>> >> >>>>> >> What we would need in this case would be a meta-interface that altq >>>>> >> would work on, but that is not available. Bottom line: you can't >>>>> >> control >>>>> >> with PF global bw over an interface-span. This is probably >>>>> necessary >> for >>>>> >> a full commercial deployment. Don't know of any plans to >>>>> implement >> this... >>>>> >> >>>>> >> meta_if <meta_1> {tun0, tun1} >>>>> >> >>>>> >> altq on meta_1 ... >>>>> >> >>>>> >> would be nice. :-) >>>>> > >>>>> > You mean something like: >>>>> > altq on { fxp0 fxp1 } bandwidth 100Mb hfsc queue { a b } >>>>> > queue a bandwidth 50Mb hfsc(default) >>>>> > queue b bandwidth 50Mb hfsc >>>>> > This works today :) >>>>> >>>>> Yes, I have now tried and verified that it works, but not as we would >>>>> like to in the sense of a meta interface, eg: >>>>> >>>>> altq on { tun0 tun1 tun2 } cbq bandwidth 1Mb queue { a b } >>>>> queue a bandwidth 700Kb cbq(default) >>>>> queue b bandwidth 300Kb >>>>> >>>>> >>>>> which turns itself into... (from pfctl -sq) >>>>> >>>>> >>>>> queue root_tun0 bandwidth 1Mb priority 0 cbq( wrr root ) {a, b} >>>>> queue a bandwidth 700Kb cbq( default ) >>>>> queue b bandwidth 300Kb >>>>> queue root_tun1 bandwidth 1Mb priority 0 cbq( wrr root ) {a, b} >>>>> queue a bandwidth 700Kb cbq( default ) >>>>> queue b bandwidth 300Kb >>>>> queue root_tun2 bandwidth 1Mb priority 0 cbq( wrr root ) {a, b} >>>>> queue a bandwidth 700Kb cbq( default ) >>>>> queue b bandwidth 300Kb >>>>> >>>>> >>>>> What would I want with this? To create a queue that is shared by every >>>>> interface, so limiting globally every interface to a maximum of 1Mb >>>>> each >>>>> and all of them to 1Mb each too, in a cqb borrowing shared way. For >>>>> examply, I'd like a to never exceed 700Kb taking into account every >>>>> interface. This makes perfect sense if I have a limited ammount of bw >>>>> to >>>>> share among each client, which, in a real world, happens 99,9% of the >>>>> time because resources are limited. >>>>> >>>>> So, the syntax works, but it does achieve what I mentioned before, the >>>>> meta interface concept. The example you give is only useful for >>>>> simplifying rulesets, although it's more difficult for humans to >>>>> understand. >>>> >>>> >>>>> From what I understand, that binds queue 'a' to every interface. The >>>> queue definition still limits the queue itself to 700Kb, but allows >>>> you to assign traffic to that queue on each interface that queue is >>>> bound to. I can't find the email that I read that suggests it now >>>> (machine having recently been wiped and google not being terribly >>>> forthcoming with the answer). >>>> >>>> Have you verified this not working with real traffic, or just the >>>> pfctl -sq output? At this time I don't have a multi-interface box at >>>> my disposal, so I can't easily test this. >>>> >>>> --Bill >>>> _______________________________________________ >>>> freebsd-pf@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-pf >>>> To unsubscribe, send any mail to "freebsd-pf-unsubscribe@freebsd.org" >>>> >>> >>> _______________________________________________ >>> freebsd-pf@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-pf >>> To unsubscribe, send any mail to "freebsd-pf-unsubscribe@freebsd.org" >> >> _______________________________________________ >> freebsd-pf@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-pf >> To unsubscribe, send any mail to "freebsd-pf-unsubscribe@freebsd.org" > > -- > Bruno Afonso, Biological Engineer > Dana-Farber Cancer Institute > 1 Jimmy Fund Way > Smith Building > Boston, MA 02115 > phone: (617)-632-5105 > GABBA Graduate Student (http://gabba.up.pt) > Homepage @ http://brunoafonso.net/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001301c5d902$db39d6d0$0132a8c0>