イカでプロキシ設定をしています。私のFirefoxブラウザがそのパブリックIPのポート3128に接続するパブリックIPをリッスンするフォワードプロキシでSquidを設定すると、問題なくWebを閲覧できます。
これで、VPNプロバイダからOpenVPNクライアントをインストールし、VPNトンネルを介してすべてのSquidトラフィックをルーティングする必要があります。
これを達成するために、まずroute-noexec
config.phpを使用してOpenVPNクライアントのすべての自動パスエントリを無効にしました。
その後、VPN用に別のルーティングテーブルを作成し、VPNをテーブルにデフォルトゲートウェイとして追加しました。
その後、IPルールを持つゲートウェイを使用してアクセスできます。ip rule add from 8.8.8.8 lookup vpn
その時のようにping 8.8.8.8
ただし、同じVPNテーブルを介してルーティングするイカを取得することはできません。
このルーティングテーブルを介してイカトラフィックをルーティングする最良の方法は何ですか? dockerやcgroupsなどのソリューションを使用しませんか?
たとえば、MASQUERADING ルールを追加すると、iptables -t -nat -I POSTROUTING -s 127.0.0.1 -o tun0 -j MASQUERADE
イカトラフィックは tun0 を通過せず、まだ eth0 を通過します。
パブリックプロキシをそのまま維持しながら、VPNルーティングテーブルを介してローカルで発生したすべてのトラフィックをルーティングする必要があります。