Freebsd networking

From wikinotes

Documentation

freebsd handbook: network communication https://docs.freebsd.org/en/books/handbook/partiv/

Locations

/etc/rc.conf persist network configuration
/etc/resolv.conf DNS config

Tools

FreeBSD ifconfig
FreeBSD route

Usage

Restart Network

service netif restart
service routing restart

Examples

Manual DHCP Connection

# Starting a manual network connection from CLI
sudo route add default 192.168.1.1 # Set path to your router
ifconfig                           # find interface you want
ifconfig em0 up                    # set interface 'up'
dhclient em0                       # (equivalent of DHCPCD, requests IP address)

Static IPV4

# /etc/rc.conf

ifconfig_em0="inet 192.168.1.220 netmask 255.255.255.0"
ifconfig_em0_alias0="..."
defaultrouter="192.168.1.1"  # 'default' route, if directing traffic between ifaces
gateway="192.168.1.1"        # 'default' gateway, for connecting to internet
# If you still are not able to get outside the internal
# network, try deleting and re-adding the default router from CLI
route delete default
route add default 192.168.1.1  

# The following should restart your internet connection.
ifconfig em0 inet 192.168.0.254 netmask 255.255.255.0

Static IPV6

NOTE:

untested

# /etc/rc.conf

ifconfig_em0_ipv6="inet6 2607:f0d0:1002:51::4"   # static ip
ifconfig_em0_alias0="inet6 ..."                  # iface aliases
ipv6_defaultrouter="2607:f0d0:1002:51::4"       # 'default' ipv6 route (if routing packages between ifaces)
ipv6_gateway="2607:f0d0:1002:51::4"             # 'default' ipv6 gateway (connecting to the internet)

IP Aliases

Assign multiple IP addresses to a network interface.
commonly used for assigning IPs to jails.

# /etc/rc.conf

ifconfig_em0_alias0="192.168.1.221/24"
ifconfig_em0_alias1="192.168.1.222/24"