Difference between revisions of "Talk:Dnsmasq"

From ArchWiki
Jump to: navigation, search
m (need information for fixed IPs: remove closed discussion)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== need information for fixed IPs ==
 
when this is set in rc.conf I think that require :
 
{ echo "nameserver 127.0.0.1"; grep -v "^#" /etc/resolv.conf | head -2; } > /tmp/resolv.conf
 
then backup /etc/resolv.conf and last :
 
mv /tmp/resolv.conf /etc/resolv.conf
 
--[[User:Sputnick|Sputnick]] 17:59, 1 August 2011 (EDT)
 
: Any error with direct change /etc/resolv.conf? Move around tmp is not very "Simple". -- [[User:Fengchao|Fengchao]] ([[User talk:Fengchao|talk]]) 01:27, 20 March 2013 (UTC)
 
 
 
== Force DNS cache persistence? ==
 
== Force DNS cache persistence? ==
 
I've noticed that the DNS cache expires very quickly (less than 60 seconds) for many domains thereby defeating the purpose of caching it in the first place. Is there a way to force entries to last longer? [[User:Neounk|Neounk]] ([[User talk:Neounk|talk]]) 01:30, 31 March 2013 (UTC)
 
I've noticed that the DNS cache expires very quickly (less than 60 seconds) for many domains thereby defeating the purpose of caching it in the first place. Is there a way to force entries to last longer? [[User:Neounk|Neounk]] ([[User talk:Neounk|talk]]) 01:30, 31 March 2013 (UTC)
 +
 +
== Dnsmasq and Pidgin/Gtalk ==
 +
 +
Using dnsmasq for dns caching seems to break gtalk on pidgin. Editing /etc/dhcpcd.conf and adding
 +
option 'domainneed' '1' solves the issue on my machine.
 +
 +
if others verify the issue and fix, maybe consider for addition to the wiki?
 +
 +
[[User:LiamMcCalloway|LiamMcCalloway]] ([[User talk:LiamMcCalloway|talk]]) 01:10, 11 June 2013 (UTC) Liam
 +
 +
== Usage with libvirt ==
 +
 +
Network-manager think if there is one running libvirt that he run this before. To fix conflicts between other dnsmasq, eg: used in [[libvirt]], you must run it externally.
 +
 +
We do '''not''' want change our resolv.conf automaticly.
 +
 +
{{hc|/etc/NetworkManager/NetworkManager.conf|<nowiki>
 +
[main]
 +
...
 +
dns=none
 +
</nowiki>}}
 +
 +
We put it manually here.
 +
 +
{{hc|/etc/resolv.conf.head|2=
 +
nameserver 127.0.0.1
 +
}}
 +
 +
The interface to bind and bind it even if there is second dnsmasq runned on computer.
 +
 +
{{hc|/etc/NetworkManager/dnsmasq.d/bind-interface.conf|2=
 +
interface=lo
 +
bind-interface
 +
}}
 +
 +
This start service if interface is up. This service can start only once before stop which will be initiate by systemd on restart/shutdown.
 +
 +
{{hc|/etc/NetworkManager/dispatcher.d/10_dnsmasq|2=
 +
#!/bin/sh
 +
if [ -n "$2" ] && [ "$2" = "up" ]; then # $INTERFACE is up
 +
systemctl start NetworkManager-dnsmasq.service
 +
fi
 +
}}
 +
 +
Systemd service.
 +
 +
{{hc|/etc/systemd/system/NetworkManager-dnsmasq.service|2=
 +
[Unit]
 +
Description=A lightweight DHCP and caching DNS server
 +
After=network.target
 +
Documentation=man:dnsmasq(8)
 +
 +
[Service]
 +
Type=dbus
 +
BusName=uk.org.thekelleys.dnsmasq
 +
ExecStartPre=/usr/bin/dnsmasq --test
 +
ExecStart=/usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file --conf-dir=/etc/NetworkManager/dnsmasq.d/
 +
ExecReload=/bin/kill -HUP $MAINPID
 +
}}
 +
 +
00:03, 25 March 2016‎ 3ED

Latest revision as of 10:20, 11 April 2017

Force DNS cache persistence?

I've noticed that the DNS cache expires very quickly (less than 60 seconds) for many domains thereby defeating the purpose of caching it in the first place. Is there a way to force entries to last longer? Neounk (talk) 01:30, 31 March 2013 (UTC)

Dnsmasq and Pidgin/Gtalk

Using dnsmasq for dns caching seems to break gtalk on pidgin. Editing /etc/dhcpcd.conf and adding option 'domainneed' '1' solves the issue on my machine.

if others verify the issue and fix, maybe consider for addition to the wiki?

LiamMcCalloway (talk) 01:10, 11 June 2013 (UTC) Liam

Usage with libvirt

Network-manager think if there is one running libvirt that he run this before. To fix conflicts between other dnsmasq, eg: used in libvirt, you must run it externally.

We do not want change our resolv.conf automaticly.

/etc/NetworkManager/NetworkManager.conf
[main]
...
dns=none

We put it manually here.

/etc/resolv.conf.head
nameserver 127.0.0.1

The interface to bind and bind it even if there is second dnsmasq runned on computer.

/etc/NetworkManager/dnsmasq.d/bind-interface.conf
interface=lo
bind-interface

This start service if interface is up. This service can start only once before stop which will be initiate by systemd on restart/shutdown.

/etc/NetworkManager/dispatcher.d/10_dnsmasq
#!/bin/sh
if [ -n "$2" ] && [ "$2" = "up" ]; then # $INTERFACE is up
	systemctl start NetworkManager-dnsmasq.service
fi

Systemd service.

/etc/systemd/system/NetworkManager-dnsmasq.service
[Unit]
Description=A lightweight DHCP and caching DNS server
After=network.target
Documentation=man:dnsmasq(8)

[Service]
Type=dbus
BusName=uk.org.thekelleys.dnsmasq
ExecStartPre=/usr/bin/dnsmasq --test
ExecStart=/usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file --conf-dir=/etc/NetworkManager/dnsmasq.d/
ExecReload=/bin/kill -HUP $MAINPID

00:03, 25 March 2016‎ 3ED