diff --git a/public/docs-static/img/how-to-guides/account-settings-groups-ipv6.png b/public/docs-static/img/how-to-guides/account-settings-groups-ipv6.png new file mode 100644 index 00000000..0b1adb28 Binary files /dev/null and b/public/docs-static/img/how-to-guides/account-settings-groups-ipv6.png differ diff --git a/public/docs-static/img/how-to-guides/peer-settings-ipv6.png b/public/docs-static/img/how-to-guides/peer-settings-ipv6.png new file mode 100644 index 00000000..440ff2ec Binary files /dev/null and b/public/docs-static/img/how-to-guides/peer-settings-ipv6.png differ diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index ee3f1d4e..b28fcecb 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -48,6 +48,7 @@ export const docsNavigation = [ { title: 'Add peers to your network', href: '/how-to/add-machines-to-your-network' }, { title: 'Approve peers', href: '/how-to/approve-peers' }, { title: 'Setup keys', href: '/how-to/register-machines-using-setup-keys' }, + { title: 'Configure IPv6 support', href: '/how-to/configure-ipv6-for-peers' }, ] }, { @@ -283,4 +284,4 @@ export const docsNavigation = [ ) - } \ No newline at end of file + } diff --git a/src/pages/how-to/configure-ipv6-for-peers.mdx b/src/pages/how-to/configure-ipv6-for-peers.mdx new file mode 100644 index 00000000..e9ad008e --- /dev/null +++ b/src/pages/how-to/configure-ipv6-for-peers.mdx @@ -0,0 +1,63 @@ + +# Configure IPv6 support for your peers + +In addition to IPv4, Netbird also supports both establishment of connections over IPv6 as well as assignment of IPv6 addresses +to peers within the network. + + + Assignment of IPv6 addresses is available for NetBird [TODO] or later. + + + + Assignment of IPv6 addresses is currently only supported on Linux peers using the kernel Wireguard module and nftables firewall backend. + + +## Configure IPv6 for a specific peer + +To set the IPv6 setting of a specific peer, navigate to the peers tab and adjust the "IPv6 Support" setting using the dropdown menu. + +

+ high-level-dia +

+ +There are three options for the peer's IPv6 status: +- **Force enabled:** Enable IPv6 for the peer regardless of group membership or configured routes. +- **Automatic (default):** Enable IPv6 for the peer if it is either... + - ...a member of a group with the IPv6 setting enabled, or... + - ...assigned as the routing peer of an IPv6 route. +- **Force disabled:** Disable IPv6 for the peer regardless of group memberships. + + + Force disabling IPv6 will disable all IPv6 routes configured for this peer.
+ After re-enabling IPv6, the routes will have to be re-enabled manually. +
+ +The peer's IPv6 address can be seen both in the peers tab as well as the peer settings. + +## Configure IPv6 for an entire group +Instead of enabling IPv6 manually for each peer, you can instead enable IPv6 for an entire group at once. + +To enable IPv6 for an entire group, open the group settings and enable the IPv6 toggle in the table. + +

+ high-level-dia +

+ +All peers that are a member of the group, support IPv6 and have their peer-specific IPv6 setting set to _Automatic_ will be given an IPv6 address. + +## What's next? + +Here are a few links that might be handy as you venture further into NetBird: + +- [Add new peers to your network](/how-to/add-machines-to-your-network) +- [Creating routes to private networks](/how-to/routing-traffic-to-private-networks) +- [Configure DNS for your network](/how-to/manage-dns-in-your-network) + +

+ +

+ +- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird) +- Follow us [on Twitter](https://twitter.com/netbird) +- Join our [Slack Channel](https://join.slack.com/t/netbirdio/shared_invite/zt-vrahf41g-ik1v7fV8du6t0RwxSrJ96A) +- NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub diff --git a/src/pages/how-to/manage-dns-in-your-network.mdx b/src/pages/how-to/manage-dns-in-your-network.mdx index f59f6694..b0be38db 100644 --- a/src/pages/how-to/manage-dns-in-your-network.mdx +++ b/src/pages/how-to/manage-dns-in-your-network.mdx @@ -35,6 +35,11 @@ A nameserver is an upstream DNS server responsible for name resolution. If a que it will be resolved by one of the upstream servers. You can assign private and public IPs, as well as custom ports for your nameservers. Ensure that network routes for private addresses are set up to allow peers to connect to them, when configuring private nameservers. + + IPv6 nameserver addresses will only be distributed to peers that [have IPv6 enabled](/how-to/configure-ipv6-for-peers).
+ Unless you are certain that this applies to all peers used by a given nameserver, we recommand always adding at least one IPv4 nameserver address. +
+ ### Match domains When creating nameserver groups without match domains, it implies that the nameservers will resolve all DNS queries. For specific cases, you may want to deploy a split horizon configuration for private or specific domains. diff --git a/src/pages/how-to/routing-traffic-to-private-networks.mdx b/src/pages/how-to/routing-traffic-to-private-networks.mdx index 6399ae93..06cd3a04 100644 --- a/src/pages/how-to/routing-traffic-to-private-networks.mdx +++ b/src/pages/how-to/routing-traffic-to-private-networks.mdx @@ -37,11 +37,19 @@ A routing peer is a peer that routes packets between your routed network and the Only Linux OS machines can be assigned as routing peers. + + + Routes to IPv6 networks can only be created using peers that [have IPv6 enabled](/how-to/configure-ipv6-for-peers). + #### Routing group A routing group is a set of routing peers. Each will route packets between your routed network and the other NetBird peers. Only Linux OS machines can be assigned as routing peers. + + Routes to IPv6 networks will only use group members that [have IPv6 enabled](/how-to/configure-ipv6-for-peers) as routing peers.
+ However, IPv6 does not have to be enabled for the group itself. +
#### High availability routes A highly available route is a combination of multiple routes with the same network identifier and ranges. They have different routing peers or routing peer groups offering highly available paths for communication between your peers and external networks. Nodes connected to routing peers will choose one of them to route packets to external networks based on connection type and defined metrics.