Linux-Kernel-Parameter (sysctls)

Linux-Kernel-Parameter (sysctls)

Eine vollständige Liste der IPv6 relevanten Kernel-Parameter findet man in der Kernel-Dokumentation. Da es aber sehr viele Parameter gibt sollen hier die Parameter gesammelt werden, die in unserer Dokumentation verwendet werden.

Howto:

Wie schon anfangs erwähnt ist es möglich Kernel-Parameter zur Laufzeit zu manipulieren. Darüberhinaus ist es möglich Werte beim Booten zu setzen um somit den Wert dauerhaft zu setzen.

Zur Laufzeit

Mit dem sysctl Befehl können Kernel-Parameter während Laufzeit ausgelesen oder verändert werden. Dabei werden die Werte die im procfs unter /proc/sys/.. stehen editiert.

Um den Wert für net.ipv6.conf.enp0s25.use_tempaddr aus zu lesen muss lediglich als root folgendes ausgeführt werden:

$ sysctl net.ipv6.conf.enp0s25.use_tempaddr
net.ipv6.conf.enp0s25.use_tempaddr = 0

Um den Wert für net.ipv6.conf.enp0s25.use_tempaddr zu setzten muss lediglich als root folgendes ausgeführt werden:

$ sysctl net.ipv6.conf.enp0s25.use_tempaddr=2

Zur Bootzeit

Eine Dauerhafte Änderung ist durch /etc/sysctl.conf möglich (oder durch einzelne Dateien unter /etc/sysctl.d/

Um net.ipv6.conf.enp0s25.use_tempaddr beim Booten auf 2 zu setzen muss folgendes in /etc/sysctl.conf stehen:

# Enable IPv6 Privacy Extensions
net.ipv6.conf.enp0s25.use_tempaddr = 2

Liste IPv6 Relevanten Kernel-Parameter die in der Dokumentation verwendet wurden

Stable-Privacy Adresse RFC 7217

Für die Konfiguration einer Stable-Privacy Adresse (sihe hier) wurden folgende Parameter verwendet:

stable_secret - IPv6 address

        This IPv6 address will be used as a secret to generate IPv6
        addresses for link-local addresses and autoconfigured
        ones. All addresses generated after setting this secret will
        be stable privacy ones by default. This can be changed via the
        addrgenmode ip-link. conf/default/stable_secret is used as the
        secret for the namespace, the interface specific ones can
        overwrite that. Writes to conf/all/stable_secret are refused.

        It is recommended to generate this secret during installation
        of a system and keep it stable after that.

        By default the stable secret is unset.

addr_gen_mode - INTEGER
         Defines how link-local and autoconf addresses are generated.

         0: generate address based on EUI64 (default)
         1: do no generate a link-local address, use EUI64 for addresses generated
            from autoconf
         2: generate stable privacy addresses, using the secret from
            stable_secret (RFC7217)
         3: generate stable privacy addresses, using a random secret if unset

Um das Interface enp0s25 beim Booten für Stable-Privacy zu konfigurieren sollte folgendes in /etc/sysctl.conf stehen:

# Enable IPv6 stable privacy mode
net.ipv6.conf.enp0s25.stable_secret = 1fce:5cb3:2f4e:509a:78bb:c2a0:748b:c43d
net.ipv6.conf.enp0s25.addr_gen_mode = 2

Wobei net.ipv6.conf.enp0s25.stable_secret einmalig initialisiert werden muss (siehe Stable-Privacy)

Temporäre Adresse RFC 4941

Für die Konfiguration einer Temporäre Adresse (siehe hier) wurden folgende Parameter verwendet:

use_tempaddr - INTEGER
  Preference for Privacy Extensions (RFC3041).
    <= 0 : disable Privacy Extensions
    == 1 : enable Privacy Extensions, but prefer public
           addresses over temporary addresses.
    >  1 : enable Privacy Extensions and prefer temporary
           addresses over public addresses.
  Default:  0 (for most devices)
     -1 (for point-to-point devices and loopback devices)

temp_valid_lft - INTEGER
  valid lifetime (in seconds) for temporary addresses.
  Default: 604800 (7 days)

Um das Interface enp0s25 beim Booten für Temporäre Adresse zu konfigurieren sollte folgendes in /etc/sysctl.conf stehen:

# Enable IPv6 Privacy Extensions
net.ipv6.conf.enp0s25.use_tempaddr = 2