DNS, Gateway, Router Setup for Bhyve & iocage: TOTAL CONTAINERIZATION

root@bean     1.15   0%   ~  cat /etc/pf.conf                                                                                                                              210

#

THINKS TO SELF: Hrm, why yes, that is a $BOOTAY_KICKING prompt! I need to document it actually…later…
# Instant NAT
nat pass on ix0 from {172.16.0.0/24} to any -> (ix0)

# Better NAT/RDR
# Define the interfaces
ext_if = "ix0"
int_if = "bridge0"
tcp_svcs = "{ 22 2200 80 443 5000:6000 8000:9001 10000 }"
#container_net = $int_if:network

# Define the IP address of containers & ports for rdr/nat
FNASVM = "172.16.0.230"
FNASVM_TCP_PORTS = "{ 80, 443 }"

# Normalize packets & pass anything in TCP_SVCS
#scrub in all

# Define the NAT for the containers
nat on $ext_if from $int_if to any -> ($ext_if)

# FREENAS VM: Redirect traffic on ports 8180 and 8443
rdr pass on $ext_if proto tcp from any to any port 8180 -> $FNASVM port 80
rdr pass on $ext_if proto tcp from any to any port 8443 -> $FNASVM port 443

# Hrm, maybe quick is too fast
#pass in quick on $ext_if proto tcp from any to any port $tcp_svcs
pass in on $ext_if proto tcp from any to any port $tcp_svcs

Managing FreeBSD Bhyve Containers With VM-BHYVE

SNAPSHOTS, CLONES, AND ROLLBACKS, OH MY!

One of the awesome FreeBSD tools I use frequently:

 vm clone name[@snapshot] new-name
 vm snapshot [-f] name|name@snapshot

Later, if you like, you can restore a previous snapshot of your vm:

    rollback [-r] <name@snapshot>

VM-BHYVE SNAPSHOT: Easy as Pie 😉

It’s best to make sure the conta`iner is powered-off:

    vm poweroff $name

Now, we can make the snapshot…

    root@bean   ~  vm snapshot fnas11vm                           2089

“Trust But Verify”

— Ronald Reagan

    root@bean   ~  zfs list -t snap | grep fnas11vm        1 ↵     2090

    NAME                                            USED  AVAIL  REFER  MOUNTPOINT
    zroot/vm/fnas11vm@2018-01-02-12:38:07              0      -    96K  -
    zroot/vm/fnas11vm/disk0@2018-01-02-12:38:07        0      -  1.21G  -
    zroot/vm/fnas11vm/disk1@2018-01-02-12:38:07        0      -  7.53M  -

Creating an image from the container for provisioning more containers!

    root@bean   ~  vm image create -d 'fnas11_image' fnas11vm        2099

    Creating a compressed image, this may take some time... 
    Image of fnas11vm created with UUID 650759c6-efff-11e7-8013-0cc47ac2a6ec