|
|
Ligne 49 : |
Ligne 49 : |
| # so if you use DHCP it is a good idea to protect /etc/resolv.conf. | | # so if you use DHCP it is a good idea to protect /etc/resolv.conf. |
| nohook resolv.conf | | nohook resolv.conf |
| | </filebox> |
| | |
| | == Temporary failure in name resolution == |
| | Restart of {{boxx|NetworkManager}} overwrite the {{boxx|/etc/resolv.conf}} file, which lead to the {{boxx|Temporary failure in name resolution}} error. |
| | <filebox fn='/etc/NetworkManager/NetworkManager.conf'> |
| | [main] |
| | # add the following line to avoid NetworkManager to change the resolv.conf file |
| | dns=none |
| </filebox> | | </filebox> |
|
| |
|
Version du 8 septembre 2020 à 19:24
Liens
Installation
|
sudo pacman dnsmasq
|
/etc/dnsmasq.conf
|
# ip du serveur
listen-address=::1, 127.0.0.1, 192.168.0.x
# définit la route par défaut si ce n'est pas celle du serveur dnsmasq
dhcp-option=option:router,192.168.0.y
# Associer un domaine à une adresse IP
address=/mon-domaine.fr/192.168.0.10
# ignorer /etc/resolv.conf car il contient uniquement localhost
no-resolv
# Upstream DNS server addresses (serveur DNS de la box)
server=192.168.0.x
|
/etc/resolv.conf
|
nameserver ::1
nameserver 127.0.0.1
|
/etc/hosts
|
#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost
::1 localhost
192.168.0.x mabox
192.168.0.y site1.domaine.net site2.domaine.net
192.168.0.z site3 site4
|
|
Après une modification, il faut redémarrer le service dnsmasq |
DHCPCD
/etc/dhcpcd.conf
|
# dhcpcd, unfortunately, tends to overwrite /etc/resolv.conf by default,
# so if you use DHCP it is a good idea to protect /etc/resolv.conf.
nohook resolv.conf
|
Temporary failure in name resolution
Restart of NetworkManager overwrite the /etc/resolv.conf file, which lead to the Temporary failure in name resolution error.
/etc/NetworkManager/NetworkManager.conf
|
[main]
# add the following line to avoid NetworkManager to change the resolv.conf file
dns=none
|
/etc/dnsmasq.conf
|
interface=eth0
bind-interfaces
# allouer dynamique les ip 192.168.0.50 à 192.168.0.150
dhcp-range=192.168.0.50,192.168.0.150,12h
# pas d'allocations dynamique, seul les allocations statiques sont autorisées
dhcp-range=192.168.0.0,static
# Baux DHCP statiques
# donne un nom et une ip à l'adresse MAC correspondante
dhcp-host=xx:xx:xx:xx:xx:xx,Nom,192.168.x.x,infinite
# donne une ip à la machine dont le nom correspond
dhcp-host=Nom,192.168.x.x,infinite
# si unique serveur DHCP
dhcp-authoritative
|
Afficher les baux dhcp en cours
|
cat /var/lib/misc/dnsmasq.leases
|
Mettre fin à un bail
|
systemctl stop dnsmasq
# supprimer la ligne correspondant au bail
nano /var/lib/misc/dnsmasq.leases
systemctl start dnsmasq
# restart the client to get a new ip adress
sc-restart dhcpcd@eth0
|
/etc/dnsmasq.conf
|
interface=eth0
# ajouter l'interface tun
interface=tun0
# ajouter l'ip du serveur sur le réseau VPN
listen-address=127.0.0.1, 10.8.0.1
bind-interfaces
|
failed to create listening socket for 10.8.0.1: Cannot assign requested address
Dnsmasq démarre avant qu'OpenVPN n'ai eu le temp d'enregistrer l'ip 10.8.0.1
Étendre la configuration du service dnsmasq sans écraser la configuration par défaut: /usr/lib/systemd/system/dnsmasq.service
/etc/systemd/system/dnsmasq.service.d/openvpn.conf
|
[Unit]
After=openvpn@server.service
|
Firewall
|
# allow incoming communication on port 53 with protocol tcp and udp
sudo ufw allow 53 comment 'DNS tcp/udp port 53'
sudo ufw allow 67,68/udp comment 'DHCP udp ports 67,68'
|
log
/var/log/messages.log
/etc/dnsmasq.conf
|
# For debugging purposes, log each DNS query as it passes through dnsmasq.
log-queries
# Log lots of extra information about DHCP transactions.
log-dhcp
|
Erreurs
failed to create listening socket for port 53: Address already in use
Un autre programme utilise déjà le port 53.
|
sudo netstat -peanut | grep :53
# tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 102 16584 2147/systemd-resolv
# udp 0 0 127.0.0.53:53 0.0.0.0:* 102 16583 2147/systemd-resolv
|
|
sc-stop systemd-resolved
sc-disable systemd-resolved
# supprimer le lien symbolique /etc/resolv.conf
ls -lh /etc/resolv.conf
# /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
sudo rm /etc/resolv.conf
|
/etc/resolv.conf
|
nameserver 127.0.0.1
|
Modifier resolved.conf
/etc/systemd/resolved.conf
|
[Resolve]
DNS=127.0.0.1
DNSStubListener=no
|
/etc/resolv.conf
|
nameserver 127.0.0.1
|
|
sc-restart systemd-resolved
sc-start dnsmasq
|
Android fait des requêtes DNS IPv6 et n'utilise donc pas DNSmasq.
Utiliser une application de changement d'adresse DNS.
|
Il semble que désactiver les IPv6 sur le routeur ait résolu le problème. |