ドメインスニッフィング
透過プロキシ(TUN/Redir/TProxy)環境では、コアが宛先 IP しか見えずドメインが分からないことがあり、DOMAIN 系のルールが機能しなくなります。Sniffer は接続初期の TLS SNI / HTTP Host フィールドを読み取ることで、ドメインを復元します。
設定例
sniffer: enable: true force-dns-mapping: true parse-pure-ip: true override-destination: false sniff: HTTP: ports: [80, 8080-8880] override-destination: true TLS: ports: [443, 8443] QUIC: ports: [443, 8443] force-domain: - +.v2ex.com skip-domain: - Mijia Cloud skip-src-address: - 192.168.0.3/32 skip-dst-address: - 192.168.0.3/32
フィールドの説明
enable必須sniffer の総合スイッチを有効にするかどうか。
sniff必須プロトコルごとにスニッフィング対象のポートを設定します。HTTP/TLS/QUIC の3種類に対応。各プロトコルオブジェクト内の ports はポート範囲を表し、override-destination はオプションでグローバル設定を上書きします。
override-destinationデフォルト trueスニッフィングの結果を実際の接続先として使用するかどうか。有効にすると、DOMAIN/DOMAIN-SUFFIX などのドメインルールがスニッフィングで得られたドメインに対して機能するようになります。無効の場合、ルールは元の IP しか認識できません。
force-dns-mappingオプションredir-host タイプとして認識されたトラフィックに対して強制的にスニッフィングを行います。
parse-pure-ipオプションドメインを取得できていないすべてのトラフィック(例:クライアントが既に自分で解決済みで IP のみで接続してくる場合)に対して強制的にスニッフィングを行います。
force-domainオプション強制的にスニッフィングするドメインのリスト。ワイルドカードに対応しています。デフォルトでは純粋な IP 接続のみをスニッフィングしますが、これを設定すると既知のドメインに対しても強制的に再スニッフィングします。
skip-domainオプションスニッフィングをスキップするドメインのリスト。ワイルドカードに対応しています。主に一部のサイトで SNI フィールドが標準的なドメインでないためにスニッフィング結果が異常になる問題を解決するもので、例えば Mijia デバイスの Mijia Cloud や Apple のプッシュ通知サービス +.push.apple.com をリストに加えることをお勧めします。
skip-src-address / skip-dst-addressオプションスニッフィングをスキップする送信元 / 宛先 IP 範囲のリスト。