The OpenNET Project / Index page

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

Выпуск пакетного фильтра nftables 0.9.3

05.12.2019 11:56

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

На уровне ядра предоставляется лишь общий интерфейс, не зависящий от конкретного протокола и предоставляющий базовые функции извлечения данных из пакетов, выполнения операций с данными и управления потоком. Непосредственно логика фильтрации и специфичные для протоколов обработчики компилируются в байткод в пространстве пользователя, после чего данный байткод загружается в ядро при помощи интерфейса Netlink и выполняется в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters). Подобный подход позволяет значительно сократить размер кода фильтрации, работающего на уровне ядра и вынести все функции разбора правил и логики работы с протоколами в пространство пользователя.

Основные новшества:

  • Поддержка сопоставления пакетов по времени. Можно определить как диапазоны времени и дат, в которых будет срабатывать правило, так и настроить срабатывание в отдельные дни недели. Также добавлена новая опция "-T" для вывода эпохального времени в секундах.
    
         meta time \"2019-12-24 16:00\" - \"2020-01-02 7:00\"
         meta hour \"17:00\" - \"19:00\"
         meta day \"Fri\"
    
  • Поддержка восстановления и сохранения меток SELinux (secmark).
    
         ct secmark set meta secmark
         meta secmark set ct secmark
    
  • Поддержка map-списков synproxy, позволяющих определять более одного правила на бэкенд.
    
        table ip foo {
                synproxy https-synproxy {
                        mss 1460
                        wscale 7
                        timestamp sack-perm
                }
    
                synproxy other-synproxy {
                        mss 1460
                        wscale 5
                }
    
                chain pre {
                        type filter hook prerouting priority raw; policy accept;
                        tcp dport 8888 tcp flags syn notrack
                }
    
                chain bar {
                        type filter hook forward priority filter; policy accept;
                        ct state invalid,untracked synproxy name ip saddr map { 192.168.1.0/24 : "https-synproxy", 192.168.2.0/24 : "other-synproxy" }
                }
         }
    
  • Возможность динамического удаления элементов set-наборов из правил обработки пакетов.
    
         nft add rule ... delete @set5 { ip6 saddr . ip6 daddr }
    
  • Поддержка сопоставления VLAN по идентификатору и протоколу, определённых в метаданных интерфейса сетевого моста;
    
            meta ibrpvid 100
            meta ibrvproto vlan
    
  • Опция "-t" ("--terse") для исключения элементов set-наборов при отображении правил. При выполнении "nft -t list ruleset" будет выведено:
    
        table ip x {
            set y {
                    type ipv4_addr
            }
        }
    
    А при "nft list ruleset"
    
        table ip x {
            set y {
                    type ipv4_addr
                    elements = { 192.168.10.2, 192.168.20.1,
                                 192.168.4.4, 192.168.2.34 }
            }
        }
    
  • Возможность указания более одного устройства в цепочках netdev (работает только с ядром 5.5) для объединения типовых правил фильтрации.
    
         add table netdev x
         add chain netdev x y { \
            type filter hook ingress devices = { eth0, eth1 } priority 0;
         }
    
  • Возможность добавления описаний типов данных.
    
        # nft describe ipv4_addr
        datatype ipv4_addr (IPv4 address) (basetype integer), 32 bits
    
  • Возможность сборки CLI-интерфейса с библиотекой linenoise вместо libreadline.
    
         ./configure --with-cli=linenoise
    


  1. Главная ссылка к новости (https://marc.info/?l=linux-net...)
  2. OpenNews: Выпуск пакетного фильтра nftables 0.9.2
  3. OpenNews: Выпуск пакетного фильтра nftables 0.9.1
  4. OpenNews: Первый пригодный для пользователей релиз пакетного фильтра Nftables
  5. OpenNews: Разработчики Netfilter официально объявили инструментарий iptables устаревшим
  6. OpenNews: В состав ядра 4.18 одобрено включение нового пакетного фильтра bpfilter
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51980-nftables
Ключевые слова: nftables, firewall
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (102) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, pin (??), 12:20, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Богомерзкий json. Можно погибнуть в этом нагромождении скобочек, запятых и форматирования, разгребая уровни вложения.  
     
     
  • 2.2, Moomintroll (ok), 12:32, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Богомерзкий json.

    Это не JSON - не хватает двоеточий между параметром и значением и кавычек для строковых литералов. И массивы странные.

     
     
  • 3.5, Andrey Mitrofanov_N0 (??), 12:48, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> Богомерзкий json.
    > Это не JSON - не

    Богомерзкий n-ginx?

     
     
  • 4.19, Аноним (19), 14:13, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Бо-й nginx.
     
  • 2.3, крокодил мимо.. (?), 12:36, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Богомерзкий json.

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

     
     
  • 3.8, Аноним (8), 12:54, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    К нему в качестве фронтенда идет firewalld.

    firewall-cmd --add-service=https
    Чем плохо?

     
     
  • 4.10, Аноним (10), 13:08, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    firewalld по-умолчанию является фронтендом к iptables, который в свою очередь в современных дистрибутивах обычно заменен на генератор правил для nft.
    При этом часть важных вещей, типа ip forward, через штатный интерфейс firewalld вообще никак не решается, и предполагается что ты будешь использовать т.н. direct-правила. И я так и не понял, как там писать direct-правила для nft. Впрочем, пока что и не надо было.
     
     
  • 5.12, Аноним (12), 13:37, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А объясните дураку еще одну вещь.

    Если firewalld - фронтэнд к iptables/nftables - не суть важно в контексте вопроса, к чему именно, то почему, скажем, в свежеустановленном centos 8 нет ни iptables, ни nftables - их надо доустанавливать из реп. НО при этом есть firewalld, и он как-то работает!

     
     
  • 6.15, Аноним (10), 13:59, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я не изучал как именно это работает, но думаю он использует libxtables/libnftnl а не вызывает бинарники с параметрами.
     
     
  • 7.17, Аноним (12), 14:01, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо
     
  • 5.24, anon123 (?), 15:21, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А глянуть в официальную документацию религия не позволяет?
    https://firewalld.org/documentation/firewalld-structure+nftables.png
     
     
  • 6.26, Аноним (10), 15:28, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А я и заглянул. Вот сюда: https://firewalld.org/documentation/direct/options.html
    Про добавление нативных правил для nft там ничего нет. Там только про iptables/ebtables А встроенных команд самого firewalld в некоторых случаях недостаточно.
     
     
  • 7.40, anon123 (?), 18:37, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    https://firewalld.org/documentation/man-pages/firewalld.richlanguage.html
     
     
  • 8.48, Аноним (48), 20:05, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А теперь попробуй с помощью этих правил разрешить ip forward между интерфейсами ... текст свёрнут, показать
     
  • 4.21, pin (??), 14:54, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я не могу представить ни себя и ни другого админа, который будет делать через firewalld роутинг, NAT, PBR, sets и т.п. Почитай возможности iproute2 и iptables и станет понятно, что firewalld это малая часть всего этого на языке кутлху.

    Чем плох firewall-cmd --add-service=https ? По сравнению с print "Hello, world!" ни чем.

     
     
  • 5.23, Аноним (10), 15:04, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я делал роутер на firewalld и networkd. Просто потому что захотелось упороться, а не в продакшн. В принципе, это реально. Только неудобно жутко. Даже на susefirewall2 роутер получался проще и лучше.
     
  • 5.25, anon123 (?), 15:22, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там есть rich rules, которые всё это вполне позволяют
     
     
  • 6.27, pin (??), 15:37, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Именно. Они там есть потому, что firewalld только бестолковая обертка.  
     
  • 6.70, привет (ok), 10:55, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А нафиг оно нужно то если первоисточник (иптаблес)
    проще(логичнее) для понимания? Какой смысл изучения этой ерунды,
    когда надежнее и вернее залезть под капот?
     
     
  • 7.86, пох. (?), 16:28, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ну вот решение и найдено - удалить нахрен iptables, чтобы под капотом был набор непонятных проводов, датчиков, надписей "no user servicable parts", можно - прикрытый второй крышкой, с двумя дырками - для маслянного щупа и для залива омывайки. Первая опциональна.

     
  • 7.95, Аноним (95), 02:57, 08/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    firewalld решает 4 задачи - унификация интерфейса iptables nftables Даже если ... большой текст свёрнут, показать
     
     
  • 8.97, пох. (?), 07:16, 09/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    лол Теперь у вас есть ТРИ совершенно разных интерфейса и три нескучных синтакси... большой текст свёрнут, показать
     
     
  • 9.99, RHEL Fan (?), 10:20, 09/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В редхате чтобы не слушал кто-то другой делает SELinux ... текст свёрнут, показать
     
     
  • 10.101, пох. (?), 12:06, 09/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не, он такого не умеет в targeted mode, а остальные, собственно, для красоты, п... текст свёрнут, показать
     
  • 3.32, пох. (?), 16:18, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > где-то уже был ньюс о гуях на расте/джаве/etc.

    вы отстали от жизни. cockpit и html5 наше всьо!

    > копирующих внешность винфаервола

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

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

     
     
  • 4.79, _hide_ (ok), 13:34, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это был сарказм?
     
     
  • 5.87, пох. (?), 16:33, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нет, попробуй через iptables ограничить доступ, предположим, netcat'у только внутрилокалочными адресами. Не юзеру, а /bin/netcat ;-)

    advanced firewall - умеет.
    То есть хоть мелкий и малоэффективный, но шажочек в сторону настоящего application firewall - сделан. А в линухе был и останется бесполезный в 2k19 пакетный фильтр, теперь еще и настраиваемый только через интуитивно-приятные поделки.

     
     
  • 6.88, pin (??), 17:15, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > нет, попробуй через iptables ограничить доступ, предположим, netcat'у

    Сам придумал проблему, сам ее решай iptables'ом.

     
     
  • 7.96, Аноним (95), 03:08, 08/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это не надуманная проблема, это реальный блокер линукса на десктопе.

    "Разрешить/запретить приложению Х тип сетевого взаимодействия Y" - это задача на данный момент не выполнимая пользователем. Ему требуется обратиться к системному администратору чтобы:
    1. Написать правила для фаервола
    2. Написать оверрайд для политики SELinux

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

     
     
  • 8.100, RHEL Fan (?), 10:30, 09/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, в винде проблема другая, там пользователь тычет в разрешить не особо задум... текст свёрнут, показать
     
  • 6.90, имя (ok), 19:22, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > нет, попробуй через iptables ограничить доступ, предположим, netcat'у только внутрилокалочными
    > адресами. Не юзеру, а /bin/netcat ;-)

    А потом всем неткатам на машине. А потом произвольно придуманной группе процессов. А потом…

    xt_cgroup? xt_selinux?

     
  • 3.47, Аноноим (?), 19:53, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > копирующих внешность винфаервола?

    Лучше винбокс.
    Эх, вот бы "винбокс", работающий поверх стандартных линуксов, а не это удолбанное поделие в виде RouterOS.

     
  • 2.43, Аноним (43), 19:25, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Двоешник, это ни разу не json.
     
  • 2.50, all_glory_to_the_hypnotoad (ok), 22:29, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это вообще ни в каком виде не JSON. Кроме упомянутых : JSON характекрен заковычиванием всего. Стиль выше это си подобный синтаксис. На самом деле самый удобный если его правильно приготовить.
     

  • 1.4, Аноним (-), 12:44, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Оно, конечно, может быть и удобнее, но конфиг iptables читается куда легче. А это какой-то комшар.
     
     
  • 2.16, Аноним (16), 14:00, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А вы пишите для него правила в стиле iptables, раз вам так читабельнее.
    nft add rule filter input iifname eth0 .........
    nft add rule filter input iifname eth0 .........
    nft add rule filter input iifname eth0 .........
     
     
  • 3.22, Аноним (22), 14:55, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    жесть какая
     
  • 3.28, пох. (?), 15:55, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    вы, похоже, очередной вчерародившийся, "все старье нинужна,ниниужна!"

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

     
     
  • 4.51, Аноним (51), 23:04, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не знаю как кто, но я разобрался с nftables за 1 день. Его структурный синтаксис мне как-то приятней.
     
     
  • 5.61, пох. (?), 10:20, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    разобрался - это кое-как ман прочитал?
    Я так тоже могу, и не за один день, а за пять минут.

    > Его структурный синтаксис мне как-то приятней.

    пока не надо изменить одно правило из пятиста.
    Которое в этой куче мусора еще найти надо.

     
     
  • 6.75, InuYasha (?), 11:39, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого в nft изобрели даже сохраняемые комментарии.
     
     
  • 7.76, пох. (?), 12:18, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    угу, в nft, изобрели.

    как вы достали, вчерародившиеся...

     
  • 6.81, Аноним (16), 14:19, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Переделал все свои правила iptables в nftables. Получилось короче.
     
  • 4.91, sabitov (ok), 19:37, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы получить хоть что-то читаемое пришлось писать так:

    add rule  inet fw forward_udp \
            ip saddr @VM_list_4 \
            ip daddr @lan_list_4 \
                    log prefix "VM to LAN deny: " \
                    drop

    Т.е. одна табуляция -- условия проверки, две табуляции -- что делать. На iptables боевой фаервол занимает ~3100 строк, что за портянка будет если переписать его nft даже думать страшно.

    Ну и как вишенка, полное отсутствие перспектив с ipt_netflow https://github.com/aabc/ipt-netflow/issues/45

     
  • 2.74, InuYasha (?), 11:36, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Синтаксис другой, но хороший, легко читаемый. Есть возможность всё красиво отформатировать. А наличие переменных и инклюдов в конфиге - это вообще сказка.
     

  • 1.6, Аноним (8), 12:48, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Документация к нему есть?
    Не "записки на манжетах" в виде десятка разрозненных wiki-страниц с неактуальными данными, а вменяемое что-то?
     
     
  • 2.7, Аноним (7), 12:54, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Документацию у авторов отобрали санитары
     
  • 2.9, Аноним (10), 12:59, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    man 8 nft недостаточно хорош?
     
  • 2.29, пох. (?), 15:58, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    конечно нет, и не будет никогда, повторять подвиг автора lartc, которому ни одна с-ка из альтернативно-одаренных разработчиков не попыталась помочь, зато весело вопили "все не так и ты вообще ничего не понимаешь" - дураков уже двадцать лет не находится.

    Вот тебе ман, да, с сваленным в кучу миллионом команд и параметров, наслаждайся чтением (лучше - зазубри  наизусть, как положено каждому примерному (запрещенное слово), любителю обмазываться свежайшим).

    Интересно - iptables сначала сломают окончательно, потом удалят из ядра, или наоборот?

     
  • 2.73, InuYasha (?), 11:30, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Есть, но некоторые мелочи из неё неочевидны (например, что нельзя там одну хрень писать если есть одно ключевое слово и другую, если она после первой).
     

  • 1.11, Аноним (11), 13:14, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Годнота, раньше на iptables-ах пользовался ferm, на фряхе пф-ом. Перешел на nftables без проблем
     
  • 1.13, Аноним (16), 13:52, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Возможность сборки CLI-интерфейса с библиотекой linenoise вместо libreadline.

    Они хотят nftables и бздунам пропихнуть?

     
     
  • 2.14, Andrey Mitrofanov_N0 (??), 13:58, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>Возможность сборки CLI-интерфейса с библиотекой linenoise вместо libreadline.
    > Они хотят nftables и бздунам пропихнуть?

    "Базовую систему" (нет, не б3дунов, а винукс Фо.) избавляют от GPLv3 зависимостей.

    Микрософт сказал, что GPLv2== можно, а GPLv3+....  ....ещё не сказал -- нельзя.

     
     
  • 3.18, Аноним (16), 14:05, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что так-то, Микрософт же тепереча стал борцом с патентами, участник OIN ? В GPLv3 главное отличие - отношение к патентам.
     

  • 1.20, Иваня (?), 14:31, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Классный инструмент, спасиб
     
  • 1.30, Николашка (?), 16:04, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Помер "Линукс"!
     
     
  • 2.31, пох. (?), 16:13, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    скорее, "сделался вечноживой". Но в целом, да, тот линукс - давным-давно мертв.

    А тут - "новый стандарт", под мудрым руководством ibm.

     
     
  • 3.52, Аноним (51), 23:07, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Оно появилось лет за 5 - 6 до покупки Шляпы ещё.
     
     
  • 4.54, Аноним (54), 00:27, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Поболе.
     
  • 4.62, пох. (?), 10:21, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    причем тут "оно", это просто еще один червяк в трупе, тыщи их. Линух как нормальная юникс-система кончился уже тогда.
     
     
  • 5.82, Аноним (16), 14:34, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Конкретно, когда?

    P.S. Кто тебя заставляет использовать, к примеру, тот же systemd? Или складывается впечатление, что ты кроме в RHEL или в CentOS не могёшь.

     
     
  • 6.83, пох. (?), 14:58, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Или складывается впечатление, что ты кроме в RHEL или в CentOS не могёшь.

    я в неподдерживаемую маргинальную хрень - не могу, потому что работаю ей за деньги, а не по любви.
    И диверсий производить не могу - кому-то потом за мной разгребать. Поэтому если iptables заменяют враппером - будем использовать враппер, и наслаждаться глюками. Окончательно заменят firewalld+nft глюкалом - будем настраивать через rich rules. Потому что если вручную все это снести и заменить iptables - что-нибудь непременно сломается, не сегодня так завтра. А оно должно работать и поддерживаться специалистом, вероятно, из вчера-родившихся, поскольку я невечен. (зато он помнит наизусть стопиццот заклинаний для nft и знает как сгенерить имя для mount.unit)

    Ну и собрать на коленке свой дистрибутив - тоже уже не очень, ни времени, ни вдохновения. Поэтому для себя, помимо дорабатывающих свой век на древнем железе legacy - где-то freebsd, где-то 2008R2, а где-то уже скоро и 2019 будет.
    И десяточка на недоноуте, потому что uefi32 и тачскрин не особенно оставляют выбор.

    А линуксу - место останется только на кофемолках.

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

     
     
  • 7.102, сосед (?), 17:17, 11/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если есть волкодавы - можешь к нам приехать - волков бить - по 20 тр за шкуру платят)))
     

  • 1.33, Аноним (-), 17:15, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на него можно перетащить правила iptables не снимая свитера (вроде был какой то конвертер, но насколько он точный?)? И есть ли смысл, или сабж пока шибко сырой?
     
     
  • 2.36, пох. (?), 18:08, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    конвертер год назад, когда я попытался им воспользоваться, ниасилил тривиальный набор правил, по-моему, даже не имевших вложенных цепочек.

    Полагаю, это все, что нужно о нем знать.

     
     
  • 3.71, InuYasha (?), 11:28, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    я тоже мануально переходил. но синтаксис очень понравился, хотя есть некоторые неочевидные места и хреновый вывод ошибок. в целом стало удобнее ipt.
     
     
  • 4.84, пох. (?), 15:00, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > я тоже мануально переходил. но синтаксис очень понравился, хотя есть некоторые неочевидные
    > места и хреновый вывод ошибок. в целом стало удобнее ipt.

    с этого места поподробнее - что стало "удобнее", кроме чудовищного синтаксиса, непригодного для нормальной работы из шелла? (впрочем, пора забывать про  нее вообще)

     
  • 4.89, pin (??), 17:23, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > хреновый вывод ошибок

    о да, они все за одно

    # systecmt start proftpd

    # echo $?

    0

    # pgrep proftpd

    # echo $?

    1

     
     
  • 5.98, пох. (?), 10:03, 09/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    вы просто отсталый замшелый мамонт, неспособный зазубрить новый ненужный интерфейс - надо было journalctl "_SYSTEMD_UNIT=proftpd.service" -xe (как же ж удобно этот бред набирать) - и вы бы увидели... result is RESULT!

    И вообще, вон отсюда со своим замшелым ftp. Оно еще и в модном-современном файрволе застревает, и вообще устаревшее небебезопастное ненужно!

    P.S. на самом деле - systemctl status proftpd - таки умеет exit codes, причем их существенно больше вариантов 0/1 - просто мы ж такие все из себя параллельные-быстрые, что не имеем возможности синхронно запустить юнит - хотя очень старались и даже отдельный свитч для асинхронного запуска предусмотрен, отключенный по умолчанию. Ну нишмагла, шибко торопилась.

     

  • 1.34, Olololo (?), 18:04, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Есть VPN провайдер с кучей серваков по всему миру, IP адреса и подсети у них не пересекаются.
    У меня канал 100 мбит/с, один коннект openVPN к серваку даёт максимум 25 мбит/с.
    Хочу запустить несколько одновременных openVPN подключений к разным сервакам, чтобы одновременно использовать эти коннекты и тем самым повысить общую скорость. В Компе стоит или одна или две сетевухи на выбор.
    Проблема в том, что если запустить второй коннект с VPN серваку то openVPN переписывает правила маршрутизации под себя и работает только последний запущенный коннект, а остальные коннекты ничего через себя не пропускают.
    Вопрос, как решить задачу? Задача вообще решаема?

    p.s. пример вывода в логе второго коннекта openVPN где он переписыват правила первого коннекта openVPN

    /sbin/ip route del XX.XX.138.195/32
    /sbin/ip route del 0.0.0.0/1
    /sbin/ip route del 128.0.0.0/1
    /sbin/ip addr del dev tun1 10.7.0.3/24
    /sbin/ip link set dev tun1 up mtu 1500
    /sbin/ip addr add dev tun1 10.7.3.2/24 broadcast 10.7.3.255
    /sbin/ip route add XX.XX.138.195/32 via 192.168.1.1
    /sbin/ip route add 0.0.0.0/1 via 10.7.3.1
    /sbin/ip route add 128.0.0.0/1 via 10.7.3.1

     
     
  • 2.35, Olololo (?), 18:05, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Похожая идея описана тут, но у меня нету никаих ошибок при запуске второго коннекта, он просто переписывает все правила под себя.

    https://airvpn.org/entry/?aek_v=14&aek_id=a643f4c04a43bda89f3685cb66f21661&aek

     
  • 2.37, Olololo (?), 18:10, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это лог первого коннекта

    /sbin/ip link set dev tun0 up mtu 1500
    /sbin/ip addr add dev tun0 10.7.3.3/24 broadcast 10.7.3.255
    /sbin/ip route add XX.XX.244.59/32 via 192.168.1.1
    /sbin/ip route add 0.0.0.0/1 via 10.7.3.1
    /sbin/ip route add 128.0.0.0/1 via 10.7.3.1

     
  • 2.38, пох. (?), 18:17, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вопрос, как решить задачу? Задача вообще решаема?

    нет, нерешаема.
    То есть была бы решаема (с некоторыми нехорошими глюками), если бы ты общался с хостом в той же vpn-сети.
    А ты лезешь через nat вовне vpn, в результате, даже если бы у тебя получилось - у тебя syn уедет через один выходной _белый_ ip адрес, а следующий за ним пакет - через другой, и будет уронен на пол получателем, поскольку с тем-то айпишником он еще не знаком.

    Но вот заменить
        /sbin/ip route add 0.0.0.0/1 via 10.7.3.1
        /sbin/ip route add 128.0.0.0/1 via 10.7.3.1
    на две разные половинки - вероятно можно.
    Хинт: команды ip route можно набирать самому, а openvpn'ы, полагаю, вполне можно развесить на _разные_ туннели.

    У тебя оба лезут в tun1

     
     
  • 3.39, Olololo (?), 18:23, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >У тебя оба лезут в tun1

    Нет, они лезут правильно один в tun0, другой в tun1, это просто лог старый. Тем не менее оно все равно не работает.

    >Но вот заменить
    >/sbin/ip route add 0.0.0.0/1 via 10.7.3.1
    >/sbin/ip route add 128.0.0.0/1 via 10.7.3.1
    >на две разные половинки - вероятно можно.

    Чем это будет полезно?

     
     
  • 4.44, пох. (?), 19:43, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет, они лезут правильно один в tun0, другой в tun1, это просто лог старый.

    тогда иди в "форумы" (тут и не место, и сотрут быстро) и приведи там нормальные логи, целиком и из одной сессии, а заодно и конфиги openvpn.
    Гадать на поддельных логах собранных из разных кусков, что на самом деле у тебя произошло, лично мне влом.

    > Чем это будет полезно?

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


     
  • 3.41, Olololo (?), 18:41, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если в комп поставить несколько сетевых карт, подключить их к самодельным маршрутизаторам на rosberyPI (одна сетевуха к одному rosberyPI маршрутизатору) на которых на каждом будет поднят свой отдельный VPN подключённый к отдельному серваку.
    Такой вариант позволит одновременно использовать эти VPN серваки и суммировать скорость?
     
     
  • 4.42, Урри (?), 18:45, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    RaspberryPI
     
  • 4.45, пох. (?), 19:45, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    такой вариант лишь продемонстрирует твою криворукость. Все можно сделать в пределах одного физического устройства и единственной сетевой карты с тем же самым результатом (что-то будет работать, что-то, из-за ната, нет).
     
  • 4.46, Аноним (46), 19:47, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    росбери его на пи...
     
  • 4.49, Аноним (49), 22:10, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Откуда у людей такие наркоманские идеи?
     
     
  • 5.63, пох. (?), 10:23, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    люди ниасилили пяток страниц майкрософтовского учебника "что нужно знать про tcp/ip каждому недоучившемуся студенту, мечтающему о карьере админа". Не говоря уже о более сложных книжках.
    Изучали предмет по манам, вон как там в тредике выше. Что делает ip ro ad - знают, но смысл этих действий - понимают очень и очень приблизительно.

    А сон разума всегда рождает чудовищ.

     
  • 2.55, Аноним (55), 01:01, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проблема решается, используя VDS и баундинг. Просто, вместо реальных сетевых интерфейсов, у тебя будут ВПНы. Гугли на тему: bonding iproute2. Во времена, когда провайдеры были "неторопливыми и дорогими", решал так проблему подключения через двух провайдеров. Кстати, тебя еще ожидают незабываемые квесты с очередью пакетов и балансировкой нагрузки. Удачи!
     
     
  • 3.64, пох. (?), 10:24, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вы бредите.
     
     
  • 4.85, Аноним (55), 15:13, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не понимаете.
     
  • 2.57, Ананимас009 (?), 04:55, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если мне не изменяет склероз маршрут прописывается лишь если это указано в конфиге, можно не прописывать маршрут по умолчанию и воспользоваться советом поха разделив весь интЫРнет на колич4ство подсетей,кратных количству аплинков и прописать каждому его маршрут.
    Вообще все это полная хрень и нормально решается лишь покупкой AS и BGP, как у взрослых дядь.
    А все эти костылики с самопальным разделением и балансировкой годится лишь для обучения и понтов.

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

     
     
  • 3.58, пох. (?), 08:16, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Если мне не изменяет склероз маршрут прописывается лишь если это указано в конфиге

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

    > Вообще все это полная хрень и нормально решается лишь покупкой AS и BGP, как у взрослых дядь.

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

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

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

     
     
  • 4.69, Olololo (?), 10:54, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >если присмотришься, там оно тунель сносит и заново создает, а не толко маршрут по умолчанию подменяет

    tun оно не сносит, во втором логе нужно заменить tun1 на tun0. Оно только маршрут подменяет, но одновременно висят оба tun0 и tun1, но используется только последний созданный.

    >короче, сперва руки надо выпрямить

    с руками всё нормально, я использовал только обычную команду (см. ниже) на запуск VPN, всё остальное openVPN сам делает.

    sudo openvpn  /etc/openvpn/tcp/dg43.tcp.ovpn

     
  • 3.68, Olololo (?), 10:49, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >скороть упирается в канал, предоставляемый провайдером (с чего ты вообще взял что пров обязан предоставлять тебе 100мбит круглые сутки, гарантированная скорость обычно оговаривается отдешьно и стоит совсем другие шекели, не чита домашниму итОрнету за копейки)

    У меня стоит машина на Linux и рядом iMac. Машина на Linux через один из VPN серваков выкачивает для торрент на скорости в 1.2 мбайт/с, через второй VPN сервак выкачивает на скорости 2.2 мбайт/с. iMac без всякого VPN выкачивает torrent на скорости 8-9 мбайт/с. Всё это проверялось много раз и почти одновременно.

     

  • 1.53, ф (?), 00:20, 06/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чейта как-то стремно...

    надеюсь iptables еще долго не выкинут

     
     
  • 2.56, Аноним (56), 04:01, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Там net-tools уже выкидывают. :(

    Сабж я так и не осилил, но думаю рано или поздно придётся разобраться тоже.

     
     
  • 3.59, Аноним (10), 09:00, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Там net-tools уже выкидывают. :(

    Их уже 20 лет выкидывают и никак выкинуть не могут. С iptables так же будет.

     
     
  • 4.65, пох. (?), 10:26, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    net-tools сломать очень сложно - слишком примитивен (в отличие от используемого в iproute) интерфейс ядра. А iptables сломают легко и непринужденно.

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

     

  • 1.60, Аноним (60), 09:09, 06/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > выполняется в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters).

    больше виртуальных машин. Что-то линукс быстро работает... аж подозрительно.

     
     
  • 2.66, пох. (?), 10:28, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    и эксплойтов этой х-ни давно что-то не публиковали...

    хотя бы kernel.unprivileged_bpf_disabled=1, надеюсь, все уже включили?

     
     
  • 3.67, Аноним (60), 10:38, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    мне больше интересно при каком PPS оно загнется.
     
     
  • 4.72, пох. (?), 11:30, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    зависит же ж, что ты на нем наbpf'ал. iptables-то тоже можно все собрать в один огромный плоский список, и потом плакать что все медленно и пакеты теряет.

    Причем, не удивлюсь, если в bpf-исполнении такой список будет еще медленней ;-)

     
     
  • 5.78, Ordu (ok), 13:04, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > не удивлюсь, если в bpf-исполнении такой список будет еще медленней

    Я не удивлюсь, если он окажется быстрее. Без тестов сложно сказать, как оно будет, потому что цепочка вызовов предкомпилированных фильтров и скомпилированная цепочка фильтров -- это заметно разные вещи. С чисто теоретической точки зрения можно предположить, что компиляция в этом случае открывает широкие просторы для оптимизации -- можно же и ненужные дублирующиеся телодвижения выкинуть, уменьшив таким образом нагрузку на проц, и локальность кода повысить, уменьшив таким образом нагрузку на кеш. А то, что это байткод, дык его потом можно в ядерный jit-компилятор засунуть, и получить native-код, который делает то же самое.

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

     
     
  • 6.80, пох. (?), 13:46, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > С чисто теоретической точки зрения можно предположить, что компиляция в этом случае открывает
    > широкие просторы для оптимизации

    угу, а так же для очень нетривиального траблшутинга, когда компилятор что-то тебе такое наоптимизирует, совсем тобой неожидаемое. А отладчик bpf - это нечто, безусловно очень простое, понятное и доступное (его уже вообще хотя бы - пишутъ?)

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

    > То есть тут ситуация, в которой вообще сложно удивляться

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

     
     
  • 7.92, Ordu (ok), 21:22, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Компилируй для траблшутинга без оптимизаций, проблем-то Я всегда в сложных случ... большой текст свёрнут, показать
     
     
  • 8.93, Аноним (93), 23:09, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе не надоело каждый раз портянки бредового текста строчить Какие тесты, како... текст свёрнут, показать
     
     
  • 9.94, Ordu (ok), 10:14, 07/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чужие ошибки -- это конечно ленивый способ учиться, но люди тупые, они даже ошиб... текст свёрнут, показать
     
  • 2.77, Ordu (ok), 12:56, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Виртуальные машины -- это круто, это повышает надёжность. На компьютере Apollo крутилось от 5 до 7 виртуальных машин, даже несмотря на то, что там и так вычислительных ресурсов было с гулькин нос.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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