dyr: (Default)
[personal profile] dyr
Накипело.

Linux:
1. Неумение iptables работать с таблицами таким же образом, как в FreeBSD ipfw или pf. Например, невозможно написать аналогичную такой вот в PF:
nat on $ext_if from <allow-nat> to any -> $dst_nat static-port sticky-address round-robin
или вот такой в ipfw:
pipe tablearg ip from any to 'table(4)' xmit vlan3050 // Incoming traffic shaping

pipe tablearg ip from 'table(5)' to any xmit em0 // Outgoing traffic shaping
Причём второй пример аж по нескольким причинам:
- iptables не умеет создавать подписи к правилам
- iptables не умеет работать с таблицами, беря из них аргументы в качестве, как здесь, номера правила pipe для данных ip
- iptables не умеет шейпировать. Да, я знаю про tc...как прекрасно знаю и про то, что он не умеет шейпировать "маской", т.е. per-ip

У ipset аж три ветки (в Ubuntu до сих пор 2.5, в "продакшене" существуют 4 и 6 ветки, причём все отличия выглядят просто косметическими)

2. Отсутствие встроенных сетевых счётчиков пакетов в секунду (pps). Наличие лишь "абсолютных" счётчиков полнейший идиотизм
3. Невозможно обнулить сетевую статистику TCP/IP по "netstat -s". Ну это же кромешный пиздец!


FreeBSD:
1. Настройка bridge с vlan'ами настолько увлекательно непредсказуема сочетанием параметров в rc.conf (то vlan не сохраняется, то bridge не создаётся), что проще и легче оказалось создавать интерфейсы и бридж с помощью "ручного" rc.local.
2. Бага с обрезанием имён интерфейсов в команде "netstat -rn" ведёт свою историю уже лет десять, не меньше. Всё это время интерфейсы в выводе этой команды представлены в таком виде:
Routing tables



Internet:

Destination Gateway Flags Refs Use Netif Expire

default 217.119.16.33 UGS 1 167787316047 em0

10.1.0.0/16 10.78.77.9 UG1 0 0 vlan30

10.2.0.0/16 10.78.77.9 UG1 0 0 vlan30

10.12.0.0/16 10.78.77.9 UG1 0 0 vlan30

10.21.0.0/16 10.78.77.9 UG1 0 0 vlan30

10.48.0.0/16 10.78.77.9 UG1 0 0 vlan30

10.49.0.0/16 10.78.77.9 UG1 0 0 vlan30
,
где под именем "vlan30" на самом деле скрывается "vlan3050". Мелочь? Мелочь. Но она уже задолбала! Что стоит изменить одну цифру в соответствующем printf?!

3. PF. Идёт с великолепным ALTQ....который несмотря на многочисленные просьбы, так до сих пор и не умеет шейпировать по маске. Работа интерфейсов CARP, взятых как и PF, из OpenBSD, подчиняется вообще каким-то своим правилам - половина man'a просто не работает, частоту рассылки pfstated настроить тоже нельзя...Короче, всё криво. И ещё эта PF'ная принципиальная одноядерность!


В-общем, что-то меня всё стало раздражать.

Date: 2011-10-25 08:59 am (UTC)
From: [identity profile] veldandi.livejournal.com
Я осторожно предположу, что *nix-сообщество медленно, но неуклонно стареет.
А дела и доработки, оставленные человеком «на потом» - это, скорее всего, то, что так никогда и не будет сделано.

Есть ли практический смысл ограничивать длину строки -j LOG в iptables?
Сегодня - никакого. Но кто полезет в код и будет пробивать такое изменение в CVS?

Date: 2011-10-25 09:05 am (UTC)
From: [identity profile] http://users.livejournal.com/_dyr/
Вот-вот. В обеих системах накапливается какая-то просто куча вроде бы мелочей, которые постоянно откладываются на потом, и которые в результате не исправляются/добавляются никогда. И их всё больше и больше, раздражает всё сильнее и сильнее.

P.S. По netstat -rn во FreeBSD нашёл, оказывается ещё в 4.5 добавили проверку Wflag в route.c с соответствующим увеличением поля Netif до 8 символов, так что "netstat -Wrn" покажет имя интерфейса полностью(ну, до восьми символов).

Date: 2011-10-25 09:15 am (UTC)
From: [identity profile] veldandi.livejournal.com
Самое главное, что, когда вымрут любители (поколение 50х-60х, максимум 70х), на поле *nix останутся только крепкие ремесленники, профессионалы, которые неизбежно подожмут свои ветки под крупные компании.
А крупные компании - это не только платная поддержка, закрытый код и прочее, но и постепенно расходящиеся пути развития (между корпорациями открытого обмена быть не может).
В итоге либо *nix переродится во что-то другое, с красивыми завитушками, вроде Убунты, либо - или после этого - на этом месте будет создано что-то ещё, совершенно новое.

"Жаль, только жить в эту пору прекрасную..."

Date: 2011-10-25 09:28 am (UTC)
From: [identity profile] http://users.livejournal.com/_dyr/
Слушайте, ну я из поколения 80ых, и как раз-таки не знаю C. Теперь чувствую себя ремесленником, да :)

Date: 2011-10-25 09:36 am (UTC)
From: [identity profile] veldandi.livejournal.com
Господи, да я же не об этом...
Речь о тех, кто в своём роде "играет" с вещью, ищет нетривиальные пути её использования. Поэтому и получается абсурдно - ограничение в 50 символов (потому что кто-то любил квадратные скобки с красивой циферкой внутри) и тп.
Чтобы привести это в порядок, нужна либо втрое большая армия дисциплинированных энтузиастов (которых нет в природе), либо профессиональный подход. Который превратит Никсы в закрытые ветки.

Date: 2011-10-25 11:39 am (UTC)
From: (Anonymous)
"iptables не умеет создавать подписи к правилам"
Читаем внимательно про один из модулей netfilter под интуитивно понятным названием comment
"iptables не умеет работать с таблицами, беря из них аргументы в качестве, как здесь, номера правила pipe для данных ip"
Да, номера правил в таблицах ipset не хранятся, но это отличия уже на уровне логики и архитектуры инструментов. Для хранения же айпи-адресов и прочего ipset очень хорош.
"iptables не умеет шейпировать. Да, я знаю про tc...как прекрасно знаю и про то, что он не умеет шейпировать "маской", т.е. per-ip"
Это не дело айпитэйблс (это всего лишь морда к подсистеме netfilter ядра, которая предназначена для фильтрации трафика). Для шейпинга есть tc который умеет всё, что надо, если ты умеешь им пользоваться.
Если ты не знаешь как сделать нужное, то это твои трудности --- повышай квалификацию, почитай документацию, списки рассылки и форумы. Мне жаль твоего работодателя --- он зря тебе ЗП платит, тебя надо было давно уволить. Твой пост - не критика, а незнание инструментов, которыми пользуешься.

Date: 2011-10-25 11:44 am (UTC)
From: [identity profile] http://users.livejournal.com/_dyr/
>Читаем внимательно про один из модулей netfilter под интуитивно понятным названием comment
ОК, принято

>Да, номера правил в таблицах ipset не хранятся, но это отличия уже на уровне логики и архитектуры инструментов. Для хранения же айпи-адресов и прочего ipset очень хорош.
Мне наплевать на уровень логики и архитектуры. iptables с ipset умеет делать то, что мне нужно? Нет. О чём тогда спорим?

>Для шейпинга есть tc который умеет всё, что надо, если ты умеешь им пользоваться.
Специально для упёртых упомянул - tc не умеет шейпировать маской и простым конфигом. Создавать деревья и вешать дисциплин на каждый айпи удовольствие ниже среднего.

Дальнейшее бла-бла-бла посмешило, спасибо. Про pps и обнуление сетевой статистики скромно умолчал, ага.

Date: 2011-10-25 05:18 pm (UTC)
From: [identity profile] hotid.livejournal.com
Время - деньги. При всей моей не любви к FreeBSD - "обвязка" под задачу порезать скорость пользователей для ipfw + pipes, минимально влияющая на производительность софтроутера, пишется за 10 минут. Для tc - это не одного дня развлечение с оптимизацией правил...

Речь о том, что по ipfw table x list | grep IP мы получаем номер пайпы куда идёт юзер, а ipfw pipe X show - всё что нам надо знать о том как юзер сейчас порезан. В tc с правилами, которые будут минимально просаживать процессор и 2-3 тысячами IP в правилах, сгенерённых каким-нить prefixtree - это просто не реально.

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

Date: 2011-11-06 11:17 pm (UTC)
From: [identity profile] click0.livejournal.com
netstat -rnW - решит проблему №2 во Фряхе

Date: 2012-08-27 07:15 am (UTC)
From: [identity profile] fkn2006.ya.ru (from livejournal.com)
or
netstat -rnl

Patch

Date: 2011-11-16 03:29 pm (UTC)
From: (Anonymous)
Вы patch по вашему PR протестировали?

Re: Patch

Date: 2011-11-17 06:44 am (UTC)
From: [identity profile] http://users.livejournal.com/_dyr/
Нет ещё, как раз запланировал на эту неделю.

Date: 2011-12-09 03:13 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
а еще в линухе ппытка реализовать vrf lite вырождается в какой-то ад, израиль и палестину

Profile

dyr: (Default)
dyr

May 2016

S M T W T F S
1234567
891011121314
15161718192021
2223242526 2728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 21st, 2017 02:33 pm
Powered by Dreamwidth Studios