HOWTO on Route64 for IPv6 TunnelBroker set up#1147
Conversation
06a493d to
f1ab34b
Compare
|
I stuck the Affero licence on when I was about to put this in jamulussoftware/jamulus docs/ -- do we license the wiki differently? (I'm happy with a CC BY-SA 4.0) |
f1ab34b to
0e52cc3
Compare
|
I think it's some CC license: https://creativecommons.org/licenses/by-sa/4.0/deed.en |
4196949 to
49ea4f3
Compare
|
We might want to make the Wiki licence more clearly explained -- the link for "I've verified that this Pull Request follows the general code principles" goes to the jamulussoftware/jamulus contribution guidelines, which don't really talk about the Wiki. |
49ea4f3 to
111f45d
Compare
|
Ah! OK, I'll
|
111f45d to
444fc9c
Compare
ann0see
left a comment
There was a problem hiding this comment.
Please add a header like in the other files
---
layout: post
title: "..."
heading: "..."
author: "pljones"
lang: "en"
---
22512e6 to
505cdaa
Compare
|
https://jamuluswebsite.drealm.info/kb/index.html has the preview of the rendered site. |
5eb9a9c to
3654f34
Compare
3654f34 to
48c7a6b
Compare
|
|
||
| ## 3. Check Your Router/Modem | ||
|
|
||
| The following presumes you currently have _no existing IPv6 usage on your LAN_ |
There was a problem hiding this comment.
| The following presumes you currently have _no existing IPv6 usage on your LAN_ | |
| This section presumes you currently have _no existing IPv6 usage on your LAN_ |
| ``` | ||
| If you see RAs from anything other than your server, disable IPv6 on the router. | ||
|
|
||
| - **Firewall** — ensure the router passes through UDP on the Wireguard port |
There was a problem hiding this comment.
| - **Firewall** — ensure the router passes through UDP on the Wireguard port | |
| - **Firewall** — ensure the router passes UDP traffic through on the Wireguard port |
I'm not sure what this means. How does a router pass through UDP?
|
|
||
| ## 7. Suppress SLAAC Address on the Server | ||
|
|
||
| The server will autoconfigure an EUI-64 address from the RA it sends to the LAN. |
There was a problem hiding this comment.
| The server will autoconfigure an EUI-64 address from the RA it sends to the LAN. | |
| The server will autoconfigure an EUI-64 address using the RA it sends to the LAN. |
(I don't know anything about this topic.)
| ## 7. Suppress SLAAC Address on the Server | ||
|
|
||
| The server will autoconfigure an EUI-64 address from the RA it sends to the LAN. | ||
| This causes source address selection problems (services reply from the wrong address). |
There was a problem hiding this comment.
| This causes source address selection problems (services reply from the wrong address). | |
| This causes problems when selecting source addresses, because services reply from the wrong address. |
| sudo systemctl enable nftables | ||
| ``` | ||
| You probably want to get familiar with the content of `/etc/nftables.conf`. | ||
| I find it vastly easier to edit the file and reload the service than to use `nft` commands for ongoing maintenance. |
There was a problem hiding this comment.
| I find it vastly easier to edit the file and reload the service than to use `nft` commands for ongoing maintenance. | |
| For ongoing maintenance, I find it much easier to edit the file and reload the service than to use `nft` commands. |
| ``` | ||
| You probably want to get familiar with the content of `/etc/nftables.conf`. | ||
| I find it vastly easier to edit the file and reload the service than to use `nft` commands for ongoing maintenance. | ||
| In fact, I keep a copy under version control then copy it over the original when I commit. |
There was a problem hiding this comment.
| In fact, I keep a copy under version control then copy it over the original when I commit. | |
| In fact, I keep a copy under version control and copy it over the original when I commit. |
| You probably want to get familiar with the content of `/etc/nftables.conf`. | ||
| I find it vastly easier to edit the file and reload the service than to use `nft` commands for ongoing maintenance. | ||
| In fact, I keep a copy under version control then copy it over the original when I commit. | ||
| So long as I avoid completely locking myself out with a bad ruleset, this works well for me. |
There was a problem hiding this comment.
| So long as I avoid completely locking myself out with a bad ruleset, this works well for me. | |
| This works well so long as I avoid locking myself out with a bad ruleset. |
| I find it vastly easier to edit the file and reload the service than to use `nft` commands for ongoing maintenance. | ||
| In fact, I keep a copy under version control then copy it over the original when I commit. | ||
| So long as I avoid completely locking myself out with a bad ruleset, this works well for me. | ||
| (Remember to check the ruleset with `sudo nft -c list ruleset` before applying, to catch syntax errors and |
There was a problem hiding this comment.
| (Remember to check the ruleset with `sudo nft -c list ruleset` before applying, to catch syntax errors and | |
| (Always enter `sudo nft -c list ruleset` to check the ruleset before applying, to catch syntax errors and |
| to not set a default IPv6 route | ||
| - `MinRtrAdvInterval 5` / `MaxRtrAdvInterval 10` — send RAs frequently enough that | ||
| clients don't lose their default route between advertisements | ||
| - `RDNSS` — provides IPv6 DNS servers; without this Android won't use IPv6 for name resolution |
There was a problem hiding this comment.
| - `RDNSS` — provides IPv6 DNS servers; without this Android won't use IPv6 for name resolution | |
| - `RDNSS` — provides IPv6 DNS servers; without this Android won't use IPv6 for name resolution. |
| - `AdvDefaultLifetime 1800` — critical for Android; too short a lifetime causes Android | ||
| to not set a default IPv6 route | ||
| - `MinRtrAdvInterval 5` / `MaxRtrAdvInterval 10` — send RAs frequently enough that | ||
| clients don't lose their default route between advertisements |
There was a problem hiding this comment.
| clients don't lose their default route between advertisements | |
| clients don't lose their default route between advertisements. |
| ``` | ||
|
|
||
| Notes: | ||
| - `AdvDefaultLifetime 1800` — critical for Android; too short a lifetime causes Android |
There was a problem hiding this comment.
| - `AdvDefaultLifetime 1800` — critical for Android; too short a lifetime causes Android | |
| - `AdvDefaultLifetime 1800` — critical for Android! If the lifetime is too short, Android won't set a default IPv6 route. |
| - Ensure `AdvDefaultLifetime` is at least 1800 in radvd.conf | ||
| - Ensure the router/modem is NOT sending Router Advertisements | ||
| (check with `sudo tcpdump -i en0 -v "icmp6 and dst ff02::1"`) | ||
| - Toggle WiFi off/on on the phone after changing radvd config |
There was a problem hiding this comment.
| - Toggle WiFi off/on on the phone after changing radvd config | |
| - Toggle WiFi off/on on the phone after changing radvd config. |
|
|
||
| ### Android not getting default IPv6 route | ||
| - Ensure `AdvDefaultLifetime` is at least 1800 in radvd.conf | ||
| - Ensure the router/modem is NOT sending Router Advertisements |
There was a problem hiding this comment.
| - Ensure the router/modem is NOT sending Router Advertisements | |
| - Ensure the router/modem is NOT sending Router Advertisements. |
| Check the FORWARD chain allows `en0 → wg0`. | ||
|
|
||
| ### Android not getting default IPv6 route | ||
| - Ensure `AdvDefaultLifetime` is at least 1800 in radvd.conf |
There was a problem hiding this comment.
| - Ensure `AdvDefaultLifetime` is at least 1800 in radvd.conf | |
| - Ensure `AdvDefaultLifetime` is at least 1800 in radvd.conf. |
Short description of changes
Provides a step by step guide to setting up an IPv6 tunnel into an IPv4 only host.
Context: Fixes an issue? Related issues
Adds a Knowledge Base article.
Status of this Pull Request
Still working on the last hop.All working now.
What is missing until this pull request can be merged?
Inbound isn't working yet.All working now. Guide field-tested by @dtinth - thanks!
Does this need translation?
No translation for Knowledge Base.
Checklist