[Linux软路由第二弹] - 6.设置DNS和DHCP服务

1.调整系统DNS服务
在上一篇文章《 [Linux软路由第二弹] - 5.设置PPPoE拨号和防火墙 》中,Linux 路由器已正常联网,但还未能给内网设备提供网络服务。
在上版构建 Linux 路由器的文章中,使用了 Adguard Home
来提供内网的 DNS 和 DHCP 服务。但当前内网中已有独立 ADH 服务器提供 DNS 服务,因此本文选择使用更加轻量的组件 Dnsmasq
。
首先需要关闭 Ubuntu 默认使用的 systemd-resolved.service
服务,避免 53
端口被占用,逐条执行以下命令,将系统 systemd-resolved.service
服务关闭:
移除系统当前使用的 DNS 配置文件:
使用 nano
编辑器创建 DNS 配置文件,执行以下命令:
在编辑器对话框中输入以下内容,并保存。
注意:其中 search
参数为本地域名,请请根据实际情况进行调整。
为了防止系统中其他服务意外修改 DNS 配置文件,需要修改配置文件的权限:
使用以下命令检查权限是否修改成功:
2.配置Dnsmasq服务
dnsmasq
的主配置文件一般位于 /etc
目录下,但修改主配置文件之前,需要做几步额外操作。按照惯例,配置 dnsmasq
之前,需要检查 dnsmasq.service
服务状态,确保该服务开机自启动。
说明:如果看到服务报错,是因为当前服务暂未配置,无需担心。
技术上,dnsmasq
只需要 “一个” 配置文件即可完成配置,本文中拆分配置文件主要是为了维护方便。
说明:以下配置内容参考了 OpenWrt 的相关设置,可根据实际需求进行调整。

2.1.创建Dnsmasq附加配置
使用 nano
编辑器创建 dhcpbogushostname.conf
配置文件,执行以下命令:
在编辑器对话框中输入以下内容,并保存:
使用 nano
编辑器创建 rfc6761.conf
配置文件,执行以下命令:
在编辑器对话框中输入以下内容,并保存:
2.2.创建静态地址绑定配置
使用 nano
编辑器创建 DHCPv4静态地址绑定 配置文件,执行以下命令:
在编辑器对话框中输入以下内容,并保存。
说明:当前该配置文件中静态绑定项为空,具体绑定方法参见配置文件中的示例。
2.3.创建DNS服务器配置
使用 nano
编辑器创建 上游DNS服务器 配置文件,执行以下命令:
在编辑器对话框中输入以下内容,并保存。
说明:演示的上游 DNS 服务器均为内网 ADH 服务器地址,请根据实际情况进行调整。
2.4.修改Dnsmasq主配置
修改 dnsmasq
主配置文件之前,使用以下命令将其备份:
使用 nano
编辑器创建 dnsmasq
配置文件,执行以下命令:
在编辑器对话框中输入以下内容,并保存。
说明:请检查配置文件中关于本地域名以及 DHCP 服务器相关配置项,并根据实际情况进行调整。
至此,服务器 DNS 和 DHCP 设置步骤完成。