Archiv der Kategorie: Linux

GNU/Linux Howto’s and Tutorials

Unified Communication

Auch in der Telefonie bleibt die Digitalisierung nicht stehen, dabei sticht das Asterisk Tool Kit als eine interessante alternative zu kommerziellen Telefonielösungen hervor.

Asterisk ist eine Open Source basierte Telefonanlagen Software für den Einsatz einer IP PBX unter Linux, lauffähig auf unterschiedlichen Rechner Plattformen. Asterisk beinhaltet  umfangreiche CTI Funktionalitäten, sowie eine API Schnittstelle AMI zur Integration von CTI Anwendungen. Unterstützt werden IP-Telefonie (VoIP) mit unterschiedlichen Protokollen wie SIP/SSIP, IAX und Fax T.38, mittels Hardware wird auch ISDN und POTS unterstützt, so können Endgeräte mit analog Telefonanschluss genutzt werden.

Mark Spencer hat Asterisk ursprünglich bei der Firma Digium entwickelt. Mittlerweile haben sich noch weitere Entwickler der Asterisk-Gemeinde angeschlossen und so stammen viele Erweiterungen und Applikationen auch von anderen Contributoren. Der Name beruht auf der Bezeichnung des Sternsymbol, dieses als Wahlfunktion die Steuerung der Telefonie regelt, wie beispielsweise *72 für die Weiterleitung.

Asterisk funktioniert auf einer Reihe unterschiedlicher Systeme. Neben Personal Computern mit x86-Prozessor läuft Asterisk auch auf dem Raspberry Pi und Router die OpenWrt unterstützen, ebenfalls werden Installationen auf Embedded Systeme mit Flash Speicher angeboten, wie dem ALIX Board von PC Engines.

Unified Communication

Bei der Portierung auf ARM Prozessoren kommen auch kommerzielle Asterisk basierte Telefonie Lösungen auf den Markt, eine davon ist die UCM6202 von Grandstream, diese für rund 220 EURO erhältlich ist.

Hybrid IP PBX mit 1 GB RAM und 4 GB Flash, ein NAT Router mit WAN und LAN Port, diese in Switch Mode geschalten werden können. Für analog Anschlüsse gibt es je 2 FXS und FXO Ports. Ein 2 Zeilen Display mit IP Adresse und Schnittstellen Mode.

Die Unified Communication UCM6202 beinhaltet umfangreiche CTI Funktionalitäten, in der neusten Firmware (1.0.15.16) wird Asterisk 13 und ein komfortables AJAX unterstütztes WebUI geboten.

Benutzer haben Kontrolle über ein WebUI und können Einstellungen vornehmen. Anrufe und Präsenz Status können im Benutzerpanel überwacht werden. Gemeinsame Telefonbücher sind über LDAP aus Active Directory abrufbar.

Die UCM6202 bietet dem Teilnehmer Information über laufende, verpasste und abgehaltene Verbindungen, sowie Sprachnachrichten. FollowMe und Weiterleitungen können aktiviert werden, Konferenzen abgehalten und geplant werden, dazu Einladungen per Email versenden, mit Integrierbarkeit externer Kalender, wie Google Kalender.

Funktionen

Die UCM6202 unterstützt bis zu 500 registrierte Nutzer, 50 SIP Trunks und 30 parallele Gespräche, ohne Beschränkung wie etwa für anzahl von Lizenzen. Für Grandstream SIP Endgeräte ist eine Zero Configuration Provisionierung möglich. Es wird größtmögliche Sicherheit durch die Anwendung von SRTP, TLS und HTTPS ermöglicht. Zwei Gigabit Netzwerkanschlüsse mit integrierter PoE Stromversorgung. Interaktive Sprachansagen (IVR) bis max. 5-Stufen (Interactive Voice Response). Integrierter Server zur Sprachaufzeichnung, Zugang und Abruf über die Web-Schnittstelle. Mehrfach Zeitgesteuerte Regeln für Ansagen von Bürozeiten und Feiertage. Anruf-Warteschlange für mehr Effizienz bei hohem Gesprächsvolumen. Integrierte Anruf Aufzeichnung (CDR) mit vielen Details wie Zeit, Datum, Nebenstelle, genutzte Leitung usw. Mehrsprachige Ansagen zur effizienten Verteilung ankommender Gespräche. Integriertes LDAP und XML Telefonbuch, flexible Dial-Pläne. Unterstützung für alle SIP-Video-Endgeräte, sofern diese H.264, H.263 oder H.263+ Codecs nutzen. Anrufbeantworter und Fax zu E-Mail Weiterleitung. Virtuelle Konferenzräume, WebRTC, PMS System mit Hotel Mini-Bar, Room Reservation und CTI Server. API Schnittstellen und Integration für Salesforce und SugarCRM. Backup Automatisierung mit Möglichkeit für externe Speicher. Firewall zur Steuerung von Zugang und Fail2ban für abwehr von Brute-Force und DDoS Angriffe. Syslog Protokollierung auf Remote Host zur Überprüfung und Fehlersuche. Asterisk Tool Kit und Linux Open Source basierend (ohne Lizenzkosten).

Grandstream App für Video anrufe auf iOS und Android Smartphone.

      

Die Mobile App Wave von Grandstream mit Möglichkeit für Nachrichten, Konferenz, Transfer und Video Verbindungen.

Abbildung: GXP1625, UCM6202
Mit Grandstream IP Telefone wird Zero Config Provisionierung mit automatischer Konfiguration über TR069 und XML möglich. die Geräte werden mit IP oder MAC Adresse gescannt, Geräte anderer Hersteller sind einsetzbar, mit herkömmlicher Provisionierung über TFTP Server oder das TR069 Protokoll, falls vom Hersteller vorgesehen, ansonsten gibt es die manuelle Einrichtung.

Hersteller Quelle:
Grandstream UCM6202 IP PBX Series
Open Source Asterisk Toolkit

 

KVM Hypervisor auf CentOS7

KVM ist eine Open-Source Hardware Virtualisierungssoftware, mit dieser Linux-basierte und Windows-basierte virtuelle Maschinen gleichzeitig ausgeführt werden können. KVM wird als Kernel-basierte Virtuelle Maschine bezeichnet und ist eine alternative zu VMware ESXi und Xen, dabei wird durch die Installation des KVM-Pakets das KVM-Modul in den aktuellen Kernel geladen und aus einer Linux-Maschine ein Hypervisor gebildet.

In diesem Beitrag wird gezeigt, wie ein KVM Hypervisor auf CentOS 7.x und RHEL 7.x installiert wird, um danach virtuelle Maschinen zu installieren.

INSTALLATION

Bevor man mit der KVM-Installation fortfährt, überprüft man ob die CPU des Systems die Hardware-Virtualisierung unterstützt. Dazu folgendes Command ausführen in der root Shell  

Es sollte in der Ausgabe das Wort vmx oder svm erscheinen, ansonsten unterstützt die CPU keine Virtualisierung. Möglicherweise lohnt sich ein gang in das System BIOS um die VT-x Boot Einstellung zu aktivieren.

Die KVM-Pakete und die zugehörigen Module werden installiert.

Der KVM Service kann nun aktiviert und gestartet werden.

Wir überprüfen ob die KVM Module auch wirklich gestartet wurden.

Falls eine Minimal CentOS 7 oder RHEL 7 Installation vorliegt, startet der virt-manager nicht, wir müssen also noch X-Window installieren.

Starte den Server neu und versuche dann, den virtual manager zu starten.

Bevor wir beginnen VMs zu deployen, erstellen wir zunächst ein Bridge Interface. Die Bridge-Schnittstelle ist erforderlich, wenn man zum Hypervisor von ausserhalb des Netzwerks auf virtuelle Maschinen zugreifen möchte. In unserem Beispiel heisst das Ethernet Interface ifcfg-eth0.

Bearbeite nun die Interface-Datei ifcfg-eth0 und trage folgendes ein:

Bearbeite die Bridge-Datei ifcfg-br0 und lege folgendes fest:

Starte den Netzwerkdienst neu um die Bridge zu aktivieren.

Überprüfe das Bridge Interface mit dem folgenden Befehl:

 Wer es lieber den Network-Manager machen lässt, der kann das Bridge Interface wie folgt erzeugen:

Virtuelle Maschinen können nun entweder über die Befehlszeile mit dem Befehl virt-install oder über das GUI virt-manager erzeugt werden.

Im GUI gehe hierzu auf die Option Datei und klicke auf New virtual Maschine.

Die virtuelle Maschine wird nun mit Hilfe des Wizard erzeugt.

Virtuelle Maschinen aus der Befehlszeile erstellen:

Aus dem virtual Manager werden die VMs hochgefahren und verwaltet, es wird der Status und die Systemlast angezeigt, ähnlich wie man es von vSphere kennt.

Abbildung: KVM virtual Manager

Weiter ist virt-manager aus Cygwin in Windows 10 ausführbar, hierzu muss Cygwin64 mit dem Xorg-Server und virt-manager installiert sein, mit dem virt-manager verbindet man zum KVM Hypervisor.

Abbildung: Cygwin virt-manager Verindung
Abbildung: Cygwin virt-manager

 

IPv6 Deaktivieren Ubuntu

IPv6 kann in bestimmten Situationen unerwünscht sein, für Systeme die auf IPv6 verzichten können, und nur unter IPv4 betrieben werden, kann das IPv6 Protokoll deaktiviert werden.

Bei Debian basierten Distributionen, Ubuntu 16.04 und 17.04 kann der IPv6 Stack wie folgt deaktiviert werden.

Soll nur ein bestemmtes Interface ohne IPv6 auskommen, zB. ens160.

Die Datei sysctl.conf speichern und die Einstellung aktivieren.

Möchte man IPv6 im laufenden betrieb deaktivieren, gilt folgendes command.

IPv6 ist nun deaktiviert, ein Reboot ist nicht notwendig.

Wird die Entfernung von IPv6 für laufende Daemons zum Verhängnis, so zB. beim SSH Server, kann die Konfiguration geändert werden.

Danach den SSH-Daemon restarten.

Bei Postfix kann ebenfalls erforderlich sein, das ipv4 loopback Interface anzupassen.

Die Überprüfung auf IPv6 Adressen.

 

IPv6 Deaktivieren CentOS

IPv6 kann in bestimmten Situationen unerwünscht sein, für Systeme die auf IPv6 verzichten können, und nur unter IPv4 betrieben werden, kann das IPv6 Protokoll deaktiviert werden.

Bei den Red Hat Distributionen, CentOS 7 kann der IPv6 Stack wie folgt deaktiviert werden.

Soll nur ein bestemmtes Interface ohne IPv6 auskommen, zB. ens160.

Die Datei sysctl.conf speichern und die Einstellung aktivieren.

Möchte man IPv6 im laufenden betrieb deaktivieren, gilt folgendes command.

IPv6 ist nun deaktiviert, ein Reboot ist nicht notwendig.

Wird die Entfernung von IPv6 für laufende Daemons zum Verhängnis, so zB. beim SSH Server, kann die Konfiguration geändert werden.

Danach den SSH-Daemon restarten.

Bei Postfix kann ebenfalls erforderlich sein, das ipv4 loopback Interface anzupassen.

Bei CentOS 6 kann das Kernel Modul angepasst werden.

Den IPv6 Stack deaktivieren.

Server Rebooten.

Überprüfung auf IPv6 Adressen.

 

450 4.7.1 Helo command rejected: Host not found

Mailserver prüfen bei eingehenden E-Mails den Reverse-Eintrag (PTR) der IP-Adresse vom sendenden Server. Stimmt der Hostname nicht mit der IP Adresse des absendenden Mailservers überein, wird das E-Mail mit der Fehlermeldung 450 4.7.1 abgewiesen.

Im Maillog wird mit NOQUEUE reject 450 4.7.1, hier durch Postfix wie folgt protokolliert.

In diesem Fall muss der Absender prüfen, ob die IP-Adresse seines Mailservers in der DNS Zone mit dem entsprechenden PTR-Record übereinstimmt.

Ist der sendende Mailserver bekannt und vertrauenswürdig, kann Postfix angewiesen werden eine Ausnahme durch die EHLO/HELO Überprüfung zu veranlassen.

Dazu wird eine Datei helo_access angelegt, mit folgendem Inhalt.

Danach postmap ausführen um die hash db zu erzeugen.

Postfix muss die Änderung zur Aktivierung noch übernehmen.

Im maillog kann nun überprüft werden ob die Emails angenommen werden. Mit mailq wird festgestellt ob sich noch nicht zugestellte Emails in der Queue befinden, und mit der Eingabe postqueue das zustellen gleich ausgelöst, mit tail wird das maillog geöffnet.

Oft sind es falsch konfigurierte Exchange Server die sich mit falschem, internen hostname melden, den korrekten FQDN stellt man in der ECP Konsole ein, beim zuständigen FrontendTransport Connector.

Besser noch man lässt den Exchange Server über ein Smarthost seine Mails versenden, dadurch bietet sich die Möglichkeit ausgehende Mails zusätzlich mit DKIM im Envelop zu versenden, was die Authentizität erhöht, und bei eingehenden Mails eine wirksame SPAM und Schadcode Filterung ermöglicht, etwa durch SpamAssassin oder mit Amavis-new.