|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Имеется динамический IP по PPPoE от провайдера, надо записать и использовать с *.bat |
|
|
CMD/BAT - Имеется динамический IP по PPPoE от провайдера, надо записать и использовать с *.bat
|
Новый участник Сообщения: 16 |
Приветствую уважаемые, заранее извиняюсь если подобная тема была, поиск не очень помог
![]() который предлагается провайдерами PPTP запускать в "Выполнить" вместе с вручную написанным ип от PPPoE, прочтенным с ipconfig, либо из состояния соединения PPPoE, что есть очень неудобно. Так вот: Нужно написать батник/цмд, который бы работал как в XP так и в 7ке, который бы брал ип из интерфейса "PPPoE" и подставлял его вместо %1-переменной в "routecity.bat" - либо переписывал его, либо запускался как единый скрипт не трогая содержимого "routecity.bat". Ну или вовсе - батник, который брал бы список сетей с текстовой страницы провайдера и подставив ип менял таблицу маршрутизации. Заранее благодарен помощи, нужда в таком батничке есть у большого количества пользователей данного хитросплетения сетей. |
|
Отправлено: 18:20, 01-04-2010 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать Насколько помню, при поднятии на компе PPPoE винда обычно тутже меняет "шлюз по умолчанию" на IP шлюза, полученного при соединении. т.е. все уже должно быть.
Приведите плиз пример, что выдает ipconfig /all до соединения и после, а заодно route print и собственно IP который надо указать в качестве параметра. |
------- Отправлено: 21:25, 01-04-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 727
|
Профиль | Отправить PM | Цитировать gromex
проблема осложняется вычленением IP-адреса из информации о конфигурации сети, потому что: 1) количество сетевых интерфейсов у всех разное 2) порядок сетевых интерфейсов у всех разный 3) количество PPPOE-соединений может быть более одного 4) логическое имя соединения у всех разное напишите все параметры соединения подключения к прову маска, IP, servername, gateway и пр.. а лучше всего - диапазон внешних IP PPPoE прова |
------- Последний раз редактировалось zonderz, 02-04-2010 в 03:43. Отправлено: 23:59, 01-04-2010 | #3 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Цитата NiOl:
Собственно уточню, когда нам нужен запуск батничка - сразу после поднятия PPPoE, и до поднятия PPTP. Так как PPPoE поднят - мы можем считать полученный ip, который то и надо предварительно указать в таблице маршрутизации машины перед сменой основного шлюза. Цитата zonderz:
2) Вытекает из 1 3) Опустим данную возможность, пока это редко кому нужно 4) См п.1 Привожу ipconfig /all запущенные в разное время (в цитатах описано когда именно), Взято в windows 7: http://paste.org.ru/?9ival8 http://paste.org.ru/?vifuym http://paste.org.ru/?kg43bi Так же route print: http://paste.org.ru/?wb8k8i http://paste.org.ru/?xibdsu Диапазоны провайдера PPPoE: http://www.db.ripe.net/whois?form_ty..._search=Search http://www.db.ripe.net/whois?form_ty..._search=Search Забыл добавить - таблица маршрутов чистится при автозагрузке нехитрым батничком от того же провайдера но уже без %1-параметра IP адреса, убивается просто какая бы то нибыло запись содержащая адрес сети. |
||
Отправлено: 14:24, 02-04-2010 | #4 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать @echo off SetLocal EnableExtensions EnableDelayedExpansion REM ===================== REM Здесь поднимаем PPPoE REM ===================== REM ===================================================== REM Здесь получаем IP шлюза и запускаем батник провайдера for /f "tokens=3" %%A in ('route print ^| findstr /r /c:" 0.0.0.0 * 0.0.0.0 "') do ( set A=%%A set A=!A:.= ! call :ValidateIP !A! if not ErrorLevel 1 set GW=%%A ) if not "%GW%"=="" ( call routecity.bat %GW% ) else ( Echo Не удалось получить адрес шлюза по-умолчанию exit 1 ) REM ===================================================== REM ==================== REM Здесь поднимаем PPTP REM ==================== exit :ValidateIP set VErr=0 :ValidateIP1 if "%1"=="" exit /b !VErr! set B=%1 set B=!B:0=! if not "!B!"=="" if /i %1 LEQ 0 set /A VErr+=1 if /i %1 GEQ 256 set /A VErr+=1 shift goto ValidateIP1 |
|
------- Отправлено: 16:02, 02-04-2010 | #5 |
Ветеран Сообщения: 727
|
Профиль | Отправить PM | Цитировать gromex
пользуйтесь на здоровье http://forum.oszone.net/attachment.p...1&d=1270212497 программа, если у вас есть какой либо IP из диапазона 90.188.64.0-90.188.71.255, 90.188.96.0-90.188.107.255 запустит файл routecity.bat и передаст в качестве параметра ему этот IP |
------- Последний раз редактировалось zonderz, 18-04-2010 в 02:33. Отправлено: 16:49, 02-04-2010 | #6 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Благодарю за внимание и труд, протестирую оба варианта как доберусь до подопытной машины
|
Отправлено: 17:01, 02-04-2010 | #7 |
Ветеран Сообщения: 727
|
Профиль | Отправить PM | Цитировать gromex
то же самое только программа, если у вас есть какой либо Default Gateway IP address из диапазона 90.188.64.0-90.188.71.255, 90.188.96.0-90.188.107.255 запустит файл routecity.bat и передаст в качестве параметра ему этот IP http://forum.oszone.net/attachment.p...1&d=1270213682 |
------- Последний раз редактировалось zonderz, 18-05-2010 в 03:39. Отправлено: 17:08, 02-04-2010 | #8 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать zonderz, Еще раз Спасибо за усилия. На вин7 тест пока идет боком изза сумятицы с правами на выполнение.. пока разбираюсь
на хр еще не тестировал. Да, кстати надо в sibr2 добавить http://www.db.ripe.net/whois?form_ty..._search=Search |
Отправлено: 02:21, 05-04-2010 | #9 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Добрый день.
Чтоб не начинать новую тему, попрошу помощи в этой, т.к. выполнение задачи очень похоже. Существует плеер для IPTV (ip-tv player), в котором можно вручную выбирать интерфейс по текущему IP. Но есть файлик настроек (provider.ini), в котором можно указать приоритетную сеть, в которой находиться IP. Подключение у провайдера локалка (DHCP) + PPPoE. Вещание IPTV идет только по локальной сети. Проблема в том, что провайдер использует несколько диапазонов IP (сетей), а именно 10.X.X.X и 192.168.X.X. Как я понимаю, скрипт будет аналогичен тому, который посоветовал NiOl. Нужно определить из какого диапазона шлюз используеться для локальной сети, а конкретно он начинаеться на "10" или на "192.168", после чего записать в файлик настроек (provider.ini) строку с диапазонов IP (10.0.0.0/8 либо 192.168.0.0/16). Вроде бы должно быть так, но вместо ??? должна быть команда, которая проверяет начинаеться ли GW на 10, или на 192, или на что-то другое, тогда ничего и искать сл. шлюз (их есстественно 2) . |
Отправлено: 16:47, 05-04-2010 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как с помощью bat-ника записать названия папок в текстовый файл? | Nun-Nun | Скриптовые языки администрирования Windows | 9 | 23-02-2010 20:15 | |
Разное - Имеется файл 4.3 Ггб | Alex1964 | Накопители (SSD, HDD, USB Flash) | 2 | 14-11-2008 15:59 | |
имеется 64 битная windows XP | Smashnin | Поиск драйверов, прошивок и руководств | 9 | 17-04-2008 23:44 | |
Два интернет-провайдера, как одновременно использовать? | hiagcokrer | Сетевые технологии | 1 | 06-04-2007 10:01 |
|