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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Балансировка iptables  (Прочитано 1652 раз)

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

Оффлайн fet4

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Балансировка iptables
« : 25 Марта 2013, 08:03:08 »
Не могу понять где за тык, подскажите!
Использую вот такую конструкцию:

ip rule add fwmark 1 table prov1
ip rule add fwmark 2 table prov2
ip rule add fwmark 3 table prov3

iptables -t mangle -N bind_connect
iptables -t mangle -A bind_connect -i eth0 -j CONNMARK --set-mark 1
iptables -t mangle -A bind_connect -i eth1 -j CONNMARK --set-mark 2
iptables -t mangle -A bind_connect -i eth2 -j CONNMARK --set-mark 3
iptables -t mangle -I INPUT -m conntrack --ctstate NEW -j bind_connect

iptables -t mangle -N select_prov
iptables -t mangle -A select_prov -j CONNMARK --set-mark 1
iptables -t mangle -A select_prov -m statistic --mode random --probability 0.34 -j RETURN #
iptables -t mangle -A select_prov -j CONNMARK --set-mark 2
iptables -t mangle -A select_prov -m statistic --mode random --probability 0.5 -j RETURN
iptables -t mangle -A select_prov -j CONNMARK --set-mark 3

iptables -t mangle -N sort_connect
iptables -t mangle -A sort_connect -o lo -j RETURN
iptables -t mangle -A sort_connect -o eth3 -j RETURN
iptables -t mangle -A sort_connect -o eth4 -j RETURN
iptables -t mangle -A sort_connect -m conntrack --ctstate NEW -j select_prov
iptables -t mangle -A sort_connect -j CONNMARK --restore-mark

iptables -t mangle -I OUTPUT -j sort_connect
iptables -t mangle -I FORWARD -j sort_connect

Но почему-то метки по таблицам не идут( идут строго по дефолту. Правила iptables добавляются без ошибок. Как проверить где именно заминка?
Если вызывать цепочки из PREROUTING то все ок
« Последнее редактирование: 25 Марта 2013, 16:57:38 от fet4 »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: Балансировка iptables
« Ответ #1 : 25 Марта 2013, 20:32:23 »
Очевидно, просто нет условий, по которым пакеты из mangle попадали бы в кастомные цепочки.
Сиотрите у Вас есть правило
iptables -t mangle -N bind_connect
Как вы думаете по каким критериям пакеты попадут в эту цепочку?
« Последнее редактирование: 25 Марта 2013, 20:35:08 от KT315 »
OpenWrt 19.07

Оффлайн fet4

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: Балансировка iptables
« Ответ #2 : 25 Марта 2013, 21:06:29 »
Очевидно из iptables -t mangle -I INPUT -m conntrack --ctstate NEW -j bind_connect

Меня интересует почему если указать iptables -t mangle -I FORWARD -j sort_connect, то правила маршрутизации по меткам  не обрабатывают сами метки. А если iptables -t mangle -I PREROUTING -j sort_connect то обрабатываются и трафик заворачивается куда надо, но исходящий трафик то не проходит PREROUTING. Разве в цепочке FORWARD уже они принято решение куда идти дальше пакетам?
« Последнее редактирование: 25 Марта 2013, 21:12:34 от fet4 »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: Балансировка iptables
« Ответ #3 : 26 Марта 2013, 09:44:09 »
Разве в цепочке FORWARD уже они принято решение куда идти дальше пакетам?
Как ни странно, да. Пакеты из INPUT и FORWARD таблицы mangle уже побывали в таблицах маршрутизации.
(Нажмите, чтобы показать/скрыть)
OpenWrt 19.07

Оффлайн fet4

  • Автор темы
  • Любитель
  • *
  • Сообщений: 75
    • Просмотр профиля
Re: Балансировка iptables
« Ответ #4 : 26 Марта 2013, 15:02:53 »
Да уж, хотя пример взят из документации по iptables, наверно ошиблись сами. Хотя может в новых версиях че и поменялось.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Балансировка iptables
« Ответ #5 : 26 Марта 2013, 18:54:02 »
Я предпочитаю http://www.docum.org/docum.org/kptd/
По крайней мере, она лучше соотносится с работой собственно фильтрации, не включая такие абстрактные вещи, как "локальная боработка", к фильтрации никак не относящиеся.
Хотя, при всём уважении к диаграмме, она НЕВЕРНА. Современный netfilter работает по более сложной схеме с бОльшим количеством возвратов и переобработок. Если у вас что-то не получается при настройке шейпинга или VLAN, есть смысл обратиться к более подробной карте прохождения пакетов.
« Последнее редактирование: 26 Марта 2013, 18:56:19 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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