Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jul 1999 17:51:32 +0100
From:      Brian Somers <brian@FreeBSD.org.uk>
To:        Ruslan Ermilov <ru@FreeBSD.org>
Cc:        Brian Somers <brian@FreeBSD.org.uk>, wayne@crb-web.com, FreeBSD Questions <freebsd-questions@FreeBSD.org>
Subject:   Re: help w/ NATD rules on aliased ip address 
Message-ID:  <199907301651.RAA03994@keep.lan.Awfulhak.org>
In-Reply-To: Your message of "Fri, 30 Jul 1999 14:41:20 %2B0300." <19990730144120.A85626@relay.ucb.crimea.ua> 

next in thread | previous in thread | raw e-mail | index | archive | help
> On Thu, Jul 29, 1999 at 09:15:50AM +0100, Brian Somers wrote:
> > > I wish to use NATD on a computer with single interface card in it.  I have
> > > looked in the handbook and "The Complete FreeBSD" but neither have information
> > > pertaining to this particular information.  I am currently running linux as a
> > > natbox in this configuration but wish to switch it to freebsd.
> > > 
> > > If anyone could help me with the natd switches and the ipfw rules I would
> > > greatly appreciated it.
> > > 
> > > Here is my configuration:
> > > 
> > > 	public interface 207.196.47.5 netmask 255.255.255.240
> > > 	interface on private network 10.0.0.50
> > > 		netmask of private network 255.255.255.0
> > > 
> > > I have tried natd -u -a 207.196.47.5 but this did not seem to work.  I saw
> > > natd viewing the packets on debug but it did not translate them and they went 
> > > nowhere.
> > 
> > I *think* this is possible, but with some odd ipfw lines - something 
> > like:
> > 
> > ipfw add pass        all from 10.0.0.0/8 to 207.196.47.5 in
> > ipfw add divert natd all from 10.0.0.0/8 to any out
> > 
> This rule has a side effect that will cause the packet from
> 10.0.0.50 to 10.0.0.1 to be aliased to appear from 207.196.47.5,
> that is undesired, IMO.
> > ipfw add divert natd all from any to 207.196.47.5 in
> > 
> > The idea is to ensure that natd isn't given each packet twice.
> > If this works, I'd suggest it's added to the man page.
> > 
> 
> My idea is to emulate two logical interfaces (private and external)
> on one physical, and to run natd(8) on external interface only
> [read: alias only those packets that are xmitted via an external
> interface].  Here are the rules that implement this:
> 
> # Emulate private interface; skip aliasing if packet came from
> # or is sent to the local address:
> 00100 allow ip from 10.0.0.0/8 to any via ed0 in
> 00200 allow ip from any to 10.0.0.0/8 via ed0 out
> 
> # Everything else is assumed to be sent/received via an external
> # interface, so alias and de-alias as usual:
> 00300 divert natd from any to any via ed0
> 
> # And finally, let the traffic to pass through:
> 00400 allow ip from any to any [via ed0]

Yes, you're right.  This makes more sense.

> Cheers,
> -- 
> Ruslan Ermilov		Sysadmin and DBA of the
> ru@ucb.crimea.ua	United Commercial Bank,
> ru@FreeBSD.org		FreeBSD committer,
> +380.652.247.647	Simferopol, Ukraine
> 
> http://www.FreeBSD.org	The Power To Serve
> http://www.oracle.com	Enabling The Information Age

-- 
Brian <brian@Awfulhak.org>                        <brian@FreeBSD.org>
      <http://www.Awfulhak.org>;                   <brian@OpenBSD.org>
Don't _EVER_ lose your sense of humour !          <brian@FreeBSD.org.uk>




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?199907301651.RAA03994>