Доброго времени суток.
Ситуация такая.
Имеется два подключения к интернету: 1-локальная сеть, 2-Модемная связь(3G).
На машине установлена програмка Scype.
Необходимо сделать так, что бы Scype подключался только через Модемное подключение, а через сетевое подключение работало все остальное.
Подскажите пожалуйста, какими средствами это реализовать?
IP адресс, который выделяется Модемному подключению динамический.
если в сети провайдера модемной связи есть прокси для своих клиентов, то укажите его в настройках своей программы Skype или Scype
>если в сети провайдера модемной связи есть прокси для своих клиентов, то
>укажите его в настройках своей программы Skype или ScypeВ сети провайдера модемной связи нет прокси сервера... Провайдер МТС...
1. Установить модемное соединение, посмотреть какой шлюз добавился и ручками дописать маршрут на сервер Скайп через этот шлюз.2. Если прокатит - написать программку/скрипт которая будет сама находить шлюз, добавлять нужный маршрут и запускать Скайп. В *никсах это без проблем сделает шеловский скрипт. В Винде - VB скрипт или Java скрипт поможет ...
>1. Установить модемное соединение, посмотреть какой шлюз добавился и ручками дописать маршрут
>на сервер Скайп через этот шлюз.знать бы еще этот сервер скайпа
Пути скайпа неисповедимы
>
>2. Если прокатит - написать программку/скрипт которая будет сама находить шлюз, добавлять
>нужный маршрут и запускать Скайп. В *никсах это без проблем сделает
>шеловский скрипт. В Винде - VB скрипт или Java скрипт поможет
>...
>Доброго времени суток.
>Ситуация такая.
>Имеется два подключения к интернету: 1-локальная сеть, 2-Модемная связь(3G).
>На машине установлена програмка Scype.
>Необходимо сделать так, что бы Scype подключался только через Модемное подключение, а
>через сетевое подключение работало все остальное.
>Подскажите пожалуйста, какими средствами это реализовать?
>IP адресс, который выделяется Модемному подключению динамический.Примерно по аналогичной задаче сделал так:
1. удаляем маршрут по умолчанию для твоего модемного подключения
route delete 0.0.0.0 mask 0.0.0.0 x.x.x.x(gw=ip полученный)-p
2. если для твоего подключения по локальной сети нет маршрута по умолчанию, то добавляем его.
route add 0.0.0.0 mask 0.0.0.0 x.x.x.x metric 20(ip сетевухи или шлюза локалки)-p
по-моему чем больше сетевух, тем может быть больше метрика.
3. добавляем маршрут до сервера scype, тут можно добавить несколько маршрутов для каждого сервера, или жестко задать в системе 1 сервер.
route add x.x.x.x(ip scype) mask x.x.x.x(маска scype) x.x.x.x(шлюз=ip модемного соединения) metric 19(метрика должна быть меньше, чем в default) -pcmd в руки, что непонятно - гугли!
У меня подозрение, что твоя scype=skype.
>[оверквотинг удален]
>route add 0.0.0.0 mask 0.0.0.0 x.x.x.x metric 20(ip сетевухи или шлюза локалки)-p
>
>по-моему чем больше сетевух, тем может быть больше метрика.
>3. добавляем маршрут до сервера scype, тут можно добавить несколько маршрутов для
>каждого сервера, или жестко задать в системе 1 сервер.
>route add x.x.x.x(ip scype) mask x.x.x.x(маска scype) x.x.x.x(шлюз=ip модемного соединения) metric 19(метрика
>должна быть меньше, чем в default) -p
>
>cmd в руки, что непонятно - гугли!
>У меня подозрение, что твоя scype=skype.Это то же о чем я и говорил...
ЗЫ Метрика не зависит от кол-ва NIC. Она указывает приоритетность маршрута (расчитывается от пропускной способности и "длинны" маршрута). В данном случае ею вообще можно не заморачиваться. Нужно, чтобы шлюзом по умолчанию был шлюз ethernet-провайдера, а через шлюз модемного провайдера нужно добавить маршрут к серверу приложения. Сервер Skype вычислить просто - поставь файервол и посмотри в его логах... Ну или снифер какой-нибудь...
>Сервер Skype вычислить просто - поставь файервол и посмотри в его
>логах... Ну или снифер какой-нибудь...Вы сами пробовали это делать?
>Вы сами пробовали это делать?Да, вчера, собсно, перед тем как постити сюда проверил на фаерволе. WinXP + Outpost. В журнале Outpost-а вижу сервер на который коннестится Skype. Проблема только с поиском пользователей скайпа - в этом случае поиск идет по различным серверам... Если не пользоваться поиском постоянно, должно работать.
Со снифером не делал, но тоже проблем не вижу... Или я чего-то не понял?
>>Вы сами пробовали это делать?
>
>Да, вчера, собсно, перед тем как постити сюда проверил на фаерволе. WinXP
>+ Outpost. В журнале Outpost-а вижу сервер на который коннестится Skype.
>Проблема только с поиском пользователей скайпа - в этом случае поиск
>идет по различным серверам... Если не пользоваться поиском постоянно, должно работать.
>
>
>Со снифером не делал, но тоже проблем не вижу... Или я чего-то
>не понял?я тоже не пробовал делать :),
но по идее пользователь только сможет залогинится и все, потомучто у скайп не клиент-серверная архитектура, а P2P
в результате все равно трафик пойдет через дефолтный шлюз
>я тоже не пробовал делать :),
>но по идее пользователь только сможет залогинится и все, потомучто у скайп
>не клиент-серверная архитектура, а P2P
>в результате все равно трафик пойдет через дефолтный шлюзА-а-а, вот куда клоните! :). Ну, честно, да - в рабочем режиме не тестировал, сегодня может попробую.
Но! раз Skype умеет через прокси работать, кто мешает выбрать какой-нибудь прокси-сервер, указать его в настройках скайпа, а на прокси-сервер моршрутизироваться так, как я описал?
>Но! раз Skype умеет через прокси работать, кто мешает выбрать какой-нибудь прокси-сервер,
>указать его в настройках скайпа, а на прокси-сервер моршрутизироваться так, как
>я описал?полностью с вами согласен
Еще вопросик...
как можно програмно определить IP адресс интерфейса?
Есть модемное подключение. После подключения выделяется каждый раз новый IP адресс.
Как его можно опрделить с помощью командной строки, скажем, для того, что бы потом добавть маршрут?
Для наглядности...надо сделать примерно такой батник:
get ip etc0 into n
route add....
ну что то на одобие этого...я не говорю, что должно быть именно так...
Я мог уже и забыть что-то :) но мне кажется в Win этого в батнике не сделать... :(Самый простой вариант - на VB/J-скрипт-е сделать. ИМХО, конечно.
Примеры можно с самой винде найти. Или по инету отыскать.Я сегодня вечером, спорта ради, попробую сделать :) Вроде не сложно должно быть...
Вот что вчера получилось :)VB-скрипт для изменения таблицы маршрутизации (файл change_route.vbs):
' -------------------- START VB-script ----------------------------------
' SWM Route changestrComputer = "."
cDeleteRoute = ""
cAddRoute = ""
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")' Выбираем данные о IP (тут вместо 02:00:4C:4F:4F:50 нужно указать реальный MAC модема)
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where MACAddress='02:00:4C:4F:4F:50'")' Формируем строки для route add
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
cDeleteRoute = "route delete 0.0.0.0 mask 0.0.0.0 " + IPConfig.IPAddress(i)
' Тут вместо 93.158.134.3 нужно указать реальный IP-адрес проки-сервера
cAddRoute = "route add 93.158.134.3 mask 255.255.255.255 " + IPConfig.IPAddress(i)
Next
End If
Next' Изменяем таблицу маршрутизации
Set WshShell = WScript.CreateObject("WScript.Shell")WScript.Echo cDeleteRoute
WshShell.Run (cDeleteRoute)
' -------------------- END VB-script ----------------------------------VB-скрипт для просмотра списка доступных адаптеров и их IP и MAC (файл nic_list.vbs):
' -------------------- START VB-script ----------------------------------
' SWM IP Adapters ListstrComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
WScript.Echo IPConfig.IPAddress(i) + " - " + IPConfig.Caption(i) + " - " + IPConfig.MACAddress(i)
Next
End If
Next
' -------------------- END VB-script ----------------------------------Топорно, без проверки ошибок, проверки наличия маршрутов и т.п. Но у меня дома работает, правда с АДСЛ-модемом и обычным модемом :)