From 485570ee633a5dd6eda746a6164c95c016faa898 Mon Sep 17 00:00:00 2001 From: lol3rrr Date: Sun, 22 Feb 2026 01:45:39 +0100 Subject: [PATCH] Test out new ipv4-expose idea and document it --- content/homelab-ipv4-expose/index.md | 32 +++++++++++++++++++++------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/content/homelab-ipv4-expose/index.md b/content/homelab-ipv4-expose/index.md index 7b54b2d..472beb2 100644 --- a/content/homelab-ipv4-expose/index.md +++ b/content/homelab-ipv4-expose/index.md @@ -1,6 +1,6 @@ +++ title = "Homelab - IPv4 Expose" -date = 2026-02-16 +date = 2026-02-23 description = "How I expose my IPv6 only Homelab for IPv4 clients" draft = true @@ -63,12 +63,28 @@ Fixed forwarding for everything received on the v4 ip, no way to forward based o The idea with this is to basically perform some static NAT64, to map ports on the ipv4 side to specific addresses and ports on the ipv6 side. This would allow me to have one entry for every port that I want to expose, regardless of the IPv6 or port of the service. -Rough plan (not tested or applied): -- Follow the [basic NAT64 tutorial](https://www.jool.mx/en/run-nat64.html) -- Configure the [BIB](https://www.jool.mx/en/bib.html) Entries using the [bib commands](https://www.jool.mx/en/usr-flags-bib.html) - - For teamspeak this should be something along the lines of `jool bib add 2001:4dd5:ae46:81:f652:14ff:fe94:dc00#9987 51.158.177.228#9987 --udp` + +1. Same +2. Same +3. Same +4. Same +5. Configure [Jool](https://www.jool.mx/en/index.html) + 1. `/sbin/modprobe jool` + 2. `jool instance add "example" --netfilter --pool6 2001:0bc8:1640:6554:0:0:0:0/96`[^nat64_setup] + 3. `jool -i "example" pool4 add --udp 51.158.177.228 1-65535`[^pool4_setup] + 4. `jool -i "example" pool4 add --tcp 51.158.177.228 1-65535`[^pool4_setup] +6. Same +7. Example Setup of bib[^bib_explained] entries (for teamspeak3 in this case) + 1. `jool -i "example" bib add 2001:4dd5:b276:1:f652:14ff:fe94:dc00#9987 51.158.177.228#9987 --udp`[^bib_add_command] + 2. `jool -i "example" bib add 2001:4dd5:b276:1:f652:14ff:fe94:dc00#30033 51.158.177.228#30033 --tcp`[^bib_add_command] -## TODOs -- Automate the jool setup -- Automate the configuration of the corresponding entries +## Future Work +- Automate the jool setup (ansible playbook or maybe even using cloud-init) +- Automate the configuration of the corresponding entries (likely a custom integration with consul) + +## References +[^nat64_setup]: [basic NAT64 tutorial](https://www.jool.mx/en/run-nat64.html) +[^pool4_setup]: We need to configure the [pool4](https://www.jool.mx/en/pool4.html) used by jool using the given [pool4 commands](https://nicmx.github.io/Jool/en/usr-flags-pool4.html) +[^bib_explained]: [BIB](https://www.jool.mx/en/bib.html) +[^bib_add_command]: [bib commands](https://www.jool.mx/en/usr-flags-bib.html#add)