Handbook:HPPA/Networking/Introduction
The following networking portion of the handbook describes 'simple' network configuration for systems running the OpenRC init system utilizing netifrc as the network management system.
Getting started with netifrc
Netifrc is a simple framework for configuring and managing network interfaces on OpenRC based systems. sys-apps/openrc pulls net-misc/netifrc automatically, as the netifrc
USE flag is enabled by default.
Creating an interface init script
In order to manage an interface with netifrc, an init script for that interface must be created. By default, netifrc installs /etc/init.d/net.lo which can be symlinked to create init scripts for new interfaces.
To create a new init script for interface eth0, simply symlink the default net.lo script:
root /etc/init.d #
ln -s net.lo net.eth0
Interface names can be determined by running ip link show (ip l for short) or with ls /sys/class/net.
Interface names will differ from system to system. Kernel based device names starting with eth<n> or wlan<n> may differ by index across boots. udev may set interface names starting with wlp or enp, where these names are persistent across reboots.
Configuring netifrc interfaces
Ethernet interfaces will often work without any additional config, as netifrc will automatically use DHCP for interfaces with no specified config.
If additional configuration is needed, for options such as static IPs, /etc/conf.d/net can be edited:
# For static IP using CIDR notation
config_eth0="192.168.0.7/24"
routes_eth0="default via 192.168.0.1"
dns_servers_eth0="192.168.0.1 8.8.8.8"
# For static IP using netmask notation
config_eth0="192.168.0.7 netmask 255.255.255.0"
routes_eth0="default via 192.168.0.1"
dns_servers_eth0="192.168.0.1 8.8.8.8"
If no configuration is specified for an interface, DHCP is used.
Netifrc interface service management
With the interface init scripts created, and configuration made, netifrc services can be managed using rc-service. To start eth0:
root #
rc-service net.eth0 start
When troubleshooting networking, take a look at /var/log/rc.log. Unless the rc_logger variable is set to
NO
in /etc/rc.conf, information on the boot activity will be stored in that log file.To start eth0 automatically at startup, it can be added to the default runlevel:
root #
rc-update add net.eth0 default