none
Настройка таблицы маршрутизации для платного и гостевого соединения. RRS feed

  • Вопрос

  • Есть ADSL-провайдер. Он предоставляет услуги посредством платного и гостевого подключения. Когда используется схема "Гостевое соединение поднимается в модеме, платное в Windows" используются маршруты, предоставленные оператором:
    @echo off
    rem new network
    route add -p 86.57.151.0 mask 255.255.255.224 192.168.1.1
    rem game servers
    route add -p 86.57.251.28 mask 255.255.255.255 192.168.1.1
    rem stat.byfly.by
    route add -p 86.57.253.1 mask 255.255.255.255 192.168.1.1
    rem www.byfly.by
    route add -p 193.232.248.79 mask 255.255.255.255 192.168.1.1
    rem www.belpak.by
    route add -p 193.232.248.80 mask 255.255.255.255 192.168.1.1
    rem jabber
    route add -p 82.209.245.151 mask 255.255.255.255 192.168.1.1
    rem mogilev
    route add -p 194.158.206.240 mask 255.255.255.255 192.168.1.1
    route add -p 194.158.206.241 mask 255.255.255.255 192.168.1.1
    route add -p 194.158.206.246 mask 255.255.255.255 192.168.1.1
    rem grodno route add -p 194.158.202.59 mask 255.255.255.255 192.168.1.1
    rem brest route add -p 82.209.195.15 mask 255.255.255.255 192.168.1.1
    rem dc route add -p 86.57.250.0 mask 255.255.254.0 192.168.1.1 route add -p 86.57.246.0 mask 255.255.255.0 192.168.1.1 route add -p 93.84.112.0 mask 255.255.248.0 192.168.1.1 rem extmedia at dc route add -p 91.149.189.0 mask 255.255.255.128 192.168.1.1
    route add -p 91.149.189.128 mask 255.255.255.192 192.168.1.1
    route add -p 93.125.53.0 mask 255.255.255.0 192.168.1.1 rem tut.by at dc route add -p 91.149.157.0 mask 255.255.255.128 192.168.1.1
    rem dns route add -p 194.158.202.57 mask 255.255.255.255 192.168.1.1
    route add -p 193.232.248.2 mask 255.255.255.255 192.168.1.1
    И тогда все гостевые ресурсы открываются по гостевому подключением в модеме и платный трафик не съедается. У меня появилась острая необходимость изменить схему: сделать все наоборот - платное соединение прописать в модеме, а гостевое в Windows. Для этого надо переписать правильно маршруты. Потому у меня такие вопросы:
    1. Надо создать bat-файл, который сам проверяет активность соединения, созданного в Windows и если оно неактивно, выполняет подключение.
    2. Чтобы этот файл приводил таблицу маршрутов в "правильное" рабочее состояние, чтобы все открывалось как положено.
    P.S. На компьютере установлена Windows XP SP3 + updates, модем D-Link DSL-504T в режиме Router.
    28 сентября 2009 г. 18:44

Все ответы

  • 1. Просто выполни rasdial подключения. Если оно активно, то ничего не произойдет. Иначе - соединится.

    2. netsh routing ip add rtmroute // добавляет маршрут
        netsh routing ip set rtmroute // изменяет маршрут
        netsh routing ip delete rtmroute // удалеят маршрут
        netsh routing ip show rtmroute // показывает маршруты
        netsh routing ip show interface // показывает интерфейсы

    Дальше только прямые руки и 15 минут.
    29 сентября 2009 г. 4:52
  • Команда netsh routing ip show interface:
    Есть только "Замыкание на себя", "Внутренний", "Подключение по локальной сети".
    • Изменено dirolxylitol 29 сентября 2009 г. 7:59
    29 сентября 2009 г. 7:26
  • netsh routing ip add rtmroute dest=86.57.151.0 mask=255.255.255.224 nameorindex="guest"
    29 сентября 2009 г. 7:52
  • netsh routing ip add rtmroute dest=86.57.151.0 mask=255.255.255.224 nameorindex="guest"

    В том и проблема, что даже с подключенным соединением "guest" этот запрос пишет:
    Не найдено имя интерфейса.
    Параметр задан неверно.
    По команде netsh routing ip show rtmroute в столбце "Интерфейс" "guest" упоминается
    Подключение производится по:
    @echo off
    
    set conn="guest"
    :: название вашего подключения к интернету
    
    set login="xxxx-xxxxxxx-08@guest"
    :: ваш логин подключения к интернету
    
    set pass="xxxxxxxxxxxx"
    :: ваш пароль подключения к интернету
    
    set pause=30
    :: пауза в секундах между проверкой соединения, если соединение разорвалось произойдет подключение
    
    :LOOP
    set connected=0
    for /f "delims=" %%i in ('rasdial') do (
        if "%%i"=="%conn:"=%" set connected=1
    )
    if %connected%==0 (
        echo %date% %time%	%conn% connection not detected. Dialing...
    rasdial %conn% %login% %pass%
    ) else (
        echo %date% %time%	%conn% connection is active.
    )
    ping -n %pause% 127.0.0.1>nul 2>&1
    goto LOOP
    

    29 сентября 2009 г. 8:02
  • Без ковычек пробовал?
    При обычном соединении (не через rasdial) происходит тоже самое?
    29 сентября 2009 г. 9:01
  • Без ковычек пробовал?
    При обычном соединении (не через rasdial) происходит тоже самое?

    Без кавычек пробовал.
    При обычном соединении тоже самое!
    29 сентября 2009 г. 20:17