Changing jail's IP automatically

Grzegorz Junka list1 at gjunka.com
Sun Sep 4 16:34:30 UTC 2016



On 03/09/2016 15:33, James Gritton wrote:
> On 2016-09-02 15:08, Grzegorz Junka wrote:
>> I am using a jail on my laptop and I often connect to different
>> WiFi's, which of course assign different IPs to my laptop. I set up
>> the jail by adding an alias to wlan0 and I need to update the IP every
>> time I switch the WiFi network. Is it possible to create a jail with
>> IP assigned dynamically, e.g. from DHCP, or at least switch between
>> predefined IPs more easily than by editing /etc/jail.conf?
>
> You can always add addresses later.  I would create the jail without 
> any IP address specified in jail.conf, and then have a exec.poststart 
> script that sets the address using something like "jail -m name=foo 
> ip4.addr=1.2.3.4".  And similarly when the network switches, it would 
> need to trigger a similar script that resets the address.
>
> It's a little more complicated that than though: network daemons will 
> be bound to the old address after the switch, so you'll need to run 
> the proper service(8) commands to restart those, in the right order.  
> Or depending on the service, maybe a kick of some sort (like a kill 
> -1) would do the trick.
>
> And at start time, if the jail has no IP address of its own, anything 
> it runs will use the regular system IP addresses.  That's definitely 
> not what you want.  Unfortunately, jail(8) doesn't have a way to run a 
> script in the system environment after the jail is created but before 
> exec.start is run.  That would be the right place to set the initial 
> address.  So barring that, you may want to have network services not 
> started up at all, until this poststart script sets the address.  So 
> it's still not a simple issue.
>
> - Jamie

Thanks. It shouldn't be a problem since I usually restart the whole 
system when switching between networks. And so the jail wouldn't need to 
be updated with a new IP. I will try to assign the IP from a script then 
once the jail has been started.



More information about the freebsd-jail mailing list