内网DNS服务器搭建说明

本文详细介绍了如何在内网环境中搭建DNS服务器,选用CoreDNS作为技术选型,支持自定义域名,并提供了一步一步的部署指南,包括机器选择、安装包下载、配置转发规则、创建本地域名映射等步骤,确保内外网都能访问。
摘要由CSDN通过智能技术生成

内网DNS服务器搭建说明

搭建目标

  1. 内外网均可访问
  2. 支持自定义域名

技术选型

主要备选方案为小米开源的SmartDNS和云原生毕业的CoreDNS。经过多方考量,最终选用云原生出品的CoreDNS,

github地址:https://github.com/coredns/coredns

官方网站:https://coredns.io/

本次主要使用的插件:https://coredns.io/plugins/hosts/

部署过程

1、挑机器

选用一台性能较好的服务器,最好CPU和内存高点的。建议配置:8C/8G/200G (CPU/内存/磁盘)

2、下载安装包

从Github上下载服务器系统类型对应的二进制安装包,具体链接地址为:https://github.com/coredns/coredns/releases/tag/v1.8.4

这里演示使用的Centos7.9,所以下载的是:coredns_1.8.4_linux_amd64.tgz

3、释放安装包

# 上传安装包coredns_1.8.4_linux_amd64.tgz 到服务器的/root目录下

# 新建目录
mkdir -p /usr/local/coredns  

# 新建用户
useradd coredns -s /sbin/nologin

# 释放安装包
tar -xvf coredns_1.8.4_linux_amd64.tgz -C /usr/local/coredns

4、添加转发规则配置

规则说明:

local:53,所有请求域名以“ local ”结尾的去找/usr/local/coredns/hosts 文件做解析

.:53,除了上面两个规则外的其他所有请求被转发到公网的DNS去做解析

vim /usr/local/coredns/Corefile
# 新增
local:53 {
   
    hosts /usr/local/coredns/hosts
    log
}

.:53 {
   
    forward . 8.8.8.8:53 114.114.114.114:53 1.1.1.1:53 223.5.5.5:53 223.6.6.6:53 
    log
}

5、添加本地域名映射文件

vim /usr/local/coredns/hosts
# 新增
10.3.1.1     dev.gis4.local
10.3.1.48    dev.gis7.local
10.3.1.40    test.gis4.local
10.3.1.47    prod.gis4.local

6、添加开机自启配置

vim /etc/systemd/system/coredns.service
# 新增

[Unit]
Description=CoreDNS DNS server
Documentation=https://coredns.io
After=network.target

[Service]
PermissionsStartOnly=true
LimitNOFILE=1048576
LimitNPROC=512
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
User=coredns
ExecStart=/usr/local/coredns/coredns -conf=/usr/local/coredns/Corefile
ExecReload=/bin/kill -SIGUSR1 $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

7、启动服务

systemctl start  coredns
systemctl enable coredns
systemctl status coredns

8、测试域名

若机器上无法使用dig命令,可以yum安装下:yum -y install bind-utils

dig命令用法:https://man.linuxde.net/dig

# 先在内网DNS服务器的做本地测试
[root@localhost coredns]# dig @localhost a dev.gis7.local

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.3 <<>> @localhost a dev.gis7.local
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29437
;; flags: qr aa rd; QUERY: 1, ANSWER: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值