共计 3493 个字符,预计需要花费 9 分钟才能阅读完成。
简介
https://dn42.net/howto/Getting-started
注册要求:
- 一个 24 小时运行的 linux/BSD 设备
- 该设备必须支持创建隧道,例如 GRE,OpenVpn,IPSec,Tinc。。注意,你所在的网络的管理员可能会禁止隧道流量
- 懂点 BGP,IBGP 知识,懂的使用 Brid,Quagga 在 linxu 上配置 bgp 路由
注册流程
因为注册的方式大改,不支持之前的网页注册方式,全部改由 git,所以还需要懂点 git 知识。主要流程就是,folk 官方注册库,自己填写好信息,commit。然后 push 到自己的账号下,然后发起 pull request,等待官方合并就行。
假设你的名字是 <RuiXin>,你组织的名字是 <RuiXin-ORG>。我们将会创建 maintainer 对象,该对象包括密码和你的认证方式以便你能编辑修改自己的 maintainer 对象。创建 person 对象,该对象描述了你个人信息,组织信息,联系方式等等一切。所有的这些对象都是简单的 txt 文件,存储在仓库相应的文件夹中
- 创建 maintainer 在 /data/mnter/ 文件夹下创建文件,文件名是你的名字 +MNT,例如 RUIXIN-MNT。
- mnt-by 写上你的文件名,例如 RUIXIN-MNT,不然你不能编辑属于自己的 maintainer 对象
- 添加 PGP Fingerprint,这个不是必须的,填写样例 auth: pgp-fingerprint <pgp-fingerprint>
- 最好填写 auth,ssh 的 pubkey 就行
Example: data/mntner/RUIXIN-MNT
mntner: RUIXIN-MNT
admin-c: RUIXIN-DN42
tech-c: RUIXIN-DN42
mnt-by: RUIXIN-MNT
auth: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0WJYMEiVl2EKw1MCcc31O9se/yJjoYShebWQ6YdGyksIR0pp7QtSLXMwTc/YeGgyB/eh5rg/9FW2/rbG5DglUjs/8NO59AYk5H93V952ygv35ATlOq+CHSRVHyU9pWGg98MQ94G5Apli4fb2VLyYsy8OIHhDEN5sWkymc0Ns8sg3hhjVzBBPqQDFT6YeYvarI2yRx50IuwabNIubGWfv62dSJITnNBePpVydBbsSdR1qT0VdaS8TsswJfHHtfRGd24rag5NyfGcyboGVlPNNP/8tPoi7hFFmDGvPP+/T91/IzpyTKA6KfxBN8PLdgE2yH4qsTu9L/X0xd7vZk8PsZw== DN42
source: DN42
- 创建 Person
在 /data/person/ 文件夹下创建 person,注意,这里写你的名字,而不是你组织的名字。文件名是你的名字,结尾 -DN42,例如文件名是 RUIXIN-DN42
- nic-hdl 填写例如 RUIXIN-DN42,一定要以 -DN42 结尾
- person 随便写,真实姓名,昵称等等
- 一定要记得写 email
- concat 需要提供其他联系你的方式,例如 twitter,irc,可以写一个或多个
- 有些字段可写可不写,例如备注(remarks),pgp-fingerprint 等等
- mnt-by 写上你的名字 + -MNT
Example: data/mntner/RUIXIN-DN42
person: WaterIce
contact: webmaster@zhiqiang.name
nic-hdl: RUIXIN-DN42
mnt-by: RUIXIN-MNT
source: DN42
其他注意事项:
如果你是以个人身份加入 dn42 网络,则不需要填写 Organisations 信息。如果你是以组织身份申请加入 dn42 网络,则需要在 /data/organisation 文件夹下创建你的 organisation
- organisation 是组织的名字 +ORG,例 ORG-RUIXIN
- org-name 是组织的名字
- e-mail 是联系组织的电子邮箱,可以是邮件组
- admin-c, tech-c, abuse-c 这三个类似于刚才的 person 对象,但是这里要填写组织中负责这件事的人的信息
- www 字段填写组织的网站(非必须)
- mnt-by 填写维护组织信息的人的名字,如果填上你自己的,则你就负责维护这个组织信息了
Example: data/organisation/ORG-EXAMPLE
organisation: ORG-RUIXIN
org-name: RuiXin Organization
admin-c: RUIXIN-DN42
tech-c: RUIXIN-DN42
mnt-by: RUIXIN-MNT
source: DN42
- 注册 AS 号
在 /data/aut-num 文件夹下创建文件,文件名是你的 AS 号,例如 AS4242420806
在 DN42 网络的 ASN 空间中,你可以任选一个 as 号注册,具体可以查看 as-block 对象。之前 ASN 空间在 64600 到 64855 和 76100 和 76200。从 2014 年 6 月起,你申请的 AS 号必须在 4242420000-4242423999 范围内。
所有已用的 as 号,可以在 http://ix.ucis.nl/dn42/as.php 中查询。这个列表通过注册信息自动维护
如果你希望使用 dn42 ASN 空间以外的 as 号,请检查一下该 AS 号不与 http://wiki.freifunk.net/AS-Nummern 中的 AS 号冲突,不与其他网络中 AS 号冲突,例如 ChaosVpn 等等。当前在 DN42 网络中已宣布的 AS 号,可以在此查看http://nixnodes.net/dn42/graph/
如果你不太确定,建议去 IRC 或者邮件组问问
Example: data/aut-num/AS4242420806
aut-num: AS4242420806
as-name: RuiXin-AS
admin-c: RUIXIN-DN42
tech-c: RUIXIN-DN42
mnt-by: RUIXIN-MNT
source: DN42
4. 注册 IPV4
只需要创建 inetnum 对象即可。你需要在 DN42 的网络空间中寻找一个可用的 ipv4 网络前缀。可以从以下网址中寻找可用的 ipv4 网络前缀https://dn42.us/peers/free
根据自己的需要,申请合适的网络前缀。
example: data/inetnum/172.22.120.128_25
inetnum: 172.22.120.128 - 172.22.120.255
cidr: 172.22.120.128/25
netname: RUIXIN-NETWORK
admin-c: RUIXIN-DN42
tech-c: RUIXIN-DN42
mnt-by: RUIXIN-MNT
status: ASSIGNED
source: DN42
- 创建 router 对象(宣告网段)
如果你想在 dn42 中宣布你的网络前缀,需要创建 router 对象。宣布 ipv4 网络前缀,需要注创建 router 对象,宣布 ipv6 则需要创建 router6 对象。你需要将你的信息交由 Route Origin Authorization(ROA)去检查一下是否正确。如果你跳过这一步,你的网络可能会无法正常宣告。ROA 主要是检查一下你提交的网络前缀是否正确以及是否会劫持他人的网络。
下面是宣告 IPv4 网络前缀的方法
/data/route/172.22.120.128_25
route: 172.22.120.128/25
origin: AS4242420806
mnt-by: RUIXIN-MNT
source: DN42
- route 网络前缀 CIDR 形式
- origin BGP AS 号
- mnt-by 维护人
- 获取邻居节点以建立连接
在 DN42 网络中,两个节点之间并没有通过物理链路真正的连接在一起。在大多数情况下,大家都是通过 VPN 等方法连接在一起并交换路由信息。
peer 列表在以下网址中,https://dn42.us/peers
- 建立 tunnel
OpenVPN, GRE, GRE + IPSec, IPIP, Tinc 等
- 运行路由软件
你必须在后台运行路由软件以便向你的邻居宣告 BGP 网段。可以使用 linux 下的 Quagga 或者 Brid。不过你可以使用一切可以运行 BGP 的软件,例如 OPENBGPD,XORP,在 DN42 中有人用古老的硬件路由器运行 BGP
Brid 配置例子 https://dn42.net/howto/bird