summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed AbdelHalim <[email protected]>2026-07-01 12:21:48 +0200
committerAhmed AbdelHalim <[email protected]>2026-07-01 12:21:48 +0200
commitb4945ec4f794df06baf0a0848cd6f71320af7ebb (patch)
tree9e13b15d1a75e105121f0ff797a12854f1ac973d
parent0eb8d664bfffd44e85bb4df4a9f53742222aee37 (diff)
Update the README for gateway and pihole setup with details about ipv6
-rw-r--r--roles/gateway/README.md17
-rw-r--r--roles/pihole/README.md67
2 files changed, 67 insertions, 17 deletions
diff --git a/roles/gateway/README.md b/roles/gateway/README.md
index ee6488c4..cfbe49d3 100644
--- a/roles/gateway/README.md
+++ b/roles/gateway/README.md
@@ -17,6 +17,23 @@ gateway_local_ipv4_subnet: "192.168.1.0/24"
gateway_router_interface: "end0"
```
+### IPv6 Support (Optional)
+
+IPv6 gateway is enabled by setting both `network_ipv6_address` and `gateway_local_ipv6_subnet`:
+
+```yaml
+network_ipv6_address: "2a02:xxxx:xxxx:xxxx::254/64" # Pi's IPv6 address
+gateway_local_ipv6_subnet: "2a02:xxxx:xxxx:xxxx::/64" # LAN IPv6 subnet
+```
+
+To disable IPv6 entirely, remove both variables from `host_vars`. The role will:
+- Omit `accept_ra` sysctl (no IPv6 interface key written)
+- Skip IPv6 iptables masquerade rules (`gateway_local_ipv6_subnet` defaults to `""`)
+- Leave `net.ipv6.conf.all.forwarding=0`
+
+**Note:** `accept_ra` is set per-interface (`gateway_router_interface`) only when IPv6 is enabled.
+This prevents rogue RA acceptance on WireGuard and LAN interfaces.
+
## Network Architecture
```txt
diff --git a/roles/pihole/README.md b/roles/pihole/README.md
index 7cc8033d..319424a7 100644
--- a/roles/pihole/README.md
+++ b/roles/pihole/README.md
@@ -16,20 +16,53 @@ This role configure the [pihole](https://github.com/pi-hole/pi-hole) DNS Sinkhol
### [FRITZ!Box](https://docs.pi-hole.net/routers/fritzbox/)
-Update the following
-
-- Home Network > Network > Network Settings > Change Advanced Network Settings >
- - IPv4 > DHCP > Enable DHCP server > Disabled
- - IPv6 > DNSv6 Server in the Home Network > Router advertisement enable in the LAN > Disabled
- - IPv6 > DNSv6 Server in the Home Network > Disable DHCPv6 server in the FRITZ!Box >
- - There are no other DHCPv6 servers in the home network.
-- Internet > Filter > Lists > Network Applications > Add Network Application >
- - Name: DNS, Protocol: UDP, Source Port: Any, Destination Port: 53
- - Name: DNS, Protocol: TCP, Source Port: Any, Destination Port: 53
-- Internet > Prioritization > Real-Time Applications > Create New Rule
- - Device: {{ pihole_device_name }}, Application: DNS
-- Internet > Account Information > IPv6 > IPv6 Support > Disabled
-- Internet > Account Information > DNS Server > DNSv4 Server >
- - Use Other DNSv4 Servers > {{ pihole_ipv4 }}
-- Internet > Filter > Unrestricted > Add Device > {{ pihole_device_name }}
-- Internet > Filter > Standard > Restrictions > Filters > Add Exception > DNS
+- Home Network > Network > Network Settings > Change Advanced Network Settings > IPv4 >
+ - Home network >
+ - IPv4 address > {{ router_ipv4 }}
+ - Subnet mask > {{ router_subnet_mask }}
+ - DHCP > Enable DHCP server > ❌
+
+- Internet > Filter >
+ - Lists > Network Applications > Add Network Application >
+ - Name: DNS, Protocol: UDP, Source Port: Any, Destination Port: 53
+ - Name: DNS, Protocol: TCP, Source Port: Any, Destination Port: 53
+
+ - Prioritization > Real-Time Applications > Create New Rule
+ - Device: {{ pihole_device_name }}, Application: DNS
+
+ - Parental Controls > Unrestricted > Add Device > {{ pihole_device_name }}
+ - Parental Controls > Standard > Edit > Filters >
+ - Filter for network applications > all network applications are permitted
+ - Add Exceptions > DNS
+
+- Internet > Account Information > DNS Server > DNSv4 Server > Use Other DNSv4 Servers > {{ pihole_ipv4 }}
+
+#### No IPv6 Support
+
+- Home Network > Network > Network Settings > Change Advanced Network Settings > IPv6 >
+ - Router advertisement enable in the LAN > ❌
+ - DNSv6 Server in the Home Network > Also announce DNSv6 server via router advertisement (RFC5006) > ❌
+
+- Internet > Account Information > IPv6 > IPv6 Support > ❌
+
+#### With IPv6 Support
+
+- Home Network > Network > Network Settings > Change Advanced Network Settings > IPv6 >
+ - Router advertisement enable in the LAN > ✅
+ - Always assign unique local addresses (ULA) > ❌
+ - Allow IPv6 prefixes announced by other IPv6 routers in the home network > ❌
+ - This FRITZ!Box provides the standard internet connection > ✅
+ - Set the priority of the router advertisement > High
+ - DNSv6 Server in the Home Network >
+ - Also announce DNSv6 server via router advertisement (RFC5006) > ✅
+ - Local DNSv6 server > {{ pihole_ipv6 }}
+ - DHCPv6 Server in the home network >
+ - Enable DHCPv6 server in the FRITZ!Box for the home network > ✅
+ - Only assign DNS server > ✅
+
+- Internet > Account Information >
+ - IPv6 > IPv6 Support > ✅
+ - IPv6 > IPv6 Connectivity > Native IPv6 connection
+ - IPv6 > Connection Settings > Automatically negotiate a global address
+ - IPv6 > Connection Settings > Use DHCPv6 Rapid Commit > ✅
+ - DNS Server > DNSv6 Server > Use Other DNSv6 Servers > {{ pihole_ipv6 }}