Как я подаю какую-либо заявку использовать мой интерфейс eth0:0?

Как в завихрении, у нас есть связывать опция адреса, мы можем загрузить использование определенного интерфейса..

Поскольку исключая, для загрузки с eth0:0 мы используем $curl - интерфейсный eth0:0 http://www.google.com

Таким образом, моя цель состоит в том, чтобы загрузить файлы, но так как завихрение не поддерживает сегментированную загрузку, я не хочу использовать его. У нас есть ограничение скорости на каждом IP. Для преодоления этого ограничения я могу запустить много интерфейсов как это и загрузить некоторую часть файла от каждого интерфейса.

Как я делаю какой-либо другой менеджер загрузок как АКСЕЛЬ для привязки с конкретным адресом? Я прошу некоторую идею как замена переменных в оболочке Bash, так, чтобы целая оболочка связала с конкретным интерфейсом, позволяет, говорят eth0:1...

1
задан 14.09.2009, 20:32

3 ответа

Это походит на то, что Вы действительно хотите, приложение, которое может загрузить файл в частях от различных интерфейсов и присоединиться к ним вместе в конце. Например, если бы Вы знали, что Ваш файл составлял 100 МБ, и Вы хотели захватить блоки примерно 10 МБ, то Вы хотели бы сделать:

1. start a download of bytes 0..10000000 on eth0, saving to filename.part1
2. start a download of bytes 10000001..20000000 on eth0:0, saving to `filename.part2
3. start a download of bytes 20000001..30000000 on eth0:1, saving to filename.part3
...
N-1. wait for all downloads to complete
N. join all filename.part* together to get filename.complete

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

Это похоже curl поддерживает частичные загрузки как это использование --range <byterange> опция. Таким образом, Вы могли написать сценарий вышеупомянутых шагов как так:

1. curl --interface eth0 --range 0,10000000 http://some.server.com/bigfile -o bigfile.part1
2. curl --interface eth0:0 --range 10000001,20000000 http://some.server.com/bigfile -o bigfile.part2
... 
N. cat bigfile.part* > bigfile

Протесты: это не всегда работает; если серверу HTTP/1.1 не включат функцию частичной загрузки, то Вы получите целый файл на каждом вызове. Посмотрите man curl для получения дополнительной информации о --range опция.

Править: фиксированный байт располагается в примерах

3
ответ дан 12.12.2019, 10:50

Сделайте eth0:0 маршрутом по умолчанию вместо eth0. Команда:

netstat -rn

покажет Вам, каков Ваш текущий интерфейс по умолчанию. Если это не eth0:0, удалите его с

route delete 0.0.0.0

затем добавьте его с чем-то как

route add default eth0:0
-1
ответ дан 12.12.2019, 10:50
  • 1
    я хочу использовать все интерфейсы одновременно. Как в одном терминале, я использую eth0:0, и в другом я использую eth0:1.. Теперь, Вы получающий его, что я на самом деле намереваюсь сделать. – Abhijeet Rastogi 17.09.2009, 15:52

Вот сообщение в блоге о разделении загрузки с завихрением. Я попробовал в Windows, но не мог заставить его работать, но Вы могли бы иметь успех с Linux.

1
ответ дан 12.12.2019, 10:50

Теги

Похожие вопросы