diff --git a/homeassistant/components/network/manifest.json b/homeassistant/components/network/manifest.json
index f7e0bea2422b0cb087b01d0dff70ded1c407d54c..a76da88914d6a8fd7c9e5425b65fa0f7814c09e2 100644
--- a/homeassistant/components/network/manifest.json
+++ b/homeassistant/components/network/manifest.json
@@ -7,5 +7,5 @@
   "integration_type": "system",
   "iot_class": "local_push",
   "quality_scale": "internal",
-  "requirements": ["ifaddr==0.1.7"]
+  "requirements": ["ifaddr==0.2.0"]
 }
diff --git a/homeassistant/components/network/models.py b/homeassistant/components/network/models.py
index d3fbc824489c1c48c72c60ffd4339de5e0d3b596..4428578f8f900eac7ff6b3d77d5e6176a8235337 100644
--- a/homeassistant/components/network/models.py
+++ b/homeassistant/components/network/models.py
@@ -24,7 +24,7 @@ class Adapter(TypedDict):
     """Configured network adapters."""
 
     name: str
-    index: int
+    index: int | None
     enabled: bool
     auto: bool
     default: bool
diff --git a/homeassistant/components/network/util.py b/homeassistant/components/network/util.py
index 6f204b0539766dc5159b30b7bf0bb22e5e106845..2fb0690684c3c38b8bee2a7e19ea0f1171e03a7e 100644
--- a/homeassistant/components/network/util.py
+++ b/homeassistant/components/network/util.py
@@ -97,6 +97,7 @@ def _ifaddr_adapter_to_ha(
             ip_addr = ip_address(ip_config.ip[0])
             ip_v6s.append(_ip_v6_from_adapter(ip_config))
         else:
+            assert not isinstance(ip_config.ip, tuple)
             ip_addr = ip_address(ip_config.ip)
             ip_v4s.append(_ip_v4_from_adapter(ip_config))
 
@@ -117,6 +118,7 @@ def _ifaddr_adapter_to_ha(
 
 
 def _ip_v6_from_adapter(ip_config: ifaddr.IP) -> IPv6ConfiguredAddress:
+    assert isinstance(ip_config.ip, tuple)
     return {
         "address": ip_config.ip[0],
         "flowinfo": ip_config.ip[1],
@@ -126,6 +128,7 @@ def _ip_v6_from_adapter(ip_config: ifaddr.IP) -> IPv6ConfiguredAddress:
 
 
 def _ip_v4_from_adapter(ip_config: ifaddr.IP) -> IPv4ConfiguredAddress:
+    assert not isinstance(ip_config.ip, tuple)
     return {
         "address": ip_config.ip,
         "network_prefix": ip_config.network_prefix,
diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt
index 9f0e6e79d9b7933d641c6713f001d0b47cd2a1c0..a13a8f847900308c0ae8c0380eff8d9cd26c0ca9 100644
--- a/homeassistant/package_constraints.txt
+++ b/homeassistant/package_constraints.txt
@@ -28,7 +28,7 @@ home-assistant-bluetooth==1.10.0
 home-assistant-frontend==20230503.3
 home-assistant-intents==2023.4.26
 httpx==0.24.0
-ifaddr==0.1.7
+ifaddr==0.2.0
 janus==1.0.0
 jinja2==3.1.2
 lru-dict==1.1.8
diff --git a/pyproject.toml b/pyproject.toml
index 1e69404f4cb5371061c56db5181a98f0defc5861..1bda10f067778a04b0f527dbe5b88f3e838ae5d1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -36,7 +36,7 @@ dependencies    = [
     # httpcore, anyio, and h11 in gen_requirements_all
     "httpx==0.24.0",
     "home-assistant-bluetooth==1.10.0",
-    "ifaddr==0.1.7",
+    "ifaddr==0.2.0",
     "jinja2==3.1.2",
     "lru-dict==1.1.8",
     "PyJWT==2.7.0",
diff --git a/requirements.txt b/requirements.txt
index 12533b518474d95adcb8731a7abdd0ad61cf5246..ca8bd2631593cc951b0099e64da53a4dca4e8ff0 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -12,7 +12,7 @@ certifi>=2021.5.30
 ciso8601==2.3.0
 httpx==0.24.0
 home-assistant-bluetooth==1.10.0
-ifaddr==0.1.7
+ifaddr==0.2.0
 jinja2==3.1.2
 lru-dict==1.1.8
 PyJWT==2.7.0
diff --git a/requirements_all.txt b/requirements_all.txt
index 28ac5cc662df50ad8bd33397876ac952e5e41c89..1c7e3e96618bcf1a43ef37226a791a77f68d12b4 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -965,7 +965,7 @@ ical==4.5.1
 icmplib==3.0
 
 # homeassistant.components.network
-ifaddr==0.1.7
+ifaddr==0.2.0
 
 # homeassistant.components.iglo
 iglo==1.2.7
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index b21e7dca4f9a990a6c70774ca93f23c50fc2b149..cf4f88351a32a51e5d3b1ffa6154e62a1ef3e9d5 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -745,7 +745,7 @@ ical==4.5.1
 icmplib==3.0
 
 # homeassistant.components.network
-ifaddr==0.1.7
+ifaddr==0.2.0
 
 # homeassistant.components.influxdb
 influxdb-client==1.24.0