Skip to content

FreeBSD 15.0 VNET Jails

Joe Maloney edited this page Jan 22, 2026 · 13 revisions

/etc/rc.conf

ifconfig_re0="up"
cloned_interfaces="bridge0"
create_args_bridge0="inet6 auto_linklocal -ifdisabled addm re0"
ifconfig_bridge0="up SYNCDHCP"
ifconfig_bridge0_ipv6="inet6 accept_rtadv"
jail_enable="YES"
jail_parallel_start="YES"

I also originally had ifconfig_re0="up -tso -vlanhwtso" but this ended up causing major performance issues with Realtek 2.5G ethernet so I removed.

/etc/devfs.rules

[devfsrules_jail_bpf=11]
add include $devfsrules_jail
add path 'bpf*' unhide

/etc/jail.conf.d/quassel.conf

quassel {
    path = "/jails/containers/quassel";
    host.hostname = "quassel";

    # vNET
    vnet;
    vnet.interface = "${epair}b";

    $id = "1";
    $epair = "epair${id}";

    # Create epair and add to existing bridge
    exec.prestart  = "/sbin/ifconfig ${epair} create up";
    exec.prestart += "/sbin/ifconfig bridge0 addm ${epair}a up";
    exec.start     = "/sbin/dhclient ${epair}b";
    exec.start    += "/bin/sh /etc/rc";
    exec.stop      = "/bin/sh /etc/rc.shutdown jail";
    exec.poststop  = "/sbin/ifconfig ${epair}a destroy";

    exec.clean;
    mount.devfs;
    devfs_ruleset = 11;
}

Clone this wiki locally