The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В ядре Linux 3.13 ожидается появление нового пакетного фильт..., opennews (??), 20-Окт-13, (0) [смотреть все] +1

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


13. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +1 +/
Сообщение от Аноним (-), 20-Окт-13, 01:05 
Твою дивизию! Я только что окончил читать мануал к iptables на 600 страниц...
Ответить | Правка | Наверх | Cообщить модератору

16. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +6 +/
Сообщение от Sinot (ok), 20-Окт-13, 01:09 
А зачем? Я вот тоже опасался сложности написания правил iptables, а выяснилось, что основ там на пол странички, а все остальное изучается исключительно по необходимости.
Ответить | Правка | Наверх | Cообщить модератору

19. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +1 +/
Сообщение от Аноним (-), 20-Окт-13, 01:21 
> Твою дивизию! Я только что окончил читать мануал к iptables на 600
> страниц...

Я тебе открою страшную тайну: заменяешь iptables на ntf ip, -A на add, -p на protocol, -s на saddr, -d на daddr, --sport на sport, --dport на dport, -j DROP на drop, и дальше в таком духе. И все будет работать.

Итого: вместо
iptables -t filter -A OUTPUT -d 1.2.3.4 -p tcp --dport 80 -j DROP
получается
nft add rule ip filter output ip daddr 1.2.3.4 tcp dport 80 drop

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

20. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  –2 +/
Сообщение от Аноним (-), 20-Окт-13, 01:24 
Тогда какого Х*я ваще было синтаксис менять, раз всего названия сущностей были изменены?!
Шо за треш!
Ответить | Правка | Наверх | Cообщить модератору

23. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +3 +/
Сообщение от Аноним (-), 20-Окт-13, 01:34 
> Тогда какого Х*я ваще было синтаксис менять, раз всего названия сущностей были
> изменены?!
> Шо за треш!

Внутри тоже кой-чего поменяли. Например, слили четыре гигантских куска дублирующегося кода (ip_tables, ip6_tables, arp_tables и ebtables) в один.
А синтаксис - так, за компанию. Тем более, что действительно напрашивалось.

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

26. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  –3 +/
Сообщение от Аноним (-), 20-Окт-13, 01:44 
> А синтаксис - так, за компанию. Тем более, что действительно напрашивалось.

Кому оно напрашивалось? Вот посмотрите на новый синтаксис с точки зрения эргономики - все сливается... не хватает разделителей (типа '-')... Трудно читабельно, и не похоже на стандартный синтаксис CLI.

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

30. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +7 +/
Сообщение от Аноним (-), 20-Окт-13, 01:59 
> Кому оно напрашивалось? Вот посмотрите на новый синтаксис с точки зрения эргономики
> - все сливается... не хватает разделителей (типа '-')... Трудно читабельно, и

У вас, видимо, браузер не отображает пробелы. Наверное, стоит написать багрепорт разработчикам.

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

31. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  –3 +/
Сообщение от Аноним (-), 20-Окт-13, 02:03 
Иди отсюда, арчеребёнок. Синтаксис иптаблес лучше
Ответить | Правка | Наверх | Cообщить модератору

33. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 02:08 
> Иди отсюда, арчеребёнок.

Не брюзжи, слакодедуля :)

> Синтаксис иптаблес лучше

Чем грузины? Или чем армяне?

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

41. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 02:50 
Тем, что он соответсвует POSIX стандарту коммандной строки.
Кстати, как там о добавлении правил из коммандной строки? Порой бывает очень нужно, не перегружать же все 100500 из-за одного правила.
Ответить | Правка | Наверх | Cообщить модератору

45. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 03:00 
Зыж
>Кстати, как там о добавлении правил из коммандной строки?

С точки зрения лаконичности и удобства имеется в виду.

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

46. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 03:03 
> Тем, что он соответсвует POSIX стандарту коммандной строки.

Я бы не сказал, что для фаервола это достоинство.
Вот ты бы очень обрадовался, если бы твою речь ограничили синтаксисом POSIX commandline?

> Кстати, как там о добавлении правил из коммандной строки?

Сходи по ссылке, например. А то не прочитал нифига, а осуждать уже лезешь.

> Порой бывает очень нужно, не перегружать же все 100500 из-за одного правила.

В силу структуры iptables, невозможно добавить/удалить одно правило, не поменяв весь набор.
Правила хранятся в ядре в виде блоба, который формируется утилитами в userspace. При изменении одного правила, его нужно генерировать с нуля.
Именно поэтому разработчики iptables рекомендуют вместо скриптов с кучей команд iptables использовать iptables-restore (см. Jan Engelhardt, Towards to the perfect ruleset).

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

47. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 03:08 
As of June 2009, iptables and its relatives are still bound by the kernel interfaces of the ip_tables etc. modules, which only provide means to get and set entire tables. Old-fashioned scripts execute /sbin/iptables over and over — once for each policy they want to set, once for each flush operation they attempt, and once for each rule they are adding to the system — spend a much higher time finishing execution than would normally be required. Every iptables invocation will download the ruleset from the kernel, perform the modification — in case of -A this is adding just one rule — and upload it back into the kernel. Repeat that n times, and you get a cost factor of O(n^2) to perform n operations.

There is also a security risk, a window of opportunity where packets might pass halfway through while a ruleset is copied back and forth. Setting the policy to DROP before will not solve this problem, as this novice example shows:

С тех пор ничего не поменялось.

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

50. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 03:32 
ссылочкой надеюсь не трудно будет поделиться?
Ответить | Правка | Наверх | Cообщить модератору

84. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Ананас (?), 20-Окт-13, 07:29 
http://inai.de/documents/Perfect_Ruleset.pdf
Ответить | Правка | Наверх | Cообщить модератору

92. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 10:25 
верно. что мешало ранее так сделать?

зыж
но вот это из разряда вредных советов:
>There is also a security risk, a window of opportunity where packets might pass halfway through while a ruleset is copied back and forth. Setting the policy to DROP before will not solve this problem, as this novice example shows:

проследил цепочку вызовов от юзер-спейса:
>ret = setsockopt(handle->sockfd, TC_IPPROTO, SO_SET_ADD_COUNTERS,
>             newcounters, counterlen);

до ядра:
>static int
>do_ipt_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
>{…

все операции там вроде как атомарны и блокируются.

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

108. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 13:33 
> все операции там вроде как атомарны и блокируются.

Ага-ага, каждый раз при перезагрузке правил блокируется сетевой стек.

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

122. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 14:43 
1. Про кэширование пакетов благородный дон не слышал?
2. Вы реально понимаете разницу в скорости сети и обработки вот таких вот макросов:
#define SET_COUNTER(c,b,p) do { (c).bcnt = (b); (c).pcnt = (p); } while(0)
#define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0)
которые вызываются так:
do_add_counters(struct net *net, const void __user *user, unsigned int len, int compat)
{

if (copy_from_user(paddc, user + size, len - size) != 0) {
                ret = -EFAULT;

t = xt_find_table_lock(net, AF_INET, name);

xt_entry_foreach(iter, loc_cpu_entry, private->size) {
                ADD_COUNTER(iter->counters, paddc[i].bcnt, paddc[i].pcnt);
                ++i;
Вся, уже скомпилированная(!!!) таблица копируется из юзер-спейса в ядро, только потом(!!!) блокировка, потом копирование указателей(!!!) и разблокировка.
Ответить | Правка | К родителю #108 | Наверх | Cообщить модератору

49. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 03:14 
>Я бы не сказал, что для фаервола это достоинство.

Как примут ваш стандарт "не_сказал_бы" на правила командной строки, тогда и поговорим.
А заодно и реализуют кучку библиотек (от баша, до с++) по разбору параметров командной строки.
А то уже существует масса фронт-эндов от популярных, до моих собственных.
>Сходи по ссылке, например. А то не прочитал нифига, а осуждать уже лезешь.

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

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

53. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 03:41 
> Как примут ваш стандарт "не_сказал_бы" на правила командной строки, тогда и поговорим.

Строка есть? Есть. Командует? Командует. Что тебе еще надо?

> А заодно и реализуют кучку библиотек (от баша, до с++) по разбору параметров командной строки.

Ты решил сделать несколько альтернативных реализаций /sbin/nft на разных языках?
Тогда фиг с ними, с параметрами командной строки! Лучше покажи, как ты трансляцию в байткод на баше напишешь. Это ж дичайшей красоты и понятности код будет! Уже побежал за попкорном.

> А то уже существует масса фронт-эндов от популярных, до моих собственных.

Основная причина существования этих фронт-эндов - POSIX-совместимый синтаксис командной строки :)

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

Сначала я хочу послушать твое доказательство, что твой фронтенд удобнее, хотя бы для тебя. Страниц на пять хотя бы.

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

57. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 03:49 
>Строка есть? Есть. Командует? Командует. Что тебе еще надо?

Я что, не доступным вам языком написал?
Мне нужен стандартный способ разбора командной строки.
А также кучка библиотек (от баша, до с++) по разбору параметров командной строки, чтобы самому не изобретать велосипед.

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

58. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 03:52 
зыж
>> А заодно и реализуют кучку библиотек (от баша, до с++) по разбору параметров командной строки.
>Ты решил сделать несколько альтернативных реализаций /sbin/nft на разных языках?
>Тогда фиг с ними, с параметрами командной строки!

Вам (кстати, это от природной скромности вы на «ты» перешли?) понятен смысл слова front-end?

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

62. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  –1 +/
Сообщение от Аноним (-), 20-Окт-13, 03:57 
> Вам (кстати, это от природной скромности вы на «ты» перешли?)

Просто не поворачивается язык человеку с такими детскими манерами писать "ты". Если на самом деле ты старый дедуля - считай за комплимент :)

> понятен смысл слова front-end?

Боюсь, что смысл этого слова не доступен как раз тебе.
Фронтенд должен не _читать_ командную строку nft, а _писать_ ее.
Читать он будет ее вывод и код выхода. Кстати, как твои фронтенды ухитряются работать без специальных библиотек, парсящих вывод iptables?

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

67. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 04:13 
>Просто не поворачивается язык человеку с такими детскими манерами писать "ты".

Э… А не наоборот? Поворачивается, как у прыщавого подростка в сложный период своего самоутверждения.
Заговариваться сталИ, дедуля? :D
>> понятен смысл слова front-end?
>Боюсь, что смысл этого слова не доступен как раз тебе.
>Фронтенд должен не _читать_ командную строку nft, а _писать_ ее.

Именно! (generate a perfect hash function from a key set)
У меня мало желания работать с 2-я разными синтаксисами и служить между ними переводчиком.
>Кстати, как твои фронтенды ухитряются работать без специальных библиотек, парсящих вывод iptables?

Путаете параметры командной строки и вывод stdout.
Что для ребёнка, упорствующего в своём праве хамить, не удивительно

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

74. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 04:36 
> Э… А не наоборот? Поворачивается, как у прыщавого подростка в сложный период своего самоутверждения.

Ага, значит я не ошибся с определением твоего возраста.

> Именно! (generate a perfect hash function from a key set)

ШТО? Зачем тебе хеш?

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

А ты и не служи. Юзай iptables, оно все равно потом (после допиливания nftables) будет транслироваться в nft. А вот обратно низя - iptables просто не умеет, например, низкоуровневой работы с хуками netfilter (поэтому глобальные цепочки там невозможны).

> Путаете параметры командной строки и вывод stdout.

По-моему, это ты их путаешь.

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

78. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 04:54 
Ззыж
Ах да! Воскресенье. :D
Ответить | Правка | Наверх | Cообщить модератору

61. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 03:53 
> Я что, не доступным вам языком написал?
> Мне нужен стандартный способ разбора командной строки.

Зачем тебе разбирать командную строку программы, которая уже написана? Чтобы сделать велосипед?

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

68. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 04:20 
Мне нужно её формировать.
Желательно однообразным, стандартным способом.
В худшем случая имея хотя бы какой-то стандарт.


зыж
Например, при стандартном способе обработки я могу построить релевантные отношения между параметрами и их доступном в данном случае количестве.
Т.е. если указан -а, то параметров может быть не более 10, доступны -б, -с… и т.д.
В сабжевом случае уже бы xml использовали что ли, его валидность хотя бы можно проверить.

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

72. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 04:32 
> Например, при стандартном способе обработки я могу построить релевантные отношения между параметрами и их доступном в данном случае количестве.
> Т.е. если указан -а, то параметров может быть не более 10, доступны -б, -с… и т.д.

nft ничем в этом плане не отличается от iptables (кроме отсутствия минусов).

Или ты не про командную строку, а про дамп правил?

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

77. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 04:52 
>nft ничем в этом плане не отличается от iptables (кроме отсутствия минусов).

Докажи.
Хотя бы на примере из сабжа выше — как проверить валидацию параметров до запуска. Формально конечно, не смысл самих правил.

Зыж
>а про дамп правил?

Во, о чём и речь. Пошли какие-то свои термины, своего (нарождающегося на ходу) стантарда, своих правил.…
Как проверить корректность сформированной командной строки ДО запуска?

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

93. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от kememail (?), 20-Окт-13, 10:46 
а как это сделать в текущем интерфейсе iptables ?
Ответить | Правка | К родителю #77 | Наверх | Cообщить модератору

102. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 13:01 
как и у любого другого приложения, поддерживающего опции командой строки в стиле стандарта POSIX http://pubs.opengroup.org/onlinepubs/000095399/basedefs/xbd_...

на основе этого стандарта (man getopts, getopt, getsubopt, getsubopt, popt и т.д.) были созданы библиотеки, дополняющие функциональность (но совместимые) практически для всех языков и на все случаи жизни. Например, для perl (который вполне не плохой выбор в рамках вашего вопроса) http://search.cpan.org/~ukautz/Getopt-Valid-v0.1.4/lib/Getop... :
>Implements an extended getopt mechanism relying on Getopt::Long but provides extended validation and filtering capabilities.

или Getopt::Lucid http://search.cpan.org/dist/Getopt-Lucid/lib/Getopt/Lucid.pm :
>Getopt::Lucid - Clear, readable syntax for command line processing

вот для С http://argtable.sourceforge.net/
>It enables a program's command line syntax to be defined in the source code as an array of argtable structs.

Для С++ вот сюда http://habrahabr.ru/post/174347/ (там же и все мотивы, с которыми я солидарен)

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

217. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 21-Окт-13, 16:12 
Откройте для себя Bison.
Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

232. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Crazy Alex (ok), 22-Окт-13, 02:05 
И пишите свои парсеры вместо того, что отлажено за пару десятков лет? Ну-ну, желаю вам так и делать. наслаждайтесь граблями.
Ответить | Правка | К родителю #217 | Наверх | Cообщить модератору

235. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от arisu (ok), 22-Окт-13, 02:16 
> И пишите свои парсеры вместо того, что отлажено за пару десятков лет?
> Ну-ну, желаю вам так и делать. наслаждайтесь граблями.

да за каким фигом тебе вообще парзить правила-то? генерируем не приходя в сознание, а потом парзим, чтобы понять, что там нагенерилось?

я вот достаточно давно использую ferm. в том числе его правилами заведует несколько роботов. представь: мне ни разу не понадобилось парзить фермовые правила. вообще. только генерировать и собирать в кучку (что, кстати, сильно облегчается наличием в ferm такой штуки, как include).

зачем парзить-то? чтобы что-то править на системе, которой сто лет в обед и которая сконфигурирована пришельцами с Венеры? а может, лучше один раз переконфигурировать и не заниматься ерундой?

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

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

240. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от ананим (?), 22-Окт-13, 03:15 
>> И пишите свои парсеры вместо того, что отлажено за пару десятков лет?
>> Ну-ну, желаю вам так и делать. наслаждайтесь граблями.
> да за каким фигом тебе вообще парзить правила-то?

Забавно. Это ты ж так делать предложил! :D

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

259. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от Crazy Alex (ok), 22-Окт-13, 13:18 
Честно говоря, конкретно мне парсить не приходилось, но вполне могу представить ситуацию, когда надо сделать что-то вроде аудита, то есть собрать все правила в кучу и посмотреть, каким получается результирующее условие.

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

С другой стороны - если это внешняя тулза правила компилирует - наверняка останется вариант с синтаксисом a-la iptables.

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

267. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от arisu (ok), 22-Окт-13, 18:24 
> Честно говоря, конкретно мне парсить не приходилось, но вполне могу представить ситуацию,
> когда надо сделать что-то вроде аудита, то есть собрать все правила
> в кучу и посмотреть, каким получается результирующее условие.

это — решение задачи, которая ещё даже не появилась. при этом у меня есть стойкое мнение, что решать её намного проще будет при помощи «отладочной инфы» в полученом байткоде и юзермодового же симулятора с execution trace. которые наглядно покажут, сквозь какие правила что прошло.

> Впрочем, меня гораздо больше раздражает «человекочитаемый» синтаксис как раз в плане хреновой
> читаемости человеком. Как по мне, неалфавитные разделители строки на отдельные единицы
> — большое благо. Проще нужный кусок увидеть.

если ты про то, что там терминаторы типа ';' убраны — так они не нужны. потому что перенос строки и без них отлично видно, а предложение вполне явно завершается указанием действия.

> С другой стороны — если это внешняя тулза правила компилирует — наверняка
> останется вариант с синтаксисом a-la iptables.

ну да. для тех, кому жаль лет, потраченых на «$@#^%@%@».

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

268. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от arisu (ok), 22-Окт-13, 18:26 
p.s. забавно повоевать «с другой стороны», да.
Ответить | Правка | К родителю #259 | Наверх | Cообщить модератору

286. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от Аноним (-), 22-Окт-13, 21:13 
> Впрочем, меня гораздо больше раздражает "человекочитаемый" синтаксис как раз в плане хреновой
> читаемости человеком. Как по мне, неалфавитные разделители строки на отдельные единицы
> - большое благо. Проще нужный кусок увидеть.

Почему же вы не пользуетесь ими в обычной речи? Не ставите -- перед каждым словом, и всякие ))) или ... после каждой фразы?
Получается какой-то двойной стандарт - говорите, что удобно и вообще зашибись, но сами воздерживаетесь.

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

284. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  –1 +/
Сообщение от Аноним (-), 22-Окт-13, 21:11 
> И пишите свои парсеры вместо того, что отлажено за пару десятков лет?

Почему-то в этом "отлаженном за пару десятков лет" до сих пор продолжают находить ошибки, связанные с тем, что iptables-save генерирует некорректные (даже с точки зрения iptables-restore) дампы. Одна из причин этого - использование для дампов синтаксиса команд POSIX.

> Ну-ну, желаю вам так и делать. наслаждайтесь граблями.

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

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

236. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от arisu (ok), 22-Окт-13, 02:18 
> Откройте для себя Bison.

кстати, закройте для себя bison и откройте для себя lemon.

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

260. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от Crazy Alex (ok), 22-Окт-13, 13:22 
Ну хвалятся они прикольно, а что оно _на_практике_ даёт по сравнению с бизоном? SQlite - это, конечно, неплохая заявка, но они вообще экзотику любят - тот же Fossil взять.
Ответить | Правка | К родителю #236 | Наверх | Cообщить модератору

269. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от arisu (ok), 22-Окт-13, 18:37 
> Ну хвалятся они прикольно

кто и чем «хвалится»? O_O

> а что оно _на_практике_ даёт по сравнению с бизоном?

как минимум — парзер, который можно кормить токенами, а не парзер, который из своего цикла настырно токены требует. синтаксис несколько удобней. выхлоп чуть компактней. есть удобная фича «деструктор токена» — вызов функции-деструктора, когда токен больше не нужен. ну и да: можно со своей софтиной его носить, там один сишный файл — иногда это удобно.

> SQlite — это, конечно, неплохая заявка, но они вообще экзотику
> любят — тот же Fossil взять.

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

впрочем, как я сказал, лично для меня самая важные фичи те, что я на выходе получаю парзер, управляемый «снаружи», а не парзер, который самостоятельно жрёт в три горла, и что у токенов есть деструкторы. кстати, создание нескольких парзеров — тоже удобная штука: никаких глобалов в парзере не используется.

кое-что из вышеперечисленого можно и от бизона получить, конечно, но… не радует.

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

294. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от Crazy Alex (ok), 23-Окт-13, 04:09 
Хвалятся - авторы lemon его фичами. Что до перечисленного тобой - таки подходы разные. Я всегда нежно любил, когда потребитель сам данные требует - как-то лучше мне такая архитектура на мозг ложится - скормил ему источник данных и забыл, можно этот парсер, скажем, куда-то передать и он там дальше работать будет с тем же источником. Но я ж плюсовыми категориями мыслю, там это удобно, да и глобальных переменных там нет. Вот насчет деструкторов токенов в голову ничего особо не приходит, но вроде и нужды не было. Хотя гляну детальнее - может, правда с ними красивее получается.
Ответить | Правка | К родителю #269 | Наверх | Cообщить модератору

297. "В ядре Linux 3.13 ожидается появление нового пакетного..."  +/
Сообщение от arisu (ok), 23-Окт-13, 04:20 
> Хвалятся - авторы lemon его фичами.

где? на всякий случай: перечисление != похвальба.

> Я всегда нежно любил, когда потребитель сам данные требует

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

> — как-то лучше мне такая архитектура на мозг ложится — скормил
> ему источник данных и забыл, можно этот парсер, скажем, куда-то передать
> и он там дальше работать будет с тем же источником.

штука в том, что объединить «управляемый» парзер и лексер в одну сущность совсем несложно. а вот «разорвать» лексер и парзер в случае, когда парзер сам всё решает — шибко сложнее.

> может, правда с ними красивее получается.

иногда — красивей. достаточно часто для простых грамматик делать zone allocator лениво, а хранить дополнительную информацию в токене удобно. используем malloc(), при этом не напрягаемся по поводу того, кто и когда позовёт free().

p.s. или мегахаки типа «предпросмотра на токен вперёд и вызова разных парзеров в зависимости от». согласен, это можно и грамматикой сделать. но иногда бывает нужно и вот так — проще получается.

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

225. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 21-Окт-13, 16:30 
>>nft ничем в этом плане не отличается от iptables (кроме отсутствия минусов).
> Докажи.
> Хотя бы на примере из сабжа выше — как проверить валидацию параметров
> до запуска. Формально конечно, не смысл самих правил.

Бизон в помощь, очевидно же.

>>а про дамп правил?
> Во, о чём и речь. Пошли какие-то свои термины, своего (нарождающегося на
> ходу) стантарда, своих правил.…
> Как проверить корректность сформированной командной строки ДО запуска?

Так дампа правил или командной строки?

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

239. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 22-Окт-13, 03:10 
>> Хотя бы на примере из сабжа выше — как проверить валидацию параметров
>> до запуска. Формально конечно, не смысл самих правил.
> Бизон в помощь, очевидно же.

Не стоит слушать вышевыссказавшихся товарищей. Они бизон в сабже увидели и обрадовались.
А тем временем парсер на бизоне используется для трансформации сабжевого синтаксиса во внутреннее представление в самом сабже.
Это понятно?
Мне ТРАНСФОРМИРОВАТЬ ничего и никуда не нужно. Вы ещё xslt посоветуйте, угу.
В общем идиoтский совет.

>>>а про дамп правил?
>> Как проверить корректность сформированной командной строки ДО запуска?
> Так дампа правил или командной строки?

Вы тупoй, извиняюсь? Ответил уже.


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

243. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 22-Окт-13, 03:30 
зыж

Вот кстати пруф на оригинал http://lwn.net/Articles/324251/ :
>The userspace frontend is probably even more different to iptables than the kernel. The classification language is based on a real grammar that is parsed by a bison-generated parser (currently, it might have to be replaced) and converted to a syntax tree. Besides things like table and chain operations, the language elements are mainly:
>- runtime data describing expressions: "tcp dport", "meta mark", ...
>- constant data expressions: "ssh", "22", "192.168.0.1/24", ...
>- relational expressions and operations: "equal", "non-equal", "member of set", ...
>- combining expressions, like sets and flag lists: { 22, 23} and established,related

И да, предлагать использовать (в дополнение к своей) программу, предназначенную для автоматического создания синтаксических анализаторов, только для того, чтобы проверить валидность командной строки… э-э-э, как бы это помягче то… ОЧЕНЬ оригинально.
Что дальше? Баллистическую ракету при охоте на воробьёв?

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

280. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 22-Окт-13, 20:59 
> И да, предлагать использовать (в дополнение к своей) программу, предназначенную для автоматического
> создания синтаксических анализаторов, только для того, чтобы проверить валидность командной
> строки… э-э-э, как бы это помягче то… ОЧЕНЬ оригинально.
> Что дальше? Баллистическую ракету при охоте на воробьёв?

А вы для анализа команд iptables предлагаете использовать какие-то дополнительные библиотеки, вместо strcmp. Тоже очень оригинально.

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

279. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 22-Окт-13, 20:57 
> Мне ТРАНСФОРМИРОВАТЬ ничего и никуда не нужно. Вы ещё xslt посоветуйте, угу.

Тогда срочно выкинь все свои библиотеки для команд POSIX - они тоже по большей части ТРАНСФОРМИРУЮТ.

> Вы тупoй, извиняюсь?

Просите, не мы, а вы.

> Ответил уже.

Вы постоянно перепрыгиваете с дампов на командную строку и обратно. Простите, не какой из этих ответов вы ссылаетесь?

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

285. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +1 +/
Сообщение от ананим (?), 22-Окт-13, 21:13 
Да-а-а, тяжёлый случай.
Ответить | Правка | К родителю #279 | Наверх | Cообщить модератору

87. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от www2 (??), 20-Окт-13, 08:09 
>В силу структуры iptables, невозможно добавить/удалить одно правило, не поменяв весь набор.

Это ты про внутреннюю организацию всего этого хозяйства говоришь или говоришь о том, что из командной строки добавить/удалить одно правило невозможно?

>Правила хранятся в ядре в виде блоба, который формируется утилитами в userspace. При изменении одного правила, его нужно генерировать с нуля.

И тем не менее, одна команда с точки зрения пользователя добавляет/удаляет одно правило.

>Именно поэтому разработчики iptables рекомендуют вместо скриптов с кучей команд iptables использовать iptables-restore (см. Jan Engelhardt, Towards to the perfect ruleset).

Используем, но не всегда это возможно, т.к. некоторые правила изменяются динамически. В таких случаях при помощи iptables-restore загружается заготовка с пользовательскими цепочками, в которых потом динамически добавляются или удаляются правила по одному.

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

113. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 13:39 
> Это ты про внутреннюю организацию всего этого хозяйства говоришь или говоришь о
> том, что из командной строки добавить/удалить одно правило невозможно?

О внутренней. Пакеты фильтрует netfilter, а не iptables.

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

124. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +1 +/
Сообщение от ананим (?), 20-Окт-13, 14:52 
При этом в ядре таблицы меняются простой сменой указателей.
Вот, специально не поленился и посмотрел как это работает https://www.opennet.ru/openforum/vsluhforumID3/92256.html#122

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

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

163. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Гость (?), 21-Окт-13, 00:24 
>> Синтаксис иптаблес лучше
> Чем грузины? Или чем армяне?

Чем синтаксис pf. Это же любому админу локалхоста сходу понятно.

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

136. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Адекват (ok), 20-Окт-13, 16:23 
> Иди отсюда, арчеребёнок. Синтаксис иптаблес лучше

Арче-ребенок :))) ? ахахаххахха
Вы уважаемый, его установить то сможете хоть ? пфхазхахахаха.

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

42. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 02:55 
> У вас, видимо, браузер не отображает пробелы. Наверное, стоит написать багрепорт разработчикам.

Будьте последовательны. Убрали тире - уберите и пробелы, чтоб читалось быстрее. :))

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

44. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 02:58 
> Будьте последовательны. Убрали тире - уберите и пробелы, чтоб читалось быстрее. :))

Будьте последовательны. Вам нравится, когда слова визуально разделены? Не ограничивайтесь тире и пробелами, разделяйте их как минимум переводами строки.

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

137. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Адекват (ok), 20-Окт-13, 16:38 
> Будьте последовательны. Вам нравится, когда слова визуально разделены? Не ограничивайтесь
> тире и пробелами, разделяйте их как минимум переводами строки.

Будет Маяковский-style.

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

55. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +1 +/
Сообщение от Аноним (-), 20-Окт-13, 03:46 
> Будьте последовательны. Убрали тире - уберите и пробелы, чтоб читалось быстрее. :))

-А --ВЕДЬ --верно --говоришь -, --ДРУК -!
-С --ТИРЕ --текст --действительно --читается --гораздо --ЛУЧШЕ -.
--Теперь --БУДУ --всегда --только --так --ПИСАТЬ -.

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

56. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 03:49 
-А --СИНТАКСИС --iptables --все --же --надо --ПОПРАВИТЬ -.
--Некоторые --ЛЕКСЕМЫ --там --идут --без --ТИРЕ -.
--Например -, --ИМЕНА --цепочек -, --таблиц -, -а --еще --адреса -и --ПОРТЫ -.
--Это --СИЛЬНО --ухудшает --ЧИТАЕМОСТЬ -.
Ответить | Правка | Наверх | Cообщить модератору

64. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +1 +/
Сообщение от ананим (?), 20-Окт-13, 04:01 
Зато сильно уменьшает количество возможных ошибок при программирования разбора параметров командной строки.


зыж
А вот это выдаёт вас как профана с головой:
>--Некоторые --ЛЕКСЕМЫ --там --идут --без --ТИРЕ -.
>--Например -, --ИМЕНА --цепочек -

имя цепочки — это аргумент параметра -A, -D, -I,…

С учётом вышесказанного, как бы всё равно удобно профанам читать или нет.

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

66. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +1 +/
Сообщение от Аноним (-), 20-Окт-13, 04:03 
> имя цепочки — это аргумент параметра -A, -D, -I,…

-В --ЭТОМ -- --то -и --проблема -!
--Аргументы --ВИЗУАЛЬНО --сливаются -с --параметром -, --что --значительно --ухудшает --читаемость --ТЕКСТА -!

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

70. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  –1 +/
Сообщение от ананим (?), 20-Окт-13, 04:26 
Да, для секретарш не удобно, я ведь уже говорил?
Но для них командная строка не удобна вообще, в силу только своего существования.

Что-то ещё?

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

75. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 04:37 
> Да, для секретарш не удобно, я ведь уже говорил?

--Не --ТОЛЬКО --для --СЕКРЕТАРШ -.

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

79. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  –1 +/
Сообщение от ананим (?), 20-Окт-13, 04:59 
Конечно-конечно.
Есть КУЧА профессий. Бухгалтера например.
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

65. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Аноним (-), 20-Окт-13, 04:01 
> Кому оно напрашивалось? Вот посмотрите на новый синтаксис с точки зрения эргономики
> - все сливается... не хватает разделителей (типа '-')... Трудно читабельно, и
> не похоже на стандартный синтаксис CLI.

--Все --ПРАВИЛЬНО --ГОВОРИШЬ -!
-Я --ПРОСТО --не --понимаю -, --как --раньше --мог --читать --текст --без --тире --перед --каждым --СЛОВОМ -!

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

71. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от ананим (?), 20-Окт-13, 04:27 
>-Я --ПРОСТО --не --понимаю -, --как --раньше --мог --читать --текст --без --тире --перед --каждым --СЛОВОМ -!

Э… Может потому что ты не iptables?

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

123. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  +/
Сообщение от Michael Shigorinemail (ok), 20-Окт-13, 14:48 
>>-Я --ПРОСТО --не --понимаю
> Э… Может потому что ты не iptables?

Вам точно не надоело ещё?

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

132. "В ядре Linux 3.13 ожидается появление нового пакетного фильт..."  –1 +/
Сообщение от Адекват (ok), 20-Окт-13, 16:07 

> получается
> nft add rule ip filter output ip daddr 1.2.3.4 tcp dport 80
> drop

А как сделать перенаправление пакета в другую цепочку типа:
iptables -t filter -A OUTPUT -d 1.2.3.4 -p tcp -g newchain ?

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

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

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




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

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