The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"иногда SNAT/iptables пропускает пакеты"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от Ygrex (ok) on 09-Апр-10, 17:17 
Здравствуйте,

Обнаружил некоторое малое количество пакетов, проходящих NAT без изменений SRC-адреса.

Другими словами, я настраиваю NAT:

iptables -A POSTROUTING -s 192.168.1.0/24 \! -d 192.168.0.0/16 -j SNAT --to-source 22.33.44.55

где:
eth0 ( 22.33.44.55 ) - Интернет
eth1 ( 192.168.1.254 ) - Локалка

затем просматриваю, что получилось:

tcpdump -i eth0 -ne 'net 192.168.1.0/24'

В общем-то всё работает, локалка получает интернет... в основном; однако иногда наблюдаю по непонятным причинам незаначеные пакеты, где SRC из 192.168.1.0/24, а DST где-то в интернете. При чём эти пакеты можно наблюдать и с другой стороны кабеля на следующем роутере (пусть он будет 22.33.44.54 для определённости).

Заранее благодарен за любую помощь,

Игорь

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от reader (ok) on 09-Апр-10, 17:56 
>[оверквотинг удален]
>
>В общем-то всё работает, локалка получает интернет... в основном; однако иногда наблюдаю
>по непонятным причинам незаначеные пакеты, где SRC из 192.168.1.0/24, а DST
>где-то в интернете. При чём эти пакеты можно наблюдать и с
>другой стороны кабеля на следующем роутере (пусть он будет 22.33.44.54 для
>определённости).
>
>Заранее благодарен за любую помощь,
>
>Игорь

iptables-save

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от Ygrex (ok) on 09-Апр-10, 18:13 
как-то так

:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.0.0/16 -j SNAT --to-source 22.33.44.55
COMMIT
# Completed on Fri Apr  9 18:02:38 2010
# Generated by iptables-save v1.4.5 on Fri Apr  9 18:02:38 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p icmp -m limit --limit 1000/sec -j ACCEPT
-A INPUT -p icmp -j DROP
-A FORWARD -d 192.168.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.0.0/16 -j REJECT --reject-with icmp-host-unreachable
-A FORWARD -s 192.168.0.0/16 -j ACCEPT
-A FORWARD -j DROP
COMMIT
# Completed on Fri Apr  9 18:02:38 2010
# Generated by iptables-save v1.4.5 on Fri Apr  9 18:02:38 2010
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Fri Apr  9 18:02:38 2010
# Generated by iptables-save v1.4.5 on Fri Apr  9 18:02:38 2010
*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Fri Apr  9 18:02:38 2010

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от reader (ok) on 09-Апр-10, 20:26 
>[оверквотинг удален]
>:POSTROUTING ACCEPT [0:0]
>COMMIT
># Completed on Fri Apr  9 18:02:38 2010
># Generated by iptables-save v1.4.5 on Fri Apr  9 18:02:38 2010
>
>*raw
>:PREROUTING ACCEPT [0:0]
>:OUTPUT ACCEPT [0:0]
>COMMIT
># Completed on Fri Apr  9 18:02:38 2010

а если попробовать именить на
iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 22.33.44.55

какие еще подсети кроме 192.168.1.0/24 есть?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от Ygrex (ok) on 09-Апр-10, 20:44 
>а если попробовать именить на
>iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 22.33.44.55

внутрисетевой обмен всё же необходимо оставить

>какие еще подсети кроме 192.168.1.0/24 есть?

за этим роутером только одна эта

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от reader (ok) on 09-Апр-10, 21:00 
>>а если попробовать именить на
>>iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 22.33.44.55
>
>внутрисетевой обмен всё же необходимо оставить
>
>>какие еще подсети кроме 192.168.1.0/24 есть?
>
>за этим роутером только одна эта

за eth0 есть кто-то из 192.168.0.0/16 ?
то что будет уходить с eth1 не будет затронуто.

во всяком случае попробуйте изменить и проверьте, потом вернете.
если все равно будут пакеты без нат, покажите вывод tcpdump

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от Ygrex (ok) on 09-Апр-10, 21:28 
>за eth0 есть кто-то из 192.168.0.0/16 ?
>то что будет уходить с eth1 не будет затронуто.

разумеется, 192.168.2.0, 192.168.3.0 и т.д.

>во всяком случае попробуйте изменить и проверьте, потом вернете.
>если все равно будут пакеты без нат, покажите вывод tcpdump

этих "проскакивающих" пакетов где-нить 0.01% всего потока, не хотелось бы приостанавливать работу роутера из-за такой мелочи, которую никто кроме меня не замечает

[quote]# tcpdump -i eth0 -tnc1 'net 192.168.0.0/16'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
IP 192.168.1.161.1102 > 92.6.208.230.49967: FP 439989288:439989356(68) ack 3783218881 win 65535[/quote]

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от Ygrex (ok) on 09-Апр-10, 21:53 
>если все равно будут пакеты без нат, покажите вывод tcpdump

кажется наиболее показательный дамп:

IP 192.168.141.4.50226 > 74.125.77.19.443: F 253979169:253979169(0) ack 3081852170 win 16445
IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
IP 192.168.141.4.50226 > 74.125.77.19.443: R 1:1(0) ack 1 win 0

только сейчас заметил одну закономерность, что в TCP всегда установлен флажок FIN или RST, как в этом дампе; может какой специальный фокус от conntrack?
UDP пока не видно, но сейчас пятница вечер и трафик слабоват

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от Ygrex (ok) on 09-Апр-10, 22:21 
>только сейчас заметил одну закономерность, что в TCP всегда установлен флажок FIN
>или RST, как в этом дампе; может какой специальный фокус от
>conntrack?

сделал 'conntrack -F', и такие вот "с флагом FIN" сразу поползли кучей

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от reader (ok) on 09-Апр-10, 23:46 
>[оверквотинг удален]
>IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
>IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
>IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
>IP 192.168.141.4.50226 > 74.125.77.19.443: F 0:0(0) ack 1 win 16445
>IP 192.168.141.4.50226 > 74.125.77.19.443: R 1:1(0) ack 1 win 0
>
>только сейчас заметил одну закономерность, что в TCP всегда установлен флажок FIN
>или RST, как в этом дампе; может какой специальный фокус от
>conntrack?
>UDP пока не видно, но сейчас пятница вечер и трафик слабоват

подсеть под правило не попадает, и вообще откуда эти пакеты на вашем интерфейсе

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от Ygrex (ok) on 09-Апр-10, 23:57 
>подсеть под правило не попадает, и вообще откуда эти пакеты на вашем
>интерфейсе

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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от reader (ok) on 10-Апр-10, 00:35 
>>подсеть под правило не попадает, и вообще откуда эти пакеты на вашем
>>интерфейсе
>
>подсеть за вторым роутером, это с него; такую подозрительную работу ната наблюдаю
>не на единственном роутере

где то встречал что если у пакета статус INVALID, то через таблицу nat он не проходил

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "иногда SNAT/iptables пропускает пакеты"  +/
Сообщение от Ygrex (ok) on 12-Апр-10, 13:32 
>где то встречал что если у пакета статус INVALID, то через таблицу
>nat он не проходил

я встречал, что такие отбрасываются в PREROUTING в -t nat, однако...

-s 192.168.0.0/16 -m state --state INVALID -j DROP

полностью решило проблему, спасибо
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру