Sunday, November 2, 2025

FreeBSD as a Network Router

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
  • WireGuard Site2site VPN tunneling
  • Dynamic routing / OpenBGPD
  • DNS
  • DHCP

In this blog post, I will document various roles basic configurations.

Typical tasks after FreeBSD installation

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
  • Add users to Operating System
  •  

Monday, October 27, 2025

SmokePing on FreeBSD

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 showing:

  • Median latency (how long packets take to return)
  • Packet loss (percentage of lost probes)
  • Jitter (variation in response times) 

In this blog post we will install simple implementation of Smokeping to test quality of internet line.

Saturday, October 25, 2025

How to run iperf as a service

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.

Sunday, October 5, 2025

How to create an iSCSI target on FreeBSD

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 Layer (CTL) daemon, ctld.