FastNetMon

Tuesday, 15 December 2009

Как узнать, какие модули поддерживает iptables?

Не нашел стандартной команды для этого, поэтому юзаем хаки.

Для CentOS 5.4 это:

ls /lib/iptables/ # 32bit
/lib64/iptables/ # 64 bit


Для Debian 5 это:

ls /lib/xtables/


А вот стандартные списки модулей для Деби

ls /lib/xtables/
libip6t_ah.so libipt_addrtype.so libipt_REDIRECT.so libxt_connmark.so libxt_mark.so libxt_standard.so
libip6t_dst.so libipt_ah.so libipt_REJECT.so libxt_CONNMARK.so libxt_MARK.so libxt_state.so
libip6t_eui64.so libipt_CLUSTERIP.so libipt_SAME.so libxt_CONNSECMARK.so libxt_multiport.so libxt_statistic.so
libip6t_frag.so libipt_DNAT.so libipt_set.so libxt_conntrack.so libxt_NFLOG.so libxt_string.so
libip6t_hbh.so libipt_ecn.so libipt_SET.so libxt_dccp.so libxt_NFQUEUE.so libxt_tcpmss.so
libip6t_hl.so libipt_ECN.so libipt_SNAT.so libxt_dscp.so libxt_NOTRACK.so libxt_TCPMSS.so
libip6t_HL.so libipt_icmp.so libipt_ttl.so libxt_DSCP.so libxt_owner.so libxt_TCPOPTSTRIP.so
libip6t_icmp6.so libipt_LOG.so libipt_TTL.so libxt_esp.so libxt_physdev.so libxt_tcp.so
libip6t_ipv6header.so libipt_MASQUERADE.so libipt_ULOG.so libxt_hashlimit.so libxt_pkttype.so libxt_time.so
libip6t_LOG.so libipt_MIRROR.so libipt_unclean.so libxt_helper.so libxt_quota.so libxt_tos.so
libip6t_mh.so libipt_NETMAP.so libxt_CLASSIFY.so libxt_iprange.so libxt_rateest.so libxt_TOS.so
libip6t_policy.so libipt_policy.so libxt_comment.so libxt_length.so libxt_RATEEST.so libxt_TRACE.so
libip6t_REJECT.so libipt_realm.so libxt_connbytes.so libxt_limit.so libxt_sctp.so libxt_u32.so
libip6t_rt.so libipt_recent.so libxt_connlimit.so libxt_mac.so libxt_SECMARK.so libxt_udp.so



И для Центоса:

ls /lib/iptables/
libip6t_ah.so libip6t_mac.so libipt_addrtype.so libipt_esp.so libipt_NFQUEUE.so libipt_state.so
libip6t_connmark.so libip6t_mark.so libipt_ah.so libipt_hashlimit.so libipt_NOTRACK.so libipt_string.so
libip6t_CONNMARK.so libip6t_MARK.so libipt_CLASSIFY.so libipt_helper.so libipt_owner.so libipt_TARPIT.so
libip6t_DSCP.so libip6t_multiport.so libipt_CLUSTERIP.so libipt_icmp.so libipt_physdev.so libipt_tcpmss.so
libip6t_dst.so libip6t_NFQUEUE.so libipt_comment.so libipt_iprange.so libipt_pkttype.so libipt_TCPMSS.so
libip6t_eui64.so libip6t_owner.so libipt_connlimit.so libipt_length.so libipt_policy.so libipt_tcp.so
libip6t_frag.so libip6t_physdev.so libipt_connmark.so libipt_limit.so libipt_realm.so libipt_tos.so
libip6t_hbh.so libip6t_policy.so libipt_CONNMARK.so libipt_LOG.so libipt_recent.so libipt_TOS.so
libip6t_hl.so libip6t_REJECT.so libipt_conntrack.so libipt_mac.so libipt_REDIRECT.so libipt_TRACE.so
libip6t_HL.so libip6t_rt.so libipt_dccp.so libipt_mark.so libipt_REJECT.so libipt_ttl.so
libip6t_icmpv6.so libip6t_standard.so libipt_DNAT.so libipt_MARK.so libipt_rpc.so libipt_TTL.so
libip6t_ipv6header.so libip6t_state.so libipt_dscp.so libipt_MASQUERADE.so libipt_SAME.so libipt_udp.so
libip6t_length.so libip6t_tcp.so libipt_DSCP.so libipt_MIRROR.so libipt_sctp.so libipt_ULOG.so
libip6t_limit.so libip6t_TRACE.so libipt_ecn.so libipt_multiport.so libipt_SNAT.so libipt_unclean.so
libip6t_LOG.so libip6t_udp.so libipt_ECN.so libipt_NETMAP.so libipt_standard.so


Кстати, указанные способы работают не всегда (как я понял - в выдачу не включены "стандартные" модули iptables), поэтому вот еще вариант:

find /lib* | grep netfilter



Честно говоря, для меня стало откровением, что модули connlimit, string, стандартно и там и там поддерживается. А ipset есть только в Debian, а tarpit только в CentOS.

No comments :

Post a Comment

Note: only a member of this blog may post a comment.