在Linux系统中,可以使用`systemd-resolved`或`dnsmasq`来启动DNS服务。
**1. 使用systemd-resolved**
`systemd-resolved`是Linux的系统管理守护进程(systemd)提供的一个本地DNS解析器,使用该工具启动DNS服务可以实现本地主机的域名解析。
步骤如下:
**1.1 查看系统是否安装`systemd-resolved`**
使用以下命令来检查是否已经安装了`systemd-resolved`:
“`shellsystemctl status systemd-resolved“`
如果显示”Loaded: loaded”和”Active: active (running)”,表示已经安装和运行了`systemd-resolved`。
**1.2 启动`systemd-resolved`**
如果未启动`systemd-resolved`,可以使用以下命令来启动它:
“`shellsudo systemctl start systemd-resolved“`
**1.3 设置`systemd-resolved`为系统默认的DNS解析器**
为了让系统使用`systemd-resolved`作为默认的DNS解析器,需要将`systemd-resolved`添加到`/etc/resolv.conf`:
“`shellsudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf“`
**1.4 验证`systemd-resolved`是否生效**
使用以下命令来验证`systemd-resolved`是否正在工作:
“`shellsystemctl status systemd-resolved“`
应该显示”Active: active (running)”。
**2. 使用dnsmasq**
`dnsmasq`是一个简单高效的轻量级DNS转发器和DHCP服务器,它可以在本地主机上缓存DNS查询结果,提高DNS解析的速度。
步骤如下:
**2.1 安装`dnsmasq`**
使用以下命令来安装`dnsmasq`:
“`shellsudo apt-get updatesudo apt-get install dnsmasq“`
**2.2 配置`dnsmasq`**
编辑`/etc/dnsmasq.conf`文件,添加以下配置:
“`shellserver=8.8.8.8cache-size=1000“`
其中,`server=8.8.8.8`表示将Google的公共DNS服务器设置为默认的上游DNS服务器,`cache-size=1000`表示设置DNS缓存的大小为1000。
**2.3 启动`dnsmasq`**
使用以下命令来启动`dnsmasq`:
“`shellsudo systemctl start dnsmasq“`
可以使用以下命令来验证`dnsmasq`是否正在工作:
“`shellsudo systemctl status dnsmasq“`
**2.4 配置系统使用`dnsmasq`作为默认DNS解析器**
编辑`/etc/resolv.conf`文件,并添加以下配置:
“`shellnameserver 127.0.0.1“`
这样,系统将使用`dnsmasq`作为默认的DNS解析器。
以上就是在Linux系统中使用`systemd-resolved`或`dnsmasq`来启动DNS服务的方法。