Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 13-03-2019 15:36:58

Timkeeper
Membre
Inscription : 11-03-2019

[RESOLU] DEBIAN 9 : Problemes de résolution de noms (DNS)

Bonjour à tous,

J'ai installé une station Debian avec un serveur Nextcloud. Tout fonctionne presque normalement.
Je rencontre un souci sur la configuration réseau.
Mon serveur comporte deux carte réseaux. Une gérant les accès à internet et connexion internes l'autre connecté à mon firewall (qui ne laisse pas d'accès à internet. Juste une NAT redirigeant mon IP publique sur un port particulier à ma seconde carte réseau pour un accès au Nextcloud depuis l'extérieure )
Mon réseau comporte deux passerelles différentes (le parefeu et une box internet ) d'où les deux cartes réseaux.
Pour que mon serveur Nextcloud puisse utiliser les deux passerelles, j'ai donc crée des tables de routages. Tout semble fonctionner correctement sauf la résolution de noms.
Lorsque je ping le 8.8.8.8 j'ai bien une réponse. lorsque je ping www.google.fr, pas de réponse.
Pour faire fonctionner le DNS, je dois déconnecter la seconde carte réseau (celle qui est connectée sur le firewall) puis la reconnecter.
Je suppose qu'une route est mémorisée. Car après un "ip route flush cache" , ca na fonctionne pus. Rebelotte, déconnecter seconde carte reseau, lancer quelques requetes sur le net et reconnecter la seconde carte reseau.

Voici comment je monte la table de routage dans le fichier /etc/networg/interfaces :
post-up ip route add default via 192.168.0.1 table adsl
post-up ip route add default via 192.168.0.253 table sdsl
post-up ip rule add from 192.168.0.8 table adsl
post-up ip rule add from 192.168.0.10 table sdsl
post-up ip route add default scope global via 192.168.0.1 dev ens18

Pour info, le 192.168.0.1 correspond a ma box, 192.168.0.253 le parefeu, la carte reseau permettant l'accès a internet, 192.168.0.10 la carte reseau vers le parefeu.

Je ne suis débutant sur linux. Si vous avez besoin de plus d'infos, je reste à votre disposition.

Merci d'avance pour votre aide

Dernière modification par Timkeeper (18-03-2019 09:04:13)

Hors ligne

#2 13-03-2019 23:04:52

raleur
Membre
Inscription : 03-10-2014

Re : [RESOLU] DEBIAN 9 : Problemes de résolution de noms (DNS)

Je suppose que ce sujet fait suite au précédent concernant deux passerelles.

Timkeeper a écrit :

Mon réseau comporte deux passerelles différentes (le parefeu et une box internet ) d'où les deux cartes réseaux.


Je ne comprends pas pourquoi deux cartes réseau. Toutes les adresses IP que tu mentionnes appartiennent au même réseau. Quel est le second réseau ?
Peux-tu faire un schéma du réseau ?

Timkeeper a écrit :

Lorsque je ping le 8.8.8.8 j'ai bien une réponse. lorsque je ping www.google.fr, pas de réponse.


Depuis quelle machine ? Quelles adresses de DNS utilise-t-elle ?
On peut voir le contenu du fichier interfaces complet et /etc/resolv.conf ?
La sortie de

ip rule
ip -4 route show table all



Je ne dis pas que c'est la cause du problème, mais il manque des routes vers le réseau local dans les tables adsl et sdsl ou bien une règle de routage qui applique la table main pour les paquets à destination du réseau local.

Hors ligne

#3 14-03-2019 16:53:32

Timkeeper
Membre
Inscription : 11-03-2019

Re : [RESOLU] DEBIAN 9 : Problemes de résolution de noms (DNS)

Bonjour,

Pourquoi une seconde carte reseau ? Et bien mon parefeu n'est pas lié a la box. Je n'ai pas monté le reseau, c'est un prestataire et l'objectif est que le parefeu protège nos serveurs sui sont sur la passerelle 253 et non visibles depuis la 1.
Tu avais déjà répondu a des question que j'avais pose sur mon Next cloud (un sujet lié). Apres si une seule carte reseau est mieux, je suis preneur main n'ai pas su faire autrement.
Sur mon firewall, j'ai un nat sui redirige mes requetés sur l'ip publique sur la seconde carte reseau. Comme mon parefeu bloque les accès au net, mon netcloud ne pouvais pas envoyer de mails, se mettre a jour,...

Pour mon ping, j'est depuis la machine concernée (serveur nextcloud en debian 9).

Pour le fichier Interface :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens18
iface ens18 inet static
        address 192.168.0.8
        netmask 255.255.255.0
#       gateway 192.168.0.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.0.2 192.168.0.3 4.2.2.1 4.2.2.2 208.67.222.222 208.67.220.220 8.26.56.26 8.20.247.20 156.154.70.1 156.154.71.1
        dns-search mondomaine.local
#       metric 100

# The second network interface
allow-hotplug ens19
iface ens19 inet static
        address 192.168.0.10
        netmask 255.255.255.0
#        gateway 192.168.0.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.0.2 192.168.0.3 4.2.2.1 4.2.2.2 208.67.222.222 208.67.220.220 8.26.56.26 8.20.247.20 156.154.70.1 156.154.71.1
        dns-search mondomaine.local
#       metric 100

post-up ip route add default via 192.168.0.1 table adsl
post-up ip route add default via 192.168.0.253 table sdsl
#post-up ip rule add from 192.168.0.1 table adsl
post-up ip rule add from 192.168.0.8 table adsl
post-up ip rule add from 192.168.0.10 table sdsl
#post-up ip route add default scope global nexthop via 192.168.0.1 dev ens18 weight 2 nexthop via 192.168.0.253 dev ens19 weight 1
post-up ip route add default scope global via 192.168.0.1 dev ens18

(Les lignes commentées sont des tests que j'ai effectué)

pour le resolv.conf :
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.2
nameserver 192.168.0.3
nameserver 4.2.2.1
search mondomaine.local


Résultat de ip rule :
0:      from all lookup local
32764:  from 192.168.0.10 lookup sdsl
32765:  from 192.168.0.8 lookup adsl
32766:  from all lookup main
32767:  from all lookup default

ip -4 route show table all
default via 192.168.0.1 dev ens19 table adsl
default via 192.168.0.253 dev ens19 table sdsl
default via 192.168.0.1 dev ens18
192.168.0.0/24 dev ens19 proto kernel scope link src 192.168.0.10
192.168.0.0/24 dev ens18 proto kernel scope link src 192.168.0.8
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
broadcast 192.168.0.0 dev ens19 table local proto kernel scope link src 192.168.0.10
broadcast 192.168.0.0 dev ens18 table local proto kernel scope link src 192.168.0.8
local 192.168.0.8 dev ens18 table local proto kernel scope host src 192.168.0.8
local 192.168.0.10 dev ens19 table local proto kernel scope host src 192.168.0.10
broadcast 192.168.0.255 dev ens19 table local proto kernel scope link src 192.168.0.10
broadcast 192.168.0.255 dev ens18 table local proto kernel scope link src 192.168.0.8

Pour info, la tout fonctionne mais tant que je ne réinitialise pas mes routes

Merci de ton aide

Hors ligne

#4 14-03-2019 20:44:31

raleur
Membre
Inscription : 03-10-2014

Re : [RESOLU] DEBIAN 9 : Problemes de résolution de noms (DNS)

Tout cela me semble inutilement compliqué.
D'abord, un point à éclaircir une bonne fois pour toutes : y a-t-il un ou deux réseaux ?
- Soit il y a un seul réseau auquel sont connectés les deux interfaces du serveur, la box et le firewall ; dans ce cas la seconde interface réseau est inutile voire nuisible.
- Soit il y a deux réseaux isolés, la box et une interface du serveur sont connectées à l'un et le firewall et l'autre interface sont connectés à l'autre ; dans ce cas il y a une grossière erreur de configuration puisque les deux réseaux utilisent la même plage d'adresses IP.
A mon avis, il n'y a qu'un seul réseau sinon la configuration de routage ne fonctionnerait pas puisque les deux routes des tables adsl et sdsl utilisent la même interface.

Autres commentaires :
- Par défaut, le resolver DNS peut utiliser au plus 3 adresses de DNS. Il est donc inutile d'en spécifier plus dans le fichier interfaces. Il est également inutile de les répéter pour chaque interface réseau, de même que le domaine de recherche. La résolution de nom est globale et non propre à chaque interface.

- Tu devrais spécifier explicitement l'interface dans chaque route créée avec ip route.
- Pour créer la route par défaut principale, tu pouvais utiliser l'option gateway dans la configuration de l'interface correspondante au lieu d'utiliser ip route.
- Les options pre-up, (post-)up, (pre-)down et post-down font partie de la configuration de l'interface qui les précède. Les commandes relatives à ens18 devraient donc figurer avant la configuration d'ens19.

En tout cas, en l'état il est normal que les serveurs DNS qui se trouvent dans la plage d'adresse du ou des réseaux locaux ne soient pas accessibles depuis le serveur : dès qu'un paquet est émis depuis l'une ou l'autre adresse du serveur, il est rerouté par une des règle de routage vers la box ou vers le firewall au lieu d'être routé directement vers le serveur DNS destinataire.

Dernière modification par raleur (14-03-2019 20:51:38)

Hors ligne

#5 15-03-2019 08:07:27

Timkeeper
Membre
Inscription : 11-03-2019

Re : [RESOLU] DEBIAN 9 : Problemes de résolution de noms (DNS)

Bonjour,

Merci pour ton retour.
Pour répondre à la première question, oui il y a un seul reseau comportant deux passerelles. Donc si je comprend bien, une seul carte reseau suffirait.

Pour la résolution DSN, mes serveur sui relaient les DNS sont pour le premier en 2008 R2 et le second en 2012. (Je n'ai pas inclus le serveur Debian dans le domaine - je n'ai pas réussi) Donc quels DNS est-il préférable de prendre ?

"- Tu devrais spécifier explicitement l'interface dans chaque route créée avec ip route.
- Pour créer la route par défaut principale, tu pouvais utiliser l'option gateway dans la configuration de l'interface correspondante au lieu d'utiliser ip route.
- Les options pre-up, (post-)up, (pre-)down et post-down font partie de la configuration de l'interface qui les précède. Les commandes relatives à ens18 devraient donc figurer avant la configuration d'ens19."

Tu dépasse un peu mes connaissances. Pourrais tu détailler ?

Merci d'avance

Hors ligne

#6 15-03-2019 15:01:39

raleur
Membre
Inscription : 03-10-2014

Re : [RESOLU] DEBIAN 9 : Problemes de résolution de noms (DNS)

Les serveurs DNS internes 192.168.0.2 et 192.168.0.3 sont-ils récursifs pour résoudre les noms de domaine publics ?
Si ces serveurs DNS servent aussi des noms de domaine locaux que ton serveur a besoin de résoudre, alors tu dois les spécifier et eux seuls car le serveur de la box et les serveurs DNS publics ne servent pas ton domaine local. Et la résolution DNS ne fonctionne pas comme on croit souvent : si le premier serveur DNS interrogé répond "connais pas" (nom inexistant), alors la résolution s'arrête là avec ce résultat ; les serveurs DNS suivants ne sont interrogés qu'en cas de défaillance des précédents.

Voici une configuration avec la seule interface ens18 qui devrait fonctionner. Remplacer ens18 par ens19 si c'est cette dernière qui est connectée au réseau.
J'ai supprimé l'utilisation de la table adsl qui fait doublon avec la table main.
Pour le routage du préfixe local 192.168.0.0/24, j'ai ajouté à la fois une route dans la table sdsl et une règle de routage pour utiliser la table main (créée après donc placée avant la règle de routage de la table sdsl). En réalité une seule des deux est nécessaire.
J'ai utilisé les deux DNS internes en supposant qu'ils sont récursifs.


allow-hotplug ens18
iface ens18 inet static
  address 192.168.0.8
  netmask 255.255.255.0
  gateway 192.168.0.1
  # dns-* options are implemented by the resolvconf package, if installed
  dns-nameservers 192.168.0.2 192.168.0.3
  dns-search mondomaine.local
  # adresse IP secondaire et routage avancé
  up ip addr add 192.168.0.10 dev ens18
  up ip route add 192.168.0.0/24 dev ens18 table sdsl
  up ip route add default dev ens18 via 192.168.0.253 table sdsl
  up ip rule add from 192.168.0.10 table sdsl
  up ip rule add to 192.168.0.0/24 table main
 

Hors ligne

#7 18-03-2019 09:03:51

Timkeeper
Membre
Inscription : 11-03-2019

Re : [RESOLU] DEBIAN 9 : Problemes de résolution de noms (DNS)

Bonjour,

Un grand merci pour ton aide ou ta configuration fonctionne parfaitement.
Les accès au Next cloud sont meme bien plus rapides.

Il me reste juste à éplucher ta config pour bien la comprendre c'est hyper intéressant. Comme le problème est résolu, je note le sujet résolu.

Apres c'est de la cerise sur le gâteau.
Pour le moment, de ce que j'ai compris, sur la meme carte reseau, on lui attribue l'IP et une IP virtuelle pour le routage. On défini toutes les routes sur la box sauf pour l'IP virtuelle qui utilise le firewall.

Merci encore pour ton aide efficace et précieux.

Hors ligne

#8 18-03-2019 10:58:10

raleur
Membre
Inscription : 03-10-2014

Re : [RESOLU] DEBIAN 9 : Problemes de résolution de noms (DNS)

La seconde adresse IP n'est pas virtuelle, c'est une véritable adresse à part entière.
Le point important qui n'allait pas dans ta première version était le routage du préfixe local 192.168.0.0/24 qui devait être direct quelle que soit l'adresse IP source et non via un routeur.

Hors ligne

Pied de page des forums