pf:ポート80のすべてのパケットをすべてのインターフェイスからSOCKSプロキシに転送します。

pf:ポート80のすべてのパケットをすべてのインターフェイスからSOCKSプロキシに転送します。

インターフェイスからSOCKSプロキシにポート80のすべてのパケットを転送しようとしています(仕える人)。私の設定が正しいかどうかはわかりませんが、パケットを転送できません。

このようなSOCKSプロキシを作成します。マシンA:

ssh -D 5948 user@server

Chromeでプロキシ設定を変更すると、SOCKSプロキシを介してインターネットにアクセスできます。

デバイスを接続する以外はうまく機能します(デバイスB)到着マシンABluetoothを使用してSOCKSプロキシを介して自分のコンピュータを介してそのデバイスからインターネットにアクセスしたいと思います。

           +---------------+    +---------------+    +--------------+
           |               |    |               |    |              |
           |               |    |               |    |              |
Internet   |    Server     <----+   Machine A   <----+   Device B   |
           |               |    |               |    |              |
           |               |    |               |    |              |
           +---------------+    +---------------+    +--------------+
                                                  Connected via Bluetooth

SOCKSプロキシを使用する代わりにISPを使用する以外は、Bluetooth経由の接続とインターネット共有が正常に機能します。

代わりに私が望むのは、pfポート80のすべてのインターフェイスから私のSOCKSプロキシにすべてのパケットを転送することです。

次の内容を使用してアンカーファイルを作成しました。

rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 5948

すべてのインターフェイスにアンカーを含め、pf.conf次のように転送を有効にしました。

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

転送は発生しません。私のルールが正しくないと仮定できますpf。以下を使って確認しました。

sudo pfctl -vnf /etc/pf.anchors/org.jj.forwarding

私が間違っているアイデアはありますか?

答え1

転送を有効にすると、次のiptableルールを追加すると機能します

iptables -t nat -A プリセット -i bl1 -p tcp --dport 80 -j DNAT --to 127.0.0.1:5948

bl1はBluetoothインターフェースです

関連情報