DN11折腾笔记

Posted by l0tus on 2023-11-06
Estimated Reading Time 3 Minutes
Words 785 In Total
Viewed Times

前言

今天我拿阿里云送的300块买了一台轻量。于是我有了一台有公网ip的云服务器。正好DN11群里最近打算开始赶人没组网的闲人了(而且我不是特邀嘉宾(b溃了555))。那正好可以让这个服务器有用武之地。(之后或许会考虑把博客也迁移上去(?但也可能因为嫌域名备案啥的麻烦懒得搞。。)
但身为二进制菜鸡的我在web/network这一块完全是一张白纸。所以简单记录一下,防止之后自己忘掉。。

Intro

来自dn11.top
DN11全称为“11号去中心化网络”,围绕杭电11楼建设。也接纳来自其他宿舍楼的同志。
目前主要采用wireguard接入,后续应该会开放IKEv2等协议的接入,方便其他同学接入。
按照愿景,每个寝室都会分配到172.16.x.0/24这样的一个网段,因此,DN11目前设计上最多接纳255个主要节点接入。

asn、网段选择

根据现有ip和asn选择自己喜欢的就可以。
我的asn是4220086666
ip:172.16.10.0/24

Wireguard

一般配置如下:

1
2
3
4
5
6
7
8
9
10
[Interface]
PrivateKey = <PrivateKey>
ListenPort = <Port>
PostUp = /sbin/ip addr add dev %i <my tunnel IP> peer <another tunnel IP>
Table = off

[Peer]
Endpoint = <EndPoint IP>
PublicKey = <Public Key>
AllowedIPs = 0.0.0.0/0

Bird

配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
log syslog all;
debug protocols all;

# 可以采用隧道地址,也可以采用路由所在的IP,在自己的网段内且不重复即可
router id 172.16.10.254;

# 分表,给后期的其他配置留一点回旋的余地
ipv4 table BGP_table;

protocol device{

}

# 从 master4 导出所有路由表到 kernel
protocol kernel{
ipv4 {
export all;
import none;
};
}

# 宣告 172.16.10.0/24 段
protocol static {
ipv4 {
table BGP_table;
import all;
export none;
};

# 只是为了让BGP的路由表里出现这条路由,不要担心 reject
# 这个动作其实无所谓,reject 这个动作并不会被发到其他 AS
# 后续将在导出到 master4 的时候删除这条路由,本地也不会有这一条
# 请修改为你自己要宣告的段
route 172.16.10.0/24 reject;
}

# 定义BGP模板
template bgp BGP_peers {
# 修改为隧道地址和你的ASN
local 172.16.10.254 as 4220086666;

ipv4 {
table BGP_table;
import all;
export filter {
if source ~ [RTS_STATIC, RTS_BGP] then accept;
reject;
};
};
}
protocol bgp JBNRZ from BGP_peers {
# 对端隧道地址%接口 as ASN
}

# 从 BGP_table 导入路由到 master4
protocol pipe {
table master4;
peer table BGP_table;
import filter {
# 过滤 protocol static 添加的 reject
if source = RTS_STATIC then reject;
accept;
};
export none;
}

up

用BS魔改的启动脚本https://github.com/BaiMeow/wg-quick-op

1
2
3
4
5
./wg-quick-op up <interface> #启动隧道

bird -c bird.conf #启动BGP

birdc s p #查看现有BGP状态

status

status.dn11.top
pic

主机

主机和服务器之间的连接我用的也是wireguard,但是听说是有风险的。。
配置就和正常的一样写,allowedips加上peer群友的网段
然后在服务器上

1
2
3
iptables -A FORWARD -j ACCEPT

echo "1" > /proc/sys/net/ipv4/ip_forward

如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !