DNSMASQ (Simplified Chinese)

Source: Internet
Author: User
Tags log log nameserver
dnsmasq (Simplified Chinese)From ArchWiki Jump to:navigation, search Translation Status:This is the English page dnsmasq translation, the last translation time: 2012-06-18, click here to see the translation of the English page changes.

DNSMASQ provides DNS caching and DHCP service functionality. As a domain name resolution server (DNS), DNSMASQ can increase the speed of connection to visited URLs by caching DNS requests. As a DHCP server, DNSMASQ can provide intranet IP addresses and routes for LAN computers. DNS and DHCP two features can be implemented separately or separately. DNSMASQ lightweight and easy to configure for use with individual users or networks with fewer than 50 hosts.

Contents [Hide] 1 Install 2 DHCP server settings 3 DNS cache Settings 3.1 DHCP settings 3.1.1 Use dhcpcd 3.1.2 Use dhclient 3.1.3 use NetworkManager 4 to start DNSMASQ Daemon 5 Test 5.1 DNS Cache 5.2 DHCP Server 6 tips 6.1 Avoid OpenDNS redirect Google Request 6.2 View Leases

Install DNSMASQ from the official warehouse. DHCP Server Settings

DNSMASQ configuration file (/etc/dnsmasq.conf), the necessary configuration is as follows:

# only listen to routers ' LAN NIC.  Doing so opens up tcp/udp port to
# localhost and UDP port to World:

# DNSMASQ Would open TCP/UDP port and UDP port to world to help with
# Dynamic interfaces (assigning dynamic IPs). DNSMASQ would discard World
# requests to them, but the paranoid might as-to-close them and let the 
# kernel hand Le them:

# Dynamic range of IPs to make available to LAN pc
dhcp-range=,192.168 .111.100,12h

# If you ' d like to have dnsmasq assign static IPs, bind the LAN computer ' s
# NIC MAC Address:
DNS Cache Settings

To start dnsmasq as a daemon, do a DNS cache server, edit/etc/dnsmasq.conf, and add a listener address:


If you use this computer as the default DNS, use a fixed IP address:

listen-address= # Example IP
DHCP Settings

After you configure DNSMASQ, you need to edit/etc/resolv.conf to have the DHCP client first add the local address (localhost) to the DNS file (/etc/resolv.conf) and then resolve the address via another DNS server. After you configure the DHCP client, you need to restart the network for the settings to take effect. using DHCPCD

DHCPCD can specify a DNS server by creating (or editing)/etc/resolv.conf.head files or/etc/resolv.conf.tail files so that/etc/resolv.conf is not rewritten every time dhcpcd

echo "NameServer" >/etc/resolv.conf.head #设置dns服务器为127.0.0.1
using Dhclient

To use Dhclient, uncomment the following lines in the/etc/dhclient.conf file:

Prepend domain-name-servers;
using NetworkManager

NetworkManager use DHCPCD instead of dhclient by default. DHCPCD now no longer import/etc/resolv.conf.head and/etc/resolv.conf.tail name resolution settings. There are several options:

The first option is to use a script to add localhost to resolv.conf in NetworkManager dispatcher:

# prepend localhost to resolv.conf for dnsmasq

if [[! $ (grep]]; then
   sed-i ' 1s|^|nameserver\n| '/etc/resolv.conf

This is executable:

# chmod +x/etc/networkmanager/dispatcher.d/localhost-prepend

The second option is to enter the Networkmanagers setting and enter it manually. Select a profile and select DHCP type ' Automatic (specify addresses). ' DNS addresses need to be entered manually:, Dns-server-one, .....

You can use the Networkmanager-dhclient package to NetworkManager dhclient. start the DNSMASQ daemon

DNSMASQ is run as a daemon. But before you start it, let's see how fast we're parsing. Enter the following command: (Dig is part of the Dnsutils software package):

$ Dig archlinux.org | grep "Query Time"

Now we start it:


To have DNSMASQ boot up, add DNSMASQ to the/etc/rc.conf daemon list:

daemons= (Network dnsmasq ...)

Check to see if DNSMASQ is up and checking the/var/log/messages.log log file.

You need to restart network so DHCPD will re-establish/etc/resolv.conf.

#/etc/rc.d/network Restart

Now let's test the DNS query and then measure the response time:

$ Dig archlinux.org | grep "Query Time"

Query time should be reduced.

And if you remove grep, you can see the server used (Query time next line), now it should be localhost or Test DNS Cache

To test the speed of the query, please let me have a DNSMASQ launched after the site has not been visited, executed (dig (located in the Dnsutils package):

$ Dig archlinux.org | grep "Query Time"

Run the command again, because the cache is used and the query time should be shortened considerably. DHCP Server

From a computer that is connected to a computer that uses DNSMASQ, configure it to use DHCP to automatically obtain an IP address, and then try to connect to the network you normally use. Small Tips Avoid OpenDNS redirect Google requests

To avoid OpenDNS redirecting all Google requests to their own search server, add the following to/etc/dnsmasq.conf:


Replace x.x.x.x with IP of your ISP's DNS server/router. View Leases

Related Article

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.