PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

树莓派4廉价DNS缓存+NAS+aria2下载方案

[复制链接]
Fistnine 发表于 2020-6-7 18:58 | 显示全部楼层 |阅读模式
点击数:1079|回复数:14
本帖最后由 Essence 于 2020-6-7 20:42 编辑

这个方案适合家庭,无论你是豪华别墅还是普通楼房都适用
需要点linux基础,没有也没关系,一步一步来就可以成功
另外为了防止复制粘贴,本文所有“我”会采用“拳⑨”方式防止粘贴党
准备:
1.光猫(拳⑨用的是华为HS8145V,最好选用多LAN口输出的光猫,原因之后再说)2.路由器或者AP(拳⑨用的是华为AP4050DN,普通路由器也行)
3.树莓派4一个(推荐树莓派4的1G内存版本,廉价,性能好)

4.5V3A充电器或适配器+type-c数据线
(这里要说明一下,首先5V3A的适配器很难找,树莓派4官方的适配器又有点贵,拳⑨用的是IPAD的5V2.4A的充电器,type-c数据线最好选用全兼容的type-c数据线,有的type-c数据线无法适用树莓派4的1G版本,因为树莓派4早期供电设计有问题有部分type-c数据线无法供电,之后改过了,但改过方案的只有树莓派4的2G以上版本,如果你嫌麻烦可以直接买2G版本,或者买一根好点的type-c线就能解决此问题,拳⑨用的是绿联官网购买的type-c线,17块钱。当然也可以直接使用220V转5V3A的适配器把直流电接到树莓派的供电引脚上,之后会说)
5.硬盘+3.5/2.5英寸硬盘盒(目的是让SATA转成USB,当然也可以使用其他方案解决,总之最后转成USB就行了,最好3.0,拳⑨用的是绿联的移动硬盘盒双盘位99入手)
6.TF卡+读卡器或U盘(8G或者16G都行,主要用来运行树莓派系统)
7.树莓派散热片或散热模块(非必要,拳⑨用的是散热片+硅脂,某宝搜树莓派4散热,自行决定)
8.一杯咖啡+一杯酸奶+可能一下午的时间+智慧的大脑+勤劳的双手+一间厕所

目的:
1.NAS的目的大家都清楚
2.DNS缓存,加快上网速度避免DNS污染,原理百度一下就知道,或者往下看拳⑨会解释
3.Aria2下载,因为bt不可能随时都能有资源,开着大奶待机都60W,电费受不了,树莓派24小时下载放着不管就行了

概括:
市面上的NAS都贵的要死,就算黑群晖也贵。这套方案算上所有东西也远不到1K,实际上500块钱不要就能搞定,光猫和路由器现在每家都应该有,实际上花钱的也只有:树莓派+供电+硬盘转USB的设备。
下面是设备接线图



开工:
1.连接设备
树莓派4接光猫(应该没人会蠢到插iTV口吧?)
AP或路由器插光猫(应该没人会蠢到插iTV口吧?)
大奶插路由器(或笔记本连接路由器WIFI都可)
2.搭建环境
光猫网关:192.168.1.1(保持默认开启DHCP就好,不要多余的操作)
AP或路由器网关:1.1.1.1(保持默认开启DHCP就好,不要多余的操作)
电脑IP:1.1.1.9(建议先设置为固定方便调试)

3.下载系统
拳⑨使用的是centos7
不推荐使用树莓派官网的系统,原因有几点:
1)官网Raspberry Pi系统太占用性能了,官网精简的系统是debian,也是魔改版,这也因为树莓派主要是为了能扩展其他开发方案,拳⑨们并不需要。
2)Debian默认不允许root用户登陆,默认不能SSH,需要多几部操作,这样就需要多买miniHDMI转换头,因为树莓派4没有HDMI输出。拳⑨知道能解解决默认SSH问题,而且也能之后通过修改文件允许root用户通过SSH登陆系统,但这样步骤就多了,而且还要解决键盘映射问题,因为默认不是美式键盘,是英式的…………很多时候会出现奇怪的操作和乱码。拳⑨试过修改为美式键盘,但怎么也修改不过来,也懒得搞了。
3)拳⑨不熟悉debian←主要原因

首先选择一个国内centos的源,拳⑨用的是中国科学技术大学的源:
http://mirrors.ustc.edu.cn/centos-altarch/7.8.2003/isos/armhfp/


选择:http://mirrors.ustc.edu.cn/cento ... l-4-2003-sda.raw.xz
(可以看到,这是centos-altarch的系统,并不是x86的,7.8.2003是系统版本,目前好像centos只有这个镜像。后面的RaspberryPI-Minimal-4很明显是支持树莓派4的Minimal版本,最小容量的版本。上面的GNOME和KDE版本是图形界面版本,都一样,只不过运行的时候会耗费更多的内存,如果你买的是2G或者内存更多的版本可以选用图形界面的版本,但拳⑨没试过)

选用国内源是因为速度快,树莓派架构是arm不能使用x86的源,以后装软件如果不选用正确的源也会出问题,而且支持树莓派的centos版本很少,国内的源大多都没有树莓派版本的centos,拳⑨只在中国科学技术大学的源里面找到了。之后的yum源也使用中国科学技术大学的源。

下载好镜像后用压缩软件(推荐用7z)解压得到:



接下来把TF卡通过读卡器插到电脑上,使用Win32DiskImager烧入到TF卡里
下载:https://sourceforge.net/projects ... binary.zip/download
选择镜像和自己的设备:


默认看不到后缀.raw的文件,选择全部,一样可以烧入

选择好后点写入,等待几分钟,这个时候去把咖啡泡好。

4.修改系统分区参数
http://download.eassos.cn/DG521941_x86.zip
使用DiskGenius(一定要最新版不然不支持ext分区格式)可以看到(图中是8G的TF卡)


烧入的系统默认是MBR引导的,不用管(除非你用2T以上的TF卡……)
第一个是BOOT分区(centos不用管,但如果是树莓派官方debian系统就要新建一个SSH文件,否则默认不会启用SSH,就不能远程访问,就需要再买miniHDMI转接头接到显示器上操作)
第二个是swap分区(linux下的虚拟内存,建议不管,强迫症非要修改的话操作起来会很麻烦,因为这个分区是在“/”系统文件之前。如果你是DiskGenius付费用户可以试试)
第三个是“/”分区,就是存放系统文件的分区,linux默认所有文件都在/下,有兴趣可以自己找资料linux系统文件结构

后面有空闲的5G当然要利用上,不然只有1.7G的空间被使用到系统,稍微安装点软件就满了……


右键选择“/”分区调整分区大小

鼠标放到这里拖到最右边,然后确定就行了
这个时候等待5分钟左右,咖啡应该凉了一会,温度刚刚好,品一口。
完成后应该是这样:


5.上车
直接把TF卡插入树莓派4妹,紧接着插入网卡、电源(通电后会自动开机)
这时候打开SSH工具(根据自己喜好,拳⑨使用的是MobaXterm)
https://download.mobatek.net/202 ... _Portable_v20.2.zip
(非必要:打开Settings,选择SSH,勾选SSH keepalive ,为了终端能够长时间运行,否则默认隔一段时间终端会断,需要再次链接)
右键新建一个session


选择SSH,Remote host填写树莓派的IP地址,勾选Specify username填写root用户

点击OK,接下来应该会看到:

默认密码:centos(linux输入密码的时候没有字符显示,输入完毕后回车就行了)
应该会看到:


现在已经深入莓派妹体内了。

6.配置网络
Centos默认有nmtui工具
输入:
[root@hostfist ~]# nmtui
(“[root@hostfist ~]#” 是root用户和host信息,或许你的会和拳⑨的不同,不用管,nmtui是命令输入nmtui回车就行了,之后不再解释)
弹出蓝色的界面,上下键选择Edit a connection回车,然后选择第一行的网卡,(应该是Wired开头的)回车


都是上下左右回车的操作,很简单,填写完毕后选择<OK>然后<Back>然后<Quit>

7.修改密码(非必要)
输入:
[root@hostfist ~]# passwd
直接输入两次新密码即可

8.配置yum源
之前说过为什么使用国内源,这里也采用中国科学技术大学的源
MobaXterm右侧有图形化的界面,非常方便,鼠标点击即可
打开文件:/etc/yum.repos.d/CentOS-Base.repo
双击就行,默认MobaXterm提供文本编辑器,你也可以使用vi或者vim的内部编辑,但编写很麻烦
直接全部删除然后粘贴:
#########开始#########
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/updates/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/extras/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32
#########结束#########

或者如果手动改的话:
注释所有mirrorlist开头的行,一共4行(linux中文件内#开头的行都为注释)
默认所有baseurl开头的行是注释状态,删除“#”即可
然后把baseurl后面的地址改为中国科学技术大学源的地址
http://mirrors.ustc.edu.cn/centos-altarch/(后面$开头的不要动)

修改完毕后Ctrl+S保存,然后会弹出是否上传到系统,选择yes就行了,会自动上传到系统

然后输入命令:
[root@hostfist ~]# yum update
更新yum源
这个时候等待5分钟左右,再品一口咖啡。

9.为了方便
方便配置,先关掉防火墙
输入命令:
[root@hostfist ~]# systemctl stop firewalld

也是为了方便,先关闭SElinux(临时关闭)
输入命令
[root@hostfist ~]# setenforce 0

打开/etc/selinux/config文件,找到SELINUX一行(永久关闭)
修改为:SELINUX=disabled
保存
(一定要看清楚!是SELINUX行,不是SELINUXTYPE的行,不然保存后系统重启会直接无法启动!那就要重新回到烧入系统那一步!或者通过其他方式把这个文件修改正确才能启动!一定要看清楚!)

10.配置DNS缓存(有兴趣可以网上找dnsmasq的详情配置参数教程)

输入命令:
[root@hostfist ~]# yum install dnsmasq -y
等待安装完毕后打开/etc/dnsmasq.conf文件,删除所有文字(前面都是#的注释文字)粘贴:
#########开始#########
resolv-file=/etc/resolv_dnsmasq.conf
no-hosts
no-poll
strict-order
cache-size=2000000
listen-address=127.0.0.1,192.168.1.10
all-servers
log-async=80
#注意上面的192.168.1.10要填写树莓派的地址
#########结束#########
然后保存,上传。

然后输入
[root@hostfist ~]# touch /etc/resolv_dnsmasq.conf

然后打开/etc/resolv_dnsmasq.conf文件,编写:
nameserver 127.0.0.1
nameserver 223.5.5.5
nameserver 208.67.222.220
nameserver 208.67.220.222
(nameserver第一行为127.0.0.1,第二行是opendns的公网dns,第三第四行是阿里云的公网DNS,根据个人喜好填写)
保存,上传。

然后输入
[root@hostfist ~]# systemctl restart dnsmasq
重启dnsmasq服务

然后输入
[root@hostfist ~]# systemctl enable dnsmasq
开机自动启动dnsmasq服务

这个时候你已经可以修改自己电脑的DNS为192.168.1.10来测试是否可以正常上网
(如果只想止步于此可以直接跳到路由器配置阶段)

11.配置NAS
这里拳⑨使用samba(简称SMB),因为兼容性好,而且可以设置权限
拳⑨知道有人要说NFS好,速度快什么的,但NFS有些其他方面的问题,这里不赘述,可以自行百度
总之SMB能做的事情更多,基本上任何设备都有使用SMB协议(包括复印机)
首先这里说一下,SMB默认使用445端口,不建议修改,因为windows系统默认网上邻居的链接(就是SMB)的端口就是445,没必要增加其他的修改成本

先安装:
[root@hostfist ~]# yum install samba -y

安装完毕后先上个厕所,然后喝口咖啡冷静一下,接下来就是让人心跳加速的操作了

先关掉她:
[root@hostfist ~]# poweroff
拔掉树莓派的电源,然后插入你的硬盘设备,推荐插入3.0口。

如果硬盘有资料情况会很复杂:(如果是空硬盘可以跳过此步骤)
首先你有1个或者两个以上的硬盘,首先要搞清楚硬盘的格式,一般是NTFS,里面有很多《重要文件》最好能借一块硬盘来操作
简单的说linux默认不支持NTFS的硬盘格式,linux目前主流使用ext3、ext4、xfs等格式,拳⑨推荐使用xfs格式
如果你的硬盘容量小于2T,看下去就行
如果你的硬盘容量大于2T,而且单个分区大于2T,要使用GPT分区表,之后会说
比如:
拳⑨有一块1T容量的硬盘A,找朋友借了一块1T的空盘B
硬盘A有《重要文件》,硬盘B是空的
这个时候将两块硬盘都插入绿联硬盘盒,连接电脑,使用DiskGenius将B空硬盘格式化为ext4或ext3,然后将硬盘A的文件备份到硬盘B内(需要购买DiskGenius的注册码才能拥有此功能)
如果穷,没钱(当然拳⑨也是)就开始如下操作:
使用虚拟机virtualbox,安装ubuntu服务器版或者桌面版,备份文件(因为ubuntu默认支持NTFS)
推荐安装virtualbox的扩展包
https://download.virtualbox.org/ ... 6.1.10.vbox-extpack
为了能使用virtualbox的USB3.0功能,具体操作百度一下很简单
进入ubuntu系统后挂载USB接口(也就是硬盘),然后将B硬盘格式化为xfs或者ext4或者ext3,
如果是桌面版直接拖拽备份文件就行了,如是ubuntu服务器版就先用mount命令挂载然后复制,大致命令:
$ sudo fdisk -l
#查看硬盘对应的路径(linux所有硬件都用文件来表示)
#比如硬盘A为/dev/sda,硬盘B为/dev/sdb
#硬盘文件后的数字表示分区 比如/dev/sda1为硬盘A的第一分区

如果硬盘B有分区(一般有)格式无所谓:
$ sudo mkfs.xfs /dev/sdb1
#将硬盘B格式化为xfs格式(推荐)如果想用ext4就使用mkfs.ext4命令
#如果严格按照上面的步骤来,此时硬盘B应该用DiskGenius改为ext了

$ sudo mkdir /mnt/A
#建立硬盘A的挂载路径

$ sudo mkdir /mnt/B
#建立硬盘B的挂载路径

$ sudo mount /dev/sda1 /mnt/A
#挂载硬盘A到/mnt/A

$ sudo mount /dev/sdb1 /mnt/B
#挂载硬盘B到/mnt/B

$ sudo cp /mnt/A/* /mnt/B
#把硬盘A的所有东西拷贝到硬盘B(时间根据你的硬盘速度和文件大小决定)
#想看进度就按键盘win+F2切换到终端2
#使用命令:htop来查看CPU使用情况,拷贝时一般15%左右,拷贝完毕0%

备份好后再将硬盘A格式化为xfs或者ext,然后再拷回来,或者拳⑨把借来的硬盘B毛了

(硬盘没文件的跳到这)

插入硬盘后,再给树莓派插上电源,这时所有的插入工作已完毕,接下来就要好好调教了

开机后回到电脑面前,打开MobaXterm进入内部
使用fdisk查看硬盘的硬件路径(linux所有硬件都是用文件表示)
输入
[root@hostfist ~]# fdisk -l

如果硬盘小于2T应该显示:


图中/dev/sda表示的硬盘路径(这是拳⑨的U盘),后面显示的容量等信息。最后一行显示的是分区,分区1为/dev/sda1,分区2为/dev/sda2,分区3…………

如果硬盘大于2T使用GPT分区表会报WARNING:


无关紧要,最下面一行显示的也是分区,分区1为/dev/sdb1,分区2为/dev/sdb2等等

注意Disk label type行,显示dos表示硬盘使用MBR分区表,显示gpt就是GPT分区表

2T以上要改为GPT(可以使用parted命令将硬盘分区表改为GPT,也可以在windows上改)

如果是2T硬盘可以使用
[root@hostfist ~]# parted -l
查看硬盘情况,两者无太大区别

上步主要是为了找到硬盘正确的位置,这里例子是2T的硬盘挂载到/mnt/目录下
为什么要挂载到/mnt/目录下呢?因为习惯问题,默认linux目录规则/mnt/目录就是用来挂载外部设备的,方便记住,因为重启后一般是需要重新挂载硬盘的。
只用过windows的可能会奇怪为什么还要挂载,那是因为centos默认不自动挂载,会出现某些安全隐患。你把U盘插到windows上,windows会自动帮你根据盘符顺序挂载,这是windows内部设计好的,linux则没有。(很多系统中毒都是U盘直接插入时就被感染了)
总之现在知道了拳⑨们的硬盘位置:/dev/sdb1
2T的硬盘分了一个区,这个分区的名字是sdb1

首先格式化:
[root@hostfist ~]# mkfs.xfs /dev/sdb1
可能会有提示,告诉你格式化会删除里面全部东西

格式化完后检查:
[root@hostfist ~]# parted -l


显示格式为xfs

然后建立挂载文件夹:(必须要先建立文件夹用来挂载硬盘里面的资料)
[root@hostfist ~]# mkdir /mnt/WD2T
建立一个名叫WD2T的文件夹(简单好记)

这个时候要分配权限了:
因为操作的时候是root用户,如果要共享就必须要建立一个普通用户,不然最后共享的时候都是root用户在文件夹力为所欲为,那她很容易就被玩坏的。
先建立一个用户:
[root@hostfist ~]# useradd admin
创建admin(名字随意)用户后需要建立一个密码:
[root@hostfist ~]# passwd admin
密码随意,输入两次
然后把/mnt/WD2T的权限分配给admin用户:
[root@hostfist ~]# chown -R admin:admin /mnt/WD2T
因为目前都是在root用户下操作的,所以刚才建立的/mnt/WD2T目录的权限是root用户的
然后查看一下是否正确:
[root@hostfist ~]# ls -l
#显示drwxr-xr-x 12 admin admin 241 Jun  5 16:21 WD2T
主要看前面是否为drwxr-xr-x
中间是否为admin admin

然后挂载硬盘:
[root@hostfist ~]# mount /mnt/WD2T

挂载完后还需要重新分配一下权限:
[root@hostfist ~]# chown -R admin:admin /mnt/WD2T
为了保险

然后喝一口咖啡继续。

之前已经下载好了smb,只需要配置就行了:
用MobaXterm的编辑器打开/etc/samba/smb.conf配置文件
还是全部删除里面的东西直接复制粘贴:
#########开始#########
[global]
        workgroup = admin
        security = user
        passdb backend = smbpasswd
        load printers = no

[homes]
        comment = mnt
        path = /mnt/WD2T
        valid users = %S, %D%w%S
        browseable = no
        guest ok = no
        write list = admin
        valid users = admin
        inherit acls = Yes
#########结束#########
#如果想不需要密码让其他人也能直接访问文件就将guest ok行改为yes
#如果想让windows或其他平台直接找到该分享的目录可以将browseable行改为yes

保存,上传

然后将刚才创建的系统普通用户转换为smb服务可用的用户:
[root@hostfist ~]# smbpasswd -a admin
把admin添加为smb共享的用户

然后重启smb服务:
[root@hostfist ~]# systemctl restart smb

将smb服务设置为开机启动:
[root@hostfist ~]# systemctl enable smb

OK,现在你可以在电脑中输入\\192.168.1.10\来访问WD2T的目录了
提示输入用户密码,用户admin,密码是之前建立账户时候的密码
(如果只想止步于此可以直接跳到路由器配置阶段)

12.配置aria2
首先介绍一下aria2,aria2是一个开源免费的下载工具,由于没有图形界面,下载全靠指令,但不可能拳⑨们每次下载都要靠指令对吧,所以就有了很多方便下载的方法。它可以下载http链接的文件,也可以下在磁力链接、BT、PT等等。

首先是不能直接安装aria2的,默认的yum源里没有,需要先安装epel
[root@hostfist ~]# yum install epel-release -y

清除缓存:
[root@hostfist ~]# yum clean all

创建缓存:
[root@hostfist ~]# yum makecache

可能需要点时间,这时咖啡可能喝完了,洗下杯子换一杯酸奶吸一口。

安装aria2:
[root@hostfist ~]# yum install aria2 -y

然后创建aria2需要的目录和文件:
[root@hostfist ~]# mkdir /etc/aria2
[root@hostfist ~]# touch /etc/aria2/aria2.session
[root@hostfist ~]# touch /etc/aria2/aria2.conf

创建下载目录:
[root@hostfist ~]# mkdir /mnt/WD2T/Download
分配权限:
[root@hostfist ~]# chown -R admin:admin /mnt/WD2T/Download

打开/etc/aria2/aria2.conf配置文件
复制粘贴:
#########开始#########
dir=/mnt/ WD2T/Download
disk-cache=16M
continue=true
file-allocation=none
remote-time=true

input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
save-session-interval=60

enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-listen-port=6800
rpc-secret=909
force-save=false

max-file-not-found=5
max-tries=0
retry-wait=10
max-concurrent-downloads=100
max-connection-per-server=16
split=16
max-overall-download-limit=0
max-download-limit=0
max-overall-upload-limit=512K
max-upload-limit=0
disable-ipv6=true
min-split-size=4M
http-accept-gzip=true
reuse-uri=false
no-netrc=true
allow-overwrite=false
auto-file-renaming=true
content-disposition-default-utf8=true

quiet=false

follow-torrent=true
listen-port=51413
dht-listen-port=51413
enable-dht=true
enable-dht6=false
bt-enable-lpd=true
enable-peer-exchange=true
bt-max-peers=0
bt-request-peer-speed-limit=50K
seed-ratio=1.0
seed-time = 0
bt-hash-check-seed=true
bt-seed-unverified=true
bt-save-metadata=true
bt-load-saved-metadata=true
bt-remove-unselected-file=true
rpc-save-upload-metadata=true
bt-force-encryption=true
#########结束#########
#dir=/mnt/ WD2T/Download是设置默认下载的目录
#rpc-listen-port=6800是端口
#rpc-secret=909 是设置aria2配置的RPC密钥可自己设置个喜欢的
#其他的参数感兴趣的可以去网上找它们的含义

本文不讨论使用PT,配置也相对简单,网上很多方法

此时可以使用aria2了,但拳⑨们要简单的使用她
这里采用web界面的方式来操作下载
首先安装Nginx
[root@hostfist ~]# yum install nginx -y

默认nginx启动html文件的目录是/usr/share/nginx/html/
在MobaXterm文件浏览器中依次打开到此目录(里面应该是空的)

然后在windows界面下载
https://github.com/mayswind/AriaNg/releases


两个都行

下载好后将里面的所有文件都丢到/usr/share/nginx/html/的目录中去
直接拖到MobaXterm文件浏览器窗口中就行了

重启nginx服务:
[root@hostfist ~]# systemctl restart nginx

将nginx服务设置为开机启动:
[root@hostfist ~]# systemctl enable nginx

查看是否启动:
[root@hostfist ~]# systemctl status nginx

此时你可以在windows电脑上打开浏览器输入192.168.1.10
应该会看到


Aria2状态未连接?
点击AriaNg设置找到一栏
在Aria2 RPC密钥栏中输入之前配置的密码909
提示重新链接

另外可以在浏览器输入http://edam.top/tk/获取trackers
建议获取trackers_all_ip然后点击复制
回到AriaNg界面
点击Aria2设置,点击BitTorrent设置,找到“BT服务器地址(bt-tracker)”
把刚才复制的地址粘贴进去,底下应该会有显示共计

最后把剩下的酸奶都添完
接下来你想怎么干就怎么干了

13.AP路由器配置以及事后
先点根烟缓一下

进入路由器,设置为固定获取IP,比如192.168.1.5,DNS设置为192.168.1.10
这样所有连接路由器的设备都会自动使用她作为缓存

强迫症行为:
可选择性关闭路由器的DNS缓存(拳⑨用的AP关了DNS缓存)
可选择性关闭windows电脑的缓存(拳⑨用的电脑关了DNS缓存)
管理员运行CMD输入:
REG add “HKLM\SYSTEM\CurrentControlSet\services\dnscache” /v Start /t REG_DWORD /d 4 /f
关闭WIN10的DNS缓存服务

恢复WIN10的DNS缓存服务:
REG add “HKLM\SYSTEM\CurrentControlSet\services\dnscache” /v Start /t REG_DWORD /d 2 /f

重启后生效

事后:
可以选择性的开启防火墙:
[root@hostfist ~]# systemctl start firewalld

开启防火墙端口:
53/tcp
#默认dnsmasq服务的端口
53/udp
#默认dnsmasq服务的监听端口
445/tcp
#默认smb共享的端口
6800/tcp
#aria2配置文件设置的监听端口
80/tcp
#Nginx的端口

命令:
[root@hostfist ~]# firewall-cmd --zone=public --add-port=80/tcp -permanent
命令中的80/tcp代表Nginx端口,整条命令表示永久开启80/tcp端口,只需要依次将上面所有的端口都开启就行了

然后输入:
[root@hostfist ~]# firewall-cmd -reload
重启防火墙更新规则
[root@hostfist ~]# firewall-cmd --runtime-to-permanent
永久更新防火墙规则保存到文件

重启防火墙:
[root@hostfist ~]# systemctl restart firewalld

查看是否开通:
[root@hostfist ~]# firewall-cmd --list-port
# 22/tcp 445/tcp 53/tcp 53/udp 6800/tcp 80/tcp
显示的是已经开通的端口,第一个22/tcp是SSH的端口(千万别关!)

SElinux就不建议开启了,如果开启SElinux那篇幅还要多一倍

最后,咖啡和酸奶喝完了只能倒一杯水了,一口闷

此文肯定还有很多不足或者没说清楚的地方,指出错误,拳⑨会改。
拳⑨不介意转载,说明下就行了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1代金券 +200 收起 理由
石头 + 200 2精优秀

查看全部评分

DoctorX99 发表于 2020-6-8 09:37 | 显示全部楼层
Mark一下,之前用3B加SmartDNS做过DNS缓存,后来感觉不怎么稳定就弃坑了,看来现在又可以入个4玩玩
来自安卓客户端来自安卓客户端
十月初一 发表于 2020-6-8 15:24 | 显示全部楼层
抄下作业学习下
七月流火 发表于 2020-6-8 16:17 | 显示全部楼层
标记下,成本不高的好方案。

之前宽带只有4m的时候,还用过老笔记本内置+外接移动硬盘24小时下载的方案,远程控制下下载很方便,就是功耗大了点,整机十几w的样子。

目前在用的是主机24小时待机方案,整机下载时大概60多w,但大多数热门资源正常使用电脑的时间就足够下载了。这个使用起来,文件管理是最方便的。没任务时电脑休眠,整机功耗1w多,需要时花十多秒远程唤醒开机。
少量需要长期下载的东西就是拖手机24小时下载,功耗低,也方便随时看进度,副作用是耗电加快,家里到处都是磁性充电线,方便随手补电
eikeime 发表于 2020-6-8 20:18 | 显示全部楼层
raspbian boot 区放个 ssh 文件就能ssh 了,root 登录 也只是 设个密码就行了,比你这快多了,用lite系统 也不会占用更多资源。1g的内存非常不推荐,bt的时候造成oom太常见了。2g内存的会好很多 也贵不了几十。另外既然有做nas的企图,还不如直接 用lvm管理硬盘做成 thin provision,随时可以增加硬盘,还能提供冗余。
eikeime 发表于 2020-6-8 20:20 | 显示全部楼层
DoctorX99 发表于 2020-6-8 09:37
Mark一下,之前用3B加SmartDNS做过DNS缓存,后来感觉不怎么稳定就弃坑了,看来现在又可以入个4玩玩
...

3代的 io很差,很差,4代只能说勉强可以接受了,dns这种对延迟略敏感的不是很推荐。
ahfncj 发表于 2020-6-9 09:58 | 显示全部楼层
“拳⑨”方式防止粘贴党

这个直接搜索替换不就搞定了   怎么防

而且拳⑨  看的我尬尴的一笔
Fistnine  楼主| 发表于 2020-6-9 14:24 | 显示全部楼层
本帖最后由 Fistnine 于 2020-6-9 15:04 编辑
eikeime 发表于 2020-6-8 20:18
raspbian boot 区放个 ssh 文件就能ssh 了,root 登录 也只是 设个密码就行了,比你这快多了,用lite系统  ...

首先感谢你提出自己的观点。
你应该只看了全文的开头,在文章内我有说道树莓派官方提供的最小体积系统(lite)就是debian的魔改版,而且也提到可以用在boot中新建ssh文件默认开启ssh,也提过root用户登陆问题。

为什么不用官方系统?我文中有简单说过。
这篇文章的主旨是廉价,廉价的金钱、时间成本以及廉价的劳动力。
如果说用官方最小化系统,就还需要安装一些基本工具,不仅仅是更换源这么简单了,那这篇文章的篇幅又要加长,而且时间和劳动力也会增加。

1G内存完全够用,htop工具:

这是服务全开的情况(yum install htop -y安装此命令)

关于thin provision,先不谈这个方案的弊端有多少(在我看来是完全没用的东西),这样就又要安装lvm2,还要对硬盘非常了解,操作也非常危险。
这就又设计到了时间成本和操作成本,文章篇幅起码还要翻一倍。

还有你说的“dns这种对延迟略敏感……“有点误导读者的嫌疑了。
首先dns跟延迟敏不敏感没什么关系,dns服务器的原理也非常简单,刚好可以借此稍微解释一下:(详细还是网上找文章不然篇幅又要拉长)

dnsmasq功能很强大,可路由、dhcp、dns服务等等,但我们只需要用来做dns缓存。
因为树莓派的性能无论怎么样也不可能比得上那些公网dns服务器的性能,所以可以让树莓派把你浏览过的网站解析存储下来,设备再访问此域名的时候就直接在树莓派dns缓存里面找就行了,不需要链接共同dns服务器。路由器的dns缓存也是这个原理,但路由器性能太差了,而且缓存的条目不是很多。
如果说电脑直接设置为公网dns,那么从访问域名到解析到ip地址的过程就是:pc-路由器-光猫-电信路由器-公网dns服务器,然后再原路返回。
如果用树莓派做缓存第一次:pc-路由器-树莓派-光猫-电信路由器-公网dns服务器,然后返回。
关键就是第二次:pc-路由器-树莓派,然后原路返回。
大部分时间实际上都耗费在公网上,内网无论怎么样时间也不会超过2毫秒。

当然电脑自己也有缓存,但关机就没了。

文中配置dnsmasq的时候也说道在查询公网dns服务器的时候可以根据自己喜好来选择,原理还是路由器缓存dns一样,只不过树莓派的性能远比普通或者上千元的路由器性能强多了。
dns-forward-max=2000000
配置文件中这一行是指的dnsmasq最大缓存dns条目,2百万足够用了,就算你设置到1千万也没问题,树莓派的性能完全顶得住。

最后再感谢你提出疑问,确实文中关于某些方面解释的过于简单

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
eikeime 发表于 2020-6-9 21:15 | 显示全部楼层
本帖最后由 eikeime 于 2020-6-9 21:40 编辑
Fistnine 发表于 2020-6-9 14:24
首先感谢你提出自己的观点。
你应该只看了全文的开头,在文章内我有说道树莓派官方提供的最小体积系统(li ...

首先  我全篇都看过了才回复的,ssh 那部分我的意思是 并没有多复杂,增加的耗时比直接使用centos 的门槛其实更低,当然你熟悉centos 的话门槛也就差不多了。
至于1g内存,如果只用aria2而且bt强度不高的话确实够了。但是只要额外30块就能pi4 2g的前提下,1g作为下载机和简易nas非常不值得推荐,更何况不可能只停留在仅仅这些功能,flexget、mqtt、梯子、vlmcsd等等的。
然后我说pi3 io问题确实有点误导,漏掉了中间环节,还是因为bt强度略大的时候,1g内存部分服务被挤到swap时候造成的访问初期的 卡顿问题。pi3b和3b+还有个额外的问题,网卡实际上和其他usb口的hub在一个 根上,下载时候磁盘io重 都会造成 网络延迟加大,这也是另一个 我说pi3不不宜做dns 缓存的原因。
再有就是 bt不多不介意1g内存的话 nanopi neo2 也可以应付了,成本比pi4低不少,也没有pi3的网络问题,就是额外的usb 需要自己接gpio扩展。
夏冰萱 发表于 2020-6-10 06:46 | 显示全部楼层
自己用的斐讯的N1,装的armbian直接换清华源后安装omw,也可以docker,装各种需要的。就USB2.0接口有点慢,硬盘写入只有40左右
来自苹果客户端来自苹果客户端
DoctorX99 发表于 2020-6-14 22:38 | 显示全部楼层
照着教程成功搭建了DNS,但是部分网站会卡在建立安全连接很久,所以今天又转Adguard Home了,两者的上游DNS设置一样的情况下Adguard Home不存在问题,所以最后还是选择Adguard Home,但确确实实是好教程,简单明了
Fistnine  楼主| 发表于 2020-6-15 09:51 | 显示全部楼层
DoctorX99 发表于 2020-6-14 22:38
照着教程成功搭建了DNS,但是部分网站会卡在建立安全连接很久,所以今天又转Adguard Home了,两者的上游DNS ...

谢谢支持。令我感兴趣的是,部分网站具体是哪些网站?方便的话请告诉我具体搭建情况,很可能教程中遗漏了某些地方,我会解决的。
也可能是路由器没有清理DNS缓存或者PC没有清理DNS缓存所导致的?也有可能树莓派的DNS自动获取了?


DoctorX99 发表于 2020-6-15 20:53 | 显示全部楼层
Fistnine 发表于 2020-6-15 09:51
谢谢支持。令我感兴趣的是,部分网站具体是哪些网站?方便的话请告诉我具体搭建情况,很可能教程中遗漏了 ...

当时测试了CHH,卡饭,3DM这几个,Chrome浏览器都会卡在正在建立安全链接大约10-20秒,之后才会打开,但是把PC设置成阿里的就很快打开,步骤都是按照教程做的,只是上游设置有点不一样,我用的是阿里加上1.1.1.1和Google,ERX拨号光猫桥接,ERX里设置的DNS也是阿里的,PC每次修改完都会刷新DNS,刚刚建好的时候CHH甚至还出现解析不了的情况,但第二天又能正常解析了,只不过还是慢,换成AdguardHome就什么网站都很快,也许是我的操作有问题
来自安卓客户端来自安卓客户端
Fistnine  楼主| 发表于 2020-6-16 12:00 | 显示全部楼层
DoctorX99 发表于 2020-6-15 20:53
当时测试了CHH,卡饭,3DM这几个,Chrome浏览器都会卡在正在建立安全链接大约10-20秒,之后才会打开,但 ...

可能在每次配置修改配置文件后没有重启dnsmasq服务?命令:systemctl restart dnsmasq
重启服务,然后等它生效再试试?(大约30秒)

或者使用命令检查一下是否运行正常?
dnsmasq -test

DoctorX99 发表于 2020-6-16 23:45 | 显示全部楼层
Fistnine 发表于 2020-6-16 12:00
可能在每次配置修改配置文件后没有重启dnsmasq服务?命令:systemctl restart dnsmasq
重启服务,然后等 ...

这个只能抽时间再用另外一张SD卡试试了,其实你那边如果试了没问题的话应该就是我设置的问题,但我记得我设置完之后有重启过树莓派的,印象最深就是CHH解析不了然后放着不管第二天就能正常解析了,只是这少部分网站会卡在建立安全连接,所以我也觉得会是缓存的问题,但当时我就只清理了PC的,没管dnsmasq的,有空再试试吧,感觉我买了个4G版本的单做DNS好像是有点浪费了,NAS又不需要
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部