xref: /freebsd/share/examples/jails/README (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1fa212bfbSJulian Elischer
2e0c45153SDevin TeskeThe below 4 samples require a VIMAGE enabled kernel:
3e0c45153SDevin Teske
4e0c45153SDevin Teske	# (as root)
5e0c45153SDevin Teske	$ cp VIMAGE /usr/src/sys/amd64/conf/
6e0c45153SDevin Teske	$ cd /usr/src
7e0c45153SDevin Teske	$ make KERNCONF=VIMAGE kernel
8e0c45153SDevin Teske	$ reboot
9e0c45153SDevin Teske
10*30482552SDevin TeskeFreeBSD 12 has VIMAGE enabled in GENERIC on amd64.
11*30482552SDevin TeskeIn that case, for jng simply load the ng_ether module first
12*30482552SDevin Teske(ng_bridge and ng_eiface will load on demand):
13*30482552SDevin Teske
14*30482552SDevin Teske	# (as root)
15*30482552SDevin Teske	# Load the ng_ether module at boot:
16*30482552SDevin Teske	$ sysrc kld_list+=ng_ether
17*30482552SDevin Teske	# Load ng_ether at once without rebooting:
18*30482552SDevin Teske	$ kldload ng_ether
19*30482552SDevin Teske
20abd0b262SDevin TeskeSample 1: jail.conf(5)
21abd0b262SDevin Teske
22abd0b262SDevin Teske	$ cp jib jng /usr/sbin/
23abd0b262SDevin Teske	$ cat jail.xxx.conf >> /etc/jail.conf
24abd0b262SDevin Teske	$ vi /etc/jail.conf
25abd0b262SDevin Teske	# NB: Customize root directory and bridge interface
26abd0b262SDevin Teske	$ sysrc jail_enable=YES
27abd0b262SDevin Teske	# NB: Assumes jail_list="" (meaning ``all jails in jail.conf'')
28abd0b262SDevin Teske	# NB: Assumes rc_conf_files="" (``below rc.conf(5) samples not used'')
29abd0b262SDevin Teske	$ service jail start
30abd0b262SDevin Teske
31abd0b262SDevin TeskeSample 2: rc.conf(5)
32abd0b262SDevin Teske
33abd0b262SDevin Teske	$ cp jib jng /usr/sbin/
34abd0b262SDevin Teske	$ cp rc.conf.jails /etc/
35abd0b262SDevin Teske	$ vi /etc/rc.conf.jails
36abd0b262SDevin Teske	# NB: Customize root directory and bridge interface
37abd0b262SDevin Teske	$ sysrc rc_conf_files+=/etc/rc.conf.jails
38abd0b262SDevin Teske	# NB: Assumes /etc/jail.conf does not exist and jail_list=""
39abd0b262SDevin Teske	$ service jail start
40abd0b262SDevin Teske
41abd0b262SDevin TeskeSample 3: Per-jail jail.conf(5)
42abd0b262SDevin Teske
43abd0b262SDevin Teske	$ cp jib jng /usr/sbin/
44abd0b262SDevin Teske	$ cp jail.xxx.conf /etc/
45abd0b262SDevin Teske	$ vi /etc/jail.xxx.conf
46abd0b262SDevin Teske	# NB: Customize root directory and bridge interface
47abd0b262SDevin Teske	$ sysrc jail_enable=YES
48abd0b262SDevin Teske	$ sysrc jail_list+=xxx
49abd0b262SDevin Teske	# NB: Assumes rc_conf_files=""
50abd0b262SDevin Teske	$ service jail start
51abd0b262SDevin Teske
52abd0b262SDevin TeskeSample 4: Per-jail rc.conf(5)
53abd0b262SDevin Teske
54abd0b262SDevin Teske	$ cp jib jng /usr/sbin/
55abd0b262SDevin Teske	$ cp rcjail.xxx.conf /etc/
56abd0b262SDevin Teske	$ vi /etc/rcjail.xxx.conf
57abd0b262SDevin Teske	# NB: Customize root directory and bridge interface
58abd0b262SDevin Teske	$ sysrc jail_enable=YES
59abd0b262SDevin Teske	$ sysrc jail_list+=xxx
60abd0b262SDevin Teske	$ sysrc rc_conf_files+=/etc/rcjail.xxx.conf
61abd0b262SDevin Teske	# NB: Assumes neither /etc/jail.conf nor /etc/jail.xxx.conf exist
62abd0b262SDevin Teske	$ service jail start
63abd0b262SDevin Teske
64abd0b262SDevin TeskeFor additional recipes, see share/examples/netgraph for
65fa212bfbSJulian Elischermaking and hooking together jails using netgraph as the
66fa212bfbSJulian Elischervirtual networking fabric.
67