Почему ipset успешно добавляет диапазоны IPv4, но не добавляет диапазоны IPv6?

Почему ipset успешно добавляет диапазоны IPv4, но не добавляет диапазоны IPv6?

С использованиемipsetдля уборки громоздкихiptableнаборы правил не кажутся такими уж разнымиIPv4иIPv6:

# 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

Однако при добавлении диапазонов IP-адресов возникли неожиданныеошибки возникают только для диапазонов 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

Это неожиданно, т.к.ipsetпохоже, может разобрать этиIPv6адреса:

# 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

Почему быipsetпринимать fromaddr-toaddrдиапазоны для IPv4, но считать то же самое синтаксической ошибкой дляIPv6?

решение1

Синтаксис fromaddr-toaddrподдерживается только для IPv4. Используйте cidrнотацию для добавленияIPv6диапазоны.

Дляинетсемейство можно добавлять или удалять несколько записей, указав диапазон или сеть адресов IPv4 в части IP-адреса записи -человек 8 ipset

Связанный контент