Page 2 of 3 FirstFirst 123 LastLast
Results 16 to 30 of 45

Thread: Маршрутизация по источнику (Source Routing) на роутере

  1. #16
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Question Проблема маршрутизации и нескольких провайдеров

    пусть проблема не относится прямо к оборудованию ASUS и тем более прошивкам Олега, но может у кого-то будут мысли, потому как я как-то в тупике.

    все завертелось давно, почти 10 лет назад. тогда протянули себе выделенку с 2048к локального трафика провайдера и 64к внешнего.
    купили у провайдера РЕАЛЬНЫЙ адресный пул и было все нормально.

    но со временем появилась возможность ISDN 128k, а теперь и ADSL (c начала 256к, теперь безлимит 8М за $30 в месяц).
    причем ADSL линий теперь ТРИ от разных провайдеров.

    - выделенка осталась для получения и отправки почты (потому как 2М на отправку до сих еще никто не предоставляет) и локального трафика провайдера (очень хороший сервер фильмов, побагаче остальных и обновляется чаще)

    - три ADSL линии используются для внешнего Интернета и для доступа опять же к локальным ресурсам провайдеров.

    есть "центральный" маршрутизатор (Windows Server), на котором статическими маршрутами все сделано. т.е. прописаны локальные маршруты на каждого провайдера и также руками "поделена полоса пропускания" внешнего Интернета.

    на всех ADSL провайдеров стоят ADSL модемы, которые как обычно с NAT, о они подключены каждый к отдельной сетевой карте "центрального" маршрутизатора. на старого провайдере стоит SDSL модем в режиме Bridge и в него в режиме Router (с отключенным NAT и Firewall) включен WAN'ом WL-500gp и LAN подключен к отдельной карте "центрального" маршрутизатора.

    для внутренних клиентов сети все работает бесподобно.

    но возникли проблемы с внешними подключениями.
    вот в этом и есть главная проблема.


    хоть у провайдера и прописана маршрутизация, но получается, что при таком раскладе как у меня все клиенты, которые НЕ относятся к локальной сети провайдера, НЕ видят мою сеть!

    если запустить tracert (traceroute) то они все доходят до wl-500gp(в данном случае) и на этом "застряют".
    с начала я наезжал на провайдера SDSL, но тот отвечал, что у него все отлично пингуется и трассируется.
    только потом я выяснил(или понял), что запрос приходит через сеть провайдера, а ответ ему отсылается через одного из ADSL провайдеров, т.е. по расписанным маршрутам.

    как выйти из данной ситуации никак не разберусь.

    буду очень признателен за высказанные мнения!
    Last edited by AndreyPopov; 10-01-2009 at 23:22.

  2. #17
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by AndreyPopov View Post
    пусть проблема не относится прямо к оборудованию ASUS и тем более прошивкам Олега, но может у кого-то будут мысли, потому как я как-то в тупике.

    все завертелось давно, почти 10 лет назад. тогда протянули себе выделенку с 2048к локального трафика провайдера и 64к внешнего.
    купили у провайдера РЕАЛЬНЫЙ адресный пул и было все нормально.

    но со временем появилась возможность ISDN 128k, а теперь и ADSL (c начала 256к, теперь безлимит 8М за $30 в месяц).
    причем ADSL линий теперь ТРИ от разных провайдеров.

    - выделенка осталась для получения и отправки почты (потому как 2М на отправку до сих еще никто не предоставляет) и локального трафика провайдера (очень хороший сервер фильмов, побагаче остальных и обновляется чаще)

    - три ADSL линии используются для внешнего Интернета и для доступа опять же к локальным ресурсам провайдеров.

    есть "центральный" маршрутизатор (Windows Server), на котором статическими маршрутами все сделано. т.е. прописаны локальные маршруты на каждого провайдера и также руками "поделена полоса пропускания" внешнего Интернета.

    на всех ADSL провайдеров стоят ADSL модемы, которые как обычно с NAT, о они подключены каждый к отдельной сетевой карте "центрального" маршрутизатора. на старого провайдере стоит SDSL модем в режиме Bridge и в него в режиме Router (с отключенным NAT и Firewall) включен WAN'ом WL-500gp и LAN подключен к отдельной карте "центрального" маршрутизатора.

    для внутренних клиентов сети все работает бесподобно.

    но возникли проблемы с внешними подключениями.
    вот в этом и есть главная проблема.


    хоть у провайдера и прописана маршрутизация, но получается, что при таком раскладе как у меня все клиенты, которые НЕ относятся к локальной сети провайдера, НЕ видят мою сеть!

    если запустить tracert (traceroute) то они все доходят до wl-500gp(в данном случае) и на этом "застряют".
    с начала я наезжал на провайдера SDSL, но тот отвечал, что у него все отлично пингуется и трассируется.
    только потом я выяснил(или понял), что запрос приходит через сеть провайдера, а ответ ему отсылается через одного из ADSL провайдеров, т.е. по расписанным маршрутам.

    как выйти из данной ситуации никак не разберусь.

    буду очень признателен за высказанные мнения!
    Вероятно надо настраивать на роутере либо маскарадинг двусторонний, либо пре- построутинги.
    Надо в запросах, проходящих через роутер, подменять source адрес, чтобы ответ роутеру вернулся и опять source поменять, чтобы отправителя запроса в тупик не ставить.
    Либо как-то "центральному маршрутизатору" объяснить, что все пакеты с роутера отправлять ему-же, а не по приоритетному маршруту.

  3. #18
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Question

    Quote Originally Posted by vectorm View Post
    Вероятно надо настраивать на роутере либо маскарадинг двусторонний, либо пре- построутинги.
    Надо в запросах, проходящих через роутер, подменять source адрес, чтобы ответ роутеру вернулся и опять source поменять, чтобы отправителя запроса в тупик не ставить.
    Либо как-то "центральному маршрутизатору" объяснить, что все пакеты с роутера отправлять ему-же, а не по приоритетному маршруту.
    маскарадинг, пре-роутинг и пост-роутинг - это в основном заморочки NAT - а его нет в данном случае.

    а вот КАК объяснить "центральному маршрутизатору", чтобы он пакеты слал обратно по пути откуда пришел этот пакет?

  4. #19
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by AndreyPopov View Post
    маскарадинг, пре-роутинг и пост-роутинг - это в основном заморочки NAT - а его нет в данном случае.

    а вот КАК объяснить "центральному маршрутизатору", чтобы он пакеты слал обратно по пути откуда пришел этот пакет?
    А зафигарить например nginx в режиме реверс прокси?
    Я сомневаюсь, что на Винде можно разрулить такую сложную маршрутизацию, ну например тегировать vlan на роутере и отслеживать в "центре" по тегу.

  5. #20
    Мысль сырая, непродуманная, но предложу (пинайте, если что) - можно попробовать развернуть Asus на 180 градусов - т.е. пусть внутренняя сеть будет в WAN'е, а внешка - в LAN'е. И включить NAT - тогда для w2k3 все пакеты придут уже от Asusa и соотв. роутить их можно обратно достаточно просто. А asus раздаст обратно сам. Вопрос только в размерах NAT таблицы (кол-во сессий) на асусе.

  6. #21
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Question

    Quote Originally Posted by DfDf View Post
    Мысль сырая, непродуманная, но предложу (пинайте, если что) - можно попробовать развернуть Asus на 180 градусов - т.е. пусть внутренняя сеть будет в WAN'е, а внешка - в LAN'е. И включить NAT - тогда для w2k3 все пакеты придут уже от Asusa и соотв. роутить их можно обратно достаточно просто. А asus раздаст обратно сам. Вопрос только в размерах NAT таблицы (кол-во сессий) на асусе.
    да дело не в ASUS тут как бы.
    это "центральный" маршрутизатор отправляет ответы на запрос "не в том направлении".

    говорят, что это называется Source Routing, но ключ реестра я прописал в винде DisableIPSourceRouting в "0".
    только не помагает. выставил порядок binding (обращения к адаптерам) - тоже не помагает.

    вот как заставить центральный машрутизатор отправлять ответ на запрос из внешней сети по пути, по которому этот внешний запрос пришел, а НЕ по тому, что прописан в таблице маршрутизации?

  7. #22
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by AndreyPopov View Post
    да дело не в ASUS тут как бы.
    это "центральный" маршрутизатор отправляет ответы на запрос "не в том направлении".

    говорят, что это называется Source Routing, но ключ реестра я прописал в винде DisableIPSourceRouting в "0".
    только не помагает. выставил порядок binding (обращения к адаптерам) - тоже не помагает.

    вот как заставить центральный машрутизатор отправлять ответ на запрос из внешней сети по пути, по которому этот внешний запрос пришел, а НЕ по тому, что прописан в таблице маршрутизации?
    Я и говорю - Винда очень тупая, некоторые вещи невозможно сделать. На NIX-ах например такое на ура бы сделалось.
    DisableIPSourceRouting - служит для блокировки уязвимости
    Пишут, что вроде как должно работать.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters
    "DisableIPSourceRouting"=dword:0

  8. #23
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Question

    Quote Originally Posted by vectorm View Post
    Я и говорю - Винда очень тупая, некоторые вещи невозможно сделать. На NIX-ах например такое на ура бы сделалось.
    DisableIPSourceRouting - служит для блокировки уязвимости
    Пишут, что вроде как должно работать.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters
    "DisableIPSourceRouting"=dword:0
    да это я уже сделал.

    а как на *nix это сделать?
    у винды тоже есть командная строка и утилита netsh - может по подобию получится слепить.

  9. #24
    на винде не получится она всегда будет заворачивать ответ на дефолтный маршрут
    там даже метрики толком не работают

    зачем вам винда на PC роутере? поставьте туда например M0n0wall и радуйтесь жизни
    хотя с вашими скоростями справится один WL500GP
    на нем можно перенастроить порты чтоб было 4WAN 1LAN
    только для полноценной работы с мультиван надо прошить DDWRT

    входящие подключения метятся через connmark в соответствии с wan через который они пришли
    потом помеченные пакеты заворачиваются на нужный wan через ip rule add fwmark в соответствии с этими метками
    соответствующие рецепты легко нагуглить
    но вы должны знать что такое iptables и iproute2
    если не знаете то стоит начать отсюда
    если желание настраивать не пропадет то все вполне реально
    у меня работают три прова с локальными ресурсами и пр на asus500gP + asus3042h
    две железки по 100$ с линухом на борту винду забыл как страшный сон причем две только потому что поца на 500gP на все не хватает т.к. скорости под сотку и на ddwrt не хочется переходить из-за wifi.

  10. #25
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Exclamation

    видать прийдется wl-500gp перепрофилировать.
    тем более мне на нем нужен только маршрутизация

    правда у меня еще есть 3Com Switch 4500 c Layer3 - надо глянуть как он относится к source routing?

  11. #26
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by AndreyPopov View Post
    да это я уже сделал.

    а как на *nix это сделать?
    у винды тоже есть командная строка и утилита netsh - может по подобию получится слепить.
    Например в Убунте это настраивается не особо заморачиваясь.

  12. #27
    Quote Originally Posted by AndreyPopov View Post
    да дело не в ASUS тут как бы.
    Понятно, что дело не в ASUS. Binding тоже не поможет, и это понятно. Но мое решение, тем не менее, решить проблему малой кровью (без установки вместо w2k3 *nix), как мне кажется, может, т.к. в таком случае все пакеты в сторону центрального маршрутизатора будут из одной сети - даже маршрут прописывать не придется. А трансляцией займется как раз АСУС.

  13. #28
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Question

    Quote Originally Posted by vectorm View Post
    Например в Убунте это настраивается не особо заморачиваясь.
    собственно поставил я DD-WRT, потому как настройки VLAN там прописываются через Web интерфейс.

    скриптом запустил "расписание" маршрутизации, как и было у меня.
    все работает.
    сейчас буду пытаться настроить Source Routing.
    пока возник идин вопрос.

    как я понял по умолчанию доступны команды route add.
    при установке iproute2 появляется возможность команд ip route add

    ну по крайней мере команда ip route отвечает:
    195.24.153.40/29 dev eth2 proto kernel scope link src 195.24.153.42
    195.24.153.32/29 dev vlan1 proto kernel scope link src 195.24.153.34
    195.24.153.56/29 dev vlan4 proto kernel scope link src 195.24.153.58
    195.24.153.48/29 dev vlan3 proto kernel scope link src 195.24.153.50
    195.24.153.232/29 dev wl0.2 proto kernel scope link src 195.24.153.236
    195.24.153.240/29 dev wl0.1 proto kernel scope link src 195.24.153.244
    195.24.153.0/27 dev vlan2 proto kernel scope link src 195.24.153.1
    195.24.153.64/26 dev br0 proto kernel scope link src 195.24.153.68
    и скрипт я сделал командами такого плана:
    ip route add 78.25.8.242/32 via 195.24.153.49 dev vlan3

    т.е. собственно вопрос в том, что для DD-WRT как я понял ставить пакет iproute2 НЕ надо - он там уже есть?????

    в общем iproute2 в DD-WRT уже стоит.
    нашел инструкцию пошаговую тут: http://lartc.org/howto/index.html

    ну в общем все где-то понятно, только везде указывается путь где надо создавать дополнительные таблицы маршрутизации:
    /etc/iproute2/rt_tables


    такого пути в DD-WRT нет. но сами таблицы есть и где-то храняться, потому как
    ip rule list выдает:
    0: from all lookup local
    32766: from all lookup main
    32767: from all lookup default

    какие есть мысли по поводу пути, где хранится эта таблица, чтобы в нее добавить?

    наверное решение здесь:
    http://www.dd-wrt.com/phpBB2/viewtop...?p=79278#79278

    попробую для своих четырех портов.
    Last edited by Omega; 01-12-2011 at 22:56. Reason: fixed

  14. #29
    Join Date
    Feb 2008
    Location
    Dniepropetrovsk, Ukraine
    Posts
    1,527

    Question

    схема такая:

    Internet <-> router wl-500gp <-> router central wl-500gp <- сеть с реальными IP адресами.

    к центральному роутеру подключены подключены еще несколько провайдеров и руками сделана таблица load balancing.

    уже практически все работает нормально.
    даже написано правило, чтобы сам роутер пользовался руками сделаной таблицей load balancing с помощью интерфейса lo.

    не получается пока сказать:
    чтобы компы из сеть с реальными IP адресами пользовались руками сделаной таблицей load balancing, но при этом внешние запросы приходящие из Internet, чтобы возвращались через router wl-500gp

    с правилами так все нормально и не сложилось.
    ну и пришлось как в Айболите-66 - нормальные герои всегда идут в обход.

    пришлось делать так:
    каждому компьютеру в сети присвоил еще дополнительный IP адрес, но из другой подсети. интерфейсу роутера через ifconfig vlan0:0 тоже присвоил второй IP адрес.

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

    так все заработало как мне хотелось.
    Last edited by Omega; 01-12-2011 at 22:59. Reason: fixed

  15. #30
    сперто здесь http://www.opennet.ru/base/net/adv_route_qos.txt.html
    Code:
    4. Advanced Routing.
    
       Теперь я приведу несколько примеров, иллюстрирующих возможности
       table-routing.
    
       Для начала рассмотрим вариант простейшей маршрутизации по адресу src.
       Предположим, у нас есть высокоскоростной и дорогой линк на провайдера
       (xDSL) и медленный, но дешёвый линк по коммутируемуму доступу
       (dial-up). Маршрут по умолчанию в основной таблице установлен на xDSL,
       но мы хотим одну из машин внутренней сети направить в нашу медленную
       связь, и освободить таким образом основной канал. Теперь мы создадим
       для этой машины отдельную таблицу маршрутов, которую назовем Manager:
    
          # echo 100 Manager >> /etc/iproute2/rt_tables
    
       Далее создаем правило-селектор по адресу нашей выделенной машины,
       чтобы маршрутизация для нее переходила в новую таблицу:
    
          # ip rule add from 191.216.121.1 table Manager
    
       Осталось добавить маршрут по умолчанию в таблицу Manager (там пока
       пусто), и сбросить кэш маршрутов:
    
          # ip route add default via 191.216.121.14 dev ppp2 table Manager
          # ip route flush cache
    
       Все готово. Здесь ppp2 - наш дешёвый линк. Конечно это можно было
       сделать и не создавая отдельную таблицу маршрутов, это просто пример
       работы с таблицами.
       
       Теперь предположим, что нам надо направить в dial-up весь SMTP трафик,
       идущий с внутреннего адреса. Используя iptables помечаем пакеты SMTP:
    
          # iptables -t mangle -I PREROUTING -p tcp -s 10.0.0.1 --sport 25 -j MARK --set-mark 0x10
    
       Маскарадим отмеченные пакеты, и отправляем их в таблицу Manager,
       содержащую маршрут в ppp2:
    
          # ip rule add fwmark 10 preference 200 nat 191.216.121.2 table Manager

Page 2 of 3 FirstFirst 123 LastLast

Similar Threads

  1. Broadcom & Asus Source
    By NKZ in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 0
    Last Post: 07-07-2007, 13:54

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •