Mglichkeiten des Konfigurationsmanagemets bei Netzwerkgerten
19.05.2016
Zentrum frInformations- undMedientechnologie
[email protected]@uni-siegen.de
19.05.2016
Klicken Sie, um die Formate des Gliederungstextes zu bearbeitenZweite GliederungsebeneDritte GliederungsebeneVierte GliederungsebeneFnfte GliederungsebeneSechste GliederungsebeneSiebente Gliederungsebene
Zentrum frInformations- undMedientechnologie
Mglichkeiten des Konfigurationsmanagements bei Netzwerkgerten
NETCONF & YANG
Bisher und seit 1974: Konfiguration mit CLI
Fr jeden der fast 20000 Ports auf ber 50 Switches
Daher: Sinnvolle Anforderungen an ein Konfigurationsmanagement
1.Lesbar, dokumentierbar und versionierbar2.Mchtig, d.h. ermglicht die Konfiguration aller Einstellungen3.Untersttzt von allen Gerten4.Erfordert wenig zustzliche Arbeit und Einarbeitungszeit5.Einheitliche Syntax fr alle Betriebssysteme6.DRY und Single Point of Management7.Kostenlos
1.Lesbar, dokumentierbar und versionierbar
2.Mchtig, d.h. ermglicht die Konfiguration aller Einstellungen
3.Untersttzt von allen Gerten
4.Erfordert wenig zustzliche Arbeit und Einarbeitungszeit
5.Einheitliche Syntax fr alle Betriebssysteme
6.DRY und Single Point of Management
7.Kostenlos
SSH und CLI
Simple Network Management Protocol
As if designed to make the Gods of Hypocrisy die of laughter, SNMP is anything but simple.(aus der NAGIOS Dokumentation)
Probleme:
Kryptische Syntax
Keine Validierung
Keine gegenseitige Authentifizierung auch mit SNMPv3(blicherweise)
Aber:
Guter Support auch bei lteren Gerten
Relativ vollstndige Menge von Mglichkeiten der Konfiguration
1.Lesbar, dokumentierbar und versionierbar
2.Mchtig, d.h. ermglicht die Konfiguration aller Einstellungen
3.Untersttzt von allen Gerten
4.Erfordert wenig zustzliche Arbeit und Einarbeitungszeit
5.Einheitliche Syntax fr alle Betriebssysteme
6.DRY und Single Point of Management
7.Kostenlos
SNMP
NETCONF & YANG
Was ist NETCONF oder YANG?
Netconf ist ein Protokoll fr das Installieren, Manipulieren und Lschen von Netzwerkgerten. [RFC 6241]
YANG ist eine Datenmodellierungssprache (data modelling language) die benutzt wird, um Konfigurations- und Statusinformationen zu modellieren, die durch Netconf, Netconf remote procedure calls und Netconf-Notifications verndert werden.
NETCONF
Features:Unterscheidet zwischen Konfiguration und momentanem Status
Unterscheidet zwischen running, startup und (optional) candidate Konfiguration
Bietet Tests, Validierung und roll-back on error
Streaming und playback von Benachrichtigungen
YANG
Features:Hierarchische (Baumartige) Datenmodelle
Wiederverwendbare Typen und Gruppen
Erweiterbarkeit durch die Mglichkeit der Anpassung existierender Objekte
Constraints fr das Validieren von Konfigurationen
Modularitt
Versionierung
Mglichkeit zur Definition von Filtern mittels XPATH
Ein kleines Beispiel:
Client:
Server:
Eine typischer NETCONF-Session:
Client teilt Fhigkeiten mit:
Server antwortet mit eigenen Fhigkeiten
Editieren der Candidate Config:
Acknowledgement des Servers:
Client sendet Commit:
Die nderung ist nun Teil der Running-Config
Untersttzung von NETCONF:HP COMWARE aber nicht Aruba OS
Viele Cisco-GerteAber teilweise nur in der Theorie(siehe Catalyst 4500)
JunOS
1.Lesbar, dokumentierbar und versionierbar
2.Mchtig, d.h. ermglicht die Konfiguration aller Einstellungen
3.Untersttzt von allen Gerten
4.Erfordert wenig zustzliche Arbeit und Einarbeitungszeit
5.Einheitliche Syntax fr alle Betriebssysteme
6.DRY und Single Point of Management
7.Kostenlos
NETCONF & YANG
Das waren die Protokolle...
nun kommen wir zu den Konfigurationsmanagementsystemen
Gehrt zu dem ltesten CMS (Initial release: 2005)
Benutzt eine Ruby DSL und eigene deklarative Sprache
Client / Server oder direkte Applikation der Konfiguration
Grundlegendes VokabularKonfigurationsanweisungen werden in sogenannten Manifesten gespeichert
Die Manifeste wiederum arbeiten mit sogenannten Resources und bestehen aus sogenannten Resource Declarations.
Kompatibilitt von Puppet:
Untersttzt Cisco IOS, NXOS, Junos
Aber begrenzte Funktionalitt, auf Junos nurPhysical interfaces
Layer 2 switch ports
VLANs
Link aggregation groups
Auf NXOS Interface, VLAN, OSPF
SNMP
TACACS
package
domain
DNS
port channels
trunk
NTP
RADIUS
syslog
VTP
BGP
VXLAN
1.Lesbar, dokumentierbar und versionierbar
2.Mchtig, d.h. ermglicht die Konfiguration aller Einstellungen
3.Untersttzt von allen Gerten
4.Erfordert wenig zustzliche Arbeit und Einarbeitungszeit
5.Einheitliche Syntax fr alle Betriebssysteme
6.DRY und Single Point of Management
7.Kostenlos
Puppet
Initial release: 15.1.2009
Basiert auf der Programmiersprache Ruby
Open-Source-Chef ist kostenlos (es gibt aber auch eine Cloud-Option namens Hosted Chef)
Cloud-Option namens Hosted Chef
Hauptschlich Client-Server, es existiert aber auch ein Tool namens Chef-Solo
Leider kein ausgereiftes PUSH
PhilosophieIdempotent
Reasonability
Sane defaults
Hackability
TMTOWTDI
Beispiel eines Rezeptes:
Aus meinem Vortrag ber Opscode Chef (Nov. 2013)
Die Situation heute
Support:
CiscoCisco Nexus 9k, 6k, 7k 31XX, 30xx Series
Cisco NX-OS Release 7.0(3)I2(1) oder hher
FeaturesInterface, OSPF, TACACS, VTP, VLAN
JuniperScheinbar nur grundlegende Features, wie VLAN, JUNOS Groups, Link Aggregation
HPIntegration mit HPE OneView
1.Lesbar, Dokumentierbar und Versionierbar
2.Mchtig, d.h. ermglicht die Konfiguration aller Einstellungen
3.Untersttzt von allen Gerten
4.Erfordert wenig zustzliche Arbeit und Einarbeitungszeit
5.Einheitliche Syntax fr alle Betriebssysteme
6.DRY und Single Point of Management
7.Kostenlos
Chef
Free Software
Uses YAML to express reusable descriptions of systems
Modules work over JSON, can be written in any programming language
Owned by Red Hat Inc.
Agentless
DesignzieleMinimal
Konsistent
Sicher
Zuverlssig (idempotent)
Flache Lernkurve
ModuleVerwalten Systemresourcen
Sind die Arbeitseinheiten in Ansible.
Jedes Modul ist standalone und kann in verschiedenen Scriptsprachen verfasst sein
Idempotent
JSON als input und JSON als output
Verwenden u.a. SSH, SNMP, NETCONF und Rauchzeichen
PlaybooksBeschreiben den zu erreichenden Zustand
Beschreiben die Konfigurationen und das Deployment
Sind im YAML-Format (YAML Ain't Markup Language)
Bespiel eines Playbooks Sammeln von Facts ber SNMP
Playbook - set interface description
Die Resource int.cfg
Playbook zum Konfigurieren des RADIUS Servers
Die zugehrige Resource radius.cfg
1.Lesbar, dokumentierbar und versionierbar
2.Mchtig, d.h. ermglicht die Konfiguration aller Einstellungen
3.Untersttzt von allen Gerten
4.Erfordert wenig zustzliche Arbeit und Einarbeitungszeit
5.Einheitliche Syntax fr alle Betriebssysteme
6.DRY und Single Point of Management
7.Kostenlos
Ansible