FreeBSD is a clean, powerful, secure, and reliable Unix-like Operating System built for performance and freedom, and that’s why I’ve been happily nerding out with it for almost 30 years.
Disk partitioning and filesystem management are among the most fundamental sysadmin skills. Understanding how storage is organized helps administrators troubleshoot systems, prepare new disks, recover environments, and deploy infrastructure with confidence. In this post, I’ll walk through the basic workflow using gpart , newfs , and mount , which are essential tools for managing traditional UFS…
This blog post is run-book how to deploy NGINX web server with Automatic TLS certificate issuance and renewal leveraging Let’s Encrypt DNS Challenge via Active24 DNS provider. This article describes how to deploy NGINX on FreeBSD with both HTTP and HTTPS support, where the TLS certificate is automatically issued and renewed using Let’s Encrypt , acme.sh , and the Active24 DNS API . The solution…
I need NFS 4.x storage for some tests. I would like to leverage FreeBSD 14.3 with ZFS and export two ZFS Datasets via NFS. In this blog post, I will document how to setup NFS storage on FreeBSD. ZFS Datasets Here are my two ZFS datasets, I would like to export via NFS ... root@ACS-Storage:~ # zfs list NAME USED AVAIL REFER MOUNTPOINT PRIMARY-STORAGE 360K 240G 96K /PRIMARY-STORAGE…
ImpossibleCloud S3 storage is pretty interesting offering of European Object Storage. Cloud4com datacenters are located in Czechia, Prague and Impossible closest S3 Storage is in Frankfurt. ImpossibleCloud could be used for offsite backups or remote object repositories. In this blog post, I will do a benchmark of ImpossibleCloud S3 storage accessed from Prague's Cloud4com datacenter. I have S3…
Why vmx0 , vmx1 , vmx2 interface names sometimes cause fear? Anyone running FreeBSD as a router or firewall in a virtualized environment knows this situation well: network interfaces are named vmx0 , vmx1 , vmx2 , and critical configuration (pf, routing, jails) depends on them. A small change can suddenly turn WAN into LAN and LAN into DMZ. On physical hardware this is a common problem. Adding a…
I have multiple FreeBSD routers across my environments across the world each having its own WAN (Internet) connectivity and using WireGuard VPN to connect all into a private network. I would like to do local monitoring of Internet connectivity on each router centralized monitoring of Internet connectivity of each router in my datacenter The solution is pretty simple and I will describe it on this…
The default FreeBSD configuration is optimized for compatibility, not maximum network throughput. This becomes visible especially during iperf testing , routing benchmarks, or high-traffic workloads where mbuf exhaustion or CPU bottlenecks can occur. Let's discuss various turnings. Enable multiple network threads FreeBSD defaults can be too conservative for multi-core systems.…
ZFS (Zettabyte File System) is a combined filesystem and volume manager, originally developed by Sun Microsystems for Solaris and now widely used on FreeBSD and other Unix-like systems. In this blog post, we will describe ZFS and examples how to use it. Key features of ZFS Storage pools (zpools) Instead of managing disks with partitions, RAID controllers, and logical volumes, ZFS groups disks into…
MinIO is a high-performance, S3-compatible object storage platform designed for scalability, resilience, and simplicity in modern cloud-native environments. Its lightweight architecture and impressive throughput make it a popular choice for both on-premises and hybrid deployments, especially when building distributed storage clusters. In this post, I’ll briefly introduce MinIO and then walk…
FreeBSD is a free, open-source operating system based on the Berkeley Software Distribution (BSD), a branch of UNIX developed at the University of California, Berkeley. It’s known for being stable, secure, highly performant, and extremely well-suited for servers, networking, storage, and appliances. Relevant blog post: Typical tasks after FreeBSD installation In this blog post I will document…
SSH on my macOS Tahoe 26.1 uses cryptographic algorithm ssh-ed25519 . SSH on my FreeBSD 14.3 uses cryptographic algorithm ssh-rsa . Why? The difference between ssh-rsa and ssh-ed25519 SSH keys comes down to cryptographic algorithm, security level, performance, and future-proofing. Let's deep dive into details ... Cryptographic Algorithms ssh-rsa Uses RSA, an older public-key algorithm (based on…
FreeBSD is great operating system to be used as router, firewall, and VPN concentrator. When you install and configure FreeBSD router you should begin with standard FreeBSD server installation and configuration covered in another my blog post - Typical tasks after FreeBSD installation . After typical FreeBSD server installation we can follow with configuration of other roles as Firewall and NAT…
FreeBSD manual installation from ISO is very simple and straight forward. It typically takes few minutes. In this blog post, I will document my typical tasks after fresh FreeBSD install. These tasks are Update of Operating System Change hostname Set IP settings and DNS Date and Time settings Add users to Operating System Relevant blog post: FreeBSD - Basic Operational Procedures Let's focus on…
Smokeping is an open-source network latency monitoring tool created by Tobias Oetiker (the same author as MRTG). It measures, records, and graphically displays network latency, packet loss, and jitter over time. Smokeping sends repeated pings (ICMP, TCP, HTTP, or other probe types) to a set of targets and stores the results in RRD (Round Robin Database) files. It then generates time-series graphs…
On my FreeBSD routers I wan to run iperf as an always running service (daemon). The reason is to have possibility to test network throughput anytime I need it. Here is the rc script to do so. Step 1: Create an rc.d script pkg install -y iperf3 Step 2: Create an rc.d script mkdir -p /usr/local/etc/rc.d/ cat > /usr/local/etc/rc.d/iperf3 <<EOF #!/bin/sh # PROVIDE: iperf3 # REQUIRE: NETWORKING #…
Creating an iSCSI target on FreeBSD, particularly with ZFS, is typically done by exporting a ZFS Volume (ZVOL), which is a block-level device, not a ZFS filesystem/dataset. iSCSI targets present themselves as raw block devices to the initiator (client), which is the intended use for a ZVOL. Here is a step-by-step guide to create an iSCSI target on FreeBSD 14.3 using a ZFS Volume and the CAM Target…
In this blog post, I will install and configure FreeBSD/Bhyve to set up a FreeBSD virtualization host. I use FreeBSD 14.3. The installation of FreeBSD and the preparation of networking and storage are not covered here, as they are already in place and described in my other blog posts. Let’s explore the installation and configuration of Bhyve, a process that is simple and straightforward. Physical…
In this blog post, we will focus on ZFS from a manageability perspective. We will cover following topics ZFS Storage Status Monitoring Physical Disk Monitoring ZFS Capacity Monitoring ZFS Performance Monitoring Periodic and E-mail notifications ZFS Storage Status Monitoring To check ZFS ZPOOL brief status, use command zpool status -x root@bhyve01:~ # zpool status -x all pools are healthy To check…
In my homelab I have Dell PowerEdge R620 Server with FreeBSD 14.3 and ZFS 2.2.7. I want to use this server for BHyVe server virtualization and run Virtual Machines on top of BHyVe hypervisor. In virtualized environment, the typical average I/O size differs based on workload running in virtual machines. Different applications generate distinct I/O patterns. Databases and transactional systems:…
LACP stands for Link Aggregation Control Protocol . It’s a network protocol used to combine multiple physical network links into a single logical link to increase bandwidth and provide redundancy. It’s part of the IEEE 802.3ad standard (now 802.1AX). Here’s a breakdown of what it does and why it’s useful: Increases Bandwidth By bundling multiple links (like two or more Ethernet cables) between…
LLDP stands for Link Layer Discovery Protocol. It’s a vendor-neutral Layer 2 protocol (defined in IEEE 802.1AB) that allows network devices (switches, routers, servers, firewalls, access points, phones, etc.) to advertise information about themselves to directly connected devices and to learn information about their neighbors. In this short blog post we will install, enable and test LLDP on…
While testing Wi-Fi quality and network throughput on FreeBSD 14.3 drivers , I realized that before running any benchmarks, it’s important to document my home LAN topology and the network capacity across its zones. It’s essential to understand how different network technologies work, including the gap between their theoretical throughput and the actual achievable performance. For example, a Wi-Fi…
FreeBSD 14.3 should have significantly improved support of WiFi adapters. Let's test it in Dell Precision 5530 with Intel Wi-Fi 5 (802.11ac) Wireless-AC 9x6x [Thunder Peak]. We can identify Wi-Fi Adapter by following command ... root@dell5530:~ # pciconf -lv | grep -B 3 -A 1 network iwm0@pci0:59:0:0: class=0x028000 rev=0x29 hdr=0x00 vendor=0x8086 device=0x2526 subvendor=0x8086 subdevice=0x4010…
Vodafone is one of the internet providers I use in my home lab setup here in Czechia. I have been told they can enable IPv6 in my modem/router on request and it is not enabled by default. Anyway, it took them few minutes to reconfigure my modem/router to support IPv6. After this reconfiguratio, I connected my FreeBSD machine to the network segment we use as point- to- point ( P2P /30) for IPv4.…
While writing my blog post series about IPv6, I realized it would be useful to document publicly available DNS servers. In this blog post I will documente DNS IP addresses of DNS Servers from Google , Clouflare , Quad9 , Cisco's OpenDNS . There are weel know IPv4 DNS addresses like 8.8.8.8 and 8.8.4.4 , but there are others. DNS Servers are nowadays very usefull for secuurity protection like…