diff --git a/public/docs-static/img/how-to-guides/netbird-peers-add-exit-node.png b/public/docs-static/img/how-to-guides/netbird-peers-add-exit-node.png new file mode 100644 index 00000000..025a66a0 Binary files /dev/null and b/public/docs-static/img/how-to-guides/netbird-peers-add-exit-node.png differ diff --git a/public/docs-static/img/how-to-guides/netbird-peers-routing-peer-exit-node.png b/public/docs-static/img/how-to-guides/netbird-peers-routing-peer-exit-node.png new file mode 100644 index 00000000..3189f9f8 Binary files /dev/null and b/public/docs-static/img/how-to-guides/netbird-peers-routing-peer-exit-node.png differ diff --git a/public/docs-static/img/how-to-guides/netbird-peers-routing-peer.png b/public/docs-static/img/how-to-guides/netbird-peers-routing-peer.png new file mode 100644 index 00000000..8e07fa7d Binary files /dev/null and b/public/docs-static/img/how-to-guides/netbird-peers-routing-peer.png differ diff --git a/public/docs-static/img/how-to-guides/netbird-peers.png b/public/docs-static/img/how-to-guides/netbird-peers.png new file mode 100644 index 00000000..29e7e9f9 Binary files /dev/null and b/public/docs-static/img/how-to-guides/netbird-peers.png differ diff --git a/src/components/How-To-Guides.jsx b/src/components/How-To-Guides.jsx index efdaec94..4e1b49e2 100644 --- a/src/components/How-To-Guides.jsx +++ b/src/components/How-To-Guides.jsx @@ -24,6 +24,11 @@ const howToGuides = [ description: 'Learn how to provide access to LANs, VPS, and corporate private networks.', }, + { + href: '/how-to/configuring-default-routes-for-internet-traffic', + name: 'Configure default routes and traffic for the Internet', + description: 'Understand how to set up your network for accessing the internet through default routes, also known as "exit nodes".', + }, { href: '/how-to/monitor-system-and-network-activity', name: 'Log and monitor network activity', diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index 811d1d8f..aace7d20 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -63,7 +63,7 @@ export const docsNavigation = [ isOpen: false, links: [ { title: 'Routing traffic to private networks', href: '/how-to/routing-traffic-to-private-networks' }, - + { title: 'Configuring default routes for Internet traffic', href: '/how-to/configuring-default-routes-for-internet-traffic' }, ] }, { diff --git a/src/pages/how-to/configuring-default-routes-for-internet-traffic.mdx b/src/pages/how-to/configuring-default-routes-for-internet-traffic.mdx new file mode 100644 index 00000000..943e30a1 --- /dev/null +++ b/src/pages/how-to/configuring-default-routes-for-internet-traffic.mdx @@ -0,0 +1,110 @@ +# Configuring default routes for Internet traffic + +NetBird introduces a way to redirect a peer's internet traffic through what is commonly known as exit nodes. +This setup allows you to direct all internet-bound traffic from your devices through a specified routing +peer. + + + This feature is available from Netbird version v0.27.0 onwards. + + +## Concepts + +### Default Routes + +A default route, specified with the network address `0.0.0.0/0` for IPv4 and `::/0` for IPv6, directs internet-bound +traffic from your devices +through a designated routing peer. + + Currently, IPv6 traffic is not supported and is blocked to prevent unintentional traffic leakage. + + +### Routing Peer + +The routing peer functions as the exit node for the Internet traffic. Once configured, it automatically handles traffic +it receives from connected peers, applying masquerading to ensure traffic appears to originate from the routing peer's +public IP address. + +### Distribution Groups + +Peers within the specified distribution group are configured to send their Internet traffic to the routing peer over the +VPN. +This setup is activated as soon as the routing peer is connected. + +### Supported Clients + +The feature currently supports Linux, macOS, and Windows as client operating systems. + +### Routing Peer Selection + +Currently, this is exclusively configured through the dashboard and cannot be influenced by the client. + +## Configuration Steps + +### Access the Dashboard peers tab + +Navigate to the NetBird dashboard to begin the configuration process. + +

+ dashboard-peers-view +

+ +### Select the designated routing peer + +

+ routing-peer-view +

+ +### Make the peer an exit node routing peer + +Hit the `Add Exit Node` button to configure the peer as an exit node routing peer. + +In the opened window, specify which peers should use the default route by assigning one or more distribution groups. +These peers will automatically route their internet traffic through the routing peer upon its connection. + + +

+ add-exit-node-view +

+ +Then hit the `Add Exit Node` button to complete the configuration. + +The routing peer is automatically set up to handle and route traffic it receives from connected peers. Masquerading +remains enabled by default to mask the original source IP addresses. + +### Verify the configuration + +Verify the configuration in the peer view. The routing peer should now be marked as an exit node. + +

+ routing-peer-exit-node-view +

+ +### DNS Configuration + +Add a DNS server with the match domain set to `ALL`. +This is important, as locally configured DNS servers might not be accessible from the routing peer. +This also helps to avoid leaking the client's location. + +See [Manage DNS in your network](manage-dns-in-your-network). + +## High Availability + +Like for other network routes, high availability configurations are supported for default +routes. Refer to +the [Creating Highly Available Routes](routing-traffic-to-private-networks#creating-highly-available-routes) +section for more information. + +## Get started +

+ +

+ +- 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