From evild@evild.eu.org  Sun Feb  6 01:28:58 2005
Return-Path: <evild@evild.eu.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 4786F16A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Sun,  6 Feb 2005 01:28:58 +0000 (GMT)
Received: from mail.evild.eu.org (0-moo-14.acn.waw.pl [62.121.125.0])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 5B7A343D45
	for <FreeBSD-gnats-submit@freebsd.org>; Sun,  6 Feb 2005 01:28:57 +0000 (GMT)
	(envelope-from evild@evild.eu.org)
Received: by mail.evild.eu.org (Postfix, from userid 1001)
	id 3C7721DDB7D; Sun,  6 Feb 2005 02:29:21 +0100 (CET)
Message-Id: <20050206012921.3C7721DDB7D@mail.evild.eu.org>
Date: Sun,  6 Feb 2005 02:29:21 +0100 (CET)
From: Michal Malanowicz <evild@evild.eu.org>
Reply-To: Michal Malanowicz <evildi@evild.eu.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject:
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         77156
>Category:       kern
>Synopsis:       FreeBSD does not redirect packets on proper interface.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 06 01:30:20 GMT 2005
>Closed-Date:    
>Last-Modified:  Sun Apr 03 07:54:28 GMT 2005
>Originator:     Michal Malanowicz
>Release:        FreeBSD 5.2.1-RELEASE-p13 i386
>Organization:
>Environment:
 System: FreeBSD farel.evild.eu.org 5.2.1-RELEASE-p13 FreeBSD 5.2.1-RELEASE-p13 #0: Thu Feb 3 08:57:35 CET 2005 evild@blue.evild.eu.org:/usr/src/sys/i386/compile/BLUE i386
 	Pentium 700MHz, fxp and xl interfaces.
>Description:
 	Confider situation like this:
 
 	ext_net1    ext_net2
 	   |           |
 	 fxp0        fxp1
            \          /
           freebsd_server
                  |
                 xl0
                  |
                 LAN
 
 	gateway configured in ext_net2.
 	ext_net2 and ext_net1 are diffrent IP classes.
 	both ext_net2 and ext_net1 are public internet addresses.
 
 	I want to run WWW server on both external interfaces.
 
 	When packet comes from ext_net2 everything works
 	just fine.
 	When packet comes from ext_net1 it uses
 	gateway in ext_net2 to return to sender. This
 	is fine. Packet comes out from fxp1 with fxp0
 	source address.
 
 	I try to forward packets to ext_net1 gateway, to
 	make them return the same way as they come in
 	using IPFW:
 
 	ipfw add fwd $ext_net1_gateway ip from $fxp0_ip to any out
 
 	This is fine.
 
 	But using IPFILTER or PF to achieve the same
 	functionality is pointless - they not work.
 	No matter how you will try...
 
 	Those options are set in rc.conf:
 	forward_sourceroute="YES"
 	accept_sourceroute="YES"
 
 	I tried this on 4.X and on 5.X version.
 
>How-To-Repeat:
 
 	described abowe.
 
>Fix:
 	Use IPFW instead (but what about loosing a flexible nat?)
 	Oh, and IPFW FWD stops working in FreeBSD 5.3 :( in such case...
 
>Release-Note:
>Audit-Trail:

From: David Malone <dwmalone@maths.tcd.ie>
To: Michal Malanowicz <evildi@evild.eu.org>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: kern/77156:
Date: Sun, 6 Feb 2005 17:26:21 +0000

 I'm not sure I fully understand your problem, but if you have routes
 to the ext_nets set up correctly, then the packets should be
 transmitted using the correct interface.
 
 If there is some problem with packets being received, then you might
 want to do "sysctl net.inet.ip.check_interface=0".
 
 	David.
>Unformatted:
