Teams/Ab18it08/Netzwerk: Unterschied zwischen den Versionen

Aus Foxwiki
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


<nowiki># systemctl stop NetworkManager</nowiki>
# systemctl stop NetworkManager
<nowiki># systemctl disable NetworkManager</nowiki>
# systemctl disable NetworkManager


DNS: (wird "normalerweise" auch vom NetworkManager verwaltet)
DNS: (wird "normalerweise" auch vom NetworkManager verwaltet)


<nowiki># unlink /etc/resolv.conf</nowiki>
# unlink /etc/resolv.conf
<nowiki># echo "nameserver </nowiki><span style="background-color:#ccff00;">10.0.0.1</span>" > /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):




<nowiki># nano /etc/sysctl.conf</nowiki>
# 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:




<nowiki># Uncomment the next line to enable packet forwarding for IPv4</nowiki>
# 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:




<nowiki># sysctl -p</nowiki>
# sysctl -p
 


Bezeichnungen der Netzwerk-Hardware-Schnittstelle(n) bestimmen:
Bezeichnungen der Netzwerk-Hardware-Schnittstelle(n) bestimmen:


ip link show
ip link show
 


<nowiki># </nowiki>nano /etc/network/interfaces.d/<span style="background-color:#ccff00;">$INTERFACE</span>
# 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:




<nowiki># systemctl restart networking</nowiki>
# 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




<nowiki># </nowiki>nano /etc/network/interfaces.d/<span style="background-color:#ccff00;">$INTERFACE</span>
# 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:




<nowiki># systemctl restart networking</nowiki>
# 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:


<nowiki># ip route del default</nowiki>
# ip route del default
<nowiki># ip route add default via </nowiki><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 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>
<nowiki># ip route add 172.16.</nowiki><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 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:


<nowiki># </nowiki>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 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)
<nowiki># </nowiki>ip addr add <span style="background-color:#ccff00;">10.0.0.101/8</span> dev <span style="background-color:#ccff00;">enp2s0</span>
# 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, 12: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”.