On 6 Dec 2012 11:12, "Artem Chuprina" <ran@ran.pp.ru> wrote:
>
> Dmitry A. Zhiglov -> debian-russian@lists.debian.org @ Thu, 6 Dec 2012 10:13:28 +0400:
>
> DAZ> Ок, настройте. На тестовом стенде ибо доступ дать не могу.
>
> А тестовый стенд дать можешь? Минимум из 5 машин, соединенных не более
> чем попарно (целевая машина, на которую нужен форвардинг, роутер, два
> роутера его каналов, и одна машина по ту сторону этих роутеров).
>
> У меня такого зоопарка тупо нет, потестировать не на чем. А
> потестировать надо, готовые правила протоптались пару переездов той
> конторы назад (перестало быть нужно).
Могу настрогать виртуалок, быстро не сделаю, может даже только после 20-00 мск. Отношусь.
>
> DAZ> Самое горячее и печалное что у меня времени нет. ((
> DAZ> С форвардингом может и разобрался, но в роутингом затык. Задачи у меня
> DAZ> сейчас "кардинально с разных планет" - разрываюсь
>
> DAZ> Вот что уже есть
>
> DAZ> # iptables -t nat -nvL PREROUTING
> DAZ> Chain PREROUTING (policy ACCEPT 11773 packets, 2159K bytes)
> DAZ> pkts bytes target prot opt in out source
> DAZ> destination
> DAZ> 0 0 CONNMARK tcp -- * * 0.0.0.0/0
> DAZ> ISP_WAN2 tcp dpt:3389 CONNMARK set 0x2
>
> DAZ> # iptables -t mangle -nvL PREROUTING
> DAZ> Chain PREROUTING (policy ACCEPT 23364 packets, 4349K bytes)
> DAZ> pkts bytes target prot opt in out source
> DAZ> destination
> DAZ> 0 0 CONNMARK tcp -- * * ISP_WAN2
> DAZ> SOME_LOCAL_HOST tcp spt:3389 CONNMARK restore
>
> DAZ> # ip ru
> DAZ> 0: from all lookup local
> DAZ> 499: from all fwmark 0x2 lookup localnet
> DAZ> 500: from all lookup localnet
> DAZ> 1000: from ISP_WAN1 lookup wan1
> DAZ> 2000: from ISP_WAN2 lookup wan2
> DAZ> 32766: from all lookup main
> DAZ> 32767: from all lookup default
>
> DAZ> # ip ro ls table wan1
> DAZ> default via ISP_IP1 dev eth1
> DAZ> NET_WAN1 dev eth1 scope link
>
> DAZ> # ip ro ls table wan2
> DAZ> default via ISP_IP2 dev eth2
> DAZ> ISP_NET2 dev eth2 scope link
>
> DAZ> # ip ro ls table localnet
> DAZ> LOCAL_NET dev eth0 scope link
>
> DAZ> Может кто что подскажет?
>
> DAZ> ВСЕМ: Если что, личка открыта для контактов
>
> Что-то не очень понятно, зачем CONNMARK. Я не помню, чтоб я им
> пользовался, когда аналогичную фигню настраивал. Просто DNAT с обоих
> внешних адресов в одно и то же место, кажется, работал. Он же действует
> только на первый пакет сеанса, входящий, а дальше следит за соединением.
>
> С UDP, помнится, было хуже, но то было не с DNAT, а непосредственно с
> роутером. source-based правило не срабатывало, потому что локально
> исходящий ответный пакет по UDP шел с дефолтным source (по TCP он идет с
> тем адресом, на который пришел клиент). А с DNAT как раз может и с UDP
> сработать.
Ваша реализация может иной. Надо держать в голове еще одну вещь - там еще squid будет для localnet... вот такой комбайн.
CONNMARK. Идея в том, была или еще есть, что пакет маркируется и по маркеру маршрутизирисуется.
(Пишу с телефона, сорри если что не так и за overquoting)