Por que o ipset consegue adicionar intervalos ipv4, mas falha ao adicionar intervalo ipv6?

Por que o ipset consegue adicionar intervalos ipv4, mas falha ao adicionar intervalo ipv6?

Usandoipsetpara limpar volumosostabela de ipconjuntos de regras não parece tão diferente entreIPv4eIPv6:

# ipset create TEST hash:net family inet
# ipset create DEMO hash:net family inet6
# iptables -A INPUT -m set --match-set TEST src -j DROP
# ip6tables -A INPUT -m set --match-set DEMO src -j DROP

No entanto, ao adicionar intervalos de IP, resultados inesperadoserros ocorrem apenas para intervalos IPv6:

# ipset add TEST 192.0.2.0-192.0.2.127
# ipset add DEMO 2001:db8::-2001:db8::ffff
ipset v6.34: Syntax error: IP address or IP/cidr must be specified: 2001:db8::-2001:db8::ffff

Isto é inesperado, poisipsetparece ser capaz de analisar essesIPv6endereços:

# ipset add DEMO 2001:db8::/112
# ipset del DEMO 2001:db8::/112
# ipset add DEMO 2001:db8::ffff/112
# ipset -L DEMO | tail -2
Members:
2001:db8::/112

Por queipsetaceita fromaddr-toaddrintervalos para IPv4, mas considera a mesma coisa um erro de sintaxe paraIPv6?

Responder1

A fromaddr-toaddrsintaxe é suportada apenas para IPv4. Use cidrnotação para adicionarIPv6gamas.

Para oinetfamília, é possível adicionar ou excluir várias entradas especificando um intervalo ou uma rede de endereços IPv4 na parte do endereço IP da entrada -homem 8 ipset

informação relacionada