Create a Jail

From HateotU
Revision as of 12:59, 13 August 2016 by Martin (talk | contribs)

Create a Jail

Replace <jailname> with the Name of your Jail

Create ZFS Pool

  • Create a new zfs pool
zfs create zfs0/<jailname>
  • Set the mountpoint option for the new zfs pool
zfs set mountpoint=/export/jails/<jailname> zfs0/<jailname>
  • Mount the new Pool
zfs mount -a

If You're not using ZFS, creat a new Folder

mkdir /export/jails/<jailname>

Install the Jail

cd /export/jails/
bsdinstall jail <jailname>/
  • Follow the steps on the screen until the installation is finished

/etc/jail.conf

vi /etc/jail.conf
  • If there are already Jails installed at the host, create a new section for your Jail at the End of the file
<jailname> {
        host.hostname = "<jailname>.hateotu.de";
        ip4.addr = <ip the new Jail should have>;
}
  • If there are no Jails installed, and so, the file is empty, paste the following content into the file
allow.raw_sockets = 0;
exec.clean;
exec.system_user = "root";
exec.jail_user = "root";
exec.start += "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.consolelog = "/var/log/jail_${name}_console.log";
interface="bge0";
mount.devfs;
mount.fstab = "/etc/fstab.$name";
allow.mount;
allow.set_hostname = 0;
allow.sysvipc = 0;
path = "/export/jails/${name}";
<jailname> {
        host.hostname = "<jailname>.hateotu.de";
        ip4.addr = <ip the new Jail should have>;
}
  • If the Jail needs special options to be set, you should enter them into the section of the Jail under the IP Adress:
<jailname> {
        host.hostname = "<jailname>.hateotu.de";
        ip4.addr = <ip the new Jail should have>;
        <option> = <value>
}

Get things ready

  • Create a fstab file for the Jail
touch /etc/fstab.<jailname>

Work with the Jail

  • To start the Jail, type
service jail start <jailname>
  • To stop the Jail, type
service jail stop <jailname>
  • To restart the Jail, type
service jail restart <jailname>
  • To open a shell on your Jail, type:
jexec <jailname> <shell>