From: Sergey Matveev Date: Mon, 11 Jun 2018 18:36:26 +0000 (+0300) Subject: Зоопарк firewall-ов в Linux X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=45f307e3197ddf1a5f90e3d8634a56b4bfd78308;p=stargrave-blog.git Зоопарк firewall-ов в Linux https://www.opennet.ru/opennews/art.shtml?num=38901 https://www.opennet.ru/opennews/art.shtml?num=48690 Я так давно пользовался iptables, что напрочь забыл (ну и задач не попадалось) что оказывается они только IPv4 пакетов. А ещё есть ip6tabkes, arptables, ebtables. Потом придумали nftables. А теперь вот ещё и bpfilter. У меня даже мысли не возникало после многолетнего использования ipfw (ipf слишком прост и не удовлетворяет даже мои запросы, а PF... появился сильно позже ipfw) что в Linux такой зоопарк. Впрочем так было в нём всегда. Аж страшно вспоминать что я с этим мирился. ifconfig есть. Но для TUN/TAP: tunctl. Для bridge: bridgectl. Для VLAN-ов: какая-то отдельная штука. Для bonding: ifenslave. Linux (именно Linux) это помойка самого разностороннего кода. В *BSD системах всё целостно. *Всё* что касается сетевых интерфейсов делается одной командой ifconfig: VLAN, TUN/TAP, туннели, bridge, bond, IPv4/IPv6 адресация, итд. ipfw firewall: IPv4, IPv6, TCP/UDP/SCTP, ICMP*, Ethernet, traffic shaper/scheduler, NAT, NPTv6, NAT64, IPsec. Stateless и stateful режимы работы. Всё в одном. Честно, PF не трогал -- может там ещё всё гораздо лучше. Но оно в *удобном* одном интерфейсе, а не iptables от которого в дрожь бросает в плане useability. А в *BSD всё что касается статистик и мониторинга в удобных командах знающих всё обо всём: fstat, gstat, ifmcstat, iostat, ipfstat, kldstat, lockstat, netstat, nfsstat, plockstat, pmcstat, procstat, pstat, sockstat, vmstat. Почти все они имеют возможность вывода как в человекочитаемом, так и машиночитаемом виде. У почти всех есть возможность повтора вывода, чтобы делать что-то типа мониторинга. В Linux это были бы сплошь разрозненные утилиты с совершенно непохожим интерфейсом, документацией и возможностями. Аналогично касается конфигурирования: acpiconf, atmconfig, bsdconfig, ifconfig, kldconfig, mdconfig, pciconf, usbconfig. sysctl в *BSD системах делает *очень* многое. В Linux: есть и sysctl и /sys. ---