麒麟v10arm使用dnsmasq部署本地DNS服务器

一、安装dnsmasq服务

1. 解压

有网络直接yum就行

复制代码
mkdir -p /root/dnsmasq
mv dnsmasq-kylin-arm-offline.tar.gz /root/dnsmasq
cd /root/dnsmasq
tar -zxvf dnsmasq-kylin-arm-offline.tar.gz

2. 一键离线安装(解决依赖闭环)

复制代码
# 进入rpm目录,本地全部安装
cd /root/dnsmasq
yum localinstall ./*.rpm -y

3.验证 + 启用服务

复制代码
# 查看版本
dnsmasq -v

# 开机自启 + 启动
systemctl enable --now dnsmasq
systemctl status dnsmasq

二、配置dns服务器

麒麟默认自带 dnsmasq 冲突、还有系统 dhcp、resolved,先关:

复制代码
# 关闭系统DNS解析服务
systemctl stop systemd-resolved
systemctl disable systemd-resolved

# 关闭自带dhcp(防止端口冲突)
systemctl stop dhcpd || true
systemctl disable dhcpd || true

1. 备份原配置

复制代码
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak

2. 修改配置

复制代码
# 作用:指定 dnsmasq 监听哪张网卡(只在这张网卡提供DNS服务),你的网卡是 enp1s0,就写 interface=enp1s0
interface=enp1s0

# 作用:只绑定指定的网卡,不监听 0.0.0.0(防止监听所有网卡)
bind-interfaces

# 作用:DNS 缓存大小,表示缓存 1000 条解析记录。越大解析越快,本地DNS 1000 足够用
cache-size=1000

 
# 作用:上游公共DNS(当解析外网域名时,用这两个DNS去查) 223.5.5.5 = 阿里云DNS  # 119.29.29.29 = 腾讯云DNS
 server=223.5.5.5
server=119.29.29.29

 
# 作用:要求查询必须是完整域名(如 a.com),不允许非法域名,防止畸形DNS请求,安全选项
domain-needed

 
# 作用:不转发私有网段IP的反向解析(防止泄露内网信息) 安全选项,本地DNS必开
bogus-priv

 
# 自定义本地域名解析
# 格式:address=/自定义域名/要解析到的IP
# 作用:当设备访问这个域名时,直接返回你指定的IP
# 访问 local.server → 解析到 10.0.51.83
address=/local.server/10.0.51.83

#  只解析 binzi.heihei.com 到 10.0.51.83
address=/binzi.heihei.com/10.0.51.83

#  泛解析所有 *.heihei.com 域名到 10.0.51.83
address=/heihei.com/10.0.51.83

 
# 【泛域名 / 通配符 写法说明】
 
# ------------------------------
# 例子1:把所有 .com 域名 → 指向 10.0.51.83
# ------------------------------
address=/com/10.0.51.83

# ------------------------------
# 例子2:把所有 .net 域名 → 指向 10.0.51.83
# ------------------------------
address=/net/10.0.51.83


# ------------------------------
# 通配所有域名(任何域名都解析到 10.0.51.83)
# 格式:address=/#/IP
# ------------------------------
address=/#/10.0.51.83

3. 放行防火墙

复制代码
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --permanent --add-port=67/udp
firewall-cmd --reload

4. 重启 dnsmasq 生效

复制代码
systemctl restart dnsmasq
systemctl enable dnsmasq
systemctl status dnsmasq

5. 检测是否正常

复制代码
# 检测DNS解析
[root@5183 dnsmasq]# nslookup local.server 10.0.51.83
Server:         10.0.51.83
Address:        10.0.51.83#53

Name:   local.server
Address: 10.0.51.83




# 检测DHCP参数
[root@5183 dnsmasq]# dnsmasq --test
dnsmasq: syntax check OK.
相关推荐
en.en..27 分钟前
Linux 七大文件类型 详解
网络
NamoAmitabha1284 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
IPdodo_4 小时前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
Madison-No74 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌5 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121386 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck7 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商7 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484818 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS8 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志