Sorry, I too, forgot to send to misc@

On Thu, Apr 8, 2010 at 11:47, James Shupe <professio...@jamesshupe.com> wrote:
> My idea is to maintain a table of RTP servers, if that is possible. RTP
> uses any unprivileged port (or a port above 1024) to send traffic on. Your
> rule would be a rule that would allow any of that unprivileged UDP traffic
> from only those hosts. It's not the perfect solution, but probably is the
> most viable one. As far as I know, there is no proxy application that can
> handle RTP, but you may want to investigate that further.
>
> pass in log inet proto udp from <rtp_servers> to $int:network port > 1024
>
>> Effectively, it uses RTP.
>> However, I'm not sure I don't quite understand your idea.  How would
>> the table be updated with which ports to redirect?  Or do you mean it
>> to be static with the port range currently in use?
>>
>> The port used seems to be random between 50000 and 60000 (something I
>> have not found a reference to in anything liked to RTP).  Redirecting
>> them with a rule like "rdr pass on $extif proto udp from any to $extif
>> port 50000:60000 -> $mypc" should work, but this does not seem like
>> the proper solution.  Or am I wrong?  (=
>>
>> Isn't there a way to have this work so that, in future, MORE than one
>> PC can use RTP?  This isn't a  MUST right now, but I would prefer to
>> find some solution that would work in future.
>>
>> BTW James: Thank you very much, pointing out that XMPP's
>> video-conference implementation uses RTP helped me google A LOT more
>> info on the subject :)
> <quote who="Hugo Osvaldo Barrera">
>> On Thu, Apr 8, 2010 at 10:21, James Shupe <professio...@jamesshupe.com>
>> wrote:
>>> Forgot to send to the list, twice!
>>>
>>> If it's RTP,
>>> (http://en.wikipedia.org/wiki/Real-time_Transport_Protocol),
>>> which some quick Googling indicates, your best bet may be to make a
>>> table
>>> of sending hosts with a pass ... inet proto udp ... from <table> to ?
>>> port
>>>>1024 rule.
>>>
>>> <quote who="Hugo Osvaldo Barrera">
>>>> On Thu, Apr 8, 2010 at 00:54, James Shupe <professio...@jamesshupe.com>
>>>> wrote:
>>>>> Use "log (all)" and tcpdump to figure out exactly what is being
>>>>> blocked.
>>>>>
>>>>> On 4/7/10 10:40 PM, Hugo Osvaldo Barrera wrote:
>>>>>> I'm using OpenBSD 4.6 at home as an access point, firewall and home
>>>>>> server (with pf).
>>>>>> I've recently had some issues trying to use pidgin's [XMPP] video
>>>>>> support on one of my client computers, yet, if I connect it directly
>>>>>> to the internet it works fine; hence the problem is the firewall
>>>>>> configuration (as one of the pidgin devs pointed out it might have
>>>>>> been).
>>>>>> I THINK UDP packets are being dropped, but I must really say, this
>>>>>> problem is a bit above my level of understanding.
>>>>>>
>>>>>> I need to know how to make sure UDP packets don't get dropped on the
>>>>>> way to my PC, but i'm not really sure how.
>>>>>>
>>>>>> I think a simple "pass in proto udp" is a bit extremist (though it
>>>>>> would
>>>> work).
>>>>>> Any better suggestions?
>>>>>>
>>>>>> My current pf.conf file is:
>>>>>>
>>>>>> -----
>>>>>> #       $OpenBSD: pf.conf,v 1.44 2009/06/10 15:29:34 sobrado Exp $
>>>>>> #
>>>>>> # See pf.conf(5) for syntax and examples; this sample ruleset uses
>>>>>> # require-order to permit mixing of NAT/RDR and filter rules.
>>>>>> # Remember to set net.inet.ip.forwarding=1 and/or
>>>> net.inet6.ip6.forwarding=1
>>>>>> # in /etc/sysctl.conf if packets are to be forwarded between
>>>>>> interfaces.
>>>>>>
>>>>>> # Skip lo
>>>>>> set skip on lo
>>>>>>
>>>>>> #############
>>>>>> # Variables #
>>>>>> #############
>>>>>> extif = "re0"
>>>>>> intif = "ral0"
>>>>>> chaos = "172.16.1.7"
>>>>>> mamaquina = "172.16.1.12"
>>>>>>
>>>>>> tcp_services="{ 22, 113, 80, 443 }"
>>>>>>
>>>>>> icmp_types = "echoreq"
>>>>>> allproto = "{ tcp, udp, ipv6, icmp, esp, ipencap }"
>>>>>> privnets = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8
>>>>>> }"
>>>>>>
>>>>>> table <intnet> { 172.16.0.1/16 }
>>>>>>
>>>>>> # Options
>>>>>> set loginterface $extif
>>>>>> match in all scrub (no-df)
>>>>>>
>>>>>> #######
>>>>>> # NAT #
>>>>>> #######
>>>>>> nat on $extif from $intif:network -> ($extif)
>>>>>> # TODO Maybe move this down to service ports? Check first.
>>>>>> rdr pass log on $extif proto tcp from any to any port 1022 -> $chaos
>>>>>> port
>>>> 22
>>>>>>
>>>>>> block in
>>>>>> pass out keep state
>>>>>>
>>>>>> antispoof quick for { lo $intif }
>>>>>>
>>>>>> block drop in on $extif from $privnets to any
>>>>>> block drop in on $extif from any to $privnets
>>>>>>
>>>>>> #################
>>>>>> # SERVICE PORTS #
>>>>>> #################
>>>>>>
>>>>>> # Open ports for local servicesAbro puerto de servicios locales
>>>>>> pass in on $extif inet proto tcp from any to ($extif) port
>>>>>> $tcp_services flags S/SA keep state
>>>>>>
>>>>>> ### OTHER PORTS AND OPENINGS
>>>>>> pass in on $extif from any to 172.16.1.7
>>>>>> pass in on $extif from any to 172.16.2.4
>>>>>>
>>>>>> pass in on $extif proto {tcp, udp} from any to any port 53
>>>>>>
>>>>>> # ICMP Traffic
>>>>>> pass in inet proto icmp all icmp-type $icmp_types keep state
>>>>>>
>>>>>> # LAN - everything is allow in/out
>>>>>> pass in quick on $intif
>>>>>> pass out quick on $intif
>>>>>>
>>>>>>
>>>>>> ### Block remote connections to the X Server
>>>>>> block in on ! lo0 proto tcp to port 6000:6010
>>>>>> -----
>>>>>>
>>>>>> Thanks for your time guys!
>>>>>>
>>>>>> --
>>>>>> Hugo Osvaldo Barrera
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> As I had supposed; pf is blocking the UDP packages:
>>>>
>>>> Apr 08 01:31:58.241781 rule 1/(match) block in on re0:
>>>> <the-other-IP>.59789 > <my-ip>.50688: udp 56
>>>> Apr 08 01:31:58.363252 rule 1/(match) block in on re0:
>>>> <the-other-IP>.59792 > <my-ip>.52166: udp 56
>>>> Apr 08 01:31:58.363991 rule 1/(match) block in on re0:
>>>> <the-other-IP>.59793 > <my-ip>.50688: udp 56
>>>>
>>>> There are several more dozen lines like this one.
>>>> However, each one uses a different port, so how can I solve the
>>>> problem?  I don't even see a predicting which ports I'd need to open
>>>> (they ARE random).
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Thank you,
>>> James M. Shupe
>>> GPG: 9C5C4417
>>>
>>>
>>
>> Effectively, it uses RTP.
>> However, I'm not sure I don't quite understand your idea.  How would
>> the table be updated with which ports to redirect?  Or do you mean it
>> to be static with the port range currently in use?
>>
>> The port used seems to be random between 50000 and 60000 (something I
>> have not found a reference to in anything liked to RTP).  Redirecting
>> them with a rule like "rdr pass on $extif proto udp from any to $extif
>> port 50000:60000 -> $mypc" should work, but this does not seem like
>> the proper solution.  Or am I wrong?  (=
>>
>> Isn't there a way to have this work so that, in future, MORE than one
>> PC can use RTP?  This isn't a  MUST right now, but I would prefer to
>> find some solution that would work in future.
>>
>> BTW James: Thank you very much, pointing out that XMPP's
>> video-conference implementation uses RTP helped me google A LOT more
>> info on the subject :)
>>
>>
>>
>>
>
>
> --
> Thank you,
> James M. Shupe
> GPG: 9C5C4417
>
>

Great! I'll give this a try tonight and tell you if it works fine - I
expect it to, everything makes sense :D

Thanks!

Reply via email to