The OpenNET Project / Index page

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

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

"Релиз iptables 1.4.10"  +/
Сообщение от opennews (??) on 30-Окт-10, 10:09 
Вышло (http://lists.netfilter.org/pipermail/netfilter-announce/2010...) очередное обновление iptables, набора userspace-утилит для управления встроенным в ядро Linux фреймворком фильтрации и преобразования пакетов netfilter (http://www.netfilter.org/).


В новом релизе обеспечена полная совместимость с недавно вышедшим (https://www.opennet.ru/opennews/art.shtml?num=28363) ядром 2.6.36, включая поддержку таких возможностей, как:


- Критерий cpu, позволяющий выделять пакеты по привязке к процессорному ядру, на котором они в данный момент обрабатываются. В частности, этот критерий можно использовать для максимизации использования кэша CPU, обеспечив полную обработку каждого пакета в пределах одного процессорного ядра. Привязав серверный обработчик к конкретному ядру и заданному порту, можно отправлять на этот порт все пакеты, обрабатываемые данным ядром.
Так, например, будет выглядеть набор правил при наличии четырех процессорных ядер, по одному серверному процессу на каждое...

URL: http://lists.netfilter.org/pipermail/netfilter-announce/2010...
Новость: https://www.opennet.ru/opennews/art.shtml?num=28463

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Релиз iptables 1.4.10"  +/
Сообщение от Аноним (??) on 30-Окт-10, 10:09 
стринг стал меньше тупить?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Релиз iptables 1.4.10"  +/
Сообщение от Xaionaro (ok) on 30-Окт-10, 10:25 
Хм. А он когда-то тупил? Лично мне было бы интересно увидеть пример правила, которое работает не так, как предполагается :)
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Релиз iptables 1.4.10"  –4 +/
Сообщение от Онаним on 30-Окт-10, 11:12 
да пожалуйста
-m conntrack --ctstate INVALID -j DROP
когда число соединений достигает десятков тысяч (особенно когда оно выше 40 тыс) - дропит всё подряд.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Релиз iptables 1.4.10"  +/
Сообщение от аноним on 30-Окт-10, 11:31 
>когда число соединений достигает десятков тысяч (особенно когда оно выше 40 тыс) - дропит всё подряд.

RTFM, newbie.

>Possible states are INVALID meaning that the packet could not be identified for some reason which includes running out of memory

Hint: http://www.popoff.net.ua/2008/10/netfilter_conntrack_tuning/2/

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Релиз iptables 1.4.10"  +/
Сообщение от Xaionaro (ok) on 30-Окт-10, 15:12 
> да пожалуйста
> -m conntrack --ctstate INVALID -j DROP
> когда число соединений достигает десятков тысяч (особенно когда оно выше 40 тыс)
> - дропит всё подряд.

А вы не забыли увеличить значение опции в sysctl, которая, например, у меня в системах завётся "net.ipv4.netfilter.ip_conntrack_max"? Хотя, кажется, товарищ постом выше уже даже ссылку дал :)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Релиз iptables 1.4.10"  –2 +/
Сообщение от Онаним on 30-Окт-10, 16:31 
Это было одно из самых первых действий:
net.ipv4.netfilter.ip_conntrack_max = 1048576
net.netfilter.nf_conntrack_max = 1048576
net.nf_conntrack_max = 1048576
net.ipv4.netfilter.ip_conntrack_buckets = 262144
net.netfilter.nf_conntrack_buckets = 262144
net.ipv4.netfilter.ip_conntrack_tcp_be_liberal = 1
net.netfilter.nf_conntrack_tcp_be_liberal = 1

cat /sys/module/nf_conntrack/parameters/hashsize
262144

За ссылку, конечно, спасибо - она укрепила мою уверенность, что я ничего не упустил, когда занимался любовью с iptables (хотя таких ссылок я нагуглил и просмотрел столько, что их можно в бочонках солить).

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Релиз iptables 1.4.10"  +/
Сообщение от Xaionaro (ok) on 30-Окт-10, 16:51 
>[оверквотинг удален]
> net.nf_conntrack_max = 1048576
> net.ipv4.netfilter.ip_conntrack_buckets = 262144
> net.netfilter.nf_conntrack_buckets = 262144
> net.ipv4.netfilter.ip_conntrack_tcp_be_liberal = 1
> net.netfilter.nf_conntrack_tcp_be_liberal = 1
> cat /sys/module/nf_conntrack/parameters/hashsize
> 262144
> За ссылку, конечно, спасибо - она укрепила мою уверенность, что я ничего
> не упустил, когда занимался любовью с iptables (хотя таких ссылок я
> нагуглил и просмотрел столько, что их можно в бочонках солить).

Как узнавали кол-во соединений?

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "Релиз iptables 1.4.10"  +/
Сообщение от Онаним on 30-Окт-10, 18:10 
netstat -4n | wc
или
netstat -4n | grep <чево-нибудь> | wc
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Релиз iptables 1.4.10"  +/
Сообщение от Онаним on 30-Окт-10, 18:32 
> netstat -4n | wc
> или
> netstat -4n | grep <чево-нибудь> | wc

опа, я уже гоню под конец рабочего дня - "-4" это опция для BSD'шного sockstat :)

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

27. "Релиз iptables 1.4.10"  +/
Сообщение от Xaionaro (ok) on 01-Ноя-10, 12:31 
> netstat -4n | wc
> или
> netstat -4n | grep <чево-нибудь> | wc

Ну, вот и ошибка. Надо узнать кол-во соединений в conntrack, а не в netstat. Советую поставить управляющую утилиту с одноимённым названием для conntrack и посмотреть в "conntrack -L".

Например тупо натированное соединение проходящие FORWARD-ом через ваш роутер никогда не отобразится в netstat.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

9. "Релиз iptables 1.4.10"  +/
Сообщение от anonymous (??) on 30-Окт-10, 17:43 
hashsize=1048576
установить не пробовали? Или памяти мало на данной машинке?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Релиз iptables 1.4.10"  +/
Сообщение от Онаним on 30-Окт-10, 18:31 
> hashsize=1048576
> установить не пробовали? Или памяти мало на данной машинке?

nf_conntrack_max=hashsize - нет, а вот 2M/512k - было, только дело, скорее всего, не в этом, число соединений до 256k всё равно не дотягивает.
М.б. дело в каких-то ещё других буферах - на каком-то форуме мне попадалась инфа, что conntrack также выполняет сборку фрагментированных IP-пакетов в цепи PREROUTING фильтра raw, даже если там нет ни одного правила (потому что пакет надо оценить до того, как он попадёт "родному" IP'шному сборщику фрагментов). Пруф не скажу, всё было давно...

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Релиз iptables 1.4.10"  +/
Сообщение от Sw00p aka Jerom email on 30-Окт-10, 19:00 
> да пожалуйста
> -m conntrack --ctstate INVALID -j DROP
> когда число соединений достигает десятков тысяч (особенно когда оно выше 40 тыс)
> - дропит всё подряд.

дык по дефолту коннекшен трекин маленький 65 тысяч с чемто

в реалтайме через сисктл надо увеличивать и желательно при больших нагрузках вырубать син кукисы

учтите при рестарте файервола значение коннекшен трекинга стоновтися дефолтовым (65 тысяч с чемто)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

13. "Релиз iptables 1.4.10"  +/
Сообщение от Sw00p aka Jerom email on 30-Окт-10, 18:57 
хех дык вы его готовить не могёте

работает нормульно

там лучше всего гексы юзать если хотите парсить 7 лейер

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

7. "Релиз iptables 1.4.10"  +/
Сообщение от Anonym on 30-Окт-10, 16:50 
Отлично.
Народ а кто знает, как редиректить широковещательные пакеты на определенный адрес?

Допустим такое правило:

iptables -t nat PREROUTING -d 192.168.111.255 -p udp --dport 137 -j DNAT --to-destination 192.168.111.53:137

Вообще должно работать? Есть необходимость пробрасывать некоторые броадкасты на определенный venet-интерфейс.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Релиз iptables 1.4.10"  +/
Сообщение от Sw00p aka Jerom email on 30-Окт-10, 19:02 
> Отлично.
> Народ а кто знает, как редиректить широковещательные пакеты на определенный адрес?
> Допустим такое правило:
> iptables -t nat PREROUTING -d 192.168.111.255 -p udp --dport 137 -j DNAT
> --to-destination 192.168.111.53:137
> Вообще должно работать? Есть необходимость пробрасывать некоторые броадкасты на определенный
> venet-интерфейс.

вроде должно - проверьте

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

16. "Релиз iptables 1.4.10"  +/
Сообщение от non anon on 30-Окт-10, 20:04 
>iptables -t nat PREROUTING -d 192.168.111.255 -p udp --dport 137 -j DNAT --to-destination 192.168.111.53:137

Если они без этого правила не проходят, то вряд ли будут проходить и с ним.
Когда адрес не получает соответствующие ему броадкасты, речь идет о неправильной настройки сети (фильтрация, sysctl, ip ad, ip ro, etc).

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

24. "Релиз iptables 1.4.10"  +/
Сообщение от Sugar (ok) on 31-Окт-10, 17:45 
>>iptables -t nat PREROUTING -d 192.168.111.255 -p udp --dport 137 -j DNAT --to-destination 192.168.111.53:137
> Если они без этого правила не проходят, то вряд ли будут проходить
> и с ним.
> Когда адрес не получает соответствующие ему броадкасты, речь идет о неправильной настройки
> сети (фильтрация, sysctl, ip ad, ip ro, etc).

Venet не умеет броадкасты понимать, хотел просто менять поле destination на нужный мне ip, но все равно даже с этим правилом routing precision не принимает решения об отсылке пакета нужному хосту. По ходу в арпе какая загвоздка.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Релиз iptables 1.4.10"  +/
Сообщение от Michael Shigorin email(ok) on 30-Окт-10, 21:36 
> Есть необходимость пробрасывать некоторые броадкасты
> на определенный venet-интерфейс.

Хм, а сам venet их умеет?  veth-то да...

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

23. "Релиз iptables 1.4.10"  +1 +/
Сообщение от Sugar (ok) on 31-Окт-10, 17:39 
Уметь-то умеет, но только в если его в мост с физ. интерфейсом положить.

Насколько я вкурил iptables, DNAT должен менять поле получателя, т.е. 192.168.111.255:137 на 192.168.111.53:137. Но почитав заморские форумы, понял, что он этого не делает.

Поэтому да, придется бридж громоздить в котором будут лежать veth и eth.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

17. "Релиз iptables 1.4.10"  +/
Сообщение от Аноним (??) on 30-Окт-10, 21:35 
А скажите как редиректить с одного сервера на другой?
То есть у меня два сервера. Один в США, а другой в России. И надо, чтобы при коннекте на порт 80-й к серверу в США шел проброс на 80-й порт в России. Это iptables может? А то я с pf пробовал, спрашивал, так ничего и не получилось.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Релиз iptables 1.4.10"  +/
Сообщение от Michael Shigorin email(ok) on 30-Окт-10, 21:38 
> Это iptables может?

У Вас может получиться или асимметричный NAT, или надо будет его подпирать соответствующей маршрутизацией.  IIRC выходит A -> B -> C, C видит пакет с src A и отвечает прямиком на A, но там-то ждут ответ от B.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Релиз iptables 1.4.10"  +/
Сообщение от Аноним (??) on 30-Окт-10, 21:45 
Ну мне приходилось решать через portfwd или datapipe (datapipe.c). Решение userspace, а хотелось бы на уровне ядра через iptables.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "Релиз iptables 1.4.10"  +/
Сообщение от cub.uanic on 31-Окт-10, 02:51 
Конечно может. С незапамятных времён.

Двойной НАТ спасёт при такой постановке задачи. В одном правиле меняете dst ip (на российский), а потом в другом scr ip (на штатовский). Но надо учитывать, что при таком решении российская машина будет видеть все коннекты как приходящие со штатовской машины, а не с настоящего клиента.

Если вам на российской машине надо отслеживать ip клиента - есть другой вариант: в штатах поставить nginx или Апач как реверс-прокси, и одновременно с пересылкой запроса генерить заголовок X-Forwarded-For. При этом естественно ожидается, что российская сторона умеет обрабатывать этот самый заголовок. Но это уже user-level, а не iptables.

На самом деле вы просто определитесь - а что вам надо: решить определённую задачу или решить определённую задачу средствами iptables.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Релиз iptables 1.4.10"  +/
Сообщение от Аноним (??) on 31-Окт-10, 09:57 
Двойной НАТ, да, двойной НАТ нужен. Точно. Спасибо.

80-й порт я привел для примера. Конечно, nginx очень подходит, если дело касается http/https.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

25. "Релиз iptables 1.4.10"  +1 +/
Сообщение от МестныйАноним (ok) on 01-Ноя-10, 09:18 
Самое плохое, что в IPv6 ната не будет.

> When is support NAT table for Ip6tables?

Only over my dead body. We will never implement ipv6-to-ipv6 network address translation as long as I have any say in netfilter/iptables development. NAT is evil and causes horrible breakage of end-to-end on the internet. IPv6 has enough addresses and therefore no justification for NAT.

Казалось бы на переходной период ядро надо сделать более гибким, а они его кастрируют, урезают нужный функционал.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

28. "Релиз iptables 1.4.10"  +/
Сообщение от Vitaly_loki (ok) on 01-Ноя-10, 13:54 
А зачем в IPv6 NAT?
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

29. "Релиз iptables 1.4.10"  +/
Сообщение от Xaionaro (ok) on 01-Ноя-10, 14:02 
> А зачем в IPv6 NAT?

Вы намекаете на избыточность адресного пространства? Иногда NAT требуется использовать и в других целях (не только из-за отсутствия адресов). Хоть и чрезвычайно редко, но, IMHO, НЕ реже, чем повышение TTL проходящих пакетов :)

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

30. "Релиз iptables 1.4.10"  +/
Сообщение от zazik (ok) on 01-Ноя-10, 14:19 
>> А зачем в IPv6 NAT?
> Вы намекаете на избыточность адресного пространства? Иногда NAT требуется использовать
> и в других целях (не только из-за отсутствия адресов). Хоть и
> чрезвычайно редко, но, IMHO, НЕ реже, чем повышение TTL проходящих пакетов
> :)

Например?

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

31. "Релиз iptables 1.4.10"  +/
Сообщение от МестныйАноним (ok) on 01-Ноя-10, 14:49 
>>> А зачем в IPv6 NAT?
>> Вы намекаете на избыточность адресного пространства? Иногда NAT требуется использовать
>> и в других целях (не только из-за отсутствия адресов). Хоть и
>> чрезвычайно редко, но, IMHO, НЕ реже, чем повышение TTL проходящих пакетов
>> :)
> Например?

Ну например REDIRECT в IPv6 под линукс отсутсвует, т.к. для работы в IPv4 использовался нат.

> There is unfortunately no REDIRECT for ip6tables at this moment.  We're currently
> discussing some ideas how to implement REDIRECT like functionality (for transparent
> proxes on the local host) without requiring NAT.  This discussion is not finished,
> and there is no implementation so far.

И уже лет 5 как ищут способ. У меня уже повяилось желание написать в рассылку что-нибудь типа "Harald Welte, are you still alive?" =)

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

32. "Релиз iptables 1.4.10"  +/
Сообщение от МестныйАноним (ok) on 01-Ноя-10, 14:57 
или уже появился =)

http://netfilter.org/projects/iptables/files/changes-iptable...
> extensions: REDIRECT: add random help

Надо будет еще раз изучить этот вопрос. Но желание всё равно не пропало =)


Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

33. "Релиз iptables 1.4.10"  +/
Сообщение от Xaionaro (ok) on 03-Ноя-10, 11:59 
>>> А зачем в IPv6 NAT?
>> Вы намекаете на избыточность адресного пространства? Иногда NAT требуется использовать
>> и в других целях (не только из-за отсутствия адресов). Хоть и
>> чрезвычайно редко, но, IMHO, НЕ реже, чем повышение TTL проходящих пакетов
>> :)
> Например?

Ну, например когда есть сеть, в которой существуют маршрутизаторы, которые не в курсе о всех желаемых маршрутах. Например, эти маршрутизаторы могут быть не в курсе, что за тобой скрывается какая-то другая подсеть, поэтому предётся эту подсеть NAT-ировать. Ведь дело не только в кол-ве адресов, но и в корректно настроеной маршрутизации. Хотя это - далеко не единственная причина.

Иногда мне требуется натирование из диагностических целей. А если говорить про DNAT, то он мне не так давно требовался, чтобы обойти глюк одной програмки. Да и вообще, неужели не очевидно, что как и SNAT, так и DNAT - мягко говоря необходимы, в любом профессиональном фаерволле?

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

34. "Релиз iptables 1.4.10"  +/
Сообщение от hunter64 email on 05-Дек-11, 14:12 
Xaionaro - полностью согласен!
Те кто удалил: NAT - "думали" головой между ног. :(
NAT - был, есть и будет всегда, это аксиома.
Маршрутизацию без: NAT - сделать возможно, но будет
страшный геморой, замешанный на костылях. :(

P.S. Для танкистов: попробуйте настроить обмен трафиком
в сети из двух (инет-сервер, рабочая станция) и более
компов, я очень хочу посмотреть на Ваши закипающие моСки.
Или вот еще веселее задача, обмен трафиком между сетями:
инет, диалап, вай-фай, локаль, защищенный периметр.
А теперь что-ить удвоить по числу объектов ....
И на закуску: умножить все, и еще балансировка.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

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

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




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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