This article will cover a very basic setup where a FreeBSD server is configured as an iSCSI Target, and another FreeBSD server is configured as the iSCSI Initiator. The iSCSI Target will export a single disk drive, and the initiator will create a filesystem on this disk and mount it locally. Advanced topics, such as multipath, ZFS storage pools, failover controllers, etc. are not covered. Please refer to the following documentation on iSCSI for more information:
- RFC 3720 – Internet Small Computer Systems Inferface (iSCSI)
- FreeBSD Handbook – iSCSI Targets and Initiators
- Mikhail E. Zakharov’s excellent article in BSD Magazine titled “FreeBSD Based Dual-Controller Storage System Concept”
Now to get started…
iSCSI Target Test Setup
The disk drive which should be shared on the network is /dev/ada0, a 5G SATA disk created in VMWare that I attached to the system before starting it up. With FeeBSD, iSCSI is controled by the ctld daemon, so this needs to be enabled on the system. While at it, why not go ahead and enable it at boot time too?
In this tutorial, FreeBSD Security Officer Colin Percival shows us how to set up IPv6 on FreeBSD/EC2 and provides some tips to help simplify the process. Visit the link below to read his full blog.
A few hours ago Amazon announced that they had rolled out IPv6 support in EC2 to 15 regions — everywhere except the Beijing region, apparently. This seems as good a time as any to write about using IPv6 in EC2 on FreeBSD instances.
First, the good news: Future FreeBSD releases will support IPv6 “out of the box” on EC2. I committed changes to HEAD last week, and merged them to the stable/11 branch moments ago, to have FreeBSD automatically use whatever IPv6 addresses EC2 makes available to it.
Next, the annoying news: To get IPv6 support in EC2 from existing FreeBSD releases (10.3, 11.0) you’ll need to run a few simple commands. I consider this unfortunate but inevitable: While Amazon has been unusually helpful recently, there’s nothing they could have done to get support for their IPv6 networking configuration into FreeBSD a year before they launched it.
To enable IPv6 support in an existing FreeBSD EC2 instance, you’ll need to do three things: …
User Vinícius Zavam (DigitalOcean) shows us how to set up SmokePing, a network latency tracking tool with a graph explorer and useful latency measurement plugins, on FreeBSD 11. Head on over to the link below for the full set of instructions.
SmokePing is a network latency tracking tool. Tracking your server’s network latency can give you a useful picture of the overall health and availability of your server. For example, it can help you determine if your network is overloaded or alert you to packet loss, which may indicate an incorrect router configuration or downed device.
SpokePing’s creator, Tobias Oetiker, also created a data logging and time series graphing utility called RDDtool. SmokePing uses RDDtool, so you have access to its sophisticated graphing capabilities too.
This tutorial will show you how to install and configure SmokePing with Apache on FreeBSD.
To follow this tutorial, you will need:
One FreeBSD 11 server with a root user. On DigitalOcean, the default freebsd user is fine.
This tutorial by Linux Help shows us how to install Nagios, an open source system/network monitoring tool, on FreeBSD. Follow the link below for the full set of instructions, or watch the video tutorial below:
To install and configure Nagios on FreeBSD
Nagios is an open source system and network monitoring tool. Nagios can monitor and alter its services for servers, switches, applications and servers. It alerts the user when there is an error, and notifies them again once the error is resolved.
- Monitoring network services such as SMTP,POP3,HTTP,PING,etc
- Monitoring host resources
- Simple plug-in design
- Contact Notifications for problems
- Automatic Log Rotation
- Can define network host hierarchy using parent host
- Support for implementing redundant monitoring hosts
User Vinícius Zavam of DigitalOcean shows us how to get OpenNTPd setup on FreeBSD 10.2. OpenNTPd is an open source alternative implementation of the Nework Time Protocol. See the link below for the full instructions.
NTP, the Network Time Protocol, is a standardized protocol providing ways to synchronize time on various operating systems. OpenNTPd is a free and easy-to-use implementation of the Network Time Protocol (NTP), originally developed as part of the OpenBSD project. It provides the ability to sync the local clock from remote NTP servers and can also act as server itself.
This tutorial will show you how to install OpenNTPd on FreeBSD.
In this tutorial, the folks at calomel.org show us how to get Chrony set up on FreeBSD. Chrony is an alternative setup of the Network Time Protocol. See the link below for full instructions.
Chrony is an accurate network time daemon and an alternate implementation of the Network Time Protocol (NTP) compared to ntp.org’s NTPd, Ntimed, OpenNTPd and systemd-timesyncd. Chrony can be used to sync with NTP servers, reference clocks (e.g. GPS receiver), and even input by hand for an air-gapped network. The daemon will operate as an NTPv4 (RFC 5905) server and peer providing time service to other computers in the network.
We will build Chrony from source on FreeBSD and the daemon will the configured to be a Network Time Protocol (NTP) server on the local LAN to provide millisecond accuracy to its local clock as well as to the hundreds of clients in the cluster.
Full tutorial: https://calomel.org/chrony_network_time.html
This tutorial by user sdebnath shows us how to get VLAN set up in a FreeBSD jail. See the link below for the full instructions.
This article discusses how to set up jails on a FreeBSD 11-CURRENT system utilizing VIMAGE (aka VNET) to provide a virtualized independent network stack for each jail with support for VLAN tagging.
- You have a machine installed with FreeBSD 11-CURRENT on ZFS.
- We will be building world and kernel and using that as the base for the jails. Hence basic knowledge of FreeBSD system administration is assumed. If you’ve never compiled and installed a FreeBSD base system and kernel, this article may be hard to follow. Refer to the FreeBSD Handbook, especially chapter 8: ‘Configuring the FreeBSD Kernel’ and chapter 23: ‘Updating and Upgrading FreeBSD’.
- Your host’s ethernet interface is em0.
- Your IP network is 192.168.6.0/24 with gateway at 192.168.6.1.
- The host will be assigned IP 192.168.6.66.
- The guest jails will be assigned IPs in the range 192.168.6.100-254.
- VLAN ID for all network interfaces will be 6.
- Jails will be stored in ZFS datasets under /jail directory.
Full tutorial: https://gist.github.com/sdebnath/086874c5df8b68e0df69
Usershows us how to configure ALTQ, a network interface manager framework. If you ran into the issue, follow the link below for the full instructions.
ALTQ also known as alternative queuing, its a framework to manage queue on network interfaces. My FreeBSD box requires this function to enable and do QoS things such as limiting network bandwidth per customers based on their IP address or limiting the network bandwidth based on protocols.
I used HP DL 160 with intel I350 dual port network adapter (igb0 & igb1), running on FreeBSD 10.2-RELEASE-p14 amd64. After configuring and enabling ALTQ on that interfaces, I try to load pf.conf and get the following error:pfctl: igb0: driver does not support altq
Full tutorial: http://pnyet.web.id/how-to-enable-altq-on-igb-driver-freebsd