DN42系列 0x03:Peer Finder & Looking Glass

这部分相对简单。

Peer Finder

前面讲过了,DN42有一个 Peer Finder 系统,用来寻找最合适的 Peer 目标,而为了能让自己获得更多的 Peer 数量,可以将 Peer Finder Client 部署到自己的节点上,并添加自己的节点资料和联系方式。

在 Peer Finder 中注册

Peer Finder 的控制面板在这里,直接注册即可开始添加自己的节点。

需要填写的信息有:

  • Peer Name:即节点名称,建议标明地点
  • Peer Nick:这里填写 DN42 的 IRC 名称,如果没有可以随意填写
  • Note:填写联系方式,以便于与 Peer 方取得联系
  • Country:国家代码,方便识别节点位置
  • VPN Types:选择支持的 VPN 种类(可多选)
  • Address Family:公网支持的协议类型(IPv4/IPv6)

在填写完毕提交后,会返回一个 Peer UUID,这将在后续部署到服务器上时使用。

部署 Peer Finder Client

DN42 在自己的 Git Repo 中提供了此脚本,适用于多个 Linux 发行版和 mikrotik。

首先直接将该脚本 wget 下来(此处略过检查校验的步骤):

wget https://git.dn42.us/dn42/pingfinder/raw/master/clients/generic-linux-debian-redhat-busybox.sh

然后编辑该文档,将 UUID 替换为上面取得的 ID:

UUID=<Your UUID goes here>

然后编辑 crontab(crontab -e),加入定时任务,为保证兼顾服务器处理时间和时效性,时间间隔一般保持默认,例如:

*/5 * * * * /home/foo/cron.sh

随后要记得启用并运行 cron 服务,这样服务器就会隔一段时间自动执行 ping 请求并返回数据到 DN42 Peer Finder 上了。

Alice Looking Glass

Looking Glass 是一个能实时提供网络路由状况信息的 Web 界面。BIRD 通常使用 bird-lg,但这里我准备使用 alice-lg,一个更好康的版本,同时它也是用 Go 语言编写的,比较高效,还能查询接收和被过滤的路由情况。

部署 bird-watcher

bird-watcher 是部署到每个节点上的监控程序,它提供了一个 API 给 alice-lg 以访问 BIRD 的运行状态和路由信息。

略过安装和配置 golang 的环节,只需要将其下载下来即可:

go get github.com/alice-lg/birdwatcher

而在它的 GitHub Repo 上也提供了 systemd 文件,可以方便地配置服务。需要注意的是,IPv4 和 IPv6 需要运行两个 birdwatcher,不同点仅仅在增加了一个 -6 参数。

birdwatcher 的配置文件也在 GitHub 上提供,较长,但无需更改太多内容。

# 这里需要加上 alice-lg 服务器所在的 IP 地址,以接受它的访问。
allow_from = []
# 这里填写侦听的地址和端口号,一般保持默认。
listen = "0.0.0.0:29184"
# 不同的发行版的 BIRD 配置文件目录可能不一样。
config = "/etc/bird.conf"
# 注意 BIRD2 不存在 birdc6 命令。
birdc  = "birdc"

随后启用并运行服务即可。

部署 Alice-lg

安装

该部分在 alice-lg 的 README 上有非常详细的介绍,RTFM。

配置

RTFM,但需要注意,IPv4 和 IPv6 都要有单独的设置,基本配置如下:

[source.nodename-v4]
name = Example Node (IPv4)
[source.nodename-v4.birdwatcher]
api = http://nodeurl:29184/

然后启用并运行服务,使用 nginx 进行反代,即可访问。


下一篇将详细讲述 DN42 网络的折腾过程和目前状况,例如线路的优化、IGP协议的选择和国内的访问。