DNS no SUNOS 4.1.4 / Solaris

3

Em SUNOS (não solaris) o dns funciona apenas com o nis ativado (sic!) Eu fiz assim

modificado yp Makefile e adicionado B = -b e colocar # no próximo B

ypinit -m   OK

route add default 10.0.0.1 OK

ypwhich ok 
ypcat  ok
ping ok

telnet ok

vi /etc/resolv.conf

order local, nis, bind
nameserver 10.0.0.1

Mas se tentar resolver com nslookup it timeouts. E também ftp não resolve nomes. Por quê? Se eu tentar ftp com um endereço IP (rede e internet), funciona.

Por que não resolve nomes?

    
por elbarna 31.01.2016 / 20:55

3 respostas

2

O SunOS 4.x como enviado não faz pesquisas de DNS sem o NIS. Houve um hack não suportado chamado resolv + que substituiu os arquivos em libc.so, que você então revinculou, para habilitá-lo. Você pode encontrar mais informações sobre isso nas Perguntas frequentes sobre o DNS da SunHelp e versões mais antigas do livro O'Reilly DNS e BIND , mas não sei se ainda é possível encontrar o código necessário para fazer isso hoje.

É claro que você não deveria estar rodando qualquer máquina SunOS 4 hoje que esteja conectada à internet, já que faz mais de uma década desde que foram feitas correções de segurança.

    
por 01.02.2016 / 17:34
1
  1. A diretiva de ordem não funciona, retire-a. Para o SunOS 4 com o padrão libc, existe uma ordem fixa de NIS e depois BIND. (Se você quiser usar um arquivo de hosts estáticos, certifique-se de reconstruir o banco de dados do NIS após cada edição).

  2. Com o libc padrão, o nslookup não funcionará. Use os hosts ypmatch hostname para testar a resolução de nomes.

  3. o ftp deve funcionar se o ypmatch funcionar. Você está usando o binário certo? (/ usr / ucb / ftp)

por 30.01.2017 / 19:29
0

Sua máquina não resolve nomes DNS porque o DNS não está configurado corretamente.

Da documentação do Solaris

Ativando uma máquina para usar DNS

Você coloca em /etc/nsswitch.conf

1) Se você quiser procurar por arquivos hosts, então DNS, e não procurar NIS

hosts: files dns

2) Se você quiser procurar por NIS, DNS e, em seguida, hosts

hosts: nisplus dns [NOTFOUND=return] files

3) Se você quiser DNS, que NIS e finalmente hospeda

hosts: dns nisplus [NOTFOUND=return] files

Eu recomendaria então:

   hosts: dns nisplus [NOTFOUND=return] files

Esta diretiva é mais resiliente no momento da inicialização, enquanto o serviço DNS não está em execução.

Por favor, dê uma olhada neste documento.

Capítulo 12 Configurando clientes DNS

Af para o seu /etc/resolv.conf eu configuraria da seguinte forma:

domain your.domain
nameserver 8.8.8.8

Primeiro, você precisa retirar a diretiva de ordem de /etc/resolv.conf . Eu usei o endereço IP dos servidores DNS do Google, substitua pelo seu servidor DNS interno, se você já tiver um. Se você pretende configurar o BIND na máquina real, ele será 0.0.0.0 de acordo com as RFCs do BIND.

Também é uma boa prática criar o /etc/hosts com pelo menos o localhost e o IP da sua máquina (suponho que seja 10.0.0.2).

10.0.0.2    your_machine_name your_machine_name.your_domain
127.0.0.1   localhost

Eu também recomendo a referência oficial no campo:

DNS e BIND 5ª edição, Cricket Liu, O´Reilly

Adendo: além desses procedimentos, há também a necessidade de editar o NIS, como gentilmente apontado por @Mark Plotnick

P: Como uso o DNS sem o NIS?

If you consult your /var/yp/Makefile on your NIS master, near the top, you will see four lines as follows:

   # Set the following variable to "-b" to have NIS servers use the domain name
   # resolver for hosts not in the current domain.    
   #B=-b
   B=   

In order for DNS to work with NIS, you must change the last two lines:

   B=-b   
   #B=  

Afterwards make a new map with the correct flags on it:

  # touch /etc/hosts   
  # cd /var/yp   
  # make
    
por 01.02.2016 / 05:20