一、Dnsmasq安装

  1. yum install dnsmasq -y
  2. service dnsmasq start

注意:dnsmasq只适合小规模网络使用,libero做过压力测试,如果是对外提供服务使用,libero建议大家还是使用专业Bind。

二、Dnsmasq配置

如果您是openwrt 用户,此配置一样适用。

vim /etc/dnsmasq.conf 打开dnsmasq 配置文件。配置:resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq 会从这个指定的文件中寻找上游dns服务器。同时取消 strict-order 前面的注册#号。

检查一下no-hosts前面是不是已经有了#号,默认的情况下是有的,dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游dns 服务器寻找。

设置:listen-address=127.0.0.1,表示这个 dnsmasq 本机自己使用有效。注意:如果你想让本机所在的局域网的其它电脑也能够使用上Dnsmasq,应该把本机的局域网IP加上去:listen-address=192.168.1.123,127.0.0.1。注意:如果想允许所有的用户使用你的DNS解析服务器,把listen-address注释掉即可。

配置/etc/resolv.conf文件。

  1. echo \’nameserver 127.0.0.1\’ > /etc/resolv.conf
  2. cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
  3. #下面两个DNS 为AIXYZ官网DNS ,请从https://aixyz.com/获取
  4. echo \’nameserver 115.159.146.99\’ > /etc/resolv.dnsmasq.conf
  5. echo \’nameserver 123.206.21.48\’ > /etc/resolv.dnsmasq.conf
  6. cp /etc/hosts /etc/dnsmasq.hosts
  7. echo \’addn-hosts=/etc/dnsmasq.hosts\’ >> /etc/dnsmasq.conf

 三、配置国内域名走国内

  1. # 指定dnsmasq默认查询的上游服务器,此处以AIXYZ DNS为例#
  2. server=115.159.146.99
  3. server=123.206.21.48
  4. # 把所有.cn的域名全部通过114.114.114.114这台国内DNS服务器来解析
  5. server=/cn/114.114.114.114
  6. # 给*.apple.com和taobao.com使用专用的DNS
  7. server=/taobao.com/223.5.5.5
  8. server=/apple.com/223.5.5.5
  9. #更多规则您自己指定

 

四、启动Dnsmasq

  1. chkconfig dnsmasq on
  2. /etc/init.d/dnsmasq restart

启动dnmasq 并设置开机自动启动。

注意如果启用了防火墙的主意要开启防火墙。

  1. $ iptables -A INPUT -p udp -m udp –dport 53 -j ACCEPT
  2. $ iptables -A INPUT -p tcp -m tcp –dport 53 -j ACCEPT
  3. $ service iptables save
  4. $ service iptables restart

 

五、Dnsmasq配置说明

  1. #/etc/dnsmasq.conf 配置文件
  2. 用指定的端口代替默认的DNS 53端口,如果设置为0,则完全禁止DNS功能,只使用dhcp服务
  3. port=5353
  4. 以下两个参数告诉Dnsmasq过滤一些查询:1.哪些公共DNS没有回答 2.哪些root根域不可达。
  5. 从不转发格式错误的域名
  6. #domain-needed
  7. 从不转发不在路由地址中的域名
  8. #bogus-priv
  9. resolv-file配置Dnsmasq额外的向流的DNS服务器,如果不开启就使用linux主机默认的/etc/resolv.conf里的nameserver,通过下面的选项指定其他文件。
  10. resolv-file=/etc/dnsmasq.d/upstream_dns.conf
  11. 默认情况下Dnsmasq会发送查询到它的任何上游DNS服务器上,如果取消注释,则Dnsmasq则会严格按照/etc/resolv.conf中的DNS Server顺序进行查询。
  12. #strict-order
  13. 以下两个参数控制是否通过/etc/resolv.conf确定上游服务器,是否检测/etc/resolv.conf的变化,则取消注释。
  14. 如果你不想Dnsmasq读取/etc/resolv.conf文件或者其他文件,获得它的servers
  15. # If you don\’t want dnsmasq to read /etc/resolv.conf or any other
  16. # file, getting its servers from this file instead (see below), then
  17. # uncomment this.
  18. #no-resolv
  19. 如果你不允许Dnsmasq通过轮询/etc/resolv.conf或者其他文件来获取配置的改变,则取消注释。
  20. #no-poll
  21. 增加一个name server,一般用于内网域名
  22. #server=/localnet/192.168.0.1
  23. 设置一个反向解析,所有192.168.3.0/24的地址都到10.1.2.3去解析
  24. #server=/3.168.192.in-addr.arpa/10.1.2.3
  25. 增加一个本地域名,会在/etc/hosts中进行查询
  26. #local=/localnet/
  27. 增加一个域名,强制解析到你指定的地址上
  28. #address=/double-click.net/127.0.0.1
  29. 同上,还支持ipv6
  30. #address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83
  31. 增加查询yahoo google和它们的子域名到vpn、search查找
  32. # Add the IPs of all queries to yahoo.com, google.com, and their
  33. # subdomains to the vpn and search ipsets:
  34. #ipset=/yahoo.com/google.com/vpn,search
  35. 你还可以控制Dnsmasq和Server之间的查询从哪个网卡出去
  36. # server=10.1.2.3@eth1
  37. 指定源地址携带10.1.2.3地址和192.168.1.1的55端口进行通讯
  38. # and this sets the source (ie local) address used to talk to
  39. # 10.1.2.3 to 192.168.1.1 port 55 (there must be a interface with that
  40. # IP on the machine, obviously).
  41. # server=10.1.2.3@192.168.1.1#55
  42. 改变Dnsmasq默认的uid和gid
  43. #user=
  44. #group=
  45. 如果你想Dnsmasq监听某个端口为dhcp、dns提供服务
  46. #interface=
  47. 你还可以指定哪个端口你不想监听
  48. #except-interface=
  49. 设置想监听的地址,如果你本机要使用写上127.0.0.1。
  50. #listen-address=
  51. 如果你想在某个端口只提供dns服务,则可以进行配置禁止dhcp服务
  52. #no-dhcp-interface=
  53. # On systems which support it, dnsmasq binds the wildcard address,
  54. # even when it is listening on only some interfaces. It then discards
  55. # requests that it shouldn\’t reply to. This has the advantage of
  56. # working even when interfaces come and go and change address. If you
  57. # want dnsmasq to really bind only the interfaces it is listening on,
  58. # uncomment this option. About the only time you may need this is when
  59. # running another nameserver on the same machine.
  60. #bind-interfaces
  61. 如果你不想使用/etc/hosts,则取消下面的注释
  62. #no-hosts
  63. 如果你项读取其他类似/etc/hosts文件,则进行配置
  64. addn-hosts=/etc/banner_add_hosts
  65. 自动的给hosts中的name增加一个域名
  66. #expand-hosts
  67. 给dhcp服务赋予一个域名
  68. #domain=thekelleys.org.uk
  69. 给dhcp的一个子域赋予一个不同的域名
  70. #domain=wireless.thekelleys.org.uk,192.168.2.0/24
  71. 同上,不过子域是一个范围
  72. #domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200
  73. dhcp分发ip的范围,以及每个ip的租约时间
  74. #dhcp-range=192.168.0.50,192.168.0.150,12h
  75. 同上,不过给出了掩码
  76. #dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h
  77. 自动加载conf-dir目录下的配置文件
  78. conf-dir=/etc/dnsmasq.d
  79. 设置dns缓存大小,默认为150条
  80. cache-size=150

 

成功展示:4k无压力。

Dnsmasq 结合AIXYZ DNS 高速解析教程

Categories: 技术帝

辣司机

懒癌患者晚期√科技疯√ACG控√AV搬砖家

发表评论

电子邮件地址不会被公开。 必填项已用*标注