ppp0とppp1という2つのネットワークインタフェースがあります。
「パス」出力:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default * 0.0.0.0 U 0 0 0 ppp0
10.64.64.64 * 255.255.255.255 UH 0 0 0 ppp0
10.64.64.65 * 255.255.255.255 UH 0 0 0 ppp1
ご覧のとおり、デフォルトのパスがあります。だから、次のようにさまざまなプログラムに特定のパスを使用したいと思います。
test1.py --> ppp0 --> internet
test2.py --> ppp1 --> internet
解決策は何ですか?私の考えの解決策は、ppp0とppp1インターフェースを介してプロキシすることです。しかし、どのように?
修正する:
cURL --interface オプションが見つかりました。
curl --interface ppp0 http://test.com
curl --interface ppp1 http://test.com
ただし、インターフェイスは 1 つだけ動作し、デフォルトのパスレコードがあります。
答え1
オプション:
curl --interface
.使用ポリシールーティング。
別のネットワーク名前空間を作成し、1つまたは2つのインタフェースを名前空間に入れてから、適切な名前空間でそのインタフェースを使用する必要があるアプリケーションを起動します。
あなたのユースケース(「テストプログラム」を除く)を説明していないので、どちらがあなたに最適なオプションであるかはわかりません。
実際にテストプログラムでプログラムを直接書いた場合は、それをインターフェースにバインドするのが最も簡単な方法です。