自建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

相关文章

Python中Tkinter GUI编程详细教程

《Python中TkinterGUI编程详细教程》Tkinter作为Python编程语言中构建GUI的一个重要组件,其教程对于任何希望将Python应用到实际编程中的开发者来说都是宝贵的资源,这篇文... 目录前言1. Tkinter 简介2. 第一个 Tkinter 程序3. 窗口和基础组件3.1 创建窗

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA

Prometheus+cpolar如何在手机上也能监控服务器状态?

《Prometheus+cpolar如何在手机上也能监控服务器状态?》本文强调了通过Cpolar这一内网穿透工具,轻松突破Prometheus仅限于局域网访问的限制,实现外网随时随地访问监控数据,教你... 目录前言1.安装prometheus2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里