1.1, InuYasha (??), 23:38, 21/02/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Не, забавно, конечно, а может, и удобно. Но каждый раз когда начинают сыпать сахар в синтаксис, возникает ситуация, когда одно и то же можно сделать 10ю способами. И всё.
Не понял немного про точки, но вообще, если правил не тысячи, "до оптимизации" было читать в столбик проще. IMHO, конечно.
meta iifname . ip saddr . ip daddr { eth1 . 1.1.1.1 . 2.2.2.3, eth1 .
1.1.1.2 . 2.2.2.5 } accept
| |
|
2.36, Аноним (36), 12:59, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Не понял немного про точки
это типа конкатенация такая
После оптимизации все, что в скобках можно выписать в столбик и дать имя. Тогда останется одна строчка с правилом и отдельно список значений, на соответствие которым это правило и будет проверять
| |
|
1.5, Ан (??), 01:10, 22/02/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
R
К сожалению, ничего лучше pf в мире брандмауэров до сих пор не придумано.
| |
|
2.10, Azudim (??), 02:16, 22/02/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Я вот тоже все поглядываю на замены, но что то не вижу альтернатив..
Вот где еще можно сделать читабельный конфиг, когда у тебя на хосте 2 внешних интерфейса, 5 локальных сетей, 5-6 инстансов OpenPVN со своими ифейсами + MPD который 50 PPPoE сессий поднимает, тонна пробросов на разные сервисы внутри и т.д.. ?
| |
|
3.14, Аноним (14), 05:50, 22/02/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Надо структурировать задачи и подойти к её решению со стороны zone based firewall.
nftables позволяет сконструировать что угодно.
| |
3.34, pfg21 (ok), 12:26, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
дык проще простого, пиши програмку с читабельным конфигом, которая компеляет ентот человекочитаблеьный конфиг в байт-код nft. и все будет оке.
| |
3.50, пох. (?), 10:18, 03/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ну если на мир смотреть через дырку в сортире, кроме жопы ничего и не видно.
> MPD который 50 PPPoE сессий поднимает
просто переходите на темную сторону и заканчивайте создавать проблемы пользователям.
Нет pppoe, нет половины проблемы. А остальное можно оставить в pf.
| |
|
2.19, Anon090807 (?), 09:42, 22/02/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
>К сожалению, ничего лучше iptables в мире брандмауэров до сих пор не придумано.
Поправил тебя. Можешь не благодарить.
P.S. И находятся же еще в мире странные существа, считающие это убожество - pf - пределом мечтаний.
| |
|
3.22, llolik (ok), 10:25, 22/02/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
>>К сожалению, ничего лучше iptables в мире брандмауэров до сих пор не придумано.
> Поправил тебя. Можешь не благодарить.
Ну если быть совсем точным, то iptables - это не брандмауэр, а набор управляющих утилит (как и сабжевый nftables). Брэндмауэр - это netfilter и он в ядре.
А по сабжу, лично мне nftables понравился, хотя и некоторые расширения iptebles пока не реализованы ( https://wiki.nftables.org/wiki-nftables/index.php/Supported_features_compared_ ). Конфиг пишется понятно и довольно интуитивно, через консоль писать километровые команды построчно - задача не обязательная. Из относительных минусов: документацию хотелось-бы более-менее консистентную, а не ситуационную wiki.
| |
3.41, Azudim (??), 14:49, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
А есть возможность с IPTABLES прослушать трафик на всех портах разом и выяснить какое правило iptables блокирует/разрешает прохождение пакета? Или просто, какие правила пакет проходит и на каких интерфейсах?
| |
|
4.45, Аноним (4), 18:31, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
modprobe nf_log
iptables -t raw -I PREROUTING <критерий выбора пакета> -j TRACE
| |
|
5.51, пох. (?), 13:04, 03/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
только nf_log_ipv4
(угу, очередное поулучшайкали)
sysctl который это активировал, соответственно, стал ненужен.
| |
|
|
|
|
1.6, Аноним (6), 01:15, 22/02/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +11 +/– |
Какой-то ад, по-моему. Пфом по функционалу оно не стало. А синтаксис для среднестатистического админа нетривиален. Вопрос знатокам: а зачем? Это под гуй тулзы делалось, чтоб для погроммистов мышкой писать окошки админам мышкой?
Пипитаблес звезд с неба не хватал, но был понятен и прозрачен. А для админа который без знаний погроммирования это важно.
| |
|
2.8, Аноним (8), 01:37, 22/02/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Я тут с дебиана 9 на 11 переводил VDSку, так и не разобрался, даже по статьям свежим не работает. В итоге через прослойку iptables сделал. Целый язык-фреймворк придумали. А надо было срочно перейти, т.к. я в команде chmod перед слешем точку не поставил.
| |
|
3.9, mumu (ok), 01:49, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
Через прослойку вполне нормальный подход. Все знакомые так делали. Импорт, экспорт, потом немного править руками (define-ы те же). Всё работает как часы.
Нет ни одной причины что-то там писать с нуля, кроме академической.
| |
|
4.11, Аноним (6), 02:48, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
Зная о том как пишутся костыли гхм прослойки и прочие трансляторы, я бы переписал с 0. Так спокойнее.
Зы. Посоны, война по ходу началась. Всем соболезную.
| |
|
5.30, Sultan (?), 11:22, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
Там сложность в том, что в iptables куча сторонних модулей, трансляцию синтаксиса которых...
| |
|
|
3.13, Аноним (14), 05:48, 22/02/2022 [^] [^^] [^^^] [ответить] | +/– | Кто ж виноват, что Вы не готовились заранее Да и правила iptables в большинстве... большой текст свёрнут, показать | |
|
4.20, Аноним (8), 09:44, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
А как сделать перенаправление с виртуального /dev/tap_vpn на внешний интерфейс? Т.е. подключаюсь к сети сервера, но чтобы в инет через него?
| |
|
5.25, Sultan (?), 10:34, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
Тут сумбур какой-то. Опишите задачу ясней. Половина ответа содержится в правильно сформулированном вопросе.
Если вы приходите по впн, терминируемом сервером, то нужен просто NAT типо такого:
table ip nat {
set lans {
type ipv4_addr
flags interval
auto-merge
elements = { 192.168.0.11,
192.168.0.12,
192.168.0.15-192.168.0.20 }
}
chain PREROUTING {
type nat hook prerouting priority dstnat; policy accept;
}
chain INPUT {
type nat hook input priority 100; policy accept;
}
chain POSTROUTING {
type nat hook postrouting priority srcnat; policy accept;
oif "eno2" ip saddr @lans counter masquerade
}
chain OUTPUT {
type nat hook output priority -100; policy accept;
}
}
| |
|
6.43, Аноним (43), 16:30, 22/02/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
При запуске сервера запускается это:
ip address add 192.168.250.1/24 dev tap_vb0
iptables -t nat -A POSTROUTING -s 192.168.250.0/24 -j SNAT --to-source 8x.14x.4x.20x
и как это через nft?
| |
|
7.47, Аноним (47), 11:07, 24/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
table inet filter {
...
set nat {
type ipv4_addr
flags interval
elements = {
192.168.1.0/24,
192.168.250.0/24
}
...
chain POSTROUTING {
type nat hook postrouting priority srcnat; policy accept;
oifname "OUT_INTERFACE" ip saddr @nat counter snat to 8x.14x.4x.20x
}
}
| |
|
|
|
|
|
2.12, Аноним (14), 05:38, 22/02/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
А по-моему, там всё отлично. Именованные списки sets и maps - очень удобны, жаль только, что не глобальны.
jump, так вообще - вещь, во многих случаях позволяющая избавиться от линейного поиска.
Вот подход линейных портянок pf и ipfilter без каких либо списков, на мой взгляд, не оптимальен - это подход а-ля Cisco acl 20-25 летней давности.
pf пригоден только как хостовый пакетный фильтр, и то часто хотелось бы большего.
| |
|
3.16, Sw00p aka Jerom (?), 06:52, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
>jump, так вообще - вещь, во многих случаях позволяющая избавиться от линейного поиска
пример в студию
| |
|
4.23, Sultan (?), 10:26, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
Точно так же, как в iptables. Синтетический пример:
iif eth0 ...
...
iif eth0 ...
iif eth1 ...
меняем на
iif eth0 jump eth0-forward
table eth0 eth0-forward {
ваши проверки
}
И пакеты не бегают по линейному списку
| |
|
5.33, Sw00p aka Jerom (?), 12:08, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
> iif eth0 ...
> ...
> iif eth0 ...
> iif eth1 ...
> меняем на
> iif eth0 jump eth0-forward
> table eth0 eth0-forward {
> ваши проверки
> }
> И пакеты не бегают по линейному списку
это что за пример? по какому линейному списку если правила форвардинга никак не пересекаются с правилами фильтрации. Давайте конкретный полный пример, как с реализацией в iptables так и с nftables.
| |
|
6.37, Sultan (?), 13:09, 22/02/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
Правила могут пересекаться как для разных интерфейсов, так и для сервисов.
В гугле всё есть - идите и берите "полный пример".
| |
|
|
|
|
|
|
2.21, User (??), 10:05, 22/02/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Сетевики, однако, на цисках давно, и даже sdn все нихрена не на голых *tables.
В общем, пионэры идите в...
| |
|
3.42, leap42 (ok), 16:22, 22/02/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В общем, пионэры идите в...
Пиоэнэры админят свои циски (привет 90е) с венды через pussy.exe, пока профи сидят на линухах (на которых тож внезапно есь огнестена, и давно перешли на жуники). Да и на серваках firewall в приличных конторах настраивает сетевик, а не кулсисоп, как в вашей богадельне.
/s
| |
|
4.46, User (??), 07:19, 23/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Пиоэнэры админят свои циски (привет 90е) с венды через pussy.exe,
Вы так говорите, как будто в этом есть что-то плохое)
> Да и на серваках firewall в приличных конторах настраивает сетевик, а не кулсисоп, как в вашей богадельне.
Ага. На всех трех. Настраивает и настраивает, настраивает и настраивает, наяривает... В перерывах между извлечением застрявшей бумаги из принтера и переносом монитора Зинаиды Васильевны от окна чтоб не дуло.
Firewall. На серваках. Сетевики. В 2022. Ъ.
В худшем случае это какой нибудь ansible по всему зоопарку делает, в более ином вообще ни файрволла ни серваков - одна оркестрашка в облаке...
| |
|
5.52, пох. (?), 13:09, 03/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
> одна оркестрашка в облаке...
и сплошной ALLOW для всех.
А потом нвидия такая "ой, даже верилоги поперли!" - кто бы мог подумать, да и было ли, чем.
(особенно учитывая что кульхацкеры ТОЖЕ не смогли - правда "зато у нас есть бэкап!")
| |
|
|
|
|
1.18, Аноним (18), 08:22, 22/02/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
что то не осилил как такую конструкцию втащить?
-A PREROUTING -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name DEFSSH --mask 255.255.255.255 --rsource
-A PREROUTING -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 4 --name DEFSSH --mask 255.255.255.255 --rsource -j DROP
а ещё я в ipset добавляю себя на несколько часов когда удачно по ssh захожу и соответственно есть правило
-A PREROUTING -m set --match-set temp_allow_hosts src -j ACCEPT
кто то пытался такое перетаскивать в nft?
| |
|
2.28, Sultan (?), 11:09, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
С ipset надо переписывать на named sets и named maps. Например:
-A PREROUTING -m set --match-set temp_allow_hosts src -j ACCEPT
надо переписать на named sets
table ip nat {
set temp_allow_hosts {
type ipv4_addr
flags interval
auto-merge
elements = { 192.0.0.0/24, 192.168.0.0/24,
192.168.10.0/24, 192.168.20.0/24,
192.168.251.0-192.168.254.255 }
}
...
chain POSTROUTING {
ip saddr @temp_allow_hosts counter accept
}
...
}
Изучайте документацию - там всё есть.
Есть и недостаток - пока переписаны не все модули.
| |
|
1.27, Аноним (27), 10:42, 22/02/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Шли годы...
А документации по nftables (нет, пара кривых, устаревших вики-страниц - это не она) так и не появлялось.
| |
|
2.53, пох. (?), 13:11, 03/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
как будто документация по iptables была чем-то хороша?
Последней качественной линуксной документацией был LARTC. Причем и тот вызывал плевки и перекошенные рожи кодерков "нэ так всэ это было, нэ так!" - поскольку писали его методом реверса, проб и ошибок. Кодеркам было некогда писать документацию, надо было быстрее-быстрее еще что-то поломать.
| |
|
|
2.40, Аноним (32), 14:02, 22/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
Я сказал демону sshd использовать SCTP. Работает. Но не тестировал пропускную способность по сранению с TCP.
| |
|
|