--- diese Seite ist noch unvollständig ---
Leider gibt es etliche Web-Seiten, welche noch veraltete net-tools Befehle nutzen - siehe linuxfoundation.org. Daher versuche ich neue iproute2 Befehle zu beschreiben und erwähne, der Vollständigkeit halber, noch die alten net-tools Befehle. Ich denke dann kann man schneller den Unterschied erkennen...
/usr/sbin/ifconfig veraltet enp37s0: flags=4163mtu 1500 inet 192.168.178.35 netmask 255.255.255.0 broadcast 192.168.178.255 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) virbr0: flags=4099 mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 wlp36s0: flags=4099 mtu 1500
Der besseren Übersicht halber habe ich die Zeilen mit "device memory, inet6, ether, RX, TX" entfernt.
Was in diesem Beispiel nicht auffällt, ifconfig
zeigt nur die aktivierten Schnittstellen.
Stattdessen wird der Befehl ip addr show
zur Anzeige der Geräte-Adresse verwendet.
ip address show Kurzform: ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 inet 127.0.0.1/8 scope host lo 2: enp37s0: mtu 1500 qdisc mq state UP group default qlen 1000 inet 192.168.178.35/24 brd 192.168.178.255 scope global dynamic noprefixroute enp37s0 3: wlp36s0: mtu 1500 qdisc mq state DOWN group default qlen 1000 4: virbr0: mtu 1500 qdisc noqueue state DOWN group default qlen 1000 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
Etwas zusammen gekürzt (IPv6, valid_lft, link/ entfernt)
kann man trotzdem noch erkennen, dass es eine Ethernet- enp37s0
, eine Loop lo
und eine Wlan-Schnittstelle wlp36s0
gibt.
Eine Bridge wie z.B. virbr0 existiert bereits.
Interessiert einem nur eine Schnittstelle kann man z.B. folgendes eingeben
ip address show dev enp37s0
.
Ursprünglich hätte ich dafür route -n
verwendet,
wobei -n für die Anzeige der numerischen Adresse, statt symbolischen Namen, steht.
/usr/sbin/route -n veraltet! Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.178.1 0.0.0.0 UG 100 0 0 enp37s0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp37s0 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 enp37s0
Ein weiterer veralteter Befehl ist brctl
su apt install bridge-utils exit /sbin/brctl show virbr0 veraltet bridge name bridge id STP enabled interfaces virbr0 8000.525400985a1d yes virbr0-nic
Ebenso kann die Routing-Tabelle auch durch ip route show
oder ip route list
dargestellt werden.
ip route show Kurzform: ip r default via 192.168.178.1 dev enp37s0 proto dhcp metric 100 169.254.0.0/16 dev enp37s0 scope link metric 1000 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 192.168.178.0/24 dev enp37s0 proto kernel scope link src 192.168.178.35 metric 100
Zur besseren Optik habe ich die Zeilen leicht verschoben...
Per DHCP bekomme ich eine Adresse zwischen 192.168.178.1 und 192.168.178.255
(augedrückt durch die /24 entsprechend Bit 8:31 = hexFFF0) oder anders dargestellt 255.255.255.0
In diesem Fall wurde vom Router 192.168.178.35 zugewiesen.
Mit statischer IP zwischen 169.254.0.0 und 169.254.255.255 darf auch an den Router ein Gerät angeschlossen werden. Das passt gut zur Dokumentation der Fritzbox wo 169.254.1.1 die Notfall-IP Adresse ist.
Dann gibt es noch ein lokales Netzwerk virbr0
welches einen eigenen IP-Breich bekommen hat.
(192.168.122.0 bis 192.168.122.255)
Interessieren einem nur die Schnittstellen-Brücken kann man z.B. folgendes eingeben
ip address show type bridge
.
Aktive Verbindungen habe ich mir wie folgt über den veralteten Befehl nmcli
angeschaut.
nmcli connection show --active veraltet NAME UUID TYPE DEVICE virbr0 f8eeaed5-eb13-482f-9963-134443c493e1 bridge virbr0 Wired connection 1 e59515c8-0b5e-4daa-8ac6-3be61ca77df8 ethernet enp37s0
Details zu einer Verknüpfung einer Netzwerkschnittstelle (hier virbr0-nic
)
kann man auch über folgenden Befehl bekommen.
ip link show virbr0-nic Kurzform: ip l s virbr0-nic 5: virbr0-nic:mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:98:5a:1d brd ff:ff:ff:ff:ff:ff
Grob kann man sagen, das Thema Netzwerk-Brücke für eine VM - virtual maschine gliedert sich in 2 Teile.
Hier wird nur der erste Teil betrachtet. Der 2. Teil ist in KVM virsh beschrieben.
Die Default-Schnittstelle ist nicht die optimalste, da Host- und Gast-System sich im Default-Fall die selbe IP-Adresse via NAT teilen. Ein paar Grundlagen dazu, sind gut unter libvirt.org VirtualNetworking beschrieben.
Besser ist es eine sogenannte Bridge einzurichten, sodass das Gast-System eine andere IP-Adresse zugewiesen bekommt. Zum Einen kann ich dann Netzwerke etablieren, welche nur innerhalb des Host-Systems laufen und zum Anderen kann ich den Zugriff Aufgrund einer anderen IP-Adresse besser im Router kontrollieren.
nmtui
, bridge-utils
.
Allerdings schreibt die linuxfoundation.org in Ihrem Wiki,
dass das Paket bridge-utils
DEPRECATED ist und stattdessen bridge
verwendet werden soll.
Verwendet wird aber in der Beschreibung brctl
(ein Teil des Paketes bridge-utils)...
Dann sichere ich die Konfiguration der Datei /etc/network/interfaces
um sie danach zu editieren.
Siehe
debian.org the virtual interface
debian.org BridgeNetworkConnections
su cd /etc/network/ cp interfaces interfaces_backup nano interfaces ... auto lo iface lo inet loopback # ist der Ursprungsteil # mit DHCP der neue Teil auto br0 # bridge startet nach dem booten autom. iface br0 inet dhcp # DHCP bridge_ports enp37s0 # verbunden mit enp37s0 # bridge_ports none # falls br0 für sich bleiben soll bridge_stp off # im Falle von mögl. Loops, aktivieren bridge_fd 0 # forward ohne Verzögerung bridge_maxwait 0 # keine Wartezeit
Die geänderte Konfiguration wird erst nach Neustart des Netzwerkes wirksam.
su systemctl restart networking führt zur Fehlermeldung Job for networking.service failed because the control process exited with error code. See "systemctl status networking.service" and "journalctl -xe" for details. systemctl status networking ● networking.service - Raise network interfaces Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2020-10-31 01:27:20 CET; 41s ago Docs: man:interfaces(5) Process: 4472 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE) Main PID: 4472 (code=exited, status=1/FAILURE) Oct 31 01:27:20 b41 dhclient[4524]: than a configuration issue please read the section on submitting Oct 31 01:27:20 b41 dhclient[4524]: bugs on either our web page at www.isc.org or in the README file Oct 31 01:27:20 b41 dhclient[4524]: before submitting a bug. These pages explain the proper Oct 31 01:27:20 b41 dhclient[4524]: process and the information we find helpful for debugging. Oct 31 01:27:20 b41 dhclient[4524]: Oct 31 01:27:20 b41 dhclient[4524]: exiting. Oct 31 01:27:20 b41 ifup[4472]: ifup: failed to bring up br0 Oct 31 01:27:20 b41 systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE Oct 31 01:27:20 b41 systemd[1]: networking.service: Failed with result 'exit-code'. Oct 31 01:27:20 b41 systemd[1]: Failed to start Raise network interfaces. journalctl -xePrerequisites: You need kvm up and running If you don't want to run as root, then the user needs to have rw access to /dev/kvm The following commands must be installed on the host system and executed as root: ip tunctl (deprecated). Use ip tuntap and ip link instead Solution: You need to create a bridge, e-g: ip link add br0 type bridge ; ifconfig br0 up # brctl addbr br0 (deprecated) https://www.linux-kvm.org/page/Networking Verweist auf https://www.isc.org/ virsh net-destroy br0 Network br0 destroyed virsh net-undefine br0 Network br0 has been undefined
Aufgrund der Menge habe ich es so weit es geht alphabetisch sortiert um Dupletten zu vermeiden.
cyberciti.biz how-to-install-kvm-on-ubuntu-20-04-lts-headless-server
Bridge mit nmcli erzeugen; VM erzeugen mit virt-install; Display via virsh vncdisplay;
VM erzeugen mit virt-builder; etc.
cyberciti.biz How to setup Bridge br0 on Ubuntu/
mit bridge-utils; systemctl restart networking
cyberciti.biz How to configure network interfaces as a Bridge
mit bridge-utils (); /etc/network/interfaces; service networking stop; service networking start;
verify with ip addr show; brctl show
datacenter-insider.de
virsh Verwaltung der KVM (2015)
Win-7 Installation über virsh (veraltet, virsh Dialog funktioniert nicht mehr bei DEB 10),
virt-install, virsh Kommandos; virsh migrate
debian.org the_virtual_interface
debian.org manpage virtinst, mit allen erdenklichen Optionen ;-)
dedoimedo.com How to setup bridged networking in KVM (2011)
creating bridge via brctl, virt-manager, some dirty bridging hacks,
digitalocean.com how to use systemctl (2015)
Systemd versus SysV; Services: start, stop, re-start, re-load, enable, disable, status, unmask, etc.
funtoo.org
libvirt (Anleitung für DEB nicht so geeignet)
via NAT, spice, Virt-Manager, BIOS-Versionen, XML editing to return unused space
funtoo.org Windows_10_Virtualization_with_KVM
Win mit VirtIO-Treiber; script to install Win; using spicy
golinuxcloud.com
virt-install examples; KVM virtualisation commands cheatsheet
virt-install, virt-viewer, tigervnc
golinuxcloud.com
how to configure network bridge via nmtui on CentOS
nmtui, /etc/sysconfig/network-... existiert nicht unter DEB,
golinuxcloud.com nmcli-command-examples-cheatsheet-centos-rhel
libvirt.org Domain XML format
Ein paar Netzwerk-Grundlagen (NAT, routed, isolated) und Konfiguration mit virt-manager,
Netzwerksteuerung mit virsh.
linuxhint.com debian_/etc/network/interfaces
/etc/network/interfaces; DHCP or static address, two interfaces, network bonding, logging
linuxhint.com debian_/etc/network/interfaces
gateways, masquerading, network bonding, etc.
linux-kvm.org Ubuntu Networking
bridge-utils;
linuxtechi.com install-kvm-hypervisor-on-centos-7-and-rhel-7
bridge interface, virt-manager, virt-install
ostechnix.com manage-kvm-virtual-machines-with-virsh-program
virsh: help, list, save, restore, destroy, shutdown, dumpxml, create, edit, undefine, net- commands
raymii.org install online Distro with virt-install
fallocate, div. Beispiele virt-install, osinfo-query os, etc.
tecmint.com How to manage KVM via command line tools (2015)
virsh create storage pool, virt-install
tecmint.com 11 best tools to access remote linux desktop (2019)
TigerVNC, RealVNC, TeamViewer, Remmina, NoMachine, Apache Guacamole, XRDP, FreeNX, X2Go, Xpra
tecmint.com
install-and-configure-kvm-in-linux
techotopia.com
Installing a KVM Guest-OS from the Command-line (virt-install)
virt-install Parameter-Tabelle & ein Beispiel (ein bischen wenig...)
thomas-krenn.com
virsh Werkzeug zur Verwaltung virtueller Maschinen
Grundlagen, Virsh-Parameter-Tabelle; virsh: VM starten, entfernen, etc.; XML von VM editieren - mehr nicht...
ubuntu.com KVM Networking
NAT & bridged; via bridge-utils & anderen Methoden; Private Virtual Switch; boot over network
ubuntuusers.de virsh
virt-install; virsh: start, shutdown via ACPI -> acpid für den Gast, console (Debugging), virt-top
Zum Anfang