Hetzner - DokuWiki

Netzkonfiguration Debian
K
Zeile 1: Zeile 1:
{{IP-Disclaimer}}
+
= Netzkonfiguration =
 
+
 
== Haupt-IP-Adresse  ==
 
== Haupt-IP-Adresse  ==
  
Die Hauptadresse eines Hetzner-Servers liegt in der Regel in einem /27-Netz. Um die (versehentliche) Übernahme fremder IP-Adresse zu verhindern, verwirft Hetzners Netz-Infrastruktur Ethernet-Pakete, die nicht an die Gateway-Adresse gerichtet sind. Um auch Server im gleichen Netzsegment ansprechen zu können, richtet die Hetzner-Standardinstallation eine explizite Route ein, die Pakete an das eigene Subnetz über das Gateway leitet und nicht direkt zustellt.  
+
Die Hauptadresse eines Hetzner-Servers liegt in der Regel in einem /27-Netz. Um die (versehentliche) Übernahme fremder IP-Adresse zu verhindern, verwirft Hetzners Netz-Infrastruktur Ethernet-Pakete, die nicht an die Gateway-Adresse gerichtet sind. Um auch Server im gleichen Netzsegment ansprechen zu können, richtet die Hetzner-Standardinstallation eine explizite Route ein, die Pakete an das eigene Subnetz über das Gateway leitet und nicht direkt zustellt.
  
Diese Lösung ist jedoch unschön, da doppelte und widersprüchliche Informationen in der Routing-Tabelle auftauchen. Eine sauberere Möglichkeit, diese Konfiguration zu erreichen, besteht darin, die Haupt-Adresse mit der Netzmaske 255.255.255.255 (/32) zu versehen; der Server geht so davon aus, sich alleine in seinem Ethernet-Segment zu befinden und stellt keine Pakete direkt zu. Damit er nun jedoch das Gateway erreichen kann, benötigen wir eine explizite Host-Route dorthin: Dies geht mit Debian sehr einfach, indem wir die Option "pointopoint 192.168.0.1" in die Konfiguration einfügen - "192.168.0.1" ist natürlich die IP-Adresse des Gateways.  
+
Diese Lösung ist jedoch unschön, da doppelte und widersprüchliche Informationen in der Routing-Tabelle auftauchen. Eine sauberere Möglichkeit, diese Konfiguration zu erreichen, besteht darin, die Haupt-Adresse mit der Netzmaske 255.255.255.255 (/32) zu versehen; der Server geht so davon aus, sich alleine in seinem Ethernet-Segment zu befinden und stellt keine Pakete direkt zu. Damit er nun jedoch das Gateway erreichen kann, benötigen wir eine explizite Host-Route dorthin: Dies geht mit Debian sehr einfach, indem wir die Option "pointopoint 192.168.0.1" in die Konfiguration einfügen - "192.168.0.1" ist natürlich die IP-Adresse des Gateways.
  
 
  ## /etc/network/interfaces Beispiel Hetzner Rootserver
 
  ## /etc/network/interfaces Beispiel Hetzner Rootserver
Zeile 11: Zeile 10:
 
  auto lo
 
  auto lo
 
  iface lo inet loopback
 
  iface lo inet loopback
+
 
 
  # LAN-Schnittstelle
 
  # LAN-Schnittstelle
 
  auto eth0
 
  auto eth0
Zeile 24: Zeile 23:
 
   pointopoint 192.168.0.1
 
   pointopoint 192.168.0.1
  
Die in der Hetzner-Standardkonfiguration vorgesehene zusätzliche Route ist damit nicht mehr nötig.  
+
Die in der Hetzner-Standardkonfiguration vorgesehene zusätzliche Route ist damit nicht mehr nötig.
  
 
== Zusätzliche IP-Adressen  ==
 
== Zusätzliche IP-Adressen  ==
  
Alle Serverpakete enthalten ein /29-Subnetz, dass 6 weitere Adressen beinhaltet. Dieses Netz schließt sich nicht direkt an die Hauptadresse an, sondern muss im Hetzner-Robot beantragt werden.  
+
Alle Serverpakete enthalten ein /29-Subnetz, dass 6 weitere Adressen beinhaltet. Dieses Netz schließt sich nicht direkt an die Hauptadresse an, sondern muss im Hetzner-Robot beantragt werden.
  
Um die zusätzlichen Adressen auf dem Server zu nutzen, wird das Paket "iproute" mit dem Dienstprogramm "ip" benötigt. Konfigurationen mit Alias-Schnittstellen (eth0:1, eth0:2 etc.) sind veraltet und sollten keine Verwendung mehr finden. Um eine Adresse hinzuzufügen, genügt das folgende Kommando:  
+
Um die zusätzlichen Adressen auf dem Server zu nutzen, wird das Paket "iproute" mit dem Dienstprogramm "ip" benötigt. Konfigurationen mit Alias-Schnittstellen (eth0:1, eth0:2 etc.) sind veraltet und sollten keine Verwendung mehr finden. Um eine Adresse hinzuzufügen, genügt das folgende Kommando:
  
 
  ip addr add 10.4.2.1/32 dev eth0
 
  ip addr add 10.4.2.1/32 dev eth0
  
Der Befehl "ip addr" zeigt die momentan aktiven IP-Adressen an. Da das Subnetz dem Server exklusiv zur Verfügung steht, ist es auch hier sinnvoll, die Adressen mit der Präfixlänge /32, also der Subnetzmaske 255.255.255.255 hinzuzufügen.  
+
Der Befehl "ip addr" zeigt die momentan aktiven IP-Adressen an. Da das Subnetz dem Server exklusiv zur Verfügung steht, ist es auch hier sinnvoll, die Adressen mit der Präfixlänge /32, also der Subnetzmaske 255.255.255.255 hinzuzufügen.
  
Leider bieten die Konfigurationsmechanismen der Debian-Distriution keine Möglichkeit, mehrere IP-Adressen in der Datei "/etc/network/interfaces" zu hinterlegen. Diese Fähigkeit kann jedoch hinzugefügt werden: Dazu wird das Skript "addresses" benötigt: http://wertarbyte.de/debian/addresses. Es wird im Verzeichnis "/etc/network/if-up.d/" abgelegt und zusätzlich nach "/etc/network/if-down.d/" verlinkt:  
+
Leider bieten die Konfigurationsmechanismen der Debian-Distriution keine Möglichkeit, mehrere IP-Adressen in der Datei "/etc/network/interfaces" zu hinterlegen. Diese Fähigkeit kann jedoch hinzugefügt werden: Dazu wird das Skript "addresses" benötigt: http://wertarbyte.de/debian/addresses. Es wird im Verzeichnis "/etc/network/if-up.d/" abgelegt und zusätzlich nach "/etc/network/if-down.d/" verlinkt:
  
 
  cd /etc/network/if-up.d/ && \
 
  cd /etc/network/if-up.d/ && \
Zeile 44: Zeile 43:
 
  ln -s ../if-up.d/addresses .
 
  ln -s ../if-up.d/addresses .
  
Das Skript erweitert die Syntax der Konfigurationsdatei um eine neue Anweisung namens "addresses", mit der zusätzliche zu bindende IP-Adressen angegeben werden können:  
+
Das Skript erweitert die Syntax der Konfigurationsdatei um eine neue Anweisung namens "addresses", mit der zusätzliche zu bindende IP-Adressen angegeben werden können:
  
 
  addresses 10.4.2.1/32 10.4.2.2/32 10.4.2.3/32
 
  addresses 10.4.2.1/32 10.4.2.2/32 10.4.2.3/32
  
Fügt man diese Zeile zur Konfiguration der Schnittstelle "eth0" hinzu, so werden die Adressen beim Aktivieren der Schnittstelle hinzugefügt und bei dessen Deaktivierung wieder entfernt.  
+
Fügt man diese Zeile zur Konfiguration der Schnittstelle "eth0" hinzu, so werden die Adressen beim Aktivieren der Schnittstelle hinzugefügt und bei dessen Deaktivierung wieder entfernt.
  
Zusätzlich ist es möglich, mehrere Zeilen zu verwenden, um Adressen in Kategorien zu bündeln und die Konfiguration übersichtlicher zu gestalten:  
+
Zusätzlich ist es möglich, mehrere Zeilen zu verwenden, um Adressen in Kategorien zu bündeln und die Konfiguration übersichtlicher zu gestalten:
  
 
  addresses      10.4.2.1/32
 
  addresses      10.4.2.1/32
Zeile 56: Zeile 55:
 
  addresses-mail  10.4.2.4/32            # Mailserver
 
  addresses-mail  10.4.2.4/32            # Mailserver
  
Das Skript erfasst sämtliche Anweisungen, die mit dem Schlüsselwort "addresses-" und einer frei wählbaren Bezeichnung beginnen. Ein Schlüsselwort darf nicht doppelt verwendet werden, da ansonsten ifupdown einen Syntaxfehler anzeigt und die Konfiguration abbricht.  
+
Das Skript erfasst sämtliche Anweisungen, die mit dem Schlüsselwort "addresses-" und einer frei wählbaren Bezeichnung beginnen. Ein Schlüsselwort darf nicht doppelt verwendet werden, da ansonsten ifupdown einen Syntaxfehler anzeigt und die Konfiguration abbricht.
 
+
[[Category:Debian]] [[Category:Dedizierte_Server]]
+
  
[[Kategorie:Dedi-Installation]]
+
[[Kategorie:Dedizierte Server]]

Version vom 4. Januar 2009, 00:39 Uhr

Netzkonfiguration

Haupt-IP-Adresse

Die Hauptadresse eines Hetzner-Servers liegt in der Regel in einem /27-Netz. Um die (versehentliche) Übernahme fremder IP-Adresse zu verhindern, verwirft Hetzners Netz-Infrastruktur Ethernet-Pakete, die nicht an die Gateway-Adresse gerichtet sind. Um auch Server im gleichen Netzsegment ansprechen zu können, richtet die Hetzner-Standardinstallation eine explizite Route ein, die Pakete an das eigene Subnetz über das Gateway leitet und nicht direkt zustellt.

Diese Lösung ist jedoch unschön, da doppelte und widersprüchliche Informationen in der Routing-Tabelle auftauchen. Eine sauberere Möglichkeit, diese Konfiguration zu erreichen, besteht darin, die Haupt-Adresse mit der Netzmaske 255.255.255.255 (/32) zu versehen; der Server geht so davon aus, sich alleine in seinem Ethernet-Segment zu befinden und stellt keine Pakete direkt zu. Damit er nun jedoch das Gateway erreichen kann, benötigen wir eine explizite Host-Route dorthin: Dies geht mit Debian sehr einfach, indem wir die Option "pointopoint 192.168.0.1" in die Konfiguration einfügen - "192.168.0.1" ist natürlich die IP-Adresse des Gateways.

## /etc/network/interfaces Beispiel Hetzner Rootserver
# Loopback-Adapter
auto lo
iface lo inet loopback
# LAN-Schnittstelle
auto eth0
iface eth0 inet static
  # Haupt-IP-Adresse des Servers
  address 192.168.0.250
  # Netzmaske 255.255.255.255 (/32) unabhängig von der
  # realen Netzaufteilung (z.B. /27)
  netmask 255.255.255.255
  # Explizite Hostroute zum Gateway
  gateway 192.168.0.1
  pointopoint 192.168.0.1

Die in der Hetzner-Standardkonfiguration vorgesehene zusätzliche Route ist damit nicht mehr nötig.

Zusätzliche IP-Adressen

Alle Serverpakete enthalten ein /29-Subnetz, dass 6 weitere Adressen beinhaltet. Dieses Netz schließt sich nicht direkt an die Hauptadresse an, sondern muss im Hetzner-Robot beantragt werden.

Um die zusätzlichen Adressen auf dem Server zu nutzen, wird das Paket "iproute" mit dem Dienstprogramm "ip" benötigt. Konfigurationen mit Alias-Schnittstellen (eth0:1, eth0:2 etc.) sind veraltet und sollten keine Verwendung mehr finden. Um eine Adresse hinzuzufügen, genügt das folgende Kommando:

ip addr add 10.4.2.1/32 dev eth0

Der Befehl "ip addr" zeigt die momentan aktiven IP-Adressen an. Da das Subnetz dem Server exklusiv zur Verfügung steht, ist es auch hier sinnvoll, die Adressen mit der Präfixlänge /32, also der Subnetzmaske 255.255.255.255 hinzuzufügen.

Leider bieten die Konfigurationsmechanismen der Debian-Distriution keine Möglichkeit, mehrere IP-Adressen in der Datei "/etc/network/interfaces" zu hinterlegen. Diese Fähigkeit kann jedoch hinzugefügt werden: Dazu wird das Skript "addresses" benötigt: http://wertarbyte.de/debian/addresses. Es wird im Verzeichnis "/etc/network/if-up.d/" abgelegt und zusätzlich nach "/etc/network/if-down.d/" verlinkt:

cd /etc/network/if-up.d/ && \
wget http://wertarbyte.de/debian/addresses && \
chmod +x addresses && \
cd ../if-down.d/ && \
ln -s ../if-up.d/addresses .

Das Skript erweitert die Syntax der Konfigurationsdatei um eine neue Anweisung namens "addresses", mit der zusätzliche zu bindende IP-Adressen angegeben werden können:

addresses 10.4.2.1/32 10.4.2.2/32 10.4.2.3/32

Fügt man diese Zeile zur Konfiguration der Schnittstelle "eth0" hinzu, so werden die Adressen beim Aktivieren der Schnittstelle hinzugefügt und bei dessen Deaktivierung wieder entfernt.

Zusätzlich ist es möglich, mehrere Zeilen zu verwenden, um Adressen in Kategorien zu bündeln und die Konfiguration übersichtlicher zu gestalten:

addresses       10.4.2.1/32
addresses-https 10.4.2.2/32 10.4.2.3/32 # SSL-Websites
addresses-mail  10.4.2.4/32             # Mailserver

Das Skript erfasst sämtliche Anweisungen, die mit dem Schlüsselwort "addresses-" und einer frei wählbaren Bezeichnung beginnen. Ein Schlüsselwort darf nicht doppelt verwendet werden, da ansonsten ifupdown einen Syntaxfehler anzeigt und die Konfiguration abbricht.



© 2020. Hetzner Online GmbH. Alle Rechte vorbehalten.