NxFilter Tutorial

  • EN English
  • DE Deutsch
  • ES Español
  • FR Français
  • IT Italiano
  • JP 日本語
  • BR Português
  • RU Русский
  • TR Türkçe
ネットワーク全体向けのNxRelay
NxRelayは、NxCloud向けの中継DNSサーバーです。NxRelayを使用すると、NxCloud上のユーザーにプライベートIPを関連付けることができます。 つまり、クラウドフィルタリングサービスから、ルーターの背後にあるプライベートIPに基づいてポリシーを適用できるようになります。

NxRelayをNxFilterと組み合わせて使用することで、複数の支店のフィルタリングや、クラウド経由でのActive Directoryとの統合を実現できます。 これについては、 NxRelay と NxFilter のパートで説明します。

Globlist は NxRelay をサポートしていません。


仕組み
NxRelay自体は転送用DNSサーバーです。NxCloudにクエリを送信してフィルタリングを行い、DNSクエリを ローカルのDNSサーバーに転送することでDNSサーバーとして機能します。 NxRelay にとって、NxCloud はそのアップストリーム DNS サーバーではありません。むしろ、ポリシーサーバーです。そのアップストリームサーバーは、既存の DNS サーバーです。 つまり、NxCloud への接続が切断されても、DNS の障害は発生しません。

以下のシグナルを送信します。 START and PING signals. You can see if it's running on Logging > Agent Signal on NxCloud GUI.


Windowsへのインストール
NxRelay用のWindowsインストーラーを提供しています。これにより、NxRelayがWindowsサービスとしてインストールされ、GUIセットアッププログラムが実行されます。

Windows に NxRelay サービスを手動でインストールする必要がある場合は、

1. ZIP パッケージをダウンロードします

2. それを c:/nxrelay

3. c:/nxrelay/conf/cfg.properties 内の設定パラメータを変更します

コマンドプロンプト(CMD)で、


	cd c:/nxrelay/bin
	instsvc.bat
	net start NxRelay


Linux へのインストール
NxRelay には DEB および RPM パッケージが用意されています。NxFilter と同様の方法で NxRelay をインストールできます。 詳細については、以下を参照してください。 Linux への NxFilter のインストール.

ZIP パッケージを使用して NxRelay をインストールする場合:

1. ZIP パッケージをダウンロードします

2. 以下のディレクトリに解凍します /nxrelay

コマンドラインで、


	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

停止するには、


	sudo systemctl stop nxrelay.service

起動する前に、/nxrelay/conf/cfg.properties 内の設定パラメータを変更する必要があります。


設定方法
NxCloudサーバーのIPアドレスと、ユーザーアカウントのいずれかから取得したログイントークンが必要です。設定パラメータは /nxrelay/conf/cfg.properties ファイルから読み込まれます。

例えば、


	server = 192.168.0.100
	token = BSYEB28O
	local_dns = 8.8.8.8,8.8.4.4
	local_domain = mydomain.local

設定ファイルにこれらの設定値がある場合、NxCloud サーバーの IP アドレスは 192.168.0.100、ログイントークンは 'BSYEB28O' 、ローカル DNS サーバーまたは既存の DNS サーバーは 8.8.8.8 および 8.8.4.4 となります。フィルタリングの対象から除外するドメインがある場合は、 それらを 'local_domain' の値としてカンマ区切りで追加できます。

設定ファイルを修正した後、/nxrelay/bin/test.sh を実行して、設定値とサーバーへの接続性を確認してください。 その後、NxRelay を再起動し、ネットワークの唯一の DNS サーバーとして設定してください。

複数の NxCloud サーバーの IP アドレスをコンマで区切って追加できます。

/nxrelay/bin/test.sh を実行することで、設定値と接続性を確認できます。


設定パラメータ
NxRelay は、/nxrelay/conf/cfg.properties 内で以下のパラメータをサポートしています。

- server

NxCloudのIPアドレス。

- token

ユーザーのログイントークン。

- local_dns

実際のDNS解決を行うアップストリームDNSサーバーまたはローカルDNSサーバー。ここにDNSサーバーが 指定されていない場合、8.8.8.8 および 8.8.4.4 が使用されます。

- local_domain

フィルタリングの対象外とするドメイン。カンマで区切って複数のドメインを追加できます。

- listen_ip

NxRelay を特定の IP アドレスでリスニングさせることができます。

- block_redi_ip

NxCloud の Block Redirection IP を上書きできます。

- use_https_dns

DNS 解決に DNS over HTTPS (DoH) を有効にできます。
    ex) 0 = false, 1 = true

- https_dns_type

アップストリーム DNS サービスとして使用する DNS over HTTPS サーバーを選択できます。
    ex) 1 = Cloudflare, 2 = Google, 3 = Custom DoH server

- https_dns_url

カスタム DoH サーバーを選択する場合は、「https_dns_url」パラメータを設定して URL を指定する必要があります。

- use_https_query

このオプションを有効にすると、NxRelay は HTTPS 経由でポリシークエリを実行します。
    ex) 0 = false, 1 = true

- https_query_port

HTTPS 経由のポリシークエリでは、 TCP/443 at default but if you need to use another port you can change it here.

- query_cache_ttl

NxRelay は、ポリシーサーバーからのクエリ結果に対して 300 秒のキャッシュを設定しています。0 から 3600 秒までの範囲で 数値を設定できます。 この値を大きくすると、ポリシーサーバーへのトラフィックは減少しますが、 フィルタリングポリシーの変更はキャッシュの有効期限が切れてから反映されます。
    ex) 0 = bypass, 300 = 5 minutes, 1200 = 20 minutes

- a_query_only

このオプションを有効にすると、NxRelay は A および AAAA タイプのクエリのみをフィルタリングするため、パフォーマンスが向上します。
    ex) 0 = false, 1 = true

- run_mapper

NxRelay には NxMapper モジュールが統合されており、ドメインコントローラーにインストールすると、Active Directory のログインユーザー名を送信します。

- radius_accounting_port

RADIUSアカウンティングリクエストを受信するポート。デフォルトでは UDP/1813 at default.

- radius_shared_secret

Wi-FiルーターがNxRelayと通信するための共有秘密鍵文字列。

- radius_enable_logout

アカウンティングリクエストのステータスタイプが 'Stop'.
    ex) 0 = false, 1 = true

- use_radius

RADIUSアカウンティングサーバーを実行します。
    ex) 0 = false, 1 = true

- drop_blocked_request_type

NxRelay でリクエストタイプの制御を有効にする。ブロックするリクエストタイプは DNS > Server Protection > Request Type Control .
    ex) 0 = false, 1 = true


適用するポリシー
デフォルトでは、NxRelayは設定ファイルで指定されたログイントークンに紐付けられたフィルタリングポリシーを適用します。 これがNxRelayのデフォルトポリシーです。ネットワーク内のユーザーに対して複数のポリシーを適用したい場合は、 NxRelay が検出したプライベート IP アドレスを、NxCloud オペレーター GUI で作成したユーザーに関連付けることができます。また、NxRelay が検出した Windows ユーザー名を、NxCloud で作成したポリシーに関連付けることも可能です。

NxCloud v4.7.1.3 以降では、NxRelay が検出したユーザーを、 Policy > Policy > EDIT オペレーター GUI 上のポリシーに関連付けることができます。


ユーティリティスクリプト
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

Windows用には、これらのスクリプトの.batバージョンが用意されています。

Windows用にはさらに2つ用意されており、

  • instsvc.bat : Installing NxRelay service
  • unstsvc.bat : Uninstall NxRelay service

Ubuntu Linux用には、/nxrelay/script/nxrelay.service というsystemdスクリプトが用意されています。


クラウド経由のActive Directory連携
NxRelayを使用すると、クラウド経由のActive Directory連携が可能です。Active Directory内のドメインコントローラーにNxRelayを インストールすると、ログイン中のADユーザー名を検出してサーバーに送信することができます。

クラウド経由の Active Directory 連携を実装するための条件は以下の通りです。

1. ドメインコントローラーに NxRelay をインストールする

NxRelay がログイン中のユーザー名を検出するには、ドメインコントローラーに NxRelay をインストールする必要があります。 ただし、 既存の Microsoft DNS サーバーとのポート競合が発生する可能性があります。その場合は、 サーバーに IP アドレスをもう 1 つ追加し、Microsoft DNS サーバーを 1 つの IP アドレスに、NxRelay をもう 1 つの IP アドレスにバインドすることができます。

CxLogon または 802.1X WiFi 認証を使用する場合は、別のサーバーに NxRelay をインストールできます。

2. Active Directory DNS サーバーをローカル DNS サーバーとして使用する

Active Directory において、DNS は極めて重要な役割を果たしています。Active Directory との統合に支障をきたさないようにするには、MS DNS サーバーを NxRelay の Local DNS of NxRelay and bypass your Active Directory domain as the Local Domain of NxRelay.

ただし、「クラウド経由の Active Directory 連携」は、 NxFilter を使用してローカルネットワーク内で「Active Directory 連携」を行う場合とは少し異なります。 NxCloudでは、Active Directoryからのユーザーインポートはサポートされていません。 そのため、現時点では完全なActive Directory統合とは言えません。ただし、ログビューには「tokenname_username」という形式でActive Directoryのユーザー名が表示されるため、 誰が誰であるかを特定することは可能です。

例えば、Active Directory に「john100」というユーザーが存在し、NxCloud 上で「myrelay」 ユーザーのログイントークンを使用して NxRelay を実行した場合、そのユーザーの DNS リクエストは Logging > DNS Requestに「myrelay_john100」として表示されます。 また、「john100」に対するデフォルトのポリシーは、「myrelay」のポリシーとなります。 「john100」に別のポリシーを適用したい場合は、NxCloud上に「john100」という完全に一致するユーザー名を作成するか、 NxCloudオペレーターGUIで「myrelay_john100」をポリシーに紐付けることができます。

NxCloud v4.7.1.3 以降では、NxRelay によって検出されたユーザーを、 Policy > Policy > EDIT オペレーター GUI のポリシーにリンクできるようになりました。


802.1X Wi-Fi 認証によるユーザー検出
NxRelay には、RADIUS アカウンティングサーバーモジュールが統合されています。 このモジュールは、802.1X Wi-Fi認証によるシングルサインオンでNxFilterと共に使用するものと同じです。 NxRelayは、検出したユーザー名をNxCloudに送信します。 その仕組みを理解するには、 0x117


0x118
NxRelayはv2.6.4以降、CxLogonに対応しています。これにより、Active Directoryがなくても、 ネットワーク内のPCでログイン中のユーザー名を検出できます。CxLogonの詳細については、 以下を参照してください。 CxLogonによるシングルサインオン.

デフォルトでは、検出されたユーザー名は「tokenname_username」という形式で表示されますが、 NxCloud上で完全に一致するユーザー名を作成すると、ユーザー名がそのまま表示され、そのユーザーに特定の ポリシーを割り当てることができます。 これは、 0x123.


0x125
0x126


	www.jahastech.com
	mail.jahastech.com
	*.nxfilter.org


NxRelay と NxFilter
0x128

NxRelayを使用すると、ルーターの背後にあるプライベートIPをNxFilter上のユーザーに関連付けることができます。 また、ADユーザーをNxFilterにインポートし、各支店でNxRelayを実行してADユーザー名を検出することも可能です。 NxRelayは、Active Directoryを使用しないシングルサインオン(SSO)のためのCxLogonもサポートしています。また、802.1X Wi-Fi認証も実装可能です。 つまり、ローカルネットワークでNxFilterを運用する場合とほとんど違いがないと言えます。 ただし、1つ条件があります。 各支店では、それぞれ異なるIPアドレス範囲を使用する必要があります。例えば、支店1が192.168.0.0/24を使用している場合、 支店2では192.168.0.1/24のような別の範囲を使用する必要があります。これは、IPアドレスの衝突を防ぐためです。


ドメインリダイレクト
NxRelay を実行しているローカルネットワークでは、ドメインリダイレクトを設定することをお勧めします。 ドメインリダイレクトを設定するには、/nxrelay/conf/redirection.txt ファイルを作成し、 以下のようにドメインと IP の対応関係をファイルに追加してください。


	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


リクエストタイプの制御
NxRelay による特定の種類の DNS リクエストをブロックできます。NxRelay は NxFilter からリクエストタイプ制御の設定を取得し、 ブロックされたタイプのクエリを破棄します。この機能を有効にするには、 /nxrelay/conf/cfg.properties ファイル内で 'drop_blocked_request_type' を '1' に設定する必要があります。

drop_blocked_request_type = 1