February 5th, 2010

ADSL-канал + 3G usb модем.Абсолютно независимое (!) одновременное использование двух соединений.

Возможно, всё написанное ниже у кого-то вызовет смутное подозрение на дежавю, но, тем не менее, всё что написано ниже исследовано, придумано и реализовано, а главное полностью описано именно мной. Поэтому сразу и безоговорочно застолблю за собой копирайт :-)
Итак, поехали.

Уверен, что каждый опытный пользователь, который уже имеет один канал доступа в интернет (речь пойдет об ADSL, но это не принципиально) и в какой-то момент заполучил в свои руки 3g usb-модем какого-либо оператора сотовой связи, наверняка хоть раз подумал о том, что было бы неплохо заполучить возможность одновременно воспользоваться сразу двумя соединениями для доступа в интернет на ОДНОМ отдельно взятом компьютере (ноутбуке).
Если и не для увеличения скорости доступа в интернет, так хотя бы для того, чтобы, например, иметь возможность по основному каналу (ADSL) непрерывно что-то качать (загрузив канал на все 100%), а по второму соединению (организованному через 3G-модем), например в это время спокойно чатиться в аське, гулять по форумам и просто активно сёрфить по страницам в интернете.
В ситуации, когда канал один (ADSL) и он не слишком широкий (каждый килобайт скорости на счету), врядле кто-то захочет спокойно понизить скорость закачки файла поставленного на ночь или вообще на сутки в даунлоад-менеджере, чтобы чуток "отжать" скорости и без того не быстрого канала, для того чтобы чатиться и осуществлять обычный веб-серфинг. Это, конечно, возможно (любой даунлоад-менеджер умеет искусственно понизить скорость скачивания), но очень неудобно, нестабильно и в случае когда вам крайне желательно отдать всю ширину вашего ADSL на те же торренты в обе стороны (download и unload) так это ещё и просто неприемлимо. А если скорость не понижать, вы просто элементарно не сможете качать и одновременно осуществлять веб-серфинг.
Канал просто "просядет".
Куда как приятнее иметь вариант описанный в самом начале моей темы.
Но как такое реализовать в Windows, которая в отличии от Linux не умеет легко "жонглировать" сразу двумя (тремя и т.д.) одновременно установленными интернет-соединениями на одном отдельно взятом компьютере (ноутбуке) и позволять таким соединениям быть абсолютно независимыми друг от друга и в то же время абсолютно полнофункциональными?
Ирония судьбы заключается в том, что Windows в общем-то спокойно вам позволить подключить хоть несколько модемов и сразу с нескольких установить соединения, но вот работать одновременно на прием-передачу все эти соединения НЕ БУДУТ, потому как Windows мгновенно "запутается" в какое из установленных соединений ей "швырять" данные и станет использовать исключительно только какое-то одно из установленных соединений.
Очень опытные пользователи сейчас скажут, что в Windows (как и во всех операционных системах) есть волшебная команда route, позволяющая исключительно вручную перенаправлять данные в несколько установленных соединений. Но вот беда, для каждой вашей открываемой странички, для каждого скачиваемого файла, для каждого запроса в интернет, придётся каждый раз руками подавать многоэтажные команды, чтобы, например, файл скачивался через одно соединение, а страничка открывалась через другое. Использовать команду route так, чтобы все происходило как-то само собой, динамически и все маршруты трафика по соединениям выстраивались бы сами собой, насколько мне известно, в Windows невозможно.
Но не все так плохо.
Возможно я изобретаю велосипед, но я нащупал и реализовал способ, который позволяет почти играючи даже не опытному пользователю реализовать то, о чем гласит название темы, причем связка соединений может быть практически абсолютно любой и самих соединений может быть даже и не два, а больше!

Слабых мест в моих дальнейших советах два.
1) Недвусмысленная необходимость в использовании одного вероятно варезного для нищих российских кошельков продукта (хотя есть возможность обойти это ограничение).
2) Наличие не самого хламного и древнего компа (ноута) способного потянуть одновременно сразу две OS.
Собственно после второго озвученного слабого места любой профи уже, наверно, догадался в чем будет состоят мой способ организации "двойного" доступа в инет.
Кто не догадался - сообщу кратко. Надо будет подробно - напишу подробно.

Что надо:
1) Комп (ноут) с установленной Windows любой версии кроме совсем древних win9x.
2) Программное обеспечение, позволяющее установить внутри одной операционной системы другую операционную систему в так называемой "виртуальной машине". Идеальный вариант - бесплатный продукт Sun VirtualBox, существующий к тому же в легальной портабл-версии (кто не хочет заморочиваться с установкой программы стационарно). Подойдёт и любой другой аналогичный софт обязательно умеющий монопольно захватывать usb и com-устройства компьютера в виртуальную среду. Но, повторю, виртуал бокс практически идеален для этих целей.
3) Винда. Вторая винда (конечно же лучше если это XP), которую вы установите на виртуальную машину. Разумеется, конечно же, самой собой я посоветую и даже буду настаивать чтобы эта "гостевая" винда (как и основная на компе (ноуте) должна быть сугубо лицензионной. Все иные мысли на этот счет - AS IS. Особым блюстителям лицензионной чистоты порекомендую поставить на виртуальную машину любой бесплатный дистриб линуха, но только гарантированно позволяющий из под него завести 3G (или подобное устройство) usb-модем.

Итак, вы на всё это решились и вопрос с железом и софтом решён.
Дальше все проще пареной репы.
На комп (ноут) с основной виндой ставим виртуал бокс(буду описывать всё на примере этого софта). Либо запускаем сразу портабельную версию виртуалбокса. На запущенной виртуальной машине в виртуалбоксе даже очень непродвинутый пользователь за часик поставит винду. Просто голую винду.
А вот дальше надо обязательно в настройках виртуабокса позволить включать внутри виртуальной машине монопольный захват всех необходимых юсб-устройств ФИЗИЧЕСКИ подключенных к вашему компу. Это включается элементарно в настройках виртуалбокса для созданной виртуальной машины

Зачем это надо?

Чтобы позволить ваш уже давно установленной в основной Windows 3G usb модем
монопольно" увести" в виртуальную гостевую ось.
Виртуал бокс это стопроцентно умеет. При этом модем как бы "исчезнет" полностью из основной оси и "появится" в виртуальной, где вы его совершенно как и обычно установите и обвяжете драйверами.

Далее не забудьте начисто заглушить все сетевые виртуальные интерфейсы на гостевой винде внутри виртуальной машины. ОНИ ВАМ НЕ НУЖНЫ! Вы же создаете полностью изолированную "систему в пробирке".
Теперь совсем мелочи.
Ставим любимый браузер и необходимый софт на гостевой виртуальной винде. При запущенной гостевой винде с обязательно включенным монопольным захватом юсб-устройств спокойно включаем в юсб-порт компа (ноута) модем и он (модем) оставшись совершенно незамеченным основной операционной системой "запрыгивает" в гостевую.
Там как и обычно с его помощью выходим в инет и спокойно серфим, качаем, словом делаем все что обычно делали ранее в основной винде с помощью этого модема.
Таким образом, внутри виртуальной винды будет создан виртуальный ИЗОЛИРОВАННЫЙ WAN-интерфейс, который "обманет" всю маршрутизацию основной винды.
Не верите?
Включите адсл-модем подключенный к сетевой карте основной винды и убедитесь, что вы спокойно будете серфить и качат в основной винде ИСКЛЮЧИТЕЛЬНО через это ADSL-соединение, ни коем образом не мешая также стопроцетно продолжающему работать виртуальному модемному соединению в гостевой винде, запущенной на виртуальной машине.
Вот такая вот петрушка.
Я не сумасшедший, как сейчас многие подумали, но это РАБОТАЕТ! И работает прекрасно. Без всяких бубнов с линуховыми таблицами и роутами в винде. Без дорогущего железа.
P.S.Разумеется вместо винды и основной, и гостевой системой могла быть линуховая ось. Главное чтобы на этих осях можно было "завести" модемы (либо иные подобные устройства доступа в интернет).
Тут главное - принцип организации доступа, а не ось.