YTC233 发布的文章

Cloudflare中的准备

进入到域名中,在概述的右边栏找到并点击“获取您的API令牌”;
l5rzzzms.png

新页面中点击“API令牌”选项卡;
l5s008fq.png

点击“创建令牌”;
l5s00enz.png

点击下方“创建自定义令牌”的“开始使用”;
l5s00nhj.png

令牌名称自定义一下,如下修改一下权限;
l5s017qx.png

复制这里的令牌备用。这就是我们后面需要的API_KEY。
l5s02368.png

群晖里的设置
打开Docker,注册表中搜索cloudflare ddns,找到oznu/cloudflare-ddns并下载;
l5s03198.png

找到下载好的映像并启动;
l5s042k3.png

在高级设置中勾选“启用自动重新启动”;
l5s049yx.png

“网络”中勾选“使用与Docker Host相同的网络”。(如果你只是要IPV4的DDNS则无需勾选)

l5s04nop.png

在环境中增加以下3个变量。API_KEY 就是你上面在Cloudflare申请的API KEY. ZONE 就是你的域名。SUBDOMAIN就是你的子域名。

l5s06g4g.png

还是在环境选项卡中,往下滚动,找到这两个变量。将RRTYPE更改为AAAA。(IPV4则保留默认的A)CRON是让这个程序多久运行一次。默认是5分钟,我觉得实在用不着。可以结合在线CRON表达式生成器来自定义一个。

点击应用,最后启动容器,过一会儿在日志里就能看到运行情况了。

l5s07rol.png

访问测试

l5s0ag3r.png

注意
Cloudflare 支持的回源端口只有如下几个:

HTTP:

80
8080
8880
2052
2082
2086
2095

HTTPS:

443
2053
2083
2087
2096
8443

设置DSM的端口的时候,只能在这里面选,需注意80/443已经被系统占用,无法更改。


{alert type="warning"}
提示:请仔细阅读步骤,否则重新挂载可能造成数据丢失!
{/alert}

1.购买与你服务器同地域的 Block Storage (存储块)

2.在Stallion将硬盘与服务器关联

l5rz0pyp.png

3.重启一次服务器

l5rz2b5h.png

4.ssh登录服务器,输入以下内容

ls /dev/disk/by-id/

l5rzd9c1.png
记住那个scsi的磁盘名称


如果你的存储块已经有内容了

请前往 7.挂载

如果你的存储块还是空白的

5.格式化

输入 mkfs.ext4 -F /dev/disk/by-id/scsi-0BUYVM_SLAB_VOLUME-xxxxx xxxxx是你刚刚那个硬盘名称最后面那个数字

6.创建挂载点

mkdir /data1 在/ 下创建一个data1文件夹

7.挂载

mount -o discard,defaults /dev/disk/by-id/scsi-0BUYVM_SLAB_VOLUME-xxxxx /data1/
各参数意义同前

8.检查挂载是否完成

输入df -h
l5rzowut.png
可以看见最后出现了你的挂载点

9.设置开机自动挂载

echo '/dev/disk/by-id/scsi-0BUYVM_SLAB_VOLUME-xxxxx /data1 ext4 defaults,nofail,discard 0 0' | tee -a /etc/fstab


众所周知,spigot是minecraft非常好用也是用的人比较多的一个插件服服务端核心(基于bukkit),稳定性较好,性能也不错,一般来说我们都会去直接下载编译好的核心然后运行,但有些时候我们想要最新版本或者刚好我们找不到下载地址,这时候我们就需要自己进行编译了。

下载BuildTools

我们假设你已经安装好了对应的java版本(不同版本mc需求java版本不同)
首先去spigot官方下载 BuildTools.jar
把他丢到一个文件夹里面。

运行BuildTools

随后在刚刚这个文件夹里面按住shift+鼠标右键(注意不要选择文件),选择“在此处打开命令窗口”
l5ez8jms.png

随后在打开的命令行中输入

java -jar BuildTools.jar --rev 1.12.2 //1.12.2是游戏版本,看你要啥版本了

然后就是一顿下载(会生成我刚刚截图里面那几个文件夹),然后开始编译(以后的编译因为只需要检查更新所以会快很多),第一次会比较慢。

编译结束后就会在文件夹目录生成对应游戏版本的spigot的jar文件。


由于dn42注册方式更新较快,本文所推荐教程不能保证原作者实时更新,所以仅供参考

注册

推荐不会git的新手先看看git的教程,不然很难操作,或者可以自行结合多个注册教程(tg群问问也许会有人帮你)

如果你对git使用较为熟练,那么注册流程建议参考Lan Tian大佬的教程 https://lantian.pub/article/modify-website/dn42-experimental-network-2020.lantian/ (他一直有在更新,目前注册方法相比先前有点小变化所以这个是非官方教程中最新的之一)

建立隧道、BGP会话

可参考MiaoTony的教程,个人认为较为全面,bird配置环节去官方wiki复制下配置文件就好
https://miaotony.xyz/2021/03/25/Server_DN42/

组内网

参考这篇,写的很好,墙裂推荐
https://aoyouer.com/posts/dns42-network-begining/

其它写的很不错的教程

宝硕博客 https://blog.baoshuo.ren/post/dn42-network/
对很多步骤都进行了详细的解析,不过现在注册分支不需要日期啥的了,对link-local的使用介绍的不是特别详细,需要有些基础才行

Longtianmu's Infinity Bloghttps://ltm.ink/dn42/
也炒鸡详细)

官方教程(更新最快,新手不推荐,出错时可供参考) https://dn42.dev/howto/Getting-started


前几天我在buyvm的debian10镜像的机子上配置wireguard,然后安装dkms的时候发现了这个提示
Module build for kernel 4.19.0-18-amd64 was skipped since the kernel headers for this kernel does not seem to be installed.
因为眼瞎没仔细看他英文提示的啥(since漏了导致我以为是对该版本内核不安装的意思)去网上搜了半天没搜出来咋回事
然后因为我是在配置dn42连接的时候发现的问题,所以就跑非官方群问了下,得到了大佬的解答:

l4p6ng1t.png
(好的我是伞兵)

解决方法很简单,安装当前linux内核版本相对应的linux-header就好,自动命令如下:

CentOS系

sudo yum -y install kernel-headers  //安装kernel-headers

sudo yum -y install kernel-devel    //安装kernel-devel

Debian系(包括Ubuntu)

sudo apt-get install build-essential  //install build-essential(optional)

sudo apt-get update                  //install linux-headers
sudo apt-get install linux-headers-$(uname -r)

sudo apt-get update && sudo apt-get install build-essential linux-headers-$(uname -r)