| Summary: | Error handling by natd causes all communications to cease when ambiguous statement exists in natd.conf making remote administration to fix impossible. | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Bill Daniel <vlaad> |
| Component: | misc | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
Bill Daniel
2001-09-14 09:10:00 UTC
On Fri, Sep 14, 2001 at 01:03:49AM -0700, Bill Daniel wrote: > > >Number: 30571 > >Category: misc > >Synopsis: Error handling by natd causes all communications to cease when ambiguous statement exists in natd.conf making remote administration to fix impossible. > >Originator: Bill Daniel > >Release: 4.4-RC > >Organization: > Texas Metropolitan Services > >Environment: > FreeBSD firewall.cargoven.com 4.4-RC FreeBSD 4.4-RC #0: Fri Sep 14 01:02:23 CDT > 2001 root@firewall.cargoven.com:/usr/src/sys/compile/cargoven i386 > >Description: > I made a typo in the natd.conf... the obvious solution is to not make typos in natd.conf... however.. > The error caused all communications to the unit to cease.. i couldn't get to it internally (via a local user) or externally... [snip] > >Fix: > My suggestion would be to either abort loading natd on ambiguous statements in the .conf file or to simply ignore the ambiguous statement. > > My preference, being security minded, would be to simply abort loading the natd at all when an ambiguous statement is found. and hopefully this would make a *lot* of "noise" via syslog :) How about another solution - have natd(8) grow an Apache-like 'configtest' mode, so it only parses the config file without actually doing anything? G'luck, Peter -- When you are not looking at it, this sentence is in Spanish. On Fri, Sep 14, 2001 at 01:03:49AM -0700, Bill Daniel wrote: > My preference, being security minded, would be to simply abort loading the natd > at all when an ambiguous statement is found. and hopefully this would make a > *lot* of "noise" via syslog :) you're diverting all your traffic to a divert socket that isn't being serviced by any process. you're diverting it because the ipfw rule is still there. no process is servicing it because natd "simply abort[ed] loading". so I'm unclear where a problem is, other then in your ability to check config files twice before pushing the magic button to reboot. useful thing to do: in natd.c change the warnx() call in ParseOption() to a Warn() call, to make your requested noise. you won't see the noise because you have no connectivity.... -- - bill fumerola / fumerola@yahoo-inc.com / billf@FreeBSD.org / billf@mu.org ps. why are you rebooting for natd changes anyways? pps. serial consoles / out of band are cheaper and quicker then remote hands. State Changed From-To: open->closed As Bill pointed out, the problem is that there's no process listening on the divert port "natd". There is nothing wrong with natd(8)'s error handling. |