Route/Bridge - Помогите настроить роутинг

Ответить
Аватара пользователя
DjGiza

Route/Bridge - Помогите настроить роутинг

Сообщение DjGiza »

Пользуюсь вот таким скриптом



Код:

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

Set LocalIP=10.163.160.1
Set GlobalIP=92.50.168.173
route add 10.0.0.0 mask 255.0.0.0 %LocalIP% 
route add 172.27.0.0 mask 255.255.0.0 %LocalIP%
route add 77.79.128.0 mask 255.255.192.0 %LocalIP%
route add 81.30.176.0 mask 255.255.240.0 %LocalIP%
route add 81.30.192.0 mask 255.255.224.0 %LocalIP%
route add 89.189.128.0 mask 255.255.224.0 %LocalIP%
route add 94.41.0.0 mask 255.255.0.0 %LocalIP%
route add 92.50.128.0 mask 255.255.192.0 %LocalIP%
route add 194.0.68.0 mask 255.255.252.0 %LocalIP% 
route add 79.140.16.0 mask 255.255.240.0 %LocalIP%
route add 81.30.199.50 mask 255.255.255.255 %GlobalIP%
route add 81.30.199.69 mask 255.255.255.255 %GlobalIP%
route add 81.30.199.70 mask 255.255.255.255 %GlobalIP%
route add 81.30.197.10 mask 255.255.255.255 %GlobalIP%
route add 81.30.199.84 mask 255.255.255.255 %GlobalIP%
route add 81.30.199.238 mask 255.255.255.255 %GlobalIP%

где LocalIP - локальный шлюз который не меняется

GlobalIP - меняется при каждом переподключении



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

Re: Route/Bridge - Помогите настроить роутинг

Сообщение czecz »

наверное вычислять предварительно как-то ваш GlobalIP тоже скриптом? Изображение
Аватара пользователя
Petya V4sechkin

Re: Route/Bridge - Помогите настроить роутинг

Сообщение Petya V4sechkin »

DjGiza, пример скрипта для получения адреса шлюза:



Код:

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

@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set IntN="Подключение по локальной сети"
For /F "Tokens=1* Delims=:" %%I In ('netsh int ip show address %IntN%') Do (
  If "%%I"=="    Основной шлюз" (
    Set GW=%%J
    Set GW=!GW: =!
    Echo !GW!
  )
  If "%%I"=="    Default Gateway" (
    Set GW=%%J
    Set GW=!GW: =!
    Echo !GW!
  )
)

в переменной IntN задано имя интерфейса, результат в переменной GW.

Батник должен быть в кодировке 866 (если русская система), проверял на XP и 2003.
Аватара пользователя
DjGiza

Re: Route/Bridge - Помогите настроить роутинг

Сообщение DjGiza »

Код:

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

C:\Routing3>SetLocal EnableExtensions EnableDelayedExpansion
C:\Routing3>Set IntN="Подключение по локальной сети"
C:\Routing3>For /F "Tokens=1* Delims=:" %I In ('netsh int ip show address "Подкл
ючение по локальной сети"') Do (
If "%I" == "    Основной шлюз" (
Set GW=%J
 Set GW=!GW: =!
 Echo !GW!
)
 If "%I" == "    Default Gateway" (
Set GW=%J
 Set GW=!GW: =!
 Echo !GW!
)
)
C:\Routing3>(
If "Настройка интерфейса "Подключение по локальной сети"" == "    Основной шлюз"
 (
Set GW=
 Set GW=!GW: =!
 Echo !GW!
)
 If "Настройка интерфейса "Подключение по локальной сети"" == "    Default Gatew
ay" (
Set GW=
 Set GW=!GW: =!
 Echo !GW!
)
)
C:\Routing3>(
If "    DHCP разрешен" == "    Основной шлюз" (
Set GW=                        Да
 Set GW=!GW: =!
 Echo !GW!
)
 If "    DHCP разрешен" == "    Default Gateway" (
Set GW=                        Да
 Set GW=!GW: =!
 Echo !GW!
)
)
C:\Routing3>(
If "    Метрика интерфейса" == "    Основной шлюз" (
Set GW=                   0
 Set GW=!GW: =!
 Echo !GW!
)
 If "    Метрика интерфейса" == "    Default Gateway" (
Set GW=                   0
 Set GW=!GW: =!
 Echo !GW!
)
)

Что не правильно делаю?
Аватара пользователя
Petya V4sechkin

Re: Route/Bridge - Помогите настроить роутинг

Сообщение Petya V4sechkin »

DjGiza, значит, ничего у вас не настроено на интерфейсе "Подключение по локальной сети".

Приведите результаты выполнения ipconfig /all при подключенном инете.
Аватара пользователя
DjGiza

Re: Route/Bridge - Помогите настроить роутинг

Сообщение DjGiza »

Вот



Код:

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

C:\Documents and Settings\Admin>ipconfig /all
Настройка протокола IP для Windows
        Имя компьютера  . . . . . . . . . : microsof-4794f8
        Основной DNS-суффикс  . . . . . . :
        Тип узла. . . . . . . . . . . . . : неизвестный
        IP-маршрутизация включена . . . . : нет
        WINS-прокси включен . . . . . . . : нет
        Порядок просмотра суффиксов DNS . : ufanet.ru
Подключение по локальной сети - Ethernet адаптер:
        DNS-суффикс этого подключения . . : ufanet.ru
        Описание  . . . . . . . . . . . . : Realtek RTL8139/810x Family Fast Eth
ernet NIC
        Физический адрес. . . . . . . . . : 00-04-61-6E-5E-EB
        Dhcp включен. . . . . . . . . . . : да
        Автонастройка включена  . . . . . : да
        IP-адрес  . . . . . . . . . . . . : 10.163.160.76
        Маска подсети . . . . . . . . . . : 255.255.255.128
        Основной шлюз . . . . . . . . . . : 10.163.160.1
        DHCP-сервер . . . . . . . . . . . : 10.163.160.1
        DNS-серверы . . . . . . . . . . . : 81.30.199.5
                                            81.30.199.94
        Аренда получена . . . . . . . . . : 13 марта 2009 г. 1:49:07
        Аренда истекает . . . . . . . . . : 13 марта 2009 г. 2:49:07
anlim - PPP адаптер:
        DNS-суффикс этого подключения . . :
        Описание  . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
        Физический адрес. . . . . . . . . : 00-53-45-00-00-00
        Dhcp включен. . . . . . . . . . . : нет
        IP-адрес  . . . . . . . . . . . . : 94.41.66.69
        Маска подсети . . . . . . . . . . : 255.255.255.255
        Основной шлюз . . . . . . . . . . : 94.41.66.69
        DNS-серверы . . . . . . . . . . . : 81.30.199.5
                                            81.30.199.94

Если вместо "Подключение по локальной сети" писать например подключение "anlim" то пишет что не найден
Аватара пользователя
Petya V4sechkin

Re: Route/Bridge - Помогите настроить роутинг

Сообщение Petya V4sechkin »

DjGiza, прошу прощения, netsh int ip show address выводит только статический адрес.

Тогда придется ковырять Ipconfig, примерно так:



Код:

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

@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set Desc=Подключение по локальной сети - Ethernet адаптер
Set Found=
Set GW=
For /F "Tokens=1* Delims=:" %%I In ('Ipconfig') Do (
  If "%%I"=="%Desc%" (
    Set Found=1
  ) Else (
    If "!Found!"=="1" (
      Set V=%%I
      Set V=!V: =!
      Set V=!V:.=!
      If "!V!"=="Состояниесети" GoTo Finish
      If "!V!"=="MediaState" GoTo Finish
      If "!V!"=="Основнойшлюз" (
        Set GW=%%J
        GoTo Finish
      )
      If "!V!"=="DefaultGateway" (
        Set GW=%%J
        GoTo Finish
      )
    )
  )
)
:Finish
If Not "!GW!"=="" (
  Set GW=!GW: =!
  Set GW=!GW:~0,-1!
)
Echo !GW!

на этот раз сохранять батник в кодировке 1251 (так Ipconfig выводит).

Переменную Desc можете поменять:



Код:

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

Set Desc=anlim - PPP адаптер
Аватара пользователя
DjGiza

Re: Route/Bridge - Помогите настроить роутинг

Сообщение DjGiza »

Petya V4sechkin,

спасибо большое. все заработало
Аватара пользователя
Petya V4sechkin

Re: Route/Bridge - Помогите настроить роутинг

Сообщение Petya V4sechkin »

DjGiza, я там еще добавил пару строк (на случай, если сеть отключена).
Ответить

Вернуться в «Сетевые технологии»