#1 20.07.07 22:07
Резервирование по IP, а-ля vrrp
Есть сервер с 2мя eth-интерфейсами воткнутыми в разные свичи. Нужно сделать виртуальный ip который будет висеть на одном интерфейсе, и если у этого интерфейса падает линк, нужно чтобы ип перескочил на другой интерфейс. Как подобное реализовать? В линуксе есть софт такой, а в винде есть нечто подобное?
Система w2k3.
Offline
#2 21.07.07 12:52
Re: Резервирование по IP, а-ля vrrp
Можно пакетниками реализовать.
Предположим, у тебя 2 подключения. Net1 и Net2
Net1:
IP: 192.168.0.2
mask: 255.255.255.0
gateway: 192.168.0.1
Net2:
IP: 192.168.1.2
mask: 255.255.255.0
gateway:192.168.1.1
Виртуальный адрес, который будем втюхивать:
192.168.2.2/255.255.255.0
Код::
@echo off rem Copyright (c) Destructor-X, 2007 :net1 netsh interface ipv4 delete address "Net2" addr=192.168.2.2 netsh interface ipv4 add address "Net1" 192.168.2.2 255.255.255.0 :net1repeat if exist tmp.tmp del tmp.tmp if exist temp.tmp del temp.tmp ping -n 2 192.168.0.1 >> tmp.tmp type tmp.tmp |findstr 100% >> temp.tmp call checksize temp.tmp if exist temp.tmp goto net2 goto net1repeat :net2 netsh interface ipv4 delete address "Net1" addr=192.168.2.2 netsh interface ipv4 add address "Net2" 192.168.2.2 255.255.255.0 :net2repeat if exist tmp.tmp del tmp.tmp if exist temp.tmp del temp.tmp ping -n 2 192.168.1.1 >> tmp.tmp type tmp.tmp |findstr 100% >> temp.tmp call checksize temp.tmp if exist temp.tmp goto net1 goto net2repeat
checksize также является пакетником со следующим текстом
Код::
if %~z1 == 0 del temp.tmp
При запуске файла айпи нашивается на первый интерфейс, когда связь со шлюзом пропадает, адрес автоматически нашивается на второй. Если связь опять пропадёт, то снова на первый. И так пока окошко не закроешь.
Исправлено Destructor-X (21.07.07 12:55)
Offline
#3 21.07.07 13:04
Re: Резервирование по IP, а-ля vrrp
Можно ещё чё-то типа лога изменений сделать.
После :net1 вставить:
Код::
echo "Switching to network 1" >> log.txt date /t >> log.txt time /t >> log.txt
После :net2 вставить:
Код::
echo "Switching to network 2" >> log.txt date /t >> log.txt time /t >> log.txt
Offline
#4 21.07.07 14:40
Re: Резервирование по IP, а-ля vrrp
Спасибо огромное!
Вчера тоже начал в этом направлении думать... надо будет затестить
только наверное лучше еще к пингу добавить -w 1
Offline
#5 21.07.07 14:49
Re: Резервирование по IP, а-ля vrrp
Destructor-X написал(а):
:net1repeat
if exist tmp.tmp del tmp.tmp
if exist temp.tmp del temp.tmp
ping -n 2 192.168.0.1 >> tmp.tmp
type tmp.tmp |findstr 100% >> temp.tmp
call checksize temp.tmp
if exist temp.tmp goto net2
goto net1repeat
не проще так:
:net1repeat
ping -n 2 192.168.0.1
IF %ERRORLEVEL% == 0 goto net2
goto net1repeat
??))
Offline
#6 21.07.07 14:52
Re: Резервирование по IP, а-ля vrrp
Maq написал(а):
Destructor-X написал(а):
:net1repeat
if exist tmp.tmp del tmp.tmp
if exist temp.tmp del temp.tmp
ping -n 2 192.168.0.1 >> tmp.tmp
type tmp.tmp |findstr 100% >> temp.tmp
call checksize temp.tmp
if exist temp.tmp goto net2
goto net1repeatне проще так:
:net1repeat
ping -n 2 192.168.0.1
IF %ERRORLEVEL% == 0 goto net2
goto net1repeat??))
пробовал, не везде работает как ни странно
Offline

