Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Выбор шлюза в зависимости от порта назначения  (Прочитано 2677 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Собственно, как организовать такой функционал? Тема наверняка обсуждалась, просто не знаю какие еще ключевые слова подобрать, выдает всякий мусор....

Поясню задачу. Есть 2 интерфейса, с каждого виден шлюз. Оба шлюза смотрят во внешнюю сеть (интернет).
Как сделать, чтобы на ip 1.2.3.4:80 соединение пошло через один шлюз, а на 1.2.3.4:25 через другой?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Тривиально. Это даже в мане есть.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
А можно это по-русски написать, в виде алгоритма, как должен происходить выбор?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Ну не сказал бы, что тривиально, и не по-русски, но хорошо и доступно обрисовывается эта тема здесь. Сам не пробовал.Так, пища для размышлений.

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Я в этом не могу разобраться потому что не понимаю логики. В сети объяснений нет никаких. Я хочу, чтобы человек, который понимает, как это работает, мне по-человечески объяснил. Все эти howto про каких-то коней в вакууме. Эта тема далеко не тривиальная.

upd. просто искал не то что нужно оказывается
« Последнее редактирование: 12 Ноября 2009, 00:22:50 от badfiles »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Кстати, вот подходящая темка.

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Вобщем, почитал теорию, посмотрел реазизации, а также перечитал iptables и понял, что все это относится к транзитным патетам.
Мне же нужно, кроме них, применять routing decision и к локальным пакетам. На эту тему есть какие-то соображения?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Ну тогда наверное нужно помечать пакеты в таблице mangle не только в цепочке PREROUTING а и в OUTPUT.

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Выходит, здесь http://www.opennet.ru/docs/RUS/iptables/ неправильная схема? Тут  routing decision сразу после local process
Или я неправильно понял, что такое routing decision?
Есть предположение, что local process должен уметь сам выбирать outgoing ip, а по нему решет правило типа  ip rule add from $IP table $table
« Последнее редактирование: 10 Ноября 2009, 16:22:39 от badfiles »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Цитата: man iptables
IPTABLES(8)                     iptables 1.4.4                     IPTABLES(8)

NAME
       iptables - administration tool for IPv4 packet filtering and NAT
...
              mangle:
                  This table is used for specialized packet alteration.  Until
                  kernel 2.4.17 it had two built-in  chains:  PREROUTING  (for
                  altering  incoming  packets  before routing) and OUTPUT (for
                  altering locally-generated packets before  routing
).   Since
                  kernel  2.4.18,  three  other  built-in chains are also sup‐
                  ported: INPUT (for packets coming into the box itself), FOR‐
                  WARD  (for  altering  packets being routed through the box),
                  and POSTROUTING (for altering packets as they are  about  to
                  go out).
(Нажмите, чтобы показать/скрыть)

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Ну, эта схема принципиально отличается от той, на которую я ссылался в №8

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
С какого перепугу она отличается?
(Нажмите, чтобы показать/скрыть)
Сравнивай...
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Ну ёлы-палы, что после local process в первой и во второй схемах?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Local process = user program.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн badfiles

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
AnrDaemon, Вы и правда думаете, что я ЭТО не понял, и в ЭТОМ вижу разницу в схемах?

В целом, в теорию в въехал. Надо
 
1. создать другие таблицы маршрутизации.
2. задать правила попадания пакетов в эти таблицы (это может быть метка фаервола или исходящий ip)
3. пометить нужные пакеты фаером.
4. устроить маскарад или s-nat в зависимости от того, динамический или статический внешний ip.

Поскольку стояла задача запустить только избранный трафик на другой шлюз, то я думаю можно ограничиться одной таблицей, кроме main.
Осталось реализовать на практике...
« Последнее редактирование: 12 Ноября 2009, 13:01:47 от badfiles »

 

Страница сгенерирована за 0.039 секунд. Запросов: 23.