麒麟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.
相关推荐
Linux-lucky几秒前
43-Linux学习之旅之Shell 脚本(二)
linux·运维·学习·ubuntu·dash
yv798an12 分钟前
从 OpenSBI 引导到 C++17 异步运行时:自制 RISC-V 嵌入式专有 NAS 踩坑全记录
linux
ESDWAN21 分钟前
跨境网络频繁掉线怎么排查?从企业内网到 SD-WAN 链路的故障诊断
开发语言·网络·php
青瓦梦滋23 分钟前
【在线五子棋对战】session
服务器·网络·网络协议
资深电气设计25 分钟前
数据中心低压盘柜选型逻辑解析:ABB技术体系的参考价值
网络·创业创新·业界资讯
牧羊人.33336 分钟前
动手学深度学习 07|Resnet网络与迁移学习
网络·人工智能·深度学习·神经网络·算法·cnn·迁移学习
不悔哥42 分钟前
Linux系统编程多线程程序如何安全退出
linux
Fcy6481 小时前
Linux下 数据链路层详解(从以太网到ARP协议)
linux·mac·以太网·数据链路层·arp
北京中科新远科技1 小时前
AI网络设备兼容性验收实战:交换机、网卡、线缆与光模块逐层检查
网络
集智飞行1 小时前
解决mavros2 ros2版本cpu占用高的问题
java·服务器·前端