How I Run FreeBSD Jails

1 year ago
94

Here is a quick rundown of how I run FreeBSD jails.

Something I should have mentioned was the pf rules for forwarding traffic from the jail out to the internet. This would go in the /etc/pf.conf file:

NET_JAIL="192.168.100.0/24"
...
nat on $ext_if from $NET_JAIL to any -> ($ext_if:0)

# This assumes $ext_if is setup in the pf.conf file as well.

Here are the commands to get setup:

# setup lo1 on startup
sysrc cloned_interfaces+="lo1"

# setup zfs datasets
zfs create -o mountpoint=/usr/jails zroot/jails
zfs create zroot/jails/basejail

# install a base system
bsdinstall jail /usr/jails/basejail

# snapshot and clone
zfs snapshot zroot/jails/basejail@start
zfs clone zroot/jails/basejail@start zroot/jails/newjail

Jail configuration example:

newjail {
host.hostname = "newjail";
mount.devfs;
exec.clean;
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown jail";
path = "/usr/jails/newjail";
ip4.addr = "lo1|192.168.100.100/24";
}

For custom hosting and development:

https://superserverhero.com

Loading comments...