Skip to content

Commit 0b81af5

Browse files
Fix ipset for ipv6
1 parent f4aab10 commit 0b81af5

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

cidre/iptables_firewall.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,30 @@ def __apply_one(self, action: str, country_code: str):
4747

4848
set_name = f"cidre_{country_code}_blocklist_{ip_version}"
4949

50-
self.__create_ipset(set_name)
50+
self.__create_ipset(set_name, ip_version)
5151
self.__add_to_ipset(set_name, cidr_blocks)
5252
self.__apply_iptables(set_name, action)
5353

54-
def __create_ipset(self, set_name: str):
54+
def __create_ipset(self, set_name: str, ip_version: str):
5555
self.__logger.info(f"🛠 Creating IPSet {set_name} (if not exists)...")
56-
subprocess.run(["ipset", "create", set_name, "hash:net", "-exist"], check=True)
56+
57+
if ip_version == "ipv4":
58+
subprocess.run(
59+
["ipset", "create", set_name, "hash:net", "-exist"], check=True
60+
)
61+
elif ip_version == "ipv6":
62+
subprocess.run(
63+
["ipset", "create", set_name, "hash:net", "family", "inet6", "-exist"],
64+
check=True,
65+
)
5766

5867
def __add_to_ipset(self, set_name: str, cidr_blocks: List[str]):
68+
self.__logger.info(f"IPSet ({set_name}): Adding {len(cidr_blocks)} CIDRs...")
69+
5970
for cidr in cidr_blocks:
6071
subprocess.run(["ipset", "add", set_name, cidr, "-exist"], check=True)
61-
self.__logger.info(f"IPSet ({set_name}): Added {cidr}")
72+
73+
self.__logger.debug(f"IPSet ({set_name}): Added {cidr}")
6274

6375
def __apply_iptables(self, set_name: str, action: str):
6476
iptables_action = {

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setup(
77
name="cidre_cli",
8-
version="1.1.2",
8+
version="1.1.3",
99
packages=find_packages(),
1010
install_requires=["netaddr==1.3.0", "requests==2.32.3"],
1111
entry_points={

0 commit comments

Comments
 (0)