Mac OS X Mountain Lion: la risoluzione DNS utilizza un ordine errato su VPN tramite connessione dial-up

21

Uso un MacBook con Mac OS X 10.8.2 e mi collego alla rete della mia azienda tramite VPN. Tutto funziona alla perfezione quando si stabilisce la connessione VPN via LAN o WLAN. Tuttavia, quando utilizzo una connessione dial-up (Huawei HSDPA USB Stick) i nomi host non vengono risolti correttamente nelle applicazioni (ad esempio Web-Browser). Gli strumenti a riga di comando come host name risolveranno correttamente l'indirizzo IP, ping name non verrà risolto.

Uso di scutil --dns Ho scaricato la configurazione DNS quando mi collego tramite WLAN o dial-up. C'è una differenza notevole nell'ordine di ricerca:

connecting using WLAN:

resolver #1
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 6 (ppp0)
  reach    : Reachable,Transient Connection
  order    : 100000

resolver #2
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 6 (ppp0)
  reach    : Reachable,Transient Connection
  order    : 200000

resolver #3
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #4
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #5
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #6
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #7
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #8
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  nameserver[0] : 192.168.1.1
  if_index : 4 (en0)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

resolver #2
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 6 (ppp0)
  flags    : Scoped
  reach    : Reachable,Transient Connection

La connessione ppp0 è la connessione VPN. Come puoi vedere, due server sono connessi e rispondono correttamente sulla riga di comando e nelle applicazioni.

Connecting via UMTS:

resolver #1
  nameserver[0] : 139.7.30.126
  nameserver[1] : 139.7.30.125
  if_index : 6 (ppp0)
  reach    : Reachable,Transient Connection
  order    : 100000

resolver #2
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 7 (ppp1)
  reach    : Reachable,Transient Connection
  order    : 100000

resolver #3
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 7 (ppp1)
  reach    : Reachable,Transient Connection
  order    : 200000

resolver #4
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #5
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #6
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #7
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #8
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #9
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  nameserver[0] : 192.168.80.10
  nameserver[1] : 192.168.80.24
  if_index : 7 (ppp1)
  flags    : Scoped
  reach    : Reachable,Transient Connection

resolver #2
  nameserver[0] : 139.7.30.126
  nameserver[1] : 139.7.30.125
  if_index : 6 (ppp0)
  flags    : Scoped
  reach    : Reachable,Transient Connection

Questa volta, ppp1 è la connessione VPN e ppp0 è la connessione UMTS. Dai tempi di risposta dei comandi (utilizzando l'hostname non esistente foo.bar.local ) deduco che ping utilizza la prima catena di resolver, dove host utilizza la configurazione della query con scope. ping impiega 5 secondi per restituire "Unkown host", host torna immediatamente. Presumo ping nell'esecuzione del timeout di 5 secondi del resolver mdns.

Per risolvere il mio problema con le ricerche DNS interrotte durante la connessione tramite VPN via modem, ho bisogno di cambiare l'ordine dei risolutori. Finora non ho trovato un modo per farlo.

Qualche idea benvenuta.

    
posta user1248552 28.11.2012 - 21:12
fonte

9 risposte

7

Ho avuto lo stesso problema sul mio Mac, e dopo averlo risolto ho capito che è stato causato da FortiClient (client VPN) . Anche quando FortiClient è stato disconnesso, il DNS è ancora presente nello scutil.

La soluzione per me era:

scutil
> list ".*DNS"

Questo ti mostrerà una lista di tutte le configurazioni DNS, che assomiglierà a qualcosa tipo:

subKey [0] = State:/Network/Global/DNS <br>
subKey [1] = State:/Network/MulticastDNS<br>
subKey [2] = State:/Network/OpenVPN/DNS<br>
subKey [3] = State:/Network/OpenVPN/OldDNS<br>
subKey [4] = State:/Network/PrivateDNS<br>
subKey [5] = State:/Network/Service/forticlientsslvpn/DNS <br>

Per verificare ognuno di loro, esegui: (finché non trovi quello problematico)

> get key_name
> d.show

... e per risolverlo esegui:

> get key_name
> d.remove ServerAddresses
> set key_name

Ecco come appariva sulla mia macchina:

> get State:/Network/Service/forticlientsslvpn/DNS 
> d.show
<dictionary> {
  ServerAddresses : <array> {
    0 : 192.168.30.6
    1 : 192.168.30.15
  }
  SupplementalMatchDomains : <array> {
    0 :
  }
  SupplementalMatchOrders : <array> {
    0 : 100000
  }
}
> d.remove ServerAddresses
> d.show
<dictionary> {
  SupplementalMatchDomains : <array> {
    0 :
  }
  SupplementalMatchOrders : <array> {
    0 : 100000
  }
}
> set State:/Network/Service/forticlientsslvpn/DNS
> exit
    
risposta data 15.09.2013 - 12:25
fonte
2

Ho trovato una soluzione: il tuo VPN DNS verrà comunque ignorato e verrà utilizzato solo il DNS 3G-dongle, ma aggiungere il tuo DNS VPN all'elenco sotto l'interfaccia 3G è il trucco ... Il problema principale è che il gestore della connettività 3G sovrascrive la configurazione ogni volta che fai clic su Connetti e hai bisogno di un gestore di connettività per abilitare Radio sul dongle 3G ... quindi ho mixato entrambe le soluzioni in una:

  1. Collegati alla tua VPN e scrivi il tuo DNS (ne ho 2 nella lista). Puoi verificarlo in Preferenze di rete → Avanzate → scheda DNS. Disconnetti VPN. Devi connetterti a VPN perché il DNS è assegnato dinamicamente alla connessione ...

  2. Connettiti al tuo 3G e fai lo stesso: scrivi il DNS su carta. Quindi scollegare 3G.

  3. Vai a Preferenze di Rete → fai clic sull'interfaccia 3G → Avanzate → Scheda DNS, e sotto la tabella DNS (che normalmente sarà vuota poiché non sei connesso) clicca su '+'. Aggiungi tutti i server DNS (quelli prima da 3G e poi aggiungi VPN in seguito). Fai clic su OK e Applica.

  4. D'ora in poi , per connetterti al 3G, collega la tua USB e attendi fino a quando non avrai una copertura 3G (dovrai aprire il gestore di connettività 3G), ma non utilizzare il gestore di connettività fornito per connettersi. E se si collega automaticamente, vai alle preferenze e deseleziona quel segno di spunta. Hai bisogno che il gestore solo attivi la radio su nel dongle USB, nient'altro.

    Se fai clic su "connect" sul tuo gestore 3G, sovrascriverà la configurazione dell'interfaccia 3G e dovrai ripetere nuovamente il passaggio 3.

  5. Vai a Rete → Preferenze e fai clic sull'interfaccia 3G. Quindi fare clic su Connetti. Si connetterà al tuo 3G utilizzando i server DNS configurati (anziché ricevuti dinamicamente), che includono sia il DNS "pubblico" che il tuo DNS VPN.

  6. Connessione alla tua VPN. Funzionerà come previsto.

Tieni presente che:

  • Se il tuo DNS VPN cambia, devi cambiarlo manualmente. Questo può essere facilmente controllato in Rete → Interfaccia VPN w Avanzate → scheda DNS poiché il tuo VPN DNS viene ancora assegnato dinamicamente all'interfaccia (sebbene ignorato da OS X).

  • Se il tuo 3G DNS cambia (improbabile) devi cambiarlo manualmente. Se qualcosa va storto e non puoi navigare devi passare attraverso il tuo gestore di connettività 3G, fare clic su "Connetti" e vedere quali DNS vengono assegnati dinamicamente ... Ciò richiederà di tornare al passaggio 3 e riconfigurarlo.

risposta data 23.07.2013 - 14:04
fonte
2

Ho avuto lo stesso problema per molto tempo, ma ora ho avuto il tempo di trovare una soluzione che funzioni per me. Non ho cambiato l'ordine del server DNS, ma sto utilizzando il server DNS dietro la VPN in modo permanente.

  1. Connessione via dial-up.

  2. Connetti la connessione VPN e copia gli IP del server DNS e il dominio di ricerca da Connessione VPN → Avanzate → DNS.

  3. Disconnetti la connessione VPN.

  4. Ping <name> o <hostname> del tuo server VPN e annota l'IP.

  5. Disconnetti la connessione remota.

  6. Duplica la connessione di accesso remoto (ad esempio, chiama "3G per VPN").

  7. Immettere gli IP e il dominio di ricerca nella scheda DNS della connessione remota. Saranno memorizzati e utilizzati in modo permanente.

  8. Connessione tramite la nuova connessione remota.

  9. Ora non hai accesso ai server dei nomi (perché sono protetti dalla VPN) - devi modificare l'indirizzo del server della connessione VPN. Sostituisci l'host con l'IP.

  10. Connessione tramite connessione VPN e dovresti poterlo usare.

Nota: In generale i nomi degli host non cambiano, ma gli IP possono. Quindi se non funziona un giorno, ripeti i passaggi ...

    
risposta data 11.07.2013 - 13:47
fonte
1

quello che hai detto mi ha dato un suggerimento, quindi ho aggiunto l'IP dns nella connessione VPN alla lista dns nella connessione principale (niente di speciale, basta usare l'interfaccia grafica per le preferenze Network.) Non sono sicuro se quello con cui hai a che fare è diverso, ma ha funzionato con me.

    
risposta data 11.06.2014 - 22:54
fonte
0

Ho lo stesso problema. Ho provato a cambiare l'ordine dei responder nel mio prefetto Network, e non ha avuto successo.

Ecco gli screenshot della mia configurazione di rete.

Inoltre, mi sembra strano che la VPN NON abbia il mio dominio dell'ufficio nell'elenco dei domini di ricerca, ma il primo risolutore specifica ancora il dominio del mio ufficio per andare oltre il VPN.

Ancora più curioso: il tentativo di fare traceroute support.inresonance.com fornisce "host sconosciuto", ma facendo host support.inresonance.com restituisce l'indirizzo IP corretto.

Suggerimenti?

Senza VPN:


resolver #1
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 4 (en0)
  reach    : Reachable,Directly Reachable Address

resolver #2
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #3
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #4
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #5
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #6
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #7
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

resolver #8
  domain   : inresonance.com
  nameserver[0] : 10.32.123.1

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 4 (en0)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

resolver #2
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 5 (en1)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

Con la VPN:


DNS configuration

resolver #1
  search domain[0] : inresonance.com
  nameserver[0] : 10.41.220.10
  nameserver[1] : 10.41.220.11
  if_index : 8 (ppp0)
  reach    : Reachable,Transient Connection
  order    : 100000

resolver #2
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 4 (en0)
  reach    : Reachable,Directly Reachable Address
  order    : 200000

resolver #3
  domain   : local
  options  : mdns
  timeout  : 5
  order    : 300000

resolver #4
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  order    : 300200

resolver #5
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300400

resolver #6
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300600

resolver #7
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 300800

resolver #8
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  order    : 301000

resolver #9
  domain   : inresonance.com
  nameserver[0] : 10.32.123.1

DNS configuration (for scoped queries)

resolver #1
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 4 (en0)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

resolver #2
  search domain[0] : inresonance.com
  nameserver[0] : 10.32.123.82
  nameserver[1] : 10.32.123.87
  nameserver[2] : 10.32.123.82
  if_index : 5 (en1)
  flags    : Scoped
  reach    : Reachable,Directly Reachable Address

resolver #3
  nameserver[0] : 10.41.220.10
  nameserver[1] : 10.41.220.11
  if_index : 8 (ppp0)
  flags    : Scoped
  reach    : Reachable,Transient Connection
    
risposta data 01.03.2013 - 16:56
fonte
0

Non funziona in Lion / Mountain Lion, a causa di un bug che causa l'utilizzo del server DNS locale al posto del server DNS della rete remota anche quando Split DNS è impostato correttamente nel router VPN.

Tuttavia, se si utilizza un router IPSEC Cisco ASA, è possibile forzare l'utilizzo dei server DNS remoti ogni volta che si stabilisce una connessione VPN:

Se si utilizza Cisco ASDM, andare a Configurazione > Accesso alla rete (client) > Criteri di gruppo > (il tuo gruppo vpn per OSX / iPhone) > Avanzate > Tunnel diviso

Qui impostato: Nomi DNS (deselezionare "eredita" e definire i nomi di dominio DNS interni, ad esempio myoffice.local) Invia tutte le ricerche DNS Throug Tunnel: impostare su SÌ (questa è l'impostazione importante)

Salvalo e non dimenticare di archiviarlo nel flash per uso futuro.

Se si utilizza la riga di comando IOS, impostare:

group-policy <your-tunnel-group-name> attributes
 split-dns value myoffice.local
 split-tunnel-all-dns enable'
    
risposta data 21.06.2013 - 13:28
fonte
0

Prova a modificare l'ordine delle voci DNS nel pannello delle preferenze di rete:

  1. Apri Preferenze di sistema Rete .

  2. Seleziona il servizio di rete nell'elenco sulla sinistra.

  3. Sblocca il pannello delle preferenze utilizzando il lucchetto nell'angolo in basso a sinistra.

  4. Fai clic su Avanzate ... e seleziona la scheda DNS .

  5. Modifica l'ordine dei server DNS trascinandoli su / giù.

risposta data 25.01.2013 - 08:23
fonte
0

Ciò accade ancora in 10.13.0

Ho aperto una segnalazione di bug con Apple. Non è normale che "ping internalhostname" funzioni ma "host internalhostname" o "nslookup internalhostname" non riesce con le VPN split tunnel (basate su Cisco IPSec o IKEv2).

Inoltre, come alcuni hanno notato, le connessioni IPsec Cisco e le connessioni IKEv2 non possono avere la priorità con "Imposta ordine di servizio" a differenza di L2TP / IPsec che può.

Un altro punto che vorrei sottolineare è che il tunnel split Cisco IPSec o IKEv2 VPN non mostra alcun server DNS o Search Domains nelle loro impostazioni Avanzate, anche se queste informazioni appaiono con "scutil --dns". Le VPN L2TP / IPsec mostrano queste informazioni bene.

Qualcosa deve dare e Apple ha bisogno di fornire qualche spiegazione / correzione.

    
risposta data 30.10.2017 - 16:13
fonte
-1

È possibile risolvere questo problema regolando l'ordine di servizio delle connessioni di rete. Sposta VPN in cima alla lista e l'ordine del resolver seguirà.

link

    
risposta data 24.06.2014 - 19:34
fonte

Leggi altre domande sui tag