Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Mar 1999 09:58:16 -0800
From:      tront@cs.sfu.ca
To:        jonc@pinnacle.co.nz
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: natd
Message-ID:  <3.0.3.32.19990329095816.009f5960@cs.sfu.ca>

next in thread | raw e-mail | index | archive | help
Does anyone know if the following is commonly required to run natd.  The
natd man page says nothing about this particular kernel option being needed.  

>Another person has suggested using:
>>options         IPFIREWALL_FORWARD      #enable transparent proxy 
>This fixed his non-function natd.  This is not mentioned in the natd man
page, so before we go to the trouble of recompiling our kernel, could you
comment on whether this might help our natd run?  

Thanks VERY much, Russ Tront, Instructor, School of Computing Science, SFU.

-----------------------------------------------------------------------------
Details of our setup:
>> 
>> At 09:44 AM 3/25/99 +0200, ari wrote:
>> >tront@cs.sfu.ca wrote:
>> >>
>> >> Hi Ari, I am a university instructor of a network admin course that has
>> >> been using freebsd unix for 2 years.  We are trying natd for the
first time
>> >> on freebsd 2.2.7.  And after checking all available documentation we are
>> >> stumped as to why we can't even ping from the gateway to a public
network
>> >> machine while natd is running.
>> >> We have followed the instructions on the man page exactly!
>> >> We can ping from the internal machine to the gateway and visa versa.
But
>> >> not through the gateway to the public network.  And more
interestingly, not
>> >> even from the gateway machine to the public network (one hop!).  When we
>> >> kill natd and remove the divert firewall rule, ping is successful in all
>> >> ways, including relay through the gateway, so the connectivity and
routing
>> >> is good.
>> >>
>> >> The divert rule firewall timestamp is showing that it is being used
at the
>> >> time we attempt to pings, so the firewall is running.  And the firewall
>> >> only has the specified 2 rules plus the final 65535 deny rule.
Also, we
>> >> found that running natd in verbose mode generated no error messages.
And
>> >> running in log mode didn't seem to generate any log in alias.log.
>> >>
>> >> We have spent hours on this, and are beginning to disagree with the man
>> >> page that states "Running natd is fairly straight forward".  Can you
give
>> >> us another pointer or two on where to look for some error in our setup.
>> 
>> >       One common mistake is to run natd on wrong interface. You are
supposed
>> >       to run it on the interface that is connected to public network.
>> No, that isn't the problem.
>> 
>> >       If you can send a little bit more details about your setup
>> >       (interface names, addresses etc.) I can try to help you out.
>> 
>> I have attached a dump of all kinds of useful information verifying my set
>> up according to the 'running natd' part of the man page.  I hope this
helps.
>> I have some things you might want to worry about:
>> 1) in our lab, the outside public network has one of the 'test' network
>> addresses 172.16/16.  It there a chance that natd will refuse to forward to
>> such a public network?
>> 2) the address we are pinging is on the same network as the gateway's
>> public address (i.e. direction connection one hop).
>> 3) because of 2) above, we do not have a specific or default route for the
>> ping's destination.  A route is in the routing table for that network by
>> virtue of the interface being brought up.
>> 4) we are not putting any natd commands in a file, assumably everything
>> that is needed can be typed into the command line.
>> 
>> Here is the results of what my student dumped.  172.16/16 is the public
>> network.  172.17/16 is the inside network.  172.16.1.6 is ed0, the public
>> interface of the gateway.  Any help would be appreciated.
>> 
>> Russ Tront, Instructor, School of Computing Science, SFU.
>> 
>>
----------------------------------------------------------------------------
>> ----------------------------------
>> Script started on Wed Mar 24 22:44:56 1999
>> You have mail.
>> fall.net1.cs{root}:cd /usr/src/sys/i386/conf
>> 
>> fall.net1.cs{root}:ls
>> FALL            LINT            PCCARD          files.i386
options.i386
>> GENERIC         Makefile.i386   devices.i386    majors.i386
>> 
>> fall.net1.cs{root}:fgrep IPFIRTEWALL FALL
>> options         IPFIREWALL
>> options         IPFIREWALL_VERBOSE
>> 
>> fall.net1.cs{root}:fgrep IPDIVERT FALL
>> options         IPDIVERT        $ Divert sockets
>> 
>> fall.net1.cs{root}:cd /etc
>> 
>> fall.net1.cs{root}:fgrep gateway rc.conf
>> defaultrouter="NO"              # Set to default gateway (or NO).
>> gateway_enable="YES"            # Set to YES if this host will be a
gateway.
>> ipxgateway_enable="NO"          # Set to YES to enable IPX routing.
>> forward_sourceroute="NO"        # do source routing (only if gateway_enable
>> is set to "YES")
>> 
>> fall.net1.cs{root}:fgrep firewall rc.conf
>> firewall_enable="YES"           # Set to YES to enable firewall
functionality
>> firewall_type="open"            # Firewall type (see /etc/rc.firewall)
>> firewall_quiet="NO"             # Set to YES to suppress rule display
>> natd_enable="NO"                # Enable natd if firewall_enable.
>> 
>> fall.net1.cs{root}:fgrep natd rc.conf
>> natd_enable="NO"                # Enable natd if firewall_enable.
>> natd_interface="fxp0"           # Public interface to use with natd if
>> natd_enable.
>> natd_flags=""                   # Additional flags for natd.
>> 
>> fall.net1.cs{root}:fgrep natd services
>> natd            8668/divert #Network Address Translation
>> 
>> fall.net1.cs{root}:ipfw -t list
>> 00100                          allow ip from any to any via lo0
>> 00200                          deny ip from any to 127.0.0.0/8
>> 65000 Wed Mar 24 22:46:05 1999 allow ip from any to any
>> 65535                          deny ip from any to any
>> 
>> fall.net1.cs{root}:ipfw -f flush
>> Flushed all rules.
>> 
>> fall.net1.cs{root}:ipfw add divert natd all from any to any via ed0
>> 00000 divert 8668 ip from any to any via ed0
>> 
>> fall.net1.cs{root}:ipfw add pass all from any to any
>> 00000 allow ip from any to any
>> 
>> fall.net1.cs{root}:netstat -nr
>> Routing tables
>> 
>> Internet:
>> Destination        Gateway            Flags     Refs     Use     Netif
Expire
>> 127.0.0.1          127.0.0.1          UH          0        0       lo0
>> 172.16             link#1             UC          0        0
>> 172.18             link#2             UC          0        0
>> 
>> fall.net1.cs{root}:netstat -i
>> Name  Mtu   Network       Address            Ipkts Ierrs    Opkts Oerrs
Coll
>> ed0   1500  <Link>      00.40.95.76.90.4b        5     0        1     0
   0
>> ed0   1500  172.16        fall                   5     0        1     0
   0
>> ed1   1500  <Link>      00.40.95.76.e4.d1        0     0        1     0
   0
>> ed1   1500  172.18        fall.net3.cs           0     0        1     0
   0
>> lp0*  1500  <Link>                               0     0        0     0
   0
>> tun0* 1500  <Link>                               0     0        0     0
   0
>> tun1* 1500  <Link>                               0     0        0     0
   0
>> sl0*  552   <Link>                               0     0        0     0
   0
>> sl1*  552   <Link>                               0     0        0     0
   0
>> ppp0* 1500  <Link>                               0     0        0     0
   0
>> ppp1* 1500  <Link>                               0     0        0     0
   0
>> lo0   16384 <Link>                              48     0       48     0
   0
>> lo0   16384 your-net      localhost             48     0       48     0
   0
>> 
>> fall.net1.cs{root}:netstat -r
>> Routing tables
>> 
>> Internet:
>> Destination        Gateway            Flags     Refs     Use     Netif
Expire
>> localhost          localhost          UH          0       72       lo0
>> 172.16             link#1             UC          0        0
>> 172.18             link#2             UC          0        0
>> 
>> fall.net1.cs{root}:ipfw -t list
>> 00100 Wed Mar 24 22:50:22 1999 divert 8668 ip from any to any via ed0
>> 00200 Wed Mar 24 22:50:09 1999 allow ip from any to any
>> 65535 Wed Mar 24 22:47:35 1999 deny ip from any to any
>> 
>> fall.net1.cs{root}:ping 172.16.1.7
>> PING 172.16.1.7 (172.16.1.7): 56 data bytes
>> ^C
>> --- 172.16.1.7 ping statistics ---
>> 3 packets transmitted, 0 packets received, 100% packet loss
>> (((NOTE: this ping would have worked if not for the presence of the divert
>> firewall rule and no natd running yet))))
>> 
>> fall.net1.cs{root}:natd -interface ed0
>> 
>> fall.net1.cs{root}:ping 172.16.1.7
>> PING 172.16.1.7 (172.16.1.7): 56 data bytes
>> ^C
>> --- 172.16.1.7 ping statistics ---
>> 3 packets transmitted, 0 packets received, 100% packet loss
>> 
>> fall.net1.cs{root}:ps -aux
>> USER       PID %CPU %MEM   VSZ  RSS  TT  STAT STARTED       TIME COMMAND
>> root       232  0.0  0.9   384  272  p0  R+   10:52PM    0:00.00 ps -aux
>> root         1  0.0  0.8   484  236  ??  Is   10:44PM    0:00.03
/sbin/init --
>> root         2  0.0  0.1     0   12  ??  DL   10:44PM    0:00.00
(pagedaemon)
>> root         3  0.0  0.1     0   12  ??  DL   10:44PM    0:00.00
(vmdaemon)
>> root         4  0.0  0.1     0   12  ??  DL   10:44PM    0:00.07  (update)
>> root        99  0.0  1.8   204  540  ??  Ss   10:44PM    0:00.16 syslogd
>> daemon     109  0.0  1.9   176  564  ??  Is   10:44PM    0:00.01 portmap
>> root       131  0.0  2.0   208  608  ??  Is   10:44PM    0:00.07 inetd
>> root       134  0.0  1.7   332  512  ??  Ss   10:44PM    0:00.04 cron
>> root       137  0.0  1.8   208  540  ??  Is   10:44PM    0:00.01 lpd
>> root       164  0.0  1.4   168  420  ??  Is   10:44PM    0:00.00 moused -p
>> /dev
>> root       173  0.0  2.4   372  720  ??  Is   10:44PM    0:02.23
>> /usr/local/sbi
>> root       196  0.0  1.1   460  328  v0  Is   10:44PM    0:00.19 -csh (csh)
>> root       197  0.0  1.8   180  544  v1  Is+  10:44PM    0:00.03
>> /usr/libexec/g
>> root       198  0.0  1.8   180  544  v2  Is+  10:44PM    0:00.03
>> /usr/libexec/g
>> root       204  0.0  1.5   216  460  v0  S+   10:44PM    0:00.22 script
huang
>> root       205  0.0  1.1   456  336  p0  Ss   10:44PM    0:00.13 -h -i
(csh)
>> root       230  0.0  1.7   228  492  ??  Is   10:51PM    0:00.00 natd
>> -interfac
>> root         0  0.0  0.0     0    0  ??  DLs  10:44PM    0:00.01  (swapper)
>> 
>> fall.net1.cs{root}:ipfw -t list
>> 00100 Wed Mar 24 22:51:37 1999 divert 8668 ip from any to any via ed0
>> 00200 Wed Mar 24 22:50:09 1999 allow ip from any to any
>> 65535 Wed Mar 24 22:47:35 1999 deny ip from any to any
>> 
>> fall.net1.cs{root}:ping 172.16.1.7
>> PING 172.16.1.7 (172.16.1.7): 56 data bytes
>> ^C
>> --- 172.16.1.7 ping statistics ---
>> 2 packets transmitted, 0 packets received, 100% packet loss
>> 
>> fall.net1.cs{root}:ipfw -t list
>> 00100 Wed Mar 24 22:52:36 1999 divert 8668 ip from any to any via ed0
>> 00200 Wed Mar 24 22:50:09 1999 allow ip from any to any
>> 65535 Wed Mar 24 22:47:35 1999 deny ip from any to any
>> 
>> fall.net1.cs{root}:netstat -nr
>> Routing tables
>> 
>> Internet:
>> Destination        Gateway            Flags     Refs     Use     Netif
Expire
>> 127.0.0.1          127.0.0.1          UH          0      120       lo0
>> 172.16             link#1             UC          0        0
>> 172.16.1.7         link#1             UHLW        0        8
>> 172.18             link#2             UC          0        0
>> 
>> fall.net1.cs{root}:netstat -r
>> Routing tables
>> 
>> Internet:
>> Destination        Gateway            Flags     Refs     Use     Netif
Expire
>> localhost          localhost          UH          0      120       lo0
>> 172.16             link#1             UC          0        0
>> september          link#1             UHLW        0        8
>> 172.18             link#2             UC          0        0
>> 
>> fall.net1.cs{root}:netstat -i
>> Name  Mtu   Network       Address            Ipkts Ierrs    Opkts Oerrs
Coll
>> ed0   1500  <Link>      00.40.95.76.90.4b        8     0        1     0
   0
>> ed0   1500  172.16        fall                   8     0        1     0
   0
>> ed1   1500  <Link>      00.40.95.76.e4.d1        0     0        1     0
   0
>> ed1   1500  172.18        fall.net3.cs           0     0        1     0
   0
>> lp0*  1500  <Link>                               0     0        0     0
   0
>> tun0* 1500  <Link>                               0     0        0     0
   0
>> tun1* 1500  <Link>                               0     0        0     0
   0
>> sl0*  552   <Link>                               0     0        0     0
   0
>> sl1*  552   <Link>                               0     0        0     0
   0
>> ppp0* 1500  <Link>                               0     0        0     0
   0
>> ppp1* 1500  <Link>                               0     0        0     0
   0
>> lo0   16384 <Link>                             224     0      224     0
   0
>> lo0   16384 your-net      localhost            224     0      224     0
   0
>> 
>> fall.net1.cs{root}:ifconfig -a
>> ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>         inet 172.16.1.6 netmask 0xffff0000 broadcast 172.16.255.255
>>         ether 00:40:95:76:90:4b
>> ed1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>         inet 172.18.1.1 netmask 0xffff0000 broadcast 172.18.255.255
>>         ether 00:40:95:76:e4:d1
>> lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
>> tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
>> tun1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
>> sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
>> sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
>> ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
>> ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
>> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
>>         inet 127.0.0.1 netmask 0xff000000
>> 
>> fall.net1.cs{root}:ping 172.16.1.5
>> PING 172.16.1.5 (172.16.1.5): 56 data bytes
>> ^C
>> --- 172.16.1.5 ping statistics ---
>> 3 packets transmitted, 0 packets received, 100% packet loss
>> 
>> fall.net1.cs{root}:ipfw -t list
>> 00100 Wed Mar 24 22:55:51 1999 divert 8668 ip from any to any via ed0
>> 00200 Wed Mar 24 22:55:27 1999 allow ip from any to any
>> 65535 Wed Mar 24 22:47:35 1999 deny ip from any to any
>> 
>> fall.net1.cs{root}:netstat -i
>> Name  Mtu   Network       Address            Ipkts Ierrs    Opkts Oerrs
Coll
>> ed0   1500  <Link>      00.40.95.76.90.4b       12     0        1     0
   0
>> ed0   1500  172.16        fall                  12     0        1     0
   0
>> ed1   1500  <Link>      00.40.95.76.e4.d1        0     0        1     0
   0
>> ed1   1500  172.18        fall.net3.cs           0     0        1     0
   0
>> lp0*  1500  <Link>                               0     0        0     0
   0
>> tun0* 1500  <Link>                               0     0        0     0
   0
>> tun1* 1500  <Link>                               0     0        0     0
   0
>> sl0*  552   <Link>                               0     0        0     0
   0
>> sl1*  552   <Link>                               0     0        0     0
   0
>> ppp0* 1500  <Link>                               0     0        0     0
   0
>> ppp1* 1500  <Link>                               0     0        0     0
   0
>> lo0   16384 <Link>                             416     0      416     0
   0
>> lo0   16384 your-net      localhost            416     0      416     0
   0
>> 
>> fall.net1.cs{root}:netstat -r
>> Routing tables
>> 
>> Internet:
>> Destination        Gateway            Flags     Refs     Use     Netif
Expire
>> localhost          localhost          UH          0      440       lo0
>> 172.16             link#1             UC          0        0
>> june               link#1             UHLW        0        3
>> 172.18             link#2             UC          0        0
>> 
>> fall.net1.cs{root}:netstat -nr
>> Routing tables
>> 
>> Internet:
>> Destination        Gateway            Flags     Refs     Use     Netif
Expire
>> 127.0.0.1          127.0.0.1          UH          0      496       lo0
>> 172.16             link#1             UC          0        0
>> 172.16.1.5         link#1             UHLW        0        3
>> 172.18             link#2             UC          0        0
>> fall.net1.cs{root}:exit
>> 
>> Script done on Wed Mar 24 22:57:10 1999
>> 
>> *september's address 172.16.1.7
>> *june's address 172.16.1.5
>
>



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




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