pf.conf and cable modem
alex at schnarff.com
alex at schnarff.com
Wed Feb 28 18:19:16 UTC 2007
Quoting RW <fbsd06 at mlists.homeunix.com>:
> On Wed, 28 Feb 2007 12:44:21 -0500
> alex at schnarff.com wrote:
>
>> Quoting RW <fbsd06 at mlists.homeunix.com>:
>
>> > When I used DHCP with PF, I found that it just worked without any
>> > rules at all.
>>
>> That's been my experience as well (admittedly on OpenBSD, but it's
>> basically the same PF). Remember, your NIC's initialization sequence,
>> which is where the DHCP request will come, happens before PF is
>> enabled, so you're essentially at a "pass all" sort of a state when
>> the request happens.
>>
>> The one thing to keep in mind is that if you're doing, say, NAT for
>> some clients behind the box, you can use a rule like this to deal
>> with any changes in your dynamic IP
>
> Not in my experience.
>
> I was using a half-bridge modem that had a 30 second lease time, which
> was definitely renewing. It would also give me a private address when
> PPPoA went down, and I saw that happen too.
Are you sure it was a 30 *second* lease time? No sane ISP would set
such a low value -- that's a surefire way to overwhelm their DHCP
servers. It sounds like either a) there was something misconfigured on
one end of the connection (and I make no value judgement as to which
end it was, given the lack of evidence), or b) you had an incredibly
stupid ISP that I'd like the name of, so that I can avoid them at all
costs.
> I added-in some early static rules to log all the DHCP packets. IIRC I
> never saw any of the lease renewal packets, just some broadcast
> packets. I asked in this list about it but never got a reply.
What were the rules? I'd be curious to see them.
> I suspect that either DHCP sees the packets directly in some way, or PF
> has some special handling for DHCP. In either case it would make sense
> for PF rules to see the broadcasts, since they might need to be
> bridged.
Given this thread:
http://marc.theaimsgroup.com/?l=openbsd-pf&m=115702991719970&w=2
I'd say that DHCP goes on at a level below PF, at least on OpenBSD
(which, again, should be largely similar, if not identical, on
FreeBSD). In any case, the OP shouldn't have to do anything special to
let DHCP through, especially if he's got something like:
pass out quick on $ext_if proto udp all keep state
in his ruleset, which probably makes sense anyway.
Alex Kirk
More information about the freebsd-questions
mailing list