Beiträge

Was ist Linux Mint?

Linux Mint ist der Name einer Linux-Distribution, die es in zwei unterschiedlichen Ausgaben gibt. Die Hauptausgabe basiert auf Ubuntu und ist in zwei verschiedenen Versionen erhältlich. Eine zweite Ausgabe, die den Titel Linux Mint Debian Edition (LMDE) trägt, beruht auf der gleichnamigen Linux-Variante. Beide Ausgaben entwickelte Clément Lefèbvre, der sich als Maintainer verantwortlich zeichnet. Wir stellen Ihnen die Entwicklung und das Konzept der Linux Distrubution vor. Dabei gehen wir für Sie auf die Stärken und Schwächen von Linux Mint ein.

Entstehungsgeschichte von Linux Mint

Die Distribution gibt es 2006, als sie aus der Ubuntu-Variante entstand, um beliebte und freie Software besser zu integrieren. Daher bestand Linux Mint von Anfang an nicht nur aus quelloffenen und freien Anwendungen, sondern auch aus nicht-freien Programmen wie beispielsweise Adobe Flash. Außerdem integrierten die Verantwortlichen eine große Anzahl von Multimedia-Codecs in ihre Distribution, so dass zum Beispiel eine Unterstützung für H.264-Videos gegeben ist. Weil sich dieser Ansatz von anderen Distributionen wie Ubuntu unterschied, war Linux Mint sehr erfolgreich.

Ab 2014 entschieden die Entwickler, sich noch stärker auf die Stabilität ihres Betriebssystems zu fokussieren. Daher bestehen die aktuellen Ausgaben der Linux Distribution auf den aktuellen Ubuntu Long Term Support (LTS) Codes. Für die Debian Variante nutzen die Verantwortlichen die Debian Stable Codebasis. Auf diese Weise möchten die Entwickler von Linux Mint eine hohe Stabilität ihres Betriebssystems garantieren.

Zugleich versprachen die Macher, die wesentlichen Desktop-Programme regelmäßig zu aktualisieren. Daher erschien Ende 2014 Linux Mint 17.1, die neue Versionen der wichtigsten Anwendungen brachte. Mittlerweile ist die Distribution bereits in der Version 19.1 erhältlich. Zukünftig dürfte sich der Umfang des Betriebssystems in Form von neuen Varianten der wichtigsten Programme und Codecs stetig erweitern. Doch bereits in der Gegenwart punktet Linux Mint durch größere Programmvielfalt, was sich im Büro und in der Freizeit bemerkbar macht.

Der Umfang

Für ihre Distribution setzen die Verantwortlichen auf eigene Desktop-Konzepte wie Cinnamon. Durch eigenen Desktop-Umgebungen soll sich die Benutzungsfreundlichkeit deutlich erhöhen. Cinnamon basiert auf Gnome und MATE, an deren Entwicklung die Macher von Linux Mint beteiligt waren. Ihr Betriebssystem ist eine der wenigen Linux-Varianten, die über eine eigene Desktop-Umgebung verfügt. Dadurch unterscheidet sich die Distribution recht deutlich von anderen Ausführungen.

Linux Mint gibt es sowohl in der Hauptausgabe als auch in der LMDE in zwei Versionen. Nutzer können entweder die 32-Bit- oder die 64-Bit-Variante verwenden. Die Installation ist über DVD-Pakete möglich, die jeweils vorkonfigurierte Desktop-Umgebungen beinhalten. Andere Desktop-Varianten lassen sich mittels der Paketverwaltung auch im Nachhinein installieren. Dann entfällt allerdings die wichtige Vorkonfiguration, die eigentlich eine der Stärken von Linux Mint darstellt.

Im Gegensatz zu anderen Linux Distrubitionen wie Ubuntu oder Debian enthält die Mint-Variante von Anfang an die wichtigsten Codecs zur Wiedergabe von DVDs, MP3-Dateien oder DivX-Videos. Plugins für Adobe Flash oder Java sind in den Installationspaketen enthalten. Wichtige Bestandteile der Installationspakete, die in Form von ISO-Dateien erhältlich sind, sind die Desktop-Umgebung sowie die MintTools, die unter anderem das an Windows-Betriebssysteme erinnernde MintMenu enthalten.

Außerdem punktet Linux Minut durch eine große Software-Auswahl. So können Sie die LibreOffice Programme nutzen, um Texte zu schreiben oder Tabellen zu erstellen. Zum Surfen bietet sich der Webbrowser Firefox an, der ebenfalls ein Bestandteil von Linux Mint ist. Die Bearbeitung von Grafiken ist mit der leistungsstarken Software GIMP möglich. Mit der integrierten Rythmbox können Sie unterdessen Audio-Tracks und MP3-Dateien abspielen. Der Video Player übernimmt derweil die Wiedergabe von Videos. Ein PDF-Viewer ist ebenfalls an Bord. Hilfreich sind zudem kleine Tools wie das Notizprogramm oder ein Taschenrechner.

Die Software testen

Nutzer können sich vor einer echten Linux-Installation für einen Test des Betriebssystems entscheiden. Schließlich lässt sich Linux Mint nicht nur auf einer Festplatte installieren, sondern auch als Live-System von einen USB-Stick starten. Zu diesem Zweck besuchen Sie einfach die Website des Anbieters, wo Sie sich für eine Linux Mint Version entscheiden. Nach dem Download der jeweiligen ISO-Datei müssen Sie die Daten so auf einen USB-Stick kopieren, dass ein Bootvorgang möglich ist.

Die Verantwortlichen von Linux Mint empfehlen zu diesem Zweck das Tool balenaEtcher, das für alle gängigen Betriebssysteme erhältlich ist. Wenn die ISO-Datei mit dem Tool auf den Stick kopiert wurde, lässt sich das Betriebssystem von solch einem Datenträger booten. So können Sie die Linux-Distribution in aller Ruhe ausprobieren, bevor Sie sich für oder gegen eine richtige Installation auf einer integrierten Festplatte entscheiden. Dabei testen Sie unter anderem den Desktop, der eine der Stärken von Linux Mint ist.

Mint Desktop im Kurzüberblick

Auf den ersten Blick unterscheidet sich der Startbildschirm von Linux Mint kaum von gängigen Windows-Varianten. Mit einem Klick auf den Startbutton, der sich ganz links in der Leiste befindet, starten Nutzer das Menü. Sämtliche Funktionen erinnern an das Startmenü von Windows, allerdings ist die Anordnung anders. Links oben befinden sich die Favoriten, wozu die Software-Verwaltung und die Systemeinstellungen gehören.

Natürlich lassen sich weitere Programme als Favoriten hinzufügen. Über das Startmenü erreichen Sie ansonsten wichtige Schaltflächen zum Sperren, Abmelden und Herunterfahren. Die Software-Rubriken und die installierten Anwendungen finden sich ebenfalls im Startmenü von Linux Mint.

 

Bei Linux handelt es sich um ein Open-Source-Betriebssystem, das in einer Vielzahl unterschiedlicher Distributionen erhältlich ist und in Zusammenarbeit von Entwicklern aus der ganzen Welt programmiert wird. Das Betriebssystem verbreitet sich durch eine freie Lizenz bereits seit dem Jahr 1992. Obwohl die Bedienung von Linux und seine breite Funktionsvielfalt auf den ersten Blick äußerst kompliziert wirken, bietet das offene Betriebssystem dennoch eine zuverlässige und bequeme Plattform für all Ihre Anwendungen, sobald Sie sich mit dem Linux-OS besser vertraut gemacht haben.

Was ist Linux?

Das unter der GPL-Lizenz (General Public License) lizensierte Betriebssystem wurde im Jahr 1991 von dem damals 21-jährigen Informatikstudenten Linus Torvalds entwickelt. Das Betriebssystem wurde ursprünglich als ein Uni-Projekt gestartet, wuchs aber binnen kürzester Zeit zu einem vollwertigen Betriebssystem heran. Die erste Version des Betriebssystems veröffentlichte Torvalds im September 1991 im Usenet. Im Laufe der Jahre hat sich eine gigantische internationale Entwicklergemeinde rund um das Linux-OS aus Unternehmen, Organisationen und Einzelpersonen gebildet, deren Zahl stetig wächst. Der Erfinder Linus Torvalds ist heute noch der hauptverantwortliche Entwickler des Kernels.

Streng genommen handelt es sich bei dem von Torvalds entwickelten Linux nur um den Systemkern, den sogenannten Kernel. Das Kernel ist das Grundprogramm einer jeder Linux-Distribution. Dieses Kernprogramm ist dafür zuständig, um zwischen der Hardware und Software eines Computers zu vermitteln. Wenn man den Kernel mit einer grafischen Benutzeroberfläche und weiterer Software versieht, entsteht eine Distribution. Der Kernel arbeitet im Hintergrund einer Linux-Distribution und ist dafür verantwortlich, dass die einzelnen Bestandteile des Betriebssystems miteinander harmonieren. Auch Hardware und Software müssen reibungslos funktionieren.

Linux Geschichte

Wie entstand Linux?

Den Namen Linux nutzte man anfänglich ausschließlich für das von ihm entwickelte Kernel. Sein Kernel wurde anfänglich in Kombination mit dem unixorientierten System Minix verwendet. Linus und die anderen Entwickler lizenzierten im Jahr 1992 Linux unter der GNU (General Public License), sodass sie den Kernel in die GNU integrieren konnten. Diese Version entwickelte sich schnell zu der meist genutzten Variante, da zu dieser Zeit kein anderer funktionsfähiger freier Kernel zur Verfügung stand. Als Linus und seine Kollegen später das gesamte Betriebssystem als Linux bezeichneten, versuchte Richard Stallmann, der Gründer des GNU-Projekts, die Bezeichnung GNU/Linux durchzusetzen, was jedoch von den meisten Entwicklern und Distributoren abgelehnt wurde.

Unterschiedliche Distributionen

Da der Kernel alleine nicht funktionsfähig ist, muss man ihn mit sogenannter Hilfssoftware versehen, wie zum Beispiel den GNU Core Utilities und vielen weiteren Anwendungsprogrammen. Ein solches Paket, das aus dem Kernel und Anwendungssoftware besteht, nennt man Distribution. Dabei handelt es sich um eine Zusammenstellung verschiedener Software, die je nach vorgesehenem Einsatzgebiet sehr unterschiedlich ausfallen kann. Die so zusammengesetzten Distributionen können sich teilweise stark voneinander unterscheiden. Der Entwickler einer solchen Distribution heißt Distributor.
Die Notwendigkeit der Distributionen lässt sich in erster Linie durch das Entwicklungsmodell von Linux begünstigen.

Die ersten Distributionen waren:

MCC Interim
Softlanding Linux System (SLS)
Yggdrasil

Die älteste Distribution, die heute noch weiterentwickelt wird, ist Slackware von Patrick Volkerding.
Mit der rasanten Ausbreitung der Distributionen bekamen mehr Nutzer die Möglichkeit, das quelloffene Betriebssystem zu testen. Hinter den in erster Linie kleineren Distributionen, die man heutzutage über das Internet koordiniert, stehen Projekte Freiwilliger. Die größeren Distributionen werden von Stiftungen und Unternehmen entwickelt und verbreitet. Auch die Einsatzmöglichkeiten der einzelnen Distributionen weichen stark voneinander ab, sodass von Systemen für Desktop-PCs, Server-Installationen und Live-DVDs mittlerweile alles vertreten ist.

Die Vor- und Nachteile im Überblick

Vorteile und Nachteile von Linux

Welche Vorteile hat Linux?

Das quelloffene Betriebssystem gilt als besonders sicher und performant. Einer der größten Vorteile spiegelt sich in der Tatsache wider, dass für Linux beinahe keine Schadsoftware existiert. Dank der Open-Source-Lizenz (GPL) sind der Kernel und die meisten anderen Module quelloffen. Die GPL-Lizenz ermöglicht Entwicklern und Nutzern, den Quellcode beliebig zu verändern und zu verbreiten. Da Linux quelloffen und modular aufgebaut ist, kann es schnell und unkompliziert auf andere Plattformen portiert und für andere Einsatzmöglichkeiten angepasst werden. Dadurch ist das gesamte System in hohem Maße skalierbar, sodass es sich auf allen Arten von Computersystemen problemlos einsetzen lässt, wie beispielsweise mobile Geräte, Server, Supercomputer oder PCs.

Als nachteilig kann man die Tatsache betrachteten, dass eine Vielzahl an Anwendungsprogrammen, Geräten und Spielen offiziell nicht unterstützt werden. Während Endanwender das Betriebssystem vollständig über die grafische Benutzeroberfläche steuern können, erwartet man von Administratoren einen guten Umgang mit der Kommandozeile.

Lizenz Linux

Wie erhält man eine Lizenz?

Red Hat, Ubuntu und SUSE

Da Linux quelloffen ist, haben sich im Laufe der Zeit viele unterschiedliche Distributionen etabliert. Zu den meistgenutzten Distributionen gehören:
– Red Hat
– Ubuntu
– SUSE

Ubuntu ist nach Windows und macOS das beliebteste Betriebssystem für Desktop- und Laptop-PCs. Die Ubuntu-Distribution wird von der Firma Canonical entwickelt und ist kostenlos erhältlich. Die beiden Firmen Red Hat und SUSE haben sowohl kostenlose als auch kostenpflichtige Distributionen im Angebot. Red Hat ist aktuell der weltweite Marktführer im Bereich der Server- und Workstation-Lösungen, während SUSE insbesondere in Deutschland sehr beliebt ist. Lesen Sie hier mehr über SUSE.

Linux auf Desktop-Systemen

Obwohl das quelloffene Betriebssystem eine Vielzahl unterschiedlicher Einsatzbereiche abdeckt, kommt das System in erster Linie auf Desktop- und Laptop-PCs als Alternative zu Windows zum Einsatz. Eine Distribution lässt sich sowohl als das primäre Betriebssystem betreiben, als auch im Rahmen eines Multi-Boot-Systems nutzen. Nutzer können beispielsweise neben Windows oder macOS auch Linux parallel installieren und betreiben. Aktuelle Distributionen, wie beispielsweise Red Hat oder Ubuntu, führen den Nutzer durch den Installationsprozess und erkennen vorhandene Betriebssysteme automatisch. So sollten auch unerfahrene Nutzer mit der Installation des Systems keine Probleme haben.

Nutzern steht eine Vielzahl kostenloser Anwendungen zu Verfügung, die sie sich individuell nach persönlichen Anforderungen auswählen können. Mit Anwendungen für Textverarbeitung, Tabellenkalkulation und Multimedia sowie Programmen für die wissenschaftliche Anwendungen sind die meisten Anwendungsbereiche abgedeckt, die im Büro- und Privatalltag wichtig sind.

Asterisk: Was verbirgt sich dahinter?

Asterisk: Funktionsweise und Stellenwert

Die opensourcebasierte Telefonanlage Asterisk ist auf Linux ausgelegt. Sie arbeitet mit den meisten Linux-Distributionen zusammen und gilt daher als die Linux Telefonanlage. Asterisk zeichnet sich durch hohe Funktionsvielfalt und hohe Anpassungsfähigkeit aus. Dank der Unterstützung vieler Protokolle können Sie selbst neue Module für Asterisk entwickeln und die Anlage an aktuelle und zukünftige Anforderungen anpassen.

Überblick und Allgemeines

Die Entwicklung der Linux-basierten TK-Anlage Asterisk lässt sich bis zum Jahr 1999 zurückverfolgen. Der Computer-Ingenieur Mark Spencer gründete das Unternehmen digium und entwarf Asterisk als Opensource Telefonanlage. Kennzeichnend für Asterisk ist der enorme Funktionsumfang. Die Telefon-Lösung gilt als zukunftssicher, da sich auf ihrer Basis nahezu sämtliche Telefoninfrastrukturen aufbauen lassen. So lässt sich die Telefonanlage etwa in ihrem eigenen Rechenzentrum installieren. Weiterhin gleicht die Anlage einer Art Modul-Baukasten, auf dessen Basis weitere Entwicklungen möglich sind. Asterisk beherrscht die meisten gängigen Protokolle, darunter SIP, IAX2, GSM sowie ISDN. Die Unterstützung der zahlreichen Protokolle macht die Software besonders flexibel.

Aufbau und Module

Asterisk zeichnet sich durch einen modularen Aufbau aus. Wichtig sind hierbei die vier Hauptmodule. Dazu gehört das PBX Switching Modul oder Switching Core. Dieses regelt sämtliche eingehenden sowie ausgehenden Anrufe. Weiterhin eignet sich dieses Modul für die Umsetzung verschiedener technologischer Lösungen zwischen Voice-over-IP (VoIP) und Hardware. Bei eingehenden und angenommenen Anrufe kommt es zur Weiterleitung an das Modul Application Manager. Dieses Modul leitet weitere Aktionen ein, darunter etwa das Rufsignal bei sämtlichen angeschlossenen Telefonen. Auch die Weiterleitungsfunktion geht von diesem Modul aus.

Überdies gibt es die Module Schedule und I/O-Manager. Diese haben die Aufgabe, verschiedene Applikationen sowie Sprachkanäle zu verwalten. Dazu gehören auch VoIP-Kanäle.

Funktionen und Standards

Als leistungsstarke Telefonanlage bietet Asterisk durch zahlreiche Funktionen eine Grundlage für Telefonie sowie für das Unified Messaging. Des Weiteren dient die Anlage als Basis für Drittsysteme. Neben den regulären Sprachdiensten stellt Asterisk auch einen Anrufbeantworter sowie Voice-Mail zur Verfügung. Darüber hinaus sind mit diesem System Telefonkonferenzen möglich. Routing- und Callcenter-Funktionalität sind ebenso gegeben. Asterisk unterstützt Sprachdialoge (IVR) über das Mehrfrequenzwahlverfahren (DTMF). Ebenso beherrscht die Software Funktionen wie Warteschlangen und Gesprächsaufzeichnungen. Auch können Sie mit dieser Telefon-Lösung Blacklists anliegen. Zusammenfassend ermöglicht Asterisk mindestens den Funktionsumfang, der auch bei analogen Telefonanlagen zu finden ist. Über die bekannten Funktionen einer Telefonanlage hinaus hält Asterisk auch Funktionen wie Computer Telephony Integration, VoiceMail und FollowMe bereit.

Asterisk unterstützt zahlreiche Protokolle, Codecs und Zeitmultiplextechniken. Zu den letzteren gehören T1/E1, ISDN, analoge Telefonie sowie die Dienste des öffentlichen Telefonnetzes (PSTN). Die unterstützten Protokolle umfassen unter anderem SIP, H.323, MGCP, SCCP und IAX und asteriskgängige Codecs wie iLBC, GSM, Speex, G.711, G.723, G. 726 und G.729. Mit den mehreren integrierten VoIP-Standards ist eine hohe Kompatibilität mit anderen Geräten möglich. Es lässt sich eine große Anzahl verschiedener Systeme mit der VoIP auf Asterisk-Basis betreiben.

Die verschiedenen Versionen

Die verschiedenen Asterisk-Versionen lassen sich hinsichtlich ihres Supports unterscheiden. Der Anbieter stellt Versionen mit Long-Term-Support (LTS) sowie solche mit Standard-Support-Möglichkeiten bei AsteriskSupport zur Verfügung. Die Standard-Versionen haben eine kürzere Unterstützungsphase als die LTS-Varianten. In der Praxis bedeutet dies, dass der Anbieter ein Jahr lang Bugfixes anbietet. Ein weiteres Jahr lang erhalten diese Versionen Sicherheitsupdates. Long-Term-Support-Versionen umfassen die Varianten Asterisk Communications Framework sowie die Cerrified Asterisk Version. Zum Standard-Support gehört die Variante AsteriskNOW Software. Diese stellt eine gebrauchsfertige Distribution dar. Sie ist bereits fertig installiert und als ISO-Image verfügbar. Diese Version zeichnet sich durch eine einfache Installation und Handhabung aus. Sie verfügt über eine Weboberfläche, über die Konfigurationen möglich sind.

Mit dem Asterisk Communication Framework haben Sie eine Version, die über die neuesten Entwicklungen des Anbieters verfügt. Diese Version ist stets up to date und lässt sich ohne Lizenzkosten verwenden. Die Variante Certified Asterisk ist besonders auf Stabilität ausgelegt. Sie erhalten für diese Variante direkten, unmittelbaren Long-Term-Support. In dieser Version sind ausschließlich hinreichend getestete Funktionen enthalten. Sie gilt als beste Lösung für den Unternehmenseinsatz.

Anwendungsgebiete und Einsatzszenarien

Heute erfreut sich Asterisk einer vielseitigen Anwendung in verschiedenartigen Unternehmensabteilungen und -bereichen. Der Einsatzbereich reicht von der Realisation kleinerer VoIP-Systemen in Büros über das Callcenter bis hin zu größeren Unternehmen, die an mehreren Standorten präsent sind.

Asterisk eignet sich auch zur Umsetzung einer PBX-Anlage (Private Branch Exchange). Es handelt sich um private, lokale Telefonnetze innerhalb Unternehmen oder Organisationen. Der Begriff findet häufig eine synonyme Verwendung für lokale TK-Anlagen. Solche Systeme haben den Vorteil des direkten Gesprächsaufbaus bei internen Telefongesprächen. Für den Besitzer der Anlage sind diese Gespräche ohne weitere Kosten möglich. Hierbei bleiben externe Leitungen unbeeinträchtigt.

Asterisk: Stärken und Schwächen

Büro mit TK-AnlageZusammenfassend liegen die großen Vorteile der Telefonanlage in ihrem großen Funktionsumfang sowie in ihrer Flexibilität. Sie lässt sich zudem anders als viele andere Telefonanlagen kostenfrei umsetzen. Das modulare System ermöglicht individuelle Lösungen. Zudem ist die Community in dem Bereich sehr aktiv und unterstützt Sie bei verschiedenen Fragen und Problemen.

Die zahlreichen Möglichkeiten können mit dem Nachteil einhergehen, dass man als IT-Administrator große Fachkenntnis benötigt, um die Anlage zu beherrschen. Installation und Wartung benötigen eine gewisse Einarbeitung oder besser externe Unterstützung durch einen IT-Dienstleister . Ebenso verfügen reine Asterisk-Anlagen über keine eigenständige Weboberfläche. Letztere Schwäche können Sie jedoch durch die Anwendung zusätzlicher Software-Lösungen wie freebpx ausgleichen. FreePBX ist mittlerweile eine vollwertige Asterisk Installation auf Basis von Centos 7 mit einer Web-GUI, in der fast alle Administrations-Aufgaben von Asterisk durchgeführt werden können.

Datenwachstum als Herausforderung der IT

Das stetige Wachstum der Datenmengen ist ein Problem, dem sich jede IT-Abteilung früher oder später stellen muss. Nutzen Sie ausschließlich klassische Speicherlösungen wie SAN oder NAS müssen die zur Verfügung stehenden Kapazitäten irgendwann mühsam erweitert werden. Eine solche Maßnahme hat des öfteren auch eine kurze downtime zur Folge, da nicht jede Erweiterung im laufenden Betrieb möglich ist.

Damit stellt sich bereits ein weiteres großes Problem ein. Kunden erwarten heutzutage, dass IT-Services zu 100 % an jedem Tag und zu jeder Stunde verfügbar sind. Downtimes werden immer weniger toleriert, besonders im Bereich von Rechenzentren sowie des Hostings. Eine mögliche Lösung um diese Zeiten zu minimieren oder gar völlig auszuschließen bietet beispielsweise Software Defined Storage oder kurz SDS.

Ceph geht neue Wege

Ceph Architektur

Abbildung 1
Ceph Architektur

Schwierigkeiten bei Software Defined Storage

CEPH ist aber keineswegs perfekt und bringt selbstverständlich auch Nachteile mit sich. Ein Merkmal mit dem man sich vor der Inbetriebnahme auseinandersetzen muss, sind die Latenzen die SDS im Vergleich zu Direct Attached Storage (DAS) mit sich bringt. Die erhöhte Komplexität des Software Stacks in Kombination mit den verwendeten Netzwerkverbindungen erhöhen die Latenz pro IO signifikant.

Es erweist sich als äußerst schwierig die Latenz unter den Wert von einigen Millisekunden für Schreibvorgänge zu senken. Woher diese Latenz kommt lässt sich verdeutlichen, wenn man sich die Arbeitsweise von CEPH bei Schreibvorgängen etwas genauer betrachtet (Abbildung 2).

Ein synchroner IO muss vom Client zur primären OSD gesendet werden. Die primäre OSD schickt anschließend die Anzahl konfigurierter Replikationen zu weiteren OSD’s und deren Journalen. Sobald die Repliken auf den Journalen aller OSD’s vorliegen, wird der Vorgang an die primäre OSD bestätigt. Hat die primäre OSD nun alle Bestätigungen erhalten, wird eine Bestätigung an den Client gesendet und dieser kann den nächsten IO senden. Das verdeutlicht schon weshalb es bereits zu Latenzen innerhalb des Software Stacks kommt.

SDS mit Ceph - Arhcitektur

Abbildung 2

Zusätzlich spielt auch das eingesetzte Netzwerk bei Ceph eine entscheidende Rolle. Es gilt hier zunächst unnötige Hops zu vermeiden, da jeder Hop etwa 200us Latenz mit sich bringt. Ein 10GE Netzwerk gilt hierbei als das absolute Minimum, welches Sie beim Einsatz von Ceph oder einem anderen verteilten Speichersystem verwenden sollten. Das verringert Latenzen und erhöht die Bandbreite. Eine zusätzliche Verbesserung bringt Ihnen selbstverständlich der Einsatz von RDMA, jedoch müssen hier die Kosten beachtet werden. All diese Faktoren spielen eine wichtige Rolle und müssen optimiert werden um Latenzen unter dem 2ms Level zu erhalten und dabei eine Balance zwischen Kosten und Nutzen zu finden, was natürlich nicht immer einfach ist.

 

Anforderungen an eine gute SDS Lösung

Damit Sie nach der Einführung einer SDS Lösung wie Ceph nicht enttäuscht sind, gibt es einige Punkte zu beachten. SSDs oder (Enterprise SSD oder NVME SSD) für die Journale, in denen die Schreibvorgänge gecached werden, sowie ein 10GE Netzwerk sind nach herrschender Meinung innerhalb der Ceph Community und unseren eigenen Erfahrungen ein Muss. Für die OSD’s sollten nach Möglichkeiten SAS3 HDD’s verwendet werden. Es ist auch denkbar bei Bedarf einen Teil der OSD’s rein aus SSDs zu erstellen und gesondert zur Verfügung zu stellen. Wichtig ist zudem keine RAID Arrays zu verwenden. Ceph profitiert stark von vielen unabhängigen Festplatten. Einem schwerwiegenden Datenverlust entgehen Sie zudem indem Sie mehrere Server mit möglichst vielen Festplatten (OSD’s) bereitstellen

Die CPU sollte möglichst viele Prozessor-Kerne haben, und der Arbeitsspeicher mit etwa 1-2 GB pro OSD berechnet werden um hier keinen Flaschenhals zu generieren. Der Einsatz von RDMA muss wohl überlegt sein und kommt auf den speziellen Workload an. Werden extrem niedrige Latenzen und hohe Bandbreite über 10 GE benötigt bietet es sich eventuell eher an auf ein spezielles Storage System wie GPFS, BeeGFS oder Lustre  in Kombination mit Infiniband/Omnipath zu setzen.

Fazit zu Ceph

Zusammenfassend lässt sich sagen, dass Software Defined Storage definitiv eine gute Möglichkeit darstellt, um stetig wachsende Datenbestände einfacher zu verwalten. Jedoch hat Software Defined Storage genau wie jede andere Lösung gewisse Einschränkungen denen man sich bewusst sein muss. Im modernen IT-Betrieb wird man aber nicht auf SDS verzichten können. Die mitgebrachten Vorteile wie Skalierbarkeit, einfache Erweiterung und eine sehr hohe Verfügbarkeit werden zunehmend wichtiger.

Weiterführende Links zum Thema:

7 interessante Fakten über Linux, die Sie nicht ignorieren sollten

Haben Sie es schon gewusst, dass die Zahl der Linux-Nutzer stetig zunimmt, während immer mehr Nutzer Windows den Rücken kehren und auf andere Betriebssysteme umsteigen? Viele prominente Experten sind sich darüber im Klaren, dass sich das OS in naher Zukunft als das Betriebssystem Nummer 1 etablieren und den Marktführer Microsoft vom Thron verdrängen wird. Die folgenden 7 Fakten über Linux sprechen für diese Behauptung:

Fakt Nummer 1: 85% der leistungsstärksten Computer der Welt basieren nicht auf Windows, sondern auf Linux

Vom niedlichen Logo sollte man sich nicht täuschen lassen. Linux ist schnell und sicher.

Vom niedlichen Logo sollte man sich nicht täuschen lassen. Linux ist schnell und sicher.

Dass die Mehrheit der aktuellen Supercomputer auf Linux-Distributionen wie Centos oder Ubuntu setzt, hat seine guten Gründe. Linux gilt als ein äußerst sicheres und stabiles Betriebssystem, das sich relativ einfach personalisieren lässt und gegen Viren- und andere Schadsoftware optimal geschützt ist. Aus diesem Grund werden moderne Supercomputer, die Menschenleben retten und komplizierte Forschungsprozesse vorantreiben, unter diversen Linux-Distributionen betrieben, während das Windowsbetriebssystem in erster Linie auf dem heimischen Desktop-Rechner oder bei Firmen im internen Netzwerk eingesetzt wird.
Übrigens: Die große Mehrheit der aktuellen Firewalls basiert auf Linux (oder BSD) als Betriebssystem. Viele davon sind außerdem als Opensource-Software frei verfügbar.

Fakt Nummer 2: Linux ist schnell

Ihnen wird das folgende Szenario sicherlich bekannt vorkommen: Sie haben sich endlich einen neuen Desktop-PC gekauft und sind davon begeistert, wie schnell alle Programme ausgeführt werden und wie flott das neu installierte Betriebssystem läuft. Mit der Zeit wird die Freude aber getrübt, so dass sich ein deutlicher Leistungsabfall deutlich macht.

Immer wieder gibt es unerwünschte Unterbrechungen am Computer durch lange Ladezeiten und es wird zudem immer mühseliger mehrere Programme gleichzeitig auszuführen. Ein Linux-System hat gegenüber Windows-Betriebssystemen einen deutlichen Vorteil: Linux wurde von Anfang an so konzipiert, dass es mit der Zeit einen nur minimalen Leistungsverlust aufweist, so dass das Betriebssystem, Programme und Spiele auch nach Jahren noch so gut laufen wie am Anfang.

Fakt Nummer 3: Mit Linux sparen Sie nicht nur Geld beim Betriebssystem, sondern auch bei der Hardware

Die Mindest-Hardwarevoraussetzungen für Microsoft Windows steigen mit jeder neuen Version des Betriebssystems aus Redmont. Aus diesem Grund müssen die meisten Nutzer schon nach kurzer Zeit, Budget in neue Hardware investieren, damit Programme und Spiele auch weiterhin reibungslos funktionieren. Bei Linux-Distributionen ist dies jedoch nicht der Fall. Computer mit Linux als Betriebssystem bleiben auch nach Jahren schnell und stabil, so dass Investitionen in neue Hardware nicht unbedingt nötig sind.

Fakt Nummer 4: Viele bekannte Unternehmen sind schon auf Linux umgestiegen

Bei Linux handelt es sich längst um kein Betriebssystem mehr, das nur von Nerds und Computerspezialisten genutzt wird. Heutzutage ist genau das Gegenteil der Fall. Viele bekannte Unternehmen und Organisationen, die auf der ganzen Welt vertreten sind, setzen immer mehr auf Linux als Betriebssystem. Unternehmen schätzen insbesondere die hohe Sicherheit und Zuverlässigkeit von Linux. Dass Linux als Betriebssystem völlig kostenlos ist, so dass Unternehmen eine Menge Kosten an unnötigen Lizenzen einsparen können, ist spielt selbstverständlich auch eine große Rolle.

Zu den bekannten Organisationen und Unternehmen gehören:

  • Siemens
  • BMW
  • Die Deutsche Post
  • Lufthansa
  • Karstadt

Fakt Nummer 5: Mit Linux können Sie sogar Ihre Computer-Probleme effektiv lösen

Sie sind sicherlich mit der folgenden Situation konfrontiert worden: Ihr PC fährt plötzlich nicht mehr hoch und Sie wissen sich nicht zu helfen. Guter Rat in dieser und ähnlichen Situationen ist teuer, denn hier kann in der Regel nur der Fachmann helfen. Bei einem Computer der mit Linux läuft, gehören solche Probleme der Vergangenheit an, denn Linux-Betriebssysteme bietet Ihnen die Möglichkeit, das System selbständig zu analysieren.

Mit einer Linux-Distribution wie Centos, Ubuntu oder Debian können Sie nicht nur die Ursachen von Fehlermeldungen ermitteln, sondern auch Daten wiederherstellen, die sonst für immer verloren wären und das sowohl bei Windows- als auch bei Linux-Systemen.

Hier sehen Sie also, welche Vorteile Ihnen Linux als Betriebssystem bietet. Es ist sogar in der Lage komplizierte Probleme zu lösen, die Microsoft seit Jahren plagen. Linux lässt sich schnell und bequem auf einem PC installieren, so dass ein Linux-Test auf jeden Fall empfehlenswert ist.

Fakt Nummer 6: Linux gilt dank seiner innovativen Architektur als eines der sichersten Betriebssysteme

Linux als Betriebssystem ist ausgesprochen sicher.

Linux als Betriebssystem ist ausgesprochen sicher.

Bei Linux handelt es sich um ein Betriebssystem, das Ihnen ein hohes Maß an Sicherheit bietet. Obwohl über 90 Prozent aller Viren und Trojaner für Windowssysteme entwickelt werden, ist dies nicht der einzige Grund, weshalb Linux so sicher ist. Bei Windows kann man versehentlich oder absichtlich sämtliche Systemdateien verändern und sogar löschen, so dass das Betriebssystem unbrauchbar wird. Bei Linux ist dies jedoch dank der intelligenten Rechteverwaltung das Löschen oder die Manipulation von wichtigen Dateien nicht gestattet. Bei jedem Versuch, grundlegende Änderungen am System vorzunehmen, muss man bei einem Linux-System ein Administrator-Kennwort (genauer: root) eingeben, so dass stets ein hohes Maß an Sicherheit gewährleistet wird.

Fakt Nummer 7: Linux ist in der Regel völlig kostenlos

Eines der wichtigsten Kriterien, warum immer mehr Unternehmen und Privatpersonen auf Linux umsteigen ist die Tatsache, dass Linux in der Regel völlig kostenlos ist und unter einer Opensource-Lizenz frei verfügbar ist. Wenn man sich den großen Funktionsumfang in Kombination mit der sehr guten Sicherheit des Systems vor Augen führt und das auch noch völlig kostenlos, ist es kein Wunder, dass dieses Betriebssystem immer beliebter wird.

Na, sind Sie neugierig geworden? Auch wenn wir noch nicht ganz daran glauben, daß Linux in naher Zukunft Windows verdrängen wird, so gibt es heute schon viele Einsatzmäglichkeiten für Linux in Unternehmen – beispielsweise als Server für Websites  oder als virtueller Server im Rechenzentrum. Gerne beraten wir Sie in Sachen Opensource und Linux. Wir freuen uns auf Ihren Kontakt.

Mehr Fakten zu Linux finden Sie bei uns im Blog und natürlich in den Tutorials zur Linux-Administration

Tutorial

Passwort-Manager

firewalld ist eine komplette Firewall-Lösung, die standardmäßig auf CentOS 7 Servern verfügbar ist. Während unter Centos 6 noch iptables zum Einsatz kam, wird unter Centos 7 mit dem Dienst-Programm firewalld gearbeitet. In diesem Tutorial erklären wir, wie Sie als Linux-Administrator eine Firewall für Ihren Centos 7 Server mit firewalld einrichten und Ihnen die Grundlagen der Verwaltung der Firewall mit der firewall-cmd-Befehlszeile erklären.

Grundkonzepte in firewalld

Bevor wir anfangen, wie man das Firewall-cmd-Dienstprogramm zur Verwaltung Ihrer Firewall-Konfiguration verwendet, sollten wir uns mit einigen grundlegenden Konzepten von firewalld vertraut machen.

Zonen in firewalld

Der firewalld Dienst schützt ihren Centos 7 Server

Der firewalld Dienst schützt ihren Centos 7 Server

Der firewalld-Daemon verwaltet Gruppen von Regeln mit Elementen (bzw. Entitäten), die „Zonen“ genannt werden. Zonen sind im Wesentlichen Mengen von Regeln, die definieren, welchen Verkehr je nach dem Vertrauensniveau erlaubt werden soll, das Sie in den Netzwerken haben, mit denen Ihr Computer gerade verbunden ist. Netzwerkschnittstellen werden einer Zone zugeordnet, um das Verhalten zu bestimmen, das die Firewall zulassen soll.

Für Computer, die sich häufig zwischen Netzwerken (WLAN, Arbeit, Zuhause, …) bewegen können (wie Laptops), bietet diese Art von Flexibilität eine gute Methode, um Ihre Regeln abhängig von Ihrer aktuellen Netzwerk-Umgebung zu ändern. Sie können strenge Regeln an Orten verbieten die meisten Verkehr beim Betrieb auf einem öffentlichen WiFi-Netzwerk, während ermöglicht mehr entspannte Einschränkungen, wenn mit Ihrem Heimnetzwerk verbunden. Für einen Server sind diese Zonen nicht so wichtig, da sich die Netzwerkumgebung nur selten ändert.

Unabhängig davon, wie dynamisch Ihre Netzwerkumgebung sein mag, ist es immer noch sinnvoll, mit der allgemeinen Idee hinter jeder der vordefinierten Zonen für firewalld vertraut zu sein. Nachfolgend finden Sie die Zonen die standardmässig in firewalld vorhanden sind, In der Reihenfolge von den wenigsten vertrauenswürdigen zu den meisten vertrauenswürdigen:

  • drop: das niedrigste Vertrauensniveau. Alle eingehenden Verbindungen werden ohne Antwort abgelegt und nur ausgehende Verbindungen (vom Laptop oder Server) sind möglich.
  • block: Ähnlich wie „drop“, aber anstatt einfach nur Verbindungen zu verschieben, werden eingehende Anfragen mit einer icmp-host-deny oder icmp6-adm-deny Nachricht abgelehnt. Im Gegensatz zu oben erhält der Absender also wenigstens eine Antwort
  • public: Repräsentiert öffentliche, nicht vertrauenswürdige Netzwerke. Sie vertrauen anderen Computern nicht, sondern können ausgewählte eingehende Verbindungen von Fall zu Fall zulassen.
  • external: Externe Netzwerke für den Fall, dass Sie die Firewall als Gateway verwenden. Hier ist firewalld für NAT-Masquerading konfiguriert, so dass etwa Ihr internes Netzwerk privat aber erreichbar ist.
  • internal: Die andere Seite der externen Zone, die für den internen Teil eines Gateways verwendet wird. Die Computer sind ziemlich vertrauenswürdig und einige zusätzliche Dienste sind verfügbar.
  • dmz: Wird für Computer verwendet, die sich in einer DMZ befinden (DMZ = demilitarisierte Zone, in der Regel innerhalb eines Rechenzentrums und zwischen zwei Firewalls). Es sind nur bestimmte eingehende Verbindungen erlaubt.
  • work: Wird für PCs & Workstation verwendet. Vertraut den meisten Computer im Netzwerk. Ein paar weitere Dienste sind erlaubt.
  • home: Eine häusliche Umgebung. Es bedeutet im Allgemeinen, dass Sie die meisten anderen Computer vertrauen und dass weitere Dienste akzeptiert werden.
  • trusted: Vertraut allen Maschinen im Netzwerk. Diese offenste der verfügbaren Optionen von firewalld sollte sparsam verwendet werden.

Um die Firewall nutzen zu können, können wir Regeln erstellen und die Eigenschaften der verwendeten Zonen verändern und anschließend unsere Netzwerkschnittstellen den Zonen zuordnen.

Regelbeständigkeit von firewalld

In firewalld können Regeln als permanent oder „immediate“ (im Sinne von „sofort“) bezeichnet werden. Wenn eine Regel hinzugefügt oder geändert wird, wird standardmäßig das Verhalten der aktuell laufenden Firewall geändert und der –immediate Zusatz verwendet. Beim nächsten Stiefel werden die alten Regeln zurückgesetzt – d.h. Änderungen mit „—immediate“ sind nach einem Neustart des firewalld-Dienstes verloren

Bei den meisten Firewall-cmd-Operationen können Sie den –permanent-Zusatz nutzen, um anzugeben, dass nicht die aktuell kaufende Konfiguration gemeint ist, sondern die langfristig gespeicherte. Dies wirkt sich auf den Regelsatz aus, der beim Start von firewalld neu geladen wird. Diese Trennung bedeutet, dass Sie Regeln in Ihrer aktiven Firewall-Instanz testen und dann neu laden können, wenn es Probleme gibt. Sie können auch die –permanent-Flagge verwenden, um einen ganzen Satz von Regeln über die Zeit aufzubauen, die alle sofort angewendet werden, wenn der Reload-Befehl ausgegeben wird.

Starten von firewalld

Bevor Sie anfangen können, Firewall-Regeln mit firewalld zu erstellen, müssen wir den eigentlichen Dienst unter Centos 7 starten. Die Systemdatendatei dazu heißt firewalld.service. Wir können den Dämon für diese Sitzung starten, indem wir folgendes eingeben:

sudo systemctl start firewalld.service

 

Sie können überprüfen, ob der Service läuft und erreichbar ist:

firewall-cmd – State

Sie sehen nun, daß ihr Firewall unter Centos 7 mit der Standardkonfiguration läuft und läuft.

An diesem Punkt werden wir den Service (noch) nicht aktivieren. Die Aktivierung des Dienstes würde dazu führen, dass die Firewall beim Booten gestartet wird. Sie sollten warten, bis Sie ihre Firewall-Regeln fertig erstellt haben und außerdem Gelegenheit hatten, sie zu testen, bevor wir den Dienst beim Starten konfigurieren. So vermeiden Sie , vom Host geblockt zu werden, für den Fall dass etwas schief geht.

firewalld – Basics

Die meisten Kommandos für den firewall-Dienst werden auf der Kommando-Zeile eingegeben

Die meisten Kommandos für den firewall-Dienst werden auf der Kommando-Zeile eingegeben

Bevor wir anfangen, Änderungen vorzunehmen, sollten wir uns mit der Standardumgebung und den Regeln des Dämons vertraut machen.

Standard-Einstellungen von firewalld

Wir können sehen, welche Zone derzeit als Voreinstellung ausgewählt ist, indem Sie Folgendes eingeben:

firewall-cmd –get-default-zone

Ausgabe

public

Da wir Firewall bisher keine konkreten Befehle gegeben haben, die von der Standardzone abzuweichen, und keine unserer Schnittstellen konfiguriert ist, um Sie etwa an eine andere Zone zu binden, ist diese Zone auch die einzige „aktive“ Zone (die Zone, die den Verkehr für unsere kontrolliert Schnittstellen). Sie können das überprüfen, in den Sie folgendes eingeben:

firewall-cmd –get-active-zone

 

Ausgabe:

Public

Interfaces: eth0 eth1

Hier sehen wir, dass wir zwei Netzwerkschnittstellen (eth0 und eth1) haben, die von der Firewall  gesteuert werden. Sie werden beide derzeit nach den für die öffentliche Zone festgelegten Regeln verwaltet.

Wie können Sie nun heraus finden, welche Regeln mit der öffentlichen Zone verbunden sind? Wir können die Konfiguration der Standardzone anzeigen lassen, indem wir Folgendes eingeben:

firewall-cmd –list-all

Ausgabe

Public (Standard, aktiv)

Interfaces: eth0 eth1

sources:

services: dhcpv6-client ssh

ports:

Wir können aus der Ausgabe ableiten, dass diese Zone sowohl die Vorgabe als auch die aktive ist und dass die eth0- und eth1-Schnittstellen mit dieser Zone verbunden sind. Allerdings können wir auch sehen, dass diese Zone die normalen Operationen mit einem DHCP-Client (für IP-Adresszuweisung) und SSH (für Remote-Administration) ermöglicht.

Erforschung alternativer Zonen

Jetzt haben wir eine gute Vorstellung von der Konfiguration für die Standard- und Aktivzone. Wir können auch Informationen über andere Zonen herausfinden.

Um eine Liste der verfügbaren Zonen zu erhalten, geben Sie Folgendes ein:

firewall-cmd -get-zonen

Ausgabe

block dmz drop external home internal public trusted work

Sie können sich die spezifische Konfiguration, die mit einer Zone verbunden ist, anschauen, indem sie den Parameter –zone = in den –list-all-Befehl einfügen:

firewall-cmd – zone = home –list-all

 

Ausgabe

home

Schnittstellen:

sources:

services: dhcpv6-client ipp-client mdns samba-client ssh

ports:

Sie können alle Zonendefinitionen mit der Option –list-all-zones ausgeben. Zur besseren Lesbarkeit sollten Sie den Befehl dann mit „|less“ oder „|more“ kombinieren

firewall-cmd –list-all-zonen | less

 

Auswählen von Zonen für Ihre Netzwerk-Schnittstellen

Sofern Sie nicht Ihre Netzwerkschnittstellen anders konfiguriert haben, wird jedes Interface (also die  Schnittstelle) in die Standardzone gesetzt, wenn die Firewall gebootet wird.

Ändern der Zone einer Schnittstelle für die aktuelle Sitzung

Sie können eine Schnittstelle zwischen den Zonen während einer Sitzung übergeben, indem Sie den Parameter –zone = in Verbindung mit dem Parameter –change-interface = verwenden. Wie bei allen Befehlen, die die Firewall ändern, müssen Sie sudo verwenden.

Zum Beispiel können wir unsere eth0-Schnittstelle in die „home“ -Zone übergehen, indem wir folgendes eingeben:

sudo firewall-cmd – zone = home – change-interface = eth0

Immer wenn Sie eine Schnittstelle zu einer neuen Zone übergeben, sollten Sie sich darüber bewusst sein, dass Sie wahrscheinlich die Dienste ändern, die in Betrieb sein werden. Zum Beispiel bewegen wir uns hier in die „home“ Zone, die SSH zur Verfügung stellt. Das bedeutet, dass unsere Verbindung nicht unterbrochen werden sollten. Einige andere Zonen sind standardmäßig nicht SSH aktiviert und wenn Ihre Verbindung unter Verwendung einer dieser Zonen gekappt wird, können Sie sich nicht wieder anmelden.

Sie überprüfen, dass dies erfolgreich war, indem wir wieder nach den aktiven Zonen fragen:

firewall-cmd –get-active-zonen

 

Wenn die Firewall komplett neu gestartet wird, wechselt die Schnittstelle zur Standardzone:

sudo systemctl restart firewalld.service

firewall-cmd –get-active-zonen

Ausgabe

public

interfaces: eth0 eth1

Zone Ihrer Schnittstelle dauerhaft ändern

Mehr Sicherheit mit der richten Firewalld-Konfiguration unter Centos 7

Mehr Sicherheit mit der richten Firewalld-Konfiguration unter Centos 7

Schnittstellen werden immer auf die Standardzone zurückgesetzt, wenn sie keine alternative Zone haben, die in ihrer Centos  Konfiguration abgespeichert ist. Bei CentOS 7 sind diese Konfigurationen im Verzeichnis /etc/sysconfig/network-scripts mit Dateien des Formats ifcfg-<interface-name> definiert.

Um eine Zone für das Interface zu ändern, öffnen Sie die Datei, die mit der Schnittstelle verknüpft ist, die Sie ändern möchten. Bsp mit eth0 (erste Netzwerkkarte):

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Am unteren Rand der Datei setzen Sie die ZONE = Variable auf die Zone, die Sie mit der Schnittstelle verknüpfen möchten. In unserem Fall wäre das die „home“ -Schnittstelle:

/ etc/sysconfig/network-scripts/ifcfg-eth0

ZONE = home

Speichern und schließen Sie die Datei. (:wq in vi)

Um Ihre Änderungen zu übernehmen, müssen Sie den Netzwerkdienst neu starten – anschließend das Gleiche mit dem firewalld -Dienst:

sudo systemctl restart network.service

sudo systemctl restart firewalld.service

Nachdem Ihre Firewall neu gestartet wurde, können Sie sehen, dass Ihre eth0-Schnittstelle automatisch in die „home“ gesetzt wird:

firewall-cmd –get-active-zones

Ausgabe

home

interfaces: eth0

public

interfaces: eth1

Falls dies nicht die tatsächliche Zone ist, die Sie für diese Schnittstelle verwenden möchten, so machen Sie diese Einstellung einfach wieder rückgängig und starten die beiden Dienste erneut

Einstellen der Standardzone

Wenn Sie alle Ihre Schnittstellen  in einer einzigen Zone verwalten können, ist es wahrscheinlich einfacher, die für Ihren Einsatzzweck passendste Standardzone auszuwählen und diese dann diese für Ihre Konfiguration zu verwenden.

Sie können die Standardzone mit dem Parameter –set-default-zone = jederzeit ändern. Dadurch wird sofort eine beliebige Schnittstelle geändert, die auf die Voreinstellung der neuen Zone zurückgefallen ist:

sudo firewall-cmd –set-default-zone = home

Ausgabe

home

interfaces: eth0 eth1

Festlegung von Regeln für Ihre Dienste & Anwendungen

Die grundsätzlich Art und Weise, Firewall-Ausnahmen für die Dienste zu definieren, die Sie zur Verfügung stellen möchten, ist einfach

Hinzufügen eines Dienstes zu Ihren Zonen

Die einfachste Methode ist es, die Dienste oder Ports, die Sie benötigen, den Zonen zuzuweisen, die Sie hauptsächlich verwenden. Auch hier können Sie mit der Option –get-services eine Liste der verfügbaren Dienste abrufen:

firewall-cmd -get-services

output

dhcp dhcpv6 dhcpv6-client dns ftp … (gekürzt) samba-client smtp ssh telnet tftp tftp-client vnc-server

Hinweis

Sie können weitere Einzelheiten zu jedem dieser Dienste erhalten, indem Sie ihre zugehörige XML-Datei im Verzeichnis/usr/lib/firewalld/services betrachten. Zum Beispiel ist der SSH-Service wie folgt definiert:

/usr/lib/firewalld/services/ssh.xml

<? Xml version = „1.0“ encoding = „utf-8“?>

<Service>

<Short> SSH </ short>

<Description> Secure Shell (SSH) ist ein Protokoll für die Anmeldung und Ausführung von Befehlen auf entfernten Rechnern. Es bietet sichere verschlüsselte Kommunikation. Wenn Sie planen, auf Ihre Maschine remote über SSH über eine Firewall-Schnittstelle zuzugreifen, aktivieren Sie diese Option. Sie benötigen das für diese Option installierte openssh-Serverpaket. </ Description>

<Port protocol = „tcp“ port = „22“ />

</ Service>

Sie können einen Dienst einer Zone mit dem Parameter –add-service = hinzufügen. Die Operation wirkt sich auf die Standardzone oder die Zone, die durch den Parameter –zone = angegeben wird aus. Standardmäßig wird nur die aktuelle Firewall-Sitzung angepasst. Sie können die permanente Firewall-Konfiguration anpassen, indem Sie das –permanent-Flag hinzu fügen..

Wenn wir zum Beispiel einen Webserver mit konventionellem HTTP-Verkehr betreiben, können wir diesen Datenverkehr für Schnittstellen in unserer „öffentlichen“ Zone für diese Sitzung zulassen, indem Sie Folgendes eingeben:

sudo firewall-cmd –zone = public –add-service = http

Sie können den Zusatz „–zone =“ weglassen, wenn Sie die Standardzone ändern möchten. Sie können überprüfen, ob die Operation erfolgreich war, indem Sie die –list-all- oder –list-services-Operationen verwenden:

firewall-cmd – zone = public –list-services

Ausgabe

dhcpv6-client http ssh

Sobald Sie getestet haben, dass alles so funktioniert, wie es sollte, werden Sie wahrscheinlich die permanenten Firewall-Regeln ändern, damit Ihr Service nach einem Neustart weiterhin verfügbar ist. Wir können Zonenänderung der „public“-Zone durch Eingabe durchführen:

sudo firewall-cmd –zone = public –permanent –add-service = http

Sie können überprüfen, ob dies erfolgreich war, indem Sie das –permanent-Flag zum –list-services-Vorgang hinzufügen. Sie müssen sudo für – permanent Abfragen verwenden:

sudo firewall-cmd –zone = public –permanent –list-services

Ihre „public“ Zone erlaubt nun den HTTP-Webverkehr auf Port 80. Wenn Ihr Webserver für die Verwendung von SSL/TLS konfiguriert ist, möchten Sie auch den https-Dienst hinzufügen. Wir können das in der aktuellen Session hinzufügen und die permanente Regel aktivieren bzw. speichern durch Eingabe von:

sudo firewall-cmd – zone = public –add-service = https

sudo firewall-cmd –zone = public –permanent –add-service = https

Wenn kein entsprechender Service vorhanden ist?

Die Firewall-Services, die in der firewalld-Installation enthalten sind, stellen viele der häufigsten Anforderungen für Anwendungen dar, auf die Sie Zugriff haben können. Allerdings kann es Anwendungsfälle geben, in denen diese Dienste nicht Ihren Anforderungen entsprechen.

In dieser Situation haben Sie zwei Möglichkeiten.

Öffnen eines Ports für ihre Zonen

Der einfachste Weg, um Unterstützung für Ihre spezifische Anwendung hinzuzufügen, ist, die Ports zu öffnen, die es in der entsprechenden Zone (n) verwendet. Dies ist so einfach wie die Angabe der Port- oder Port-Bereich und das zugehörige Protokoll für die Ports, die Sie öffnen müssen.

Zum Beispiel, wenn unsere Anwendung auf Port 5000 läuft und TCP verwendet, könnten wir dies in der „public“ Zone für diese Sitzung mit dem Parameter –add-port = hinzufügen. Protokolle können dabei entweder tcp oder udp sein:

sudo firewall-cmd – zone = public –add-port = 5000/tcp

Sie können überprüfen, dass dies mit der Anwendung –list-ports erfolgreich war:

firewall-cmd –list-Ports

Ausgabe

5000/tcp

Es ist auch möglich, einen sequentiellen Bereich von Ports zu spezifizieren, indem der Anfangs- und End-Port im Bereich mit einem Bindestrich getrennt wird. Zum Beispiel, wenn unsere Anwendung UDP-Ports 4990 bis 4999 verwendet, könnten wir diese auf „public“ durch die folgende Eingabe einstellen:

sudo firewall-cmd – zone = public –add-port = 4990-4999/udp

Nach dem Testen würden wir diese wahrscheinlich der permanenten Firewall hinzufügen wollen. Sie können das tun, indem Sie folgendes eingeben:

sudo firewall-cmd – zone = public –permanent –add-port = 5000/tcp

sudo firewall-cmd – zone = public –permanent –add-port = 4990-4999/udp

sudo firewall-cmd –zone = public –permanent –list-ports

Ausgabe:

4990-4999/udp 5000/tcp

 

Einen Dienst definieren

Blog kein Loch in die Centos Firewall "bohren" ...

Blog kein Loch in die Centos Firewall „bohren“ …

Bestimmte Ports für eine Zone zu öffnen ist einfach. Es kann auf Dauer aber schwierig sein, den Überblick zu behalten, welcher Port-Wert zu welchem Dienst gehört. Wenn Sie jemals einen „Service“ auf Ihrem Server ausschalten, können Sie sich vielleicht nur schwer daran erinnern, welche Ports, die geöffnet wurden, noch erforderlich sind. Um diese Situation zu entschärfen, ist es möglich, eigene Services zu definieren.

Services sind einfach Sammlungen von Ports mit einem zugehörigen Namen und einer Beschreibung. Die Verwendung von Diensten ist einfacher zu verwalten als Ports, erfordert aber etwas Vorarbeit in der Konfiguration von Centos 7. Der einfachste Weg ist das Kopieren eines vorhandenen Skripts (zu finden in/usr/lib/firewalld/services) in das Verzeichnis/etc/firewalld/services, in dem die Firewall nach Nicht-Standarddefinitionen für firewalld sucht.

Zum Beispiel könnten wir die SSH-Service-Definition kopieren, um für unsere „Beispiel“ Service-Definition wie diese zu verwenden. Der Dateiname abzüglich des .xml-Suffixes bestimmt den Namen des Dienstes in der Liste der Firewall-Dienste:

cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/beispiel.xml

Nun können Sie die Definition in der Datei, die Sie kopiert haben, anpassen:

Sudo nano /etc/firewalld/services/beispiel.xml

Zum Starten enthält die Datei die SSH-Definition, die Sie kopiert haben:

/etc/firewalld/services/beispiel.xml

<? Xml version = „1.0“ encoding = „utf-8“?>

<Service>

<Short> SSH </ short>

<Description> Secure Shell (SSH) ist ein Protokoll für die Anmeldung und Ausführung von Befehlen auf entfernten Rechnern. Es bietet sichere verschlüsselte Kommunikation. Wenn Sie planen, auf Ihre Maschine remote über SSH über eine Firewall-Schnittstelle zuzugreifen, aktivieren Sie diese Option. Sie benötigen das für diese Option installierte openssh-Serverpaket. </ Description>

<Port protocol = „tcp“ port = „22“ />

</ Service>

Der Großteil dieser Definition sind eigentlich Metadaten. Sie werden vermutlich am besten den Kurznamen für den Dienst innerhalb der <short> -Tags ändern. Dies ist ein besser lesbarer Name für Ihren Service. Sie sollten ebenfalls eine Beschreibung hinzufügen, so dass Sie mehr Informationen haben, wenn Sie den Service prüfen (und vorher nicht mehr wissen, wofür er gedacht ist).

Die einzige Ändreug, die Sie machen müssen, die tatsächlich die Funktionalität des Dienstes beeinflusst, wird wahrscheinlich die Port-Definition sein, wo Sie die Portnummer und das Protokoll identifizieren, die Sie öffnen möchten. Dies kann mehrfach angegeben werden.

Für unseren „Beispiel“ -Dienst stellen Sie sich vor, dass wir Port 7777 für TCP und 8888 für UDP öffnen müssen. Wir könnten die bestehende Definition etwas folgendermaßen  ändern:

/etc/firewalld/services/beispiel.xml

<? Xml version = „1.0“ encoding = „utf-8“?>

<Service>

<Short> Beispiel Service </ short>

<Description> Dies ist nur ein Beispiel Service. Es sollte wohl nicht auf einem realen System verwendet werden. </ Description>

<Port protocol = „tcp“ port = „7777“ />

<Portprotokoll = „udp“ Port = „8888“ />

</ Service>

Speichern und schließen Sie die Datei. Laden Sie Ihre Firewall neu, um Zugang zu Ihrem neuen Service zu erhalten:

sudo firewall-cmd – reload

Sie können sehen, dass es jetzt unter der Liste der verfügbaren Dienste ist:

firewall-cmd -get-services

Ausgabe

RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns Beispiel ftp hochverfügbarkeit http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy Pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client übertragung-client vnc-server wbem-https

Sie können diesen Service jetzt in all Ihren Zonen verwenden.

Eigene Zonen in firewalld erstellen

Während die vordefinierten Zonen für die meisten Benutzer wahrscheinlich mehr als ausreichend sind, kann es hilfreich sein, eigene Zonen zu definieren, die etwa eine andere Benennung oder Beschreibung haben.

Zum Beispiel möchten Sie vielleicht eine Zone für Ihren Webserver mit dem Namen „publicweb“ erstellen. Allerdings möchten Sie vielleicht eine andere Zone für den DNS-Dienst konfigurieren, den Sie in Ihrem privaten Netzwerk bereitstellen. Vielleicht möchten Sie eine Zone namens „privateDNS“ dafür.

Beim Hinzufügen einer Zone müssen Sie diese der permanenten Firewall-Konfiguration hinzufügen. Sie können die Definition dann erneut laden, um die Konfiguration in Ihrer laufenden Sitzung zu verwenden. Zum Beispiel könnten wir die beiden Zonen, die wir oben besprochen haben, wie folgt erzeugen:

sudo firewall-cmd –permanent –new-zone = publicweb

udo firewall-cmd –permanent –new-zone = privateDNS

Sie können überprüfen, ob diese in Ihrer permanenten Konfiguration vorhanden sind, indem Sie Folgendes eingeben:

sudo firewall-cmd –permanent –get-zonen

Ausgabe

block dmz drop external home internal privateDNS public publicweb trusted work

Wie bereits erwähnt, sind diese in der aktuellen Instanz der Firewall noch nicht verfügbar:

firewall-cmd -get-zonen

Ausgabe

block dmz drop external home internal public trusted work

Laden Sie die Firewall neu, um diese neuen Zonen zu aktivieren:

sudo firewall-cmd – reload

firewall-cmd -get-zonen

Ausgabe

block dmz drop external home internal privateDNS public publicweb trusted work

Jetzt können Sie anfangen, die entsprechenden Dienste und Ports zu Ihren Zonen zuzuordnen. Es ist normalerweise eine gute Idee, die aktive Instanz anzupassen und diese Änderungen nach dem Testen in die permanente Konfiguration zu übertragen. Zum Beispiel können Sie für die „publicweb“ -Zone die SSH-, HTTP- und HTTPS-Dienste hinzufügen:

sudo firewall-cmd – zone = publicweb –add-service = ssh

sudo firewall-cmd –zone = publicweb –add-service = http

sudo firewall-cmd –zone = publicweb –add-service = https

firewall-cmd –zone = publicweb –list-all

Ausgabe

Publicweb

(…)

Ebenso können wir den DNS-Service in unsere Zone „privateDNS“ hinzufügen:

sudo firewall-cmd – zone = privateDNS –add-service = dns

firewall-cmd –zone = privateDNS –list-all

Ausgabe

PrivateDNS

Wir könnten dann unsere Interfaces (z.B. eth0) zu diesen neuen Zonen ändern, um sie auszuprobieren:

sudo firewall-cmd – zone = publicweb – change-interface = eth0

sudo firewall-cmd – zone = privateDNS – change-interface = eth1

An dieser Stelle haben Sie die Möglichkeit, Ihre Konfiguration zu testen. Wenn diese Werte für Sie zufriedenstellen funktionieren, wollen Sie die gleichen Regeln der permanenten Konfiguration hinzufügen. Sie können das tun, indem Sie die Regeln mit dem –permanent-Flag erneut anwenden:

sudo firewall-cmd –zone = publicweb –permanent –add-service = ssh

sudo firewall-cmd –zone = publicweb –permanent –add-service = http

sudo firewall-cmd –zone = publicweb –permanent –add-service = https

sudo firewall-cmd –zone = privateDNS –permanent –add-service = dns

Sie können anschließend Ihre Netzwerkschnittstellen ändern, um automatisch die richtigen Zonen auszuwählen. Wir können etwa die eth0-Schnittstelle mit der „publicweb“ -Zone verbinden:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network-scripts/ifcfg-eth0

ZONE =publicWeb

Und Sie können die eth1-Schnittstelle mit „privateDNS“ verknüpfen:

vi/etc/sysconfig/network-scripts/ifcfg-eth1

/etc/sysconfig/network-scripts/ifcfg-eth1

ZONE = privateDNS

Anschließend können Sie Ihre Netzwerk- und Firewall-Services neu starten:

sudo systemctl restart Netzwerk

sudo systemctl restart firewalld

 

Überprüfen der korrekten Zuweisung  der Zone(n)

firewall-cmd –get-active-zonen

Ausgabe

PrivateDNS

interfaces: eth1

Publicweb

interfaces: eth0

So prüfen Sie, dass die entsprechenden Dienste für beide Zonen zur Verfügung stehen:

firewall-cmd –zone = publicweb –list-services

Ausgabe

Http htpps ssh

firewall-cmd –zone = privateDNS –list-services

Ausgabe

Dns

Sie haben Ihre eigenen Zonen erfolgreich eingerichtet. Wenn Sie eine dieser Zonen als Standard für andere Schnittstellen machen möchten, denken Sie daran, dieses Verhalten mit dem Parameter –set-default-zone = <ZONE> zu konfigurieren:

Sudo firewall-cmd –set-default-zone = publicweb

Aktivieren des firewalld Dienstes beim Booten

Am Anfang des Tutorials haben wir unseren Firewall-Service gestartet, aber ihn (noch) nicht aktiviert. Wenn Sie jetzt mit Ihrer aktuellen Konfiguration für den firewalld-Dienst zufrieden sind und ihn getestet haben, können Sie den Service aktivieren damit er beim nächsten Reboot des Centos 7 Servers startet.

Das erledigen Sie mit dem Kommando:

sudo systemctl enable firewalld

Wenn der Server neu gestartet wird, sollte ihre Firewall gestartet werden, deine Netzwerkschnittstellen sollten in den  von Ihnen konfigurierten Zonen gelegt werden (oder auf die konfigurierte Standardzone zurückgreifen), und die Regeln, die mit der Zone (n) verknüpft sind, werden auf die zugehörigen Schnittstellen angewendet.

Fazit zu firewalld unter Centos 7

Sie sollten nun ein gutes Verständnis dafür haben, wie Sie den firewalld-Service auf Ihrem CentOS-7-System für den täglichen Gebrauch verwalten können.

Mit dem firewalld-Dienst können Sie Wartungsregeln und Regelsätze konfigurieren, die Ihre konkrete Netzwerkumgebung berücksichtigen. Es ermöglicht Ihnen, nahtlos zwischen verschiedenen Firewall-Richtlinien durch die Verwendung von Zonen zu wechseln und gibt Ihnen bzw. Administratoren die Möglichkeit, das Port-Management in „freundlichere“ Service-Definitionen zu abstrahieren.

Sollten Sie konkrete Fragen zum Einsatz von Centos 7 oder firewalld in der Praxis haben, so stehen Ihnen die IT-Experten vom IT-Dienstleister Biteno GmbH gerne zur Verfügung.

 

Hinweis: Dieser Artikel ist eine sinngemäße Übersetzung von https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-7