====== Linux Netzwerkkonfiguration ======
> ip link set dev enp6s0 down
> ip link set dev enp6s0 up
> ip a
* [[Netzwerkkarten bündeln - Bonding]]
> ls -l /sys/class/net/
lrwxrwxrwx 1 root root 0 Oct 17 13:00 em1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/net/em1
lrwxrwxrwx 1 root root 0 Oct 17 13:00 em2 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.1/net/em2
lrwxrwxrwx 1 root root 0 Oct 17 13:00 em3 -> ../../devices/pci0000:00/0000:00:03.0/0000:02:00.0/net/em3
lrwxrwxrwx 1 root root 0 Oct 17 13:00 em4 -> ../../devices/pci0000:00/0000:00:03.0/0000:02:00.1/net/em4
lrwxrwxrwx 1 root root 0 Oct 17 13:00 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx 1 root root 0 Oct 17 13:00 p1p1 -> ../../devices/pci0000:00/0000:00:06.0/0000:05:00.0/net/p1p1
lrwxrwxrwx 1 root root 0 Oct 17 13:00 p1p2 -> ../../devices/pci0000:00/0000:00:06.0/0000:05:00.1/net/p1p2
lrwxrwxrwx 1 root root 0 Oct 17 13:00 p2p1 -> ../../devices/pci0000:00/0000:00:05.0/0000:04:00.0/net/p2p1
lrwxrwxrwx 1 root root 0 Oct 17 13:00 p2p2 -> ../../devices/pci0000:00/0000:00:05.0/0000:04:00.1/net/p2p2
lrwxrwxrwx 1 root root 0 Oct 17 13:00 p3p1 -> ../../devices/pci0000:00/0000:00:09.0/0000:07:00.0/net/p3p1
lrwxrwxrwx 1 root root 0 Oct 17 13:00 p3p2 -> ../../devices/pci0000:00/0000:00:09.0/0000:07:00.1/net/p3p2
===== zusätzliche IP's auf eine Netzwerkkarte konfigurieren (Alias-IP) =====
==== mit ifconfig ====
setzen:
> ifconfig eth0:0 192.168.1.40/32 up
entfernen:
> ifconfig eth0:0 down
==== mit ip ====
setzen:
> ip addr add 192.168.1.40/32 dev eth0
oder Linux-2.0-kompatibel (mit Label):
> ip addr add 192.168.1.40/32 dev eth0 label eth0:0
entfernen:
> ip addr add 192.168.1.40/32 dev eth0
oder
> ip addr add 192.168.1.40/32 dev eth0 label eth0:0
===== Wechsel zu systemd-networkd und systemd-resolved oder unbound =====
==== mit unbound ====
* unbound config: ''/etc/unbound/unbound.conf.d/default.conf'' (siehe [[::dns:dns_mit_unbound]])
* resolv.conf config: ''/etc/resolv.conf''
apt install unbound
systemctl disable systemd-resolved
systemctl enable unbound
unlink /etc/resolv.conf; vim /etc/resolv.conf
nameserver ::1
nameserver 127.0.0.1
options edns0 trust-ad
search fritz.box
==== mit systemd-resolved ====
* systemd-resolved config: ''/etc/systemd/resolved.conf'' (siehe [[::systemd#systemd-resolved]])
* resolv.conf config: ''/etc/resolv.conf''
apt install systemd-resolved
systemctl disable unbound
systemctl enable systemd-resolved
ln -fs /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
==== networkd config ====
//anpassen je nachdem, welcher dns, siehe oben//
* systemd-networkd config: ''/etc/systemd/network/default.network'' (siehe [[::systemd#systemd-networkd]])
systemctl disable network-manager
systemctl disable networking
systemctl enable systemd-networkd
apt purge dhcpcd5 openresolv isc-dhcp-client isc-dhcp-common ifupdown
reboot now && exit
===== Netplan (ab Ubuntu 18.04) =====
* [[https://wiki.ubuntuusers.de/Netplan/]]
* [[https://wiki.ubuntuusers.de/Netplan/Deaktivieren/|Netplan deaktivieren]]
* [[https://www.linux.com/learn/intro-to-linux/2018/9/how-use-netplan-network-configuration-tool-linux]]
* **[[https://netplan.io/faq]]**
* [[https://bugs.launchpad.net/ubuntu/+source/nplan/+bug/1743200|No support for interface labels]]
alle Netplan-Konfigurationen aufrufen:
> vi /etc/netplan/*.yaml
> vi /lib/netplan/*.yaml
> vi /run/netplan/*.yaml
die Netplan-Konfigurationen starten/anwenden
> netplan generate
> netplan apply
> netplan try
ein NIC hoch- bzw. runterfahren:
> ip link set enp0s3 up
> ip link set enp0s3 down
NameServer anzeigen:
> systemd-resolve --status
eine IP von einem NIC entfernen:
> ip address del 123.123.123.123/24 dev enp0s3
Die IP wird zwar beim Bootvorgang nicht mehr geladen, wenn die Konfiguration fehlt aber will man eine IP von einem laufenden System entfernen, dann geht das nicht, wenn man einfach nur die Konfigurationsdatei entfernt und ''netplan apply'' aufruft.
==== statische Netzwerkkonfiguration ====
network:
version: 2
renderer: networkd
ethernets:
enp59s0f0:
addresses: [192.168.24.21/24]
#gateway4: 192.168.24.1 # alt, statt dessen jetzt "default routes"
routes:
- to: default
via: 192.168.24.1
nameservers:
search: [domain.net]
addresses: [192.168.110.170,192.168.110.171]
> mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.SiK
> vi /etc/netplan/eth0.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp-identifier: mac
addresses:
- 10.10.10.2/24
gateway4: 10.10.10.1
nameservers:
addresses:
- 10.10.10.1
- 1.1.1.1
> netplan generate
> netplan apply
Hier wird der Ethernetschnittstelle ''eth0'' die IP-Adresse ''10.10.10.2'' zugewiesen, ''DHCP'' deaktiviert, als Gateway ''10.10.10.1'' und als DNS-Server ''10.10.10.1'' und ''1.1.1.1'' festgelegt. Für die Netzwerkschnitte ist dann ''systemd-networkd'' zuständig.
==== DHCP Netzwerkkonfiguration ====
> mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.SiK
> vi /etc/netplan/eth0.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses: []
dhcp4: true
optional: true
> netplan generate
> netplan apply
> netplan ip leases eth0
# This is private data. Do not parse.
ADDRESS=192.168.1.90
NETMASK=255.255.255.0
ROUTER=192.168.1.254
SERVER_ADDRESS=192.168.1.4
NEXT_SERVER=192.168.1.4
BROADCAST=192.168.1.255
T1=43200
T2=75600
LIFETIME=86400
DNS=192.168.1.4
DOMAINNAME=lan
HOSTNAME=rechnervonfritz
CLIENTID=ffb6820feb00020000ab1263b9c5e8a84783fe
==== Netzwerkkonfiguration mit DHCP (IPv4) und SLAAC (IPv6) ====
network:
version: 2
renderer: networkd
ethernets:
eth0:
optional: true
dhcp-identifier: mac
dhcp4: true
dhcp6: true
ipv6-privacy: true
accept-ra: true
nameservers:
addresses:
- 2606:4700:4700::1111
- 1.1.1.1
- 2606:4700:4700::1001
- 1.0.0.1
> netplan generate
> netplan apply
==== Netzwerkkonfiguration mit statischer IPv4 und SLAAC (IPv6) ====
network:
version: 2
renderer: networkd
ethernets:
eth0:
optional: true
dhcp-identifier: mac
dhcp4: false
dhcp6: true
ipv6-privacy: true
accept-ra: true
addresses:
- 10.0.0.64/24
gateway4: 10.0.0.1
nameservers:
addresses:
- 2606:4700:4700::1111
- 1.1.1.1
- 2606:4700:4700::1001
- 1.0.0.1
> netplan generate
> netplan apply
==== Bond ====
network:
version: 2
renderer: networkd
ethernets:
enp59s0f0:
dhcp4: no
dhcp6: no
enp59s0f1:
dhcp4: no
dhcp6: no
bonds:
bond0:
interfaces:
- enp59s0f0
- enp59s0f1
addresses: [192.168.24.21/24]
gateway4: 192.168.24.1
nameservers:
search: [domain.net]
addresses:
- 192.168.110.170
- 192.168.110.171
> netplan generate
> netplan apply
==== Bond + LACP ====
LACP wird mit der Option ''mode: 802.3ad'' aktiviert.
network:
version: 2
renderer: networkd
ethernets:
enp59s0f0:
dhcp4: no
dhcp6: no
enp59s0f1:
dhcp4: no
dhcp6: no
bonds:
bond0:
interfaces:
- enp59s0f0
- enp59s0f1
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
addresses: [192.168.24.21/24]
gateway4: 192.168.24.1
nameservers:
search: [domain.net]
addresses:
- 192.168.110.170
- 192.168.110.171
> netplan generate
> netplan apply
> cat /sys/class/net/bond0/bonding/mode
802.3ad 4
===== Performance der Netzverbindung Testen =====
==== Allgemeines ====
Zum Test des physikalischen Durchsatzes der Netzwerkleitung kann das Tool iperf genutzt werden. Dieses beinhaltet eine Server und eine Client Komponente und kann den Durchsatz des Netzwerkes unabhängig von der Leistungsfähigkeit des lokalen Dateisystems testen.
> aptitude update && aptitude install iperf
==== Verwendung von iperf ====
=== Auf dem Server auszuführen ===
> iperf -s -w 65536 -p 12345
* -s als Server starten
* -w TCP window size
* -p Port
=== Auf dem Client auszuführen ===
> iperf -c 10.10.5.100 -w 65536 -p 12345 -t 60
oder
> iperf -c 10.10.5.100 -w 65536 -p 12345 -t 60 -P 4
* -c verbinden zu IP
* -w TCP window size
* -p Port
* -t