本文へ移動

スマート接続

スマート接続 は、標準 FNOS FPK において、インターネットから直接到達するサブドメインモードで使用できる LAN 向けスプリット DNS 機能です。インターネット側では引き続き nas.example.com が公開エントリーポイントへ名前解決されますが、LAN 内のデバイスはローカルの dnsmasq からデバイスのプライベート IPv4 を取得し、NAT ループバックやインターネットを迂回するアクセスを避けられます。

変更されるのは DNS の名前解決だけです。Host マッピングの作成、公開 DNS の変更、実行モードの切り替えは行いません。

利用条件

次の条件をすべて満たす場合に有効にしてください。

  1. 現在のモードが サブドメインモード であり、トンネル → サブドメインマッピング ではない。
  2. 認証 Host と、1 件以上のサービス用 Host マッピングが設定済みである。
  3. fn-knock を実行するデバイスに、安定したプライベート IPv4 がある。
  4. LAN 内のクライアントが、このデバイスを DNS サーバーとして使用する。
  5. ポート 53 を、スマート接続で使用する dnsmasq がリッスンしており、他の DNS サービスと競合していない。
  6. 標準 FNOS FPK で実行しており、ホストの dnsmasq とサービス管理機能を利用できる。

サブドメインのエントリーポイント設定については、サブドメインモードのセットアップサブドメインマッピングを参照してください。

DNS の経路

text
インターネット上のデバイス -> 公開 DNS -> 公開エントリーポイント -> fn-knock
LAN 内のデバイス            -> ローカル dnsmasq -> 192.168.31.20 -> fn-knock

スマート接続は、現在の Host マッピングに含まれる認証 Host とサービス用 Host を自動的に同期します。たとえば次のようになります。

text
auth.example.com  -> 192.168.31.20
nas.example.com   -> 192.168.31.20
alist.example.com -> 192.168.31.20

以後 Host マッピングを追加または削除すると、再同期が実行されます。利用可能な Host がない場合は有効にできません。

アクセスポリシーへの影響

スマート接続は、経路を短縮するだけの機能ではありません。トラフィックが LAN 経由になると、通常はゲートウェイがクライアントをプライベートネットワークの送信元として認識し、認証結果が local_exempt になります。

  • ログインを必須にする が有効な Host でも、その LAN 内の送信元には事前ログインを求めません。
  • 過去の設定にある厳格なホワイトリストルールでも、ローカルの送信元は許可され、LAN 内のデバイスに公開側のホワイトリスト登録を強制しません。
  • ブラウザーからログアウトしても終了するのはセッションだけで、ネットワークの local_exempt 属性は解除されません。

そのため、スマート接続を有効にすると、その LAN を信頼境界の内側に含めることになります。ゲスト Wi-Fi、信頼できない VLAN、複数人で共有するネットワークでは、ネットワーク内のデバイスにローカル例外を与えることを受け入れられない限り、同じスプリット DNS を直接使用しないでください。

公開側の認証は、モバイルネットワークなど実際の外部経路から検証する必要があります。スプリット DNS が有効な Wi-Fi 上ではテストできません。

設定

場所:システム設定 → 機能 → スマート接続

  1. スマート接続 を有効にします。
  2. リソースの準備ができていないと表示された場合は、先に dnsmasq をインストールして初期化します。
  3. LAN 内のクライアントから実際に到達可能なプライベート IPv4(例:192.168.31.20)を選択します。
  4. 保存と同期 をクリックし、同期対象のドメイン数と最終同期時刻を確認します。
  5. ルーターの DHCP で、DNS サーバーをそのプライベート IPv4 に設定します。最初はテスト用デバイス 1 台だけに手動設定することもできます。
  6. ネットワーク設定を再取得し、キャッシュが更新された後に各サブドメインを照会します。

メインの LAN インターフェースのアドレスを選択してください。Docker ブリッジ、トンネル、内部通信専用の仮想インターフェースは選択しないでください。

クライアントはこの DNS を使用する必要がある

管理画面で保存に成功したことは、ローカルに dnsmasq ルールを書き込み、再読み込みできたことだけを意味します。ルーターが別の DNS をクライアントへ配布している場合や、ブラウザーでローカル DNS を迂回する暗号化 DNS が有効な場合は、引き続き公開アドレスが返される可能性があります。

ローカルルールの TTL は約 30 秒です。変更後はキャッシュの期限切れを待つか、Wi-Fi に再接続するか、OS とブラウザーの DNS キャッシュを更新してください。

検証時には次を照会します。

text
auth.example.com
nas.example.com

返される値が選択したプライベート IPv4 であることを確認します。その後、リクエストログの送信元も LAN で想定した値になっている必要があります。

dnsmasq の状態

状態意味
未インストール利用可能な dnsmasq プログラムがない
初期化待ちプログラムは存在するが、サービスまたは初期設定の準備が完了していない
停止中設定は存在するが、現在サービスが正常に動作していない
準備完了ルールを書き込み、サービスを再読み込みできる

初期化に失敗した場合は、先に 53/tcp53/udp の使用状況を調べ、次に実行環境から dnsmasq サービスを管理できるか確認します。2 つの DNS サービスに同じアドレスとポートを同時にバインドさせないでください。

プラットフォームごとの制限

  • FNOS ネイティブ FPK ではスマート接続を使用できます。dnsmasq がない場合は、ページから apt-get でのインストールを試行できます。
  • OpenWrt はスマート接続に対応していません。LAN のスプリット DNS が必要な場合は、OpenWrt の dnsmasq、DHCP、または別のローカル DNS で設定してください。
  • Docker はサポートされません。コンテナがホストに代わって dnsmasq とポート 53 を管理することはできず、バックエンドはこの機能を非表示にするか拒否します。
  • 汎用 Linux パッケージではスマート接続を利用できません。必要な場合は、ルーターまたは独立した DNS サーバーでスプリット DNS を設定してください。
  • Synology DSM 7 SPK はスマート接続をサポートせず、アプリ内で dnsmasq または LAN DNS を管理する機能もありません。
  • Windows x86_64 はスマート接続をサポートせず、アプリ内で dnsmasq または LAN DNS を管理する機能もありません。
  • ホスト管理機能のない環境では、スプリット DNS を別途導入してください。
  • トンネルモードのサブドメインマッピングはスマート接続をサポートしません。この構成では公開エントリーポイントがトンネルプラットフォームにあるため、LAN 向けスプリット DNS はルーターまたは独立した DNS サーバーで設定する必要があります。

この機能で処理されないもの

  • レジストラー、Cloudflare、その他の公開 DNS レコードは変更しません。
  • 公開 IPv4 / IPv6 を自動更新しません。DDNS 管理またはCloudflare DDNS の設定を使用してください。
  • ルーターのポートやファイアウォールを開放せず、Docker のポートも公開しません。
  • アップストリームサービスのリッスンアドレスを変更せず、LAN 内の利用者がゲートウェイを迂回してアップストリームへ直接接続することも防げません。

トラブルシューティング

  1. ページを利用できない:現在のモードがインターネットから直接到達するサブドメインモードか確認し、デプロイ環境の対応機能を確認します。
  2. 同期できるドメインがない:先に認証 Host とサービス用 Host を作成します。
  3. 選択できる IP がない:メインのネットワークインターフェースに 10/8172.16/12192.168/16 のいずれかのアドレスが割り当てられているか確認します。
  4. 初期化に失敗する:ポート 53 の使用状況と dnsmasq サービスの状態を確認します。
  5. クライアントが引き続き公開アドレスを名前解決する:DHCP で配布される設定、手動 DNS、暗号化 DNS、キャッシュを確認します。
  6. ドメインがプライベートアドレスに名前解決されるが開けない:実際のゲートウェイポート、証明書、Host マッピングを確認します。公開 DDNS の調査を続ける必要はありません。

その他の機能スイッチについては、システム設定を参照してください。

QQ コミュニティ:1081609274