URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 122260
[ Назад ]

Исходное сообщение
"Выпуск пакетного фильтра nftables 0.9.7"

Отправлено opennews , 29-Окт-20 12:12 
Опубликован выпуск пакетного фильтра nftables 0.9.7, развивающегося в качестве замены iptables, ip6table, arptables и ebtables за счёт унификации интерфейсов фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов. В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. Необходимые для работы выпуска nftables 0.9.7 изменения включены в состав ядра Linux 5.10-rc1...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=53984


Содержание

Сообщения в этом обсуждении
"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено InuYasha , 29-Окт-20 12:12 
Хоть в своё время я с ним и посношался приличное время, но всё равно оценил. НФТ - это реально шаг вперёд.
>Улучшена пометка ошибок в выражениях.

Где вы были раньше... (T_T)


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено timur.davletshin , 29-Окт-20 14:57 
Молодец! Большой прогресс. Год назад ты не мог модули ядра скомпилировать.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено InuYasha , 29-Окт-20 17:22 
> Молодец! Большой прогресс. Год назад ты не мог модули ядра скомпилировать.

Давай сегодня без клеветы, ок?


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено timur.davletshin , 29-Окт-20 20:37 
>> Молодец! Большой прогресс. Год назад ты не мог модули ядра скомпилировать.
> Давай сегодня без клеветы, ок?

Ноут тот уже настроил?


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 12:27 
table, set, define, test...

Бл, какое-то программирование сплошное. Раньше все так легко админилось в линухе простыми конфигами, а теперь все больше чувствуешь себя кодером и хацкером...


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 13:08 
все это что? Конфиг sendmail, который компилять надо? Конфиг nginx, на котором программировать пытаются? Конфиг того же апача вот прям простой с учетом всех возможностей?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 13:35 
Так то сейчас на конфиге нжинкс пытаются девушку заменить. А раньше в советские времена оно было понятно и просто.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 14:22 
Это когда вместо канплюктеров считали на счётах, арифмометрах и логарифмических линейках?
А вы точно арифмометр осилите?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено InuYasha , 29-Окт-20 17:22 
Вот на счёты не наезжай, да??

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 14:09 
> Бл, какое-то программирование сплошное. Раньше все так легко админилось в линухе простыми конфигами, а теперь все больше чувствуешь себя кодером и хацкером...

Это вам к Поттерингу, пятая дверь направо.
Если вы его хорошо попросите, он придёт и заменит весь кодинг на простые ini-файлы.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено псевдонимус , 29-Окт-20 16:47 
Ты дурак или прикидываешься?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено BorichL , 30-Окт-20 15:54 
Ой, какие мы нежные, нам бы всё галочки мышком потыкивать....
Когда предыдущую версию dbmail c PostgreSQL ставил, пришлось запросы в исходниках править, чтоб заработало, ничего в этом страшного нет. А уж сколько раз конторский сайтец приходилось править по мере выхода новых пыхопыхов...

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Random , 29-Окт-20 12:53 
Им бы вменяемую документацию...

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Имя , 29-Окт-20 14:01 
https://wiki.nftables.org/wiki-nftables/index.php/Quick_refe...

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено funtt , 29-Окт-20 15:59 
Там же написано: "вменяемую".

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 23:26 
man nft который идёт в комплекте вроде бы соответствует последней версии

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено macfaq , 29-Окт-20 13:58 
Кто реально пользовался - оно только кажется переусложнённым нечто или так и есть?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 14:18 
Ipchains был лучше

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Дедушка , 29-Окт-20 14:42 
При ipchains-то у меня х.. стоял!

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено EuPhobos , 29-Окт-20 16:22 
Нужно главное в голове закрепить, что это не iptables.
Если включить логику, nft сразу становится понятен и гибок.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено псевдонимус , 29-Окт-20 16:52 
Одно из преимуществ Линукс - крутой пакетный фильтр кануло в небытие.  А линуксоиды, как Алкснис: стоят вместе с пингвинами, улыбаются и машут :-(

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 20:03 
>гибок

Гибуч!


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено псевдонимус , 29-Окт-20 21:58 
Злогибуч.%0A

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 17:26 
Не, не сложно. Легко преобразуются из iptables правила и все.)

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено псевдонимус , 29-Окт-20 22:00 
Магия, да? И ты ей радуешься :-(

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 30-Окт-20 09:13 
Простите, как из iptables в nftables переписать очень актуальное правило

iptables -A INPUT -p tcp -m tcp --sport 80 -m string --string "Location: http://lawfilter." --algo bm --to 65535 -j DROP

?


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено llolik , 30-Окт-20 09:51 
> Простите, как из iptables в nftables переписать очень актуальное правило

Пока никак. string extension ещё пока не реализован (consider native interface)
https://wiki.nftables.org/wiki-nftables/index.php/Supported_...


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Random , 31-Окт-20 11:12 
Какой эквивалент для таргета TTL?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Takishima , 31-Окт-20 19:18 
> Какой эквивалент для таргета TTL?

Например, так (будет работать и для локальных пакетов, и форварженных):

table ip mangle {
  chain postrouting {
    type filter hook postrouting priority mangle
    policy accept

    ip daddr 1.1.1.1 ip ttl set 68
  }
}

Читаем в man nft:

   EXTENSION HEADER STATEMENT
           extension_header_expression set value

В данном случае — "ip ttl" это и есть extension_header_expression


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Random , 01-Ноя-20 00:31 
Спасибо, уже неплохо, хотя из мана это неочевидно (ещё раз к вопросу о вменяемой документации).
Но хотелось бы не столько "--ttl-set", сколько "--ttl-inc" (типа, скрыть от трассировки dnat'ящий хост)


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Takishima , 01-Ноя-20 00:56 
> Спасибо, уже неплохо, хотя из мана это неочевидно (ещё раз к вопросу
> о вменяемой документации).

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

> Но хотелось бы не столько "--ttl-set", сколько "--ttl-inc" (типа, скрыть от трассировки
> dnat'ящий хост)

От трассировки можно, например, просто дропать исходящие icmp ttl exceeded. Это самое простое и дубовое.

Или что-то типа такого (вместо XX и YY подставить нужные числа):

table ip mangle {
  chain prerouting {
    type filter hook prerouting priority mangle
    policy accept

    iifname "eth0" ip daddr 192.0.2.33 ip ttl < XX ip ttl set YY
  }
}

Или можно дропать пакеты с маленьким ttl, т.к. это в 99.99% трейсроут, а в остальных случаях они и так не нужны уже.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Random , 01-Ноя-20 01:16 
> От трассировки можно, например, просто дропать исходящие icmp ttl exceeded. Это самое
> простое и дубовое.

А вот чтобы была красивая трассировка до цели, но dnat'ящий хост в ней не отображался - не было "двойного" ответа от целевого ip, при этом был ответ именно от цели (напр., для диагностики/мониторинга).

> Или можно дропать пакеты с маленьким ttl, т.к. это в 99.99% трейсроут,
> а в остальных случаях они и так не нужны уже.

А также дропать пакеты с большим ttl, т.к. это в 99.99% скан, а src заносить в афроамериканский список.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено comrade , 29-Окт-20 22:22 
> оно только кажется переусложнённым нечто или так и есть?

А разница какая? Результат один - придётся с ним иметь дело.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено macfaq , 31-Окт-20 16:59 
>> оно только кажется переусложнённым нечто или так и есть?
> А разница какая? Результат один - придётся с ним иметь дело.

Одна даёт, другая дразнится. Для себя интересуюсь, в ближайшем будущем я с nft вряд ли что-то делать буду, а лёгкий интерес есть.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 29-Окт-20 14:18 
как в этой штуке сделать NAT? вместо обычного iptables -t nat -j MASQUERADE -A POSTROUTING

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 14:27 
https://wiki.archlinux.org/index.php/Nftables_(п═я┐я│я│п╨п╦п╧)#п°п╟я│п╨п╟я─п╟п╢п╦п╫пЁ

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 14:29 
Какие всё-таки кривые у Чиркова руки... Не можешь корректно обработать URL — так хотя бы не вандаль его.

https://shorturl.at/aAOPT


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено антифрактал , 29-Окт-20 15:20 
ты ж не донатишь ему, отсюда такие спецэффекты

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 15:29 
Кривизна рук от донатов не зависит.

Предпочитаю донатить людям с прямыми руками, чтобы они делали что-то хорошее и качественное.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 16:37 
Этому багу по меньшей мере лет 10, и то, скорее всего раньше я не замечал. Если бы это был не перл поверх фряхи с кои8р, оно бы даже прошло незамеченным.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 20:53 
> Если бы это был не перл поверх фряхи с кои8р, оно бы даже прошло незамеченным.

Там уже пару лет пингвинчик, если что.



"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 21:20 
>> Если бы это был не перл поверх фряхи с кои8р, оно бы даже прошло незамеченным.
> Там уже пару лет пингвинчик, если что.

Правда? Я это пропустил. Ну, тогда не понятно, почему бы уже не использовать юникод, в конце концов, можно всё сконвертировать автоматически -- данных там не так чтобы много за 25 лет накопилось.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено псевдонимус , 29-Окт-20 22:10 
> Этому багу по меньшей мере лет 10, и то, скорее всего раньше
> я не замечал. Если бы это был не перл поверх фряхи
> с кои8р, оно бы даже прошло незамеченным.

Тут копейкаосб с протухшими шляпными патчами. Ынтырпрайз.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 20:04 
У меня не работает ссылка. Перебрасывает на главную просто.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 20:14 
по твоему шортурл тоже какая-то лажа

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 20:32 
В данном случае вы вставили ссылку без экранирования unicode-символов (браузеры помещают в буфер обмена кривую ссылку, если копировать не весь URL).
Нормальные ссылки отображаются нормально, например https://ru.wikipedia.org/wiki/%D0%93%D0%...

Вопрос по ссылки со скобками задавали уже. Делается это осмысленно, часто ссылки указывают в скобках, и если слепо следовать RFC при разборе, то финальная скобка попадает в URL.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 30-Окт-20 00:21 
Нормальные ссылки для людей выглядят так: https://ru.wikipedia.org/wiki/Гиперссылка
%D0%93%D0%... оставьте роботам, пожалуйста.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 30-Окт-20 07:36 
Национальные символы в URL подлежат обязательному экранированию

https://tools.ietf.org/html/rfc1738 "only alphanumerics, the special characters "$-_.+!*'(),", and reserved characters used for their reserved purposes may be used unencoded within a URL"

lowalpha       = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" |
                 "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" |
                 "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" |
                 "y" | "z"
hialpha        = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" |
                 "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" |
                 "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено пох. , 30-Окт-20 14:15 
> Нормальные ссылки для людей выглядят так: https://ru.wikipedia.org/wiki/Гиперссылка

нормальные ссылки для людей вообще-то выглядят так: https://ru.wikipedia.org/wiki/Hyperlink
а рашкованский алфавит (которого, внезапно, может вообще не быть на машине индуса) оставьте для содержимого, а не для _технической_ информации, которой является ссылка. То что викивракия не осилила человеческой транслитерации и вместо этого пихает левые символы в url - проблема ее механизма, написанного бездарными кодерами двадцать лет назад. Но стандартов это не нарушает, в отличие от ваших ссылок.

И да, некоторые стандарты у нас еще те, древние, и написаны инженерами, которые об этом были в курсе.

> %D0%93%D0%... оставьте роботам, пожалуйста.

url и предназначены для роботов. Для людей предназначен ТЕКСТ между тегами a href и /a

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


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Ordu , 29-Окт-20 20:58 
shorturl не работает. Но iconv -f utf-8 -t koi8-r может справиться с теми кракозяблами в url'е.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 14:33 
nft add rule nat postrouting masquerade

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 15:33 
Только сначала нужно определить таблицу nat и цепочку postrouting.

nft — не дубовый iptables, здесь можно создавать таблицы и цепочки с любыми именами. Важен только тип таблицы (ip, ip6, inet), хук цепочки (prerouting, input, forward, output, postrouting) и приоритет цепочки в хуке.
В iptables это было жёстко забито без возможности изменить.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 29-Окт-20 15:58 
>  Только сначала нужно определить таблицу nat и цепочку postrouting.

а как?


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено псевдонимус , 29-Окт-20 22:13 
>>  Только сначала нужно определить таблицу nat и цепочку postrouting.
> а как?

С помощью волшебной палочки или цветика-семицветика это делается сполпинка.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено comrade , 29-Окт-20 22:26 
> В iptables это было жёстко забито без возможности изменить

И добавить необходимое было ну никак нельзя. Решили заново задизайнить.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено пох. , 30-Окт-20 00:03 
Так это и не было необходимым. Какая кому печаль что ты не можешь придумать нескучное имячко вместо FORWARD или nat ? Пользы тому кто будет разгребать за тобой - кстати, немало - потому что ему не придется гадать, что это такое и в каком месте срабатывает.

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


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 30-Окт-20 03:14 
фишка в том, что у меня эти команды ситуативны. я как 15 лет назад её забивал по обстоятельствам, так и сейчас забиваю на разных компьютерах - они там требуются разово, на конкретной ситуации, и на разные интерфейсы - иногда даже на разные интерфейсы в одном сеансе. и последние 15 лет это работало. а в последние пару недель просто сломалось - например, у меня есть debian sid, обновлённый несколько недель назад, с ядром 5.8.0-2. и debian testing, с ядром 5.8.0-3. в первом echo 1 / /proc/sys...forwarding и iptables nat работают, а во втором - нет, не работают обе команды. хотя несколько недель назад тоже работали. в альте сизиф тоже не работают обе команды. нужна конкретная команда, которую я могу ввести на любом современном linux, как я 15 лет до этого вводил прошлую команду. настраивать 10 компьютеров на все возможные интерфейсы мне, честно говоря, не хочется - до этого всё работало прекрасно.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено пох. , 30-Окт-20 14:02 
> недель просто сломалось - например, у меня есть debian sid, обновлённый
> несколько недель назад, с ядром 5.8.0-2. и debian testing, с ядром
> 5.8.0-3. в первом echo 1 / /proc/sys...forwarding и iptables nat работают,
> а во втором - нет, не работают обе команды. хотя несколько

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

> команды. нужна конкретная команда, которую я могу ввести на любом современном
> linux, как я 15 лет до этого вводил прошлую команду. настраивать

ааа, так то на современном, а ты-то про какой-то там де6иллиан 1990го года. Записывай: ufw allow ssh
(ну или что там у тебя)

заметь - никакие "интерфейсы" не надо - интерфейсы у нас каждый день по-разному называются и хрен угадаешь.

https://www.digitalocean.com/community/tutorials/how-to-set-...
вот, учись.
Ну или если тебя тоже в подвале к корпоративной стойке приковали, тогда тебе сюда: https://www.digitalocean.com/community/tutorials/how-to-set-...

заметь - оба эти варианта работают именно на _любом_ ведре. Сами разбираясь, какой сегодня враппер и какой синтаксис объявлен модным.

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


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 30-Окт-20 16:31 
> потому что во втором эти команды - кривовраппер. Но тебе вообще-то никто не мешал поставить правильный пакет - он еще есть. И alternatives за тебя перепишет, и разжует. И даже в рот положит. Но это не путь модного джедая.

оно везде iptables-nft

но в одном случае работает, а в другом - ругается на то, что нет таблицы или что-то такое


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 30-Окт-20 16:33 
причём, самое интересное, что в тех случаях, где не работает iptables, нет и /proc/sys/net/ipv4/ip_forwarding. а где он есть - там оно работает. видимо, оно как-то связано.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено пох. , 30-Окт-20 22:01 
Ну говорю же - кривовраппер. Поставь нормальный, он еще ставится.

Или переходи уже на темную сторону, ставь бубунточку. де6иллиан застрял в позапрошлом веке со своими кривыми костылями.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено abu , 30-Окт-20 05:16 
Разве в Iptables нельзя именовать цепочки?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Takishima , 30-Окт-20 13:40 
> Разве в Iptables нельзя именовать цепочки?

Встроенные (INPUT/OUTPUT/FORWARD/и т.п.) нельзя переименовать, т.к. их функция определяется именем.

В nft по дефолту нет никаких цепочек, они создаются с произвольным именем и вешаются в нужные места (hook) с нужным приоритетом (priority).


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено abu , 31-Окт-20 13:16 
Полагаю, что выгляжу ретроградом и неосилятором ветров перемен, но думаю, что и в nftables я начну с того же самого - создам  INPUT, OUTPUT, FORWARD и т.д. То есть, =нельзя переименовать= для меня, по крайней мере в начале, не будет какой-то там киллер-фичей.

Что до приоритетов - надо будет посмотреть примеры.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Takishima , 29-Окт-20 16:39 
Не нужно запускать команду nft … для добавления отдельных правил.

https://wiki.nftables.org/wiki-nftables/index.php/Atomic_rul...

Теперь всё атомарно обновляется, в отличие от iptables. Пишем все правила в /etc/nftables.conf (он запускаемый) и запускаем его каждый раз при обновлении, либо systemctl reload nftables

Вот фрагмент:

table ip nat {
        chain c_postrouting {
                type nat hook postrouting priority srcnat
                policy accept

                oifname "eth0" masquerade
        }
}


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Takishima , 29-Окт-20 16:44 
Если вместо

oifname "eth0" masquerade

написать

oif "eth0" masquerade

То обещают более быструю работу правила. Но для "oif" интерфейс должен присутствовать в момент загрузка правил, иначе будет ошибка, т.к. проверяется ID интерфейса. А "oifname" сравнивает строки.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено llolik , 29-Окт-20 23:31 
> для "oif" интерфейс должен присутствовать в момент загрузка правил

Ну если у него в правиле eth0, т.е. "железный" интерфейс, то, в принципе, нормально. iif/oif не надо использовать с vlan/bond и прочими виртуальными интерфейсами, т.к., всё правильно, при загрузке на момент инициализации nftables виртуальные интерфейсы ещё не созданы и загрузка конфига обломается (а c *name нет).


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 18:37 
Нужно! Улучшенная поддержка динамического обновления правил это одна из фич, которой они гордятся.

Предлагаю сойтись на том, что все зависит от условий: не вижу смысла записывать в конфиг временное правило или тем более переделывать работу fail2ban чтобы он модифицировал конфиг


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Random , 01-Ноя-20 00:43 
Вот да, динамическое изменение правил выглядит более сложным (если при этом надо анализировать уже существующие правила).


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 30-Окт-20 03:15 
а без интерфейса можно?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Takishima , 30-Окт-20 13:34 
> а без интерфейса можно?

Всё можно, но не всё полезно. Будет NAT'ить там, где не надо, может таблица соединений ненужными записями заполняться.

Вообще, по-хорошему надо бы ещё на lo отключить трекинг соединений. И натить только форварженные пакеты, вот так получше будет:

table ip nat {
        chain c_postrouting {
                type nat hook postrouting priority srcnat
                policy accept

                oif "eth0" fib saddr type != local masquerade
        }
}

table ip t_raw {
        chain c_output {
                type filter hook output priority raw
                policy accept

                oif lo notrack
        }
}


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 30-Окт-20 15:50 
> Всё можно, но не всё полезно. Будет NAT'ить там, где не надо, может таблица соединений ненужными записями заполняться.

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


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено abu , 31-Окт-20 13:20 
> Теперь всё атомарно обновляется, в отличие от iptables. Пишем все правила в
> /etc/nftables.conf (он запускаемый) и запускаем его каждый раз при обновлении, либо
> systemctl reload nftables

iptables-save > res
vim res
iptables-restore < res

не?


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Takishima , 31-Окт-20 13:31 
>> Теперь всё атомарно обновляется, в отличие от iptables. Пишем все правила в
>> /etc/nftables.conf (он запускаемый) и запускаем его каждый раз при обновлении, либо
>> systemctl reload nftables
> iptables-save > res
> vim res
> iptables-restore < res
> не?

Оно в iptables не атомарно, на самом деле. Можно получить ситуацию, когда часть правил не загружена ещё, а очередной пакет пришёл.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено abu , 31-Окт-20 18:36 
О как. Спасибо за объяснение!

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 30-Окт-20 16:34 
nft add rule nat postrouting masquerade
Error: Could not process rule: No such file or directory
add rule nat postrouting masquerade
             ^^^^^^^^^^^

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено llolik , 30-Окт-20 16:51 
> nft add rule nat postrouting masquerade
> Error: Could not process rule: No such file or directory
> add rule nat postrouting masquerade
>            
>  ^^^^^^^^^^^

nft add table nat перед этим?


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 30-Окт-20 17:14 
то же самое, подчёркивает postrouting

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено llolik , 30-Окт-20 18:45 
> то же самое, подчёркивает postrouting

1.Создаём таблицу - nft add table nat
2.Создаём цепочку - nft 'add chain nat postrouting { type nat hook postrouting priority 100 ; }'
3.Создаём правило - nft add rule nat postrouting masquerade (маскарадить всё-на-всё так себе затея, но как демонстрация сойдёт)

Проверка nft list ruleset.
В nft по умолчанию нет ничего и все объекты (таблицы, цепочки и правила) надо создавать. Всё из консоли забивать не обязательно, можно забить таблицы в /etc/nftables.conf или в другой файл и туда заинклюдить (nftables это умеет).


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено flkghdfgklh , 29-Окт-20 14:48 
nft add rule nat postrouting masquerade

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено comrade , 29-Окт-20 22:34 
Да почти так же. Внизу написали.
По этому поводу уместно вспомнить анекдот о ж...е и д...е. И что из-за одного слова надо было целый язык придумывать?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено б.б. , 30-Окт-20 16:39 
ага так же. только не работает.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 17:53 
daddr saddr , многословность и неоднозначность (что какбы стремно для такой вещи как фаервол) . пока что слишком убого чтоб использовать.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 17:55 
Зыж лучше бы перепортировали все это барахло под синтаксис всеми любимого ipchains или уже ipfw на худой конец , его даже младенцы понимают без проблем, вот куда надо стремиться, а не городить черти  пойми что

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено пох. , 29-Окт-20 18:51 
Так они попытались. Пресловутый встроенный враппер. Фейлящийся на тривиальном конфиге из десятка простых правил.

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


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено псевдонимус , 29-Окт-20 22:20 
> daddr saddr , многословность и неоднозначность (что какбы стремно для такой вещи
> как фаервол) . пока что слишком убого чтоб использовать.

Оно не сделается лучше. Со временем станет похожим на фрибсд ipwf, только хуже (посмотри сложные правила на нем, хер ты там поймёшь навскидку, как пакет обрабатывается). Pederastы, сэр.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено пох. , 30-Окт-20 00:10 
ipfw линеен (не считая местного goto) - его сложные правила разбирать противно и чревато ошибками, но можно. А тут вообще ничего сложнее совсем тривиальщины разобрать в принципе не получится, если тебе только не оставят детальных комментариев - это все равно что пытаться понять назначение и принцип работы впервые увиденной сишной программы по ее некомментированному коду.
Ну только еще и, вдобавок, очередной нескучный собственный язычок с бредовым нерегулярным синтаксисом.

Полагаю, для того и брали. Это очень ведь хорошо, для некоторых, что в их гуанокоде никто не разбирается.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 29-Окт-20 20:41 
Вот я не как не пойму что такое hook, зачем он нужен и что он вообще делает в nft?

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено llolik , 29-Окт-20 23:41 
https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_...
Если совсем просто, указывает в каком месте перехватывать пакеты.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Аноним , 31-Окт-20 09:31 
Теперь буем запускать natd ? Очень такой прогресс прям по всему лицу.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено llolik , 31-Окт-20 10:17 
> Теперь буем запускать natd

А если развернуть мысль в контексте, а то я что-то не догнал причем здесь NAT и FreeBSD (тк natd оттуда вообще-то)


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Random , 31-Окт-20 11:10 
Вот только output должен бы быть перед роутингом.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено llolik , 31-Окт-20 16:57 
> Вот только output должен бы быть перед роутингом.

Ну wiki.nftables.org не я писал, хотя по идее должно быть так, да. ЧСХ в других картинках нарисовано правильно.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Random , 01-Ноя-20 00:35 
И ещё раз к вопросу о вменяемой документации... :)

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Ordu , 29-Окт-20 21:16 
А можно я оффтопично задам вопрос про роутинг на OpenWRT? Мне просто ппц лень возиться, я с iptables сталкиваюсь может раз в пять лет, и каждый раз это читать всю гору документации заново, потому что я забыл всё к чертям.

Ситуация такая: есть локальный небольшой провайдер, который отрубает интернет за неуплату в 00:00 какого-то там числа каждого месяца. У него ограниченный выбор способов оплаты, и из них мне подходит один -- в лк есть ссылка, которая отправляет на сайт банка, где надо номер карточки вогнать и нажать "ок". Но хрень в том, что когда интернет отключен, не прогрузить сайт банка. А если на роутере переключить wifi в режим клиента и подключить к инету через мобилу, то можно прогрузить любой сайт, но личный кабинет у провайдера не грузится.

Я ковырял почему так, думал может если в hosts вписать локальный адрес лк, чтобы туда через локалку ходило, то заработает, но хрен там был -- дело не в днс, лк в любом случае висит на одном и том же ip-адресе, и проблему можно решить, видимо, только роутингом: гонять весь трафик по цепочке десктоп-роутер-мобила-интернет, а трафик к лк по цепочке десктоп-роутер-сеть_провайдера-лк. Очень хочется сделать так, чтобы когда мне интернет отрубают, я бы мобилу перевёл в режим точки доступа и в панели управления OpenWRT нажал бы кнопку (ну или на крайняк, сделал бы ssh на него и запустил бы скрипт) и всё бы заработало. А когда интернет обратно включат, я бы мобилу перевёл бы в режим клиента, нажал бы кнопку в панели управления OpenWRT (запустил бы другой скрипт) и опять весь трафик шёл бы через локалку.

Но пилять, как жеж мне влом разбираться в этом гумне снова. Может кто шарит настолько, что навскидку может написать конфигурацию? (Тут в этом ТЗ существенным требованием является то, чтобы мне не надо было бы ничего помнить про таблицы и цепочки iptables -- я всё равно забуду за месяц). Если всем влом или никто не шарит настолько, чтобы без труда из головы написать такой конфиг, то простите, пожалуйста, мою потреблятскую сущность, и не обращайте внимания на мой нытьё. Может я как-нибудь соберусь с духом, перечитаю доки, запилю конфигурацию сам, найти способ оттестировать, допилю до работоспособности, облегчённо выдохну и забуду, наконец, про проблему.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено flkghdfgklh , 29-Окт-20 21:40 
ip route add N.N.N.N via Y.Y.Y.Y dev ethN

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Ordu , 29-Окт-20 21:58 
> ip route add N.N.N.N via Y.Y.Y.Y dev ethN

Ох ведь, да, точно! Это ведь роутингом делается и iptables не нужон. Круто! Спасибо!


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено flkghdfgklh , 30-Окт-20 02:20 
Да не за что
Вообще имеет смысл роутить через гейт провайдера не только IPшник его сайта с кабинетом, но всю его подсеть, но это опционально.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Ordu , 30-Окт-20 05:22 
> имеет смысл роутить через гейт провайдера не только IPшник его сайта с кабинетом, но всю его подсеть

Да, но насколько я понял, разглядывая вывод ip route, OpenWRT делал это автоматически, на основании описания сети полученного через DHCP от прова -- по маске подсети. Но это не работало, потому что ip лк не попадает в подсетку, поэтому маршрутизируется дефолтным маршрутом -- я не сразу догадался, из-за того, что подсетка /19, а я не копенгаген в уме двоичную арифметику выполнять над десятично-трёхзначными числами. Короче, я начинаю подозревать, админам прова надо руки пообрывать за такое.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено flkghdfgklh , 30-Окт-20 11:09 
Хм, да админам прова однозначно руки отрывать за подобное. У меня на каком-то из провайдеров на россии похожее было, что к ЛК route надо было руками прописывать, хотя к части сетей прова он прилетал прямой по DHCP. На Корбине/Билайне это что ли было? Не помню.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено провайдер , 30-Окт-20 22:08 
> Хм, да админам прова однозначно руки отрывать за подобное.

Ну конечно. Мы же должны, ради ублажения клиента (постоянно просрочивающего срок очередной оплаты - чтоб ему самому зарплату так же платили!) сделать плоскую сеточку /19 чтоб ему удобно было нас наяпывать. Или, может, прислать ему стопицот реальных префиксов, которые у нас на маршрутизаторы приходят? А у него впопенворота не лопнут от такого?

> каком-то из провайдеров на россии похожее было, что к ЛК route
> надо было руками прописывать, хотя к части сетей прова он прилетал

Не надо ничего руками (кривыми) прописывать - надо платить вовремя, и тогда весь интернет, а не только личный кабинет, ВНЕЗАПНО, будут доступны через default gateway.

А кроилово - ведет к попадалову.


"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено Random , 01-Ноя-20 00:56 
default gateway - понятие динамическое, провайдеров может быть более одного даже для домашнего инета.
Но некоторые вещи, типа того же ЛК, направляем строго через того или иного провайдера, вот это руками и прописано.

"Выпуск пакетного фильтра nftables 0.9.7"
Отправлено провайдер , 30-Окт-20 22:05 

> Вообще имеет смысл роутить через гейт провайдера не только IPшник его сайта
> с кабинетом, но всю его подсеть, но это опционально.

не имеет - мы не обязаны предоставлять злостным неплательщикам доступ и к этой сети тоже.

К личному кабинету - предоставляем, чтоб он мог оплатить свой долг. Это бесплатно.