DSM 6.0.2 | Firewall Rules | IPv4 und IPv6 | HowTo mit Linux-Clients

Status
Für weitere Antworten geschlossen.

Mane76

Benutzer
Mitglied seit
22. Jul 2016
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo Community,

in meinem ersten Post http://www.synology-forum.de/showthread.html?78097-DSM-6-0-1-Firewall-IPv4-und-IPv6-Rules-kein-Zugriff-von-IPv6-im-LAN ging es um das Zugriffsproblem mit IPv6 auf die NAS bei aktivierter Firewall. Dieses Problem scheint nun - zumindest bei mir seit 6.0.2 update 6 - gelöst und läuft stabil.

Bisher hatte ich in der Firewall unter IPv6 dem kompletten Bereich fd00::/8 Zugriff auf diverse Ports erlaubt. Das ist schonmal nicht schlecht, ich wollte aber - vergleichbar zu IPv4 - Regeln auf Hostbasis anlegen.

Motivation dieses How-To:
- Nutzung der Privacy Extensions https://en.wikipedia.org/wiki/IPv6#Privacy unter IPv6 für die vorhandenen Linux-Clients
- IPv6 Firewall-Regeln auf Hostbasis auf der NAS

Ausgangslage:
- Linux Clients mit IPv4 über DHCP der Fritzbox und IPv6 (fd00::, fe80::, öffentliche IPv6, jeweils mit / ohne Privacy Extension)
- Synology NAS DS213+ mit statischer IPv4 und IPv6 (fd00::, fe80::, öffentliche IPv6 ohne Privcy Extension)

Problemstellung:
Durch die Privacy Extensions erhält der Client nach einer bestimmten Zeit, spätestens aber nach einem Reboot ein neues Set an IPv6.
Aufgrund der Konfiguration verwendet der Client die IPv6 mit Privacy Extension bevorzugt.
Wird die NAS über den Hostname innerhalb des lokalen Netzes aufgerufen gibt der DNS die fd00:: der NAS aus, der Client verwendet ausgehend seine fd00:: mit Privacy Extensions. Ein Eintrag dieser fd00:: als Firewall-Rule funktioniert nur bis zur Neugenerierung.

Wie kann also dem Client gesagt werden, dass bei Aufruf der NAS die Client-IP fd00:: ohne Privacy Extensions verwendet wird ?


!!! ACHTUNG: Ab hier ist jeder für sein Handeln selbst verantwortlich. Fortgeschrittene Kenntnisse in Linux, Netzwerkeinstellungen und Systemdienste am Client und im Umgang mit DSM werden vorausgesetzt !!!


Lösungsansatz:
Nach einiger Recherche bin ich auf einen interessanten Ansatz über die Datei /etc/gai.conf gestossen: http://mirrors.bieringer.de/Linux+IPv6-HOWTO/resolver.html
In einfachen Worten regelt diese Datei, welche Zieladresse verwendet wird, wenn bei der Namensauflösung mehrere IPs ausgegeben werden.
Der Autor nennt in seinem Artikel aber auch die Lösung wie Linux die Ausgangsadresse festlegt, nämlich mittels <ip addrlabel> .

Die nötigen Eingaben können zur Laufzeit gemacht werden, beim Aufruf der NAS werden über den DNS die IPs der NAS zurückgegeben, die Datei gai.conf nennt die fd00:: der NAS mit einem Label zurück. Die Mittels <ip addrlaber> hinzugefügten fd00:: der NAS und fd00:: des Clients ohne Privacy Extensions matchen das Label und der Client verwendet nur für diese Verbindung die fd00:: ohne Privacy Extensions. Für alle anderen Verbindungen werden die fd00:: bzw. öffentlichen IPv6 mit Privacy Extensions verwendet.

Ein zweiter Autor nennt in seinem Artikel ein Skript zur automatischen Übergabe der benötigten IPs mittels <ip addrlabel> beim Bootvorgang: http://into6.com.au/?p=288.

ToDo:
1) Ermitteln der benötigten IPs (am Client <ifconfig>, in der NAS <Systemsteuerung, Infocenter, Netzwerk>
2) Die Skripte entsprechend des Artikels und der eigenen Distribution ablegen
3) Die Datei /etc/gai.conf editieren, in der Sektion "label" die Auskommentierungen entfernen und die NAS IP sowie die Client IP aus 1) in der Syntax label fd00::xxxx:xxxx:xxxx:xxxx/128 200 aufnehmen. Darüberhinaus in der Sektion "precedence" die Auskommentierungen entfernen und die NAS IP in der Syntax precedence fd00::xxxx:xxxx:xxxx:xxxx 200 aufnehmen. Der Zahlenwert "200" ist hier das Label und kann beliebig gewählt werden. Sie müssen nur in den genannten Zeilen übereinstimmen und dürfen nicht vorbelegt sein.
4) Das Skript manuell ausführen, dann den Zugriff versuchen und mittels tcpdump überprüfen, ob die richtige Client-IP verwendet wird. Alternativ mittels IPv6 in den DSM einloggen, rechts im Widget mit der Maus auf den Benutzernamen fahren, es sollte die richtige IP angezeigt werden.
5) Skript dauerhaft ausführbar machen - entsprechend der eigenen Distribution
6) Firewall in der NAS anpassen

Viel Erfolg !

Mane
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.905
Punkte für Reaktionen
1.179
Punkte
754
Besten Dank für dieses Howto, Mane!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat