惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

0x7f Blog

telephony42 完全指南:从零开始在 dn42 构建电话网络 telephony42 完全指南:从零开始在 dn42 构建电话网络 在 Telephony42 中配置 E.164 ENUM 在 Telephony42 中配置 E.164 ENUM 有关 DN42 的本质及诸多暴论 有关 DN42 的本质及诸多暴论 线香简评(持续更新) 线香简评(持续更新) 美味冰淇淋的制作方法 美味冰淇淋的制作方法 一场有关数字世界自决权的战争 一场有关数字世界自决权的战争 在 rDNS 上念诗!(加强版) 在 rDNS 上念诗!(加强版) 木桶饭杂谈 其二 木桶饭杂谈 其二 木桶饭杂谈 其一 木桶饭杂谈 其一 杂牌对讲机的写频 杂牌对讲机的写频 科研随想 (21.09) 科研随想 (21.09) IFSolver Reloaded 系列 0x03:解码生成 IFSolver Reloaded 系列 0x03:解码生成 IFSolver Reloaded 系列 0x02:特征匹配 IFSolver Reloaded 系列 0x02:特征匹配 IFSolver Reloaded 系列 0x01:特征提取与存储 IFSolver Reloaded 系列 0x01:特征提取与存储 新站点启用,以及一些小细节 新站点启用,以及一些小细节
DN42系列 0x03:Peer Finder & Looking Glass
YukariChiba · 2020-03-16 · via 0x7f Blog

这部分相对简单。

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 下来(此处略过检查校验的步骤):

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

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

1
UUID=<Your UUID goes here>

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

1
*/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 的环节,只需要将其下载下来即可:

1
go get github.com/alice-lg/birdwatcher

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

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

1
2
3
4
5
6
7
8
# 这里需要加上 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 都要有单独的设置,基本配置如下:

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

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


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