RESTCONF-Befehle zeigen, wie Administratoren Netzwerkgeräte über die HTTP-basierte RESTCONF-Schnittstelle ansprechen. RESTCONF macht die YANG-Datenmodelle als REST-API erreichbar: Jeder Konfigurationsknoten ist eine Ressource mit URI, Änderungen laufen mit den üblichen HTTP-Methoden. Standard-Werkzeug ist curl, es funktionieren aber auch requests (Python), Postman und CI/CD-Pipelines.
Lesen mit GET
Die Basis-URL lautet https://<host>/restconf. Authentifiziert wird per HTTP-Basic; als Medientyp wählt man JSON oder XML über den Accept-Header:
curl -u admin:secret -H 'Accept: application/yang-data+json'
https://switch.example.com/restconf/data/interfaces/interface=GigabitEthernet1
Ändern mit PATCH und POST
Zum Ändern schickt man die neuen Werte als JSON im Request-Body:
curl -X PATCH -u admin:secret
-H 'Content-Type: application/yang-data+json'
-d '{"interface": {"description": "uplink-berlin"}}'
https://switch.example.com/restconf/data/interfaces/interface=GigabitEthernet1
Mit POST legt man Ressourcen an, mit PUT ersetzt man sie vollständig und mit DELETE löscht man sie. Auf Cisco-Geräten (IOS-XE) hängen die herstellerspezifischen Modelle unter Pfaden wie /restconf/data/Cisco-IOS-XE-native:native/.
RESTCONF ist bewusst schlank und zustandslos — für transaktionales Arbeiten mit candidate und commit bleibt NETCONF-Befehle die Alternative, für gestreamte Echtzeitdaten gNMI-Befehle.
NETCONF-Befehle fassen die Werkzeuge zusammen, mit denen Administratoren Netzwerkgeräte per NETCONF konfigurieren. NETCONF selbst ist das Konfigurationsprotokoll über SSH (Port 830), das seine Daten als XML-RPCs austauscht. Statt zeilenbasierter Cisco-/Juniper-Kommandos arbeiten die Befehle gegen strukturierte YANG-Datenmodelle.
netconf-console
Das Python-Paket netconf-console (Nachfolger netconf-console2) ist der Standard-Client für die Kommandozeile. Einzelne RPCs übergibt man direkt als Argument:
pip install netconf-console2
netconf-console2 --host=switch.example.com -u admin -p 'secret' --port 830 get-config
netconf-console2 --host=switch.example.com -u admin -p 'secret' edit-config fragment.xml --db candidate
Mit der Option -i startet der Client einen interaktiven Konsolen-Modus. Dort stehen die NETCONF-Operationen als Kommandos bereit: get-config, edit-config, lock, unlock, commit und rpc für beliebige eigene Aufrufe. Die Konfiguration läuft typischerweise über die candidate-Datastore, wird validiert und per commit aktiv.
Python mit ncclient
Für Skripte ist die Bibliothek ncclient der Standard. Sie öffnet eine NETCONF-Session und kapselt die RPCs als Methoden:
from ncclient import manager
m = manager.connect(host='switch.example.com', port=830,
username='admin', password='secret', hostkey_verify=False)
print(m.get_config(source='running'))
m.edit_config(target='candidate', config=open('change.xml').read())
m.commit()
Ansible-Module wie netconf_config und netconf_get nutzen dieselbe Bibliothek, und das Browser-Tool yang-explorer erlaubt das Ausprobieren gegen Test-Server.
Wer Konfiguration lieber über HTTP spricht, nutzt RESTCONF-Befehle; wer Echtzeit-Daten streamen will, gNMI-Befehle.
Verwandte Grundlagen: NETCONF, YANG, RESTCONF, Automatisierung.
NFS-Befehle decken die Kommandozeilen-Seite des Network File System ab: Freigaben auf dem Server exportieren, auf dem Client einhängen und Verbindungen diagnostizieren. NFS ist der Standard für Dateifreigaben zwischen Linux- und Unix-Systemen und läuft auch auf vielen NAS-Geräten.
Server: Freigaben exportieren
Die Exportliste steht in /etc/exports; jede Zeile nennt Verzeichnis, erlaubte Clients und Optionen:
/srv/nfs 192.168.1.0/24(rw,sync,no_subtree_check)
Nach Änderungen wird die Liste neu eingelesen:
sudo exportfs -ra # alle Exporte neu laden
exportfs -v # aktive Exporte mit Optionen anzeigen
sudo exportfs -u /srv/nfs # Export zurückziehen
sudo systemctl enable --now nfs-server
Der nfs-server-Dienst (auf Debian/Ubuntu nfs-kernel-server) stellt die Exporte über NFSv3 und NFSv4 bereit.
Client: Freigaben einhängen
Ein Client mountet eine Freigabe mit mount -t nfs; moderne Systeme verwenden dabei automatisch NFSv4:
sudo mount -t nfs server:/srv/nfs /mnt/nfs
sudo mount -t nfs -o nfsvers=4 server:/export /mnt # explizit NFSv4
# Dauerhaft in /etc/fstab:
# server:/srv/nfs /mnt/nfs nfs defaults,noatime 0 0
Diagnose
Bewährte Prüfbefehle für Verbindung und Statistik:
showmount -e server # welche Exporte bietet der Server an?
rpcinfo -p server # registrierte RPC-Dienste (nfs, mountd)
nfsstat -m # aktuell eingehängte NFS-Mounts
nfsstat -c # Client-Statistik (RPC-Zähler)
cat /proc/self/mountstats
Für Block-Speicher über Glasfaser kommen FC-Befehle zum Einsatz, Windows-Freigaben verwaltet man mit SMB-Befehlen.
Verwandte Grundlagen: NFS, NAS, Dateisysteme.
SMB-Befehle umfassen die Werkzeuge, mit denen Linux-Rechner SMB-Freigaben nutzen und ein Samba-Server verwaltet wird. SMB ist das Windows-Dateifreigabe-Protokoll; die Linux-Seite stellt hauptsächlich smbclient, den CIFS-Mount und smbstatus bereit. Der alte Name CIFS steckt noch im Mount-Befehl.
Client: Freigaben auflisten und nutzen
smbclient arbeitet wie ein FTP-Client und kann auch Freigaben auflisten:
smbclient -L //server -U benutzer # alle Freigaben des Servers zeigen
smbclient //server/freigabe -U benutzer # interaktive Sitzung
smbclient //server/freigabe -U benutzer -c "get datei.txt; put backup.zip"
smbclient -m SMB3 //server/freigabe -U benutzer # Protokollversion erzwingen
Client: Freigabe einhängen
Für den Mount als Verzeichnis dient mount -t cifs (Paket cifs-utils):
sudo mount -t cifs //server/freigabe /mnt/smb -o username=benutzer,vers=3.0
# Passwort getrennt halten, z.B. credentials=/etc/smbcreds (chmod 600)
# Dauerhaft in /etc/fstab:
# //server/freigabe /mnt/smb cifs credentials=/etc/smbcreds,vers=3.0,uid=1000 0 0
Da SMB1 als unsicher gilt, wird beim Mounten mit vers=3.0 oder höher verhandelt; moderne Samba-Server beherrschen SMB3.1.1.
Server: Samba verwalten
Auf der Server-Seite helfen diese Befehle:
sudo smbstatus # verbundene Clients und offene Dateien
sudo smbpasswd -a benutzer # SMB-Passwort für einen Benutzer setzen
testparm # smb.conf auf Syntaxfehler prüfen
nmblookup server # NetBIOS-Namensauflösung testen
Reine Linux-Umgebungen setzen für Dateifreigaben oft auf NFS (NFS-Befehle); Block-Speicher über Glasfaser verwaltet man mit FC-Befehlen.
FC-Befehle fassen die wichtigsten Kommandozeilen-Werkzeuge zusammen, mit denen Administratoren Fibre-Channel-Verbindungen prüfen: auf der Linux-Seite die HBA- und SCSI-Tools, auf der Switch-Seite die Diagnosebefehle der Fabrik. Fibre Channel selbst ist das Storage-Netz für Hochleistungs-SANs.
Linux: HBAs und LUNs anzeigen
Der FC-Treiber (etwa qla2xxx oder lpfc) legt je Host-Bus-Adapter ein Verzeichnis unter /sys/class/fc_host/ an. Die wichtigsten Befehle:
lsscsi # SCSI-/FC-Geräte inkl. LUNs auflisten
lsscsi -H # Host-Adapter (Host-Nummern) zeigen
systool -fc_host -v # Details aller FC-Ports (sysfsutils)
cat /sys/class/fc_host/host0/port_name # WWPN des Ports
cat /sys/class/fc_host/host0/speed # aktuelle Link-Geschwindigkeit
port_name liefert den World Wide Port Name (WWPN), mit dem der HBA im Fabric angemeldet ist; node_name den WWNN des Geräts. Für die Erkennung neu zugewiesener LUNs wird der Host gescannt:
echo "- - -" > /sys/class/scsi_host/host0/scan
Erreichbarkeit und Switch-Diagnose
fcping sendet ein FC-LS-2-ECHO (Extended Link Service) an einen Zielport und prüft damit, ob der Port im Fabric erreichbar ist — ähnlich dem ICMP-Ping im LAN, aber auf FC-Ebene. Es eignet sich auch, um Zoning-Fehler einzugrenzen.
fcping -c 5 0x21000024ff3a1b2c # 5 ECHOs an eine Port-ID
Für Zoning- und Fabric-Fragen ist die Switch-Kommandozeile zuständig: Bei Brocade-Fabric-OS liefern switchshow, fabricshow und portshow <Port> den Überblick, bei Cisco-MDS-Switches show flogi database und show fcns database. Herstellerspezifische HBA-Tools wie Emulex hbacmd oder QLogic QConvergeConsole ergänzen die Linux-Bordmittel.
Neben FC-Block-Speichern gibt es dateibasierte Zugriffe: Freigaben über das Netzwerk verwalten Administratoren mit NFS-Befehlen, Windows-Freigaben mit SMB-Befehlen.
Verwandte Grundlagen: Fibre Channel, iSCSI, FCoE.