[Eisfair_dev] IPv6-Unterstützung in Eisfair-Konfiguration

Hendrik Orep hendrik.orep at mailbox.org
Mi Dez 11 00:46:22 CET 2019


Moin,

ich wollte mal wieder mit IPv6 nerven ;-).

Zurzeit ist es leider nicht möglich, z.B. in der base-Konfiguration bei
DNS_SERVER eine IPv6-Adresse einzutragen. Der Typ dieses Feldes ist in
der /etc/check.d/base als "IPADDRESSES" angegeben.

Ein Blick in Dokumentation
(https://www.eisfair.org/fileadmin/eisfair/devdoc/configuration.html#value)
und in die /etc/check.d/base.exp verrät mir, dass es zwar den Typ
"IPADDR6", also eine IPv6-Adresse, gibt, aber kein Äquivalent zu
"IPADDRESSES", also mehrere Adressen dieses Typs.
Ohnehin wäre es sinnvoll, in dieses Feld nicht nur mehrere IP-Adressen
eines Typs, sondern auch mehrere IP-Adressen aus beiden Adressfamilien
eintragen zu können.

Ich habe meine /etc/check.d/base.exp mal versuchsweise um diese Typen
erweitert [1]:
* IPADDRESSES6: eine oder mehrere IPv6-Adressen
* EIPADDRESSES6: keine oder mehrere IPv6-Adressen
* IPADDR46: eine IPv4- oder IPv6-Adresse
* IPADDRESSES46: eine oder mehrere IPv4- oder IPv6-Adressen
* EIPADDRESSES46: keine oder mehrere IPv4- oder IPv6-Adressen

Wenn ich dann in der /etc/check.d/base für DNS_SERVER den Typ auf
"IPADDRESSES46" ändere, kann ich dort IPv6- und IPv4-Adressen eintragen
und die /etc/resolv.conf wird entsprechend generiert.

Vielleicht ließe sich ja so etwas ähnliches umsetzen.

Beste Grüße
Hendrik


[1] habe da einfach nur das Vorhandene etwas wiederverwendet:diff
etc-check.d-base.exp.orig /etc/check.d/base.exp
115a116,123
> IPADDRESSES6    = '(RE:IPADDR6)([[:space:]]+(RE:IPADDR6))*'
>                 : 'no valid ipv6 address, please specify one or more valid
>                    ipv6 addresses'
> IPADDR46        = '(RE:IPADDR)|(RE:IPADDR6)'
>                 : 'no valid ipv4 or ipv6 address'
> IPADDRESSES46   = '(RE:IPADDR46)([[:space:]]+(RE:IPADDR46))*'
>                 : 'no valid ip address, please specify one or more valid
>                    ipv4 or ipv6 addresses'
126a135,143
> EIPADDRESSES6   = '()|(RE:IPADDRESSES6)'
>                 : 'should be empty or contain one or more valid
>                    ipv6 addresses'
> EIPADDR46       = '()|(RE:IPADDR46)'
>                 :  'should be empty or contain a valid
>                    ipv4 or ipv6 address'
> EIPADDRESSES46  = '()|(RE:IPADDRESSES46)'
>                 : 'should be empty or contain one or more valid
>                    ipv4 or ipv6 addresses'


Mehr Informationen über die Mailingliste Eisfair_dev