Networking: Difference between revisions
→Static IP for network adapter: Change example IPs to recommended IP addresses used in documentation |
IPv6-mostly |
||
| Line 76: | Line 76: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
For IPv6 port forwarding, the example would look like this. | For IPv6 port forwarding, the example would look like this. Incoming connections on the address <code>2001:db8::</code> and port <code>80</code> will be forwarded to <code>[fe80::1234:5678:9abc:def0]:80</code>. | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
| Line 154: | Line 154: | ||
''; | ''; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== IPv6-mostly == | |||
For IPv6 mostly networks the situation in Linux is a little bit dire. | |||
A 464XLAT CLAT implementation on the client device has to be running. | |||
For example run clatd: | |||
<syntaxhighlight lang="nix"> | |||
{ | |||
services.clatd.enable = true; | |||
} | |||
</syntaxhighlight> | |||
Caveats: | |||
* disable IPv4 manually for DHCPv4 clients that do not accept Option 108 (IPv6-Only Preferred Option) | |||
* set NAT64 prefix manually, if client doesn't support RA/PREF64 (RFC 8781) or DNS64 (RFC 7050): | |||
<syntaxhighlight lang="nix"> | |||
{ | |||
services.clatd.settings = { | |||
plat-prefix = "64:ff9b::/96"; | |||
}; | |||
} | |||
</syntaxhighlight> | |||
* clatd needs to be restarted, if the network has changed | |||
Sources: | |||
* https://labs.ripe.net/author/ondrej_caletka_1/deploying-ipv6-mostly-access-networks/ | |||
* https://ripe85.ripe.net/presentations/9-RIPE85-Deploying_IPv6_mostly.pdf | |||
* https://github.com/systemd/systemd/issues/23674 | |||
* https://github.com/toreanderson/clatd | |||
* https://gist.github.com/oskar456/d898bf2e11b642757800a5ccdc2415aa | |||
* https://fosdem.org/2024/schedule/event/fosdem-2024-1798-improving-ipv6-only-experience-on-linux/ | |||
* https://nlnet.nl/project/IPv6-monostack/ | |||
= VLANs = | = VLANs = | ||