The OpenNET Project / Index page

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

Вышла версия ipset 5.0 с поддержкой IPv6. Релиз библиотеки libmnl 1.0.0

20.12.2010 12:00

Jozsef Kadlecsik, ведущий разработчик проекта ipset, объявил о выходе нового релиза — ipset 5.0.

Ipset — компонент универсального фреймворка фильтрации и преобразования пакетов netfilter (последний является частью ядра linux). В его задачу входит хранение больших списков IP-адресов и подсетей, MAC-адресов, TCP/UDP-портов с возможностью быстрого поиска по ним. Этими списками можно управлять вручную (при помощи команды ipset), в пакетном режиме (чтение из файла) или автоматически согласно правилам netfilter (iptables -j SET), срабатывающим при прохождении определенных пакетов. Проверку адресов/портов на наличие в списках тоже можно проводить непосредственно из netfilter (iptables -m set). Таким образом, ipset позволяет, например, создавать и сопровождать блэк-листы адресов, уличенных в атаках или попытках сканирования служб.

Ключевые новшества пятой версии:

  • Полная поддержка семейства адресов IPv6 (предыдущие версии ipset поддерживали только IPv4).
  • Устранено ограничение для списков типа ipporthash, ipportiphash и ipportnethash, предписывавшее, что адреса в пределах одного списка должны принадлежать одному блоку /16.
  • Устранено ограничение для списков типа ipporthash и ipportnethash, запрещавшее сохранять в них адреса хоста, на котором работает ipset.
  • Для всех типов списков, сохраняющих номера портов, теперь поддерживается сохранение протокола (TCP/UDP/ICMP, в последнем случае вместо номера порта сохраняется пара значений тип/код ICMP).
  • Для всех типов списков реализована поддержка таймаутов. По истечении указанного количества секунд с момента добавления, запись автоматически удаляется из списка. (В предыдущей версии ipset 4.x таймауты поддерживались только в типе iptree.)
  • Поддерживается добавление/удаление нескольких записей в рамках одной транзакции.
  • Для связи ядро-userspace теперь используется протокол Netlink.
  • Алгоритм хэширования hash-типов значительно оптимизирован по потреблению памяти.
  • Улучшен синтаксис (например, вместо ipset -N foo macipmap --network 192.168.0.0/16 теперь можно написать ipset create foo bitmap:ip,mac range 192.168.0.0/16), при этом синтаксис предыдущих версий также поддерживается.

Надо заметить, что в составе netfilter уже существует похожий инструмент — модуль recent. Однако, стоит отметить ряд важных различий между ipset и recent. Прежде всего, recent не поддерживает работу с портами и MAC-адресами — он может сохранять только IP-адреса. С другой стороны, для каждого адреса recent хранит историю попыток доступа, что позволяет формировать правила вида «если с этого адреса в течение последних 5 секунд поступило не менее 3 пакетов...», в то время как в ipset подобной функциональности нет и пока не планируется (хотя есть поддержка таймаутов для записей, значительно расширенная в новом релизе).

Кроме того, recent обычно используется для работы со сравнительно небольшими списками адресов (до нескольких тысяч), в то время как ipset отлично оптимизирован как для малых, так и для больших списков (до 65535 записей). Таким образом, recent лучше подходит для таких задач, как организация защиты через port knocking, ограничение количества попыток доступа к заданной службе (хотя с этой работой обычно справляется модуль hashlimit), определение сканирования портов (подробнее о применениях recent можно почитать в OpenWiki или на Википедии), а ipset более эффективен для работы с обширными блэк-листами и другими разновидностями сетевых списков контроля доступа.

Предыдущие версии ipset, включая ветку 4.x, так и не были приняты в ядро, однако в той же 4.x поддерживалась возможность собрать соответствующие модули отдельно, без пересборки ядра, что значительно упрощало процесс установки ipset. Пятая версия, из-за использования Netlink, более жестко связана с ядром, и для ее работы требуется обязательная модификация заголовков ядра с последующей пересборкой. С другой стороны, в пятой версии учтены все замечания и пожелания разработчиков ядра, и поэтому можно рассчитывать на ее скорое включение в основную ветку разработки.

И в завершение, стоит упомянуть менее масштабную новость — выход первой версии библиотеки libmnl (minimalistic netlink library), предоставляющий компактный, простой и эффективный низкоуровневый инструментарий для работы с протоколом Netlink. Разработку libmnl возглавляет член Netfilter Core Team Pablo Neira Ayuso. Библиотека распространяется под лицензией LGPLv2+. Кстати говоря, упомянутый выше ipset 5.0 стал первым проектом, использующим libmnl.

  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. Официальный сайт проекта ipset
  3. Анонс релиза libmnl 1.0.0
  4. Домашняя страница проекта libmnl
Автор новости: Sergey Ptashnick
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/29054-netfilter
Ключевые слова: netfilter, iptables, ipset, linux, ipv6
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Толя Вихров (ok), 16:31, 20/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    IPv6 идет в массы! Долой серый NAT !
     
     
  • 2.4, solmedas (ok), 17:02, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я все ни как не осилю как с ipv6 делать корпоративные сети, где надо "регулировать" доступ в инет? как делать DMZ если все машины получат белые ip?
    а вообще знающие люди дайте линк на вменямый ман по IPv6
     
     
  • 3.7, non anon (?), 17:30, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >я все ни как не осилю как с ipv6 делать корпоративные сети, где надо "регулировать" доступ в инет?

    Внезапно, рулить разрешениями на шлюзе, как и в эпоху IPv4.

    >как делать DMZ если все машины получат белые ip?

    ЗАЧЕМ, зачем делать DMZ, если у всех машин белые адреса?

    Автор, вы жжоте напалмом.

     
     
  • 4.13, Aquarius (ok), 17:51, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    IMHO, DMZ вовсе не для цветовой дифференциации частей сети ввели
     
     
  • 5.17, non anon (?), 18:01, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > IMHO, DMZ вовсе не для цветовой дифференциации частей сети ввели

    DMZ ввели от плохой, нищей, ужасной жизни.

    В мире, где нет дури под названием "нат" и "проброс", управление как исходящими, так и входящими соединениями происходит легко и непринужденно.

     
     
  • 6.23, е2 (?), 21:11, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +6 +/
    DMZ это сегмент сети находящийся между двумя или более межсетевыми экранами,  нужен чтобы разграничить LAN,WAN и сервисы в LAN, которые должны быть доступны как WAN так и в LAN, общая цель DMZ повышение безопасности.

    Проброс портов, совсем нипричём, в DMZ могут быть сервисы работающие по белым айпишникам, и кстати NAT бывает не только PATом, и DMZ может работать вовсе без NAT.

     
  • 6.26, Аноним (-), 23:12, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >DMZ ввели от плохой, нищей, ужасной жизни.

    DMZ ни с чем не спутал?

     
  • 3.24, е2 (?), 21:16, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > я все ни как не осилю как с ipv6 делать корпоративные сети,
    > где надо "регулировать" доступ в инет? как делать DMZ если все
    > машины получат белые ip?

    http://ru.wikipedia.org/wiki/NAT

    > а вообще знающие люди дайте линк на вменямый ман по IPv6

    http://www.google.ru/search?&q=ipv6

     
  • 2.11, 568756784 (?), 17:45, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    уже лет десять этот ваш ipv6 всё идёт и идёт в массы. а массы его так до сих пор и не видели
     
     
  • 3.25, Aquarius (ok), 21:21, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > уже лет десять этот ваш ipv6 всё идёт и идёт в массы.
    > а массы его так до сих пор и не видели

    это все потому, что массы его видеть не очень хотят, собственно, они и не догадываются о его существовании

     
     
  • 4.29, Vitold S (?), 03:05, 21/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Дык дело-то не в массах, а пока что в UPLINK провайдерах. Мой провайдер честно пока говорит IPv6 дасть не могем нету у нас прямого и чистого IPv6 тока через жопу, а раз так то и сами могли бы настроить у себя там какой там хотите шлюз и использовать себе... Опять же не решена проблема со статическими IP - не произведен передел пространства...
     
     
  • 5.36, e2 (?), 19:02, 25/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Дык дело-то не в массах, а пока что в UPLINK провайдерах. Мой
    > провайдер честно пока говорит IPv6 дасть не могем нету у нас
    > прямого и чистого IPv6 тока через жопу,

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

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

     
  • 4.30, Lmn (?), 09:15, 21/12/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > это все потому, что массы его видеть не очень хотят, собственно, они
    > и не догадываются о его существовании

    Массы догадываются и знают, но 32 бита тупо проще запомнить в моск чем 128. Надо качать память плюс привычка, опять же. :)

     
     
  • 5.31, User294 (ok), 15:51, 21/12/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Массы догадываются и знают, но 32 бита тупо проще запомнить в моск чем 128.

    1) На самом деле - меньше чем 128 надо запоминать в общем случае.
    2) Много айпи вы все-равно не запомните. А сокращенную форму и/или свою подсеть - почему бы и нет?
    3) А если айпи на всех не хватит - толку то запоминать? Ну вот опсосы выдают натнутые айпи. Потому что даже если бы они захотели давать нормальные, девайсов на планете уже больше чем 2^32. Поэтому опаньки. А наченый айпи что запоминай, что нет. Инвалид он. Недоступный снаружи вообще.

     
  • 3.33, Кырыл (?), 16:29, 21/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Увидели и увидят. На персональных мобильных устройствах.
     

  • 1.2, Аноним (-), 16:41, 20/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И зачем тебе лично IPv6?
     
     
  • 2.3, Толя Вихров (ok), 16:47, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Мне лично для того что бы к моим друзьям можно было приконекчиваться через VNC и настраивать им линукс.
     
  • 2.8, non anon (?), 17:31, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И зачем тебе лично IPv6?

    Чтобы не чувствовать себя ослом, страдаю дурью с пробросом портов.

     
     
  • 3.9, non anon (?), 17:32, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >страдаю дурью с пробросом портов.

    страдая, конечно же.

    Также можно не страдать дурью под названием nat.


     
     
  • 4.27, Аноним (-), 23:12, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да-да - с появлением IPv6 firewall'ы отменят напрочь! :)
    Как была твоя сутьба в руках неворк-админа, так и будет.

    PS: Для наивных - IPv6 пойдёт в массы вот-вот. Но в основом - на мобилах. Остальные не очент то и хотели :)

     
     
  • 5.32, User294 (ok), 15:57, 21/12/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Да-да - с появлением IPv6 firewall'ы отменят напрочь! :)

    Извините, одно дело - файрвол, который правила применяет, а другое - имение мозга с трансляцией айпишников. Нат - много брейнфака на ровном месте. Патчинг айпишников в пакетах на лету - по сути форма хакерства. Это так и надо, чтобы шлюз занимался вместо применением правил каким-то левым хацкингом пакетов? Я уж молчу о том что трекинг тысяч и тысяч соединений жрет немало ресурсов.

    > Как была твоя сутьба в руках неворк-админа, так и будет.

    При чем тут нетворк админы? Нетворк-админам не придется бодаться с трансляцией адресов. Если цель написать правила на шлюзе - значит надо писать правила на шлюзе. Почему при этом всенепременно надо бодаться с трансляцией адресов? oO

    > - на мобилах. Остальные не очент то и хотели :)

    Ну да, конечно, а много вы насервируете на натом, например? P2P тоже лучше работает в полноценном режиме, etc :)

     
     
  • 6.34, nuclight (ok), 23:52, 23/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> Да-да - с появлением IPv6 firewall'ы отменят напрочь! :)
    > Извините, одно дело - файрвол, который правила применяет, а другое - имение
    > мозга с трансляцией айпишников. Нат - много брейнфака на ровном месте.
    > Патчинг айпишников в пакетах на лету - по сути форма хакерства.

    Да-да, то-то уже выпущен пропозал NAT для v6 (RFC 5902).

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

    Ну будет вместо них отслеживание соединений на белые адреса. Абсолютно никакой разницы. А конкретно в линуксе это даже тот же самый conntrack будет делать.

    >> - на мобилах. Остальные не очент то и хотели :)
    > Ну да, конечно, а много вы насервируете на натом, например? P2P тоже
    > лучше работает в полноценном режиме, etc :)

    Давно уже есть UPnP IGD и NAT-PMP, всё работает.

     
     
  • 7.39, User294 (ok), 22:18, 26/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Да-да, то-то уже выпущен пропозал NAT для v6 (RFC 5902).

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

    > Ну будет вместо них отслеживание соединений на белые адреса. Абсолютно никакой разницы.
    > А конкретно в линуксе это даже тот же самый conntrack будет делать.

    Если кому-то надо stateful инспекцию соединений и никак иначе - будет. Со всеми вытекающими, типа кушания ресурсов на все это. Только вот утверждение что всем вокруг было надо именно так - неверно. А потом начинается геморрой с пробрасыванием портов, DMZ, анализом почему криво работает половина софта и прочая, при том что целью было всего-то раздать интернет на эн машин. Файрволить должен файрвол, а дальше уже админовское дело какие там рулесы должны обитать.

    > Давно уже есть UPnP IGD и NAT-PMP, всё работает.

    Работать то оно работает, вопрос только в том как. И, кстати, вам не кажется что это - тоже те еще костыли, со своими проблемами? При том довольно извращенные, да еще и требующие поддержки в программах (стоит ли говорить что не любая программа их поддерживает сразу и без проблем?). Сначала создали себе проблем а потом начали думать как же с ними бороться. И вообще, достаточно в багтрекеры программ которые ими пользоваться посмотреть, чтобы понять что не все так уж и хорошо в этом королевстве. Грубо говоря, NAT ломает изначально задуманную логику работы протокола. Что гарантирует ряд дурацких проблем.

     
     
  • 8.42, nuclight (ok), 22:40, 08/01/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Можно было банально прочитать, гы Пока IPv6 использует всего несколько проценто... текст свёрнут, показать
     
  • 6.37, e2 (?), 19:04, 25/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> Да-да - с появлением IPv6 firewall'ы отменят напрочь! :)
    > Извините, одно дело - файрвол, который правила применяет, а другое - имение
    > мозга с трансляцией айпишников. Нат - много брейнфака на ровном месте.

    IPv6  NAT не отменяет, более того он для него является необходимым, хотя бы для трансляции IPv4 <->IPv6

     
     
  • 7.40, User294 (ok), 22:20, 26/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > IPv6  NAT не отменяет,

    Только делает ненужным в практически всех случаях. А файрволить должен все-таки файрвол. Сам по себе NAT - довольно дефективный костыль, не присутствующий в изначально задуманной логике протокола.

    > более того он для него является необходимым,

    Где это написано?

    > хотя бы для трансляции IPv4 <->IPv6

    А это вообще временный костыль. В IPv6-only сетях все это не понадобится.

     
  • 2.28, rm_ (ok), 00:55, 21/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Мне вот зачем: http://version6.ru/why
     

  • 1.5, Денис (??), 17:25, 20/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Приведите пример пожалуйста с применением ipset таймаутов
     
     
  • 2.10, non anon (?), 17:37, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Приведите пример пожалуйста с применением ipset таймаутов

    В ipset 4 это выглядит так:

    # ipset -N test iptree --timeout 10
    # ipset -A test 12.34.56.78 && for i in {1..3}; do ipset -L test; echo ---; sleep 5; done
    Name: test
    Type: iptree
    References: 0
    Header: timeout: 10
    Members:
    12.34.56.78,9

    ---
    Name: test
    Type: iptree
    References: 0
    Header: timeout: 10
    Members:
    12.34.56.78,4

    ---
    Name: test
    Type: iptree
    References: 0
    Header: timeout: 10
    Members:

    ---

     
     
  • 3.12, Денис (??), 17:46, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо
     
  • 3.20, Денис (??), 18:47, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Может быть вы подскажите рабочее решение как с помошью ipset ограничить количество пользовательских сессий, а то conntrack несколько прожорлив по отношению к CPU, думаю, что ipset будет гораздо производительней, только опыта работы с ipset пока нет
     
     
  • 4.21, non anon (?), 19:09, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >как с помошью ipset ограничить количество пользовательских сессий

    Нет, с помощью ipset такое сделать не получится. ipset и conntrack - это разные инструменты для решения *разных* задач.
    Некое подобие conntrack можно сотворить на базе hashlimit или recent, но это будет довольно грубый костыль. (Конкретные команды сильно зависят от задачи.)

     
     
  • 5.22, Денис (??), 20:09, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Жаль, очень не хватает БЫСТРОГО и не ресурсоемкого инструмента для ограничения одновременных установленных соединений в Linux
     

  • 1.6, non anon (?), 17:28, 20/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Какие-то нехорошие люди скопипастили новость, а ссылку на источник не поставили http://tcpserver.com/viewtopic.php?f=3&t=26

    Давайте дружно покажем на них пальцем и скажем FFFFFFUUUUUUU~!

     
     
  • 2.14, alex (??), 17:53, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А то что там ссылка на opennet как на первоисточник это ничего?
     
     
  • 3.15, non anon (?), 17:54, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь добавили. Автор умеет воровать осторожно =)
     
  • 3.16, non anon (?), 17:58, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    И да, если вы посмотрите на соседние новости с того же "ресурса", вы обнаружите много интересных вещей.

    # Проверим, с какой скоростью этот любитель копипасты будет расставлять ссылки =)

     

  • 1.18, Ветоль Дычь (?), 18:23, 20/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    тебе надо основы почитать... реально конечно хорошо бы новую литературку на русском языке... но можно еще запастись тем что можно найти в инете, всё вместе, все эти книги и всё по ним читать... в одних книгах хорошо изложен материал, но он устарел, в других более новая информация, но млин написано коряво, ну и вобщем так далее... в итоге прокачаешь свой skill
     
     
  • 2.19, Ветоль Дычь (?), 18:27, 20/12/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    solmedas, это для тебя всмысле мессадж
     

  • 1.35, Аноним (-), 10:48, 24/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Прогрессивный мир уже лет 5 поддерживает 6-й. Начиная с висты еще
     
     
  • 2.38, e2 (?), 19:20, 25/12/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Прогрессивный мир уже лет 5 поддерживает 6-й. Начиная с висты еще

    Прогрессивный мир уже 11 годков поддерживает IPv6 начиная ядра Linux v2.2.15

     

  • 1.41, Константин (??), 05:48, 28/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ребят вы как стадо баранов спорите. Возмите почитайте про ipv6. Может каждый его поймёт по своему, но ОН ipv6 будет для каждого удобен и каждый задумается когда настанет тот день X после которых мы будем использовать только его. Потому что он заранее разработан так, чтобы быть МАСШТАБИРУЕМЫМ - он очень гибок.


    Мы устали таскать BGP листы до ~700 метров чтобы наши клиенты могли банально читать даже эти статьи на opennet'e

     
  • 1.43, Кирилл (??), 06:47, 19/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уже 2014 год, и ничего в принципе не поменялось..
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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