3

У меня есть компьютер под Linux с несколькими сетевыми картами, например: eth0, eth1, eth2, eth3. Есть ли способ запустить какой-либо загрузчик, например aria2 или wget, только через один интерфейс, например eth0?

Основная проблема: по какой-то причине я не могу использовать iptables =(

2 ответа2

3

Я думаю, что вы можете использовать --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}
0

вам нужно определить маршрут, который сообщает ОС отправлять пакеты с локального компьютера через необходимый сетевой интерфейс.

Это заставит весь трафик через этот интерфейс. Я не думаю, что это может быть сделано для каждого отдельного приложения, но тогда я не эксперт ... они тусуются на serverfault.com!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .