Date: Wed, 8 Oct 2003 11:20:10 -0400 (EDT) From: Ian Service <iservice@tsnetworks.ca> To: FreeBSD-gnats-submit@FreeBSD.org Cc: iservice@tsnetworks.ca Subject: misc/57748: [patch] rc.network doesn't allow for -a in natd_flags if interface specified Message-ID: <200310081520.h98FKAoo075583@atlas.tsnetworks.ca> Resent-Message-ID: <200310081530.h98FUDND061965@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 57748
>Category: misc
>Synopsis: [patch] rc.network doesn't allow for -a in natd_flags if interface specified
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Wed Oct 08 08:30:13 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Ian Service
>Release: FreeBSD 4.8-STABLE i386
>Organization:
Tweaked Solutions Inc.
>Environment:
System: FreeBSD jolt.landscapeontario.com 4.8-STABLE FreeBSD 4.8-STABLE #0: Wed May 21 21:06:47 EDT 2003 iservice@newjolt.landscapeontario.com:/usr/obj/usr/src/sys/NEWJOLTKERNEL i386
>Description:
By default if you natd_interface="out0" into your rc.conf it makes the
ipfw rule if natd_enable="YES" and then it makes the natd flag -n out0
this is good but if you want to make another IP the nat IP, you have to
make natd_interface="192.168.0.1" or whatever, but if that's not your
external interface, the ipfw rule is wrong and doesn't work. I have an
aliased IP that I want my nat traffic to leave as so, I set the
natd_flags="-a 192.168.0.2" and my natd_interface="out0" and then I needed
to edit /etc/rc.network, to look for that and not reduntantly
set -n to out0 as well as -a to 192.168.0.2
>How-To-Repeat:
>Fix:
See Patch
--- rc.network.2003100800.patch begins here ---
--- /root/rc.network Thu Apr 3 03:55:40 2003
+++ /etc/rc.network Wed Oct 8 09:09:20 2003
@@ -338,7 +338,10 @@
case ${natd_enable} in
[Yy][Ee][Ss])
if [ -n "${natd_interface}" ]; then
- if echo ${natd_interface} | \
+ if echo ${natd_flags} | \
+ grep -q -E '^\-a\ [0-9]+(\.[0-9]+){0,3}'; then
+ # there's already a -a flag in natd_flags
+ elif echo ${natd_interface} | \
grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then
natd_flags="$natd_flags -a ${natd_interface}"
else
--- rc.network.2003100800.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310081520.h98FKAoo075583>
