Arquivo host do Windows - Compartilhamento de rede SMB usando a entrada do host que aponta para a máquina local

2

Estou fazendo algo um pouco criativo com o nosso servidor. Estamos construindo uma imagem pré-carregada do nosso software de servidor. Às vezes, nossos clientes pedem que possamos armazenar os dados em um compartilhamento de rede e outros clientes não. Eu estava pensando que poderíamos ser criativos e manter a pós-instalação simples.

Minha idéia era usar o arquivo host do Windows para apontar para 127.0.0.1 e ter um compartilhamento de rede local onde todos os dados são armazenados. No caso em que o cliente nos quer armazenar em seu servidor de arquivos, apenas atualizamos o arquivo host para o endereço do servidor remoto.

Nota - nós temos muitos serviços, por isso estamos tentando fazer isso com tão pouca "reconfiguração" quanto necessário. um arquivo host está na raiz da resolução de nomes, o que ajuda. Nós poderíamos fazer isso manualmente e não fazer assim. Estamos apenas querendo ser criativos nisso.

Server 2008 R2 Função de servidor de arquivos adicionada

Local ServerName: SERVERA  (10.0.0.10)
Remote ServerName:  SERVERB  (10.0.0.11)
Host entry name GENERICSERVER     
Folder Shared on local or remote server:   SomeFileShare

Test1:
Host file on SERVERA:    10.0.0.11  GENERICSERVER 
\GENERICSERVER\SomeFileShare -- Passed

Test2:
Host file on SERVERA:    10.0.0.10  GENERICSERVER 
\GENERICSERVER\SomeFileShare -- **Failed**
\SERVERA\SomeFileShare -- Pass
\127.0.0.1\SomeFileShare -- Pass

Test3: 
Host file on SERVERA:    127.0.0.1  GENERICSERVER 
\GENERICSERVER\SomeFileShare -- **Failed**
\127.0.0.1\SomeFileShare -- Pass

Alguém tem alguma idéia de porque configurá-lo para acessar um servidor remoto funciona bem, mas se eu apontá-lo para a máquina local (127.0.0.1 ou o endereço do adaptador), isso não? Ele me pede um user / pass e até mostra o nome do sistema do servidor, mas não autentica.

Qualquer ajuda é apreciada.

    
por TravisWhidden 03.10.2011 / 21:37

2 respostas

2

Isso provavelmente é causado por um recurso de segurança no Windows que (por padrão) impede o acesso do host local a nomes que não são o nome do host (CNAME ou nos nomes personalizados do arquivo host do caso). Seus resultados são consistentes com o que eu experimentei.

Você precisa editar o registro e adicionar o nome do genericserver ou desabilitar a proteção de loopback. Aqui estão algumas informações que eu colecionei sobre isso, focadas no IIS, mas que também afetam o SMB.

link

    
por 04.10.2011 / 04:25
0

Basear-se no arquivo hosts geralmente é uma idéia muito ruim, pois leva a todos os tipos de problemas mais tarde, quando a rede muda. Eu sugeriria usar o DNS. Crie um nome de host padrão para o seu aplicativo usar (algo tão críptico que é quase certo nunca colidir com um host "real") e pergunte aos clientes que desejam usar um compartilhamento de rede para adicionar um CNAME para apontar para o host desejado. Faça seu aplicativo executar uma pesquisa de DNS na inicialização, testando a existência de seu host de destino e use essas informações se forem válidas ou voltem ao host local, se não forem.

    
por 04.10.2011 / 01:36