家用网络环境折腾 篇一:在家用环境中利用NAS建立DNS缓存服务器Pi-hole

小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。详细活动规则,请猛戳此链接

在家用环境中利用NAS建立DNS缓存服务器

1    前言

继上次折腾完NAS改造旁路路由给局域网提供旁路网关服务后,稳定的使用了一段时间,然后在聊天时,大佬偶然提起了自己用树莓派做了个DNS服务器给局域网内其他设备提供DNS缓存服务和域名过滤服务,想起NAS过剩的性能还能多带几个虚拟机,就决定是你了,虚拟DNS缓存服务器!

PS:上篇文章: 

主路由+旁路由实现方法,范例网件R7000+软路由LEDE X64追加修改(2018-06-0920:51:43):最近利用NAS再虚拟了一个DNS服务器,提供家用DNS缓存服务,依然是详细的图文教程,欢迎大家支持理论上此方法适用于任意两个(软/硬)路由组合,其中一个作为主路由,另一个作为旁路提供网关服务。例如:软+硬:基本上没人这么配软+软:爱快/ros一类做多学级崩坏| 45 评论116 收藏439查看详情

 

PS1: 本次教程建立在上篇文章环境之上,如果有环境不同之处,自行调整兼容。

2    本次主角Pi-hole

在家用环境中利用NAS建立DNS缓存服务器Pi-hole

能够提供DNS服务的方法有很多,本次选用Pi-hole做主角完全是因为PY交易,大佬用的是Pi-hole,我折腾的时候要是有啥问题可以直接问大佬。然而即使是这样,本次折腾也走了很多弯路。比如系统的选用,教程内就不详细介绍了。

DNS缓存服务器好处:为了增加访问效率,计算机有域名缓存机制,当访问过某个网站并得到其IP后,会将其域名和IP缓存下来,下一次访问的时候,就不需要再请求域名服务器获取IP,直接使用缓存中的IP,提高了响应的速度。当然缓存是有有效时间的,当过了有效时间后,再次请求网站,还是需要先请求域名解析。

Host过滤功能:简单来说就是一个初级的去广告和屏蔽恶意网站规则

官网

 

  

树莓派3代B和B+型Raspberry Pi 3_淘宝搜索s.taobao.com去看看

 

3    网络拓扑图

在家用环境中利用NAS建立DNS缓存服务器Pi-hole

 

4    准备工作

  1. 在清华镜像站下载系统镜像 

  2. 镜像名为 ubuntu-18.04-live-server-amd64.iso

5    创建虚拟机

  1. 打开Hyper-v 新建虚拟机

  2. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  3. 填写虚拟机名称

  4. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  5. 选第一代虚拟机

  6. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  7. 500-1000MB内存(一般512够用了)

  8. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  9. 网卡选择之前LEDE的WAN口用过的 WAN&LAN

  10. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  11. 硬盘10G即可(动态大小用多少占多少)

  12. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  13. 安装选项的镜像文件选择准备工作时下载的ubunt server.iso

  14. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  15. 设置虚拟机

  16. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  17. 根据机器情况选择核心数

  18. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  19. 设置网卡的高级功能

  20. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  21. 此时虚拟机设置完成,可以点击启动虚拟机进入下一阶段。

 

6    系统环境搭建

  1. 连接虚拟机

  2. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  3. 启动虚拟机

  4. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  5. 选择语言 中文 然后回车

  6. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  7. 安装ununtu服务器版 回车 然后等待

  8. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  9. 选择安装语言 English

  10. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  11. 键盘设置直接下一步

  12. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  13. Install Ubuntu

  14. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  15. 直接默认自动获取下一步(这里手动设置有问题 提示IP报错所以装好后再自己手动指定)

  16. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  17. Proxy address直接跳过 下一步

  18. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  19. 选择默认硬盘

  20. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  21. 唯一一个硬盘

  22. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  23. 确认

  24. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  25. 选择continue继续

  26. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  27. 这里开始就是创建账户了如图填写或自由发挥


  28. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  29. 回车后开始安装系统了。等待5-10分钟后 会出现reboot now 选择后回车即可

  30. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  31. 提示让你退出安转盘,然而实际上已经自动退出了所以直接回车即可

  32. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  33. 之后系统会自动重启,等待启动完成即可

7    系统调试篇

  1. 第一次启动可能会显示错误 这个时候回车两下就好了

  2. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  3. 输入账户名smzdm 回车

  4. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  5. 输入密码回车(这里有个要特别说明的地方:如果你发现怎么输入都提示密码错误的话 按一下小键盘的num键 再输入试试 对于Linux来说num激活和非激活输入的数字是不一样的)

  6. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  7. 输入sudo passwd root来设置root账户的密码

  8. 先输入一次smzdm的账户密码

  9. 然后输入一次要设置的root密码

  10. 确认输入一次要设置的root密码

  11. 设置成功

  12. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  13. 输入su root 进入root权限模式

  14. 输入刚才设置root密码

  15. 成功进入root模式

  16. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  17. 输入vim /etc/netplan/50-cloud-init.yaml 回车后进入编辑模式,将文件编辑成截图内的内容

  18. 编辑技巧1:先移动光标 移动到目的地后按字母键i进入到插入编辑模式(屏幕下方出现-- INSERT --),此时可以输入字符,删除字符。

  19. 编辑技巧2:编辑模式下按esc退出编辑模式 (屏幕下方的-- INSERT –消失)此时输入:q!后回车则不保存并退出 输入:wq后回车则保存并退出

  20. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  21. 编辑完成后按esc 然后输入:wq回车 保存并退出(如果之前没获取root权限此时会报错提示无法写入)

  22. 然后输入netplan apply 回车使设置生效

  23. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  24. 此时系统IP配置完成,可以在路由器中看到设置好的设备IP

8    安装并启用Pi-hole

  1. 1.    使用命令安装 curl-sSL https://install.pi-hole.net | bash 回车后等待

  2. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  3. 直接回车确认

  4. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  5. 捐赠地址,直接回车跳过

  6. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  7. 回车跳过

  8. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  9. 选用一个首选DNS服务器。Google就可以了(如果是和作者网络架构类似,局域网内有一个LEDE提供网关和DNS,这里强烈推荐使用自定义并且填写LEDE的WAN口IP) 回车

  10. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  11. 家里没IPV6 移动到IPV6上按空格取消选中,然后回车 下一步

  12. 确认虚拟机的IP没问题,gateway的地址是LEDE的WAN口地址即可回车

  13. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  14. 警告。无视回车

  15. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  16. 安装web管理界面 直接回车

  17. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  18. 记录日志 直接回车

  19. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  20. 此时系统开始安装pi-hole 等待3 5分钟

  21. 安装成功,界面显示默认密码和IP 记录后回车下一步

  22. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  23. 使用命令修改密码为自己好记忆的密码sudo pihole -a -p 新密码

  24. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  25. 此时pi-hole安装设置完成。

9    使用DNS缓存服务器

9.1  方式1:

直接修改联网设备的首选DNS服务器IP为虚拟机IP即是上文图中的192.168.1.112

9.2  方式2:

修改主路由的DHCP设置中的默认DNS服务器。这样所有连接到主路由的设备均会默认使用该DNS

 

10       Pi-hole进阶设置

  1. 在电脑浏览器输入虚拟机IP/admin 来访问pi-hole

  2. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  3. 点击login后输入之前设置的密码解开所有设置项

  4. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  5. 点击tools 选择更新规则列表可以更新过滤列表

  6. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  7. 点击setting 然后block lists 可以管理规则列表订阅

  8. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  9. 最后pihole出现新版本时,要升级Pihole也很简单,只要登陆虚拟机输入 pihole -up ,就可以升级到pihole最新版本

 

1    Pihole防火墙安全性

  1. 输入 su root 然后输入root的密码获得root权限

  2. 安装防火墙

  3. sudo apt-get install ufw

  4. 打开防火墙

  5. sudo ufw enable

  6. 将所有端口默认关闭

  7. sudo ufw default deny

  8. 允许8.8.8.8和8.8.4.4通过

  9. sudo ufw allow from 8.8.8.8

  10. sudo ufw allow from 8.8.4.4

  11. 允许本地所有设备通过

  12. sudo ufw allow from 192.168.0.0/16


  13. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  14. 以上内容参考https://blog.csdn.net/qq_39076179/article/details/79034428

  15. 如何检测端口是否暴露  在本地电脑运行cmd 输入 telnet DNS的IP 端口号即可

 

2    Pihole汉化

  1. 汉化内容参考 

  2. 下载这个汉化包

  3. 解压覆盖到 /var/www/html/admin 目录,完成

  4. ftp服务器开启参考

  5. root权限赋予参考

  6. 覆盖方法如下

  7. 首先安装ftp服务 sudo apt-get install vsftpd

  8. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  9. 使用service vsftpd start命令开启ftp服务

  10. 使用service vsftpd status检测ftp服务状态

  11. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  12. 此时ftp服务已经开启

  13. 输入su root 获取root权限

  14. 然后使用sudo vi /etc/passwd命令来更改权限将smzdm(或者自己的账号)权限修改为0

  15. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  16. 修改完成后按ESC 输入:wq回车 退出并保存

  17. 输入reboot回车重启服务器

  18. 使用service vsftpd start命令开启ftp服务

  19. 使用service vsftpd status检测ftp服务状态

  20. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  21. 使用 vi /etc/vsftpd.conf

  22. 删除write_enable=YES 前面的注释符号#,就可以有写入权限了

  23. 然后按esc,输入:wq回车保存并退出

  24. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  25. 完成之后输入service vsftpd stop

  26. 再输入service vsftpd start重启ftp服务

  27. 此时服务端配置完成

  28. 运行winscp软件(自行下载)

  29. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  30. 点击登录输入密码

  31. 在软件中进入到/var/www/html/admin目录

  32. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  33. 然后全选中直接下载解压好的文件,全部拖入窗口覆盖即可

  34. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  35. 此时汉化完成,为了安全起见,将smzdm账号权限还原

  36. 使用sudo vi /etc/passwd命令来更改权限将smzdm(或者自己的账号)权限修改为之前的1000,然后按esc 输入:wq回车保存并退出

  37. 输入reboot重启服务器,再次打开pihole的界面时即为汉化界面

  38. 重启成功后使用service vsftpdstop关闭ftp服务

  39. 更换界面后第一次打开比较慢请耐心等待。

  40. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

 

3    Dnscrypt服务架设

    dnscrypt服务可以防止dns污染,同时极大加速二次访问时的解析速度。

  1. 登陆,并启用root权限 su root

  2. 关闭ubuntu的DNS服务防止冲突sudo vi/etc/systemd/resolved.conf

  3. 删除DNSStublistener前面的注释符并改成no(小写) 按ESC 输入:wq回车保存并退出

  4. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  5. 输入reboot重启服务器

  6. 登陆,并使用命令su root开启root权限

  7. 使用命令cd /opt进入目录

  8. 使用命令wget 

  9. 使用命令tar -xfdnscrypt-proxy-linux_x86_64-2.0.15.tar.gz

  10. 使用命令mv linux-x86_64 dnscrypt-proxy

  11. 使用命令rm dnscrypt-proxy-linux_x86_64-2.0.15.tar.gz

  12. 使用命令cd dnscrypt-proxy

  13. 使用命令cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml

  14. 使用命令sudo vi dnscrypt-proxy.toml

  15. 将第35行的 listen_addresses= [ 中的53修改为5353 按esc 输入:wq回车保存退出

  16. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  17. 使用命令./dnscrypt-proxy -service install。

  18. 使用命令./dnscrypt-proxy -service start

  19. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  20. 使用命令vi /etc/pihole/setupVars.conf

  21. 将DNS1 2均修改为 127.0.0.1#5353后按esc输入:wq回车保存退出

  22. 在家用环境中利用NAS建立DNS缓存服务器Pi-hole

  23. 使用命令reboot重启服务器

  24. 至此dnscrypt架设完成。

 


推荐关注:
经验
话题:经验 +关注
原创新人
话题:原创新人 +关注
生活记录
话题:生活记录 +关注
NAS存储
分类:NAS存储 +关注
家用网络环境折腾
系列:家用网络环境折腾 +关注

提示

鼠标移到标签上方,

尝试关注标签~

相关热门原创
评论66

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

348 66

关注数量超出限制,请先删除部分内容再尝试

关注数量超出限制,
请先删除部分内容再尝试

登录
注册
用户名/邮箱
密码
验证码
看不清?点击更换
看不清?点击更换 忘记密码?

已收藏
去我的收藏夹 >

已取消收藏
去我的收藏夹 >

小提示