Date: Thu, 30 Jan 1997 10:53:04 -0000 From: "Brian Somers" <brian@utell.co.uk> To: <archie@whistle.com> Cc: <terry@lambert.org>, <ari.suutari@ps.carel.fi>, <hackers@freebsd.org>, <cmott@srv.net>, <brian@awfulhak.demon.co.uk> Subject: Re: ipdivert & masqd Message-ID: <199701301057.KAA00746@ui-gate.utell.co.uk>
next in thread | raw e-mail | index | archive | help
> > I've essentially got the following:
> >
> > ---------------- ----------------------
> > | 10.0.10.2 |------------------| 10.0.10.1 |
> > ---------------- | |
> > | 10.0.1.254 (ed0) |
> > ----------------------
> > |
> > |
> > ----------------- |
> > | 10.0.1.1 |---------------------------
> > -----------------
> >
> > with a mask of ffffff00 everywhere and the machine in the middle using
> > the following:
> >
> > ipfw add 100 divert 6668 all from any to any via ed0
>
> A-HAH! :-)
>
> Could you try the following patch?
>
> Thanks,
> - -Archie
>
> [.....]
I tried it, and I'm a bit confused about the results ! It
allows connections in both directions between 10.0.1.1 and
10.0.1.254, but sending a packet from 10.0.10.2 to 10.0.1.1
goes to 10.0.10.1, gets aliased as 10.0.1.254->10.0.1.1,
gets accepted and replied to by 10.0.1.1 and gets changed
from 10.0.1.1->10.0.1.254 to 10.0.1.1->10.0.10.3 by the
PacketAlias stuff and then disappears.
Maybe the problem is with the forwarding code - where ip_input()
calls ip_output(). I didn't realize this happened ! Surely, we
should be remembering and zero'ing ip_divert_ignore before
calling ip_output here, and restoring it afterwards. I'll check this
when I get home this evening !
Brian <brian@awfulhak.demon.co.uk> <brian@freebsd.org> <brian@utell.co.uk>
<http://www.awfulhak.demon.co.uk>
Don't _EVER_ lose your sense of humour
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701301057.KAA00746>
