ipset이 ipv4 범위 추가에는 성공하지만 ipv6 범위 추가에는 실패하는 이유는 무엇입니까?

ipset이 ipv4 범위 추가에는 성공하지만 ipv6 범위 추가에는 실패하는 이유는 무엇입니까?

사용IP세트부피가 큰 청소IP테이블규칙 세트는 크게 다르지 않은 것 같습니다.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

이는 예상치 못한 일입니다.IP세트이 내용을 분석할 수 있는 것 같습니다.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

왜 그럴까요?IP세트IPv4의 범위를 허용 fromaddr-toaddr하지만 동일한 구문 오류를 고려하십시오.IPv6?

답변1

구문 fromaddr-toaddr은 IPv4에만 지원됩니다. 표기법을 사용하여 cidr추가IPv6범위.

에 대한inet제품군은 항목의 IP 주소 부분에 IPv4 주소의 범위나 네트워크를 지정하여 여러 항목을 추가하거나 삭제할 수 있습니다.남자 8 ipset

관련 정보