Fixed ip's for jails
James Gritton
jamie at freebsd.org
Fri Jul 7 15:33:25 UTC 2017
On 2017-07-06 12:57, Heinz Gies wrote:
> Good afternoon everyone,
> we are currently contemplating how to handle multi-tenant Jails best
> to allow ProjectFiFo to administer FreeBSD Jails along with Solaris
> Zones.
>
> The hurdle we have run into is the following:
>
> With vnet Jails the owner could change the IP, making it impractical
> for multi-tenancy.
>
> With no-vnet Jails, all the jails would share the same network stack
> removing a layer of isolation and risking a noisy neighbour problem.
>
> There are a few possible solutions it seems.
>
> Allen suggested using the firewall to restrict the traffic from a vnet
> in the global zone (host system, not sure how BSD calls it). The top
> of mind issue with this is that it would block multicast.
>
> An alternative Kevin came up with was putting a jail inside another
> jail, with the outer jail being a vimage jail and the inner jail using
> a static (non-vnet IP). This would also mean later on beehive inside a
> jail would be easier as it could follow the same logic. On the other
> hand, I am a bit worried about unforeseen consequences of this
> approach. Also, I am not 100% positive whether the inner jail would
> use the vnet network stack for it is IP and not the global one.
>
> Thank you for your input.
I'm for the jail within a jail. Rest assured that the child jail will
be inside the vnet that the parent jail was created with. The outer
jail need not be running anything - just run enough to set up the
network, and set its "persist" parameter. Then it's nothing but an
empty shell to hold the network for the inner jail, with almost no
overhead. The inner jail doesn't need any IP restrictions, which
inherits (but can't change) the parent's addresses. Something like
this:
foo {
vnet;
vnet.interface = foo0;
persist;
}
foo.client {
<normal jail parameters>;
}
As for unforeseen consequences, I don't foresee any ;-).
- Jamie
More information about the freebsd-jail
mailing list