Netzwerkkarte umbennen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 24: Zeile 24:
 
* Hier könnte man je nach MAC-Adresse einen bestimmten Namen zuweisen
 
* Hier könnte man je nach MAC-Adresse einen bestimmten Namen zuweisen
 
* Um sicherzustellen, dass man nur nach Netzwerkkarten schaut, kann man nach dem ''Subsystem'' '''net''' matchen
 
* Um sicherzustellen, dass man nur nach Netzwerkkarten schaut, kann man nach dem ''Subsystem'' '''net''' matchen
* udevadm info --attribute-walk -p /sys/class/net/enp0s3
+
* '''udevadm info --attribute-walk -p /sys/class/net/enp0s3'''
  
 
  KERNEL=="'''enp0s3'''"
 
  KERNEL=="'''enp0s3'''"
Zeile 39: Zeile 39:
 
  ATTR{dev_id}=="0x0"
 
  ATTR{dev_id}=="0x0"
 
  ...
 
  ...
* udevadm info --attribute-walk -p /sys/class/net/enp0s8
+
* '''udevadm info --attribute-walk -p /sys/class/net/enp0s8'''
  
 
  KERNEL=="'''enp0s8'''"
 
  KERNEL=="'''enp0s8'''"
Zeile 125: Zeile 125:
 
  2 packets transmitted, 2 received, 0% packet loss, time 1002ms
 
  2 packets transmitted, 2 received, 0% packet loss, time 1002ms
 
  rtt min/avg/max/mdev = 26.201/26.403/26.605/0.202 ms
 
  rtt min/avg/max/mdev = 26.201/26.403/26.605/0.202 ms
 +
=Weiterer Dinge=
 +
zuletzt angelegte Gerätedateien finden
 +
ls -rtl /dev
 +
find /dev -ctime -30
 +
find /dev -type c -o -type b -printf '%TY%Tm%Td%TI%TM %p\n' | sort -n
 +
Dummy Netzwerkinterface dummy0 in intern0 umbenennen
 +
... mit udev.rules
 +
Dummy Netzwerkinterface erzeugen
 +
modprobe dummy numdummies=1
 +
ip link show dummy0
 +
1)
 +
 +
udev Regel erstellen
 +
Netzdevice umbenennen
 +
udevadm info  -a /sys/class/net/dummy0
 +
/etc/udev/rules.d/70-persistent-net.rules
 +
 +
ACTION=="add", SUBSYSTEM=="net", KERNEL=="dummy0", NAME="intern0"
 +
 +
Konfigurationsdatei prüfen:
 +
 +
udevadm test /sys/class/net/dummy0
 +
erstes Terminalfenster:
 +
 +
udevadm monitor
 +
zweites Terminalfenster:
 +
 +
Konfiguration neu laden:
 +
 +
udevadm control --reload-rules
 +
Modul neu laden:
 +
 +
modprobe -r dummy
 +
modprobe dummy numdummies=1
 +
ip link
 +
oder (ohne neu laden des Moduls):
 +
 +
udevadm trigger -v --action=add --attr-match=subsystem=net --attr-match=address=52:54:00:1d:c5:52
 +
... mit systemd.link
 +
/etc/systemd/network/10-dummy.link
 +
[Match]
 +
OriginalName=dummy0
 +
 +
[Link]
 +
Name=intern0
 +
Kommando bei Aktivierung eines USB-Devices ausführen
 +
/etc/udev/rules.d/75-touch-file.rules
 +
ACTION=="add", SUBSYSTEM=="usb", RUN="/bin/touch /tmp/udev-test"
 +
USB-Gerät einstecken
 +
 +
ls -l /tmp/udev-test
 +
Kommando ausführen, wenn ein USB-Stick mit einem Dateisystem mit dem LABEL=backup eingesteckt wird:
 +
 +
/etc/udev/rules.d/75-touch-file.rules
 +
ACTION=="add", SUBSYSTEM=="usb", ENV{ID_FS_LABEL}=="backup", RUN="/bin/touch /tmp/udev-test"
 +
Symlink bei Aktivierung anlegen
 +
/etc/udev/rules.d/75-show-last-usb.rules
 +
SUBSYSTEM=="usb", SYMLINK+="last-usb-device"
 +
USB-Gerät einstecken
 +
 +
ls -l /dev/last-usb-device
 +
udev events anzeigen
 +
udevadm monitor
 +
udevadm test /block/sdc/sdc1
 +
udevadm control log_priority=debug
 +
Weitere udev Kommandos
 +
Welcher sysfs Pfad zum Gerät /dev/sda ?
 +
 +
udevadm info -q path -n /dev/sda
 +
Welche Informationen zum Gerät /dev/sda ?
 +
 +
udevadm info -a -p $(udevadm info -q path -n /dev/sda)
 +
Geräte, die immer erzeugt werden sollen:
 +
 +
ls /lib/udev/devices/

Aktuelle Version vom 21. Februar 2024, 16:34 Uhr

Informationen sammeln

  • ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:e6:4f:c0 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fee6:4fc0/64 scope link 
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:22:e9:33 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.3/24 brd 192.168.56.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe22:e933/64 scope link 
       valid_lft forever preferred_lft forever
  • udev .rules Dateien arbeiten über Attribut-Matching
  • Hier könnte man je nach MAC-Adresse einen bestimmten Namen zuweisen
  • Um sicherzustellen, dass man nur nach Netzwerkkarten schaut, kann man nach dem Subsystem net matchen
  • udevadm info --attribute-walk -p /sys/class/net/enp0s3
KERNEL=="enp0s3"
SUBSYSTEM=="net"
DRIVER==""
ATTR{addr_assign_type}=="0"
ATTR{addr_len}=="6"
ATTR{address}=="08:00:27:e6:4f:c0"
ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
ATTR{carrier}=="1"
ATTR{carrier_changes}=="2"
ATTR{carrier_down_count}=="1"
ATTR{carrier_up_count}=="1"
ATTR{dev_id}=="0x0"
...
  • udevadm info --attribute-walk -p /sys/class/net/enp0s8
KERNEL=="enp0s8"
SUBSYSTEM=="net"
DRIVER==""
ATTR{addr_assign_type}=="0"
ATTR{addr_len}=="6"
ATTR{address}=="08:00:27:22:e9:33"
ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
ATTR{carrier}=="1"
ATTR{carrier_changes}=="2"
ATTR{carrier_down_count}=="1"
ATTR{carrier_up_count}=="1"
ATTR{dev_id}=="0x0"
...

.rules Datei erstellen

  • .rules Dateien werden am Anfang mit einer Priorität angegeben
  • vim /etc/udev/rules.d/70-persistent-net.rules
# interface with MAC address "08:00:27:e6:4f:c0" will be named "outbound"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="08:00:27:e6:4f:c0", NAME="outbound"

# interface with MAC address "08:00:27:22:e9:33" will be named "inbound"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="08:00:27:22:e9:33", NAME="inbound"

Netzwerkkonfiguration anpassen

  • vim /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto outbound
iface outbound inet static
 address 10.0.2.15/24
 gateway 10.0.2.2

auto inbound
iface inbound inet static
 address 192.168.56.3/24

Konfiguration anwenden

Bei einer falsch konfigurierten .rules Datei kann es zu Fehlern beim Booten kommen
  • reboot
  • ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: outbound: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:e6:4f:c0 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.0.2.15/24 brd 10.0.2.255 scope global outbound
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fee6:4fc0/64 scope link 
       valid_lft forever preferred_lft forever
3: inbound: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:22:e9:33 brd ff:ff:ff:ff:ff:ff
    altname enp0s8
    inet 192.168.56.3/24 brd 192.168.56.255 scope global inbound
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe22:e933/64 scope link 
       valid_lft forever preferred_lft forever
  • ping xinux.net
PING xinux.net (194.59.156.162) 56(84) bytes of data.
64 bytes from 194.59.156.162 (194.59.156.162): icmp_seq=1 ttl=63 time=26.2 ms
64 bytes from 194.59.156.162 (194.59.156.162): icmp_seq=2 ttl=63 time=26.6 ms
^C
--- xinux.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 26.201/26.403/26.605/0.202 ms

Weiterer Dinge

zuletzt angelegte Gerätedateien finden ls -rtl /dev find /dev -ctime -30 find /dev -type c -o -type b -printf '%TY%Tm%Td%TI%TM %p\n' | sort -n Dummy Netzwerkinterface dummy0 in intern0 umbenennen ... mit udev.rules Dummy Netzwerkinterface erzeugen modprobe dummy numdummies=1 ip link show dummy0 1)

udev Regel erstellen Netzdevice umbenennen udevadm info -a /sys/class/net/dummy0 /etc/udev/rules.d/70-persistent-net.rules … ACTION=="add", SUBSYSTEM=="net", KERNEL=="dummy0", NAME="intern0" … Konfigurationsdatei prüfen:

udevadm test /sys/class/net/dummy0 erstes Terminalfenster:

udevadm monitor zweites Terminalfenster:

Konfiguration neu laden:

udevadm control --reload-rules Modul neu laden:

modprobe -r dummy modprobe dummy numdummies=1 ip link oder (ohne neu laden des Moduls):

udevadm trigger -v --action=add --attr-match=subsystem=net --attr-match=address=52:54:00:1d:c5:52 ... mit systemd.link /etc/systemd/network/10-dummy.link [Match] OriginalName=dummy0

[Link] Name=intern0 Kommando bei Aktivierung eines USB-Devices ausführen /etc/udev/rules.d/75-touch-file.rules ACTION=="add", SUBSYSTEM=="usb", RUN="/bin/touch /tmp/udev-test" USB-Gerät einstecken

ls -l /tmp/udev-test Kommando ausführen, wenn ein USB-Stick mit einem Dateisystem mit dem LABEL=backup eingesteckt wird:

/etc/udev/rules.d/75-touch-file.rules ACTION=="add", SUBSYSTEM=="usb", ENV{ID_FS_LABEL}=="backup", RUN="/bin/touch /tmp/udev-test" Symlink bei Aktivierung anlegen /etc/udev/rules.d/75-show-last-usb.rules SUBSYSTEM=="usb", SYMLINK+="last-usb-device" USB-Gerät einstecken

ls -l /dev/last-usb-device udev events anzeigen udevadm monitor udevadm test /block/sdc/sdc1 udevadm control log_priority=debug Weitere udev Kommandos Welcher sysfs Pfad zum Gerät /dev/sda ?

udevadm info -q path -n /dev/sda Welche Informationen zum Gerät /dev/sda ?

udevadm info -a -p $(udevadm info -q path -n /dev/sda) Geräte, die immer erzeugt werden sollen:

ls /lib/udev/devices/