Overview
In this tutorial, you will learn how to configure network settings in FreeBSD by setting static IP addresses and DHCP addresses. You will also learn how to set the hostname of a Freebsd host.
System Configuration File
Network configurations for FreeBSD are stored in the system configuration file. The path this file is /etc/rc.conf, it is where the server’s host name is set, as well as network interface configurations.
The following is an example of the rc.conf file used by FreeBSD.
hostname="freebsd12"
ifconfig_em0="DHCP"
ifconfig_em0_ipv6="inet6 accept_rtadv"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
- The
hostnamevalue sets the host name of the FreeBSD server. - The
ifconfig_em0value sets the network configurations for theem0network interface. In the example above, the interface is set to use DHCP. - The
ifconfig_em0_ipv6value is the IPv6 equvelant of theifconfig_em0value. sshd_enablesets whether the SSH daemon is enabled or not.
Setting Hostname
The host name of a FreeBSD server is set in the /etc/rc.conf system configuration file. Look for the hostname key and change its value to the desired hostname.
- Open the system configuration file into a text editor.
vi /etc/rc.conf - Find the
hostnamekey and update its value.hostname=server01 - Save your changes and exit the text editor.
- Apply your changes.
./etc/netstart
Setting a Static IPv4 Address
To set a static IP address you must specify a IP address with a netmask. The following example shows the the em0 network interface being assigned static IP address 192.168.0.10 with a network of 255.255.255.0, or /24.
- Open the system configuration file into a text editor, such as vim.
- Edit the
ifconfig_interface you want to assign a static IP address to using the following format.ifconfig_em0="inet 192.168.0.10 netmask 255.255.255.0" - Save your changes and exit the text editor.
- Apply your new network settings.
./etc/netstart
Your new rc.conf file should look similar to the following after your changes.
hostname="freebsd12"
ifconfig_em0="inet 192.168.0.10 netmask 255.255.255.0"
ifconfig_em0_ipv6="inet6 accept_rtadv"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
You can verify the network changes were applied correctly by using the ifconfig command.
ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=81009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER>
ether 08:00:27:32:00:0a
inet6 fe80::a00:27ff:fe32:a%em0 prefixlen 64 scopeid 0x1
inet6 2607:fea8:4de0:b900:a00:27ff:fe32:a prefixlen 64 autoconf
inet 192.168.0.10 netmask 0xffffff00 broadcast 10.0.0.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
Setting a DHCP Address
To set a DHCP address for a network interface on a FreeBSD host, you must edit the system configuration file /etc/rc.conf. For example, to set the network interface em0 to DHCP, you set would do the following.
ifconfig_em0="DHCP"
- Open the system configuration file into a text editor.
vi /etc/rc.conf - Update the network interface to use DHCP. In our example, the interface will be em0.
ifconfig_em0="DHCP" - Save your changes and exit the text editor.
- Apply your new network configurations.
./etc/netstart
Your system configuration file should resemble the following example, with the ifconfig_ interface you updated have the "DHCP" value.
hostname="freebsd12"
ifconfig_em0="DHCP"
ifconfig_em0_ipv6="inet6 accept_rtadv"
sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
To verify your changes applied successfully use the ifconfig command.
ifconfig em0





