[Bug 208001] After turning off the jail does not remove network routes
James Gritton
jamie at freebsd.org
Sun May 29 14:51:50 UTC 2016
On 2016-05-28 19:56, Allan Jude wrote:
> On 2016-05-28 20:30, bugzilla-noreply at freebsd.org wrote:
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208001
>>
>> --- Comment #5 from Jamie Gritton <jamie at FreeBSD.org> ---
>> Yes, of course there are cases where something besides a /32 is
>> appropriate -
>> that is why jail(8) allows that. However, as I mentioned it did
>> appear that
>> you had violated the specification that an alias should be on a
>> non-conflicting
>> netmask.
>>
>> The fact remains that I am unable to reproduce your problem. Perhaps
>> I could
>> if I had your entire configuration - all jails, all other network
>> setup.
>>
>> jail(8) simply calls ifconfig(8) with "alias" to add IP addresses, and
>> with
>> "-alias" to remove them - see the output of "jail -vc" and "jail -vr".
>> The
>> jail will not be removed if the "ifconfig ... -alias" command fails,
>> which
>> implies that the command is succeeding. Unless of course there
>> actually is a
>> bug in the way jail(8) is running this program. My guess is the
>> command is
>> succeeding, but isn't removing some arp entry because the alias when
>> incorrectly specified when it was created.
>>
>> If it's clear (from "jail -v") that the correct ifconfig commands are
>> being
>> run, then this might be considered an ifconfig bug. If the correct
>> commands
>> aren't being run, then it could be a jail bug.
>>
>
>
> I think that is actually the problem
>
> ifconfig -alias
> only accepts the IP address, not with the CIDR.
>
> #ifconfig lo0 alias 10.0.0.1/24
> #ifconfig lo0 -alias 10.0.0.1/24
> ifconfig: 10.0.0.1/24: bad value
>
> you want to do just:
> #ifconfig lo0 -alias 10.0.0.1
>
> So jail(8) needs to strip the /24 off when passing it to ifconfig
> -alias
Actually is doesn't. While your "-alias" command doesn't work, the one
that jail uses does:
#ifconfig lo0 inet 10.0.0.1/24 -alias
At first I thought it was the "inet" that did it. But further
exploration suggests there's something magic about moving the "-alias"
to the end. It doesn't make sense, and if I had first tried it with the
"[-]alias" tag earlier on the command line I probably would have ended
up working out the netmask myself. Serendipity.
- Jamie
More information about the freebsd-jail
mailing list