Jump to content

Alexey Wordly

Forum Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by Alexey Wordly

  1. Привет! Я пишу всякие сетевые приложули, и столкнулся с проблемой их тестирования, ибо при обращении по wan, роутер подставляет ответкой свой lan-адрес.
    То есть, схема "мастер-сервер" + "сервер" + "клиент" - не работает в пределах одной локальной сети:
    1. Сервер пробует условно залогиниться у мастера через wan, мастер от кинетика в ответке получает локальный адрес этого самого кинетика.
    2. Клиент пробует получить по wan список серверов, и получает список одинаковых локальных адресов кинетика.
    3. Клиент пробует подключиться по wan к серверу через локальный адрес кинетика который получил, и закономерно не может подключиться: кинетик не знает кому переправлять (разве что мучить таблицы трансляции адресов по отдельности для lan и wan).

    Или пример посложнее, который принципиально не решаем с текущим положением дел:
    1. Тот же сервер в локалке логинится у мастера по wan-адресу кинетика
    2. Клиент из внешней сети, пытается получить у мастера тот же список адресов серверов, получает тот же список локальных адресов самого кинетика
    3. Клиент пытается подключиться к своей локалке, и вообще ничего не может, ибо в его локалке вообще может не быть такого адреса.

    Предлагаю более логичную схему, которая позволит работать в данных условиях, хотя возможно чуть нагрузит прошивку.
    1. Если к роутеру обращаются по wan, он подменяет ответный адрес на свой wan, и мутит nat, мол если придёт ответ на wan по этому порту - отправить назад тому кто обращался.
    2. Если к роутеру обращаются по lan  подменять оветку на свой lan.

    Это вроде не очень сложно, хотя и сложнее чем сделать фон веб-интерфейса тёмным, и я сталкивался с подобной схемой работы nlb у старых кинетиков (вроде  giga 2, там, помнится, внешний подставлял)  : )

×
×
  • Create New...