Перейти к содержимому
Калькуляторы

MARK или CONNMARK ?

Поставлена задача - разделить трафик между двумя аплинками. Разделить статически - один IP - "туда", другой - "сюда".

На машине (CentOS 6.10) NAT для абонентских PPPoE, прилетающих с отдельных NAS серверов. Маршруты NAS-ы отдают серверу rip-ом.

Списки IP для каждого аплинка находятся в таблицах ipset - isp1 и isp2 соответственно.

Для решения задачи использую материал вот этой статьи.

Все вроде понятно, но.. Смущает наличие NAT.

В статье рекомендуется использовать CONNMARK, т.е. маркировать новые соединения. Подходит ли это для моего случая?

Может здесь необходимо использовать маркировку пакетов (MARK)?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

mark - для routing table.

connmark - для маркировки соединений. чтобы потом матчить пакеты и вешать на них mark, либо --restore-mark для восстановления метки пакета из метки соединения, либо еще для чего-то подобного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 10.12.2021 в 17:46, NiTr0 сказал:

mark - для routing table.

Ну это, вроде как, и есть моя задача - направить трафик от IP, находящихся в таблицах ipset, в соответствующие шлюзы.

В 10.12.2021 в 17:46, NiTr0 сказал:

connmark - для маркировки соединений.

Т.е. для входящих соединений, предназначенных собственно маршрутизатору (INPUT в терминологии iptables)?

Если так, то мне это и не нужно, т.к. основная задача - это обработка транзитного трафика.

Или я ошибаюсь?

 

И еще - нужна ли вообще, в моем случае, маркировка пакетов/соединений? 

Может это все и без нее можно сделать, средствами iproute2 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 10.12.2021 в 23:07, AlKov сказал:

И еще - нужна ли вообще, в моем случае, маркировка пакетов/соединений?

Вы можете ограничиться SNAT с разными --to-source для разных клиентских IP. Не забудьте при этом соответствующее ip rule from xxx, чтобы трафик уходил в нужный интерфейс.

Маркировка нужна только, если вы хотите чего-то странного или очень сложного, а также если хотите перенаправить трафик в другой интерфейс без NAT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 10.12.2021 в 21:53, [anp/hsw] сказал:

Вы можете ограничиться SNAT с разными --to-source для разных клиентских IP. Не забудьте при этом соответствующее ip rule from xxx, чтобы трафик уходил в нужный интерфейс.

А вот этого и не получается. У меня SNAT в диапазон (--persistent).

В 10.12.2021 в 21:53, [anp/hsw] сказал:

Маркировка нужна только, если вы хотите чего-то странного

Вот это, наверное, оно и есть.. Мне необходимо одни IP отправлять в один аплинк, другие - в другой. А подсеть одна - 172.16.0.0/12

Для этого я их раскидываю в разные таблицы ipset.

С ip rule это, наверное, без меток не проканает..

Значит все-таки надо метить пакетики MARK-ом.. А вот CONNMARK, похоже, не нужен.

Вот так, например, метить

iptables -t mangle -A PREROUTING -m set --match-set isp1 src -j MARK --set-xmark 0xa/0xffffffff
iptables -t mangle -A PREROUTING -m set --match-set isp2 src -j MARK --set-xmark 0xb/0xffffffff

А вот так маршрутизировать - (ip rule)

fwmark 10 table isp1
fwmark 11 table isp2
to 192.168.0.0/16 table main
to 10.0.0.0/8 table main

Вообщем, будем попробовать..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ДокладАю - все взлетело успешно: мальчики - налево, девочки - направо.

По "технологии" из предыдущего поста.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 10.12.2021 в 18:07, AlKov сказал:

Т.е. для входящих соединений, предназначенных собственно маршрутизатору (INPUT в терминологии iptables)?

для любых соединений. в т.ч. транзитных. ессно, если они попадают в conntrack таблицу. правило срабатывает на один пакет - и все пакеты сессии имеют connmark метку. вот только сделать из нее обычную метку, которую увидит iproute2, надо будет отдельным правилом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.