Kernel Config for NAT
Robert Huff
roberthuff at rcn.com
Fri Apr 9 12:35:06 UTC 2010
Ian Smith writes:
> > So ... double-checking I'm doing this right:
> >
> > 1) in /boot/loader.conf:
> >
> > ipfw_load="YES"
> > ipdivert_load="YES"
>
> I thought from your earlier mail that you wanted to use in-kernel
> NAT?
I want whatever works. :-)
Beyond that ... all other things being more-or-less equal I'll
do this with modules.
Let's build that. So in /etc/sysctl.conf:
net.inet.ip.fw.default_to_accept="1"
net.inet.ip.fw.verbose="1"
net.inet.ip.fw.verbose_limit="100"
check.
> I believe all these can be accomplished with modules on GENERIC
> kernel, at least on 8.x, with the exception of FIREWALL_FORWARD
> functionality which does require a custom kernel as it messes
> with lots of ip paths.
This machine has a custom kernel, so that's not a an issue.
And in /boot/loader.conf:
ipfw_load="YES"
ipfw_nat="YES" # in-kernel ipfw nat
libalias="YES" # for in-kernel ipfw nat
check.
and in the kernel config:
#options IPFIREWALL #firewall
#options IPFIREWALL_VERBOSE #enable logging to syslogd(8)
options IPFIREWALL_FORWARD
#options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity
#options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
#options IPDIVERT
#options IPFIREWALL_NAT #ipfw kernel nat support
#options LIBALIAS # required for NAT
check.
This combination will get me a) ipfw, using the standard
rc.conf "firewall_" variables, and b) NAT ... do I still need to
have a "nat" setting in the firewall rules?
Less confused than last time,
Robert Huff
More information about the freebsd-questions
mailing list