Dante の UDP 応答ルールでは from/to の方向が逆になる
送信側クライアントのアドレス前提をそのまま写すのではなく、外部→内部の方向で Dante の応答ルールを適用します。
クライアントは認証済みで、UDP アソシエーションも許可されています。それでも応答は失敗します。Dante では、戻りトラフィックを処理するルールの方向を確認してください。
Dante は開始コマンドと応答処理を分離しています:
| ルールコマンド | from | to |
|---|---|---|
connect, bind, udpassociate | 内部クライアント | 外部の宛先 |
bindreply, udpreply | 外部ホスト | 内部クライアント |
クライアントのサブネット制限を両方向にそのままコピーすると、応答ルールで誤った側に一致してしまうことがあります。pass ルールに UDP という語があるかどうかだけでなく、意図した外部の送信元と内部の受信先を確認してください。
認証には関連する境界があります。UDP データグラムに応答する外部サービスは、ユーザー名/パスワードの交換を完了できる SOCKS クライアントではありません。Dante のドキュメントは、応答操作がクライアントの以前の BIND または UDP アソシエーションに由来すると説明しています。その開始操作を認証し、適切な関連応答ポリシーを適用してください。
これは無制限な非ソリシットの着信トラフィックを正当化するものではありません。UDP アソシエーション、宛先ポリシー、リレーアドレス、ファイアウォール経路は依然として重要です。また bindreply を有効にしても、UDP アソシエーションが汎用の公開ポート転送サービスになるわけではありません。
クライアント側の SOCKS 交換と実際の UDP 戻り経路を別々に見えるようにしてください。TCP ログインの成功は、応答 ACL のアドレス方向も UDP リレーエンドポイントの到達性も検証しません。