Pi-hole dnsmasq 添加内网主机名
与路由器自带的内网名称解析功能不同,连接在交换机下的内网设备之间无法通过主机名互相访问。如果需要,可以通过 dnsmasq 实现。
我用 docker 在内网 marketing.local(192.168.8.168)
主机上部署了 pi-hole
,并设置路由器的 DHCP 的 DNS 为 192.168.8.168
,任何接入局域网的客户端都会自动使用 pi-hole 的 dns 服务。
#!/bin/bash
sudo docker pull pihole/pihole
sudo docker rm -f pihole
sudo docker run -d --name pihole \
-v "$PWD/pihole/config:/etc/pihole/" \
-v "$PWD/pihole/dnsmasq.d:/etc/dnsmasq.d/" \
-e ServerIP="192.168.8.168" \
-e TZ="Asia/Shanghai" \
-p 888:80 \
-p 53:53/tcp \
-p 53:53/udp \
--restart=unless-stopped \
--cap-add=NET_ADMIN \
--dns=127.0.0.1 --dns=1.1.1.1 \
pihole/pihole:latest
配置 dnsmasq 只要在 pihole/dnsmasq.d/
文件夹中创建一个 custom.conf
配置文件即可,在里面添加内网的各个主机名:
local=/marketing.local/
domain=marketing.local
local=/backnas.local/
domain=backnas.local
local=/pi.hole/
domain=pi.hole
不需要重启,保存配置立即可以实现内网主机名访问。