Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Sep 2009 10:14:15 -0400
From:      Robert Huff <roberthuff@rcn.com>
To:        questions@freebsd.org
Subject:   ipfw + NAT doesn't work
Message-ID:  <19122.17463.670129.782291@jerusalem.litteratus.org>

next in thread | raw e-mail | index | archive | help

	I have a machine running

FreeBSD 9.0-CURRENT #3: Tue Sep 15 18:49:58 EDT 2009 amd64 

	It has this in the config file for the running kernel:

options  IPFIREWALL              #firewall
options  IPFIREWALL_VERBOSE      #enable logging to syslogd(8)
options  IPFIREWALL_VERBOSE_LIMIT=100    #limit verbosity
options  IPFIREWALL_DEFAULT_TO_ACCEPT    #allow everything by default
options  IPFIREWALL_NAT          #ipfw kernel nat support
options  LIBALIAS 

	It (10.0.0.1) connects correctly to another machine (10.0.0.3);
I know because .3 mounts one of .1's disks using Samba.
	With the ipfw rules appended below, I can't NAT, nor should I
be able to.  ("em0" faces the Internet; "em1" faces the other
machine.)
	However: using these I still can't get through

ipfw add 5000 nat 15 all from any to any
ipfw nat 15 config log same_ports ip 10.0.0.0/8

	Have I forgotten something?  Or misunderstood something?
	If not ... how do I figure out what's wrong?

	Respectfully,


				Robert Huff



00100  3830   864746 allow ip from any to any via lo0
00200     0        0 deny ip from any to 127.0.0.0/8
00300     0        0 deny ip from 127.0.0.0/8 to any
00350   110    42464 allow udp from any 67-68 to any dst-port 67-68
00600     0        0 allow ip6 from any to any via lo0
00610     0        0 deny ip6 from any to ::1
00620     0        0 deny ip6 from ::1 to any
00630     3      256 allow ip6 from :: to ff02::/16 proto ipv6-icmp
00640     0        0 allow ip6 from fe80::/10 to fe80::/10 proto ipv6-icmp
00650     4      304 allow ip6 from fe80::/10 to ff02::/16 proto ipv6-icmp
00660     0        0 allow ip6 from 2001:db8:2:1::1 to 2001:db8:2:1::/64
00670     0        0 allow ip6 from 2001:db8:2:1::/64 to 2001:db8:2:1::1
00680     0        0 allow ip6 from fe80::/10 to ff02::/16
00690     0        0 allow ip6 from 2001:db8:2:1::/64 to ff02::/16
00700     0        0 allow ip6 from any to any established proto tcp
00710     0        0 allow ip6 from any to any frag
00720     0        0 allow ip6 from any to 2001:db8:2:1::1 dst-port 25 setup proto tcp
00730     0        0 allow ip6 from 2001:db8:2:1::1 to any setup proto tcp
00740     0        0 deny ip6 from any to any setup proto tcp
00750     0        0 allow ip6 from any 53 to 2001:db8:2:1::1 proto udp
00760     0        0 allow ip6 from 2001:db8:2:1::1 to any dst-port 53 proto udp
00770     0        0 allow ip6 from any 123 to 2001:db8:2:1::1 proto udp
00780     0        0 allow ip6 from 2001:db8:2:1::1 to any dst-port 123 proto udp
00790     0        0 allow ip6 from any to any ip6 icmp6types 1 proto ipv6-icmp
00800     0        0 allow ip6 from any to any ip6 icmp6types 2,135,136 proto ipv6-icmp
06000     0        0 deny log logamount 100 tcp from any to any dst-port 137 in via em0
06050    32     3000 deny log logamount 100 udp from any to any dst-port 137 in via em0
06100     0        0 deny log logamount 100 tcp from any to any dst-port 138 in via em0
06150    15     3465 deny log logamount 100 udp from any to any dst-port 138 in via em0
06200     0        0 deny log logamount 100 tcp from any to any dst-port 139 in via em0
06250     0        0 deny log logamount 100 udp from any to any dst-port 139 in via em0
07000     0        0 deny log logamount 100 tcp from any to any dst-port 111 in via em0
07050     0        0 deny log logamount 100 udp from any to any dst-port 111 in via em0
07100     0        0 deny log logamount 100 tcp from any to any dst-port 530 in via em0
07150     0        0 deny log logamount 100 udp from any to any dst-port 530 in via em0
07200     0        0 deny log logamount 100 tcp from any to any dst-port 161 in recv em0
07225     0        0 deny log logamount 100 udp from any to any dst-port 161 in recv em0
07250     0        0 deny log logamount 100 tcp from any to any dst-port 162 in recv em0
07275     0        0 deny log logamount 100 udp from any to any dst-port 162 in recv em0
07300     0        0 deny log logamount 100 tcp from any to any dst-port 194
07310     0        0 deny log logamount 100 udp from any to any dst-port 194
07320     0        0 deny log logamount 100 tcp from any to any dst-port 529
07330     0        0 deny log logamount 100 udp from any to any dst-port 529
07340     0        0 deny log logamount 100 tcp from any to any dst-port 994
07350     0        0 deny log logamount 100 udp from any to any dst-port 994
07360     0        0 deny log logamount 100 tcp from any to any dst-port 6667
07370     0        0 deny log logamount 100 udp from any to any dst-port 6667
10000 45012 38961511 allow tcp from any to any established
10100  1452   112487 allow ip from any to any out via em0
10200     0        0 allow tcp from 10.0.0.0/8 to any dst-port 80
10300     0        0 allow tcp from any 80 to any dst-port 1024-65535 via em0
10400     0        0 allow tcp from any 443 to any dst-port 1024-65535 via em0
10500     0        0 deny log logamount 100 tcp from any 1024-65535 to any dst-port 80 via em0
10600     0        0 deny log logamount 100 tcp from any 1024-65535 to any dst-port 443 via em0
65000  1548   325720 allow ip from any to any
65535    20     2383 allow ip from any to any



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19122.17463.670129.782291>