上一篇讲解了通过libreswan配置站点到站点的IPSec专用网络。 本篇聚焦在SD-WAN组网以及站点到站点配置。目前市场上有netmaker和netbird。下面讲讲使用netbird的配置
已安装jq,curl。
Self-hosted Quickstart 我们自建服务端,同样需要有公网IP来实现打洞。以下代码请替换netbird.example.com为你的域名。
export NETBIRD_DOMAIN=netbird.example.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash
生成的用户名和密码请妥善保管。
添加Peer根据系统及提示安装即可。
常用命令:
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:
我们要设置站点到站点配置,还需要站点的机器配置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即可实现。
systemctl enable firewalld.service --now
firewall-cmd --set-default-zone trusted
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload
firewall-cmd --list-all
结果如下:
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: