欢迎光临散文网 会员登陆 & 注册

Debian服务器变成软路由--Part3

2022-04-20 13:35 作者:狐狸Nomad  | 我要投稿

根据前面的2篇文章,目前Debian软路由已经具备了路由器的基本功能,但是内网设备还无法正常获取DHCP地址以及DNS,因为Adguard Home当前处于待初始化状态。

喜欢使用Dnsmasq或者Unbond的小伙伴可以将Adguard Home替换,配置方法有少许不同。


1. 修改PC网络

此时Debian路由器的 br0 地址为 172.16.1.1/24 ,因此为了能够连接到软路由,将PC的网络手动设置成同网段的地址,IP 172.16.1.233,掩码 255.255.255.0 ,网关 172.16.1.1 。

调整PC网络地址

尝试 ping 路由器地址:

如果能 ping 通Debian路由器,则表示前面设置的内容正确,可以开始下一步操作了。


2. 初始化 Adguard Home

打开浏览器,访问如下地址:

可以看到 Adguard Home 的配置页面:

Adguard Home 初始化

监听接口选择 br0 ,端口可以改成你喜欢的端口,默认80端口。

Adguard Home 简单配置

对于 DNS 的监听端口,暂时选择所有接口,后续会通过修改配置文件进行调整

Adguard Home 账户

创建完账户后,会自动跳转到登录页面。


3. 配置Adguard Home

登录 Adguard Home 后,会看到其仪表盘。直接进入“设置->常规设置”选项卡。

设置-常规设置

设置过滤器更新间隔:1小时;或者根据喜好选择其他更新周期。

设置-日志配置、统计配置

启用了日志和统计计数,周期均为24小时。

进入 “设置->DNS设置” 选项卡。

DNS设置-上游服务器

我这里使用了国内支持 DoT 的 DNS 服务器作为 Adguard Home 的上游 DNS 服务器。

Adguard Home 同时还支持 DoH 的 DNS 服务器,可以根据喜好进行选择。

对于上游服务器的请求模式,我推荐“负载均衡”。

根据长时间的使用体验来看,DoT 能够比 DoH 获得更快的 DNS 应答速度,“负载均衡”也能很好的自动降低 DNS 请求的平均延迟。

由于设置了 DoT ,必须结合使用 Bootstrap DNS 服务器,其作用在于初始化解析 DoT 服务器的地址。

DNS设置-上游服务器2

Bootstrap DNS 可以使用国内的普通 DNS 服务器:

“私人反向DNS服务器”即“rDNS”服务器,主要用于将 IP 地址反向解析成域名,其实内网设备的地址解析也会用到这个功能,因此其地址设置为路由器的 IP 地址 172.16.1.1 。

DNS设置-速度限制

“速度限制” 根据实际情况来设定,我这里参考了 OpenWrt 的相关参数,定义为“150”。

勾选了 “禁用 IPv6 地址的解析”,因为在前篇文章中全局禁用了路由器的 IPv6 功能。

“拦截模式” 保持 “默认” 不变。

DNS设置-缓存

DNS 缓存主要修改的内容在,勾选了 “乐观缓存”,其余保持不变。

DNS设置-ACL

访问设置主要修改的内容在 “允许的客户端”部分,只允许了本地回环地址和内网 IP 地址段的DNS请求,一定程度上增加安全性。


4. 配置 DHCP 服务器

进入 “设置->DHCP设置” 选项卡。

DHCP设置-服务器设置

DHCP接口选择 “br0”;

网关设置为路由器的 IP 地址,172.16.1.1;

IP 地址范围,根据实际内网设备数量进行调整;

我习惯预留一部分地址空间做静态地址分配;

子网掩码:255.255.255.0

DHCP 租约,默认为 86400秒,即24小时。

点击 “保存配置” ,再点击 “检查 DHCP 服务器”、“启用 DHCP 服务器”。

DHCP设置-静态租约

如果想把家里的 Mesh 路由器节点、其他种类 AP 、NAS等设备进行静态 IP 地址分配,可以使用底部的 “添加静态租约”功能进行 mac - ip 地址绑定。

只需要填入“MAC地址”、“主机IP地址”、“主机名称”即可。

此时内网的 DHCP 服务器已经启动成功,重新修改 PC 的网络设置为 “自动 DHCP”,应该可以获得一个IP地址了,并且获得的 IP 地址在刚才设置的 IP 地址范围内。


5. 配置广告过滤

Adguard Home 最有意思的一个功能就是可以添加域名列表来过滤广告;当然除了过滤广告外还可以屏蔽一些恶意网站的 IP 地址。

进入 “过滤器” 选项卡。

DNS过滤

上图是我日常启用的一组 DNS 过滤清单;点击 “添加阻止列表” 可以对清单进行修改。

DNS过滤-自带清单

从 Adguard Home 自带清单中挑选:

DNS过滤-挑选内容

然后通过 “添加一个自定义列表” 增加 “StevenBlack”:

DNS过滤-StevenBlack

StevenBlack 的具体地址:

清单全部添加完成后,点击 “检查更新”。

至此,Adguard Home 的页面配置完成。


6. 修改 Adguard Home 的 DNS 监听地址

在前文中,初始化 Adguard Home 时,选择了 DNS 的监听接口选择了 “所有接口”,此处可能有一定的安全风险,虽然防火墙抵挡了来自 WAN 的攻击,但是由于防火墙启用了光猫连接的相关内容,因此光猫的地址段是可以访问 Adguard Home 的 DNS 的。 

ssh 到 Debian 路由器,看看当前 Adguard Home 的配置文件:

可以看到 dns 绑定为 “0.0.0.0”,需要对其修改:

注意修改的时候需要有单引号

修改完成后重启 Adguard Home 服务:

刷新一下 Adguard Home 的页面,可以看到效果:

Adguard Home DNS 监听地址

同时,仪表盘中应该可以看到一些查询数据,以及是哪个主机在查询:

Adguard Home 仪表盘


7. 调整系统 DNS 配置

Debian 系统的 DNS 配置文件在 “/etc/resolv.conf” ,而且是独立的文件,不像 Ubuntu 那样被 systemd-resolved.service 控制。因此只需要调整该文件就好。

在前文中用到的 domain,此处再次被用到:

测试一下:

DNS 测试

测试一下内网 DNS 强制代理的效果:

DNS 强制代理

可以看到,就算内网设备自己有指定的DNS服务器,同样会被重定向到路由器本身的DNS,并得到DNS查询结果。


8. Adguard Home 其他调整(可选)

定时重启 Adguard Home:

每天凌晨 4:00 自动重启 Adguard Home。


设置 Adguard Home 自动更新时间和周期:

每天的 2:30-3:30 和 14:30-15:30 Adguard Home将自动更新。

Debian服务器变成软路由--Part3的评论 (共 条)

分享到微博请遵守国家法律