linux:如何仅通过 eth0 运行 aria2 或 wget

linux:如何仅通过 eth0 运行 aria2 或 wget

我有一台 Linux 计算机,上面有多张网卡,例如:eth0、eth1、eth2、eth3。有没有办法只通过一个接口(例如 eth0)运行任何下载程序(例如 aria2 或 wget)?

主要问题:由于某种原因,我无法使用 iptables =(

答案1

我认为你可以--bind-address=ADDRESS在 中使用wget。至于获取ADDRESS,你可以单独玩ifconfig <interface_name>并提取 IP。

谢谢蒂姆帖子中,可以使用以下方式提取 IP

ifconfig <interface_name> | grep 'inet addr:' | cut -d: -f2 | awk '{print $1}'

你应该得到类似这样的东西;

wget --bind-address=$(ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{print $1}') {URL}

答案2

您需要定义一条路由,告诉操作系统通过所需的网络接口从本地机器发送数据包。

这将迫使全部通过该接口的流量。我不认为可以逐个应用程序地完成此操作,但我也不是专家……这些都挂在 serverfault.com 上!

相关内容