Network Configuration¶
IPv6¶
IPv6 is supported since version 8.2, but there are a couple of requirements to use it:
IPv6 must be enabled by the kernel at boot time (usually the default).
IPv6 must be enabled for all (used) network interfaces plus the loopback interface (usually the default). If that is not the case, change that by modifying the kernel parameters
net.ipv6.conf.*.disable_ipv6 = 0in/etc/sysctl.conf//etc/sysctl.d/*.Dual stack sockets must be enabled (usually the default). Check that
net.ipv6.bindv6only = 0(e.g. usingsysctlorcat /proc/sys/net/ipv6/bindv6only). If that is not that case, change that usingsysctlfiles like above.
If these requirements are met, IPv6 addresses on your network interfaces should be recognized, used and announced to the management according to the rules set (see Configure allowed network interfaces). The rules can also be used to limit reported interfaces to IPv4 only or IPv6 only if required.
Disallow RDMA for specific network interfaces¶
Use the option connTcpOnlyFilterFile to set the path to a text file that specifies IP subnets
that must have RDMA disabled for outgoing communication. Add the option to the configuration
file of a server daemon or client, as follows.
connTcpOnlyFilterFile = /etc/beegfs/tcp-only-interfaces.conf
This option works similarly to option connNetFilterFile. You need to add one
subnet per line in classless notation (e.g. 192.168.10.0/24 or fd00::1/64).
See also
Configure allowed network interfaces¶
There are two different settings that can be used to achieve this:
In the
configfile of each service, there is an option calledconnNetFilterFile. It can be used to activate IP address range based filtering. This setting will allow outgoing connection attempts of a BeeGFS service only to the set of specified IP addresses, which is useful if a client (or other services) should not try to connect to certain exported interface IPs of another node, e.g., because some of the interface IPs might not be reachable from the current network or are meant for internal use only. This works separately for IPv4 and IPv6.In the
configfile of each service, there is an option calledconnInterfacesFile. By specifying a file with a list of interfaces (one per line) here, you can control which interfaces a BeeGFS service registers at the management daemon and in which order they should be tried during connection attempts by other nodes. For instance, if your node haseth0andeth1, but you only addeth1to the interfaces file, then the other servers/clients won’t know that there is another interface for that server and hence will not try to connect to other interfaces. Since version 8.2, this supports a backward compatible advanced filter syntax:Interfaces can be filtered by name, address and protocol (IPv4 or IPv6). Each filter entry has the form
[!] [<name>|*] [<addr>|*] [<protocol>|*], where protocol can be “4” or “6”. Each field can be set to “*” to match any value. Stars on the right can be omitted.The order of the filter entries determines the priority of the interfaces as they should be used by other nodes for BeeMsg communication. The first entry an interface matches is that interfaces priority - the earlier the match, the higher the priority. Any interface that doesn’t match any entry is not reported and will thus not be contacted by other nodes. A single
!before the entry blacklists the matching interfaces - it is not reported even if a later entry does match it.If not given, all suitable interfaces can be used and are reported in default order.
EXAMPLES:
Prefer IPv6:
* * 6, * * 4IPv6 only:
* * 6Only the eth0 interface using IPv6:
eth0 * 6Prefer one IPv6 address, report only IPv4 otherwise:
* fd00::1, * * 4Deny eth0 interface, report everything else:
! eth0, *