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

Странная работа POSTROUTING SNAT

Доброго всем времени суток.

 

Есть шлюз в интернет. Linux, 2.6.32-279.11.1.el6.i686

 

Интерфейсы:

eth1 - интернет

eth2 - локалка (172.16.15.0/24)

 

На машине включена трансляция адресов:

iptables -t nat -A POSTROUTING -s 172.16.15.0/24 -o eth1 -j SNAT --to-source xxx.xxx.xxx.xxx

 

На интерфейсе eth1 наблюдаю иногда прорывающиеся через NAT пакеты с локальными адресами источника:

# tcpdump -nn -i eth1 net 172.16.15.0/24

15:31:53.770080 IP 172.16.15.186.2027 > 87.240.134.70.80: Flags [F.], seq 0, ack 1, win 17680, length 0

15:31:54.705454 IP 172.16.15.141.55691 > 109.196.45.130.80: Flags [F.], seq 0, ack 1, win 64725, length 0

Их не много, но все-таки напрягают.

 

Похожий вопрос был тут http://www.opennet.ru/openforum/vsluhforumID1/88674.html ,

но найденное решение у меня не работает.

 

Посоветуйте, что за проблема и как ее бороть?

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


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

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

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


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

но найденное решение у меня не работает.

это /sbin/iptables -A FORWARD -m state --state INVALID -j DROP ?

 

счетчик conntrack -S | grep invalid не растет?

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


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

TCP начинает трансляцию с SYN-пакета. У Вас же в дампе только FIN-пакеты. Это означает, что conntrack закрыл сессию (возможно по timeout), но клиентское ПО/ОС так не считает и шлет пакеты, что надо закрыть сессию и на эти пакеты трансляция не открывается, т.к. не может попасть в conntrack.

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


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

но найденное решение у меня не работает.

это /sbin/iptables -A FORWARD -m state --state INVALID -j DROP ?

 

счетчик conntrack -S | grep invalid не растет?

 

Разобрался, спасибо всем.

 

счетчик conntrack -S | grep invalid растет;

/sbin/iptables -A FORWARD -m state --state INVALID -j DROP работает;

 

Тупил сам, до этого правила пакеты просто не добирались.

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


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

Join the conversation

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

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

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

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

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

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

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