Konfigurationsmanagement bei Netzwerkhardware - Eine Evaluation

download Konfigurationsmanagement bei Netzwerkhardware - Eine Evaluation

If you can't read please download the document

Transcript of Konfigurationsmanagement bei Netzwerkhardware - Eine Evaluation

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

[email protected]

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