[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: iptables: REDIRECT and DNAT



Покотиленко Костик <casper@meteor.dp.ua> wrote:
> В Вто, 29/07/2008 в 20:01 +0400, Andrey Melnikoff пишет:
> > Покотиленко Костик <casper@meteor.dp.ua> wrote:
> > > В Чтв, 17/07/2008 в 00:33 +0400, Alexander Tyurin пишет:
> > > > Покотиленко Костик пишет:
> > > > > REDIRECT перенаправляет локально сделанные и транзитные соединения на
> > > > > локальную машину, поэтому адрес в параметрах отсутствует, он всегда
> > > > > равен адресу входящего интерфейса (127.0.0.1 для локально сделанных).
> > > > >
> > > > >   
> > > > Но он не все транзитные соединения перенаправляет на локальную машину, 
> > > Какие скажешь, такие и перенаправит.
> > Щаз. Оно иногда умудряется пропускать UDP пакеты мимо.
> > 
> > в простой конфигурации: 
> > на сервере 192.168.0.1 висит на 1812-1813 radius сервер. В iptables'ах есть
> > два DNAT редиректа вида
> > iptables -t nat -A PREROUTING -p udp --dport 1812 -j DNAT --to-destination 10.10.10.5
> > iptables -t nat -A PREROUTING -p udp --dport 1813 -j DNAT --to-destination 10.10.10.5
> > 
> > 10.10.10.5 доступен через tunl1. Работающий на 192.168.0.1 радиус сервер
> > всеравно хватает пакеты, которые должны быть отпавленны DNAT'ом в другой
> > сервер.
> > 
> > PS: От роутинга (i.e. проходит ответный пакет через эту-же машину или нет)
> > ситуация не зависит. Пробовалось так-же на DNS серверах с таким-же успехом.

> Не знаю в чём у Вас дело, но могу дать совет: если изменяешь правила [S|
> D]NAT и видешь что они не срабатывают - сделай: conntrack -F. Дело в
> том, что conntrack *мог* увидеть пакет до того как Вы вставили правило,
Не мог - пакеты UDP.
> соответственно в таблице conntrack создалась запись и пакеты этого
> соединения уже в таблицу nat не попадут.
у меня дело в том, что у пакетов не меняется DST. Причем - хаотично, без
всяких на то причин. То пакет попадет в NAT, то проскочит мимо.

Впрочем, будем ждать RAWNAT, там хоть можно будет самому рулить что-куда.


Reply to: