GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu :comment partager le port 53 utilisé par systemd-resolved

Ubuntu a une écoute résolue par systemd sur le port 53 par défaut. Si vous souhaitez exécuter votre propre serveur DNS, vous ne pouvez pas car le port 53 est déjà utilisé, vous obtenez donc un message d'erreur similaire à celui-ci :"listen tcp 0.0.0.0 :53 : bind :adresse déjà utilisée ".

Cet article explique comment empêcher systemd-resolved d'utiliser le port 53 sur Ubuntu. Les instructions ont été testées sur Ubuntu 20.04, mais devraient également fonctionner sur d'autres versions d'Ubuntu, par ex. Ubuntu 18.04, le prochain Ubuntu 20.10, ainsi que les distributions Linux basées sur Ubuntu telles que Pop! _OS, Zorin OS, Elementary OS, Linux Mint et bientôt. Fondamentalement, cela fonctionne sur n'importe quel système avec la version 232 de systemd ou une version plus récente.

Pour voir si le port 53 est utilisé sur votre système, utilisez :

sudo lsof -i :53

Exemple avec une sortie montrant que systemd-resolved utilise le port 53 sur un système Ubuntu 20.04 standard :

$ sudo lsof -i :53
COMMAND   PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 610 systemd-resolve   12u  IPv4  19377      0t0  UDP localhost:domain
systemd-r 610 systemd-resolve   13u  IPv4  19378      0t0  TCP localhost:domain (LISTEN)

Si vous n'obtenez aucune sortie, cela signifie que le port 53 n'est pas utilisé.

Comment empêcher systemd-resolved d'utiliser le port 53 sur Ubuntu

Il est à noter que vous pouvez partager le port 53 simplement en le décommentant DNSStubListener et configurez-le no en /etc/systemd/resolved.conf . Les autres étapes consistent à activer un serveur DNS - sans lui, votre système ne peut pas résoudre les noms de domaine, vous ne pouvez donc pas visiter les sites Web dans le navigateur Web, etc.

1. Pour modifier /etc/systemd/resolved.conf ouvert avec un éditeur de texte (en tant que root), par ex. avec l'éditeur de texte Nano Console :

sudo nano /etc/systemd/resolved.conf


Et décommentez (supprimez # de face) le DNS= Ligne et le DNSStubListener= La gestion. Ensuite, modifiez le DNS= Indiquez dans ce fichier la valeur du serveur DNS que vous souhaitez utiliser (par exemple, 127.0.0.1 pour utiliser un proxy local, 1.1.1.1 pour utiliser le DNS Cloudflare, etc.) et modifiez également le DNSStubListener= valeur de yes à no .

Voici à quoi devrait ressembler le fichier après avoir apporté ces modifications (j'utilise 1.1.1.1 comme serveur DNS, le DNS Cloudflare) :

[Resolve]
DNS=1.1.1.1
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no
DNSStubListener=no
#ReadEtcHosts=yes

Pour enregistrer le fichier à l'aide de l'éditeur de texte nano, appuyez sur Ctrl + x , puis tapez y et appuyez sur Enter .

2. Créer un lien symbolique pour /run/systemd/resolve/resolv.conf avec /etc/resolv.conf comme objectif :

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Ici, -s est utilisé pour créer un lien symbolique et non physique, et -f est utilisé pour supprimer les fichiers cibles existants (il supprime donc /etc/resolv.conf si disponible).

3. Redémarrez votre système.

Le port 53 devrait maintenant être libre sur votre système Ubuntu et vous ne devriez plus recevoir d'erreurs du type « listen tcp 127.0.0.1:53 :bind :address deja in use ».

Vous pouvez vérifier si le port 53 est utilisé ou non en exécutant sudo lsof -i :53 – Si le port 53 n'est pas utilisé, cette commande ne doit afficher aucune sortie.

Vous aimerez peut-être :

  • Comment vider le cache DNS sous Linux (pour systemd-resolved, BIND, Dnsmasq ou nscd)
  • Comment changer définitivement l'adresse MAC sous Linux

Comment annuler les modifications

Souhaitez-vous annuler les modifications que vous avez apportées en suivant les instructions de cet article ? C'est ce que vous devez faire.

1. Commencer à modifier /etc/systemd/resolved.conf ouvert avec un éditeur de texte (en tant que root), par ex. avec l'éditeur de texte Nano Console :

sudo nano /etc/systemd/resolved.conf

Et commentez (ajoutez # devant la ligne) DNS= et DNSStubListener=no puis enregistrez le fichier. Pour enregistrer le fichier à l'aide de l'éditeur de texte nano, appuyez sur Ctrl + x , puis tapez y et appuyez sur Enter .

2 . Supprimez ce /etc/resolv.conf lien symbolique :

sudo rm /etc/resolv.conf

3 . Redémarrez votre système.


Ubuntu
  1. Comment mettre à niveau vers Ubuntu 20.04

  2. Comment installer R sur Ubuntu 20.04

  3. Comment mettre à niveau Ubuntu vers 20.10

  4. Comment citer Ubuntu dans une thèse académique ??

  5. Comment créer un partage Samba sur Ubuntu 20.04

Comment installer uTorrent dans Ubuntu 20.04

Comment partager un dossier sur Ubuntu pour y accéder depuis Windows 10

Comment changer le port SSH dans Ubuntu

Comment installer Nmap sur Ubuntu 20.04 LTS

Comment changer le port SSH sur Ubuntu ?

Comment installer Samba sur Ubuntu 18.04 Bionic Beaver