Здравствуйте,Обнаружил некоторое малое количество пакетов, проходящих 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 для определённости).
Заранее благодарен за любую помощь,
Игорь
>[оверквотинг удален]
>
>В общем-то всё работает, локалка получает интернет... в основном; однако иногда наблюдаю
>по непонятным причинам незаначеные пакеты, где SRC из 192.168.1.0/24, а DST
>где-то в интернете. При чём эти пакеты можно наблюдать и с
>другой стороны кабеля на следующем роутере (пусть он будет 22.33.44.54 для
>определённости).
>
>Заранее благодарен за любую помощь,
>
>Игорьiptables-save
как-то так: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
>[оверквотинг удален]
>: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 есть?
>а если попробовать именить на
>iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 22.33.44.55внутрисетевой обмен всё же необходимо оставить
>какие еще подсети кроме 192.168.1.0/24 есть?
за этим роутером только одна эта
>>а если попробовать именить на
>>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
>за 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]
>если все равно будут пакеты без нат, покажите вывод 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 пока не видно, но сейчас пятница вечер и трафик слабоват
>только сейчас заметил одну закономерность, что в TCP всегда установлен флажок FIN
>или RST, как в этом дампе; может какой специальный фокус от
>conntrack?сделал 'conntrack -F', и такие вот "с флагом FIN" сразу поползли кучей
>[оверквотинг удален]
>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 пока не видно, но сейчас пятница вечер и трафик слабоватподсеть под правило не попадает, и вообще откуда эти пакеты на вашем интерфейсе
>подсеть под правило не попадает, и вообще откуда эти пакеты на вашем
>интерфейсеподсеть за вторым роутером, это с него; такую подозрительную работу ната наблюдаю не на единственном роутере
>>подсеть под правило не попадает, и вообще откуда эти пакеты на вашем
>>интерфейсе
>
>подсеть за вторым роутером, это с него; такую подозрительную работу ната наблюдаю
>не на единственном роутерегде то встречал что если у пакета статус INVALID, то через таблицу nat он не проходил
>где то встречал что если у пакета статус INVALID, то через таблицу
>nat он не проходиля встречал, что такие отбрасываются в PREROUTING в -t nat, однако...
-s 192.168.0.0/16 -m state --state INVALID -j DROP
полностью решило проблему, спасибо