multiple interfaces for jail.conf(1) and jail_set(2)

Michael Grimm trashcan at ellael.org
Wed Dec 14 20:30:21 UTC 2016


Isaac (.ike) Levy <ike at blackskyresearch.net> wrote:

> Can I specify multiple IP interfaces and assign IP’s to them using jail.conf?

Not sure if I understand your question correctly, but I do define the following in my jail.conf for VNET jails:

#
# host dependent global settings
#
$ip6prefixLOCAL		 = "fd00:dead:beef:1234";

#
# global jail settings
#
host.hostname		 = "${name}";
path			 = "/usr/home/jails/${name}";
mount.fstab		 = "/etc/fstab.${name}";
exec.consolelog 	 = "/var/log/jail_${name}_console.log";
vnet			 = "new";
vnet.interface		 = "epair${jailID}b";
exec.clean;
mount.devfs;
persist;

#
# network settings to apply/destroy during start/stop of every jail
#
exec.prestart		 = "sleep 2";
exec.prestart		+= "/sbin/ifconfig epair${jailID} create up";
exec.prestart		+= "/sbin/ifconfig bridge0 addm epair${jailID}a";
exec.start		 = "/sbin/sysctl net.inet6.ip6.dad_count=0";
exec.start		+= "/sbin/ifconfig lo0 127.0.0.1 up";
exec.start		+= "/sbin/ifconfig epair${jailID}b inet ${ip4_addr}";
exec.start		+= "/sbin/ifconfig epair${jailID}b inet6 ${ip6_addr}";
exec.start		+= "/sbin/route add default -gateway 10.1.1.254";
exec.start		+= "/sbin/route add -inet6 default -gateway ${ip6prefixLOCAL}::254";
exec.stop		 = "/sbin/route del default";
exec.stop		+= "/sbin/route del -inet6 default";
exec.stop		+= "/bin/sh /etc/rc.shutdown";
exec.poststop 		 = "/sbin/ifconfig epair${jailID}a destroy";

#
# individual jail settings
#
dns {
	$jailID		 = 1;
	$ip4_addr	 = 10.1.1.1;
	$ip4_addr_2	 = 10.1.1.2;
	$ip6_addr	 = ${ip6prefixLOCAL}::1/64;
	$ip6_addr_2	 = ${ip6prefixLOCAL}::2/64;
	exec.start	+= "/sbin/ifconfig epair${jailID}b inet  ${ip4_addr_2} alias";
	exec.start	+= "/sbin/ifconfig epair${jailID}b inet6 ${ip6_addr_2} alias";
	exec.start	+= "/bin/sh /etc/rc";
}

etc.



Again, not sure if I do understand your issue correctly, but the shown examples of exec.start, exec.stop, etc. are quite versatile to use.

I do start/stop my jails by "service jail start/stop".

Hope that helps,
Michael





More information about the freebsd-jail mailing list