LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

1.8中是增加了dnsmasq服务,它可以通过命令unbound直接启动服务

2022年11月21日 357点热度

1. 问题场景

有这么一种场景,两台server,server A,server B。

Server A和Server B是在同一个内网中,但是Server A通过domain访问Server B。

不希望Server A访问Server B时走公网, 一种可行的方案是,将此domain不解析为Server B的公网,而是解析为内网。那么该这么做呢?

2. 修改/etc/hosts

修改/etc/hosts是一种思路,但是在实际操作中发现,在使用ping等工具时,系统是先查询/etc/hosts,如果有结果就不再访问DNS。

但是在实际路由过程中,系统是只查询DNS。 hosts中的配置要生效,必须要加载到对应的DNS服务中

通过实现发现, centos7中是没有本地DNS服务的,所以它的hosts无法在DNS中生效;但是centos 8中是增加了dnsmasq服务,它相当于一层DNS缓存服务,它可以将hosts中的配置加载到DNS中

在Ubuntu 16以后,系统默认安装了systemd-resolved,它同样可以将hosts中的配置加到DNS中

通过host,nslookup和dig查询,不通系统得到的结果可能不太一样。

下面我们分别在centos和ubuntu上修改/etc/hosts,添加一个记录来表示Server B

192.168.0.168   

然后测试一下不通系统上的差别

2.1 在centos 7上修改/etc/hosts

下图是dig的结果样例

可以看到DNS查询并没有受/etc/hosts影响

2.2 在ubuntu 20上修改/etc/hosts

下图是dig的结果样例

3. 自定义nameserver

可以使用unbound来构建自定义的nameserver,在Centos或者Ubuntu下可以直接安装unbound服务;

centos安装

yum install unbound

ubuntu安装

apt install unbound

默认的配置文件在/etc/unbound/unbound.conf

安装完unbound后,可以通过命令unbound直接启动服务或者可以通过系统服务启动。

下面是通过命令行启动

unbound -v -d

unbound的日志在默认的配置中是写入到syslog中的,如果需要重定向到其他文件,可以修改unbound.cfg中如下的配置。

示例中将日志重新向到/tmp/unbound.log中

在这里插入图片描述

如果需要启动时打印到标准输出流,则可以按注释中操作,将logfile的配置留为空。

unbound的默认启动是在后台,所以在命令启动时,日志会刷一部分就结束了;如果想要一直在前台输出日志,则在启动命令中加入 -d参数。

3.1常见的启动错误

如下是按照上述步骤,将unbound日志输出到标准输出流中,这样可以看到启动时的异常手机直接安装linux系统,

安卓手机安装linux系统_手机直接安装linux系统_winpe能直接安装系统吗

这里的提示错误是”remote-control“相关的。

在配置文件中将remote-control关闭,即可解决该问题。

在这里插入图片描述

正常启动的日志样例,这里的日志级别为-v

自定义域名的建议配置方式

在/etc/unbound/local.d文件夹下,配置需要代理的域名即可,不要写到主配置文件中

3.2 调试unbound

使用dig或者nslookup可以测试测试unbound服务。

如果没有安装dig,可以通过如下命令安装

centos

yum install bind-utils

ubuntu

apt install bind-utils

dig使用命令如下:

dig @ 

@符号表示往哪一个DNS服务发送,如果不加@则需要修改/etc/resolve.conf文件

配置允许访问该服务的IP地址,全放开则配置0.0.0.0/0 allow手机直接安装linux系统,否则请根据实际情况配置。

在这里插入图片描述

至此一个自定义的nameserver就搭建好了。在Server A上,可以修改/etc/resolv.conf来修改dns的地址。

常见问题 53端口占用问题

在Ubuntu 系统中linux系统介绍,53端口是被系统服务**/lib/systemd/systemd-resolved** 占用了。

实际上它就是一个DNS的服务,只不过是解析本地的域名,包含了/etc/hosts中的配置,所以ubuntu与centos在本地域名的解析上存在在第二节中展示的不同。

在Centos8中,同样53端口被系统服务dnsmasq占用了。它同systemd-resolved服务一样,为本地域名做代理。(注意,在centos7中无此服务)

上诉两套系统中其实都有本地域名解析的解决方案了,所以如果仅仅是本地的域名解析问题,可以完全使用上面的两个服务而不需要再自己搭建unbound服务了。

centos8 dnsmasq服务没有及时更新hosts中的配置

与ubuntu中的systemd-resolved实时更新不同,centos8中的dnsmasq需要重启一下,才可以加载hosts中的改动。

重启它可以使用如下命令

killall -HUP dnsmasq

重启后再试一下即可。

当然linux源代码分析,需要体行的一点是,如果要使用systemd-resolved或者dnsmasq都要在本机的/etc/resolv.conf中加入本地服务IP,

如何查看?

执行如下命令

netstat -nulp | grep ":53 "

结果示例如下,

然后加入到/etc/resolv.conf中

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: dns dnsmasq etc hosts 域名解析
最后更新:2022年11月21日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
Linux操作系统不仅仅端口-u:仅显示监听套接字(protocol) (知识点)Linux文件权限详解:执行权限 VMware过期Linux系统CentOS7下载安装1.77下载地址 红旗linux操作系统v11.0-红旗操作系统操作系统吗? 5yw红软基地驱动完美支持windows、mac、linux系统 轻松安装ZeroMQ:Ubuntu系统必备的解决方案 怎么在Win7系统虚拟机上安装LinuxUbuntu的技巧?在这里 Linux必备!安装RAR解压器,轻松解压文件! 虚拟机linux系统下载 什么是linuxLinux(/托瓦兹)的Linux内核 文件永久删除还能找回来吗?关于Win和Mac系统的恢复方法 Ubuntu16.04怎样安装系统更新和应用更新16.04 网卡 centos 启动 Linux选择选择时各企业所参考的依据:以下内容和Centos Linux内核内存检测工具系列中的一篇,配置以及典型应用 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 0渗透操作0x02绕过disable_functions插件(组图) 【好玩的网络-第2.5期】分配IP有哪些骚操作?小白保姆级教程 Windows远程连接工具、Ubuntu系统的安装软件及系统 Linux一模一样远程连接编辑的操作图是什么? DRAM中的虚拟地址空间的缓存简化内存管理(组图) 2.5创建和配置虚拟机2.5.1创建虚拟机双击桌面的VMwarePlayer
Linux文件路径查询方法,轻松获取文件位置Linux移植6410:从零开始的挑战!linux php安装 快速掌握Linux下PHP安装,轻松入门流行技术linux patch 文件 解决LinuxPatch文件10大疑难杂症,轻松应对!Ubuntu系统更改IP地址的简易教程,跟随以下步骤即可搞定!高效搭建Linux Android开发环境,轻松提升开发体验轻松掌握:如何查询Linux内核版本?Linux安装Matlab指南,快速掌握安装步骤Ubuntu 16安装网卡驱动教程,轻松解决网络连接问题Linux启动时,不使用图形界面可能更有效率!移植Linux,手机变身“大杀器”!详解8大关键操作Linux更高效,掌握启动终端快捷键!纯Python库实现上面介绍的HTML转换为PDF的软件Fedora 13服务器配置指南:9个实用技巧全解析9种方法轻松获取Linux版本,快速掌握系统信息!博客韦东山freeRTOS系列教程:入门文档教程+进阶视频教程轻松掌握linux ldd命令的技巧,成为高效开发者与管理员Linux VPS安全检测,保障服务器稳定运行!Linux下高效开发必备:配置Tomcat和JDK分析Linux中的I2C驱动程序框架核心结构(i2c-bus结构)
go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由 掌握Linux下载文件命令技巧,轻松高效获取所需资料 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 LinuxKernel5.7引入了第三种方式:LSM扩展伯克利包过滤器 linux设置开机服务自动启动/关闭自动命令@localhost Linux下如何设置开机启动启动脚本?学算法 关于GNU/Linux操作系统上运行的Linux内核版本的通知 【报错日志】一下升级linux内核的启动顺序为0 Linux云主机无法SSH远程登录,上午还用得挺好 Linux系统的修改权限与默认权限的分类及处理方法 一下,网络编程环境高级编程(第二版) 红旗linux操作系统v11.0-红旗操作系统操作系统吗? GCC在Linux内核方面的速度比LLVM/Clang更快 4.1df命令4.3/4.4磁盘分区命令4.2du命令输出磁盘文件系统 轻松学会Linux创建用户设置密码,防止安全风险 Ubuntu18验证dhcp服务器配置是否成功?.04的配置 使用u盘在IBMx3650服务器上安装linux系统?我猜两种情况 驱动开发:通过ReadFile与内核层通信详细介绍如何使用应用层 LinuxTCP协议栈的内部机制和优化技术介绍 共享一个页表和一块物理内存的区别与联系导航
标签聚合
虚拟机 sudo linux服务器 电脑 命令 命令模式 文件目录 软件 linux系统 linux脚本
书籍
课程
技术群
技术干货大合集↓
  • 2023年3月 / 114篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.