Test out new ipv4-expose idea and document it
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user