From owner-freebsd-questions@FreeBSD.ORG Sun Feb 13 09:37:07 2005 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B522C16A4CE for ; Sun, 13 Feb 2005 09:37:07 +0000 (GMT) Received: from dirg.bris.ac.uk (dirg.bris.ac.uk [137.222.10.102]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6EAC943D2D for ; Sun, 13 Feb 2005 09:37:07 +0000 (GMT) (envelope-from Jan.Grant@bristol.ac.uk) Received: from mail.ilrt.bris.ac.uk ([137.222.16.62]) by dirg.bris.ac.uk with esmtp (Exim 4.44) id 1D0GBc-0000pU-0k; Sun, 13 Feb 2005 09:37:06 +0000 Received: from cmjg (helo=localhost) by mail.ilrt.bris.ac.uk with local-esmtp (Exim 4.44) id 1D0GBa-0003kB-8h; Sun, 13 Feb 2005 09:37:02 +0000 Date: Sun, 13 Feb 2005 09:37:02 +0000 (GMT) From: Jan Grant X-X-Sender: cmjg@mail.ilrt.bris.ac.uk To: Daniela In-Reply-To: <200502121505.20754.dgw@liwest.at> Message-ID: References: <200502112206.43267.dgw@liwest.at> <420D2348.4020408@spintech.ro> <200502121505.20754.dgw@liwest.at> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: Jan Grant X-Spam-Score: -2.8 X-Spam-Level: -- cc: Alin-Adrian Anton cc: questions@freebsd.org Subject: Re: How do I set the source address on a multi-homed host? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Feb 2005 09:37:07 -0000 On Sat, 12 Feb 2005, Daniela wrote: > Yes, this happens when I connect from my machine (which functions as a router > with NAT to allow the other LAN machines connect to the internet) to another > LAN machine. When the router establishes a connection to another point in the > intranet, the source address used is my official IP, and not 10.0.0.1, which > is the intranet IP of the router. > In other words, I want the source address to be 10.0.0.1 on every outgoing > connection where the destination is inside my intranet. Assuming you haven't munged the internal IP address to hide it, and with all due deference to the FreeBSD "mechanism, not policy" mantra: no, you don't want to do this. The 10.0.0.0/8 block of addresses is explicitly for private use and is not routable on the internet. If your firewall is causing problems with this setup, you might need to re-examine your firewall settings. Having said that: technically, you specify source addresses for connections by calling bind(2) prior to calling connect(2). If you fail to do this, the operating system will select a source IP address for you. This'll often be the IP of the outgoing interface. Unless your particular application explicitly supports the selection of source addresses, you're mostly out of luck. For instance, ping(8) supports this (see the -S option). Cheers, jan -- jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/ Tel +44(0)117 9287864 or +44 (0)117 9287088 http://ioctl.org/jan/ Bolstered by my success with vi, I proceeded to learn C with 'learn c'.