среда, 21 октября 2015 г.

Порядок выбора IP в Windows

Понадобилась быстрая смена ip адреса, на сервере
Был использован следующий скрипт  (командная строка бат файл)

@echo off
cpch 1251
set /p mesto="Выберите настройки (1 - ip1, 2 - ip2): "
echo Выбраны настройки - %mesto%

if %mesto% equ 2 goto w
if %mesto% equ 3 goto e
if %mesto% equ 4 goto r

:q
set IFACE="local"
set IP=0.0.0.0
set IP2=1.1.1.1
set MASK=255.255.252.0
set GATEWAY=0.1.2.3
set GWMETRIC=1
set DNS1=8.8.8.8
set DNS2=8.8.4.4
goto smena

:w
set IFACE="local"
set IP=1.1.1.1
set IP2=0.0.0.0
set MASK=255.255.252.0
set GATEWAY=1.2.3.4
set GWMETRIC=1
set DNS1=8.8.8.8
set DNS2=8.8.4.4
goto smena

:
:smena
echo _____
echo Устанавливаем IP адрес-%IP%
echo Маску подсети-%MASK%
echo Основной Шлюз-%GATEWAY%

netsh interface ip set address name=%IFACE% source=static addr=%IP% mask=%MASK% gateway=%GATEWAY% gwmetric=%GWMETRIC%
netsh interface ip add address name=%IFACE% addr=%IP2% mask=%MASK% gateway=%GATEWAY% gwmetric=%GWMETRIC% SkipAsSource=True

echo Устанавливаем основной DNS сервер %DNS1%
netsh interface ip set dns name=%IFACE% source=static addr=%DNS1% register=PRIMARY
netsh interface ip add dns name=%IFACE% addr=%DNS2%
echo Настройки сети изменены:
ipconfig /all
echo _____
pause


___________________________

Описую сделаное:
Есть несколько белых ip адресов. Нужно что бы при запуске БАТ ника Менялся ip, при этом связь прерыфвалась не на долго и автоматически подключался обратно.

Проблема была изначально в том что Windows выбирает IP по принципу наименьшего адреса.
То есть, не важно где IP прописан или в основной или альтернативной конфигурации. Он брал тот который по сортировке меньший.

gateway=%GATEWAY% gwmetric=%GWMETRIC% SkipAsSource=True

SkipAsSource=True - это было Решение!)

 

LOGOFF – завершение сеанса пользователя Windows

  LOGOFF – завершение сеанса пользователя Windows . Команда MODE используется для завершения сеанса пользователя (выхода из Windows). Формат...