使用netbird搭建SD-WAN以及站点到站点配置

暗香疏影 创作者

上一篇讲解了通过libreswan配置站点到站点的IPSec专用网络。
本篇聚焦在SD-WAN组网以及站点到站点配置。目前市场上有netmaker和netbird。下面讲讲使用netbird的配置

安装netbird服务端

前提条件

已安装jq,curl。

安装服务端

Self-hosted Quickstart
我们自建服务端,同样需要有公网IP来实现打洞。以下代码请替换netbird.example.com为你的域名。

1
export NETBIRD_DOMAIN=netbird.example.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash

生成的用户名和密码请妥善保管。

安装netbird客户端

添加Peer根据系统及提示安装即可。
Peer

常用命令:

1
2
3
netbird up
netbird down
netbird status --detail

最早加入的peer如果一直没关过,是无法连接其他peer的,需要将端口关闭再打开。

安全组配置

在云上,确保安全组端口开放TCP端口:80, 443, 33073, 10000; 和UDP端口: 3478, 49152-65535。

站点到站点配置

实践中,有试过不需要添加Routing Peer,不需要添加ip route add,不需要改防火墙任何设置即可通信。
别问我,我也不知道,莫非是自动路由学习导致的?

需要添加Network Route 然后选择Routing Peer:
NetworkRoutes1
NetworkRoutes2

本地防火墙配置

我们要设置站点到站点配置,还需要站点的机器配置IP masquerading(IP地址伪装),而打开防火墙并设置IP地址伪装是最快的。

Firewalld RedHat Zone概念
firewalld默认是使用Public Zone, 这个域默认是当你未设置开启端口时则拒绝。而trusted Zone则是全部默认开启。所以我们先切换为这个Zone。

如果使用Debian/Ubuntu系列,默认是ufw防火墙。他配置IP masquerading还是有点困难的。但是可以通过禁用ufw然后安装firewalld来实现。
使用netbird不需要开启ip转发net.ipv4.ip_forward = 1即可实现。

1
systemctl enable firewalld.service --now
1
firewall-cmd --set-default-zone trusted
1
firewall-cmd --add-masquerade --permanent
1
firewall-cmd --reload
1
firewall-cmd --list-all

结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: eth0
sources:
services:
ports:
protocols:
forward: yes
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
  • 标题: 使用netbird搭建SD-WAN以及站点到站点配置
  • 作者: 暗香疏影
  • 创建于 : 2024-11-08 17:00:00
  • 更新于 : 2024-11-09 07:48:00
  • 链接: https://blog.23ikr.com/2024/11/08/2024-11-08-SDWAN-Site-to-Site-netbird/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论