kaktak Опубликовано 10 марта, 2012 · Жалоба NAT сервер на linux. Несколько десятков правил вида: iptables -t nat -A POSTROUTING -o eth0.300 -s 192.168.200.0/27 -j SNAT --to-source ${white_ip_1} iptables -t nat -A POSTROUTING -o eth0.300 -s 192.168.200.32/27 -j SNAT --to-source ${white_ip_2} iptables -t nat -A POSTROUTING -o eth0.300 -s 192.168.200.64/27 -j SNAT --to-source ${white_ip_3} iptables -t nat -A POSTROUTING -o eth0.300 -s 192.168.200.96/27 -j SNAT --to-source ${white_ip_4} ... Раньше не обращал внимания, но недавно заметил, что не внешнем интерфейсе периодически видны запросы с серыми src_ip из моего диапазона: # tcpdump -nni eth0.300 net 192.168.200.0/24 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0.300, link-type EN10MB (Ethernet), capture size 96 bytes 14:23:22.220704 IP 192.168.200.236.2786 > 81.19.88.81.80: F 1380642332:1380642332(0) ack 1742972196 win 17084 14:23:23.081629 IP 192.168.200.114.59121 > 95.72.36.59.59275: F 2569647600:2569647600(0) ack 3804050925 win 92 <nop,nop,timestamp 23124665 307778> 14:23:28.113995 IP 192.168.200.140.59621 > 114.166.232.79.27694: R 3930089021:3930089021(0) ack 1431587174 win 0 14:23:28.475097 IP 192.168.200.140.59503 > 123.194.59.20.16440: R 915569888:915569888(0) ack 3963260584 win 0 Чем это можно объяснить? При этом в целом все работает без проблем. Из тюнинга коннтрака только: net.ipv4.netfilter.ip_conntrack_max = 262144 net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300 net.ipv4.netfilter.ip_conntrack_generic_timeout = 300 echo 32768 > /sys/module/ip_conntrack/parameters/hashsize Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alex_001 Опубликовано 10 марта, 2012 · Жалоба Чтобы не разлеталось: /sbin/iptables -A FORWARD -m state --state INVALID -j DROP А вообще - conntrack -S , такое получается при insert_failed != 0 я так понимаю. Возможно поможет увеличение ip_conntrack_max. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kaktak Опубликовано 10 марта, 2012 · Жалоба # conntrack -S conntrack v1.0.0 (conntrack-tools): Can't open /proc interface Cудя по исходникам тулза лезет за статистикой в /proc/net/stat/nf_conntrack, а у меня там более древний вариант: /proc/net/stat/ip_conntrack. На всякий случаю даю cat: entries searched found new invalid ignore delete delete_list insert insert_failed drop early_drop icmp_error expect_new expect_create expect_delete 0000ce59 e5a7221a db2a074a 184d9844 037044a7 0005f7eb 18492a1d 0e75fb18 0e7d8cbf 00000007 00000000 00000000 01a56ae0 00000000 00000000 00000000 0000ce59 e241644e da330ad9 18310967 036e734c 0005f5e5 1835515d 0e65ce63 0e5e3fca 00000009 00000000 00000000 01a5102b 00000000 00000000 00000000 0000ce59 e48a68ad da9571aa 184a6793 036fc6ea 0005f1e8 18456580 0e7464a0 0e7c6804 00000006 00000000 00000000 01a5348d 00000000 00000000 00000000 0000ce59 e14902b5 d9b2371e 182dc0ec 036df6a5 0005f8c4 18321ad7 0e642830 0e5cf017 00000007 00000000 00000000 01a4e617 00000000 00000000 00000000 Инвалидов много ага... но ip_conntrack_max вряд ли виновен: net.ipv4.netfilter.ip_conntrack_count = 54466 net.ipv4.netfilter.ip_conntrack_max = 262144 к тому же насколько я помню переполнение коннтрака логируется. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kaktak Опубликовано 18 апреля, 2012 · Жалоба Похоже дело в таймерах.. например приходит от клиента FIN на закрытие, а записи в коннтраке уже нет. Пакет помечается как invalid и летит себе минуя nat. Может кто поделиться грамотными настройками коннтрака? (sysctl -a | grep 'conntrack') Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 18 апреля, 2012 · Жалоба Аккуратно попробуйте sysctl -w net.netfilter.nf_conntrack_tcp_loose=0 Правда у вас может всё шмякнутся(т.е. прийдется ребутаться), все зависит от конфигурации, так что осторожно применяйте. Ну или почитайте, что оно делает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kaktak Опубликовано 18 апреля, 2012 · Жалоба Я так понял это приведет к тому, что оно не будет пытаться восстановить криво оборванные сессии, а вместо этого будет будет тихо дропать пакеты, не подходящие под текущее состояние соединения. А отрицательные последствия будут? ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 18 апреля, 2012 · Жалоба Всякие асимметричные схемы могут себя нехорошо вести. Потому и говорю - осторожно. У меня такое работает на обычных NAT, но на одном почему-то не взлетело (но там спутник, и соотв. асимметрия). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...