Jump to content
Калькуляторы

gentoo Не создаются правила iptables с ipset 6.6

Доброго времени суток!

 

Есть проблема связки iptables и ipset. При добавлении правил в iptables, использующего ipset выдаётся следующее информативное сообщение iptables: No chain/target/match by that name.

Конкретно. Создаю список в ipset

# ipset -N tst hash:ip
# ipset -A tst 192.168.10.10
# ipset -L tst
Name: tst
Type: hash:ip
Header: family inet hashsize 1024 maxelem 65536 
Size in memory: 16496
References: 0
Members:
192.168.10.10

Пытаюсь добавить правило в iptables.

# iptables -A INPUT -m set --match-set tst src -j LOG --log-prefix "IPSET rule"
iptables: No chain/target/match by that name.

Или просто ACCEPT

# iptables -A INPUT -m set --match-set tst src -j ACCEPT
iptables: No chain/target/match by that name.

# iptables --version
iptables v1.4.10

#ipset --version
ipset v6.4, protocol version: 6

Интересует ipset шестой ветки. Пробовал 6.4, 6.6 результат одинаков

 

lsmod | grep ip
ip_set_hash_ip         14328  1 
ip_set_hash_net        17032  1 
ip_set                 16452  2 ip_set_hash_ip,ip_set_hash_net
nfnetlink               1912  1 ip_set
ipt_addrtype            1448  0 
xt_iprange              1304  0 
xt_multiport            1288  0 
ipv6                  193208  44 
iptable_nat             2728  0 
nf_nat                 11148  1 iptable_nat
ipt_REJECT              1800  1 
ipt_LOG                 6016  4 
nf_conntrack_ipv4       7728  8 iptable_nat,nf_nat
nf_defrag_ipv4           920  1 nf_conntrack_ipv4
nf_conntrack           41640  6 xt_conntrack,xt_connmark,iptable_nat,nf_nat,nf_conntrack_ipv4,xt_state
iptable_filter           920  1 
iptable_mangle          1000  0 
ip_tables              12664  3 iptable_nat,iptable_filter,iptable_mangle
x_tables               11360  21 ipt_addrtype,xt_NFQUEUE,xt_string,xt_hashlimit,xt_iprange,xt_dscp,xt_conntrack,xt_owner,xt_mark,xt_multiport,xt_connmark,xt_DSCP,iptable_nat,ipt_REJECT,xt_tcpudp,ipt_LOG,xt_limit,xt_state,iptable_filter,iptable_mangle,ip_tables

 

Версия ядра 2.6.38-gentoo-r6 x86_64, собрано genkernel. Конфиг ->

zegrep '_NF_|NETFILTER' /proc/config.gz | grep -v '^#'
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PROTO_UDPLITE=m
CONFIG_NF_NAT_PROTO_SCTP=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_BRIDGE_NF_EBTABLES=m

ipset собирал из портежа

emerge -av "=net-firewall/ipset-6.4"

Ядро патчил по инструкции ебилда. После патча пересобирал.

Вручную модуль не грузил. Судя по lsmod он загружается автоматом.

Кстати, если попытаться создать правило с заведомо отсутствующим списком ipset получается:

iptables -A INPUT  -m set --match-set t src -j ACCEPT
iptables v1.4.10: Set t doesn't exist.

Правильно ли я понял, что ipset не находит набор t о чём и сообщает. Т.е. модуль загружен и отвечает об отсутствие набора.

 

Забыл упомянуть

 

cat /proc/net/ip_tables_matches
limit
state
string
conntrack
conntrack
owner
mark
connmark
udplite
udp
tcp
addrtype
addrtype
hashlimit
iprange
tos
dscp
multiport
icmp

ipset в списке нет. Должен быть?

 

Прошу подсказать в чём я ошибся.

Share this post


Link to post
Share on other sites

iptables -A INPUT -m set --match-set tst src -j ACCEPT

Попробуй так, авось поможет

iptables -A INPUT -m set --set tst src,dst -j ACCEPT

Share this post


Link to post
Share on other sites

iptables -A INPUT -m set --match-set tst src -j ACCEPT

Попробуй так, авось поможет

iptables -A INPUT -m set --set tst src,dst -j ACCEPT

 

Увы, не помогло. А почему src,dst, если у меня только один параметр в наборе?

Share this post


Link to post
Share on other sites

Столкнулся с аналогичной проблемой на Slackware 13.37.0 ядро

uname -a
Linux darkside 2.6.39.4-smp #2 SMP Thu Oct 6 15:44:19 EEST 2011 i686

ipset версии

 ipset -V
ipset v6.9.1, protocol version: 6

iptables -V
iptables v1.4.12.1

при добавлении правила выскакивает ошибка

/usr/sbin/iptables -t mangle -A PREROUTING -m set --match-set UKRAINE src,dst -j MARK --set-mark 2
iptables: No chain/target/match by that name.

хотя правила в ipset добавлены

ipset -L UKRAINE
Name: UKRAINE
Type: hash:net
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 47404
References: 0
Members:
74.125.90.0/23
91.201.40.0/22
91.194.162.0/23
....

отдельно ipset и iptables работают, а вот в связке нет:( где искать загвоздку?

Share this post


Link to post
Share on other sites

Проблему решили не?У меня та же фигня на ядре 3.1.1

Share this post


Link to post
Share on other sites

в папке /lib[64]/xtables/ пусто?

Share this post


Link to post
Share on other sites

Ее нету такой папки

есть /usr/local/lib/xtables

там

libip6t_ah.so
libip6t_dst.so
libip6t_eui64.so
libip6t_frag.so
libip6t_hbh.so
libip6t_hl.so
libip6t_HL.so
libip6t_icmp6.so
libip6t_ipv6header.so
libip6t_LOG.so
libip6t_mh.so
libip6t_REJECT.so
libip6t_rt.so
libipt_ah.so
libipt_CLUSTERIP.so
libipt_DNAT.so
libipt_ecn.so
libipt_ECN.so
libipt_icmp.so
libipt_LOG.so
libipt_MASQUERADE.so
libipt_MIRROR.so
libipt_NETFLOW.so
libipt_NETMAP.so
libipt_realm.so
libipt_REDIRECT.so
libipt_REJECT.so
libipt_SAME.so
libipt_SNAT.so
libipt_ttl.so
libipt_TTL.so
libipt_ULOG.so
libipt_unclean.so
libxt_addrtype.so
libxt_AUDIT.so
libxt_CHECKSUM.so
libxt_CLASSIFY.so
libxt_cluster.so
libxt_comment.so
libxt_connbytes.so
libxt_connlimit.so
libxt_connmark.so
libxt_CONNMARK.so
libxt_CONNSECMARK.so
libxt_conntrack.so
libxt_cpu.so
libxt_CT.so
libxt_dccp.so
libxt_devgroup.so
libxt_dscp.so
libxt_DSCP.so
libxt_esp.so
libxt_hashlimit.so
libxt_helper.so
libxt_IDLETIMER.so
libxt_iprange.so
libxt_ipvs.so
libxt_LED.so
libxt_length.so
libxt_limit.so
libxt_mac.so
libxt_mark.so
libxt_MARK.so
libxt_multiport.so
libxt_NFLOG.so
libxt_NFQUEUE.so
libxt_NOTRACK.so
libxt_osf.so
libxt_owner.so
libxt_physdev.so
libxt_pkttype.so
libxt_policy.so
libxt_quota.so
libxt_rateest.so
libxt_RATEEST.so
libxt_recent.so
libxt_sctp.so
libxt_SECMARK.so
libxt_set.so
libxt_SET.so
libxt_socket.so
libxt_standard.so
libxt_state.so
libxt_statistic.so
libxt_string.so
libxt_tcpmss.so
libxt_TCPMSS.so
libxt_TCPOPTSTRIP.so
libxt_tcp.so
libxt_TEE.so
libxt_time.so
libxt_tos.so
libxt_TOS.so
libxt_TPROXY.so
libxt_TRACE.so
libxt_u32.so
libxt_udp.so

Edited by 6PATyCb

Share this post


Link to post
Share on other sites

а тут что /proc/net/ip_tables_matches set есть?

Share this post


Link to post
Share on other sites

а тут что /proc/net/ip_tables_matches set есть?

Я разобрался вроде. Слинковал папку /usr/local/lib/xtables в /lib/xtables

и вручную сделал modprobe xt_set

После этого в /proc/net/ip_tables_matches появился set и правила начали проходить

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this