6 votes

La résolution DNS fonctionne pour nslookup mais échoue dans le navigateur en utilisant openconnect

Essayer d'utiliser openconnect pour se connecter à Cisco Anyconnect VPN.

Je viens de faire brew install openconnect et l'utiliser depuis la ligne cmd comme ceci :

sudo openconnect --authgroup=VPN-SSL-GROUP -u FIRST_LAST@domain.com vpn.domain.com

Ensuite, j'essaie d'accéder ressource.domaine.com nom du réseau privé et obtenir :

  • en Chrome : DNS_PROBE_FINISHED_NXDOMAIN
  • dans Utilitaire réseau -> Recherche : ressource.domaine.com -> L'opération n'a pas pu être achevée. (erreur kCFErrorDomainCFNetwork 2.)

MAIS le problème est résolu lorsque j'utilise nslookup à partir de la ligne de commande :

nslookup resource.domain.com
Server:         10.66.0.1
Address:        10.66.0.1#53

Non-authoritative answer:
Name:    resource.domain.com
Address: 10.66.110.24

J'ai décidé de vérifier le contenu de /ect/resolv.conf :

nameserver 10.66.0.1
nameserver 10.66.0.2
nameserver 192.168.100.1 # (this is the DNS address of my home router)

et voir que les adresses DNS requises utilisées par nslookup sont en place. (Si j'utilise l'adresse résolue dans le navigateur, j'accède avec succès à la ressource privée, donc le routage fonctionne bien).

J'ai fait quelques recherches sur Google et appris que la résolution DNS ne fonctionne pas comme je peux l'attendre de Linux. Il y a un scutil qui peut aider à gérer les paramètres DNS actuels.

Voici une liste de mes paramètres DNS que je peux voir dans scutil :

> list .*DNS
  subKey [0] = Setup:/Network/Service/47AA11B0-4713-41EF-B532-FC580ACD3E75/DNS
  subKey [1] = State:/Network/Global/DNS
  subKey [2] = State:/Network/MulticastDNS
  subKey [3] = State:/Network/PrivateDNS
  subKey [4] = State:/Network/Service/47AA11B0-4713-41EF-B532-FC580ACD3E75/DNS
  subKey [5] = State:/Network/Service/utun1/DNS # (this one appears when I am connected using openconnect)

Le contenu de State:/Network/Global/DNS y State:/Network/Service/47AA11B0-4713-41EF-B532-FC580ACD3E75/DNS correspondent et sont égales à :

<dictionary> {
  ServerAddresses : <array> {
    0 : 10.66.0.1
    1 : 10.66.0.2
    2 : 192.168.100.1
  }
}

Le contenu de State:/Network/Service/utun1/DNS (qui n'existe qu'après que openconnect ait établi la connexion) est :

<dictionary> {
  DomainName : location.domain.com
  SearchDomains : <array> {
    0 : location.domain.com
  }
  ServerAddresses : <array> {
    0 : 10.66.0.1
    1 : 10.66.0.2
  }
  SupplementalMatchDomains : <array> {
    0 : location.domain.com
  }
}

Les autres clés liées au dns sont vides.

J'ai également essayé d'aller dans Préférences -> Réseau -> ma connexion Wy-Fi -> Avancé et de définir les adresses DNS manuellement. Cela ne fonctionne toujours pas.

Et j'ai aussi appris vpnc-script pour openconnect. J'ai constaté qu'il existait déjà sur ma machine et j'ai essayé de le spécifier explicitement : --script /usr/local/etc/vpnc-script mais cela n'a pas aidé à résoudre les domaines privés.

D'après ce que je vois dans scutil il semble être correctement configuré, mais pour certaines raisons, la résolution DNS ne fonctionne pas. Avez-vous une idée de la raison ? Que puis-je vérifier et essayer d'autre ?

3voto

bayer Points 4202

Grâce à cette réponse : https://superuser.com/a/86245/356729

La commande

networksetup -setdnsservers Wi-Fi 10.66.0.1, 10.66.0.2

a résolu le problème. Lorsque je me déconnecte, je dois également restaurer manuellement les paramètres en utilisant :

networksetup -setdnsservers Wi-Fi 192.168.100.1

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X