米露小窝
放弃个性,就和死了没什么区别
米露小窝

萌新入坑 DN42 之 —— 基于 tailscale + vxlan + OSPF 的组网

warning 小白警告
本人是 BGP 纯小白,对于 BGP 为刚入门状态,本文为本小白的记录文,文章内有任何的 笔误/错误/小白理解 请大佬勿喷,如果能指正出来那就更好啦

warning 再次警告
如果您能接受的话,可以继续看下去,如果不能接受,建议现在就关闭此文章

前言

在上次的文章中我们讲了怎么使用 ibgp 进行组网

但是随着我们网络的发展,我发现 zerotier 十分不方便(指需要一个一个加 moon 节点),于是我在上个月弃用了 zerotier 正式改用了群友都在用的 tailscale,但是我的网络架构大概是这样的

https://upy.milu.ink/2025/06/20250622074834417-1024x568.png!/format/webp/lossless/true

这就导致了 CN 无法直接连接到 HK,看起来十分的难受(

所以我们可以用 OSPF 来进行组网,让内网都可以互联!

搭建 vxlan

因为 OSPF 是需要向组播地址发送 Hello 组网的,然而 tailscale(wireguard)并不支持组播,所以我们需要使用 vxlan 进行套娃来解决这个问题(

调整 tailscale 的 mtu

首先由于 tailscale 默认的 mtu 过于小无法承载 vxlan 的 IPv6,所以我们先调整 tailscale 的 mtu

具体步骤如下:

1.编辑 /etc/default/tailscaled 文件,新增以下行以将 MTU 设置为 1500:

TS_DEBUG_MTU=1500
Bash

2. 重新启动 Tailscale 以应用新配置:

sudo systemctl restart tailscaled
Bash

创建 vxlan

首先先在两台服务器上分别创建 vxlan 网卡并分配 ip

ip link del vxlan100 2>/dev/null
ip link add vxlan100 type vxlan id 100 dev tailscale0 remote 远端的tailscaleIP dstport 4789 learning
ip addr add 本机的DN42Iv4/32 peer 远端的DN42Iv4 dev vxlan100
ip addr add 本机的DN42Iv4/32 dev vxlan100
ip -6 addr add 本机的DN42Iv6/128 dev vxlan100
ip link set vxlan100 up
Bash

然后理论上来说就可以互相 ping 到对方了

OSPF

在搭建好 vxlan 之后我们就要启动 ospf 来内部寻路了

创建一个 ospf.conf 文件,内容如下:

protocol ospf v3 mlnet_ospf {
    ipv4 {
        # 只使用 OSPF 对内部网络进行路由 - 忽略从 BGP 发送的所有内容。
        import where is_self_net() && source != RTS_BGP;
        export where is_self_net() && source != RTS_BGP;
    };

    include "/etc/bird/ospf/*";
};

protocol ospf v3 mlnet_ospf6 {
    ipv6 {
        import where is_self_net_v6() && source != RTS_BGP;
        export where is_self_net_v6() && source != RTS_BGP;
    };

    include "/etc/bird/ospf/*";
};
Bash

然后再创建一个 /etc/bird/ospf/0.conf 文件,内容如下:

area 0.0.0.0 {
    interface "vxlan100" {
        # 根据你的真实延迟来设定
        cost 123;
    };
};
Bash

然后在 bird.conf 中引入 ospf.conf

include "ospf.conf";
Bash

然后重载配置文件,如果一切都没问题的话你就能看到 ospf 在 running 啦~

https://upy.milu.ink/2025/06/20250622080057419-1024x192.png!/format/webp/lossless/true

然后我们路由追踪一下发现是从 CN->JP->HK

https://upy.milu.ink/2025/06/20250622080156510-1024x160.png!/format/webp/lossless/true

接下来就可以组 ibgp 或者 RR(可能我会出一篇误人子弟教程)来传递路由了~

(顺便说一句,如果您想和我 peer 的话请看这里

赞赏
萌新入坑 DN42 之 —— 基于 tailscale + vxlan + OSPF 的组网》依据“CC BY-NC-SA 4.0”许可证进行授权。转载的时候请附上米露的链接,最好请勿用于商业目的 qaq
没有标签
首页      生活      萌新入坑 DN42 之 —— 基于 tailscale + vxlan + OSPF 的组网

MxmiluBOB

文章作者

发表回复

textsms
account_circle
email

米露小窝

萌新入坑 DN42 之 —— 基于 tailscale + vxlan + OSPF 的组网
warning 小白警告本人是 BGP 纯小白,对于 BGP 为刚入门状态,本文为本小白的记录文,文章内有任何的 笔误/错误/小白理解 请大佬勿喷,如果能指正出来那就更好啦 warning 再次警告如果…
扫描二维码继续阅读
2025-06-22