いくつかのトラフィックを透過的なプロキシ(実際には別のサーバーにあり、SSHトンネルを介して接続されている)を介して転送したいと思います。
通常、次のようにすることができます。
ipfw add forward localhost,8080 tcp from any to x.x.x.x 80
しかし、fwd / forwardを使用するにはカーネルを再コンパイルする必要がありますが、私はそうしたくありません。だから、再コンパイルを必要としないソリューションを探しています。
たとえば、これを達成するために何らかの方法でトランスポートソケットを使用できますか?それとも他の基本的な良い解決策はありますか?
答え1
いいえ、できません。 divertは生成されたソケットをリッスンするソフトウェアでのみ使用できますが、IPPROTO_IPDIVERT
プロキシサーバーは通常TCPポートをリッスンします。
これを達成するために別のファイアウォールを使用してみましたか?http://wiki.squid-cache.org/SquidFaq/InterceptionProxy#Interception_Caching_packet_redirection_for_Solaris.2C_SunOS.2C_and_BSD_systems
答え2
私は最近rinetd
(~ports/net/rinetd
)を見ました。
これは非常に単純なポートリダイレクタです(あるIP /ポートから別のIP /ポートへ)。リダイレクトは設定ファイルを介して行われますrinted.conf
。
# bindadress bindport connectaddress connectport
1.2.3.4 8080 4.3.2.1 80
Divertは通常、より広いポート選択(つまり、1インターフェイスからnatdまでのすべてのポート選択)に使用されます。