![]() |
2 интернет подключение
Здравствуйте. Такая задача.
Имею 2 подключение: DSL и 3G. Оператор, который предоставляет DSL услуги, предоставляет еще и внутренний ресурс. А у оператора, который предоставляет 3G, нету внутреннего ресурса. Как реализовать такую схему: при обращение на внутренний ресурс, канал пошел с DSL`а, а при запроса на внешний ресурс, канал пошел с 3G`а. Линукса, к сожалению, еще не знаю, поэтому нужна ответ на Windows. Иметься список IP внутренного ресурса. Как организовать такую схему? Спасибо. |
Если IP-адреса внутренних ресурсов известны, то можно добавить статический маршрут (или маршруты). См. route /?
|
Raistlin, спасибо. Теперь буду ковыряться...
|
А как настроить если, у меня оба IP динамические.
|
При добавлении маршрута указывается не IP, а интерфейс. Так что динамический IP - не помеха. Адреса шлюза на DSL и внутренних ресурсов статические?
|
Вернее, маршрут может быть и динамическим, задаваемым скриптом при старте.
|
Raistlin, примером сможешь показать?
|
Адреса внутренних ресурсов и результат ipconfig /all давай. И route print.
|
Вложений: 1
Сорри за опоздание. Готово, то что просил..
|
Так... а к какому адаптеру какой провайдер подключен?
|
Вложений: 1
Обновил все информацию со скринамы.
|
Цитата:
Цитата:
Доступ к 3G-интернету - UCell, к DSL-интернету - без VPN, к внутренним ресурсам - UzNet, так? Это вообще-то ты должен бы расписать, а не я угадывать. |
Цитата:
|
Все-таки сначала надо разобраться с удаленными шлюзами. Если через UzNet осуществляется доступ только к внутренним ресурсам, то на этом адаптере вообще не должен быть определен шлюз по умолчанию. На UCell - нужен, но почему он равен адресу хоста? Это настройка вручную?
|
Raistlin, Нет. Все настройки автоматические.
Объясняю еще раз. У меня есть модем (ZyXEL P660) который подключен к компьютеру с помощью Ethernet. Модем работает в режиме bridge. Далее, что бы подключиться к УзНету, я использовал мастер сетевых подключении. УзНет предоставляет ограниченный трафик на внешний мир + унлимит внутренние ресурсы. А Ucell предоставляет только внешний мир. Все настройки и шлюзы автоматические. |
Хорошо, примем это как данность. В таком случае первое, что надо сделать, - проставить вручную метрики на всех трех интерфейсах:
Цитата:
Еще нужна информация, какой PPP-интерфейс в таблице маршрутизации (route print) соответствует UzNet, а какой - UCell. Допустим, 0x60004 - это UCell, а 0x70005 - UzNet. Тогда для первых двух адресов из списка внутренних ресурсов надо добавить маршруты: Код:
route add 62.209.0.0 mask 255.255.128.0 <gateway_UzNet> metric 20 if 0x70005 После этого проверь, работает ли доступ к внутренним ресурсам UzNet из диапазона адресов 62.209.128.0 - 62.209.151.255. Если работает - будем колдовать над получением из скрипта значений шлюзов по умолчанию. Если нет - давай снова результаты ipconfig /all и route print (после добавления маршрутов). Только не вкладывай их в виде файлов, вставляй их в сообщение между тегами more и code. |
Raistlin, да. Заработал.
Заметель еще вот что: при включение/отключение провайдеров значение 0x70005 и 0x60004 меняются как IP провайдеров, то есть текущие значения шлюзов. |
Это усложняет дело.
Давай текущий результат route print и ipconfig /all. Мне нужно знать, из каких подсетей в принципе оба этих VPN-соединения могут получать адреса. |
Код:
Настройка протокола IP для Windows Код:
=========================================================================== 0xb0005 - Ucell 3G |
Обрамляй то, что в тегах code, еще и в теги more.
Судя по route print, ты метрики не назначил вручную. Назначь, как я написал выше, и проверь еще раз. И результаты - снова сюда. |
|
Я не про эти метрики. См. здесь.
|
Raistlin, кроме сетевого платы, у других нету ручная установки метрики..
|
Попробуй изменить метрики так:
Код:
route change 0.0.0.0 mask 0.0.0.0 <UCell_gateway> metric 30 if <UCell_interface> Вернее, только на двух так сделай, на физическом адаптере поправь метрику через свойства TCP/IP. |
|
Так, хорошо. Но у тебя неправильные метрики для 62.209.0.0. Повтори:
Код:
route add 62.209.0.0 mask 255.255.128.0 <gateway_UzNet> metric 20 if <UzNet_interface> |
Вложений: 1
Написал скрипт для определения IP-адреса и ID интерфейса по имени соединения - GetAdapterInfo.cmd
NB: работать будет только в русской Windows. Пользоваться так: GetAdapterInfo <adapter_name> Для работы потребуется положить в каталог, доступный по PATH, две утилиты: NICIndex (см. VPN: use default gateway AND access your local network) и XCode. |
Вложений: 1
Может что то я не правильно делаю...
|
В первом и третьем случае - однозначно: надо в кавычках указывать имя адаптера, если в нем есть пробелы. А вот почему во втором случае не пашет... хм... Сейчас подумаем.
А где результаты route print, о которых я просил в 26-м сообщении? Оттестируй такой вариант: |
Вложений: 1
Raistlin, сейчас сделаю все. Тока скрипт еще не пашет.
+ к этому обновил список внутренних ресурсов. Его, кстати, можно отсюда скачать. |
Вложений: 1
Попробуй-ка взять готовый скрипт...
|
|
Так... давай-ка повнимательнее. Где маршруты для 62.209.0.0?
|
Цитата:
Сделал все что сказал, но при скачивание файлов с этого сайта трафик идет через Ucell 3G а не через UzNet DSL |
Ты не мудри, сделай, как я написал. И так уже невменяемое количество времени убили. Но это дело принципа.
Что со скриптом? |
|
Какую память?
И откуда это: Код:
62.209.0.0 255.255.160.0 10.0.71.177 10.0.71.177 15 |
Цитата:
И потом. Работают, тока трафик идет с Ucell 3G. |
Странно, у меня работает нормально. Выдай set ip после первого запуска скрипта и покажи результат.
Для какого адреса конкретно трафик идет с UCell? route print и tracert <address> покажи. |
Да, с маршрутами я накосячил, видимо. Хотелось таблицу маршрутизации сделать поменьше :) . Вот так точно должно заработать:
Код:
route add 62.209.128.0 mask 255.255.255.0 <UzNet_gateway> metric 20 if <UzNet_interface> |
Raistlin, короче. Я вчера ночью пробовал все возможные варианты. Но, все равно из внутреннего ресурса трафик идет с внешнего канала (Ucell). Потом сделал все рестарт и заново сделал по шагам.
1. После перезагрузки компьютера сначала подключил UzNet, а потом Ucell Естественно они получили порядочный интерфейс и Ucell стал основным шлюзом. 2. Вручную установил метрики для каждого интерфейса. И результат 3. Для определенного IP внутреннего ресурса установил маршруты как ты сказал (Может я что то не правильно делаю) Пример, это было IP диапазона 91.188.128.0 - 91.188.131.255 И результат 4. Проверяем внутренний трафик (К примеру, в этом IP диапазоне находиться сайт для хранение файлов dir.uz) ![]() Как тут не странно, трассировка идет через УзНет. Но! При скачивание файлов трафик идет с Ucell`а. ![]() Вот такие дела. Я проверял и другие IP. Тоже самое. Может у меня где то промах идет...? |
Ты метрику на физическом адаптере чего до сих пор не проставил вручную?
По п. 3 - неправильно. Во-первых, для сети 91.188.128.0 (как и для любой другой) по новой схеме нужен только один маршрут: Код:
route add 91.188.128.0 mask 255.255.255.0 213.230.111.120 metric 10 if 0x20004 Во-вторых, для какой операции ты показываешь снимки состояния адаптеров? Если это процесс закачки чего-то там с uz.dir.uz, то вот: Код:
R:\>nslookup uz.dir.uz |
Raistlin, спасибо за все. Получилось. Осталось тока вес список как то заскрипит и интерфейсы правильно настроить.
|
Вложений: 1
Держи скрипт. Для его работы потребуется распаковать в каталог, доступный по PATH:XCode не нужен.
Запустишь скрипт - покажет синтаксис запуска. Думаю, разберешься. Если у тебя Интернет на момент входа в систему уже работает, то можешь засунуть ярлык на скрипт в Автозагрузку. Тестируй. |
Вложений: 1
Поправил скрипт - теперь он сам устанавливает указанные в командной строке соединения. Вот в таком виде его точно можно в Автозагрузку (при условии, что логины/пароли для соединений сохранены). Одно ограничение: имена соединений не должны содержать закрывающей круглой скобки.
Код:
Usage: |
Raistlin, Здравствуй. Я был в командировке. Объяснишь что к чему?
Потом, Iconv не качается... |
Ссылку исправил. В остальном - вроде все очевидно по синтаксису запуска?
|
Время: 22:18. |
Время: 22:18.
© OSzone.net 2001-