From owner-freebsd-jail@freebsd.org Sat Sep 3 15:33:22 2016 Return-Path: Delivered-To: freebsd-jail@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61DABBCE8CC for ; Sat, 3 Sep 2016 15:33:22 +0000 (UTC) (envelope-from jamie@freebsd.org) Received: from gritton.org (gritton.org [162.220.209.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "www.gritton.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 43024940 for ; Sat, 3 Sep 2016 15:33:21 +0000 (UTC) (envelope-from jamie@freebsd.org) Received: from gritton.org (gritton.org [162.220.209.3]) by gritton.org (8.15.2/8.15.2) with ESMTPS id u83FX9gg069023 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 3 Sep 2016 09:33:09 -0600 (MDT) (envelope-from jamie@freebsd.org) Received: (from www@localhost) by gritton.org (8.15.2/8.15.2/Submit) id u83FX824069022; Sat, 3 Sep 2016 09:33:08 -0600 (MDT) (envelope-from jamie@freebsd.org) X-Authentication-Warning: gritton.org: www set sender to jamie@freebsd.org using -f To: Grzegorz Junka Subject: Re: Changing jail's IP automatically X-PHP-Originating-Script: 0:rcube.php MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Sat, 03 Sep 2016 09:33:08 -0600 From: James Gritton Cc: freebsd-jail@freebsd.org In-Reply-To: <872dfbe1-3f39-bf5f-44b2-611bd92a1210@gjunka.com> References: <872dfbe1-3f39-bf5f-44b2-611bd92a1210@gjunka.com> Message-ID: <4fa37d2e14665ff5a00548626e55142f@gritton.org> X-Sender: jamie@freebsd.org User-Agent: Roundcube Webmail/1.2.0 X-BeenThere: freebsd-jail@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Discussion about FreeBSD jail\(8\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Sep 2016 15:33:22 -0000 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