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

Re: iptables: REDIRECT and DNAT



В Пнд, 11/08/2008 в 20:14 +0400, Andrey Melnikoff пишет:
> Покотиленко Костик <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.

Мог, и скорее всего так и было. Хоть UDP и connectionless, conntrack
расценивает его иначе, соединением UDP в понимании conntrack является
UDP трафик вида: для запроса port1->port2, и для ответа port2->port1 в
течении некоторого таймаута. 

> > соответственно в таблице conntrack создалась запись и пакеты этого
> > соединения уже в таблицу nat не попадут.
> у меня дело в том, что у пакетов не меняется DST. Причем - хаотично, без
> всяких на то причин. То пакет попадет в NAT, то проскочит мимо.

"не меняется DST" или меняется? И, DST, это IP или порт?

-- 
Покотиленко Костик <casper@meteor.dp.ua>


Reply to: