Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> .bat и динамический route 
:(
    Опции темы
pr0ka33a
Дата 11.8.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.10.2006

Репутация: нет
Всего: нет



при подключении второго впн соединения DHCP сервер выдает каждый раз новый ip
и я через этот ip прописываю роуты.
я хочу написать батник который бы делал это все за меня. Только не знаю всех возможностей этой штуки.
что я хочу сделать. 
1) что бы скрип прописывал ipconfig
2) брал из нужной строчки ip адрес (ip=х)
3) и вставлял его в route add 0.0.0.0 mask 255.255.255.255 x

можно ли это осуществить в cmd?

PM MAIL   Вверх
01MDM
Дата 11.8.2008, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 10.5.2008
Где: Default City

Репутация: 29
Всего: 29



pr0ka33a, 

Код

@echo off  

for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr IP-.*') do set ip=%%i
set ip=%ip:~1%

route add 0.0.0.0 mask 255.255.255.255 %ip%


Или:
Код

@echo off

for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr IP-.*') do (
       route add 0.0.0.0 mask 255.255.255.255%%i
)


Это сообщение отредактировал(а) 01MDM - 11.8.2008, 19:20


--------------------
Вопросы в личке останутся без ответов.
PM MAIL   Вверх
nitr
Дата 11.8.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 6
Всего: 84



01MDM, отлично, но тут сразу несколько IP берутся, а можно например конкретно у PPP-адаптера? smile

Это сообщение отредактировал(а) nitr - 11.8.2008, 21:27


--------------------
PM   Вверх
pr0ka33a
Дата 12.8.2008, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.10.2006

Репутация: нет
Всего: нет



Цитата(nitr @ 11.8.2008,  21:26)
01MDM, отлично, но тут сразу несколько IP берутся, а можно например конкретно у PPP-адаптера? smile

если учесть что их два ) основной и вторичный с которым мне и нужно проделавать эту операцию )

Это сообщение отредактировал(а) pr0ka33a - 12.8.2008, 11:37
PM MAIL   Вверх
marykone
Дата 12.8.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2722
Регистрация: 2.5.2006
Где: Краснодар

Репутация: 10
Всего: 67



Цитата(pr0ka33a @  11.8.2008,  11:58 Найти цитируемый пост)
DHCP сервер выдает каждый раз новый ip
и я через этот ip прописываю роуты.

а не проще на dhcp зарезервировать адрес, за интерфейсом, и прописать 1 раз ?
или прописать маршрут для всей подсети ? 


--------------------
получил ответ, пометь вопрос как решенный (правый верхний угол вашей темы).

PM   Вверх
nitr
Дата 12.8.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 6
Всего: 84



pr0ka33a, мне понравилось решение, но спросил я у него, как у знающего, как выбрать определенный, т.к. findstr  не работает с "многостроками".

Например, на ПК локалка, затем есть подсеть в другом городе, куда подключаешься по VPN, там резервировать ip-адрес нельзя, только DHCP. Маршруты определённые прописывать надо smile
Решение отлично, но оно видит два интерфейса/адаптера, локалки и ВПН, а нужен только впн PPP/WAN.

я сделал с помощью Perl/Delphi программку, но заинтерсовался данным решением через "батник" smile
 smile 


--------------------
PM   Вверх
Dobermann
Дата 12.8.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



PM   Вверх
nitr
Дата 12.8.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 6
Всего: 84



Dobermann, здесь тоже форум smile
Имхо, раз 01MDM набросал такой ответ, то может и мне поможет, просто "выудить" только из PPP (WAN)...
Dobermann, там никто не появлялся 2 года.

P.S.: Dobermann, это антиреклама Винграду ? smile  smile 


Это сообщение отредактировал(а) nitr - 12.8.2008, 22:08


--------------------
PM   Вверх
dumb
Дата 13.8.2008, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 15
Всего: 158



nitr, тут уже так же кратко не получается:
Код

@echo off
setlocal EnableExtensions EnableDelayedExpansion
for /f "tokens=1,2* delims=:" %%i in ('ipconfig /all') do (
  if !begin! EQU 1 (
    for /f "tokens=1 delims=- " %%o in ("%%i") do (
      if "%%o" == "IP" (
        set IP=%%j
        goto :found
      )
    )
  )
  set temp=%%j
  if "!temp:~0,5!" == " WAN " set begin=1
)
echo WAN interface not found
goto :EOF
:found
route add 0.0.0.0 mask 255.255.255.255%IP%

PM MAIL   Вверх
nitr
Дата 13.8.2008, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 6
Всего: 84



dumb, спасибо, есть над чем подумать!


--------------------
PM   Вверх
01MDM
Дата 13.8.2008, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 10.5.2008
Где: Default City

Репутация: 29
Всего: 29



nitr, 

Извиняюсь, сразу ответить не мог.  Если вариант от dumb не подойдет, то попробуй воспользоваться таким вариантом. Сразу предупрежу, проверить негде так как у меня только одна сетевая.

Код

@echo off
setlocal
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr IP-.*') do set /a cnt+=1 && call:route %%i
goto:eof

:route
if %cnt%==2 route add 0.0.0.0 mask 255.255.255.255 %1


Единственно что надо сделать самому это посмотреть вывод команды `ipconfig` и посчитать каким по порядку интерфейсом является нужный тебе и в соответствии с этим изменить `if %cnt%==2`

Если надо универсальный (ну почти) батник, то покажи вывод ipconfig в консоль.


--------------------
Вопросы в личке останутся без ответов.
PM MAIL   Вверх
nitr
Дата 13.8.2008, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 6
Всего: 84



Цитата

Настройка протокола IP для Windows


Network - Ethernet адаптер:

        DNS-суффикс этого подключения . . :
        IP-адрес  . . . . . . . . . . . . : 192.168.1.4
        Маска подсети . . . . . . . . . . : 255.255.255.248
        Основной шлюз . . . . . . . . . . : 192.168.1.1

Vpn - PPP адаптер:

        DNS-суффикс этого подключения . . :
        IP-адрес  . . . . . . . . . . . . : 192.168.10.10
        Маска подсети . . . . . . . . . . : 255.255.255.255
        Основной шлюз . . . . . . . . . . :




--------------------
PM   Вверх
01MDM
Дата 14.8.2008, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 10.5.2008
Где: Default City

Репутация: 29
Всего: 29



Должно работать правильно, если только один адаптер "PPP"

Код

@echo off
setlocal

for /f "tokens=1 delims=:" %%i in ('ipconfig ^| findstr /n - PPP') do set n=%%i
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| more +%n% ^| findstr IP-.*') do (
    route add 0.0.0.0 mask 255.255.255.255%%i
    goto:eof
) 



--------------------
Вопросы в личке останутся без ответов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0529 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.