openwrt使用nebula组网
openwrt使用nebula组网
为什么选择nebula,而不是wireugard?
我的目标是两个不同地方的路由器,下面的子设备可以无障碍的互相访问,同时不在这两个子网的设备可以访问两个路由器子网
graph LR
subgraph "有公网"
style 有公网 fill:#e8ffe8,stroke:#008000,stroke-width:2px
A["openwrt旁路由
192.168.1.3"] <--> B["其他设备
192.168.1.x"]
A <--> C["ikuai主路由
192.168.1.2"]
end
subgraph "无公网"
style 无公网 fill:#fff8dc,stroke:#b8860b,stroke-width:2px
D["openwrt主路由
192.168.100.1"] <--> E["其他设备
192.168.100.x"]
end
C <-- "虚拟局域网" --> D
C <-- "虚拟局域网" --> F["其他设备"]
D <-- "虚拟局域网" --> F
其中有公网的环境是动态公网,需要配合ddns才能使用
但是wireguard对于ddns这种情况的支持非常不好,wireguard只会在启动的时候解析一次域名,公网ip一旦改变连接就会断开
目前唯一的解决方案就是重启wireguard,这对于需要持久连接的场景来说是不能接受的,于是我换了虚拟局域网方案
而nebula会自动重连,无需其他操作就可以自动恢复连接
为什么不选择openvpn?
网状组网不方便,并且配置复杂
为什么不选择tailscale和zerotier?
因为这两个有时候某明奇妙会连接节点服务器失败,如果完全自建这两个服务会非常麻烦
所以我只把他们当成备用而不是主用
graph LR
A[有公网nebula灯塔节点-路由器
局域网ip:192.168.1.2
虚拟局域网ip:192.168.40.1]:::green
B[无公网nebula节点-路由器
局域网ip:192.168.100.1
虚拟局域网ip:192.168.40.2]:::orange
C[无公网nebula节点-任意设备
局域网ip:x.x.x.x
虚拟局域网ip:192.168.40.3]:::purple
A <-- nebula --> B
B <-- nebula --> C
C <-- nebula --> A
classDef green fill:#e6f4e6,stroke:#86c86c,stroke-width:2px;
classDef orange fill:#fff4e6,stroke:#ffc86c,stroke-width:2px;
classDef purple fill:#f4e6f9,stroke:#c86cff,stroke-width:2px;
路由器上安装必须的软件包
nebula,nebula-cert,nebula-service
灯塔路由器上生成证书
新建存放配置的文件夹
1 | mkdir /etc/nebula |
生成ca证书
1 | nebula-cert ca -name "MyVPN" |
生成各个节点的证书
1 | nebula-cert sign -name "1" -ip "192.168.40.1/24" -subnets "192.168.1.0/24" |
编写nebula配置
灯塔路由器(公网节点)
/etc/nebula/config.yml
1 | pki: |
另一端路由器
/etc/nebula/config.yml
1 | pki: |
别的节点
/etc/nebula/config.yml
1 | pki: |
启动nebula
两个路由器
1 | /etc/init.d/nebula start |
别的节点(这里假设别的节点是一个使用systemd的linux电脑)
1 | sudo systemctl start nebula.service |
查看nebula是否工作正常
1 | ip a | grep -A 3 nebula |
在两个路由器设置nat
灯塔路由器


(第一个nat规则我不确定要不要)
设置防火墙允许转发

另一端路由器


(第一个nat规则我不确定要不要)
设置防火墙允许转发

目前互联网上关于openwrt使用nebula组网的资料很少,如有错误请谅解并指出
如果你两个路由器都没有v4和v6的公网,但是有一台公网的服务器,那么可以把灯塔节点放这台服务器上面
- 标题: openwrt使用nebula组网
- 作者: E= γ mc²
- 创建于 : 2025-04-07 07:00:28
- 更新于 : 2025-04-07 08:38:08
- 链接: https://redefine.ohevan.com/2025/04/07/openwrt使用nebula组网/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论