NxRelay für das gesamte Netzwerk
NxRelay ist ein DNS-Relay-Server für NxCloud. Mit NxRelay können Sie einem Benutzer in NxCloud eine private IP-Adresse zuweisen.
Das bedeutet, dass Sie über Ihren Cloud-Filterdienst Richtlinien auf der Grundlage privater IP-Adressen hinter einem Router anwenden können.
So funktioniert es
NxRelay selbst ist ein weiterleitender DNS-Server. Es führt Filterung durch, indem es NxCloud abfragt, und fungiert als DNS-Server, indem es DNS-Anfragen
an Ihren lokalen DNS-Server weiterleitet.
Für NxRelay ist NxCloud nicht der Upstream-DNS-Server. Vielmehr handelt es sich um einen Richtlinienserver. Der Upstream-Server ist Ihr bestehender DNS-Server.
Das bedeutet, dass es auch bei einem Verbindungsabbruch zu NxCloud zu keinem DNS-Ausfall kommt.
Installation unter Windows
Wir stellen ein Windows-Installationsprogramm für NxRelay zur Verfügung. Es installiert NxRelay als Windows-Dienst und führt das GUI-Setup-Programm aus.
Wenn Sie den NxRelay-Dienst unter Windows manuell installieren müssen,
1. Laden Sie das ZIP-Paket herunter
2. Entpacken Sie es in c:/nxrelay
3. Passen Sie die Konfigurationsparameter in der Datei „c:/nxrelay/conf/cfg.properties“ an
Öffnen Sie die Eingabeaufforderung (CMD),
cd c:/nxrelay/bin
instsvc.bat
net start NxRelay
Installation unter Linux
Wenn Sie NxRelay mithilfe eines ZIP-Pakets installieren:
1. Laden Sie das ZIP-Paket herunter
2. Entpacken Sie es in /nxrelay
In der Befehlszeile,
cd /nxrelay
sudo chmod +x bin/*.sh
sudo cp script/nxrelay.service /lib/systemd/system/nxrelay.service
sudo systemctl enable nxrelay.service
sudo systemctl start nxrelay.service
Um es zu beenden,
sudo systemctl stop nxrelay.service
So richten Sie es ein
Sie benötigen die IP-Adresse Ihres NxCloud-Servers und ein Anmeldetoken von einem Ihrer Benutzerkonten. Es liest seine Konfigurationsparameter
aus der Datei /nxrelay/conf/cfg.properties.
Zum Beispiel:
server = 192.168.0.100
token = BSYEB28O
local_dns = 8.8.8.8,8.8.4.4
local_domain = mydomain.local
Wenn Sie diese Konfigurationswerte in der Konfigurationsdatei haben, lautet die IP-Adresse Ihres NxCloud-Servers 192.168.0.100 und das Anmeldetoken ist „BSYEB28O“
und Ihre lokalen DNS-Server bzw. die vorhandenen DNS-Server lauten 8.8.8.8 und 8.8.4.4. Wenn Sie bestimmte Domänen von der Filterung ausnehmen möchten,
können Sie diese als durch Kommas getrennte Werte unter „local_domain“ hinzufügen.
Nachdem Sie die Konfigurationsdatei geändert haben, überprüfen Sie die Konfigurationswerte und die Verbindung zum Server, indem Sie /nxrelay/bin/test.sh ausführen.
Starten Sie anschließend NxRelay neu und legen Sie es als einzigen DNS-Server für Ihr Netzwerk fest.
Konfigurationsparameter
NxRelay unterstützt die folgenden Parameter in /nxrelay/conf/cfg.properties,
- server
NxCloud-IP.
- token
Anmeldetoken eines Benutzers.
- local_dns
Upstream-DNS-Server oder lokaler DNS-Server, der die eigentliche DNS-Auflösung durchführt. Wenn hier kein DNS-Server
angegeben ist, verwenden wir 8.8.8.8 und 8.8.4.4.
- local_domain
Domains, die von der Filterung ausgenommen werden sollen. Sie können mehrere Domains durch Kommas getrennt hinzufügen.
- listen_ip
Sie können NxRelay so konfigurieren, dass es auf einer bestimmten IP-Adresse lauscht.
- block_redi_ip
Sie können Block Redirection IP von NxCloud überschreiben.
- use_https_dns
Sie können DNS over HTTPS (DoH) für die DNS-Auflösung aktivieren.
ex) 0 = false, 1 = true
- https_dns_type
Sie können einen DNS-over-HTTPS-Server auswählen, der als Ihr Upstream-DNS-Dienst verwendet werden soll.
ex) 1 = Cloudflare, 2 = Google, 3 = Custom DoH server
- https_dns_url
Wenn Sie sich für einen benutzerdefinierten DoH-Server entscheiden, müssen Sie die URL durch Setzen des Parameters „https_dns_url“ angeben.
- use_https_query
Wenn diese Option aktiviert ist, führt NxRelay seine Richtlinienabfragen über HTTPS durch.
ex) 0 = false, 1 = true
- https_query_port
Richtlinienabfragen über HTTPS verwenden TCP/443 at default but if you need to use another port
you can change it here.
- query_cache_ttl
NxRelay verfügt über einen Cache von 300 Sekunden für ein Abfrageergebnis von seinem Richtlinienserver. Sie können einen Wert
zwischen 0 und 3600 Sekunden festlegen. Wenn Sie den Wert erhöhen, wird der Datenverkehr zu Ihrem Richtlinienserver reduziert
, aber Änderungen an Ihrer Filterrichtlinie werden erst nach Ablauf des Caches übernommen.
ex) 0 = bypass, 300 = 5 minutes, 1200 = 20 minutes
- a_query_only
Wenn diese Option aktiviert ist, filtert NxRelay nur Abfragen vom Typ A und AAAA, wodurch Sie eine bessere Leistung erzielen.
ex) 0 = false, 1 = true
- run_mapper
NxRelay verfügt über ein integriertes NxMapper-Modul, um den Active-Directory-Anmeldenamen zu senden, wenn Sie es auf einem Domänencontroller installieren.
- radius_accounting_port
Der Port, über den Sie RADIUS-Abrechnungsanfragen empfangen. Wir verwenden UDP/1813 at default.
- radius_shared_secret
Gemeinsame Geheimzeichenfolge für die Kommunikation Ihres WLAN-Routers mit NxRelay.
- radius_enable_logout
Die Anmeldesitzung des Benutzers beenden, wenn der Statustyp einer Abrechnungsanfrage 'Stop'.
ex) 0 = false, 1 = true
- use_radius
RADIUS-Abrechnungsserver ausführen.
ex) 0 = false, 1 = true
- drop_blocked_request_type
Aktiviert die Steuerung der Anforderungstypen auf NxRelay. Sie können blockierte Anforderungstypen unter
DNS > Server Protection > Request Type Control .
ex) 0 = false, 1 = true
Welche Richtlinie soll angewendet werden?
Standardmäßig wendet NxRelay die Filterrichtlinie an, die mit dem in seiner Konfigurationsdatei angegebenen Anmeldetoken verknüpft ist.
Dies ist die Standardrichtlinie für NxRelay. Wenn Sie mehrere Richtlinien für die Benutzer in Ihrem Netzwerk anwenden möchten,
können Sie die von NxRelay erkannten privaten IP-Adressen den Benutzern zuordnen, die Sie in der NxCloud-Operator-Benutzeroberfläche angelegt haben. Außerdem können Sie die von NxRelay erkannten Windows-
Benutzernamen mit den Richtlinien verknüpfen, die Sie in NxCloud erstellt haben.
Hilfsskripte
In /nxrelay/bin
there are several utility scripts included.
- startup.sh : Starting NxRelay
- shutdown.sh : Stopping NxRelay
- test.sh : Test the connectivity to NxCloud
- ping.sh : Test if it is running
Für Windows gibt es zwei weitere,
- instsvc.bat : Installing NxRelay service
- unstsvc.bat : Uninstall NxRelay service
Für Ubuntu Linux steht ein systemd-Skript zur Verfügung: /nxrelay/script/nxrelay.service.
Active-Directory-Integration über die Cloud
Die Active-Directory-Integration über die Cloud ist mit NxRelay möglich. Wenn Sie NxRelay
auf einem Domänencontroller in Ihrem Active Directory installieren, kann es angemeldete AD-Benutzernamen erkennen und an seinen Server senden.
Dies sind die Voraussetzungen für die Implementierung der Active-Directory-Integration über die Cloud.
1. Installieren Sie NxRelay auf einem Domänencontroller
Damit NxRelay angemeldete Benutzernamen erkennen kann, müssen Sie es auf einem Domänencontroller installieren. Es kann jedoch
zu einem Portkonflikt mit Ihrem bestehenden MS-DNS-Server kommen. In diesem Fall können Sie
eine weitere IP-Adresse auf Ihrem Server hinzufügen und Ihren MS-DNS-Server an die eine IP-Adresse sowie NxRelay an die andere
IP-Adresse zuweisen.
2. Verwenden Sie Ihren Active-Directory-DNS-Server als lokalen DNS-Server
In Active Directory spielt DNS eine entscheidende Rolle. Um die Integration mit Active
Directory-Integration zu vermeiden, müssen Sie Ihren MS-DNS-Server als Local DNS of NxRelay and bypass your
Active Directory domain as the Local Domain of NxRelay.
Die „Active-Directory-Integration über die Cloud“ unterscheidet sich jedoch etwas von der
„Active-Directory-Integration“ in Ihrem lokalen Netzwerk mit NxFilter. Auf NxCloud unterstützen wir keinen Benutzerimport aus Active Directory.
Es handelt sich also noch nicht um eine vollständige Active-Directory-Integration. Der Active-Directory-Benutzername wird jedoch weiterhin im Format „tokenname_username“
in Ihrer Protokollansicht angezeigt, sodass Sie erkennen können, um wen es sich handelt.
Wenn Sie beispielsweise den Benutzer „john100“ in Ihrem Active Directory haben und NxRelay mit dem Anmeldetoken des Benutzers „myrelay“
auf NxCloud ausführen, werden dessen DNS-Anfragen als „myrelay_john100“ auf Logging > DNS Request.
Und die Standardrichtlinie für „john100“ wäre die Richtlinie von „myrelay“.
Wenn Sie für „john100“ eine andere Richtlinie anwenden möchten, können Sie den exakt übereinstimmenden Benutzernamen
„john100“ auf NxCloud anlegen oder „myrelay_john100“ in der NxCloud-Operator-GUI mit einer Richtlinie verknüpfen.
Benutzererkennung durch 802.1X-WLAN-Authentifizierung
NxRelay verfügt über ein integriertes RADIUS-Accounting-Server-Modul. Dieses Modul ist dasselbe, das wir auch bei NxFilter für Single Sign-On
bei der 802.1X-WLAN-Authentifizierung verwenden. NxRelay sendet die erkannten Benutzernamen an NxCloud.
Um zu verstehen, wie dies funktioniert, lesen Sie Single Sign-On per 802.1X
Benutzererkennung durch CxLogon
NxRelay unterstützt CxLogon seit Version 2.6.4. Das bedeutet, dass Sie die angemeldeten Benutzernamen auf den PCs in Ihrem
Netzwerk auch ohne Active Directory erkennen können. Um mehr über CxLogon zu erfahren,
lesen Sie Single Sign-On über CxLogon.
Standardmäßig wird der erkannte Benutzername im Format „tokenname_username“ angezeigt. Wenn Sie jedoch
einen exakt übereinstimmenden Benutzernamen in NxCloud anlegen, wird der Benutzername unverändert angezeigt, und Sie können dem Benutzer eine bestimmte
Richtlinie zuweisen. Dies ist dieselbe Regel, die wir bei Active-Directory-Integration über die Cloud.
Massenumgehung von Domänen
Sie können den Datenverkehr zu NxCloud reduzieren, indem Sie Domänen aus Richtlinienabfragen in großem Umfang umgehen. Um Domänen in großem Umfang zu umgehen, müssen Sie die Datei
/nxrelay/conf/bypass.txt erstellen und Domänen in die Datei eintragen.
Sie können ein Sternchen verwenden, um Subdomänen einzuschließen.
Die Domänen in der Datei müssen wie unten gezeigt durch Zeilenumbrüche getrennt sein:
www.jahastech.com
mail.jahastech.com
*.nxfilter.org
NxRelay und NxFilter
Möglicherweise arbeiten Sie für ein Unternehmen mit mehreren Niederlassungen. Sie möchten alle Niederlassungen zentral filtern.
Außerdem möchten Sie eine Benutzerauthentifizierung und Single Sign-On nutzen, wie Sie es mit NxFilter in einem lokalen Netzwerk tun.
Sie möchten jedoch NxCloud nicht einsetzen, da Sie der einzige Administrator sind. Sie möchten sich nicht bei jeder Operator-GUI anmelden, um Richtlinien zu ändern.
All dies können Sie mit NxRelay und NxFilter erreichen.
Mit NxRelay können Sie private IP-Adressen hinter einem Router Ihren Benutzern in NxFilter zuordnen.
Außerdem können Sie AD-Benutzer in Ihren NxFilter importieren und anschließend NxRelay in jeder Zweigstelle ausführen, um AD-Benutzernamen zu erkennen.
NxRelay unterstützt zudem CxLogon für Single Sign-On ohne Active Directory. Und Sie können eine 802.1X-WLAN-Authentifizierung implementieren.
Es ist also fast so, als gäbe es kaum einen Unterschied zum Betrieb von NxFilter in einem lokalen Netzwerk.
Es gibt jedoch eine Bedingung: Jede Zweigstelle muss einen anderen IP-Bereich verwenden. Wenn beispielsweise Zweigstelle Nr. 1 den Bereich 192.168.0.0/24 nutzt,
sollte die Zweigstelle Nr. 2 einen anderen verwenden, z. B. 192.168.0.1/24. Dies dient dazu, IP-Kollisionen zu verhindern.
Domänenumleitung
Möglicherweise möchten Sie Domain-Umleitungen für Ihr lokales Netzwerk einrichten, in dem NxRelay läuft.
Um Domain-Umleitungen einzurichten, erstellen Sie die Datei /nxrelay/conf/redirection.txt und
fügen Sie die Zuordnung von Domains zu IP-Adressen wie unten gezeigt in die Datei ein:
router.mynet.local 192.168.0.1
printer.mynet.local 192.168.0.10
*.myorg.local 192.168.0.12
wpad 192.168.0.20
wpad.mynet.local 192.168.0.1
Steuerung des Anfragetyps
Sie können bestimmte Arten von DNS-Anfragen durch NxRelay blockieren. NxRelay ruft die Einstellungen zur Anfragetypsteuerung von NxFilter ab und verwirft
die Anfragen des blockierten Typs. Um diese Funktion zu aktivieren, müssen Sie den Wert von „drop_blocked_request_type“ in der
Datei /nxrelay/conf/cfg.properties wie folgt auf „1“ setzen:
drop_blocked_request_type = 1