Помогите изменить основной шлюз

Протоколы, пинги, роутинг - ответы на вопросы как заставить сеть работать правильно
Аватара пользователя
artemka9p

 
Сообщения: 6
Зарегистрирован:
20 дек 2009, 09:38
Откуда: Лубны

Помогите изменить основной шлюз

Сообщение artemka9p 02 янв 2010, 15:03

Всех С НОВИМ ГОДОМ!!!
Вот такая проблема у меня
есть сеть собрана из 6 компов у всех статический ап
все имеют виход в интернет через АДСЛ модем АП(192.168.1.1)
также есть комп с 2 ситевые карты на нем стоит Юзергейт с настроеным НАТом (192.168.1.101)
проблема в том што он часто выключен ...
нужно написать програму, скрипт, службу (всеравно) она должна работать в фоновом режыме без видимых окон
основной задачай эсть пинг сервера если пинг удачен (тэ сервер в сити) то поминять основной шлюз на (192.168.1.111) в ином случае на (192.168.1.1)
и дальше проверял значения пинга при изминениях сответственно изменял основной шлюз

вощим слущаю предложения
лично я начал ваять на VBS но несмог организовать паравелный алгоритм и сделать в фоновом режыме смену основного шлюза

все ето нужно для того когда в сити сервер тэ мой комп то я мог контролить трафик когда мя нету то пусть сами розбераютсо)
Последний раз редактировалось artemka9p 03 янв 2010, 14:54, всего редактировалось 1 раз.
. Я бы изменил мир, но Бог не дает исходников...

Аватара пользователя
KirillTs

 
Сообщения: 962
Зарегистрирован:
11 дек 2006, 11:29

Re: Помогите изменить основной шлюз

Сообщение KirillTs 02 янв 2010, 16:29

А как на счет поставить промежуточный рутер, тот же микротик?.. и заруливать пользователей на рабочий канал.. есть такая фишка как check gateway если шлюз перестанет пинговаться юзеры пойдут по второму маршруту...

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 02 янв 2010, 23:25

Я так понял что скрипт надо запускать у конечных юзеров, чтобы шлюз менялся у них.... Ну тут в любом случае сеть будет падать секунд на 5-10 при смене шлюза.

Но вообще действительно можно поставить микротик между адсл-модемом и сетью, и настроить его как дефолт гейт, а на нем настроить чтобы если 1.111 поднят, пакеты шли на него, а если упал - то на модем. Заодно и нагрузку НАТа с модема снять :)

Аватара пользователя
artemka9p

 
Сообщения: 6
Зарегистрирован:
20 дек 2009, 09:38
Откуда: Лубны

Re: Помогите изменить основной шлюз

Сообщение artemka9p 03 янв 2010, 11:43

Ну тут в любом случае сеть будет падать секунд на 5-10 при смене шлюза.

ето позволительно мой комп 2-3 раза в неделю выключаетсо(
проблема в том што все подключени по разному кто сразу в модем (у мя длинк на 4 порта) а кто через вайфай... и шнуризаведени кто куда и между вайфай роутером и модемом метров 20(
вощим нужена именно прога для клиентов сети
. Я бы изменил мир, но Бог не дает исходников...

Аватара пользователя
KirillTs

 
Сообщения: 962
Зарегистрирован:
11 дек 2006, 11:29

Re: Помогите изменить основной шлюз

Сообщение KirillTs 03 янв 2010, 14:10

Ну если нужны такие костыли... можно юзерам раздать по 2 батника

Номер 1
Код: Выделить всё
route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 1 

там где 192.168.0.1 - адрес модема, запускать если комп с натом выключили

Номер 2
Код: Выделить всё
route change 0.0.0.0 mask 0.0.0.0 192.168.0.254 metric 1 

там где 192.168.0.254 - адрес компа с NATом, запускать если комп включили

А дальше тебе надо найти друга программиста который за печеньки сделает программку пингующую шлюз, пинг пропал, запускает батник номер 1, пинг появился запускает батник номер 2 =)....или вообще сама вбивает в виндовую консоль эти команды...

Аватара пользователя
artemka9p

 
Сообщения: 6
Зарегистрирован:
20 дек 2009, 09:38
Откуда: Лубны

Re: Помогите изменить основной шлюз

Сообщение artemka9p 03 янв 2010, 14:56

вот што я смог наваять
но несовсем пашет(
чесно говоря ето собрано из 4 разних скриптов..
на даный момент проблема в том што он каждые 5 сикунд тупо перезаписивает основной шлюз а нужно штоб он перезаписовал токо в случае изменения статуса .... чето сам сообразить немогу....
Код: Выделить всё
On Error Resume Next
for a = 1 to 1e15 
WScript.Sleep 5000
strComputer = "."
strTarget = "192.168.1.101" 
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("Select * From Win32_PingStatus where Address = '" & strTarget & "'")

If Err = 0 Then
Err.Clear
For Each objPing in colPings 'избавиться от форича

If Err = 0 Then
Err.Clear

If objPing.StatusCode = 0 Then

Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "CMD"
WScript.Sleep 1000
oShell.SendKeys "route change 0.0.0.0 mask 0.0.0.0 192.168.1.101 metric 1 " & chr(13)
WScript.Sleep 1000
oShell.SendKeys "exit" & chr(13)
' если статус = 0, пустая строка - другое

Else

Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "CMD"
WScript.Sleep 1000
oShell.SendKeys "route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1 " & chr(13)
WScript.Sleep 1000
oShell.SendKeys "exit" & chr(13)

End If
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "." 
End If
Next
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If
Next
. Я бы изменил мир, но Бог не дает исходников...

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 03 янв 2010, 15:22

Код: Выделить всё
ping 192.168.1.101
if ERRORLEVEL 1 (route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1
  ) ELSE (route change 0.0.0.0 mask 0.0.0.0 192.168.1.101 metric 1)


Может че-то типа такого? :)

Аватара пользователя
artemka9p

 
Сообщения: 6
Зарегистрирован:
20 дек 2009, 09:38
Откуда: Лубны

Re: Помогите изменить основной шлюз

Сообщение artemka9p 03 янв 2010, 19:59

route change 0.0.0.0 mask 0.0.0.0 192.168.1.101 metric 1
почемуто не меняэт основной шлюз когда прописываю в СМД :E
после прописи сотрю в настройки сетевой карти нечего неменяетсо(
но в маршрутах изменил и тапать начинает правильно...
. Я бы изменил мир, но Бог не дает исходников...

Аватара пользователя
artemka9p

 
Сообщения: 6
Зарегистрирован:
20 дек 2009, 09:38
Откуда: Лубны

Re: Помогите изменить основной шлюз

Сообщение artemka9p 03 янв 2010, 21:58

вот то шо я смог наваять...
покашто полный тест неропрошол но уже скоро...
кто может помоч протестировать жду отзывов и предложений
Код: Выделить всё
On Error Resume Next
Do While a < 3
WScript.Sleep 5000
strComputer = "."
strTarget = "192.168.1.101" 
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("Select * From Win32_PingStatus where Address = '" & strTarget & "'")

If Err = 0 Then
Err.Clear
For Each objPing in colPings 'избавиться от форича

If Err = 0 Then
Err.Clear

If objPing.StatusCode = 0 Then

Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "route change 0.0.0.0 mask 0.0.0.0 192.168.1.101 metric 1"
aa = "192.168.1.101"
' если статус = 0, пустая строка - другое

Else

Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1"
aa = "192.168.1.1"
End If
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "." 
End If
Next
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If




Do While b < 3
WScript.Sleep 5000
strComputer2 = "."
strTarget2 = "192.168.1.101" 
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer2 & "\root\cimv2")
Set colPings = objWMIService.ExecQuery _
("Select * From Win32_PingStatus where Address = '" & strTarget2 & "'")
If Err = 0 Then
Err.Clear
For Each objPing in colPings 'избавиться от форича
If Err = 0 Then
Err.Clear
If objPing.StatusCode = 0 And aa="192.168.1.101" Then
' если статус = 0, пустая строка - другое
ElseIf  objPing.StatusCode <> 0 And aa="192.168.1.1"  Then
Else
b=b+1
End If
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "." 
End If
Next
Else
Err.Clear
WScript.Echo "Unable to call Win32_PingStatus on " & strComputer & "."
End If
Loop

b=0


Loop
. Я бы изменил мир, но Бог не дает исходников...

Аватара пользователя
KirillTs

 
Сообщения: 962
Зарегистрирован:
11 дек 2006, 11:29

Re: Помогите изменить основной шлюз

Сообщение KirillTs 03 янв 2010, 23:06

artemka9p писал(а):route change 0.0.0.0 mask 0.0.0.0 192.168.1.101 metric 1
почемуто не меняэт основной шлюз когда прописываю в СМД :E
после прописи сотрю в настройки сетевой карти нечего неменяетсо(
но в маршрутах изменил и тапать начинает правильно...

В настройках? Имеешь ввиду в свойствах "Протокол интернета tcp/ip" ?
Там и не должно ничего изменяться, cmd, route print.... увидишь маршруты, попробуй изменить маршрут и сделать tracert на какой нить сайт... маршрут должен изменится...

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 04 янв 2010, 01:55

можно менять через netsh - тогда изменится и там :)

Аватара пользователя
artemka9p

 
Сообщения: 6
Зарегистрирован:
20 дек 2009, 09:38
Откуда: Лубны

Re: Помогите изменить основной шлюз

Сообщение artemka9p 04 янв 2010, 08:45

сичас другой вопрос как сделать запуск команды
Код: Выделить всё
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1"

в фоновом режыме на даный момент она запускаетсо и 1-2 сек висит на екране шо мона туда сунуть шоб небыло етого(
да можно netsh воспользоватсо вечером попробую на ней сделать...
С помощью Netsh можно изменить текущую сетевую конфигурацию. По команде

netsh interface ip set address «Local Area Connection» static 192.168.0.10 255.255.255.0 192.168.0.254

адрес IP в системной конфигурации устанавливается для Local Area Connection в 192.168.0.10, маска подсети — 255.255.255.0, адрес шлюза — 192.168.0.254. Такой вариант использования команды Netsh применяется в ноутбуках, которые могут при необходимости переключаться между статическими и динамическими сетями.
. Я бы изменил мир, но Бог не дает исходников...

Аватара пользователя
BuTaMuH

 
Сообщения: 422
Зарегистрирован:
05 фев 2005, 13:56
Откуда: Кишинёв, Ботаника

Re: Помогите изменить основной шлюз

Сообщение BuTaMuH 11 май 2010, 14:30

В помощь администраторам просто батник,
который пришлось написать когда-то чтоб юзеры "сами" сменили настройки сети. Процесс протекал следующим образом:
всех юзеров перенаправил на страничку дебиторов где было Красным по белому написано что требуется сменить ип-настройки и предлагался для "криворуких" батник который сделает это за них.

Код: Выделить всё
netsh interface ip set address name="Подключение по локальной сети" static 192.168.0.234 255.255.255.0 192.168.0.1 1
netsh interface ip set dns name="Подключение по локальной сети" static 192.168.0.1
netsh interface ip add dns name="Подключение по локальной сети" addr=192.222.222.111 index=2 
netsh interface ip set address name="Local Area Connection" static 192.168.0.234 255.255.255.0 192.168.0.1 1
netsh interface ip set dns name="Local Area Connection" static 192.168.0.1
netsh interface ip add dns name="Local Area Connection" static" addr=192.222.222.111 index=2 


Каждому естественно свой.
и3вЕNUтЕ зА NеРоВнbIй n04Ерk! (HiComNet)

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 11 май 2010, 23:18

Интересно, что бы было, если подключение у юзера называлось "Local Area Connection 2", что довольно часто бывает... или вообще как-то типа "сеткы"?

Чего тут явно не хватает, так это определения имени сетевого подключения, которое надо изменить, например с помощью "netsh interface ip show addresses". Тогда бы и дублировать не пришлось...

Аватара пользователя
BuTaMuH

 
Сообщения: 422
Зарегистрирован:
05 фев 2005, 13:56
Откуда: Кишинёв, Ботаника

Re: Помогите изменить основной шлюз

Сообщение BuTaMuH 12 май 2010, 14:06

есть варианты в CMD работать с логикой? как я изменю команду в случае другого интерфейса?
могу только предположительно добавить /Локальное соединение 2/Local area connection 2

если есть мысль напиши пример :roll:
и3вЕNUтЕ зА NеРоВнbIй n04Ерk! (HiComNet)

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 12 май 2010, 23:58

Код: Выделить всё
@echo off

FOR /F "usebackq delims=" %%x IN (`netsh interface ip dump ^| find "1.2.3.4"`) DO (
  set V=%%x
  call set V=%%V:"=µ%%
  FOR /F "tokens=2 delims=µ" %%G IN ('call echo.%%V%%') DO ( 
	netsh interface ip set address name="%%G" static 192.168.0.234 255.255.255.0 192.168.0.1 1
	netsh interface ip set dns name="%%G" static 192.168.0.1
	netsh interface ip add dns name="%%G" addr=192.222.222.111 index=2 
	echo Done.
	)
)

pause

Соответсвенно файл генерится каким-то простейшим php-скриптом, который на место 1.2.3.4 подставляет текущий адрес юзера (например из $_SERVER['REMOTE_ADDR']), а на место 192.168.0.234 - новый адрес из какой-то базы, согласно старому. Остальные настройки можно даже задать статично в большинстве случаев.

з.ы. если бы не разделитель вокруг имени сетевого адаптера в виде кавычек, и неумения windows shell работать с кавычками в качестве разделителя, скрипт бы выглядел намного проще, не было бы нужды в 2 вложенных for, а хватило бы и 1.

Аватара пользователя
BuTaMuH

 
Сообщения: 422
Зарегистрирован:
05 фев 2005, 13:56
Откуда: Кишинёв, Ботаника

Re: Помогите изменить основной шлюз

Сообщение BuTaMuH 13 май 2010, 15:55

сложно. Тем более что нужна вторая база из которой будет выбираться соответствующий новый ип-адрес.
Я думаю проще чтоб клиента перекидывало на свою страничку в локальном веб-сервере где ему будет предлагаться соответствующий батник к запуску. В вин7 надо запускать батник от имени администратора.
и3вЕNUтЕ зА NеРоВнbIй n04Ерk! (HiComNet)

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 13 май 2010, 23:49

1. каким образом осуществляется перекидывание клиента на "свою страничку"?
2. от админа батник надо запускать по той причине, что надо изменить сетевые настройки, соответственно изначальный батник точно так же надо было запускать от админа, а мой всего лишь добавил возможность не промазать мимо правильного сетевого интерфейса.
3. что значит вторая база? в роли "базы" вполне может выступать таблица в excel из 2 колонок: старый ип и новый, которую сохраняем в csv-формат. Простейший (легче чем данный батник даже) пхп-скрипт на сайте определяет адрес пользователя из переменной, находит в таблице строчку, где через запятую указаны старый и новый адреса, выдает текст батника, где указаны правильные адреса.

Если не лень, и кажется более простым загенерить каждому юзеру свой статичный батник руками, при том что разница между всеми батниками в 1 параметре, то это уже личное дело каждого. Стояла бы передо мной подобная задача - я бы сделал именно так, как написал выше.

Аватара пользователя
BuTaMuH

 
Сообщения: 422
Зарегистрирован:
05 фев 2005, 13:56
Откуда: Кишинёв, Ботаника

Re: Помогите изменить основной шлюз

Сообщение BuTaMuH 14 май 2010, 00:30

Перед мной стоит, но в пхп я 0 , да и никогда не работал с такого рода запросами через ехеl. Еслиб ты мог на примере скинуть просто файл с экселя и работающий батник через него я был бы благодарен.

На счёт вин7 я лишь подметил. О чем я думаю напомнить юзерам на страничке.

А на счёт заброса юзера на свою отдельную страничку, всё просто, стоит лишь изменить твой метод... да тут через винбокс легко наклепать этих правил, ладно 8) , не клепать а сделать скрипт. В моём случай на 30 ПК можно и сделать руками.
Код: Выделить всё
/ip proxy access>
 1   src-address=192.168.0.6 action=deny redirect-to="www.hicom.net/6" 
     hits=1 
2  src-address=192.168.0.7 action=deny redirect-to="www.hicom.net/7" 
     hits=3 

Попробовал - работает.

Ещё вопрос... можно ли таким образом всем изменить рабочую группу?
и3вЕNUтЕ зА NеРоВнbIй n04Ерk! (HiComNet)

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 14 май 2010, 12:54

Для рабочей группы судя по гуглу надо или юзать утилиту netdom, которая идет в Resource Kit, или же, возможно, писать что-то на VBA.

Насчет 30 правил в прокси - да вы батенька извращенец :) однозначно причем... юзать скрипт, чтобы сделать отдельное правило каждому юзеру для прокидывания на его отдельную страничку, создавать этому самому юзеру страничку, закидывать туда свой собственный батник... когда можно одно правило редиректа на скрипт, который будет генерить правильный батник по табличке...

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

Вечером постараюсь помочь :)

Аватара пользователя
BuTaMuH

 
Сообщения: 422
Зарегистрирован:
05 фев 2005, 13:56
Откуда: Кишинёв, Ботаника

Re: Помогите изменить основной шлюз

Сообщение BuTaMuH 14 май 2010, 14:01

:) каждый извращается в меру своих познаний. Человеческая лень - двигатель прогресса. В любом случае хоть какой-то шаг от лени - ожидать и разыскивать каждого юзера персонально к самопротекающему процессу, я сделал. :D
Жду решения 8) .
и3вЕNUтЕ зА NеРоВнbIй n04Ерk! (HiComNet)

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 16 май 2010, 10:09

Вариант 1: Пхп-файл возвращающий каждому свой батник в зависимости от его ип-адреса. Адреса задаются в файле ip_change.csv в папке с самим php-файлом

Код: Выделить всё
<?
$csv_file = fopen ('ip_change.csv', 'r');

while ( $tmp = rtrim(fgets($csv_file))) {
list ($old_ip, $new_ip) = explode (",", $tmp);
    if ($old_ip == $_SERVER['REMOTE_ADDR']) {
	print ("@echo off

FOR /F \"usebackq delims=\" %%x IN (`netsh interface ip dump ^| find \"$old_ip\"`) DO (
  set V=%%x
  call set V=%%V:\"=µ%%
  FOR /F \"tokens=2 delims=µ\" %%G IN ('call echo.%%V%%') DO ( 
	netsh interface ip set address name=\"%%G\" static $new_ip 255.255.255.0 192.168.0.1 1
	netsh interface ip set dns name=\"%%G\" static 192.168.0.1
	netsh interface ip add dns name=\"%%G\" addr=192.222.222.111 index=2 
	echo Done.
	)
)

pause"
);
	}
	
	
}
fclose($csv_file);
?>

Пример файла с адресами:
Код: Выделить всё
192.168.0.1,192.168.1.1
192.168.0.2,192.168.1.2
192.168.0.3,192.168.1.3
192.168.0.4,192.168.1.4
192.168.0.5,192.168.1.5
192.168.0.6,192.168.1.6
192.168.0.7,192.168.1.7
192.168.0.8,192.168.1.8
192.168.0.9,192.168.1.9
192.168.0.10,192.168.1.10

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 16 май 2010, 10:52

Вариант 2: Универсальный Батничек, который все делает сам (таблица встроена) :)

Код: Выделить всё
@echo off

REM ===Список старых,новых адресов===
echo 192.168.52.1, 192.168.168.168 >> %TEMP%\ips.csv
echo 192.168.52.2, 192.168.168.169 >> %TEMP%\ips.csv
echo 192.168.52.3, 192.168.168.170 >> %TEMP%\ips.csv

REM ===Список статичных сетевых параметров===
set OLDNETADDR=192.168.52
set NEWNETMASK=255.255.255.0
set NEWNETGW=192.168.0.1
set NEWNETDNS1=192.168.0.1
set NEWNETDNS2=192.222.222.111

REM ===Код скрипта===
FOR /F "usebackq delims=" %%x IN (`netsh interface ip dump ^| find "add address" ^| find "%OLDNETADDR%"`) DO (
  set V=%%x
  call set V=%%V:"=µ%%
  FOR /F "tokens=2,3 delims=µ" %%G IN ('call echo.%%V%%') DO ( 
	FOR /F "tokens=2 delims==" %%K IN ("%%H") DO (
		echo Your old IP: %%K
		FOR /F "tokens=2 delims=, usebackq" %%L IN (`type %TEMP%\ips.csv ^| find "%%K"`) DO (
			echo Your new IP: %%L
			echo Changing network settings...
			netsh interface ip set address name="%%G" static %%L %NEWNETMASK% %NEWNETGW% 1
			netsh interface ip set dns name="%%G" static %NEWNETDNS1%
			netsh interface ip add dns name="%%G" addr=%NEWNETDNS2% index=2 
			echo Done.
			)
		)
	)
)
del %TEMP%\ips.csv
pause


OLDNETADDR должно быть равно первым 3 октетам IP-адреса (по нему определяется имя интерфейса на котором этот IP-адрес и собственно текущий IP-адрес. Конечно же, скрипт рассчитан только на /24 сети, где первые 3 октета будут оставаться неизменными.

Аватара пользователя
Igoras
Moderator
Moderator
 
Сообщения: 3248
Зарегистрирован:
22 окт 2003, 20:27
Откуда: Кишинев, Starushka.net

Re: Помогите изменить основной шлюз

Сообщение Igoras 16 май 2010, 10:58

А проще всего вообще поднять DHCP-сервер и менять адреса как вздумается :)

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

Хм, есть скрипт, который проверяет что ип-адрес текущий соответствует ип-адресам в правилах срц и дст НАТ. Может в тот же скрипт приделать проверку соответствия адреса шлюза текущего и того, который пришел в DHCP... надо помозговать будет...

Аватара пользователя
BuTaMuH

 
Сообщения: 422
Зарегистрирован:
05 фев 2005, 13:56
Откуда: Кишинёв, Ботаника

Re: Помогите изменить основной шлюз

Сообщение BuTaMuH 16 май 2010, 15:13

дхцп отпадает. У мну то он работает нормально а там куда вливается всё это отсутствует дхцп-серв. Собственно ИПы и т.д. надо перебить чтоб конфликтов избежать. Сча проверю всё это.
======================
:) (y) Спсб... батник рабочий, очень благодарен. :yes:
пхп не пробовал так как собственно в жумле не знаю куда втыкнуть на веб-сервере. :hello:
========================
уже обрадовался да вот проблема всплыла.... у меня работает , у других нет... что-то связано с дхцп, видимо те кто получали автоматически ипы по дхцп, никак не могут получить через батник
и3вЕNUтЕ зА NеРоВнbIй n04Ерk! (HiComNet)

След.

Вернуться в Настройка сети

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron