一、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搬砖家

1 Comment

Adidas NMD XR1 Camouflage Main Pink · 2017年8月24日 at pm8:32

My wife and i felt so joyful that Jordan could deal with his studies through your precious recommendations he acquired from your blog. It’s not at all simplistic to simply continually be handing out procedures that some people could have been selling. And we also fully understand we’ve got the writer to be grateful to because of that. The explanations you’ve made, the simple blog menu, the relationships you will assist to create – it’s got many excellent, and it is aiding our son in addition to the family reason why the matter is pleasurable, and that’s tremendously pressing. Many thanks for all the pieces!

Leave a Reply