当前位置: 首页 > news >正文

DNS 服务器

以下命令是一套完整的DNS 服务器搭建和验证流程,就像在网络里搭建了一套 "私人通讯录系统",让设备之间能通过域名(比如student)互相找到

一、搭建 DNS 服务器(服务器端操作)

# 安装 DNS 工具-作用:装两个核心工具。-bind:是 DNS 服务器的 “大脑”,负责解析域名(相当于地址簿本体)。-bind-utils:是客户端工具(比如查域名的dig命令,相当于查地址的小字典)​[root@server ~ 13:25:31]# yum install -y bind bind-utils​#配置 DNS 服务器的 "服务规则"[root@server ~ 14:33:36]# vim /etc/named.conf=======================================================================#编辑vim,添加1listen-on port 53 { 127.0.0.1;10.1.8.10; };→ 规定 DNS 服务器只在本机(127.0.0.1)和自己的 IP(10.1.8.10)上提供服务(相当于 "只在自家门口挂通讯录")allow-query { localhost;10.1.8.0/24; };→ 只允许本机和 10.1.8.x 网段的设备来查(相当于 "只允许邻居查我的通讯录")=======================================================================#添加2zone "lovyk.online" IN{type master;file "lovyk.online.zone";};zone "8.1.10.in-addr.arpa" IN {type master;file "10.1.8.zone";};​--添加的 "zone 配置" 相当于创建通讯录分类:zone "lovyk.online" ...:正向通讯录(域名→IP,比如www.lovyk.online→10.1.8.200)zone "8.1.10.in-addr.arpa" ...:反向通讯录(IP→域名,比如10.1.8.11→client.lovyk.online)=======================================================================​#新开一个server输入[root@server ~ 13:25:34]# cd /var/named​# 新建两个空白通讯录(正向和反向)[root@server named 15:04:39]# touch lovyk.online.zone 10.1.8.zone-类比:拿两个新本子,一个记 "人名→住址",一个记 "住址→人名"​# 权限:root可改,DNS服务可读,其他人不能碰[root@server named 15:04:53]# chmod 640 lovyk.online.zone 10.1.8.zone​# 归属:root所有,给DNS服务(named用户组)访问权限[root@server named 15:05:04]# chown root:named lovyk.online.zone 10.1.8.zone​# 查看权限是否设置正确[root@server named 15:05:19]# ll lovyk.online.zone 10.1.8.zone-rw-r----- 1 root named 0 8月   6 15:04 10.1.8.zone-rw-r----- 1 root named 0 8月   6 15:04 lovyk.online.zone​#填写 "正向通讯录"(lovyk.online.zone)[root@server named 15:10:54]# vim /var/named/lovyk.online.zone=======================================================================$TTL 3600@ IN SOA dns.lovyk.online. root.lovyk.online. (42 ; serial3H ; secondary refresh15M ; secondary retry1W ; secondary timeout15M ; minimum cache TTL for negative answers)IN NS dns.lovyk.online.dns            IN A 10.1.8.10server         IN A 10.1.8.10student        IN CNAME client.lovyk.online.client         IN A 10.1.8.11www         30 IN A 10.1.8.200@              IN MX 10 mail.lovyk.online.mail           IN A 10.1.8.253​里面的内容是具体的 "域名→IP" 对应关系,比如:​dns IN A 10.1.8.10 → dns.lovyk.online对应 IP10.1.8.10(DNS 服务器自己)student IN CNAME client.lovyk.online. → student是client.lovyk.online的别名(相当于 "小明"= "王晓明")www 30 IN A 10.1.8.200 → www.lovyk.online对应 IP10.1.8.200,记录 30 秒后过期(需要重新查)@ IN MX 10 mail.lovyk.online. → 邮件服务器是mail.lovyk.online(相当于 "lovyk.online 的快递寄到 mail 这个地址")=======================================================================​#填写 "反向通讯录"(10.1.8.zone)[root@server named 15:13:25]# vim /var/named/10.1.8.zone=======================================================================$TTL 3600@ IN SOA dns.lovyk.onliSne. root.lovyk.online. (42 ; serial3H ; secondary refresh15M ; secondary retry1W ; secondary timeout15M ; minimum cache TTL for negative answers)IN NS dns.lovyk.online.10             IN PTR server.lovyk.online.10             IN PTR dns.lovyk.online.11             IN PTR client.lovyk.online.11             IN PTR student.lovyk.online.200            IN PTR www.lovyk.online.253            IN PTR mail.lovyk.online.​里面是 "IP→域名" 的对应关系,比如:​10 IN PTR server.lovyk.online. → IP10.1.8.10对应域名server.lovyk.online11 IN PTR client.lovyk.online. → IP10.1.8.11对应域名client.lovyk.online(注意:这里原配置有个笔误dns.lovyk.onliSne.,实际使用时需要改对)=======================================================================

二、服务器和客户端改名(让名字和通讯录一致)

#server端 改名和域名一致[root@server named 15:20:48]# hostnamectl set-hostname server.lovyk.online​# 查看服务器自己的DNS配置[root@server named 15:33:44]# cat /etc/resolv.conf# Generated by NetworkManagersearch lovyk.onlinenameserver 223.5.5.5nameserver 223.6.6.6​-结果显示服务器用公共 DNS(223.5.5.5),不影响客户端使用我们搭建的 DNS​#client端 改名和域名一致[root@client ~ 15:35:33]# hostnamectl set-hostname client.lovyk.online​[root@client ~ 15:36:01]# cat /etc/resolv.conf# Generated by NetworkManagersearch lovyk.onlinenameserver 10.1.8.10-作用:客户端最终改名为client.lovyk.online,和通讯录里的client IN A 10.1.8.11对应

三、客户端配置 DNS(指定用我们的通讯录)

[root@server named 15:20:32]# systemctl status named​#删除多余的网络连接1[root@client ~ 15:47:35]# nmcli connection delete 04c7e0b9-f265-361a-a91c-7e37f6c4f527 成功删除连接 "有线连接 1" (04c7e0b9-f265-361a-a91c-7e37f6c4f527)。​-作用:nmcli是网络管理工具,删除无用的旧连接(比如 "有线连接 1"、"ens36-dhcp"),避免干扰新配置-类比:删掉手机里没用的旧 WiFi,只留当前要用的​#删除多余的网络连接2[root@client ~ 15:30:07]# nmcli connection delete ens36-dhcp成功删除连接 "ens36-dhcp" (60dc4082-2cc5-4141-89e8-ee22adfc1613)。​#配置客户端优先用我们的 DNS 服务器[root@client ~ 15:30:27]# nmcli connection modify ens33 ipv4.dns 10.1.8.10​[root@client ~ 15:30:54]# nmcli connection up ens33连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)​-作用:让客户端查域名时,优先用我们搭建的 DNS 服务器(10.1.8.10),而不是公共 DNS-类比:告诉手机 "查名字时先看我家的通讯录,别用外面的"​#确认 DNS 配置生效[root@client ~ 15:48:09]# cat /etc/resolv.conf # Generated by NetworkManagersearch lovyk.onlinenameserver 10.1.8.10​-结果显示nameserver 10.1.8.10,说明客户端已正确使用我们的 DNS 服务器​​#测试 DNS 是否生效(验证通讯录能用)[root@client ~ 15:48:17]# ping studentPING client.lovyk.online (10.1.8.11) 56(84) bytes of data.64 bytes from client.lovyk.online (10.1.8.11): icmp_seq=1 ttl=64 time=0.010 ms64 bytes from client.lovyk.online (10.1.8.11): icmp_seq=2 ttl=64 time=0.028 ms64 bytes from client.lovyk.online (10.1.8.11): icmp_seq=3 ttl=64 time=0.050 ms^C--- client.lovyk.online ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2015msrtt min/avg/max/mdev = 0.010/0.029/0.050/0.016 ms​

案例

  • 这些命令是一套搭建个人网站并通过域名访问的完整流程,就像在互联网上 “租了个店铺并挂上牌匾”,让别人能通过你的域名找到网站。下面用 “开网店” 的类比来解释

#一、准备工作:给网站 “租个位置” 并 “挂上牌匾”​#前提有一个个人的域名--lovyk.online#添加记录#记录类型 -A#主机记录 -www​#二、登录服务器:进入 “店铺后台”#登录[root@server ~ 15:45:24]# ssh kiosk@www.lovyk.online -p 10022-作用:通过 ssh 远程登录到 www.lovyk.online 对应的服务器(相当于 “用钥匙打开店铺后台的门”)。-kiosk 是登录用户名(临时访客账号);- -p 10022 是指定端口(相当于 “店铺后门的特殊通道号”,默认是 22,这里用了自定义端口更安全)​#作用:从 kiosk 普通用户切换到 root 管理员(相当于 “从店员身份切换成店主,获得所有操作权限”)[kiosk@f0-home www]$ sudo -i​#三、创建网站文件夹:给网站 “划分存放区域”[root@f0-home ~]# cd /www[root@f0-home www]# mkdir lovyk.online- 作用:- 进入服务器存放网站的目录 /www(相当于 “仓库总目录”);- 创建 lovyk.online 文件夹(相当于 “给你的网站单独划分一个货架”)。​​#创建成功[root@f0-home www]# lslovyk.online  lovyk.online  shcloud.top  yuxb.cloud[root@f0-home www]# pwd/www​#四、创建测试页面:先挂个 “临时广告牌”[root@f0-home www]# echo Welcome to my site > lovyk.online/index.html​#五、测试访问:看看 “广告牌能不能被看到”#点击网页输入www.lovyk.online:100213- 进入显示出Welcome to my site- index.html 是网站默认首页,访问域名时会自动打开这个文件​​#六、配置虚拟主机:给网站 “正式装修并挂对招牌”[root@f0-home /]# cd /www[root@f0-home www]# cd /etc/httpd/conf.d/[root@f0-home conf.d]# vim vhost-lovyk.online.conf================================================================#进入vim编辑cat里面的内容[root@f0-home conf.d]# cat vhost-lovyk.online.conf<VirtualHost *:80>DocumentRoot "/www/lovyk.online"ServerName www.lovyk.online​<Directory "/www/lovyk.online">AllowOverride None# Allow open access:Require all granted</Directory></VirtualHost>​- 作用:进入 Apache 服务器的配置文件夹(/etc/httpd/conf.d/ 是存放网站配置的 “规则手册” 目录);创建并编辑 vhost-lovyk.online.conf 文件(相当于 “给你的网站写一份专属规则”)。================================================================​#重启生效[root@f0-home conf.d]# systemctl restart httpd​#七、更新网站内容:换上 “正式商品”#重新进入[root@server ~ 17:02:43]# ssh kiosk@www.lovyk.online -p 10022kiosk@www.lovyk.online's password: ​[root@f0-home lovyk.online]# lsindex.html#把之前的临时首页 index.html 改名为 indexold.html(相当于 “把临时广告牌挪到仓库,留作备份”)[root@f0-home lovyk.online]# mv index.html indexold.html[root@f0-home lovyk.online]# lsindexold.html#把桌面上了html文件拖入[root@f0-home lovyk.online]# rz -Erz waiting to receive.[root@f0-home lovyk.online]# lsindex.html  indexold.html​#再次重启 Apache,让新网页生效[root@f0-home lovyk.online]# systemctl restart httpd​#再次查看www.lovyk.online:100213显示网页

http://www.lryc.cn/news/611698.html

相关文章:

  • 服务器巡检项目
  • Dart语言“跨界”指南:从JavaScript到Kotlin,如何用多语言思维快速上手
  • C++ - 仿 RabbitMQ 实现消息队列--服务器模块实现
  • Linux网络编程基础-简易TCP服务器框架
  • 服务器——“查询不到显卡驱动,且输入nvidia-smi报错”的解决办法
  • Docker的安装,服务器与客户端之间的通信
  • copy_file_range系统调用及示例
  • 【网络运维】Linux:简单DHCP服务器的部署
  • Profinet转Ethernet IP网关接入五轴车床上下料机械手控制系统的配置实例
  • 03-mysql/redis/apache安装记录
  • 开疆智能ModbusTCP转Profinet网关连接安川YRC1000机器人配置案例
  • PHP官方及第三方下载地址全指南(2025最新版)
  • apache-superset config.py、superset_config.py完整配置项解读
  • SQL的条件查询
  • SQL120 贷款情况
  • CSS高频属性速查指南
  • 基于智能体技术的AIGC源码
  • ABP VNext + SQL Server Temporal Tables:审计与时序数据管理
  • 从 0 到 1:写一个能跑在大体量应用后台的 C++ 协程库
  • 怎么免费建立自己的网站步骤
  • Docker 数据存储路径(解决默认docker路径位置磁盘空间不足的情况)
  • 家庭宽带中的服务器如何被外网访问?
  • RequestBodyAdviceAdapter是什么有什么用
  • [Linux]学习笔记系列 -- [arm][debug]
  • MCP 协议:AI 时代的 “万能转接头”,从 “手动粘贴” 到 “万能接口”:MCP 协议如何重构 AI 工具调用规则?
  • Linux 中 Git 操作大全
  • Go语言 单元测试
  • 鸿蒙app 开发中 全局弹窗类的封装 基于PromptAction
  • LazyLLM教程 | 第3讲:大模型怎么玩:用LazyLLM带你理解调用逻辑与Prompt魔法!
  • AI_提示词Prompt