麒麟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.
相关推荐
誰能久伴不乏2 小时前
Qt 混合编程核心原理:C++ 与 QML 通信机制详解
linux·c++·qt·架构·状态模式
AI服务老曹2 小时前
深度解析:基于 Docker 与 GB28181 的异构计算 AI 视频管理架构,如何实现 X86/ARM 与 GPU/NPU 的全场景兼容?
运维·docker·容器
做个文艺程序员2 小时前
用 Codex 写运维脚本(二)—— Prompt 工程:如何精准描述你的脚本需求
运维·prompt
佳xuan2 小时前
wsl(linux)安装miniconda及虚拟环境
linux·人工智能·conda
召田最帅boy2 小时前
一次OOM排查实录
linux·jvm·spring boot·adb
jy41932172 小时前
跨国链路丢包总查不出来?一篇讲透 Traceroute / MTR 的实战指南(含 7 个真实场景)
运维
The_cute_cat2 小时前
CentOS Stream 10虚拟机固定ip总结
linux·运维·centos
一只积极向上的小咸鱼2 小时前
Vscode打开多个窗口
linux·运维·服务器·vscode
IMPYLH2 小时前
Linux 的 shred 命令
linux·运维·服务器·bash