Perché il terminale non mi permette di accedere al mio server LAN quando Windows / Putty funziona bene?


2

Ho un server di sviluppo sulla mia LAN con un indirizzo IP statico. Il mio router flash DD-WRT assegna il dominio "server.local" all'IP statico del server. Tutto ha funzionato bene con la mia configurazione. Potrei connettermi al server tramite ssh, ftp, http, ping o persino samba.

Ho appena eseguito un'installazione pulita di CentOS sul server e tutto funziona correttamente quando mi connetto ad esso da qualsiasi dei miei computer Windows. Tuttavia il mio Macbook non si collegherà più. Posso visualizzare le mie versioni di sviluppo dei miei siti Web in un browser, ma non riesco a collegarmi al server.

Ho ripulito ~/.ssh/known_hostsper assicurarmi che le informazioni del vecchio server non stessero rovinando le cose. In che modo i computer Windows e i browser Mac sono in grado di trovare il server, ma Terminal no?

Modifica n. 1:

~: ssh root@server.local
ssh: Could not resolve hostname server.local: nodename nor servname provided, or not known
~: ssh root@192.168.1.200
root@192.168.1.200's password:

Modifica n. 2:

Ho già provato a svuotare la cache DNS da dscacheutil -flushcache. Sono su OS 10.6.

Ok, allora perché Terminal è confuso riguardo al nome di dominio quando i browser non lo sono?

L'aggiunta 192.168.1.200 server.locala /etc/hostsrisolve il problema. Mi chiedo solo perché non sia in grado di fare affidamento sul DNS del router.


puoi provare a svuotare la cache DNS con questo comando dscacheutil -flushcache e riavviare il browser. Facci sapere se riesci ancora ad accedere a server.local con il tuo browser?
robzolkos,

Ho dimenticato di dire che l'avevo fatto. Aggiornerò la mia domanda con quella e la mia versione di OS X.
Predicatore

A me sembra un problema DNS. provare host server.local. Se non riesci a risolverlo, aggiungi server.localal tuo /etc/hosts.
Sebastian Roth,

Risposte:


2

Mac OSX 10.6 non rispetta le risposte DNS con un TTL (tempo di vita) pari a 0 (che è l'impostazione predefinita dei router basati su DD-WRT). Dovrai accedere al router DD-WRT e alla scheda Amministrazione -> Servizi. Vedrai una casella chiamata Opzioni DNS aggiuntive. Aggiungi il seguente valore a questa casella:

local-ttl=5

Salva e riavvia il router e il Mac e dovresti essere in grado di vedere server.local nel terminale (senza averlo nel tuo file hosts).


Neanche questo ha funzionato.
Predicatore

0

Mac OS X riserva l'estensione ".local" per mDNS. Per quanto ne so, non può essere disattivato. Devi attivare mDNS sul tuo server, scegliere un'estensione diversa per la tua rete o modificare il tuo /etc/hosts/file con una voce per il tuo server.


Ma perché il browser sul Mac dovrebbe andare su server.local ma non nel terminale. Questo è il pezzo che non capisco.
robzolkos,

@RobZolkos Che non lo so.
Kyle Cronin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.