我有两个网络接口:ppp0 和 ppp1。
“路线”输出:
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
选项:
将应用程序绑定到特定接口,就像您对
curl --interface
.使用策略路由。
创建不同的网络命名空间,将一个或两个接口放入命名空间中,启动应在适当的命名空间中使用该接口的应用程序。
由于您没有描述您的用例(“测试程序”除外),我不能说哪个是最适合您的选择。
如果它实际上只是测试程序,并且您自己编写了程序,那么将它们绑定到接口是最简单的方法。