最初に一致したルールを適用
ルールモードでは、ドメインやアドレス、ルールセットに処理方法を割り当てます。コアは上から順に確認し、一致した時点で判定を終了するため、具体的なドメインは広範なルールより前に、最終的なフォールバックルールは最後に配置します。DIRECTは直接接続、REJECTは拒否を意味します。プロキシを使う場合は、設定に実在するノードまたはプロキシグループを指定してください。グローバルモードと異なり、ルールモードでは用途ごとに異なる接続先を選べます。通信経路が想定と異なる場合は、まず接続ログで適用されたルールを確認し、複数の条件を同時に変更せず、順序を見直しましょう。
mode: rule
rules:
- DOMAIN-SUFFIX,example.org,DIRECT
- DOMAIN,blocked.example,REJECT
- MATCH,DIRECT
ルールの構文と優先順位を確認 →
接続先の選択とルールを分けて管理
プロキシグループを使うと、ルールから参照する接続先の名前を固定できます。グループにはノードのほか、別のプロキシグループも指定できます。手動選択は接続先を固定したい用途に、URLテストによる自動選択は到達可能な経路をテスト結果から選びたい用途に向いています。遅延テストの結果は指定先への一度のリクエストを示すもので、ダウンロード速度やすべてのサイトの表示速度を表すものではありません。サブスクリプションを取り込んだら、グループ内に利用可能な選択肢があることを確認し、ルールがそのグループを参照しているか確かめます。例では手動選択グループの構造を示しています。実際の設定では、直結の選択肢を設定内のノード名に置き換え、名前を完全に一致させてください。
proxy-groups:
- name: PROXY
type: select
proxies:
- DIRECT
rules:
- MATCH,PROXY
遅延テストで分かることを確認 →
名前解決と接続経路を分けて確認
DNSはドメイン名からIPアドレスを得る方法を決め、ルールは接続先を決めます。両方をあわせて確認しましょう。コアのDNSを有効にしても、システムやすべてのアプリが必ずそれを使うとは限りません。ブラウザーのセキュアDNS、システムの名前解決キャッシュ、ほかのネットワークツールによって、実際の経路が変わることがあります。fake-ipモードは、ドメイン情報を保つためにマッピングされたアドレスを使います。互換性に問題がある場合は、対象のアプリごとに原因を調べてください。例ではローカルでの待ち受けと基本的な名前解決のみを有効にしています。変更前に元の設定を記録し、変更後に接続をやり直して、ウェブページが開くかだけでなく、DNSリクエストが想定した入口に届いているか確認しましょう。
dns:
enable: true
listen: 127.0.0.1:1053
enhanced-mode: fake-ip
nameserver:
- 223.5.5.5
ガイドでDNS設定を確認 →
仮想ネットワークインターフェースで通信を取り込む
システムプロキシはプロキシ設定に従うアプリに適しており、TUNは仮想ネットワークインターフェースとルーティングを使って、より広範囲の通信を取り込みます。アプリの通信をまとめて処理できる一方、システム権限やネットワークインターフェース、DNSの経路にも影響します。有効にする前に通常のプロキシ接続が動作することを確認し、必要なサービス権限をクライアントに付与してください。自動ルーティングがすべての環境に適するとは限りません。VPNや仮想マシン、別のルーターを併用している場合は、特にルートの競合を確認しましょう。通信できなくなった場合は、ノードを何度も切り替えるのではなく、まずTUNを無効にして元の経路に戻し、ログを確認してください。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
TUNモードの仕組みを確認 →
設定の出所とエラー発生時の情報を残す
YAMLはインデントで階層を表します。キー名やリスト記号、プロキシの参照先が原因で読み込みに失敗することもあります。サブスクリプションを更新すると設定が再生成されることが多く、生成されたファイルを直接編集しても次回の更新で失われる場合があります。長期的に使うルールには、クライアントが対応しているオーバーライド機能を使いましょう。問題を調べる際は、エラー行、現在の設定、発生直前の操作を記録し、項目ごとに元に戻して確認します。通常は必要な範囲でログを取り、調査のためにログレベルを上げた場合は、終了後に元へ戻してください。ログを共有する前に、サブスクリプションURLや認証情報、個人のアクセス履歴を削除し、原因の把握に必要な情報だけを残しましょう。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
ipv6: false
設定とトラブルシューティングを確認 →