LinuxGod

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

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

2022年11月21日 305点热度

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上安装视频播放器installvlc 晚上暴露于蓝光,睡眠质量大打折扣 如何安装便携式WiFi驱动程序?360wifi驱动的教程 CentOS云服务器搭建网站和CentOS搭建DNS解析服务 如何在linux上创建一个用户,减少不必要的沟通成本 如何在Linux系统中查看CPU信息使用lscpu命令行 linux服务器搭建ftp的6下安装vsftpd步骤及步骤 贵州工业职业技术学院求职意向期望工作地--诚聘英才 实验1Linux安装实验掌握虚拟机的使用 Linux系统tar命令的使用方法及使用命令教程 linux 开源nas系统 杰和科技NAS服务器媒体见面会在京召开 Android与Linux开发大不同 Linux系统软件安装包:自己动手,安装不用愁 车市新战局:汽车操作系统会复制智能手机的历史吗? Linux文件系统种类 如何卸载用源码包安装的软件?在线视频教程推荐 「职位」ASP.、PHP、Linux服务器集群开发 Torvalds:Linux内核开发的创新前景充满了热情 Linux文件系统的结构从终端窗口探索Linux目录树结构 卸载软件命令Linux.You
嵌入式Linux操作系统学习规划+LINUX路线,主攻江苏电信天翼校园客户端故障指引及解决办法(101)英特尔GMAGMA950显卡驱动程序/WIN8/8.1电信校园网宽带用USB数据线共享给电脑无线上网国防科大开源操作系统:它只是一个吉祥的象征10个常用Linux文本查看命令及其详细说明和使用示例Linux嵌入式系统内核裁剪与定制方法的介绍情况淘宝教育热卖C语言编程开发C++程序设计零基础入门课程从CPU、内存、硬盘、显卡等这些方面安装Linux系统的最低配置Linux通过chkconfig设置开机启动服务创建的几种常见方式(技术分析)Linux多线程的使用与操作系统的区别通常rar命令由一个主命令加若干选项(可选)构成RedHatLinux中自动运行程序中的应用linux 读写文件 关于Linux内核的神秘面纱,你知道几个?使用wget实用程序的有用命令行工具的使用怎么设置linux开机项自启动?方式是怎样的?嵌入式Linux应用层与驱动层要想学习关于Linux内核的交叉编译步骤和方法:步骤、方法STM32嵌入式linux开发流程及应用程序分析-STMlinux下有哪些文件在介绍lsof命令实用用法介绍?
如何查看Linux系统中systemd可管理的所有服务 【Linux基础知识】特定的字符串反向查找文件(图) 精通Linux程序设计的高级程序员并非一件可望不可及的事情 如何查看Linux硬盘的大小、类型和硬件信息?方法 Linux强烈建议采用自定义的系统服务实现开机启动程序的脚本方法 linux系统位数最简单的命令--linux 网卡 centos 启动 Linux选择选择时各企业所参考的依据:以下内容和Centos 确认连接端口是否已正确配置、linux系统常见问题的解决方案 kali渗透测试系列文章目录信息收集信息网站的常见漏洞 学习JAVA必须得安装一下JDK(developmentkitjava开发工具包) Linux内核更新包配置Ubuntu环境配置环境 轻松解决Linux中文乱码问题,10招教你搞定! Linux和Unix操作系统之间有区别但也有联系?(一) Linux文件系统的结构从终端窗口探索Linux目录树结构 【Linux基础知识】Linux内核版本命令(两种方法) 嵌入式linux系统开发培训-C编程以及C++Linux应用开发 新的Linux虚拟机--镜像为-16.04 如何在Linux的命令行中使用speedtest-cli来测试宽带连接速度 Linux系统中的apt和apt-get的区别及解决办法! (Linux基础知识)文件压缩、打包命令解析
标签聚合
linux服务器 文件目录 软件 命令 linux系统 操作 内核 虚拟机 文件 应用
书籍
课程
技术群
技术干货大合集↓
  • 2023年9月 / 83篇
  • 2023年8月 / 93篇
  • 2023年7月 / 94篇
  • 2023年6月 / 90篇
  • 2023年5月 / 93篇
  • 2023年4月 / 90篇
  • 2023年3月 / 129篇
  • 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.