家用网络环境折腾 篇一:在家用环境中利用NAS建立DNS缓存服务器Pi-hole
在家用环境中利用NAS建立DNS缓存服务器
1 前言
继上次折腾完NAS改造旁路路由给局域网提供旁路网关服务后,稳定的使用了一段时间,然后在聊天时,大佬偶然提起了自己用树莓派做了个DNS服务器给局域网内其他设备提供DNS缓存服务和域名过滤服务,想起NAS过剩的性能还能多带几个虚拟机,就决定是你了,虚拟DNS缓存服务器!
PS:上篇文章:
PS1: 本次教程建立在上篇文章环境之上,如果有环境不同之处,自行调整兼容。
2 本次主角Pi-hole
能够提供DNS服务的方法有很多,本次选用Pi-hole做主角完全是因为PY交易,大佬用的是Pi-hole,我折腾的时候要是有啥问题可以直接问大佬。然而即使是这样,本次折腾也走了很多弯路。比如系统的选用,教程内就不详细介绍了。
DNS缓存服务器好处:为了增加访问效率,计算机有域名缓存机制,当访问过某个网站并得到其IP后,会将其域名和IP缓存下来,下一次访问的时候,就不需要再请求域名服务器获取IP,直接使用缓存中的IP,提高了响应的速度。当然缓存是有有效时间的,当过了有效时间后,再次请求网站,还是需要先请求域名解析。
Host过滤功能:简单来说就是一个初级的去广告和屏蔽恶意网站规则
3 网络拓扑图
4 准备工作
在清华镜像站下载系统镜像
5 创建虚拟机
打开Hyper-v 新建虚拟机
填写虚拟机名称
选第一代虚拟机
500-1000MB内存(一般512够用了)
网卡选择之前LEDE的WAN口用过的 WAN&LAN
硬盘10G即可(动态大小用多少占多少)
安装选项的镜像文件选择准备工作时下载的ubunt server.iso
设置虚拟机
根据机器情况选择核心数
设置网卡的高级功能
此时虚拟机设置完成,可以点击启动虚拟机进入下一阶段。
6 系统环境搭建
连接虚拟机
启动虚拟机
选择语言 中文 然后回车
安装ununtu服务器版 回车 然后等待
选择安装语言 English
键盘设置直接下一步
Install Ubuntu
直接默认自动获取下一步(这里手动设置有问题 提示IP报错所以装好后再自己手动指定)
Proxy address直接跳过 下一步
选择默认硬盘
唯一一个硬盘
确认
选择continue继续
这里开始就是创建账户了如图填写或自由发挥
回车后开始安装系统了。等待5-10分钟后 会出现reboot now 选择后回车即可
提示让你退出安转盘,然而实际上已经自动退出了所以直接回车即可
之后系统会自动重启,等待启动完成即可
7 系统调试篇
第一次启动可能会显示错误 这个时候回车两下就好了
输入账户名smzdm 回车
输入密码回车(这里有个要特别说明的地方:如果你发现怎么输入都提示密码错误的话 按一下小键盘的num键 再输入试试 对于Linux来说num激活和非激活输入的数字是不一样的)
输入sudo passwd root来设置root账户的密码
先输入一次smzdm的账户密码
然后输入一次要设置的root密码
确认输入一次要设置的root密码
设置成功
输入su root 进入root权限模式
输入刚才设置root密码
成功进入root模式
输入vim /etc/netplan/50-cloud-init.yaml 回车后进入编辑模式,将文件编辑成截图内的内容
编辑技巧1:先移动光标 移动到目的地后按字母键i进入到插入编辑模式(屏幕下方出现-- INSERT --),此时可以输入字符,删除字符。
编辑技巧2:编辑模式下按esc退出编辑模式 (屏幕下方的-- INSERT –消失)此时输入:q!后回车则不保存并退出 输入:wq后回车则保存并退出
编辑完成后按esc 然后输入:wq回车 保存并退出(如果之前没获取root权限此时会报错提示无法写入)
然后输入netplan apply 回车使设置生效
此时系统IP配置完成,可以在路由器中看到设置好的设备IP
8 安装并启用Pi-hole
1.
使用命令安装curl-sSL https://install.pi-hole.net | bash
回车后等待
直接回车确认
捐赠地址,直接回车跳过
回车跳过
选用一个首选DNS服务器。Google就可以了(如果是和作者网络架构类似,局域网内有一个LEDE提供网关和DNS,这里强烈推荐使用自定义并且填写LEDE的WAN口IP) 回车
家里没IPV6 移动到IPV6上按空格取消选中,然后回车 下一步
确认虚拟机的IP没问题,gateway的地址是LEDE的WAN口地址即可回车
警告。无视回车
安装web管理界面 直接回车
记录日志 直接回车
此时系统开始安装pi-hole 等待3 5分钟
安装成功,界面显示默认密码和IP 记录后回车下一步
使用命令修改密码为自己好记忆的密码sudo pihole -a -p 新密码
此时pi-hole安装设置完成。
9 使用DNS缓存服务器
9.1 方式1:
直接修改联网设备的首选DNS服务器IP为虚拟机IP即是上文图中的192.168.1.112
9.2 方式2:
修改主路由的DHCP设置中的默认DNS服务器。这样所有连接到主路由的设备均会默认使用该DNS
10 Pi-hole进阶设置
在电脑浏览器输入虚拟机IP/admin 来访问pi-hole
点击login后输入之前设置的密码解开所有设置项
点击tools 选择更新规则列表可以更新过滤列表
点击setting 然后block lists 可以管理规则列表订阅
最后pihole出现新版本时,要升级Pihole也很简单,只要登陆虚拟机输入 pihole -up ,就可以升级到pihole最新版本
1 Pihole防火墙安全性
输入 su root 然后输入root的密码获得root权限
安装防火墙
sudo apt-get install ufw
打开防火墙
sudo ufw enable
将所有端口默认关闭
sudo ufw default deny
允许8.8.8.8和8.8.4.4通过
sudo ufw allow from 8.8.8.8
sudo ufw allow from 8.8.4.4
允许本地所有设备通过
sudo ufw allow from 192.168.0.0/16
以上内容参考https://blog.csdn.net/qq_39076179/article/details/79034428
如何检测端口是否暴露 在本地电脑运行cmd 输入 telnet DNS的IP 端口号即可
2 Pihole汉化
下载这个汉化包
解压覆盖到 /var/www/html/admin 目录,完成
覆盖方法如下
首先安装ftp服务 sudo apt-get install vsftpd
使用service vsftpd start命令开启ftp服务
使用service vsftpd status检测ftp服务状态
此时ftp服务已经开启
输入su root 获取root权限
然后使用sudo vi /etc/passwd命令来更改权限将smzdm(或者自己的账号)权限修改为0
修改完成后按ESC 输入:wq回车 退出并保存
输入reboot回车重启服务器
使用service vsftpd start命令开启ftp服务
使用service vsftpd status检测ftp服务状态
使用 vi /etc/vsftpd.conf
删除write_enable=YES 前面的注释符号#,就可以有写入权限了
然后按esc,输入:wq回车保存并退出
完成之后输入service vsftpd stop
再输入service vsftpd start重启ftp服务
此时服务端配置完成
运行winscp软件(自行下载)
点击登录输入密码
在软件中进入到/var/www/html/admin目录
然后全选中直接下载解压好的文件,全部拖入窗口覆盖即可
此时汉化完成,为了安全起见,将smzdm账号权限还原
使用sudo vi /etc/passwd命令来更改权限将smzdm(或者自己的账号)权限修改为之前的1000,然后按esc 输入:wq回车保存并退出
输入reboot重启服务器,再次打开pihole的界面时即为汉化界面
重启成功后使用service vsftpdstop关闭ftp服务
更换界面后第一次打开比较慢请耐心等待。
3 Dnscrypt服务架设
dnscrypt服务可以防止dns污染,同时极大加速二次访问时的解析速度。
登陆,并启用root权限 su root
关闭ubuntu的DNS服务防止冲突sudo vi/etc/systemd/resolved.conf
删除DNSStublistener前面的注释符并改成no(小写) 按ESC 输入:wq回车保存并退出
输入reboot重启服务器
登陆,并使用命令su root开启root权限
使用命令cd /opt进入目录
使用命令wget
使用命令tar -xfdnscrypt-proxy-linux_x86_64-2.0.15.tar.gz
使用命令mv linux-x86_64 dnscrypt-proxy
使用命令rm dnscrypt-proxy-linux_x86_64-2.0.15.tar.gz
使用命令cd dnscrypt-proxy
使用命令cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml
使用命令sudo vi dnscrypt-proxy.toml
将第35行的 listen_addresses= [ 中的53修改为5353 按esc 输入:wq回车保存退出
使用命令./dnscrypt-proxy -service install。
使用命令./dnscrypt-proxy -service start
使用命令vi /etc/pihole/setupVars.conf
将DNS1 2均修改为 127.0.0.1#5353后按esc输入:wq回车保存退出
使用命令reboot重启服务器
至此dnscrypt架设完成。
至强1
校验提示文案
Clul
校验提示文案
矿底揩油哥
校验提示文案
hugo007y
校验提示文案
sober狼
校验提示文案
赤耳炸药包
校验提示文案
huning472847599
校验提示文案
lqzh
看LZ帖子写的,推测上层 DNS 是 8.8.8.8,只是使用DNSCrypt加密了DNS,可是还依然是53出去的,谈不上稳定。
而且用 8.8.8.8 就谈不上 CDN,LZ 这么搞只会把上网速度弄慢而已。
校验提示文案
寡寡寡寡人
校验提示文案
Gigasnow
校验提示文案
值友4174338956
现有个问题想请教,pi-hole必须在arm上运行吗?我看见你貌似是在hype-V上虚拟linux来运行这个程序的,也就是说我在exsi上应该也可以做到同样的效果?
校验提示文案
JAY208929
校验提示文案
学级崩坏
校验提示文案
SoraLike
校验提示文案
学级崩坏
校验提示文案
shenbyao
校验提示文案
未未晓得
校验提示文案
值友4998963236
校验提示文案
左楠风
校验提示文案
xy_bb
校验提示文案
哈比128
校验提示文案
一叶舟999
校验提示文案
ali6682
校验提示文案
值友6031673496
校验提示文案
whzr
校验提示文案
马小杨_
校验提示文案
GGGGGGo_Lets_Go
校验提示文案
徒有虚名的包
校验提示文案
scdzmada
校验提示文案
值友5325693852
校验提示文案
淬火重生
校验提示文案
值友3401720101
校验提示文案
Pan35
校验提示文案
走走停停365
校验提示文案
走走停停365
校验提示文案
走走停停365
校验提示文案
青蓝
290458453 qq.com
校验提示文案
appleftg
校验提示文案
值友9610683258
校验提示文案
xihili
校验提示文案