aboutsummaryrefslogtreecommitdiffstats
path: root/templates/etc_jail.conf.j2
blob: 86da8de9ebec10bc278ee63045cd4cdfd75d8bfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# STARTUP/LOGGING/VNET
$epair            = "epair${num}"; # epairXa is host end, epairXb is jail end
vnet;
vnet.interface    = "${epair}b";
persist;
exec.prestart    += "ifconfig $epair create || echo 'Failed to create $epair'";
exec.prestart    += "ifconfig ${epair}a up";
exec.prestart    += "ifconfig bridge0 addm ${epair}a";
exec.clean;
exec.start        = "/bin/sh /etc/rc";
exec.poststart    = "jexec ${name} ifconfig ${epair}b 192.168.2.${num}/16";
exec.poststart   += "jexec ${name} route add default 192.168.0.1 || echo 'Failed to add default route'";
exec.stop         = "/bin/sh /etc/rc.shutdown";
exec.poststop    += "ifconfig ${epair}b -vnet $name"; # workaround to bug 238326: move ${epair}b from the jail to the host when stopping jail services
exec.poststop    += "ifconfig ${epair}b destroy";     # and then destroy the pair by destroying one end of it
exec.consolelog   = "/var/log/jail_console_${name}.log";

# PERMISSIONS
allow.raw_sockets;
exec.clean;
mount.devfs;

# HOSTNAME/PATH
host.hostname = "${name}";
path = "/usr/local/jails/containers/${name}";

# JAILS
{% for jail in jails %}
{{ jail.name }} {
  $num           = "{{ jail.num }}";
}

{% endfor %}