LINUX.ORG.RU
ФорумAdmin

iptables mark

 


0

4

Подскажите, как маркировать пакеты из nat к какому либо домену? Необходимо, чтобы к некоторым доменам ходили через другого провайдера.

Что такое:

пакеты из nat

SNAT в POSTROUTING'е, а маркировать нужно раньше, в mangle.

А так, берёте и маркируте, не забывая, что доменных имём в iptables как бы нет, имя один раз преобразуется в ip-адрес (адреса) при загрузке правила. Возможно, что нужен будет скрипт-костыль, который переодически резолвит имена и изменяет правила в iptables.

mky ★★★★★
()
Ответ на: комментарий от minxayzin

Можно погуглить AS-ки Яндекса и сделать правила под все их сети.

BOOBLIK ★★★★
()

Можно на шлюз поставить squid, запустить две его инстанции: одна для приема коннектов от клиентов и разруливания по доменному имени, вторая биндится к внешнему адресу другого провайдера и принимает коннекты к нужным доменам от первой. Далее, для обоих провайдеров создать свои таблицы маршрутизации, добавить правило вида ip rule add from ip2 table isp2.

Минус в том, что для прозрачного https проксирования надо будет добавлять свой сертификат клиентам.

anonymous
()
Ответ на: комментарий от anonymous

На шлюзе стоит squid, работает в прозрачно. С помощью tcp_outgoing_address можно решить проблему, начал смотреть в эту сторону...

minxayzin
() автор топика
Ответ на: комментарий от minxayzin

А смысл отдельного маршрута какой?

Возможно, что дейстительно правильнее будет прописывать маршрут к AS (автономным системам), а не к DNS-записям. Вот мне сейчас даётся только 4 адреса для yandex.ru, хотя если погуглить, то адрес 213.180.204.3 тоже их и web-страница там ихняя открывается.

mky ★★★★★
()
Ответ на: комментарий от mky

Предыстория в темах (squid с ssl. (комментарий), squid прозрачный iptables с 2 каналами инета (комментарий)). Вкратце два провайдера, через один ходит http, через второй https. Вроде бы все работает, но появилась проблема с поиском yandexа, результаты находит, но на сайты не переходит... возможно проблема перехода с http на https. Как один из вариантов, чтобы на сайт yandex ходил полностью через одного провайдера (у которого https+http).

minxayzin
() автор топика
Ответ на: комментарий от minxayzin

В этом случае, ИМХО, можно даже особо не заморачиваться на автоматическую синхрноизацию DNS и записей в iptables. Занести ip-адреса как есть, а когда начнутся у народа проблемы, поправить. Я думал, что задача сложнее — ни в коем случае не показывать yandex'у ваш второй ip-адрес...

Не знаю, получилось ли у вас с ″ip rule add fwmark 1 table beeline″, но, если соединение устанавливает squid, работающий на том же сервере, что и правила в iptables, то ″-j MARK --set-mark 1″ нужно в ″-t mangle OUTPUT″.

А так, вроде, можно и без ″-j MARK″, просто прописать в таблице маршруты до ip-адресов из вывода ″dig yandex.ru″ через ″dev eth2 table beeline″.

mky ★★★★★
()
Ответ на: комментарий от mky

да что касается прошлых тем, реальные/рабочие правила не опубликовал...

minxayzin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.