Date: Thu, 30 Mar 2000 08:43:50 -0500 From: Alan Clegg <abc@firehouse.net> To: cjclark@home.com Cc: freebsd-questions@FreeBSD.ORG Subject: Re: natd with three interfaces. Message-ID: <20000330084350.F3459@laptop.firehouse.net> In-Reply-To: <20000330004610.D17852@cc942873-a.ewndsr1.nj.home.com>; from cjc@cc942873-a.ewndsr1.nj.home.com on Thu, Mar 30, 2000 at 12:46:10AM -0500 References: <20000329224805.C3459@laptop.firehouse.net> <20000330004610.D17852@cc942873-a.ewndsr1.nj.home.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--5CUMAwwhRxlRszMD Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Out of the ether, Crist J. Clark spewed forth the following bitstream: > On Wed, Mar 29, 2000 at 10:48:05PM -0500, Alan Clegg wrote: > > I have a machine with three interfaces, wireless (wi0) internal (fxp0) = and > > external (dc0). > >=20 > > Now, I have natd running as such: > > /sbin/natd -n dc0 > > with: > > /sbin/ipfw -f flush > > /sbin/ipfw add divert natd all from any to any via dc0 > > /sbin/ipfw add pass all from any to any > > Forwarding is turned on, and everything is OK as long as machines are g= oing > > out from wireless or internal to the outside world. My problem occurs = when > > I try to go from inside to wireless or vice-versa. =20 > What kinds of "problems" are these? I think we need some more info. Urk. I guess that would help... Well, the problem was asymetrical routing on the WIRED side. There were actually *TWO* machines acting in the "RTR" role below, one of which was acting JUST FINE, and the other that was being stubborn. I was, of-course, looking at the one that was JUST FINE and all of the problems went away when I fixed the default route on the WIRED machines. See text below that I typed while trying to figure it out.... Here is what I had typed so-far (but since I fixed it, nevermind).=20 ------------------SNIP--------------------------SNIP ------------------ Here's what's happening: +-------+ + world + +-------+ | +-------+ +------+ | RTR |-+-+-+-| WRLS | +-------+ +------+ | +-------+ | WIRED | +-------+ world =3D=3D internet via ISDN RTR is a system with: dc0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 219.43.207.59 netmask 0xfffffff0 broadcast 219.43.207.63 (pointing to world) fxp0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.52 netmask 0xffffff00 broadcast 10.0.0.255 (pointing to wired) wi0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.100.100.10 netmask 0xffffff00 broadcast 10.100.100.255 (pointing to WRLS) WIRED is a lan, including a machine with: ed0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.192 netmask 0xffffff00 broadcast 10.0.0.255 WRLS is a wireless LAN, including a machine with: wi0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.100.100.192 netmask 0xffffff00 broadcast 10.100.100.192 A ping from WRLS to WIRED generates icmp echo packets that travel (and are visible with tcpdump) on WRLS->RTR->WIRED {WIRED 3} tcpdump -n -i ed0 icmp tcpdump: listening on ed0 08:25:18.648561 10.100.100.192 > 10.0.0.192: icmp: echo request 08:25:18.648703 10.0.0.192 > 10.100.100.192: icmp: echo reply 08:25:18.649294 10.0.0.192 > 10.100.100.192: icmp: echo reply Note the DOUBLING of the icmp echo replies. <!?> At the same time, a tcpdump on the WRLS side sees: WRLS 39} tcpdump -i wi0 -n icmp tcpdump: listening on wi0 08:26:40.674098 10.100.100.192 > 10.0.0.192: icmp: echo request 08:26:41.797599 10.100.100.192 > 10.0.0.192: icmp: echo request 08:26:42.927648 10.100.100.192 > 10.0.0.192: icmp: echo request Note, no replies. RTR sees: RTR 102} tcpdump -n -i wi0 icmp tcpdump: listening on wi0 08:27:43.951529 10.100.100.192 > 10.0.0.192: icmp: echo request 08:27:44.947051 10.100.100.192 > 10.0.0.192: icmp: echo request 08:27:46.077075 10.100.100.192 > 10.0.0.192: icmp: echo request RTR 103} tcpdump -n -i fxp0 icmp tcpdump: listening on fxp0 08:28:25.648322 10.100.100.192 > 10.0.0.192: icmp: echo request 08:28:25.648780 10.0.0.192 > 10.100.100.192: icmp: echo reply 08:28:25.649239 10.0.0.192 > 10.100.100.192: icmp: echo reply 08:28:26.788361 10.100.100.192 > 10.0.0.192: icmp: echo request 08:28:26.788832 10.0.0.192 > 10.100.100.192: icmp: echo reply 08:28:26.789342 10.0.0.192 > 10.100.100.192: icmp: echo reply Looking at the echo replies shows that one is being generated by <at this point, while using ethereal to see where the two echo replies were coming from, the lightbulb lit> AlanC --5CUMAwwhRxlRszMD Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: PGPfreeware 5.0i for non-commercial use MessageID: 7IBR2i0yJVlYekICAHQkHHaN5mWqEmBw iQA/AwUBOONaFfcyv/gweBpYEQLgHACgxZTRlgZBdyqzBA3B+osm+mTxB1IAoJ7z GDyJlp/hXwndLWSmCjV+xuLk =5+1p -----END PGP SIGNATURE----- --5CUMAwwhRxlRszMD-- 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?20000330084350.F3459>