本地网络自定义域名解析配置指南(Ubuntu 16.04+MikroTik环境)
用MikroTik路由器配置本地域名解析(替代bind9)
既然你尝试bind9搭建本地DNS没成功,咱们直接利用MikroTik路由器自带的DNS服务来搞定mydomain.local解析到192.168.0.31的需求,这样整个局域网(包括你的Ubuntu服务器)都能正常解析这个域名,步骤非常直观,跟着做就行:
1. 登录MikroTik路由器
你可以用以下任意一种方式登录:
- Winbox:下载Winbox工具,输入路由器的局域网IP(比如
192.168.0.1,根据你实际的路由器IP调整),输入用户名密码登录,这是最直观的图形化方式。 - Web界面:在浏览器输入路由器IP,登录后台。
- SSH:在终端执行
ssh admin@192.168.0.1(替换成你的路由器用户名和IP)登录。
2. 启用并配置MikroTik DNS服务
2.1 开启远程DNS请求允许
进入IP -> DNS(图形化界面),或者在命令行执行:
/ip dns set allow-remote-requests=yes
这一步是让局域网内的设备可以把路由器当作DNS服务器来用。
2.2 添加静态DNS记录
在图形化界面的IP -> DNS里切换到Static Records标签页,点击右上角的+号,填写以下内容:
- Name:
mydomain.local - Address:
192.168.0.31 - TTL:保持默认(比如
1d)即可,也可以改成30m让缓存更快失效
如果用命令行的话,执行:
/ip dns static add name=mydomain.local address=192.168.0.31
3. 配置局域网设备自动获取DNS(通过DHCP)
为了让所有自动获取IP的设备都自动使用路由器的DNS,咱们配置DHCP服务器:
- 进入
IP -> DHCP Server -> Networks(图形化界面) - 找到你的局域网网段(比如
192.168.0.0/24),双击打开编辑窗口 - 在
DNS Servers栏填写路由器的局域网IP(比如192.168.0.1) - 点击
OK保存
命令行执行的话:
/ip dhcp-server network set [find address=192.168.0.0/24] dns-server=192.168.0.1
4. 手动配置Ubuntu服务器的DNS
因为你的Ubuntu服务器是静态IP,不会自动从DHCP获取DNS,所以需要手动设置:
4.1 如果你用的是传统的ifupdown网络管理
- 编辑网卡配置文件:
sudo nano /etc/network/interfaces
- 找到对应网卡的配置块(比如
eth0或ens33),添加一行:
dns-nameservers 192.168.0.1
- 保存退出后,重启网络服务:
sudo systemctl restart networking
4.2 如果你用的是netplan(Ubuntu 16.04后期版本可能支持)
- 编辑netplan配置文件(通常在
/etc/netplan/目录下,比如00-installer-config.yaml):
sudo nano /etc/netplan/00-installer-config.yaml
- 修改配置,确保
nameservers指向路由器IP:
network: ethernets: ens33: addresses: [192.168.0.31/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1] version: 2
- 应用配置:
sudo netplan apply
5. 测试解析是否生效
在局域网内的任意设备上测试:
- Windows设备:打开命令提示符,执行
ping mydomain.local或nslookup mydomain.local,应该看到解析到192.168.0.31 - Ubuntu设备(包括服务器本身):执行
ping mydomain.local或dig mydomain.local,验证解析结果
如果解析失败,试试清空设备的DNS缓存:
- Windows:
ipconfig /flushdns - Ubuntu:
sudo systemd-resolve --flush-caches
额外注意事项
- 确保MikroTik防火墙没有阻止DNS流量:进入
IP -> Firewall -> Filter Rules,检查是否有允许UDP 53和TCP 53端口的入站规则(来自局域网网段),如果没有,添加一条允许规则即可。 .local域名可能和mDNS服务冲突,但MikroTik的静态DNS记录优先级更高,一般不会有问题。
内容的提问来源于stack exchange,提问作者ibnul_K




