NIS
Volnys Borges [email protected]
http://www.lsi.usp.br/~volnys
Laboratório de Sistemas Integráveishttp://www.lsi.usp.br/
Agenda
❖ Motivações❖ NIS❖ Funcionamento NIS❖ Relacionamento com outros Sistemas❖ DNS❖ Automount / Amd❖ Resolução de problemas NIS
Motivações
❖ Cadastro de usuários:Alterar os seguintes arquivos:
� /etc/passwd� /etc/group
Em um sistema com um grande númerode máquinas é necessário altera-los emTODAS as maquinas
❖ Em um sistema com um grande número demáquinas esta tarefa torna-se impraticável
Motivações
❖ Em um sistema com um grande número demáquinas as seguintes tarefas tornam-seimpraticaveis:
cadastro de usuáriosmontagem de arquivoscadastro de máquinas (/etc/hosts)services (/etc/services)netgroup (grupos de máquinas / usuários)
NIS
❖ O que é?Network Information SystemProduto da SUN MicrosystemsPortado para diversas plataformas
❖ ObjetivoServir como uma base de dados distribuídaBase de dados distribuída formada através deum ponto centralizadoUtil em sistemas com grande número demaquinas (N>10)
NIS
❖ Versões NIS:NIS Versão 1:
� Também chamado de Yellow Pages– Nome original: teve que mudar de nome pois era
marca registrada para lista telefônica (paginasamarelas)
NIS Versão 2:� Também conhecido por NIS Plus (NIS+)� Acrescenta característica de maior segurança,
com a utilização de criptografia
Funcionamento NIS
❖ Arquivos x Mapas NIS
As informações utilizadas disponibilizadaspelo nis provêm de arquivos deconfiguração
Estes arquivos são processados e formatadosde forma que, para cada entrada, existe umíndice. Este arquivo formatado pelo NIS échamado de “Mapa NIS”.
Funcionamento NIS
❖ Exemplo: hostArquivo: /etc/host10.0.0.1 marte marte.dominio
10.0.0.2 jupter marte.dominio
Mapas:� host.byname (ypcat -k host.byname)marte 10.0.0.1 marte marte.dominio
jupter 10.0.0.2 jupter jupter.dominio
jupter.dominio 10.0.0.2 jupter jupter.dominio
� host.byaddr (ypcat -k host.byaddr)10.0.0.1 10.0.0.1 marte marte.dominio
10.0.0.2 10.0.0.1 jupter jupter.dominio
Funcionamento NIS❖ ypwhich -m
“-m” - map, mostra mapas disponíveispara cada mapa mostra que máquinacentraliza a informação (arquivo)
ypwhich -m
� hosts.byname sofia
� hosts.byaddr sofia
� passwd.byname sofia
� passwd.byuid sofia
� group.byname sofia
� group.bygid sofia
� ......
mapa apelido arquivo chave
bootparam /etc/bootparams hostname
ethers.byname ethers /etc/ethers hostname
ethers.byaddr /etc/ethers end. MAC
group.byname group /etc/group groupname
group.bygid /etc/group groupid
hosts.byname hosts /etc/hosts hostname
hosts.byaddr /etc/hosts end. IP
mail.aliases aliases /etc/aliases aliasname
mail.byaddr /etc/aliases alias exp
netgroup.byhost /etc/netgroup hostname
netgroup.byuser /etc/netgroup username
netid.byname host,group,passwd complexa
netmask.byaddr /etc/netmasks end. IP
networks.byname /etc/networks net name
networks.byaddr /etc/networks IP rede
passwd.byname passwd /etc/passwd username
passwd.byuid /etc/passwd user id
protocols.bynumber protocols /etc/protocols port num.
protocols.byname /etc/protocols prot.name
rpc.bynumber /etc/rpc mum. rpc
services.byname services /etc/services serv. name
ypservers NIS server names hostname
Funcionamento NIS
❖ ypcat -kmostra o conteúdo de um mapa NIS“-k” - mostra a chave
ypcat -k host.byname� marte 10.0.0.1 martemarte.dominio
� jupter 10.0.0.2 jupterjupter.dominio
� jupter.dominio 10.0.0.2 jupterjupter.dominio
Funcionamento NIS
❖ Clientes NISMaquinas que se utilizam de informaçõesdisponibilizadas pelo NIS
❖ Servidores NISMaquinas que respondem a requições NIS
❖ Importante:Uma servidora NIS pode ou não utilizar oserviço NIS. Caso utilize ela será umaservidora e cliente NIS.
Funcionamento NIS
❖ Servidores NIS
Serviço NIS é crítico� Se o servidor cair:
param todas as máquinas queutilizam o serviço NISdeste servidor
Importante a existência de servidoresredundantes !!!
Funcionamento NIS
❖ Servidores NIS
Servidor NIS master� principal, que centraliza os arquivos
Servidor NIS slave� escravo: redundante� possui copias dos mapas do servidor NIS
master
Funcionamento NIS
❖ Processos:
cliente nis� ypbind� realiza as requisições ao servidor NIS
servidor nis (master ou slave)� ypserv� responde às requisições NIS
Funcionamento NIS
❖ Bind de servidorNo momento que um NISclient éinicializado o processo ypbind édisparado.Neste momento ele se conecta a umservidor NIS (seja master ou slave).Esta conexão a partir deste momento ficapermanente.Para se saber qual o servidor NISassociado ao um NIS cliente:
� ypwhich
Formas de escolha do servidorNIS pelo ypbind
❖ Servidor configurado explicitamente na cliente� É especificado o IP/nome do servidor ao qual deve
ser conectado� Na falha deste servidor a maquina fica parada.
Via requisição Broadcast� Enviado pacote broadcast perguntando p/ servidor� Vantagens
– somente os servidores ativos respondem– se servidor atual cair, apos o time-out (5 min) pode se
conectar a outro
� Desvantagens– segurança: uma maquina intrusa pode responder a
requisição broadcast
Funcionamento NIS
❖ Necessário pelo menos 1 servidor NIS
Cliente NIS
Domínio NIS
Cliente NIS
Cliente NIS
Cliente NIS
Fucionamento NIS
❖ Importante a existência de 1 servidorredundante
Domínio NIS
Cliente NIS
Cliente NISNIS Master
Cliente NISCliente NIS
req. NIS
resp.
Funcionamento NIS
❖ De tempos em tempos os servidores NISslavesão atualizados pelo NISmaster
Domínio NIS
Cliente NIS
Cliente NISNIS MasterCliente NIS
NIS Slave
Cliente NIS
mapas NIS
Processo daemons
Domínio NIS
Cliente NIS Cliente NISNIS Master
Cliente NISNIS Slave
Cliente NIS
ypbind ypbind ypbind
ypserv -d
ypbind
ypserv -d
ypxfrd
yppasswd
Processos daemonsypbind
� cliente NIS
ypserv� servidor NIS (master ou slave)
yppasswdd� presente sempre no NISmaster� atualiza senha de usuários no arquivo passwd
ypxfrd� “yp transfer daemon”� presente sempre no NISmaster� responsável por atender requisições de envio de
mapas aos NISslaves
Programas auxiliares
Domínio NIS
Cliente NIS Cliente NISNIS Master
Cliente NISNIS Slave
Cliente NIS
ypbind ypbind ypbindypserv -d
ypbindypserv -dypxfrdyppasswd
ypxfr yppushmake
Programas auxiliaresyppush
� executado sempre em um NISmaster� avisa ao servidor NISslave para providenciar a
recarga de um mapa� NAO transfere o mapa, somente notifica!
ypxfr� executado sempre em um NISslave� requisita ao servidor NISmaster a transferência de
um mapa
make (/var/yp/Makefile)� verifica se mapa esta desatualizado, refaz o mapa e
atualiza os NISslaves
Requisição NIS
Domínio NIS
Cliente NIS Cliente NISNIS Master
Cliente NISNIS Slave
Cliente NIS
ypbind ypbind ypbindypserv -d
ypbindypserv -dypxfrdyppasswd
ypxfr yppushmake
Domínio NIS
Cliente NIS Cliente NISNIS Master
Cliente NISNIS Slave
Cliente NIS
ypbind ypbind ypbindypserv -d
ypbindypserv -dypxfrdyppasswd
ypxfr yppushmake
Atualização de mapa NIS peloNIS master
1
3
2
4
Atualização de mapa NIS peloNISslave de tempos em tempos
Domínio NIS
Cliente NIS Cliente NISNIS Master
Cliente NISNIS Slave
Cliente NIS
ypbind ypbind ypbindypserv -d
ypbindypserv -dypxfrdyppasswd
ypxfr yppushmake
1
2
cron
Atualização de mapas NIS peloNISslave de tempos em tempos
❖ Scripts para serem utilizado com cron:ypxfr_1ph
� atualiza alguns mapas� deve ser disparado a cada hora
ypxfr_1pd� atualiza alguns mapas� deve ser disparado 1 vez por dia
ypxfr-2pd� atualiza alguns mapas� deve ser disparado 2 vezes por dia
Configuração de utilização demapas nas clientes
❖ ResoluçãoArquivosNIS
❖ BSD/etc/resolv.conf/etc/hosts.conf
❖ System V/etc/nsswitch.conf
/etc/nsswitch.conf
❖ Utilizado nos Unix System V❖ Permite indicar, para cada “serviço” se será
utilizado arquivo ou mapa NIS❖ Exemplo:
passwd: filesnis
group: filesnis
hosts filesdns
services nis files
networks nis [NOTFOUND=return] files
.......
DNS
❖ Utilizado em todos os domínios existentes narede Internet
❖ Protocolo DNSRFC 1034 - Domain Names - Concepts and FacilitiesRFC 1035 - Domain Names - Implementation andSpecification
❖ Protocolo que permite a resolução dos nomesde um domínio
� nome -> IP� IP -> nome
Serviço de resoluçãode nomes e endereços
❖ Na teoria, o funcionamento do protocolo DNS émuito símples
Existem dois tipos de entidades:� Resolvers - fazem pedidos de resolução� Name Servers - respondem aos pedidos
❖ Na prática, isto é mais complicado.Um servidor de nomes também poderealizar requisições para outros “Servidoresde nomes”
DNS
❖ Entidades:
“Resolvers”� realizam requisições� todas máquinas precisam de um resolver
Servidores DNS� respondem às requisições� necessário no mínimo 2 servidores por domínio
– 1 servidor primário– 1 ou mais servidores DNS secundário
DNS
❖ Resolver
Arquivo de configuração� /etc/resolv.conf
Exemplo� domain lsi.usp.br� search lsi.usp.br� nameserver 143.107.161.220� nameserver 143.107.161.141
DNS
❖ Servidor DNS
Arquivos de configuração� /etc/named.boot (bind v4) ou
/etc/named.conf (bind v8)� /var/named/named.root� /var/named/named.local� /var/named/*.zone� /var/named/*.revzone
DNS x NIS
❖ Em um ambiente Internet é obrigatória apresença de DNS
❖ Para resolução de nomes locais pode serrealizada de tres formas distintas:
arquivo: /etc/hostsNIS mapa hostsdns protocolo DNS
DNS x NIS
❖ Pode ser utilizado o NIS para a resolvernomes locais, porem:
é dificil manter duas bases de dadosatualizadas
❖ Existe uma possibilidade de configurar o NISserver a fim de que, requisições NIS do mapahost seja direcionada para o DNS
ypserv -dNISclient --> NISserver -> DNSserver
Automount
❖ Permite facilidades para definição de pontosde montagem
❖ Existem dois sistemas que podem serutilizados
automountamd
❖ Normalmente estes utilitários se utilizam demapas NIS
Resolução de problemas NIS
❖ rpcinfo -u jupter ypservverifica se o processo ypserv da maquinajupter (nis server) esta respondendo arequisições
Resolução de problemas NIS
❖ Verificar se na maquina NIS master estãorodando os processos:
ypservyppasswddypxfrd
❖ Verficar se as maquinas NIS slaves estãoatualizando os mapas NIS (via scripts cron)