Springe zum Inhalt

2

Einige Distributionen haben auf das als eierlegende Wollmilchsau beschriebene und von anderen mehr als gehasste systemd umgestellt. Ein Service, der den Startprozess einfacher, paralleler und konfigurierbarer machen soll. In der mitgelieferten Konfiguration von systemd funktioniert auch alles erst mal nach einer frischen Installation, allerdings ist entsprechend der am meisten eingesetzten Konfigurationen vorgegeben, in welcher Reihenfolge was gestartet wird.

Beispiel NFS und Strongswan

Die Entwickler haben sich gedacht, dass wohl in den meisten Konfigurationen erst mal NFS gemounted werden muss und erst dann IPSEC bzw. Strongswan gestartet werden kann, denn es könnte ja sein, dass z.B. /usr ein NFS-Mountpoint ist, aus dem Strongswan erst nach dem Mounten seine Dateien laden könnte. Soweit so gut.

Was aber nun, wenn die NFS-Mountpoints, wie bei mir, erst über bestehende IPSEC-Tunnel erreichbar sind? Dann muss manuell Hand angelegt werden. In die einzelnen mnt-*.mount-Files kann nichts manuell eingetragen werden, da diese beim Systemstart automatisch von systemd-fstab-generator erzeugt werden. Abhängigkeiten können dort also keine eingetragen werden. Abhilfe schafft nur, dass in strongswan.service eingetragen wird, dass die Unit vor remote-fs.target gestartet werden muss. Dazu wird "Before=remote-fs.target" in strongswan.service eingetragen:

# cat /etc/systemd/system/multi-user.target.wants/strongswan.service
[Unit]
Description=strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf
After=network.target
Before=remote-fs.target
 
[Service]
ExecStart=/usr/sbin/ipsec start --nofork
ExecReload=/usr/sbin/ipsec reload
StandardOutput=syslog
 
[Install]
WantedBy=multi-user.target

Zum Aktualisieren der Konfiguration anschließend noch ein "systemctl daemon-reload" und ab jetzt wird beim Booten Strongswan vor den NFS-Mounts gestartet.

Schwerwiegende Fehler in Anwendungen oder Windows-Komponenten, dann wenn ein Programm abstürzt, werden vom Windows Error Reporting (in deutschsprachigen Versionen: Windows Fehlerberichterstattung) abgefangen. Diese Windows-Komponente erstellt daraufhin ein Speicherabbild der fehlerhaften Anwendung und läd diese Informationen anschließend auf Microsoft-Server hoch.

Beim Entwickeln von Anwendungen bedient man sich des Umstandes, dass durch speziell ausgelöste Programmfehler ein Windows-Dialog angezeigt wird, in dem man einen auf dem System installierten Debugger auswählen kann, um sein eigenes Programm weiter zu testen. Leider wird durch das Windows Error Reporting dieser Dialog schon abgefangen und man hat keine Möglichkeit mehr, das eigene Programm zu testen, ohne es direkt aus dem Entwicklungs-Debugger (z.B. Visual Studio) gestartet zu haben. ...weiterlesen "Windows Error Reporting abschalten"

Da auch mein Anschluß nun von der Telekom-Zielnetzarchitektur auf BNG umgestellt wurde, trat auch hier das Problem zutage, dass igmproxy im EdgeRouter angeblich nicht mit VLAN-getaggten Schnittstellen umgehen kann. Doch es gibt eine Lösung, welche ich in einem Forenbeitrag unten beschrieben habe, da ich denke, dass auch hier wieder erhöhter Diskussionsbedarf wie in meinem älteren Beitrag zu IPTV mit dem EdgeRouter entsteht.

Update (hier der Inhalt aus dem ehemaligen Forum):

Ich habe gute Nachrichten für alle, die von obigem Fehler bei Telekom-IPTV mit dem EdgeRouter geplagt sind. Die Fehlermeldung wird von igmproxy (welcher zum Routen der Multicast-Pakete und Verarbeiten von IGMP erforderlich ist) verursacht und findet sich in /var/log/messages des EdgeRouters.

Lt. dem Ubiquity-Forum unterstützt igmproxy in der aktuellen Version keine VLAN-Interfaces, wie sie für die Internetanschlüsse der Telekom erforderlich sind. Das ist falsch. Vielmehr unterstützt igmproxy keine Interfaces, welchen keine IP-Adresse zugewiesen wurde. Es lässt sich sehr wohl so konfigurieren, dass auch der EdgeRouter korrekt mit Telekom-IPTV zusammenarbeitet.

Für die (alte) Zielnetzarchitektur:

  • eth1.8, VLAN 8 holt eine IP-Adresse per DHCP von der Telekom (meist 10.*.*.*)
  • als Upstream-Interface kann dann eth1.8 beim igmproxy eingestellt werden

Für Kunden, die schon auf BNG umgestellt sind:
Alles läuft nur noch über VLAN 7. Jedoch erhält das Interface eth1.7 keine IP-Adresse, sondern erst das "hintendran" hängende pppoe0.

  • pppoe0 als Upstream-Interface in igmproxy einstellen

Folgende Firewall-Regeln müssen noch für das jeweilige Interface festgelegt werden:

  1. rule 10 {
  2.      action accept
  3.      description "Allow IPTV Multicast UDP"
  4.      destination {
  5.          address 224.0.0.0/4
  6.      }
  7.      log disable
  8.      protocol udp
  9.  }
  10.  rule 20 {
  11.      action accept
  12.      description "Allow IGMP"
  13.      log disable
  14.      protocol igmp
  15.  }

Anschließend funktioniert IPTV sofort.

Merkzettel für das Einrichten einer Bridge für libvirt (damit VMs auch ohne NAT mit der Außenwelt reden können bzw. die VM auch von außen ohne Kunstgriffe erreichbar ist):

  • Network-Manager stoppen und deaktivieren:
    1. systemctl stop NetworkManager.service
    2. systemctl disable NetworkManager.service
  • Interface Settings manuell in /etc/network/interfaces eintragen, Bridge-Parameter angeben und Nameserver manuell festlegen:
    1. auto br0
    2.      address 192.168.0.10
    3.      netmask 255.255.255.0
    4.      gateway 192.168.0.1
    5.      bridge_ports enp3s0
    6.      bridge_stp on
    7.      bridge_maxwait 0
    8.      dns-search local
    9.      dns-nameserver 192.168.0.1
  • Rechner neustarten

Die Bridge sollte nun korrekt konfiguriert sein und folgendermaßen aussehen:

  1. # ifconfig br0
  2. br0       Link encap:Ethernet  Hardware Adresse 50:xx:xx:xx:xx:xx  
  3.           inet Adresse:192.168.0.10  Bcast:192.168.0.255  Maske:255.255.255.0
  4.           inet6-Adresse: fe80::xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Verbindung
  5.           inet6-Adresse: 2003:86:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Global
  6.           inet6-Adresse: 2003:86:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Gültigkeitsbereich:Global
  7.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
  8.           RX-Pakete:39478 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
  9.           TX-Pakete:41158 Fehler:0 Verloren:0 Überläufe:0 Träger:0
  10.           Kollisionen:0 Sendewarteschlangenlänge:1000 
  11.           RX-Bytes:42091131 (42.0 MB)  TX-Bytes:6646905 (6.6 MB)
  12.  
  13. # brctl show br0
  14. bridge name	bridge id		STP enabled	interfaces
  15. br0             8000.50xxxxxxxxxx       yes             enp3s0

Anschließend kann die Bridge dann auch virtuellen Maschinen mit z.B. virt-manager zugewiesen werden:

Bridge Interface in virt-manager

1

Das beste Monitoring ist eher nervig, wenn die Auswertungen oder Graphen nicht ansprechend aussehen oder zu kompliziert zu bedienen sind. Hier setzt die Opensource Software Grafana Maßstäbe: ein schlichtes Design verbunden mit vielen verschiedenen Widgets, die sich aus den unterschiedlichsten Datenquellen füttern lassen. Dazu komplett im Browser zu erstellende Dashboards, die das Admin-Herz höher schlagen lassen. Obendrauf noch die einfach zu installierende App worldPing, welche verschiedene Checks von Rechnern aus der ganzen Welt aus ausführt. Fertig ist das Monitoring der eigenen Webseite. Und das auch noch kostenlos. ...weiterlesen "worldPing: Monitoring der eigenen Webseite leicht gemacht"