GVKun编程网logo

ubuntu dnsmasq

4

这篇文章主要围绕ubuntudnsmasq展开,旨在为您提供一份详细的参考资料。我们将全面介绍ubuntudnsmasq,同时也会为您带来CentOS7.8上nslookups的DNSMasq问题我没

这篇文章主要围绕ubuntu dnsmasq展开,旨在为您提供一份详细的参考资料。我们将全面介绍ubuntu dnsmasq,同时也会为您带来CentOS 7.8 上 nslookups 的 DNSMasq 问题我没有得到 AAAA 记录的答案,而且总是被拒绝、centos 构建dns服务 dnsmasq、centos7 搭建 dns 服务器 dnsmasq、Dnsmasq的实用方法。

本文目录一览:

ubuntu dnsmasq

ubuntu dnsmasq

/var/run/NetworkManager/resolv.conf

 

而你真实的dns服务器地址,是被这个服务管理维护着的/

local process -> local dnsmasq -> router -> ISP dns

 

 

  1. 访问一个域名,但本地 /hosts 里找不到。
  2. 找到DNS服务器,到DNS服务器上去找
  3. DNS 服务器接收到域名访问,如果是本地配置好的,则可直接返回结果。如果本地未配置,则到 dnsmasq 配置的默认上一级 DNS 服务器上找。

127.0.1.1应该是用于端口映射(port forwarding)的,比如ISP分配的DNS server是220.250.64.26,则dnsmasq会将客户端向127.0.0.1:53发出的DNS请求,转发到220.250.64.26:53

类似的还有putty、SecureCRT等终端仿真程序。考虑以下场景:
主机A可以访问主机B,主机B可以访问主机C,但主机A却不能直接访问主机C,这时A就可以将C的ssh端口映射到B上的一个随机端口(比如6667),以后直接访问B:6667就能实现A访问C的效果。

[ubuntu networking networkmanager]https://blog.csdn.net/u012336923/article/details/50639425

[ubuntu dnsmasq问题]

http://www.cnblogs.com/chjbbs/p/8302056.html

 

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。

其中:
DNSmasq把因特网地址和地址-域名映射关系放入cache中,减少服务器负担的同时也提升了性能
DNSmasq能配置来自动用PPP或DHCP配置请求从上行域名解析服务器中获取地址信息,如果信息发生改变,它会自动重载这些信息。
DNSmasq能被配置用来向特定的上行服务器发送特定的域名解析请求,从而可以简单的与私有的DNS服务器结合使用。



作者:D0be
链接:https://www.jianshu.com/p/8f36fe09e39e
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

CentOS 7.8 上 nslookups 的 DNSMasq 问题我没有得到 AAAA 记录的答案,而且总是被拒绝

CentOS 7.8 上 nslookups 的 DNSMasq 问题我没有得到 AAAA 记录的答案,而且总是被拒绝

如何解决CentOS 7.8 上 nslookups 的 DNSMasq 问题我没有得到 AAAA 记录的答案,而且总是被拒绝

我正在运行 CentOS 7.8。它是一个本地/封闭网络,由一对虚拟机和一个 DNS 服务器组成,在第三个虚拟机上使用 dnsmasq,所有虚拟机都无法访问互联网。

我已经禁用了 libvertd 和虚拟接口、它实现的 dnsmasq 等。我们不使用 NetworkManager 所以它被禁用了。我们不使用本地防火墙。

这是我的 dnsmasq vm 服务器配置配置:

  1. <nice-name>

这是我得到的结果

  1. DEVICE=eth0
  2. ONBOOT=yes
  3. HWADDR=00:50:56:xx:xx:44
  4. TYPE=Ethernet
  5. BOOTPROTO=none
  6. IPADDR=192.168.005.97
  7. NETMASK=255.255.255.0
  8. #DNS1=192.168.005.10
  9. #DNS2=192.168.005.24
  10. DNS1=192.168.005.97
  11. # cat /etc/sysconfig/network
  12. GATEWAY=192.168.005.1
  13. DNS1=192.168.005.97
  14. # cat /etc/resolv.conf
  15. search abc.net
  16. nameserver 192.168.005.97
  17. cat /etc/hosts
  18. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  19. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  20. 192.168.005.97 mydns.abc.net mydns mydns-adm.abc.net mydns-adm
  21. 192.168.005.80 myipa.abc.net myipa myipa-adm.abc.net myipa-adm
  22. 192.168.005.81 vm1.abc.net vm1 vm1-adm.abc.net vm1-adm
  23. # ifconfig
  24. eth0: flags=4163<UP,broADCAST,RUNNING,MULTICAST> mtu 1500
  25. inet 192.168.005.97 netmask 255.255.255.0 broadcast 192.168.005.255
  26. inet6 fe80::250:56ff:fexx:xx44 prefixlen 64 scopeid 0x20<link>
  27. ether 00:50:56:xx:xx:44 txqueuelen 1000 (Ethernet)
  28. RX packets 719 bytes 65867 (64.3 KiB)
  29. RX errors 0 dropped 0 overruns 0 frame 0
  30. TX packets 328 bytes 72879 (71.1 KiB)
  31. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  32. # netstat -untlp | grep -w 53
  33. tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 3666/dnsmasq
  34. tcp6 0 0 :::53 :::* LISTEN 3666/dnsmasq
  35. udp 0 0 0.0.0.0:53 0.0.0.0:* 3666/dnsmasq
  36. udp6 0 0 :::53 :::* 3666/dnsmasq

我在这里遗漏了什么?

解决方法

据 Redhat 称,nslookup 命令有一个错误,并在 RHEL 7.7 版本中得到修复。 nslookup 的新默认行为现在将查询 IPV4 和 IPV6 记录。

过去 nslookup 对 IPV4 记录的唯一查询,是对 IPV6 记录的查询导致了我的 RHEL 7.8 环境中的 REFUSED 响应。

7.6 后系统的正确用法是在 nslookup 搜索中使用 -query=A 参数。

例如

  1. # nslookup -query=A mydns

centos 构建dns服务 dnsmasq

centos 构建dns服务 dnsmasq

1 安装
yum -y install dnsmasq
开放udp tcp 53 端口
2,修改配置文件 dnsmasq.conf
# grep -Ev "^$|^[#;]" /etc/dnsmasq.conf 查看文件中未注释的内容信息
# vi /etc/dnsmasq.conf

#指定上游DNS服务器
resolv-file=/etc/resolv.dnsmasq.conf
#表示严格按照 resolv-file 文件中的顺序从上到下进行 DNS 解析, 直到第一个成功解析成功为止
strict-order
# 开启后会寻找本地的hosts文件在去寻找缓存的域名,最后到上游dns查找
#no-resolv
listen-address=192.168.90.224,127.0.0.1 #0.0.0.0 设置为公网IP
conf-dir=/etc/dnsmasq.d # 我们的解析记录都写到这个目录下 


3, 新建resolv.dnsmasq.conf ,这个文件用来设置上游DNS地址,按照顺序依次轮询
vi/etc/resolv.dnsmasq.conf

nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 168.95.1.1
nameserver 202.101.172.35
nameserver 202.101.172.47

4,新建域名解析配置文件
新建文件 /etc/dnsmasq.d/address.conf

address=/uac.test.3028.com/192.168.90.220  #正向解析
address=/www.taobao.com/127.0.0.1  #正向解析
ptr-record=127.0.0.1.in-addr.arpa,www.taobao.com #反向解析(可选)

address=/baidu.com/127.0.0.1 #泛域名解析

5 开机启动,日志查看

systemctl enable dnsmasq
systemctl start dnsmasq
systemctl restart dnsmasq
#查看dnsmasq是否启动正常,查看系统日志:
journalctl -u dnsmasq
/var/log/dnsmasq.log

6 dns 测试
linux下提供nslookup命令的软件就是 bind-utils

yum install bind-utils -y
nslookup uac.test.3028.com

  安装dig yum install bind-utils

测试dns缓存,要测试查询速度,请访问一个 dnsmasq 启动后没有访问过的网站,执行

[root@node ~]# dig uac.test.3028.com | grep "Query time"
;; Query time: 212 msec
[root@node ~]# dig uac.test.3028.com | grep "Query time"
;; Query time: 2 msec

  再次运行命令,因为使用了缓存,查询时间应该大大缩短。

centos7 搭建 dns 服务器 dnsmasq

centos7 搭建 dns 服务器 dnsmasq

centos7 搭建 dns 服务器 dnsmasq

DNS 服务器就是域名服务器,即提供域名解析的服务器.

DNS 的工作原理及过程分下面几个步骤:
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域 (根的子域) 的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

安装

  1. 选定一台内网的机器,安装 dnsmasq 这个程序
  2. 然后启动这个程序
  3. 让他开机自启动
  4. 配置

1. 选定一台内网的机器,安装 dnsmasq 这个程序

yum install -y dnsmasq

2. 然后启动这个程序

systemctl start dnsmasq

3. 让他开机自启动

systemctl enable dnsmasq

4. 其他内网机器修改 dns 设置

修改有两种方式

  1. 修改网卡的 DNS 设置
echo ''DNS1=XXX.XXX.XXX.XXX''>> /etc/sysconfig/netwrok-scripts/ifcfg-XXX

/etc/init.d/network restart
  1. 修改 /etc/resolv.conf

增加 nameserver

安装 nscd 管理 dns 缓存

yum install -y nscd
systemctl start nscd 
systemctl enable nscd

刷新缓存

systemctl restart nscd 

dig 命令测试 dns

# 安装dig工具
yum install -y net-tools

dig XXX.cn @XXX.XXX.XXX.XXX

添加域名解析

只需要在安装了 dnsmasq 的机器上面 简单修改 /etc/hosts 即可,最好刷新一下缓存

本文同步分享在 博客 "suveng"(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。

Dnsmasq

Dnsmasq

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代
dnsmasq 提供两个服务:dns 服务和 dhcp 服务。而每个服务都可以单独的使用。

一个本地的 dns cache 可以加快你访问网络的速度,因为你的浏览器不用去访问 dns 服务器,它在计算中查找之前已经访问的域名中有没有这次你访问的域名。

dhcp 服务允许用户的计算机分配一个网络地址用来去连接其他计算机,一个计算机需要一个唯一的网络地址用来访问 internet。

dnsmasq 并不是被设计用来共享互联网链接的,但是,它提供了一些服务所需要的后台服务,注意,dnsmasq 安装包会干扰 Network Manager,可以使用 dnsmasq-base 提供 dhcp 服务。如果你使用了 network manager,则需要安装 dnsmasq-base,而不是 dnsmasq。如果你有更复杂的需求,则可以卸载 network manager,使用 dnsmasq 或者 bind9。

apt-get install dnsmasq

配置文件是:/etc/dnsmasq.conf

下面只列出 dnsmasq 中和 dns 相关的配置项,dhcp 的功能没打算用,暂不翻译:

用指定的端口代替默认的DNS 53端口,如果设置为0,则完全禁止dns功能,只使用dhcp服务
port=5353


以下两个参数告诉dnsmasq过滤一些查询:1 哪些公共DNS没有回答  2 哪些root根域不可达。


从不转发格式错误的域名
#domain-needed

从不转发不在路由地址中的域名
#bogus-priv


如果你想dns从/etc/resolv.conf之外的地方获取你的上游dns服务器
resolv-file=/etc/dnsmasq.d/upstream_dns.conf


默认情况下dnsmasq会发送查询到它的任何上游dns服务器上,如果取消注释,则dnsmasq则会严格按照/etc/resolv.conf中的dns server顺序进行查询
#strict-order

如果你不想dnsmasq读取/etc/resolv.conf文件或者其他文件,获得它的servers
# If you don''t want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this.
#no-resolv


如果你不允许dnsmasq通过轮训/etc/resolv.conf或者其他文件来获取配置的改变,则取消注释 
#no-poll

增加一个name server,一般用于内网域名
#server=/localnet/192.168.0.1


设置一个反向解析,所有192.168.3.0/24的地址都到10.1.2.3去解析
#server=/3.168.192.in-addr.arpa/10.1.2.3

增加一个本地域名,会在/etc/hosts中进行查询
#local=/localnet/


增加一个域名,强制解析到你指定的地址上
#address=/double-click.net/127.0.0.1

同上,还支持ipv6
#address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83


增加查询yahoo google和它们的子域名到vpn、search查找
# Add the IPs of all queries to yahoo.com, google.com, and their
# subdomains to the vpn and search ipsets:
#ipset=/yahoo.com/google.com/vpn,search


你还可以控制dnsmasq和server之间的查询从哪个网卡出去
# server=10.1.2.3@eth1


指定源地址携带10.1.2.3地址和192.168.1.155端口进行通讯
# and this sets the source (ie local) address used to talk to
# 10.1.2.3 to 192.168.1.1 port 55 (there must be a interface with that
# IP on the machine, obviously).
# server=10.1.2.3@192.168.1.1#55


改变dnsmasq默认的uid和gid
#user=
#group=


如果你想dnsmasq监听某个端口为dhcp、dns提供服务
#interface=

你还可以指定哪个端口你不想监听
#except-interface=

或者设置哪个地址你想监听,如果你本机要使用,记得写上127.0.0.1
#listen-address=


如果你想在某个端口只提供dns服务,则可以进行配置禁止dhcp服务
#no-dhcp-interface=

# On systems which support it, dnsmasq binds the wildcard address,
# even when it is listening on only some interfaces. It then discards
# requests that it shouldn''t reply to. This has the advantage of
# working even when interfaces come and go and change address. If you
# want dnsmasq to really bind only the interfaces it is listening on,
# uncomment this option. About the only time you may need this is when
# running another nameserver on the same machine.
#bind-interfaces

如果你不想使用/etc/hosts,则取消下面的注释
#no-hosts

如果你项读取其他类似/etc/hosts文件,则进行配置
addn-hosts=/etc/banner_add_hosts

自动的给hosts中的name增加一个域名
#expand-hosts


给dhcp服务赋予一个域名
#domain=thekelleys.org.uk

给dhcp的一个子域赋予一个不同的域名
#domain=wireless.thekelleys.org.uk,192.168.2.0/24

同上,不过子域是一个范围
#domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200


dhcp分发ip的范围,以及每个ip的租约时间
#dhcp-range=192.168.0.50,192.168.0.150,12h

同上,不过给出了掩码
#dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h







今天关于ubuntu dnsmasq的讲解已经结束,谢谢您的阅读,如果想了解更多关于CentOS 7.8 上 nslookups 的 DNSMasq 问题我没有得到 AAAA 记录的答案,而且总是被拒绝、centos 构建dns服务 dnsmasq、centos7 搭建 dns 服务器 dnsmasq、Dnsmasq的相关知识,请在本站搜索。

本文标签: