私はポート80上のパケットを任意のインターフェースからSOCKSプロキシに転送しようとしています(サーバ)。正しく設定されているかどうかわかりませんが、パケットを転送できません。
次のようにSOCKSプロキシを作成しますマシンA:
ssh -D 5948 user@server
これにより、Chrome でプロキシ設定を変更すると、SOCKS プロキシ経由でインターネットにアクセスできるようになります。
これは問題ありませんが、デバイスを接続すると(デバイスB) にマシンABluetooth を使用して、そのデバイスから自分のマシンを経由して SOCKS プロキシ経由でインターネットにアクセスしたいと考えています。
+---------------+ +---------------+ +--------------+
| | | | | |
| | | | | |
Internet | Server <----+ Machine A <----+ Device B |
| | | | | |
| | | | | |
+---------------+ +---------------+ +--------------+
Connected via Bluetooth
Bluetooth 経由の接続とインターネット共有は正常に動作していますが、SOCKS プロキシではなく ISP を使用しています。
代わりに、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 PREROUTING -i bl1 -p tcp --dport 80 -j DNAT --to 127.0.0.1:5948
bl1はBluetoothインターフェースです