# [NET] Résolution DNS (résolu)

## versus8

Bonjour à tous,

Je traîne un problème depuis plusieurs jours sans n'avoir pu trouvé de solution pour le régler... j'espère qu'un(e) Gentoïte saura éclairer ma lanterne ^^

Les symptômes :

Navigation sous Links : pas de souci (google.fr joint sans difficulté, lien hypertexte OK)

Ping/traceroute vers host (ex. : google.fr) : résolution de l'adresse impossible (hôte inconnu)

Ping/traceroute @IP (ex. : 173.194.67.94) : l'hôte recherché réponds aux requêtes ICMP

Rsync (emerge --sync) : semble fonctionnel malgré quelques ratés

Emerge (ex. : emerge portage) : résolution du DNS en @IP impossible (hôte inconnu ; ex. mirror.ovh.net)

Quels seraient les pistes à explorer afin de restreindre le champ de recherche sur l'origine du problème pour trouver une solution ?

Si vous souhaitez d'autres infos ou que je j'effectue quelques tests, n'hésitez pas à me le demander. Car là j'ai beau chercher je ne sais plus quoi faire (et surtout où chercher)   :Sad: 

Par avance merci.Last edited by versus8 on Mon Nov 12, 2012 12:57 am; edited 1 time in total

----------

## El_Goretto

Qui a rentré les infos dans ton /etc/resolv.conf? Toi? Le démon dhcp?

Si tu as plusieurs serveurs DNS de renseignés à la main, ils répondent tous? (en faisant une résolution avec dnslookup ou dig sur chacun de ces serveurs précisément).

----------

## versus8

 *El_Goretto wrote:*   

> Qui a rentré les infos dans ton /etc/resolv.conf? Toi? Le démon dhcp?
> 
> Si tu as plusieurs serveurs DNS de renseignés à la main, ils répondent tous? (en faisant une résolution avec dnslookup ou dig sur chacun de ces serveurs précisément).

 

Mon /etc/resolv.conf est renseigné automatiquement par dhcpcd. C'est bien l'adresse de mon routeur qui apparait et celle-ci fonctionne pour les autres machines à la maison (tous sur un paramétrage par DHCP). Il y a peut-être un souci avec un flag manquant ou un flag qui ne devrait pas être actif sur un paquet (j'ai remarqué que avahi démarrait en tant que service au boot, je ne sais pas si cela peut entrer en ligne de compte).

Je vous envoie mon /etc/make.conf dés que j'accède à ce laptop. Ou alors c'est tout simplement sur rsync qu'il faut regarder car il me semble de mémoire qu'il faut modifier l'adresse rsync et y inclure quelque chose en plus. Je ne m'en souviens plus mais je vais me renseigner.

EDIT ( /etc/resolv.conf ) :

```
# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /usr/share/portage/config/make.conf.example for a more

# detailed example.

CFLAGS="-march=native -O2 -pipe -s -fomit-frame-pointer"

CXXFLAGS="-O2 -pipe"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

CHOST="x86_64-pc-linux-gnu"

# These are the USE flags that were used in addition to what is provided by the

# profile used for building.

USE="acpi avahi bash-completion bluetooth custom-cflags git -ipv6 lm_sensors mercurial mmx networkmanager nls ntp optimization qt4 scsi sse sse2 static static-libs strong-optimization symlink syslog subversion wifi zeroconf X"

ACCEPT_KEYWORDS="amd64"

LINGUAS="fr fr_FR"

EMERGE_DEFAULT_OPTS="--jobs=3 --load-average=5.0 --with-bdeps y --keep-going --verbose"

PORTAGE_NICENESS="-19"

MAKEOPTS="-j3 -l3"

FEATURES="buildpkg candy ccache strict userfetch userpriv usersandbox parallel-fetch" #confcache

CCACHE_SIZE="2G"

CCACHE_DIR="/var/tmp/ccache"

GENTOO_MIRRORS="ftp://mirror.ovh.net/gentoo-distfiles"

SYNC="rsync://rsync2.fr.gentoo.org/gentoo-portage"

PORTAGE_ELOG_CLASSES="error info log warn"

PORTAGE_ELOG_SYSTEM="echo:log,warn save:error,info,log,warn syslog:error,warn"

source /usr/local/portage/layman/make.conf

PKGDIR="/usr/portage/packages"

source /var/lib/layman/make.conf

INPUT_DEVICES="evdev keyboard mouse"

VIDEO_CARDS="radeon v4l vesa"

# XFCE_PLUGINS="menu"

```

Sinon je vais tester en virant les flags avahi et zeronconf.

J'ai également testé sur /etc/conf.d/net :

```

modules="dhcpcd" # ou modules="ifconfig"

config_eth0="dhcp"
```

Mais cela ne change rien.

Autre bizarrerie : sshd ne démarre pas, il indique que je n'existe pas et que je dois partir ( 'You don't exist, go away! ' ).

Je ne sais si tout ça peut vous mettre sur la voie...

----------

## gregool

Salut, 

et à tout hasard, si tu forces la résolution a partir d'un autre dns , genre open dns :

```
dig @208.67.222.222  www.google.fr
```

ça donne quoi?

----------

## versus8

La commande dig n'existe pas. Je vais jeter un coup d'oeil au niveau du noyau, si cela ne fonctionne toujours pas, je refais une install ...

----------

## Poussin

tu trouveras dig dans le paquet net-dns/bind-tools

----------

## versus8

Merci, je vais l'installer. Depuis que je n'utilise pas la résolution DNS pour rsync ou le mirror, je peux de nouveau maintenir ma Gentoo (fallait y penser ^^ ).

Edit : les chose semblent se préciser ...

```
ping localhost

ping : unknown host localhost
```

Peut-être que mon fichier /etc/hosts est mal formé.

Je vous tiens au courant.

----------

## versus8

J'ai modifié mon fichier hosts :

```

# 127.0.0.1 ASUS-G2P.localhost ASUS-G2P localhost

127.0.0.1 ASUS-G2P.laptop ASUS-G2P localhost

```

```

ASUS-G2P ~ # ping localost

ping: unknown host localost

ASUS-G2P ~ # ping ASUS-G2P

ping: unknown host ASUS-G2P

ASUS-G2P ~ # ping 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.029 ms

64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.037 ms

^C

--- 127.0.0.1 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 999ms

rtt min/avg/max/mdev = 0.029/0.033/0.037/0.004 ms

```

Cela ne change rien. Pourtant Internet fonctionne correctement. C'est à n'y rien comprendre, même rsync ne fonctionne plus en résolution DNS, j'ai dù mettre les @IPs. Pour NTP cela semble être la même chose.

Cela risque de compliquer les diag réseaux. Je reviens vers vous concernant dig :

```

ASUS-G2P ~ # dig @208.67.222.222  www.google.fr

; <<>> DiG 9.9.2 <<>> @208.67.222.222 www.google.fr

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5089

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 8192

;; QUESTION SECTION:

;www.google.fr.                 IN      A

;; ANSWER SECTION:

www.google.fr.          300     IN      A       173.194.67.94

;; Query time: 93 msec

;; SERVER: 208.67.222.222#53(208.67.222.222)

;; WHEN: Sat Nov 10 07:04:35 2012

;; MSG SIZE  rcvd: 58

```

```

ASUS-G2P ~ # ping google.fr

ping: unknown host google.fr

ASUS-G2P ~ # ping www.google.fr

ping: unknown host www.google.fr

ASUS-G2P ~ # ping 208.67.222.222

PING 208.67.222.222 (208.67.222.222) 56(84) bytes of data.

64 bytes from 208.67.222.222: icmp_req=1 ttl=54 time=75.6 ms

64 bytes from 208.67.222.222: icmp_req=2 ttl=54 time=81.9 ms

64 bytes from 208.67.222.222: icmp_req=3 ttl=54 time=80.6 ms

^C

--- 208.67.222.222 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2002ms

rtt min/avg/max/mdev = 75.627/79.405/81.970/2.727 ms

```

J'impression que je tourne en rond :p

----------

## El_Goretto

 *versus8 wrote:*   

> J'ai modifié mon fichier hosts :
> 
> ```
> 
> # 127.0.0.1 ASUS-G2P.localhost ASUS-G2P localhost
> ...

 

George "faute de frappe" est passé  :Wink: 

localost != localhost

Vérifié que le fichier /etc/nsswitch.conf est bon?

En particuliers:

```
hosts:       files dns

networks:    files dns
```

--

edit: t'es sûr de ton fichier /etc/resolv.conf ??? On dirait un make.conf  :Smile: 

----------

## versus8

En effet, mais après la faute de frappe corrigé ^^ :

```

ASUS-G2P ~ # ping localhost

ping: unknown host localhost

```

Cela ne change rien...

Et pour mon /etc/resolv.conf, c'est dhcpcd qui s'en charge (là c'est lié à l'interface wlan0, mais le routeur reste le même que pour eth0. Cela me fait rappeller que je dois tester sys-apps/ifplugd) :

```

# Generated by dhcpcd from wlan0

# /etc/resolv.conf.head can replace this line

nameserver 192.168.1.7

# /etc/resolv.conf.tail can replace this line

```

Je ne connais pas /etc/nsswitch.conf, mais je peux te le donner (apparemment les lignes dns sont bien présentes) : 

```

# /etc/nsswitch.conf:

# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/nsswitch.conf,v 1.1 2006/09/29 23:52:23 vapier Exp $

passwd:      compat

shadow:      compat

group:       compat

# passwd:    db files nis

# shadow:    db files nis

# group:     db files nis

hosts:       files dns

networks:    files dns

services:    db files

protocols:   db files

rpc:         db files

ethers:      db files

netmasks:    files

netgroup:    files

bootparams:  files

automount:   files

aliases:     files

```

Sinon, j'ai jeté un coup d’œil au noyau, mais je n'ai rien constater d'anormal :

```

CONFIG_DNS_RESOLVER=y

# CONFIG_NFS_USE_LEGACY_DNS is not set

CONFIG_NFS_USE_KERNEL_DNS=y

```

Je continue mes recherches ...

----------

## boozo

'alute

Y'a-t-il une raison particulière a activer de façon globale les useflags : "static" et "static-libs" ?

Part ailleurs, est-ce que zéroconf et/ou avahi sont également activés sur les autres machines du lan qui elles fonctionnent correctement ?

----------

## versus8

Salut boozo,

J'ai refais mes use flag puis j'ai fais un emerge --update --deep --newuse world ayant pour résultat la résolution du problème ^^ Je n'ai rien supprimé, j'ai juste rajouté des flags, mais le principal est que je peux taguer le topic en [résolu]  :Smile: 

Pour les flags statics, je crois comprendre que cela résulterait d'un compromis entre stabilité/performance.

----------

## xaviermiller

Un USE "static" n'est pas une bonne idée hormis certains cas particuliers comme busybox : tes exécutables deviennent énormes, et certaines applications ne fonctionnent pas en static (plus de plug-ins par exemple).

----------

## geekounet

 *gregool wrote:*   

> Salut, 
> 
> et à tout hasard, si tu forces la résolution a partir d'un autre dns , genre open dns :
> 
> ```
> ...

 

Ce n'est pas sympa de conseiller un test avec OpenDNS, ils font parti des pires : c'est un DNS menteur (quand un domaine n'existe pas, ils donnent quand même une réponse en redirigeant chez eux) et ils revendent leurs logs, tes queries, à des agences publicitaires.  :Wink: 

En bon DNS public anonyme, ya ceux de Level3 par exemple : 4.2.2.1 à 4.2.2.6

----------

## versus8

Merci pour l'info geekounet, j'en prends bonne note. Mais est-ce que level3 gére les filtres de navigation (pour une utilisation type ' contrôle parental ') ?

Xavier > je viens de comprendre qu'il serait préférable d'avoir la majorité de ses librairies en dynamiques (même avec ' multilib ' ?) afin de réduire le poids du binaire généré par compilation (et/ou le poids généré par le code d'exécution). Je suppose que, dans cette conception, la vitesse d'exécution pourrait-être améliorer (s'il y a une éventuelle perte de réactivité) en "prelinking" les librairies dynamiques qui, sauf erreurs de ma part (car je ne suis pas un spécialiste en "dev-lang"), serait au moins à 70% des librairies partagées.

Bon, si je me trompe, corrigez moi ^^

Je peux tout recompiler sans les flags 'statics', mais je remarque une charge moyenne en RAM relativement normale sur KDE-4 (IDLE/Internet) :

RAM totale : 1,95 Go

RAM libre : 330 Mo

RAM cache : 780 Mo

Ram buffer/tampon : 130 Mo

Swap libre : 99%

Qu'en pense tu ?

----------

## guilc

C'est un autre sujet mais, le linkage statique est mal (©) sauf cas très spécifique.

1) problème de sécurité : si une bibliothèque a un souci de sécurité, il faut recompiler tous les binaires qui en dépendent pour corriger le problème de sécurité. Très lourd, donc dans la vraie vie, jamais fait...

2) en terme de chargement des binaires, c'est lent, car ça consomme plus d'accès disque au démarrage du programme, pour 2 raisons : (1) exit le chargement dynamique à la demande, tout est obligatoirement chargé dès le démarrage (2) voir le point 3

3) consommation de mémoire supérieure : avec les bibliothèques dynamiques, la bibliothèque est chargée une fois en RAM, et tous les programmes utilisent la même copie en mémoire de la bibliothèque. En compilation statique, si tu as 10 programmes qui utilisent la bibliothèque, tu auras 10 copies de la même bibliothèque en RAM. Il en résulte aussi une plus grosse consommation d'accès disque au lancement des programmes (ça c'est pour le point 2).

Le seul intérêt de la compilation statique, c'est pour les cas spécifiques ou on se retrouve en environnement minimal, pour avoir des binaires fonctionnels lorsque les ressources du système ne sont que partiellement accessibles. Cas typique du rescue shell, éventuellement dans certaines configurations embarquées.

Et le prelinking, j'ai tenté il y a quelques années, j'ai lâché l'affaire. Le gain n'est pas visible dans la vraie vie...

[EDIT]

Aller, un pointeur pour la route : http://www.akkadia.org/drepper/no_static_linking.html (en anglais). L'auteur n'est pas un ignare : c'est le mainteneur de la libc (https://fr.wikipedia.org/wiki/Ulrich_Drepper).

----------

## xaviermiller

Et l'un des nombreux messages de notre Diego national : https://blog.flameeyes.eu/2011/08/useless-flag-static-libs

----------

## versus8

Merci beaucoup, vos explications ont été très clairs et m'ont bien été utile  :Smile: 

J'ai donc tout recompiler en supprimant les static des use flag globaux.

Tout marche au poil  :Very Happy: 

----------

