1 line
5.6 KiB
JSON
1 line
5.6 KiB
JSON
{"uuid":"8236d5a4-be51-4cca-a0db-1647307bc43b","slug":"dhcp","title":"DHCP et DNS","author":"cedric@abonnel.fr","published":true,"published_at":"2021-02-21 19:46:14","created_at":"2021-02-21 19:46:14","updated_at":"2021-02-21 19:46:14","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# DHCP et DNS\n\nEn solution de DNS, j'en connais deux : **Bind9** et **dnsmasq**.\n\n**Bind9** (appelé également **bind** ou **named**) est mondialement connu et utilisé, mais il demande une gymnastique intellectuelle assez avancée pour le maîtriser. Quant à **dnsmasq**, plus rapide de configuration, il permet également de configurer un service DHCP. Il a également l'avantage de s'appuyer sur le fichier `/etc/hosts` pour déclarer des adresses locales.\n\nConfiguration testée sous **Debian** et **Raspbian**.\n\n## - Configurer l'adresse IP du serveur\nIl faut fixer l'adresse IP de l'ordinateur. Il est impératif de ne pas être en DHCP pour cet ordinateur. Le fichier `/etc/dhcpcd.conf` doit être modifié afin de faire apparaître les options suivantes. Les lignes suivantes ont été décommentées (suppression du symbole #) et les paramètres modifiés.\n\n```ini\ninterface eth0\nstatic ip_address=192.168.100.1/24\n#static ip6_address=fd51:42f8:caae:d92e::ff/64\nstatic routers=192.168.100.254\nstatic domain_name_servers=127.0.0.1 9.9.9.9 1.1.1.1\n```\n\n## - Définir le nom du serveur\nL'ordinateur s'appellera **rpinas**. A adapter avec votre configuration\n\n sudo hostnamectl set-hostname rpinas\n\n## - Installation\n```\n$ sudo apt install dnsmasq\n```\n\n## - Configurer dnsmasq\nDécommenter la ligne suivante dans le fichier `/etc/dnsmasq.conf` avec les droits `root` :\n\n```ini\nconf-dir=/etc/dnsmasq.d/,*.conf\n```\n\nAjouter ça propre configuration dans un nouveau fichier de configuration avec les droits `root`. Par exemple `/etc/dnsmasq.d/acegrp.conf` :\n```ini\nalias=8.8.8.8,192.168.100.1\n\nlisten-address=127.0.0.1,192.168.100.1\n\ndomain-needed\nbogus-priv\nfilterwin2k\n \nlocalise-queries\nlocal=/lan/\ndomain=acegrp.lan\nexpand-hosts\nno-negcache\nresolv-file=/etc/resolv.personal\ndhcp-authoritative\ndhcp-leasefile=/tmp/dhcp.leases\n \n# use /etc/ethers for static hosts; same format as --dhcp-host\n#read-ethers\n \n# activez le serveur DHCP:\n# Plage DHCP\ndhcp-range=192.168.100.1,192.168.100.254,1h\n\n# Netmask\ndhcp-option=1,255.255.255.0\n\n# Route\ndhcp-option=3,192.168.100.254\n\n# Serveur DNS\ndhcp-option=6,192.168.100.1\n\n#IP reserved\ndhcp-host=00:24:1d:8b:b4:74,srv5,192.168.100.5,infinite # ancien serveur\ndhcp-host=b8:27:eb:2b:f9:6e,rpiapt001,192.168.100.3 # cache apt\ndhcp-host=00:22:4d:9d:47:03,dskcdc001,192.168.100.100,infinite # poste fixe Cédric\ndhcp-host=64:51:06:4e:b0:c3,dskosm001,192.168.100.101,infinite # poste fixe Osseam\ndhcp-host=00:21:5a:5f:a5:bd,dsktmp001,192.168.100.102,infinite # poste ?\ndhcp-host=b8:27:eb:94:a5:67,rpisalon,192.168.100.103,infinite # Raspberry Pi Salon\ndhcp-host=b8:27:eb:7b:d0:83,rpiampere,192.168.100.104,infinite # Raspberry Pi Ampere\ndhcp-host=80:fa:5b:49:c1:38,dskluc001,192.168.100.105,infinite # Poste fixe Lux\ndhcp-host=00:21:b7:6d:ae:65,lexmark41,192.168.100.106,infinite # Imprimante Lexmark41\ndhcp-host=34:27:92:85:cb:78,fbxply001,192.168.100.107,infinite # freebox delta player\ndhcp-host=00:0f:3d:12:7e:a7,di602,192.168.100.254,infinite # routeur\n\n# LOG\n#log-dhcp\n#log-queries\nlog-facility=/var/log/dnsmasq.log\n```\n\nModifier le fichier `/etc/resolv.personal`\n```\nnameserver 1.1.1.1\nnameserver 9.9.9.9\n```\n\nIl faut redémarrer l'appareil :\n sudo reboot\n\n## Gérer le service dnsmasq\nDémarrer le service :\n\n $ sudo systemctl restart dnsmasq\n \nConfigurer le service en démarrage automatique\n\n $ sudo systemctl enable dnsmasq\n\nVérifier le fonctionnement du service `dnsmasq`\n sudo systemctl enable dnsmasq\n\n## - Alias DNS\nLe fichier `/etc/hosts` est lu par **DNSmasq** afin d'établir un référentiel `adresse IP / nom de domaine`. Il convient de déclarer son ordinateur tel quel et d'autres références :\n\n```\n127.0.1.1 rpinas rpinas.acegrp.lan\n192.168.100.3 rpiapt001.acegrp.lan pi.hole\n192.168.100.254 di604.acegrp.lan\n```\n\n## - DNS menteur\nVous pouvez répondre une bêtise à la place de la réponse DNS mondial.\n\nCréer un fichier `/etc/dnsmasq.d/deny.conf` pour de fausses résolutions :\n\n```\n# bloque un site à éviter parmi tant d'autres\naddress=/facebook.com/127.0.0.1\naddress=/double-click.net/127.0.0.1\naddress=/gstatic.com/127.0.0.1\naddress=/aticdn.net/127.0.0.1\naddress=/googletagmanager.com/127.0.0.1\naddress=/consensu.org/127.0.0.1\naddress=/google.com/127.0.0.1\naddress=/youtube.com/127.0.0.1\n```\n\nIl faudra redémarrer dnsmasq :\n sudo systemctl restart dnsmasq\n\n# Bilbiographie\n- [Quad9, un résolveur DNS public, et avec sécurité](https:*www.bortzmeyer.org/quad9.html)\n- [Choisir son résolveur DNS, pas si facile](https:*www.bortzmeyer.org/choix-resolveur-dns.html)\n- [https:*www.bortzmeyer.org/google-dns.html](https:*www.bortzmeyer.org/google-dns.html)\n- <https:*www.bortzmeyer.org/son-propre-resolveur-dns.html|>\n- [Changer de serveur résolveur DNS facilement](https:*www.bortzmeyer.org/changer-dns.html)\n- [dnssec-trigger, un outil pour mettre DNSSEC à la disposition de M. Toutlemonde](https:*www.bortzmeyer.org/dnssec-trigger.html)\n- [RPZ, un moyen simple de configurer un résolveur DNS BIND pour qu'il mente](https:*www.bortzmeyer.org/rpz-faire-mentir-resolveur-dns.html)\n- [Utiliser un résolveur DNS public ?](https://www.bortzmeyer.org/dns-resolveurs-publics.html)","featured":false,"tags":[]} |