私はstunnel.confに精通しており、リッスンする暗号化されていないポートとリダイレクトする暗号化されたポートを指定する方法を知っていますが、理解したいと思いますhow「スナッチ」する力を得る同じ暗号化されていないポートでリッスンしているサーバーからのパケット。
つまり、暗号化されていないポート777を介して通信したいデータベースクライアントと、通常はそのポートをリッスンしてクライアントと通信しているデータベースサーバーがある場合です。 stunnelに引き継がせたいので、クライアント側とサーバー側の両方でstunnelを実行し、ポート777でリッスンし、暗号化されたポート8888にトラフィックをリダイレクトします。クライアントはstunnelについて認識せず、ポート777を介して通信を続けます。しかしboth stunnelとデータベースサーバーはポート777でリッスンしています...だからhow stunnelはクライアントのパケットをデータベースサーバーに到着する前に奪いますか?
そうではありません。アプリケーションは、トンネルエンドポイントを指すように構成する必要があります。
参照している場合、クライアントはローカルのstunnelリスナーを指すように再構成する必要があります。これにより、接続データがラップされ、stunnelの構成に従ってサーバーに送信されます。
「透過プロキシ」モードもあります。これは、iptablesを使用してトラフィックをstunnelプロセスに明示的に送信することを含みますが、あまり使用されません。