Teams/Ab18it08/Netzwerk: Unterschied zwischen den Versionen
imported>Hansbergner Die Seite wurde neu angelegt: „Fast alle Befehle müssen als root ausgeführt werden (markiert mit dem # am Zeilenanfang). Die für den konkreten Fall anzupassenden Parameter (also nicht bu…“ |
imported>Hansbergner KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
= Statisches Routing mit Debian Linux = | |||
''“Routing findet genau dann statt, wenn sich der Netzteil von Quell- und Zieladresse unterscheidet.”'' | |||
Fast alle Befehle müssen als root ausgeführt werden (markiert mit dem # am Zeilenanfang). | Fast alle Befehle müssen als root ausgeführt werden (markiert mit dem # am Zeilenanfang). | ||
Zeile 10: | Zeile 14: | ||
NetworkManager (einen Dienst im Rahmen von systemd) deaktivieren | NetworkManager (einen Dienst im Rahmen von systemd) deaktivieren | ||
# systemctl stop NetworkManager | |||
# systemctl disable NetworkManager | |||
DNS: (wird "normalerweise" auch vom NetworkManager verwaltet) | DNS: (wird "normalerweise" auch vom NetworkManager verwaltet) | ||
# unlink /etc/resolv.conf | |||
# echo "nameserver <span style="background-color:#ccff00;">10.0.0.1</span>" > /etc/resolv.conf | |||
Glückwunsch, jetzt (spätestens nach einem Reboot) hat der Rechner keine vom System autokonfigurierte / im Hintergrund verwaltete IP-Schnittstelle mehr. | Glückwunsch, jetzt (spätestens nach einem Reboot) hat der Rechner keine vom System autokonfigurierte / im Hintergrund verwaltete IP-Schnittstelle mehr. | ||
Zeile 23: | Zeile 27: | ||
… also für einen Netzwerk-Knoten, der Zugriff auf mindestens zwei getrennte logische Netzwerke hat und IP-Pakete zwischen ihnen vermitteln kann. | … also für einen Netzwerk-Knoten, der Zugriff auf mindestens zwei getrennte logische Netzwerke hat und IP-Pakete zwischen ihnen vermitteln kann. | ||
''Hier: Für einen Router zwischen “Level-1-LAN” und “Level-2-LAN” in der oben gegebenen Topologieskizze.'' | ''Hier: Für einen Router zwischen “Level-1-LAN” und “Level-2-LAN” in der oben gegebenen Topologieskizze.'' | ||
Generell: Forwarding von IP-Paketen zwischen Netzwerkschnittstellen aktivieren (das ist per Default abgeschaltet): | Generell: Forwarding von IP-Paketen zwischen Netzwerkschnittstellen aktivieren (das ist per Default abgeschaltet): | ||
# nano /etc/sysctl.conf | |||
In der Datei folgende Einstellung suchen und das “#” am Zeilenanfang entfernen: | In der Datei folgende Einstellung suchen und das “#” am Zeilenanfang entfernen: | ||
# Uncomment the next line to enable packet forwarding for IPv4 | |||
net.ipv4.ip_forward=1 | net.ipv4.ip_forward=1 | ||
… und die geänderte System-Konfiguration neu laden: | … und die geänderte System-Konfiguration neu laden: | ||
# sysctl -p | |||
Bezeichnungen der Netzwerk-Hardware-Schnittstelle(n) bestimmen: | Bezeichnungen der Netzwerk-Hardware-Schnittstelle(n) bestimmen: | ||
ip link show | ip link show | ||
# nano /etc/network/interfaces.d/<span style="background-color:#ccff00;">$INTERFACE</span> | |||
In der Datei folgende Konfiguration anlegen (generell sind die gesamten Netz-IDs und Adressen auf den konkreten Fall anzupassen!): | In der Datei folgende Konfiguration anlegen (generell sind die gesamten Netz-IDs und Adressen auf den konkreten Fall anzupassen!): | ||
auto <span style="background-color:#ccff00;">enp2s0</span> | |||
auto <span style="background-color:#ccff00;">enp2s0</span> | iface <span style="background-color:#ccff00;">enp2s0</span> inet static | ||
iface <span style="background-color:#ccff00;">enp2s0</span> inet static | |||
address 172.16.<span style="background-color:#ccff00;">X</span>.254/24 | address 172.16.<span style="background-color:#ccff00;">X</span>.254/24 | ||
auto <span style="background-color:#ccff00;">enp2s0</span>:0 | auto <span style="background-color:#ccff00;">enp2s0</span>:0 | ||
iface <span style="background-color:#ccff00;">enp2s0</span>:0 inet static | iface <span style="background-color:#ccff00;">enp2s0</span>:0 inet static | ||
address 10.0.0.10<span style="background-color:#ccff00;">X</span>/8 | address 10.0.0.10<span style="background-color:#ccff00;">X</span>/8 | ||
gateway 10.0.0.1 | gateway 10.0.0.1 | ||
Zeile 67: | Zeile 66: | ||
# systemctl restart networking | |||
Zeile 77: | Zeile 76: | ||
Bezeichnungen der Netzwerk-Hardware-Schnittstelle(n) bestimmen: | Bezeichnungen der Netzwerk-Hardware-Schnittstelle(n) bestimmen: | ||
ip link show | ip link show | ||
# nano /etc/network/interfaces.d/<span style="background-color:#ccff00;">$INTERFACE</span> | |||
In der Datei folgende Konfiguration anlegen (generell sind die gesamten Netz-IDs und Adressen auf den konkreten Fall anzupassen!): | In der Datei folgende Konfiguration anlegen (generell sind die gesamten Netz-IDs und Adressen auf den konkreten Fall anzupassen!): | ||
auto <span style="background-color:#ccff00;">enp2s0</span> | auto <span style="background-color:#ccff00;">enp2s0</span> | ||
iface <span style="background-color:#ccff00;">enp2s0</span> inet static | iface <span style="background-color:#ccff00;">enp2s0</span> inet static | ||
address 172.16.<span style="background-color:#ccff00;">X</span>.<span style="background-color:#ccff00;">Y</span>/24 | address 172.16.<span style="background-color:#ccff00;">X</span>.<span style="background-color:#ccff00;">Y</span>/24 | ||
gateway 172.16.<span style="background-color:#ccff00;">X</span>.254 | gateway 172.16.<span style="background-color:#ccff00;">X</span>.254 | ||
Zeile 93: | Zeile 92: | ||
# systemctl restart networking | |||
== Konfiguration testen == | == Konfiguration testen == | ||
ip addr show (oder kurz: ip a – IP-Adressen des Systems anzeigen) | ip addr show (oder kurz: ip a – IP-Adressen des Systems anzeigen) | ||
ip route show (oder kurz: ip r – IP-Routen des System anzeigen) | ip route show (oder kurz: ip r – IP-Routen des System anzeigen) | ||
ping <span style="background-color:#ccff00;">172.16.X.254</span> (Erreichbarkeit des Routers) | ping <span style="background-color:#ccff00;">172.16.X.254</span> (Erreichbarkeit des Routers) | ||
ping <span style="background-color:#ccff00;">10.0.0.10X</span> (Erreichbarkeit der “öffentlichen” Schnittstelle des Routers) | ping <span style="background-color:#ccff00;">10.0.0.10X</span> (Erreichbarkeit der “öffentlichen” Schnittstelle des Routers) | ||
ping <span style="background-color:#ccff00;">10.0.0.1</span> (Erreichbarkeit des “öffentlichen” Gateways | ping <span style="background-color:#ccff00;">10.0.0.1</span> (Erreichbarkeit des “öffentlichen” Gateways | ||
ping 8.8.8.8 (Erreichbarkeit einer öfffentlichen IP-Adresse) | ping 8.8.8.8 (Erreichbarkeit einer öfffentlichen IP-Adresse) | ||
ping google.de (Namensauflösung) | ping google.de (Namensauflösung) | ||
traceroute google.de (Tatsächliches Routing ins öffentliche Internet) | traceroute google.de (Tatsächliches Routing ins öffentliche Internet) | ||
Zeile 112: | Zeile 111: | ||
Routen löschen und anlegen: | Routen löschen und anlegen: | ||
# ip route del default | |||
# ip route add default via <span style="background-color:#ccff00;">10.0.0.1</span><span style="background-color:transparent;"> </span><span style="background-color:transparent;">(Default-Route, Next Hop)</span> | |||
# ip route add 172.16.<span style="background-color:#ccff00;">A</span>.0/24 via 10.0.<span style="background-color:#ccff00;">B.C</span><span style="background-color:transparent;"> </span><span style="background-color:transparent;">(spezielles Netz, Next Hop)</span> | |||
IP-Adressen löschen und anlegen: | IP-Adressen löschen und anlegen: | ||
# ip addr del <span style="background-color:#ccff00;">10.0.0.101/8</span> dev <span style="background-color:#ccff00;">enp2s0</span> (Adresse und “Device” muss angegeben werden) | |||
# ip addr add <span style="background-color:#ccff00;">10.0.0.101/8</span> dev <span style="background-color:#ccff00;">enp2s0</span> | |||
Der Befehl ip gehört zum Software-Paket “iproute2”. Er ersetzt bekannte / ältere Befehle wie z.B. ifconfig und route aus dem Paket “net-tools”. | Der Befehl ip gehört zum Software-Paket “iproute2”. Er ersetzt bekannte / ältere Befehle wie z.B. ifconfig und route aus dem Paket “net-tools”. |
Version vom 21. Dezember 2018, 11:26 Uhr
Statisches Routing mit Debian Linux
“Routing findet genau dann statt, wenn sich der Netzteil von Quell- und Zieladresse unterscheidet.”
Fast alle Befehle müssen als root ausgeführt werden (markiert mit dem # am Zeilenanfang).
Die für den konkreten Fall anzupassenden Parameter (also nicht buchstäblich zu übernehmenden) mit grünem Marker gekennzeichnet.
[[Image:|thumb|top|Übersicht / Netzwerktopologie]]
Exkurs: Statische / klassische IP-Konfiguration aktivieren
NetworkManager (einen Dienst im Rahmen von systemd) deaktivieren
# systemctl stop NetworkManager # systemctl disable NetworkManager
DNS: (wird "normalerweise" auch vom NetworkManager verwaltet)
# unlink /etc/resolv.conf
# echo "nameserver 10.0.0.1" > /etc/resolv.conf
Glückwunsch, jetzt (spätestens nach einem Reboot) hat der Rechner keine vom System autokonfigurierte / im Hintergrund verwaltete IP-Schnittstelle mehr.
Konfiguration für einen Router
… also für einen Netzwerk-Knoten, der Zugriff auf mindestens zwei getrennte logische Netzwerke hat und IP-Pakete zwischen ihnen vermitteln kann.
Hier: Für einen Router zwischen “Level-1-LAN” und “Level-2-LAN” in der oben gegebenen Topologieskizze.
Generell: Forwarding von IP-Paketen zwischen Netzwerkschnittstellen aktivieren (das ist per Default abgeschaltet):
# nano /etc/sysctl.conf
In der Datei folgende Einstellung suchen und das “#” am Zeilenanfang entfernen:
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1
… und die geänderte System-Konfiguration neu laden:
# sysctl -p
Bezeichnungen der Netzwerk-Hardware-Schnittstelle(n) bestimmen:
ip link show
# nano /etc/network/interfaces.d/$INTERFACE
In der Datei folgende Konfiguration anlegen (generell sind die gesamten Netz-IDs und Adressen auf den konkreten Fall anzupassen!):
auto enp2s0 iface enp2s0 inet static address 172.16.X.254/24
auto enp2s0:0 iface enp2s0:0 inet static address 10.0.0.10X/8 gateway 10.0.0.1
Theoretisch sollte die neue Konfiguration mit dem folgenden Befehl aktiviert werden; tatsächlich war trotzdem ein Reboot nötig:
# systemctl restart networking
Konfiguration für einen Client
… also hier für einen Netzwerk-Knoten in einem privaten Netz, der selbst keine Verbindung in andere Netze hat – der aber Zugriff auf einen Router in seinem Netz hat.
Bezeichnungen der Netzwerk-Hardware-Schnittstelle(n) bestimmen:
ip link show
# nano /etc/network/interfaces.d/$INTERFACE
In der Datei folgende Konfiguration anlegen (generell sind die gesamten Netz-IDs und Adressen auf den konkreten Fall anzupassen!):
auto enp2s0 iface enp2s0 inet static address 172.16.X.Y/24 gateway 172.16.X.254
Theoretisch sollte die neue Konfiguration mit dem folgenden Befehl aktiviert werden; tatsächlich war trotzdem ein Reboot nötig:
# systemctl restart networking
Konfiguration testen
ip addr show (oder kurz: ip a – IP-Adressen des Systems anzeigen) ip route show (oder kurz: ip r – IP-Routen des System anzeigen)
ping 172.16.X.254 (Erreichbarkeit des Routers) ping 10.0.0.10X (Erreichbarkeit der “öffentlichen” Schnittstelle des Routers) ping 10.0.0.1 (Erreichbarkeit des “öffentlichen” Gateways ping 8.8.8.8 (Erreichbarkeit einer öfffentlichen IP-Adresse) ping google.de (Namensauflösung) traceroute google.de (Tatsächliches Routing ins öffentliche Internet)
IP-Konfiguration zur Laufzeit ändern
Routen löschen und anlegen:
# ip route del default # ip route add default via 10.0.0.1 (Default-Route, Next Hop) # ip route add 172.16.A.0/24 via 10.0.B.C (spezielles Netz, Next Hop)
IP-Adressen löschen und anlegen:
# ip addr del 10.0.0.101/8 dev enp2s0 (Adresse und “Device” muss angegeben werden) # ip addr add 10.0.0.101/8 dev enp2s0
Der Befehl ip gehört zum Software-Paket “iproute2”. Er ersetzt bekannte / ältere Befehle wie z.B. ifconfig und route aus dem Paket “net-tools”.