VMWare Fusion がインストールされた MacOS X (Lion) を使用しています。Fusion には、Linux と MS Windows XP の 2 つのゲストがあります。2 つのゲスト ネットワークは、vmnet8 インターフェイス経由で NAT を使用するように構成されています。どちらのボックスも、デフォルトで問題なくインターネットにアクセスできます。
私の目的は、XP クライアントから出るすべての HTTP (tcp/80) トラフィックを強制的にプロキシ ポート (tcp/8080) 上の Linux クライアントにリダイレクトすることです。XP クライアントはリダイレクトを認識してはならないため、XP ブラウザーでの明示的なプロキシ構成はオプションではありません。
このセットアップは、virtualbox を実行している Linux ホストで既に試しました。iptables nat ルールはうまく機能しました。しかし、pfベースのMacでこれを行う方法が完全にわかりません。
1行だけで補完的なpf.conf(proxy.conf)ファイルを構成しようとしました:
rdr on vmnet8 proto tcp from 192.168.190.138 to any port 80 -> 192.168.190.134 port 8080
IP に関して: 192.168.190.138 は XP ゲスト IP で、192.168.190.134 は Linux ゲストです。
次に、次の pfctl コマンドを実行します。
$sudo pfctl -vf ~/proxy.conf
No ALTQ support in kernel
ALTQ related functions disabled
rdr on vmnet8 inet proto tcp from 192.168.190.138 to any port = 80 -> 192.168.190.134 port 8080
その後:
$ sudo pfctl -e
No ALTQ support in kernel
ALTQ related functions disabled
pfctl: pf already enabled
XP ゲスト pf で Web ページを開こうとすると、トラフィックが Linux ボックスにリダイレクトされません。何らかの理由で、pf ルールが期待どおりに機能していません。たぶん何かが足りないから…