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!

Before we get started, my tasty friends (yes, hungry!), let me tell you, I am unfathomably proud of myself for making the graphic for this in Gimp. Yeah, it only took me like 2.5 hours. blows on nails. I’m that good.

Ok, 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

FIGHTING WITH FONTS!? REALLY!? Ok, this is BadASSDOM!

Sweet FreeBSD ZSH/POWERLINE9k CONSOLE PROMPT WITH AN OS ICON

Movie Reference: Knights of BaddAssDom

The Goal:

Requirements:
  • powerline-status
  • powerline-fonts
  • patience of Ghandi
  • tenacity of a door-to-door salesperson

    > vi kde4/share/apps/konsole/Shell.profile[+]

:!ls /usr/local/share/fonts/Droid/Droid\ Sans\ Mono\ for\ Powerline\ Nerd\ Font\ Complete.otf                                   

 .k/s/a/k/Shell.profile+                                                                                                   
[Appearance]
AntiAliasFonts=true

ColorScheme=GreenOnBlack

 #Font=Source Code Pro for Powerline,15,-1,5,63,0,0,0,0,0
 Font=Droid Sans Mono for Powerline Nerd Font Complete,15,-1,5,63,0,0,0,0,0