diff --git a/test/conftest.py b/test/conftest.py
index ed7459f9f4ec2386f75f85631837b085fdf0f537..54343abf6a6456b2fd91f326ea12dacd1e01532d 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -1,4 +1,5 @@
 import contextlib
+import ipaddress
 import logging
 import os
 from pathlib import Path
@@ -41,6 +42,23 @@ class UseJuniperSide(strEnum):
 
 
 class FakerProvider(BaseProvider):
+    def ipv4_network(self, *, min_subnet=1, max_subnet=32) -> ipaddress.IPv4Network:
+        subnet = str(self.generator.random_int(min=min_subnet, max=max_subnet))
+        ipv4 = self.generator.ipv4()
+        interface = ipaddress.IPv4Interface(ipv4 + "/" + subnet)
+        # Extra step for converting ``10.53.92.39/24`` to ``10.53.92.0/24``
+        network = interface.network.network_address
+
+        return ipaddress.IPv4Network(str(network) + "/" + subnet)
+
+    def ipv6_network(self, *, min_subnet=1, max_subnet=128) -> ipaddress.IPv6Network:
+        subnet = str(self.generator.random_int(min=min_subnet, max=max_subnet))
+        ipv6 = self.generator.ipv6()
+        interface = ipaddress.IPv6Interface(ipv6 + "/" + subnet)
+        network = interface.network.network_address
+
+        return ipaddress.IPv6Network(str(network) + "/" + subnet)
+
     def tt_number(self) -> str:
         random_date = self.generator.date(pattern="%Y%m%d")
         random_int = self.generator.random_int(min=10000000, max=99999999)