自建DNS服务器,了解一代防火墙必备网络环境,局域网设备域名访问教程

本文主要是介绍自建DNS服务器,了解一代防火墙必备网络环境,局域网设备域名访问教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

互联网用域名访问各种服务,很常见。比如访问本站,用 www.icxbk.com
可是在家里,家庭局域网中的 linux 主机,文件服务器等,是直接用 IP 访问的,比如:
用 192.168.3.21 访问 Linux电脑
用 192.168.3.31 访问 文件服务器

本文记录一下在家庭局域网中,使用自己的域名

用 www.robe.lalala 访问 linux电脑
用 file.robe.lalala 访问 文件服务器。

提供这个解析域名服务的是域名服务器/DNS,ISC组织开发了开源的DNS软件bind9,本文使用这个软件,bind9 详细信息可以去官网查看https://www.isc.org/

安装

安装软件包 bind9,ubuntu 18.04 用源中的 bind9 就可以

安装完成后,开始配置,配置之前,需要选一个域名,自己想用什么域名都行,家庭局域网内自己做主,最好不要和公网的域名冲突,不然的话,你本想访问公网的服务,结果DNS老是给你解析到局域网内的主机,那就不爽了。
选好域名后,先检查一下域名有没有冲突:比如笔者的域名 robe.lalala,在公网查询不到,可以用了。

开始配置bind9

打开 /etc/bind/named.conf.local 文件,
增加一个zone,填上域名;括号中type填master,主域名服务器;file 是解析的数据的文件,填上全路径

修改file 文件的内容,可以复制本机的/etc/bind/db.local文件,修改如下,主要是增加两个A地址记录,保存

重启bind9服务新配置生效:

Systemctl restart bind9.server

在bind9服务的本地查询域名,域名服务器本身,www.robe.lalala,file.robe.lalala 都可以查到对应的ip地址

其他电脑上,直接查询不到,是因为电脑一般都自动获取DNS服务器ip,直接去网关上查询了,或者其他DNS服务器了,跳过了本地局域网内的DNS服务器。
那就改,指定DNS服务器为局域网内的DNS服务器,修改网络设置如下,填上运行bind9服务的那台机器的IP,确定保存。

再试试,就可以解析了,还不行的话需要重启一下电脑。DNS 解析过的域名会缓存在电脑中,重启会清空缓存,再开机没有缓存,就直接找DNS服务器解析,重启后新的域名生效

现在在电脑浏览器中输入 www.robe.lalala,和 file.robe.lalala,直接打开服务器了


putty 远程登陆也可以用这个域名代替 ip 地址

使用新的域名,需要给电脑设置DNS服务器的地址。因为家里局域网中的电脑手机,默认是自动获取DNS服务器IP的,获取到的DNS服务器IP是网关IP,网关解析不到的域名会按照优先级,依次去电信公司DNS查询,等等等,都找不到最终会去根DNS服务器查询,跳过了本地DNS服务器,所以每一台电脑手机都要设置DNS服务器IP。

参考:
https://wiki.archlinux.org/index.php/BIND_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
https://packages.ubuntu.com/eoan/bind9

这篇关于自建DNS服务器,了解一代防火墙必备网络环境,局域网设备域名访问教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871877

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

录音功能在哪里? 电脑手机等设备打开录音功能的技巧

《录音功能在哪里?电脑手机等设备打开录音功能的技巧》很多时候我们需要使用录音功能,电脑和手机这些常用设备怎么使用录音功能呢?下面我们就来看看详细的教程... 我们在会议讨论、采访记录、课堂学习、灵感创作、法律取证、重要对话时,都可能有录音需求,便于留存关键信息。下面分享一下如何在电脑端和手机端上找到录音功能

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与