slackware-current/source/n/network-scripts/manpages/rc.inet1.conf.5

389 lines
12 KiB
Groff
Raw Normal View History

.\" -*- nroff -*-
.ds g \" empty
.ds G \" empty
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
.el .TP "\\$1"
..
.TH RC.INET1.CONF 5 "16 Nov 2019" "Slackware Version 15.0"
.SH NAME
rc.inet1.conf \- Slackware network configuration file.
.SH DESCRIPTION
This file contains the configuration settings for network interfaces.
It consists of a series of shell variable array definitions. The
convention in this man page is to refer to these shell variable array
definitions as "parameters".
.LP
Parameters with the same index number will all belong to the same network
interface. By default, index number `0' is used for the configuration of
interface
.IR eth0 ,
index number `1' is used for
.I eth1
and so forth. The default interface name can be overruled by the use of
the parameter
.B IFNAME.
.LP
This is what a typical section of the file looks like for an interface,
showing all parameters with the index number `0':
.LP
.br
# IPv4 config options for eth0:
.br
IPADDRS[0]=""
.br
USE_DHCP[0]=""
.br
# IPv6 config options for eth0:
.br
IP6ADDRS[0]=""
.br
USE_SLAAC[0]=""
.br
USE_DHCP6[0]=""
.br
# Generic options for eth0:
.br
DHCP_HOSTNAME[0]=""
.LP
Alternatively, here is an example for an interface that uses static
IPv4 addresses, an autoconfigured IPv6 address, and a non-default name
.RI ( ath0
instead of
.IR eth1 ).
The parameter index is `1' in this case.
.LP
.br
IFNAME[1]="ath0"
.br
# IPv4 config options for ath0:
.br
IPADDRS[1]="192.168.1.10/24 10.0.0.10/8"
.br
USE_DHCP[1]=""
.br
# IPv6 config options for ath0
.br
IP6ADDRS[1]=""
.br
USE_SLAAC[1]="yes"
.br
USE_DHCP6[1]=""
.br
# Generic options for ath0:
.br
DHCP_HOSTNAME[1]=""
.br
# Gateway IP addresses:
.br
GATEWAY="192.168.1.1"
.br
GATEWAY6=""
.br
.SH EXAMPLE VIRTUAL INTERFACE CREATION AND SETUP
Virtual interfaces are created before any address configuration or bridge
setup is done, so you may use these interfaces as IFNAME or BRNICS values.
These can be tun or tap interfaces: adjust VIRTIFNAME and VIRTIFTYPE as
needed.
.LP
# Virtual tap interface example
.br
VIRTIFNAME[0]="tap0"
.br
VIRTIFTYPE[0]="tap"
.br
VIRTIFUSER[0]="root"
.br
VIRTIFGROUP[0]="root"
.br
.SH EXAMPLE BONDING INTERFACE CREATION
Link aggregation (bond) interfaces can be configured with the use of 3 new
parameters for use in rc.inet1.conf. The BONDNICS parameter should contain
the (space delimited) list of interfaces to include in the bond. The type
of bond is configured with the BONDMODE parameter, which can be any of the
supported mode types as found in the bonding kernel documentation found at
/usr/src/linux/Documentation/networking/bonding.txt.
.LP
The final parameter is a new generic IFOPTS parameter, which takes a list
of interface specific configuration options in a pipe (|) delimited list.
There are several module specific options which can be set with this
parameter, and they can be found in the kernel source documentation from
above. Note: it is
.B highly
recommended that you use at least the
.B miimon
option. Certain bonding modes will require other options to operate correctly.
.LP
Here is a complete configuration for a load balancing, fault tolerant
interface, with two ethernet devices:
.LP
IFNAME[0]="bond0"
.br
BONDNICS[0]="eth0 eth1"
.br
BONDMODE[0]="balance-rr"
.br
IFOPTS[0]="xmit_hash_policy layer2+3 | miimon 100"
.br
IPADDRS[0]="192.168.0.10/24"
.br
IP6ADDRS[0]="e1ff:fec8:ae47:d9ab::abc1/64"
.br
GATEWAY="192.168.0.1"
.br
GATEWAY6="e1ff:fec8:ae47:d9ab::1"
.LP
.SH EXAMPLE VLAN INTERFACE CREATION
VLAN interfaces can be configured in rc.inet1.conf, in the standard Slackware
way of defining an interface. The key to the configuration is to use the
correct IFNAME setting for the underlying ethernet (or bond) interface and the
tagged VLAN ID that should be exposed.
.LP
Here are the basic settings to expose a VLAN with ID 100 on the eth0
interface, configured with a static IPv4 address:
.LP
IFNAME[0]="eth0.100"
.br
IFOPTS[0]=""
.br
IPADDRS[0]="192.168.100.10/24"
.LP
The IFNAME of the interface contains the underlying ethernet device name
(eth0), a period (.), and the VLAN ID to be exposed.
.LP
Note that the underlying ethernet (or bond) interface does not need to have an
IP address to be used with the VLAN, but it can have an IP address if you are
also using an untagged VLAN.
.LP
The new generic IFOPTS parameter takes a pipe (|) delimited list of interface
type specific options, but does not need any options in order for a VLAN
interface to be configured. However, there are several VLAN specific options
which can be configured if required - these are documented in the ip-link(8)
man page (search for "VLAN Type Support").
.br
.SH EXAMPLE BRIDGE CREATION AND SETUP
Note the added BRNICS parameter which contains a space-separated list
of the physical or virtual network interfaces you want to add to the bridge.
Note that the parameter index can not be a duplicate of that defined for some
other interface (e.g. eth0 will be index 0 by default).
.LP
IFNAME[5]="br0"
.br
BRNICS[5]="eth0 eth1 tun0"
.br
IFOPTS[5]=""
.br
IPADDRS[5]="192.168.0.10/24"
.LP
The new generic IFOPTS parameter takes a pipe (|) delimited list of interface
type specific options, but does not need any options in order for a bridge
interface to be configured. However, there are several bridge specific options
which can be configured if required - these are documented in the ip-link(8)
man page (search for "BRIDGE Type Support").
.br
.SH GENERAL PARAMETERS
This is a list of parameters you can set for any interface.
The example section is for `eth0' by default, i.e.
the parameters all have the array index `0':
.LP
# Config information for eth0:
.TP 25
IPADDRS[0]=""
# Set this parameter to a space delimited list of IPv4 addresses and netmasks
to bind to the interface, The netmask should be in CIDR style separated from
the IP address with a /. E.g. "192.168.1.10/24 10.0.0.10/8". If the netmask
is not provided, "/24" is assumed.
.TP
USE_DHCP[0]=""
# If set to "yes", we will run a DHCP client and have the IPv4 address
dynamically assigned.
.TP
DHCP_HOSTNAME[0]=""
# Tell the DHCP server what hostname to register, e.g. "darkstar".
.TP
DHCP_TIMEOUT[0]=""
# The default timeout for the DHCP client to wait for server response is
15 seconds, but you might want a shorter or longer wait.
.TP
IP6ADDRS[0]=""
# The static IPv6 addresses for the interface. This option takes a list of
IPv6 addresses and prefix lengths in CIDR notation, in a space delimited
list. For example: IP6ADDRS[0]="a:b:c:d::1/48 1:2:3:4::5/64".
If a prefix length is not given (separated from the IP address with a /), a
length of 64 will be assumed.
.TP
USE_SLAAC[0]=""
# With this parameter set to "yes", the interface's IPv6 address will be
configured via SLAAC (also known as autoconfig), even if RA indicates
DHCP6 is available on the network. If SLAAC is not available on the
network, no IPv6 address will be assigned. If this parameter is unset or
empty, the interface will not be autoconfigured -- note that this is
changed behaviour from Slackware 14.2 and earlier.
.TP
USE_DHCP6[0]=""
# When set to "yes", use DHCP6 to configure the interface. This will
bring up the interface using DHCP6 if RA indicates DHCP6 support is
available on the network, falling back to SLAAC (if available on the
network), or will leave the interface unconfigured after a timeout. When
this parameter is set to "yes", USE_SLAAC[0] is ignored.
.TP
SLAAC_TIMEOUT[0]=""
# The default timeout for autoconfiguration to wait for the interface
to come up is 15 sec. Increase the timeout if a longer period is required
on your network.
.TP
USE_RA[0]=""
# If set to "yes", accept Router Advertisements even when SLAAC is disabled
on the interface. This parameter should almost never be required.
.TP
IFNAME[0]=""
# Use this to define configuration blocks for interfaces with non-standard
names.
.TP
HWADDR[0]=""
# Overrule the hardware MAC address (if supported by the network card) by
setting a new value here, e.g. "00:01:23:45:67:89".
.TP
MTU[0]=""
# The default MTU is 1500, but you might need 1360 when you use NAT'ed
IPSec traffic.
.TP
PROMISCUOUS[0]=""
# If set to "yes", enable promiscuous mode on the interface.
Thu May 31 04:55:33 UTC 2018 a/kernel-generic-4.14.47-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.47-x86_64-1.txz: Upgraded. SCSI_DPT_I2O m -> y SCSI_ISCI m -> y (thanks to wael_h) a/kernel-modules-4.14.47-x86_64-1.txz: Upgraded. a/pkgtools-15.0-noarch-14.txz: Rebuilt. installpkg: rarely, an uncompressed size that's not quite to the next level (e.g., 1020K) will exceed the expected length and cause a --terse line to be one character longer than --terselength. Chop lines to --terselength before outputting them. The trailing ']' might be dropped, but no big deal. ap/slackpkg-2.83.0-noarch-1.txz: Upgraded. Release 2.83.0; thanks to orbea, Didier Spaier, burdi01, David Allen, Eduard Rozenberg, and Stuart Winter for various fixes and enhancements. Allow using vimdiff to compare .new and original files Numerous fixups for alternate $ROOT .new config files are sorted so that display order should be consistent among multiple machines Abort operation if system date is near epoch (mostly relevant for ARM machines and others with no RTC) Update Slackware ARM gpg key Update Slackware ARM mirror list No longer offer to run lilo - simply advise user that the kernel image has changed and give advice, but also require a keypress to (hopefully) confirm that the message was actually read mandoc lint fixes to slackpkg.8 Warn user if a -current mirror is selected (but only warn once) d/git-2.17.1-x86_64-1.txz: Upgraded. d/kernel-headers-4.14.47-x86-1.txz: Upgraded. d/rust-1.26.1-x86_64-1.txz: Upgraded. k/kernel-source-4.14.47-noarch-1.txz: Upgraded. l/fftw-3.3.8-x86_64-1.txz: Upgraded. l/imagemagick-6.9.9_48-x86_64-1.txz: Upgraded. n/network-scripts-15.0-noarch-8.txz: Rebuilt. Allow setting an interface in promiscuous mode; this is needed for networking to function properly in containers Fixup setting of IPALIASES (allow non /32 masks; not only is the /32 mask not required and even undesirable in some cases, this makes ipv6 support easier to integrate (and Darren is working on that as well) Thanks to Darren Austin. n/stunnel-5.46-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-2.txz: Rebuilt. Fixed empty logrotate file. x/xorg-server-1.20.0-x86_64-2.txz: Rebuilt. Patched to fix nouveau segfault. Thanks to Rod3775 for the patch. x/xorg-server-xephyr-1.20.0-x86_64-2.txz: Rebuilt. x/xorg-server-xnest-1.20.0-x86_64-2.txz: Rebuilt. x/xorg-server-xvfb-1.20.0-x86_64-2.txz: Rebuilt. xap/network-manager-applet-1.8.12-x86_64-2.txz: Rebuilt. Patched crash bug. Thanks to gmgf. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
2018-05-31 06:55:33 +02:00
.TP
DHCP_KEEPRESOLV[0]=""
# If you do
.B not
want
.I /etc/resolv.conf
overwritten by the DHCP client, set this parameter to "yes".
.TP
DHCP_KEEPNTP[0]=""
# If you do
.B not
want
.I /etc/ntp.conf
overwritten by the DHCP client, set this parameter to "yes".
.TP
DHCP_KEEPGW[0]=""
# If you do
.B not
want the DHCP client to change your default gateway, set this parameter
to "yes".
.TP
DHCP_NOIPV4LL[0]=""
# When set to "yes", do
.B not
assign an IPv4 Link Local (IPv4LL) address when a DHCP server is not found.
IPv4LL addresses are in the range 169.254.0.0/16, and is also known as
.I `zeroconf'
address assignment.
.TP
DHCP_IPADDR[0]=""
# Request a specific IPv4 address from the DHCP server. Note that this is only
a request - the DHCP server may offer a completely different address.
.TP
DHCP_DEBUG[0]="yes"
# Make dhcpcd show verbose diagnostics.
.SH WIRELESS PARAMETERS
For wireless interfaces, several additional parameter definitions are available.
All these parameters start with the prefix
.B WLAN_ .
.LP
.TP 25
WLAN_ESSID[4]=""
# Your Wireless Access Point's name, e.g. "darkstar".
.TP
WLAN_MODE[4]=""
# Set to "Managed" for use with Access Points. For a peer-to-peer connection
set this parameter to "Ad-Hoc".
.TP
WLAN_RATE[4]=""
# The transmission rates you want the driver to try, e.g. "54M auto".
("auto" means that bandwidth can be variable).
.TP
WLAN_CHANNEL[4]=""
# The channel to which the Access Point is tuned, or "auto" to let the
driver find the correct channel.
.TP
WLAN_KEY[4]=""
# Definition of a WEP key, e.g. "D5A31F54ACF0487C2D0B1C10D2".
.TP
WLAN_IWPRIV[4]=""
# Some drivers require a private ioctl to be set through the iwpriv command. e.g.
"set AuthMode=WPAPSK | set EncrypType=TKIP | set WPAPSK=the_64_character_key".
If more than one is required, you can place them in the
.I WLAN_IWPRIV
parameter separated with the pipe (|) character. Ssee the example.
.TP
WLAN_WPA[4]=""
# The name of the application that should be executed for WPA support. This
will usually be "wpa_supplicant".
.TP
WLAN_WPADRIVER[4]=""
# Tell wpa_supplicant to specifically use this driver, e.g. "ndiswrapper".
If you leave this empty the "wext" driver is used by default - most modern
wireless drivers use wext.
.TP
WLAN_WPAWAIT[4]=30
# In case it takes long for the WPA association to finish, you can
use this parameter to increase the wait time before rc.wireless decides
that association failed. The default is 10 seconds.
.SH DEFAULT GATEWAY PARAMETERS
These parameters, to set an IPv4 and IPv6 default gateway, are not
interface-specific and must not have an index number.
.TP 25
GATEWAY=""
# The IPv4 default gateway, e.g. "192.168.1.1". This parameter should be left
empty when interfaces are configured via DHCP.
.TP
GATEWAY6=""
# The IPv6 default gateway, e.g. "fe80::1". This parameter should be left
empty when interfaces are configured via DHCP6 or SLAAC.
.SH FILES
.TP 25
.I /etc/rc.d/rc.inet1
network configuration script.
.TP
.I /etc/rc.d/rc.inet1.conf
configuration parameter file (read by rc.inet1 and rc.wireless).
.TP
.I /etc/rc.d/rc.wireless
wireless configuration script.
.TP
.I /etc/rc.d/rc.wireless.conf
wireless configuration parameter file
.B (deprecated)
\.
.SH CAVEATS
The network interface definitions are stored in shell variable
.I arrays
\.
The bash shell has no facilities to retrieve the largest array index used.
Therefore, the
.I rc.inet1
script makes the assumption that array indexes stay below the value of
.B 6
\.
.LP
If you want to configure more than six network interfaces, you will
have to edit the file
.I /etc/rc.d/rc.inet1.conf
and uncomment, and change the value `6' in the line
.B #MAXNICS="6"
(at the very bottom of the file) to the number of network interfaces you wish to use.
.SH AUTHORS
Patrick J. Volkerding <volkerdi@slackware.com>
.br
Eric Hameleers <alien@slackware.com>
.br
Robby Workman <rworkman@slackware.com>
.br
Darren 'Tadgy' Austin <darren@slackware.uk>
.SH "SEE ALSO"
.BR rc.inet1(8)