linux:netzwerke

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
linux:netzwerke [2021/08/08 09:44] – [Route für ein Subnetz] stlinux:netzwerke [2024/12/26 13:41] (aktuell) – [netplan] st
Zeile 7: Zeile 7:
   * [[Ethernet Bonding Konfiguration IEEE 802.3ad (LACP)]]   * [[Ethernet Bonding Konfiguration IEEE 802.3ad (LACP)]]
   * [[https://de.slideshare.net/BarbarossaTM/contemporary-linux-networking|Contemporary Linux Networking]]   * [[https://de.slideshare.net/BarbarossaTM/contemporary-linux-networking|Contemporary Linux Networking]]
 +  * [[software:Netbox]] (Inventarisierung)
  
 ===== Dateien im Netzwerk freigeben ===== ===== Dateien im Netzwerk freigeben =====
Zeile 51: Zeile 52:
 ==== Benennung der Netzwerkschnittstellen ===== ==== Benennung der Netzwerkschnittstellen =====
  
-Je nach Reihenfolge in der die Treiber geladen werden, werden die Netzwerkschnittstellen hochnummeriert: eth0, eth1, ... . Durch udev kann die Zuordnung abgeändert werden, dsazu muss bei [[debian:Debian]] die Datei ''/etc/udev/rules.d/70-persistent-net.rules'' abgeändert werden. Heutzutage werden die Schnittstellen abhängig von [[https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/|diversen Faktoren]] benannt, z.B. enp0s3.+Je nach Reihenfolge in der die Treiber geladen werden, werden die Netzwerkschnittstellen hochnummeriert: eth0, eth1, ... . Durch udev kann die Zuordnung abgeändert werden, dazu muss bei **früher** bei [[debian:Debian]] die Datei ''/etc/udev/rules.d/70-persistent-net.rules'' abgeändert werden. **Heutzutage** werden die Schnittstellen abhängig von [[https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/|diversen Faktoren]] benannt, z.B. enp0s3.
  
 Vlan-Funktionen sind im Namen durch einen Punkt abgetrennt, Aliase durch einen Doppelpunkt.  Vlan-Funktionen sind im Namen durch einen Punkt abgetrennt, Aliase durch einen Doppelpunkt. 
Zeile 65: Zeile 66:
 MACAddressPolicy=persistent MACAddressPolicy=persistent
 </file> </file>
 +
 +Beispiel: Eine konkrete Netzwerkkarte mit MAC-Adresse //aa:bb:cc:dd:ee:ff// auf //eth1p1//:
 +<file>
 +[Match]
 +MACAddress=aa:bb:cc:dd:ee:ff
 +[Link]
 +Name=eth1p1
 +</file>
 +=== eth0 beibehalten ===
 +
 +Kernel-Boot-Parameter: ''net.ifnames=0 biosdevname=0'' in ''/etc/default/grub''
 +
 +
 +<code bash>
 +# debian:
 +sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=\"quiet\"/GRUB_CMDLINE_LINUX_DEFAULT=\"quiet net.ifnames=0 biosdevname=0\"/' /etc/default/grub
 +# ubuntu:
 +sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=\"\"/GRUB_CMDLINE_LINUX_DEFAULT=\"net.ifnames=0 biosdevname=0\"/' /etc/default/grub
 +update-grub
 +</code>
 +
 ==== Parsen von Schnittstelleninformationen ===== ==== Parsen von Schnittstelleninformationen =====
  
Zeile 109: Zeile 131:
  
 ==== DHCP (IP-Adresse dynamisch beziehen) ==== ==== DHCP (IP-Adresse dynamisch beziehen) ====
 +
 +Konfiguration mit [[netzwerke:DHCP]] (dynamische Adressvergabe, unter [[windows:Windows]] wird dies als "automatisch" bezeichnet.
 +
 +=== ifupdown2 / ifupdown2 ===
  
 [[netzwerke:DHCP]]-Einstellungen in der (''/etc/network/interfaces''): [[netzwerke:DHCP]]-Einstellungen in der (''/etc/network/interfaces''):
Zeile 117: Zeile 143:
 </file> </file>
  
-Bei Desktop-PCs werden auch oft grafische Oberflächen (wie der [[Networkmanager]]) benutzt, die dann eigene Konfigurationen haben. 
  
  
Zeile 124: Zeile 149:
 iface eth0 inet6 dhcp iface eth0 inet6 dhcp
 </file> </file>
- 
-Konfiguration mit [[netzwerke:DHCP]] (dynamische Adressvergabe, unter [[windows:Windows]] wird dies als "automatisch" bezeichnet. 
  
 Wenn man seine IP mit [[netzwerke:DHCP]] aktiv beziehen möchte start man entweder den [[netzwerke:DHCP]]-Dienst (wenn man ihn installiert hat): Wenn man seine IP mit [[netzwerke:DHCP]] aktiv beziehen möchte start man entweder den [[netzwerke:DHCP]]-Dienst (wenn man ihn installiert hat):
Zeile 146: Zeile 169:
  
 oder der Aufruf von ''pump'' das natürlich dann installiert sein muss.  oder der Aufruf von ''pump'' das natürlich dann installiert sein muss. 
 +
 +=== netplan  ===
 +
 +FIXME
 +
 +== de-installieren von netplan ==
 +
 +sudo apt install ifupdown2
 +sudo apt purge netplan.io
 +
 +/etc/default/grub:
 +
 +GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"
 +
 +sudo update-grub
 +
 +Die Datei /etc/network/interfaces muss angelegt und konfiguriert werden.
 +=== Networkmanager  ===
 +
 +Benutzt u.a. bei RedHat / CentOS.
 +Bei Desktop-PCs werden auch oft grafische Oberflächen (wie der [[Networkmanager]]) benutzt, die dann eigene Konfigurationen haben.
 +
 +=== systemd-networkd  ===
 +
 +https://wiki.archlinux.de/title/Systemd/
  
  
Zeile 152: Zeile 200:
 Konfiguration mit einer festen IP-Adresse (unter [[windows:Windows]] wird dies als "manuell" bezeichnet). Konfiguration mit einer festen IP-Adresse (unter [[windows:Windows]] wird dies als "manuell" bezeichnet).
  
-  ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up+=== ifupdown2 / ifupdown2 === 
 + 
 +Alter Befehl mit ifconfig: 
 + 
 +<code bash>ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up</code>
  
 Im obigen Bespiel wird für die erste Ethernet-Karte eth0 die IP 192.168.0.1 gesetzt, Netzmaske ist bei einem [[http://www.tcp-ip-info.de/TschiTschi/ip_adressierung.htm|Class-C Netzwerk]] standardmäßig 255.255.255.0 und die Broadcast-Adressse auch dementsprechend. Im obigen Bespiel wird für die erste Ethernet-Karte eth0 die IP 192.168.0.1 gesetzt, Netzmaske ist bei einem [[http://www.tcp-ip-info.de/TschiTschi/ip_adressierung.htm|Class-C Netzwerk]] standardmäßig 255.255.255.0 und die Broadcast-Adressse auch dementsprechend.
Zeile 192: Zeile 244:
 Auf Servern kann auch anstatt ''allow-hotplug eth0'' gleich "auto eth0" eingetragen werden, damit Dienste, die sich beim Start des Rechners an eine bestimmte IP (oder eine bestimmte Schnittstelle) binden wollen, nicht beim Start fehlschlagen. Siehe [[http://www.linux-magazin.de/heft_abo/ausgaben/2006/09/starterkabel?category=0|Hotplug unter Debian, SLES 9 und RHAS 4 erweitern]]. Auf Servern kann auch anstatt ''allow-hotplug eth0'' gleich "auto eth0" eingetragen werden, damit Dienste, die sich beim Start des Rechners an eine bestimmte IP (oder eine bestimmte Schnittstelle) binden wollen, nicht beim Start fehlschlagen. Siehe [[http://www.linux-magazin.de/heft_abo/ausgaben/2006/09/starterkabel?category=0|Hotplug unter Debian, SLES 9 und RHAS 4 erweitern]].
  
-=== zusätzliche feste IP-Adressen auf einer Karte ===+=== netplan === 
 + 
 +Ab [[ubuntu:Ubuntu]] 18.04 wird die Netzwerkkonfiguration mit [[https://netplan.io/|Netplan]] realisiert. Hiermit kann die Konfiguration in mehrere Dateien aufgesplittet (wie vorher auch mit ''/etc/network/interfaces.d'') werden und folgt der yaml-Syntax. 
 +Der [[ubuntu:Ubuntu]]-Installer legt die folgende Datei an: ''/etc/netplan/50-cloud-init.yaml'', Beispiel einer [[netzwerke:ipv6|Dual-stack-Konfiguration]]: 
 + 
 +<file> 
 +network: 
 +    ethernets: 
 +        enp0s3: 
 +            addresses: [192.168.0.2/24, "2a02:708:xx:xx::2/64"
 +            gateway4: 192.168.0.1 
 +            gateway6: 2a02:708:xx:xx::
 +            dhcp4: no 
 +            dhcp6: no 
 +            nameservers: 
 +                addresses: [8.8.8.8, "2001:4860:4860::8888"
 +    version: 2 
 +    renderer: networkd 
 +</file> 
 + 
 +=== Networkmanager  === 
 + 
 +FIXME 
 + 
 +=== systemd-networkd  === 
 + 
 +FIXME 
 + 
 +https://wiki.archlinux.de/title/Systemd/ 
 + 
 +==== zusätzliche feste IP-Adressen auf einer Karte ==== 
 + 
 +=== ifupdown2 / ifupdown2 ===
  
 Zusätzliche IP-Adressen können auf einer Karte durch anhängen von ":1", ":2" usw. erzeugt werden: Zusätzliche IP-Adressen können auf einer Karte durch anhängen von ":1", ":2" usw. erzeugt werden:
Zeile 224: Zeile 308:
 </file> </file>
  
-==== Feste IP-Adressen (Netplan) ====+=== netplan  ===
  
-Bei [[ubuntu:Ubuntu]] 18.04 wird die Netzwerkkonfiguration mit [[https://netplan.io/|Netplan]] realisiert. Hiermit kann die Konfiguration in mehrere Dateien aufgesplittet (wie vorher auch mit ''/etc/network/interfaces.d'') werden und folgt der yaml-Syntax. +FIXME
-Der [[ubuntu:Ubuntu]]-Installer legt die folgende Datei an: ''/etc/netplan/50-cloud-init.yaml'', Beispiel einer [[netzwerke:ipv6|Dual-stack-Konfiguration]]:+
  
-<file> +=== Networkmanager  ===
-network: +
-    ethernets: +
-        enp0s3: +
-            addresses: [192.168.0.2/24, "2a02:708:xx:xx::2/64"+
-            gateway4: 192.168.0.1 +
-            gateway6: 2a02:708:xx:xx::+
-            dhcp4: no +
-            dhcp6: no +
-            nameservers: +
-                addresses: [8.8.8.8, "2001:4860:4860::8888"+
-    version: 2 +
-    renderer: networkd +
-</file>+
  
-=== de-installieren von netplan ===+FIXME
  
-<code bash>sudo apt install ifupdown+=== systemd-networkd  === 
 + 
 +FIXME 
 + 
 +https://wiki.archlinux.de/title/Systemd/ 
 + 
 + 
 +==== de-installieren von netplan ==== 
 + 
 +<code bash>sudo apt install ifupdown2
 sudo apt purge netplan.io</code> sudo apt purge netplan.io</code>
  
Zeile 269: Zeile 348:
 ''systemctl restart systemd-resolved.service'' ''systemctl restart systemd-resolved.service''
  
 +
 +=== manuell DNS-Server für ein Interface setzen ===
 +
 +Beispiel: eth0 mit DNS-Server 192.168.88.22:
 +
 +''sudo systemd-resolve --interface eth0 --set-dns 192.168.88.22 --set-domain yourdomain.local''
  
 === systemd-resolved deaktivieren === === systemd-resolved deaktivieren ===
Zeile 312: Zeile 397:
 Equivalent in ipv6 (Netz 2001:41d0:1000:1234:ffff:ffff:ffff:ffff soll via Router 2a01:1234:1234:1234::1 erreicht werden): Equivalent in ipv6 (Netz 2001:41d0:1000:1234:ffff:ffff:ffff:ffff soll via Router 2a01:1234:1234:1234::1 erreicht werden):
 <code bash>ip -6 route add 2001:41d0:1000:1234:ffff:ffff:ffff:ffff via 2a01:1234:1234:1234::1 dev eth0</code> <code bash>ip -6 route add 2001:41d0:1000:1234:ffff:ffff:ffff:ffff via 2a01:1234:1234:1234::1 dev eth0</code>
-==== Nameserver ====+ 
 +==== Nameserver / DNS (glibc) ====
  
 Den **Nameserver** trägt man in der Datei ''/etc/resolv.conf'' im Format Den **Nameserver** trägt man in der Datei ''/etc/resolv.conf'' im Format
Zeile 319: Zeile 405:
  
 Bei neueren (eher desktop)-Systemen findet sich dort ein Verweis auf 127.0.0.53, was auf das lokal laufende ''systemd-resolve <nowiki>--</nowiki>status'' verweist. Bei neueren (eher desktop)-Systemen findet sich dort ein Verweis auf 127.0.0.53, was auf das lokal laufende ''systemd-resolve <nowiki>--</nowiki>status'' verweist.
 +
 ==== IP für ausgehende Verbindungen ändern ==== ==== IP für ausgehende Verbindungen ändern ====
  
Zeile 360: Zeile 447:
   * für [[netzwerke:IPv6]]: <code bash>   * für [[netzwerke:IPv6]]: <code bash>
 echo "1" >/proc/sys/net/ipv6/conf/all/forwarding echo "1" >/proc/sys/net/ipv6/conf/all/forwarding
-iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE+ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 </code> </code>
  
Zeile 410: Zeile 497:
 Um auf der Netzwerkkarte eth0 die vlans 100 und 101 zu aktivieren reichen diese Befehle: Um auf der Netzwerkkarte eth0 die vlans 100 und 101 zu aktivieren reichen diese Befehle:
  
 +<code bash>
 +ip link add link eth0 name eth0.100 type vlan id 100
 +ip link set dev eth0.100 up
 +ip addr add a.b.c.1/24 brd 1.b.c.255 dev eth0.100
 +</code>
 +
 +**vconfig ist veraltet** (wird in aktuellen Systemen nicht mehr unterstützt)
 <code bash> <code bash>
 modprobe 8021q modprobe 8021q
Zeile 430: Zeile 524:
 <box 100% red round left | **wichtige Diagnosetools**> <box 100% red round left | **wichtige Diagnosetools**>
   * ''netstat -lnptuw'' (listening ports) besser ist vielleicht ''netstat -tulpe'' zu merken ;-)   * ''netstat -lnptuw'' (listening ports) besser ist vielleicht ''netstat -tulpe'' zu merken ;-)
-  * ''lsof -i'' (bestehende Internet-Verbindungen auflisten)+  * ''lsof -i'' (bestehende Netzwerk-Verbindungen auflisten
 +  * ''lsof -i :443'' (welcher Prozess lauscht auf Port 443?)
   * ''iptraf'' (Traffic-überwachung)   * ''iptraf'' (Traffic-überwachung)
   * ''iftop'' (Traffic-überwachung, einfacher als iptraf, für Übersichtszwecke)   * ''iftop'' (Traffic-überwachung, einfacher als iptraf, für Übersichtszwecke)