<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7975384488453921728</id><updated>2026-05-26T11:14:57.529-07:00</updated><title type='text'>Pablo Gonzalez</title><subtitle type='html'>Tudo sobre Tecnologia da Informação &#xa;Java, hibernate, Springs, C++, C#, CMMI, CMM, COBIT, PHP, CMS, Internet e muito mais.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>70</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-8264553784885474485</id><published>2013-07-10T04:41:00.002-07:00</published><updated>2013-07-13T08:27:20.477-07:00</updated><title type='text'>Introdução Cluster</title><content type='html'>Quando o assunto é computação de alto desempenho, não é difícil pensarmos em servidores sofisticados e caros respondendo por este trabalho. No entanto, é possível obter resultados tão bons quanto ou superiores a partir de alguma solução de cluster  - uma tecnologia capaz de fazer computadores mais simples trabalharem em conjunto, como se formassem uma máquina só.
&lt;br&gt;
Neste texto, você saberá o que é computação em cluster, verá quais são as principais características do conceito e&lt;br&gt; conhecerá algumas de suas aplicações, assim como soluções do tipo.&lt;br&gt;

&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;O que é cluster?&lt;/font&gt;
&lt;br&gt;
&lt;b&gt;Cluster&lt;/b&gt; (&lt;i&gt;ou clustering&lt;/i&gt;) é, em poucas palavras, o nome dado a um sistema que relaciona dois ou mais computadores para&lt;br&gt; que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. Estas máquinas dividem entre&lt;br&gt; si as atividades de processamento e executam este trabalho de maneira simultânea.&lt;br&gt;

Cada computador que faz parte do cluster recebe o nome de nó (ou node). Teoricamente, não há limite máximo de nós, &lt;br&gt;mas independentemente da quantidade de máquinas que o compõe, o cluster deve ser &quot;transparente&quot;, ou seja, ser visto pelo usuário ou por outro sistema que necessita deste processamento como um único computador.&lt;br&gt;

Os nós do cluster devem ser interconectados, preferencialmente, por uma tecnologia de rede conhecida, para fins de &lt;br&gt;manutenção e controle de custos, como a Ethernet. É extremamente importante que o padrão adotado permita a &lt;br&gt;inclusão ou a retirada de nós com o cluster em funcionamento, do contrário, o trabalho de remoção e substituição&lt;br&gt; de um computador que apresenta problemas, por exemplo, faria a aplicação como um todo parar.&lt;br&gt;

A computação em cluster se mostra muitas vezes como uma solução viável porque os nós podem até mesmo ser compostos por computadores simples, como PCs de desempenho mediano. Juntos, eles configuram um sistema de processamento com capacidade suficiente para dar conta de determinadas aplicações que, se fossem atendidas por supercomputadores ou servidores sofisticados, exigiriam investimentos muito maiores.&lt;br&gt;

Não é necessário haver um conjunto de hardware exatamente igual em cada nó. Por outro lado, é importante que todas as máquinas utilizem o mesmo sistema operacional, de forma a garantir que o software que controla o cluster consiga gerenciar todos os computadores que o integram.&lt;br&gt;

&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;
Tipos de clusters
&lt;/font&gt;
&lt;br&gt;
Há uma enormidade de aplicações que só podem ser atendidas satisfatoriamente com computação de alto desempenho:&lt;br&gt; sistemas meteorológicos, ferramentas de mapeamento genético, simuladores geotérmicos, programas de renderização de imagens tridimencionais, entre tantos outros. Com o advento da computação em nuvens, este cenário se torna ainda mais amplo: pode-se ter uma infraestrutura tecnológica respondendo a vários clientes simultaneamente de maneira remota, por exemplo.&lt;br&gt;

Em todos estes casos e em qualquer outro tipo de aplicação crítica - que não pode parar de funcionar ou não pode &lt;br&gt;perder dados (os sistemas bancários, por exemplo) -, o cluster pode se mostrar como uma solução viável, desde&lt;br&gt; que o tipo mais adequado seja escolhido.
&lt;br&gt;

&lt;b&gt;Há vários tipos de cluster, mas os principais são:&lt;/b&gt; 
&lt;br&gt;&lt;b&gt;cluster de alto desempenho
&lt;br&gt;cluster de ata disponibilidade 
&lt;br&gt;cluster de balanceamento de carga.
&lt;br&gt;Cluster de Alto Desempenho (High Performance Computing Cluster)
&lt;/b&gt;
&lt;br&gt;


&lt;b&gt;Clusters de alto desempenho:&lt;/b&gt;  são direcionados a aplicações bastante exigentes no que diz respeito ao processamento. Sistemas utilizados em pesquisas científicas, por exemplo, podem se beneficiar deste tipo de cluster por necessitarem analisar uma grande variedade de dados rapidamente e realizar cálculos bastante complexos.&lt;br&gt;

O foco deste tipo é o de permitir que o processamento direcionado à aplicação forneça resultados satisfatórios em tempo hábil, mesmo que haja centenas de milhares de gigaflops envolvidos com a tarefa (1 gigaflop corresponde a 1 bilhão de instruções de ponto flutuante executadas por segundo).&lt;br&gt;

&lt;b&gt;Cluster de Alta Disponibilidade: &lt;/b&gt;(High Availability Computing Cluster)&lt;br&gt;
Nos clusters de alta disponibilidade, o foco está em sempre manter a aplicação em pleno funcionamento: não é aceitável que o sistema pare de funcionar, mas se isso acontecer, a paralização deve ser a menor possível, como é o caso de soluções de missão crítica que exigem disponibilidade de, pelo menos, 99,999% do tempo a cada ano, por exemplo.&lt;br&gt;

Para atender a esta exigência, os clusters de alta disponibilidade podem contar com diversos recursos: ferramentas de monitoramento que identificam nós defeituosos ou falhas na conexão, replicação (redundância) de sistemas e computadores para substituição imediata de máquinas com problemas, uso de geradores para garantir o funcionamento em caso de queda de energia, entre outros.&lt;br&gt;

Em determinadas circunstâncias, é tolerável que o sistema apresente algum grau de perda de desempenho, especialmente quando esta situação é consequência de algum esforço para manter a aplicação em atividade.&lt;br&gt;

&lt;b&gt;Cluster para Balanceamento de Carga&lt;/b&gt; (&lt;a href=&quot;http://pt.wikipedia.org/wiki/Balanceamento_de_carga&quot;&gt;Load Balancing&lt;/a&gt;)&lt;br&gt;
Em clusters de balanceamento de carga, as tarefas de processamento são distribuídas o mais uniformemente possível entre os nós. O foco aqui é fazer com que cada computador receba e atenda a uma requisição e não, necessariamente, que divida uma tarefa com outras máquinas.
&lt;br&gt;
Imagine, por exemplo, que um grande site na internet receba por volta de mil visitas por segundo e que um cluster formado por 20 nós tenha sido desenvolvido para atender a esta demanda. Como se trata de uma solução de balanceamento de carga, estas requisições são distribuídas igualmente entre as 20 máquinas, de forma que cada uma receba e realize, em média, 50 atendimentos a cada segundo.
&lt;br&gt;
Não basta ao cluster de balanceamento de carga ter um mecanismo meramente capaz de distribuir as requisições - é necessário que este procedimento seja executado de forma a garantir um &quot;equilíbrio&quot; na aplicação. Para tanto, o mecanismo pode monitorar os nós constantemente para verificar, por exemplo, qual máquina está lidando com a menor quantidade de tarefas e direcionar uma nova requisição para esta.&lt;br&gt;

O balanceamento de carga pode ser utilizado em vários tipos de aplicações, mas o seu uso é bastante comum na internet, já que soluções do tipo têm maior tolerância ao aumento instantâneo do número de requisições, justamente por causa do equilíbrio oriundo da distribuição de tarefas.&lt;br&gt;

&lt;b&gt;Combinação de tipos de clusters&lt;/b&gt;&lt;br&gt;
É válido frisar que uma solução de cluster não precisa se &quot;prender&quot; a apenas um tipo. Conforme a necessidade, pode-se combinar características de tipos diferentes no intuito de atender plenamente à aplicação.&lt;br&gt;

Por exemplo, uma loja na internet pode utilizar um cluster de alta disponibilidade para garantir que suas vendas possam ser realizadas 24 horas por dia e, ao mesmo tempo, aplicar balanceamento de carga para suportar um expressivo aumento eventual no número de pedidos causados por uma promoção.&lt;br&gt;

&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;
Funcionamento básico dos clusters&lt;br&gt;
&lt;/font&gt;
Para que um cluster seja constituído, é necessário fazer uso de alguns elementos básicos. O primeiro deles você já conhece: os equipamentos a serem utilizados como nós.&lt;br&gt;

Para isso, pode-se usar máquinas construídas especificamente para funcionar como nós. Neste caso, os computadores teriam apenas dispositivos de hardware imprescindíveis ao cluster.&lt;br&gt;

&lt;font color=&quot;#B22222&quot;&gt;
&lt;b&gt;Cluster avançado construído com equipamentos específicos&lt;/b&gt;&lt;br&gt;
&lt;/font&gt;
Mas, também é possível utilizar computadores &quot;convencionais&quot;, como desktops para fins domésticos ou para uso em escritório. Assim, uma universidade ou uma empresa, por exemplo, pode utilizar máquinas que foram substituídas por modelos mais recentes para criar um cluster e, eventualmente, economizar com a aquisição de servidores.&lt;br&gt;

Os nós podem ainda ser não dedicados ou dedicados. No primeiro caso, cada computador que faz parte do cluster não trabalha exclusivamente nele. No segundo, o nó é utilizado somente para este fim, fazendo com que dispositivos como teclados e monitores sejam dispensáveis - se, por algum motivo, for necessário acessar uma máquina em particular, pode-se fazê-lo via terminal, a partir do nó principal, por exemplo.&lt;br&gt;

Outro elemento importante é o sistema operacional. Como já informado, os nós não precisam ser exatamente iguais no que diz respeito ao hardware, mas é essencial que todas os computadores utilizem o mesmo sistema operacional.&lt;br&gt;

Esta homogeneidade é importante para diminuir a complexidade de configuração e manutenção do sistema, e garantir que os procedimentos rotineiros ao cluster, como monitorização, distribuição de tarefas e controle de recursos sejam executados de maneira uniforme. Para reforçar estes aspectos, pode-se até mesmo adotar sistemas operacionais preparados especialmente para clustering.&lt;br&gt;

Do ponto de vista do software, o cluster conta ainda com o elemento que faz o papel de middleware: trata-se de um sistema que permite o controle do cluster em si e, portanto, está intimamente ligado ao sistema operacional. É o middleware que lida, por exemplo, com as bibliotecas que fazem toda a comunicação do cluster - uma delas é o padrão MPI (Message Passing Interface).&lt;br&gt;

Além de trabalhar com o gerenciamento do cluster, o middleware oferece uma interface para que um administrador possa configurar o cluster, ferramentas para manutenção e otimização, recursos de monitoramento e assim por diante.
&lt;br&gt;

Por padrão, o middleware é instalado em uma máquina chamada de nó controlador (ou nó mestre). O nome deixa claro: trata-se do já mencionado nó principal, que efetivamente controla o cluster a partir da distribuição de tarefas, do monitoramento e de procedimentos relacionados.
&lt;br&gt;
A comunicação entre os nós - que é onde está a delimitação do que constitui o cluster em si - é feita a partir de uma tecnologia de rede local. Os padrões Ethernet (Gigabit Ethernet, Fast Ethernet, etc) são bastante utilizados justamente por serem mais comuns e, portanto, melhor suportados e menos custosos. Mas há outras opções viáveis, entre elas, o Myrinet e o InfiniBand, ambos com características bastante apropriadas para clustering.
&lt;br&gt;

&lt;font color=&quot;#B22222&quot;&gt;
&lt;b&gt;Cluster Beowulf&lt;/b&gt;
&lt;/font&gt;
&lt;br&gt;
O Beowulf não é, necessariamente, um middleware, como muitas pensam. Na verdade, este nome faz referência a um padrão de clustering disponibilizado pela NASA (National Aeronautics and Space ) em 1994 e amplamente adotado desde então.
&lt;br&gt;
Originalmente, Beowulf é o nome de um poema extenso e bastante antigo, cujo manuscrito foi encontrado no século XI. A obra descreve os atos de um herói de mesmo nome que se destaca por sua força descomunal e que, portanto, enfrenta um perigoso monstro para salvar um reino. A história serviu de inspiração para que os pesquisadores Thomas Sterling e Donald Becker, da NASA, batizassem o projeto de cluster no qual trabalhavam de Beowulf.&lt;br&gt;

Um cluster Beowulf se define, basicamente, pela ênfase nas seguintes características:&lt;br&gt;
&lt;br&gt;
- entre os nós, deve haver pelo menos um que atue como mestre para exercer o controle dos demais. As máquinas mestres&lt;br&gt; são chamadas de front-end; as demais, de back-end. Há a possibilidade de existir mais de um nó no front-end para que cada um realize tarefas específicas, como monitoramento, por exemplo;
&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;
Esquema básico de um cluster Beowulf&lt;br&gt;
&lt;/font&gt;
- a comunicação entre os nós pode ser feita por redes do tipo Ethernet, mais comuns e mais baratas, como você já sabe;&lt;br&gt;

- não é necessário o uso de hardware exigente, nem específico. A ideia é a de se aproveitar componentes que possam ser encontrados facilmente. Até mesmo PCs considerados obsoletos podem ser utilizá-los;&lt;br&gt;

- o sistema operacional deve ser de código aberto, razão pela qual o Linux e outras variações do Unix são bastante utilizados em cluster Beowulf. O MOSIX, a ser abordado no próximo tópico, é uma opção bastante usada para este fim;&lt;br&gt;

- os nós devem se dedicar exclusivamente ao cluster;
&lt;br&gt;
- deve-se fazer uso de uma biblioteca de comunicação apropriada, como a PVM (Parallel Virtual Machine) ou a MPI (Message Passing Interface). Ambas são direcionadas à troca de mensagens entre os nós, mas o MPI pode ser considerado mais avançado que o PVM, uma vez que consegue trabalhar com comunicação para todos os computadores ou para apenas um determinado grupo.
&lt;br&gt;
Perceba que, com estas características, pode-se construir um cluster &quot;poderoso&quot; e, ao mesmo tempo, poupar gastos com equipamentos, licenças de software e manutenção. O cluster montado por Thomas Sterling e Donald Becker para a NASA, por exemplo, era composto por 16 PCs com processador Intel 486 DX4 e sistema operacional Linux conectados por uma rede Ethernet de 10 Mb/s. Como se vê, esta foi uma solução consideravelmente mais barata e, possivelmente, menos complexa que um supercomputador.
&lt;br&gt;
É possível saber mais sobre o Beowulf em www.beowulf.org.
&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;
Algumas soluções de clusters
&lt;/font&gt;
&lt;br&gt;
Há uma quantidade razoável de soluções para clusters, mas algumas se sobressaem, especialmente aquelas que se relacionam com Linux e outros sistemas baseados em Unix. Vejamos rapidamente opções do tipo que se destacam bastante.&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;
MOSIX
&lt;/font&gt;
&lt;br&gt;
O MOSIX (Multicomputer Operating System for Unix) é uma das opções mais tradicionais quando o assunto é clustering.&lt;br&gt; Trata-se, resumidamente, de um conjunto de softwares que permite a implementação de clusters em sistemas baseados no Unix, tendo forte ênfase em balanceamento de carga e alto desempenho.&lt;br&gt;

Entre as suas principais características estão: possibilidade de trabalhar com nós dedicados e não dedicados; suporte não apenas a CPUs, mas também a GPUs (a partir da versão 2); migração dinâmica de processos (um nó mais potente pode assumir determinada tarefa para evitar sobrecarga em outro); e possibilidade de remoção e inclusão de nós sem interromper o cluster.

&lt;br&gt;

Como o MOSIX também trabalha com nós não dedicados, é possível inclusive fazer com que as máquinas de um escritório passem a trabalhar no cluster após o horário do expediente, por exemplo. Mas, mesmo se houver usuários utilizando os nós, é possível manter o cluster em funcionamento, já que as atividades do MOSIX são totalmente &quot;transparentes&quot;, ou seja, seu trabalho no computador não é perceptível.
&lt;br&gt;

O MOSIX não é uma solução gratuita. Houve uma versão sua de código aberto chamada OpenMosix que, infelizmente, foi descontinuada em março de 2008.
&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;
OpenSSI
&lt;/font&gt;
&lt;br&gt;
O OpenSSI é uma solução aberta para clusters focada em ambientes Linux. O nome tem como base o conceito de &lt;br&gt;SSI (Single System Image), ou seja, um sistema que considera vários nós, mas se parece, no ponto de vista do usuário, apenas como um único computador.&lt;br&gt;

A &quot;visão&quot; de apenas uma única máquina também é válida para os softwares: este não precisam ser alterados para&lt;br&gt; &quot;enxergar&quot; cada nó e assim rodar no cluster, facilitando a implementação da solução.&lt;br&gt;

O OpenSSI pode lidar tanto com alto desempenho quanto com alta disponibilidade, além de possuir recursos para balanceamento de carga.&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;
Kerrighed
&lt;/font&gt;
&lt;br&gt;
O Kerrighed é outra opção SSI aberta para clusters que tem como base o Linux. Esta solução se destaca principalmente por fazer uso do conceito de Distributed Shared Memory (DSM) - algo como &quot;Memória Compartilhada&lt;br&gt; Distribuída&quot; -, onde a memória de cada nó se &quot;soma&quot; a dos demais, como se formassem um volume único à disposição de todo o cluster.
&lt;br&gt;


Esta abordagem oferece vários benefícios: parte da memória pode ser disponibilizada para todos os clientes da aplicação; sistemas desenvolvidos para rodar de maneira centralizada podem ser executados de maneira distribuída dentro da solução; o cluster pode se comportar como se fosse uma máquina com múltiplos processadores; entre outros.
&lt;br&gt;

&lt;font color=&quot;#B22222&quot;&gt;
Vantagens e desvantagens dos clusters
&lt;/font&gt;
&lt;br&gt;
Neste ponto do texto, você certamente já compreendeu as vantagens de um cluster. Eis as principais:
&lt;br&gt;
- pode-se obter resultados tão bons quanto ou até superiores que um servidor sofisticado a partir de máquinas mais simples e mais baratas (ótima relação custo-benefício);
&lt;br&gt;
- não é necessário depender de um único fornecedor ou prestador de serviço para reposição de componentes;
&lt;br&gt;

Switch Ethernet: tecnologias amplamente disponíveis é comum em clusters
&lt;br&gt;
- a configuração de um cluster não costuma ser trivial, mas fazer um supercomputador funcionar poder ser muito mais trabalhoso e exigir pessoal especializado;
&lt;br&gt;
- é possível aumentar a capacidade de um cluster com a adição de nós ou remover máquinas para reparos sem interromper a aplicação;
&lt;br&gt;
- há opções de softwares para cluster disponíveis livremente, o que facilita o uso de uma solução do tipo em universidades, por exemplo;
&lt;br&gt;
- relativa facilidade de customização para o perfeito atendimento da aplicação;
&lt;br&gt;
- um cluster pode ser implementado tanto para uma aplicação sofisticada quanto para um sistema doméstico criado para fins de estudos, por exemplo.
&lt;br&gt;
Mas, apesar destes benefícios, os clusters não são a solução perfeita para todo e qualquer problema computacional. Há aplicações onde o uso de outra tecnologia se mostra mais adequado. Entre as razões para isso estão:
&lt;br&gt;
- a facilidade de expansão do cluster pode ser uma &quot;faca de dois gumes&quot;: a quantidade de máquinas pode aumentar tanto que a manutenção se torna mais trabalhosa, o espaço físico pode ficar impróprio, etc;&lt;br&gt;
- a tecnologia de comunicação utilizada pode não oferecer a velocidade de transferência de dados ou o tempo de resposta necessário, dependendo da aplicação;&lt;br&gt;
- um cluster tem como base uma rede local, logo, não se pode acrescentar máquinas que estejam muito distantes geograficamente.&lt;br&gt;
Por estes aspectos, fica evidente que as necessidades e os requisitos de uma aplicação devem ser bem avaliados para que se possa decidir entre a implementação de um cluster ou outra tecnologia. Se o clustering for a opção escolhida, deve-se seguir com a avaliação, desta vez para se decidir sobre as soluções e recursos disponíveis.&lt;br&gt;

&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;
Finalizando
&lt;/font&gt;
&lt;br&gt;
A origem da denominação &quot;cluster&quot; não é clara, mas sabe-se que as primeiras soluções de processamento paralelo remontam à década de 1960, havendo, a partir daí, alguns princípios que hoje formam a base da ideia de clustering.&lt;br&gt;

O fato é que o passar do tempo não torna o conceito ultrapassado. Há um motivo especial para isso: os clusters se relacionam intimamente à otimização de recursos, uma necessidade constante em praticamente qualquer cenário computacional. E este aspecto pode se tornar ainda mais atraente quando a ideia de cluster é associada a conceitos mais recentes, como cloud computing e virtualização.&lt;br&gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/8264553784885474485/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/07/introducaoquando-o-assunto-e-computacao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/8264553784885474485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/8264553784885474485'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/07/introducaoquando-o-assunto-e-computacao.html' title='Introdução Cluster'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-1302877213606775784</id><published>2013-07-09T15:14:00.000-07:00</published><updated>2013-07-12T02:39:36.355-07:00</updated><title type='text'>Visão geral do Oracle RAC</title><content type='html'>Visão geral do Oracle RAC

Um cluster consiste em multiplos computadores interconectados ou servidores que têm como objetivo compartilhar/&lt;br&gt; processar requisições de usuários em aplicações para usuários finais. O Oracle RAC permite que um Database seja &lt;br&gt;clusterizado e ele utiliza o Oracle Clusterware como infraestrutura para processar várias instâncias como um sistema único.&lt;br&gt;

Abaixo o funcionamento do Oracle RAC:&lt;br&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq2cUJ0CXngqgpmqdTkciNqhEm_AlNrhN6jQQGW_uY6TMvlwpZO2eYX22iR39iBe_tJ6QUrgfZ9fLkyxqWPkMNh4dhwXbVtjhjaJsK4pzGIkhMv0I4Hp2f5XYYX-HzUsDdyFVk2g2_GYDU/s1600/48168.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq2cUJ0CXngqgpmqdTkciNqhEm_AlNrhN6jQQGW_uY6TMvlwpZO2eYX22iR39iBe_tJ6QUrgfZ9fLkyxqWPkMNh4dhwXbVtjhjaJsK4pzGIkhMv0I4Hp2f5XYYX-HzUsDdyFVk2g2_GYDU/s320/48168.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;b&gt;&lt;font color=&quot;#4169E1&quot;&gt;O que é um Cluster?&lt;/font&gt;&lt;/b&gt;&lt;br&gt;

As características mais comuns de um Cluster Oracle são:&lt;br&gt;

Servidores interligados que atuam como um único servidor;&lt;br&gt;
O software utilizado pelo cluster mascara a infra-estrutura;&lt;br&gt;
Os discos estão disponíveis para leitura e gravação para todos os servidores do cluster;&lt;br&gt;
Os dados são compartilhados através de softwares;&lt;br&gt;
&lt;font color=&quot;#B22222&quot;&gt;ASM;&lt;br&gt;
ACFS;&lt;br&gt;
OCFS;&lt;br&gt;
NFS;&lt;br&gt;
RAW;&lt;br&gt;

&lt;/font&gt;
O sistema operacional é o mesmo em todos os servidores;&lt;br&gt;
Várias instâncias acessando o mesmo banco de dados;&lt;br&gt;
Uma instância por servidor;&lt;br&gt;
Acesso aos dados (datafiles) ao mesmo tempo por todas instâncias;&lt;br&gt;
Controle de acesso aos dados por parte do Oracle RAC;&lt;br&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-ECz859tmgYfDXH9wJPKrvicCirmct8NNhQw6YuVRRp8ktbFjCR2mNgk7oTvr_0CqpdovPK7uPUajSsIo3MborV8ODXBMaKdnsy59blgpsGd4u8r_HnJzMdZvETbipU433PVNwH8kfesr/s1600/48169.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-ECz859tmgYfDXH9wJPKrvicCirmct8NNhQw6YuVRRp8ktbFjCR2mNgk7oTvr_0CqpdovPK7uPUajSsIo3MborV8ODXBMaKdnsy59blgpsGd4u8r_HnJzMdZvETbipU433PVNwH8kfesr/s320/48169.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;b&gt;Os benefícios da utilização do Oracle Real Application Clusters:&lt;/b&gt;&lt;br&gt;

&lt;b&gt;Alta disponibilidade:&lt;/b&gt; segurança para falhas em servidores e instâncias;&lt;br&gt;
&lt;b&gt;Escalabilidade:&lt;/b&gt; adicione mais nodes/servidores em necessidade futuras;&lt;br&gt;
&lt;b&gt;Custo:&lt;/b&gt; somente é pago o que é utilizado;&lt;br&gt;
&lt;b&gt;Computação em grade (Grid):&lt;/b&gt;&lt;br&gt;
Aumento e diminuição do cluster confirme necessidade;&lt;br&gt;
Adicionar e remover nodes com facilidade;&lt;br&gt;
Utilização de repositório de carga;&lt;br&gt;
Execuções de processos de forma paralela;&lt;br&gt;
Distribuição de carga entre os nodes do cluster.&lt;br&gt;
&lt;font color=&quot;#4169E1&quot;&gt;Interconnect&lt;/font&gt;&lt;br&gt;

O Oracle Clusterware necessita de troca de informações entre todos os nodes do Cluster. Para isso é utilizado &lt;br&gt;o link “Interconnect”. As principais tarefas desta interface de rede são:&lt;br&gt;

Funções Heartbeat/Keep Alive ;&lt;br&gt;
Troca de mensagens;&lt;br&gt;
Troca de informações sobre locks e deadlocks;&lt;br&gt;
Atualização de cache (Cache Fusion);&lt;br&gt;
Exemplos de ligações da interface Interconnect:&lt;br&gt;

&lt;b&gt;Single-Switch:&lt;/b&gt;&lt;br&gt;

Interfaces ligadas somente a um switch para o Interconnect dos nodes do clusters;&lt;br&gt;
Pode ser configurado como Ativo/Ativo ou Ativo/Standby via Bonding.&lt;br&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdQjtsbWA7WzPi4bAHx4Wf-TGiImvuTrwoEo5WDKl-mGfvnfxj7cFI5xp9mQtdUYSGHZamgISlOFB43XykAkErij0D2Y-8vvIuYwRFzOMoY2-yFXWb2JavH7DJ4aabXkf7pZ3FNLQ0k52X/s1600/48170.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdQjtsbWA7WzPi4bAHx4Wf-TGiImvuTrwoEo5WDKl-mGfvnfxj7cFI5xp9mQtdUYSGHZamgISlOFB43XykAkErij0D2Y-8vvIuYwRFzOMoY2-yFXWb2JavH7DJ4aabXkf7pZ3FNLQ0k52X/s320/48170.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;b&gt;Multi-Switch:&lt;/b&gt;&lt;br&gt;

Interfaces ligadas a duas ou mais switchs para o Interconnect dos nodes do clusters;&lt;br&gt;
Pode ser configurado como Ativo/Ativo ou Ativo/Standby via Bonding ou HAIP.&lt;br&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN-UIBlTgYXBr92jAW7HJwo4xj557klIHXpYAfrDtNpEVdAqCCphyhjkPKeSdxuHwfb_96DPK8LOWO2hTWYuWD4XYA9UCtgLXruTdbQ7fUNHs5Miarl9NA4yK6WpsPkJlq_TgML2sVHkwa/s1600/48171.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN-UIBlTgYXBr92jAW7HJwo4xj557klIHXpYAfrDtNpEVdAqCCphyhjkPKeSdxuHwfb_96DPK8LOWO2hTWYuWD4XYA9UCtgLXruTdbQ7fUNHs5Miarl9NA4yK6WpsPkJlq_TgML2sVHkwa/s320/48171.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;br&gt;

&lt;font color=&quot;#4169E1&quot;&gt;Exemplo de ambiente Oracle RAC&lt;/font&gt;&lt;br&gt;

Um exemplo de ambiente utilizando Oracle RAC (Versão 11gR2) é mostrado a seguir na imagem:&lt;br&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQiYUP7QMIM3WqYbD9SDu8dA4g6wyX1pjvJQ0-V0I09StgVFLSiwkjI1_g2AthcEspgDAvP3gI-W2mWn3ySTDG1NMdYHKNGuq503gBG5Z-4tcSy1OylWlUKID_ED9kd18VarpZUpJnF2Zl/s1600/48172.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQiYUP7QMIM3WqYbD9SDu8dA4g6wyX1pjvJQ0-V0I09StgVFLSiwkjI1_g2AthcEspgDAvP3gI-W2mWn3ySTDG1NMdYHKNGuq503gBG5Z-4tcSy1OylWlUKID_ED9kd18VarpZUpJnF2Zl/s320/48172.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;font color=&quot;#4169E1&quot;&gt;Ordem de Startup&lt;/font&gt;&lt;br&gt;

Para iniciar o cluster, existe uma ordem para o startup dos serviços – isso garante a inicialização correta do Oracle RAC:&lt;br&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS71fkgbXIYD0XBPpmVWd-puEXVudDj3F6cgQTyBCQVYBN_9j4AIEUfBXdloq2vZk8bV2UAJTdyrVrT8YqPjqA9AsdWZToVp2DVb-7FF7xwdo_jwEM8zRcHnWZoc_gSJHNW4uTvXzQssGU/s1600/48173.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS71fkgbXIYD0XBPpmVWd-puEXVudDj3F6cgQTyBCQVYBN_9j4AIEUfBXdloq2vZk8bV2UAJTdyrVrT8YqPjqA9AsdWZToVp2DVb-7FF7xwdo_jwEM8zRcHnWZoc_gSJHNW4uTvXzQssGU/s320/48173.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;font color=&quot;#4169E1&quot;&gt;Principais processos do Oracle RAC&lt;/font&gt;&lt;br&gt;

Um cluster consiste em vários processos no SO. Os processos GCS, GES e GRD consistem no funcionamento do Oracle&lt;br&gt; Cache Fusion (responsável pela troca de blocos em memória entre os nodes do cluster.) Abaixo alguns processos do&lt;br&gt; Oracle RAC:&lt;br&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLm4BGAPpiJL49Je__rlvqArfM3AKgk5mMyfxeso3TWZu3Go0Z1KZctQ6MZuCcZ5En9i2GO5EyWsOEq4zr8d81dsOLOe4LxUUYHmIRyYvVNJC-6eh8k8qbLsPsrtDOZtzqwwKutiQctVtA/s1600/48174.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLm4BGAPpiJL49Je__rlvqArfM3AKgk5mMyfxeso3TWZu3Go0Z1KZctQ6MZuCcZ5En9i2GO5EyWsOEq4zr8d81dsOLOe4LxUUYHmIRyYvVNJC-6eh8k8qbLsPsrtDOZtzqwwKutiQctVtA/s320/48174.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

Cluster Ready Services(CRS)&lt;br&gt;
Processo principal para gerenciamento de alta-disponibilidade do cluster.&lt;br&gt;
Cluster Synchronization Services (CSS)&lt;br&gt;
Gerencia a configuração do cluster controlando seus membros, notificando membros quando um node é edicionado&lt;br&gt; ou excluído do cluster.&lt;br&gt;
Event Manager (EVM)&lt;br&gt;
Proceso Background que gerencia eventos do cluster.&lt;br&gt;
Cluster Time Synchronization Services (CTSS)&lt;br&gt;
Serviço para sincronização de horário entre os nodes do cluster.&lt;br&gt;
Oracle Notification Services (ONS)&lt;br&gt;
Serviço para gerenciamento de eventos FAN (Fast Application Notifications)&lt;br&gt;
Oracle AgentGerencia serviços quando um evento FAN ocorre. Conhecido como processo RACG até a versão 11.1&lt;br&gt;
Oracle Root Agent&lt;br&gt;
É um processo específico (Oraagent) que funciona juntamente com o processo CRSD para gerenciar recursos do&lt;br&gt; usuário “root”, como serviços de rede e endereços VIP.&lt;br&gt;
Grid Naming Services (GNS)&lt;br&gt;
É um conexão entre o mDNS e o DNS externo. Gerencia automaticamente nomes do cluster (opcional).&lt;br&gt;
Grid Plug And Play (GPnP)&lt;br&gt;
Permite adição e remoção de nodes no cluster automaticamente sem ação manual. Necessita do GNS configurado.&lt;br&gt;
Multicast Domain Name Services (mDNS)&lt;br&gt;
Permite solicitações do DNS externo.&lt;br&gt;
ACMS: Atomic Controlfile do Memory Service&lt;br&gt;
Num ambiente Oracle RAC, o ACMS contribui para garantir que as atualizações na memória SGA sejam distribuídas &lt;br&gt;entre os nodes, com sucesso ou falha. &lt;br&gt;
GTX0-j: Global Transaction Process&lt;br&gt;
O processos GTX0-j suporta transações globais num ambiente Oracle RAC. O Database automaticamente calcula o &lt;br&gt;número desses processos baseando-se na carga de transações XA globais. &lt;br&gt;
LMON: Global Enqueue Service Monitor&lt;br&gt;
O processo LMON monitora filas globais e recursos do cluster e executa recover de operações LMD &lt;br&gt;  (GlobalEnqueue Daemon). Os processos LMD gerenciam as solicitações remotas de cada instance do cluster.&lt;br&gt;
LMS: Global Cache Service Process&lt;br&gt;
O processo LMS mantém registros dos status dos Datafiles e de cada bloco em cache registrados no Global Resource &lt;br&gt;Directory (GRD). O Processo LMS também controla as mensagens para instâncias   remotas e gerencia o &lt;br&gt;acesso e a transmissão de blocos da Buffer Cache entre as diferentes instances do cluster. Esse processo faz parte da feature&lt;br&gt; Cache Fusion.
LCK0: Instance Enqueue Process&lt;br&gt;
O processo LCK0 administra as requisições de recursos que não são da Cache Fusion, como por exemplo, requisições&lt;br&gt; library w row cache.&lt;br&gt;
Veja os principais processos do Oracle RAC aqui. (Somente em inglês)&lt;br&gt;

Principais mudançaos no Oracle 11gR2&lt;br&gt;

Em relação a versões anteriores do Oracle Database, existem algumas diferenças, como:&lt;br&gt;

OFA (Optimal Flexible Architecture)&lt;br&gt;

 Os novos diretórios no 11g, em $ORACLE_BASE/diag/rdbms/&lt;INSTANCIA&gt;&lt;br&gt;

alert – Diretório do alert log em xml e txt.&lt;br&gt;
incident – Diretório para todos os incidentes do software.&lt;br&gt;
incpkg – Diretório para quando a criado um pacote des incidentes.&lt;br&gt;
trace – Diretório para armazenar os antigos traces gerados nos caminhos background dump (bdump) e user dump (udump).&lt;br&gt;
cdump – Diretório para armazenar os traces de Core Dump, antigo core_dump_dest.&lt;br&gt;
metadata – Metadata sobre os incidentes, problemas e pacotes.&lt;br&gt;
Parâmetros depreciados&lt;br&gt;

Os parâmetros background_dump_dest, core_dump_dest, user_dump_dest foram depreciados. Agora, todos os traces podem &lt;br&gt;ser encontrados em DIAGNOSTIC_DEST.&lt;br&gt;

ADR – Automatic Diagnostic Repository&lt;br&gt;

Ferramenta para auxiliar na prevenção, detecção e diagnóstico de problemas com bugs em banco de dados. &lt;br&gt;O ADR centraliza todos os traces e logs de todos os componentes, tais como ASM, CRS, LISTENER.&lt;br&gt;

Senhas&lt;br&gt;

As senhas agora, por padrão, são SENSITIVE CASE. Logo, é preciso muita atenção com usuários de aplicação, pois&lt;br&gt; isso poderá ser um problema em uma migração. O recurso pode ser desligado alterando o parâmetro sec_case_sentitive_logon = FALSE.&lt;br&gt;

SCAN – Single Access Name&lt;br&gt;

O Single Client Name (SCAN) é uma nova feature do Oracle RAC 11gR2 que dispõe de um nome qualificado para acesso ao&lt;br&gt; Oracle Database em um cluster. Entre os benefícios, um é a possibilidade de adionar ou remover nodes de um cluster&lt;br&gt; sem a necessidade de alterar os clients. O SCAN é o responsável por LOAD BALANCING e FAILOVER, mudando &lt;br&gt;consideralvelmente o Oracle Net de ambiente em Cluster 11gR2.&lt;br&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1bcPVYyHkHTOHGNv54iDfvHKgvXwkWC28A7sRpz3Q9Jj3wFz4tFy6gdSbt5MaB-3dNMgCRkg8K7GV_tpAKWh3pmSPRyV0NHPaoraXPekI4UonY1vN2OtThc62JAWYIxwY0jmUSI1dVJRw/s1600/48175.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1bcPVYyHkHTOHGNv54iDfvHKgvXwkWC28A7sRpz3Q9Jj3wFz4tFy6gdSbt5MaB-3dNMgCRkg8K7GV_tpAKWh3pmSPRyV0NHPaoraXPekI4UonY1vN2OtThc62JAWYIxwY0jmUSI1dVJRw/s320/48175.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

Overview do SCAN&lt;br&gt;

LOAD BALACING de conexões usando SCAN:&lt;br&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcHwJSboxXdM_l-FIXW78r3eC8PsuWKi4hZfmMhcHY2aGVCBcK6rM8EJmWZ71sYpZkOXARqRt1fufUdWWMfRiUlbiDpIjsFlcBFmNyAYUV0DjG9WHP_KgkpmIy5B78K3AMivetIs27SJj0/s1600/48176.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcHwJSboxXdM_l-FIXW78r3eC8PsuWKi4hZfmMhcHY2aGVCBcK6rM8EJmWZ71sYpZkOXARqRt1fufUdWWMfRiUlbiDpIjsFlcBFmNyAYUV0DjG9WHP_KgkpmIy5B78K3AMivetIs27SJj0/s320/48176.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

Oracle Grid Infrastructure&lt;br&gt;

Com o Oracle Grid Infrastructure, o ASM e o Clusterware são instalados em uma única home, tornando-se uma &lt;br&gt;plataforma unificada de infraestrutura do Oracle RAC. Arquivos do Clusterware como OCR e Voting Disks,&lt;br&gt; podem ser armazenados no ASM, unificando as soluções de armazenamento. Para novas instalações, a opção de armazenamento&lt;br&gt; dos arquivos de Clusterware em raw devices não é mais suportada. Estas consigurações também se aplicam para a &lt;br&gt;configuração STANDALONE SERVER.
O ACFS – Automatic Storage Management Cluster File System é um novo recurso de armazenamento, suportando todas as&lt;br&gt; plataformas, provendo uma file system dinâmica, distribuída performaticamente, balanceamento sobre todos os discos&lt;br&gt; envolvidos. Substituí o antigo OCFS.&lt;br&gt;

O Cluster Time Synchronization Service – CTSS, serviço responsável por manter o sincronismo de tempo entre os nodes.&lt;br&gt; Oracle Universal Installer do Grid Infrastructure gera scripts automaticamente para fix de pré-requisitos não&lt;br&gt; atendidos. 

Online Application Upgrade&lt;br&gt;

Nessa versão é permitido que sejam realizados upgrades online sem qualquer indisponibilidade para aplicações.&lt;br&gt; Anteriormente, quando um commando DDL era executado e outra sessão tentava realizar um DML no mesmo objeto, ocorria&lt;br&gt; uma falha. Isto não acontece mais. Foram feitas melhorias nos processos Create e Rebuild index (no waits).&lt;br&gt; O modelo de dependências do banco mudou para o chamado “finegrained”. Ex: Adicionar uma nova coluna em uma tabela ou um novo&lt;br&gt; subprograma para uma package spec não invalidará suas dependências.&lt;br&gt;

Matriz de Certificação do Oracle RAC&lt;br&gt;

Para garantir a compatibilidade de software/hardware em uma instalação do Oracle RAC, confira a matriz de &lt;br&gt;certificação no My Oracle Support:&lt;br&gt;

Conecte no portal Oracle;&lt;br&gt;
Clique na aba “Certificação”;&lt;br&gt;
Cliquem em “Certificação por Produto”;&lt;br&gt;
Selecione “Real Application Clusters”;&lt;br&gt;
Selecione a plataforma.&lt;br&gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/1302877213606775784/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/07/visao-geral-do-oracle-rac.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/1302877213606775784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/1302877213606775784'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/07/visao-geral-do-oracle-rac.html' title='Visão geral do Oracle RAC'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq2cUJ0CXngqgpmqdTkciNqhEm_AlNrhN6jQQGW_uY6TMvlwpZO2eYX22iR39iBe_tJ6QUrgfZ9fLkyxqWPkMNh4dhwXbVtjhjaJsK4pzGIkhMv0I4Hp2f5XYYX-HzUsDdyFVk2g2_GYDU/s72-c/48168.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-2064390154999442343</id><published>2013-06-06T14:01:00.000-07:00</published><updated>2013-06-06T14:01:55.564-07:00</updated><title type='text'></title><content type='html'>&lt;font color=&quot;#B22222&quot; size=&quot;+2&quot;&gt; Cross-Frame Scripting&lt;/font&gt;
&lt;br&gt;&lt;br&gt;

O Cross-Frame Scripting (XFS) é um ataque client-side variante do ja famoso Cross-Site Scripting (XSS).&lt;br&gt; Em um ataque de XFS, o atacante explora um determinado cross-frame-scripting bug em um browser para acessar através dele dados &lt;br&gt;privados em um web-site secundário. O atacante induz o browser do usuário à navegar para a página que o atacante &lt;br&gt;controla; o atacante pode carregar uma página secundária em um frame HTML; executando um javascript o atacante pode&lt;br&gt; conseguir dados de websites carregados em um frame secundário.&lt;br&gt;
Principais Fatores de Risco&lt;br&gt;
Os modelos de segurança padrão em browsers permitem que javascripts de uma determinada página possa acessar o &lt;br&gt;conteúdo de outras páginas que sejam carregadas em diferentes janelas do browser ou frames – desde que as outras&lt;br&gt; páginas tenham sido carregadas a partir da mesma origem. Entretanto, um bug específico neste modelo de segurança existe&lt;br&gt; em browsers específicos, permitindo assim que um atacante acesse dados carregados a partir de páginas&lt;br&gt; carregadas de origens/domínios diferentes.&lt;br&gt;
O browser mais conhecido por conter este tipo de bug é o IE (internet explorer), que permite vazamento de&lt;br&gt; keyboard events através de HTML framesets. Este bug pode permitir, por exemplo, que um atacante roube dados de login&lt;br&gt; que o usuário está digitando em um determinado site carregador a partir do Frame-set malicioso.&lt;br&gt;
Exemplos: XFS Attack em um Internet Explorer&lt;br&gt;
Para conseguirmos explorar o bug no IE que permite que os Keyboard Events sejam roubados a partir de um frameset,&lt;br&gt; um atacante deve criar uma página e hospedá-la em um servidor qualquer, em nosso exemplo ela estará hospedada em &lt;br&gt;badsite.com. Esta página será controlada pelo atacante, e deverá incluir por exemplo um frame mostrando uma&lt;br&gt; página de login do site goodsite.com.&lt;br&gt;
O atacante pode esconder as bordas do frame e expandir o frame para cobrir a pagina toda, desta forma o usuário irá&lt;br&gt; realmente acreditar que está acessando goodsite.com. O atacante registra alguns javascripts no index de badsite.com que&lt;br&gt; irá obter todos os key events na página. Normalmente estes listeners serão notificados apenas pelos key&lt;br&gt; events da janela principal do site badsite.com – mas devido o bug existente no browser, este listener irá receber &lt;br&gt;todos os key events existentes no frame carregado com o login do goodsite.com.&lt;br&gt;
Desta forma todas as teclas pressionadas no browser, dentro deste frame do goodsite.com, enquanto ele tenta logar-se, &lt;br&gt;poderá ser capturada e depois enviada para badsite.com</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/2064390154999442343/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/06/cross-frame-scripting-o-cross-frame.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/2064390154999442343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/2064390154999442343'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/06/cross-frame-scripting-o-cross-frame.html' title=''/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-436680093776512663</id><published>2013-06-06T13:48:00.000-07:00</published><updated>2013-06-06T13:48:09.342-07:00</updated><title type='text'></title><content type='html'>&lt;font color=&quot;#B22222&quot;&gt;
&lt;b&gt;Gumblar – iFrames com vírus no seu site&lt;/b&gt;&lt;BR&gt;
&lt;/font&gt;
Se é webmaster, provavelmente já ouviu falar acerca de ataques a sites que adicionam iframes em praticamente todos&lt;BR&gt; os ficheiros do site. Já tivemos alguns clientes que se depararam com esta situação e vimos desta forma explicar&lt;BR&gt; como é que é feito esse ataque e como o poderá evitar.&lt;BR&gt;

O ataque geralmente não é gerado através de vulnerabilidades dos sites ou dos servidores, mas sim através de uma&lt;BR&gt; infecção de um vírus no computador do administrador/webmaster do site controlado por uma Botnet.&lt;BR&gt;

Reconhecido como Gumblar pela ScanSafe e por Troj/JSRedir-R pela Sophos, esta nova botnet apareceu pela primeira&lt;BR&gt; vez em 2009 e é caracterizada por redireccionar as pesquisas dos utilizadores no Google e suspeita-se que a sua&lt;BR&gt; origem sejam ficheiros PDF (Acrobat Reader) ou SWF Flash (Adobe Flash).&lt;BR&gt;

Os visitantes de um site infectado com o Gumblar serão redireccionados para um site alternativo com malware. Neste &lt;BR&gt;momento a rede de sites infectados é já bastante grande, abrangendo milhões de sites infectados.&lt;BR&gt;

O site com malware irá forçar o browser do utilizador a abrir um PDF infectado que executa e explora uma &lt;BR&gt;vulnerabilidade no Acrobat para ganhar acesso ao computador do utilizador.&lt;BR&gt;

O vírus vai encontrar clientes FTP como o FileZilla e o Dreamweaver e como estes guardam a password como&lt;BR&gt; plain text, conseguem obter os dados de acesso FTP ao site do utilizador infectado.&lt;BR&gt;

Ao encontrar os dados de acesso FTP desse utilizador, a botnet vai conseguir aceder normalmente ao servidor &lt;BR&gt;FTP usando uma autenticação normal de password e username e infectar os ficheiros do site com uma iframe.&lt;BR&gt;

Numa primeira fase vai fazer download de grandes partes do site e injectar código malicioso em ficheiros que&lt;BR&gt; contenham a tag como ficheiros HTML, PHP, JavaScript, ASP e ASPx. O código inserido será um pequeno código&lt;BR&gt; Javascript base64-encoded que irá infectar os computadores dos visitantes do site que executarem o código.&lt;BR&gt;

Poderão ser adicionadas iframes no código malicioso que vão conter links para sites maliciosos. O vírus irá também &lt;BR&gt;tentar modificar ficheiros .htaccess e hosts e ainda criar ficheiros com o nome images.php em diretórios &lt;BR&gt;chamadas “images”.&lt;BR&gt;

Deverá ter em conta que esta não é uma vulnerabilidade do servidor. É um ataque feito com autenticação por password.&lt;BR&gt;O ataque não é feito a nível global no servidor, limitando-se aos ficheiros da home do utilizador em questão atacado.&lt;BR&gt;

Para evitar estes ataques deverá utilizar um cliente de FTP que guarde as passwords no seu computador de forma&lt;BR&gt; &lt;BR&gt;segura, manter os plugins do seu browser sempre actualizados e ter um anti-virus instalado que lhe permita&lt;BR&gt; &lt;BR&gt;detectar e bloquear a execução desta vírus.&lt;BR&gt;

Devido ao número de sites infectados, a propagação deste vírus é bastante rápida e já infectou milhares de&lt;BR&gt; computadores. Ao ser infectado, o seu site será mais um a ajudar a distribuição deste vírus na botnet. Se alguma vez&lt;BR&gt; detectar que o seu site foi atacado por este vírus, deverá entrar em contacto com o seu sysadmin para que&lt;BR&gt; ele possa verificar nos logs do servidor informações relevantes.</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/436680093776512663/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/06/gumblar-iframes-com-virus-no-seu-site.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/436680093776512663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/436680093776512663'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/06/gumblar-iframes-com-virus-no-seu-site.html' title=''/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-7936935658203589331</id><published>2013-05-10T04:22:00.001-07:00</published><updated>2013-05-10T04:24:14.184-07:00</updated><title type='text'>CPanel - Manual de Instalação - Certificado SSL</title><content type='html'>&lt;font color=&quot;#8B1A1A&quot; size=&quot;3&quot;&gt;Instalando o seu Certificado:&lt;br&gt;&lt;/font&gt;

Estas instruções são para o cPanel 11. Se você tiver outra versão do cPanel, seu processo será parecido, mas é &lt;br&gt;
possível que você tenha que pedir instruções específicas ao seu provedor de hospedagem.&lt;br&gt;

Salve os arquivos do seu certificado no diretório em que você salvou o arquivo TXT da sua chave privativa.&lt;br&gt;

Faça login no painel de controle do cPanel.&lt;br&gt;

Clique em Gerenciador SSL/TLS.&lt;br&gt;

Clique em Gerar, visualizar, fazer upload ou excluir certificados SSL.&lt;br&gt;

Na seção Fazer Upload de Nova Certificado, clique em Escolher arquivo e localize o arquivo do certificado &lt;br&gt;(dominio_com_br.crt), que você recebeu e salvou no passo 1. Ou, se tiver copiado o conteúdo do certificado do corpo &lt;br&gt;do e-mail, cole na caixa de texto “Cole o crt abaixo:”. Para acessar o texto do seu certificado, &lt;br&gt;
abra-o em um editor de texto. Ao copiar e colar o seu certificado, inclua as linhas BEGIN e END.&lt;br&gt;

Clique em Fazer Upload.&lt;br&gt;

Clique em Voltar e depois em Retornar ao Gerenciador SSL.&lt;br&gt;

Clique em Configurar um certificado SSL para funcionar com seu site. Se esta opção (a quarta opção)&lt;br&gt; não estiver visível, é provável que seu provedor de hospedagem não a disponibilize. Nesse caso, será necessário entrar em contato para que eles mesmos instalem o certificado.&lt;br&gt;

Selecione o domínio do menu drop-down Domínio. O sistema tentará buscar (&quot;Fetch&quot;) seu certificado e sua chave privativa. &lt;br&gt;Se a chave privativa não bater com a que você salvou no passo 7 de “Como Gerar uma CSR no cPanel”, copie e cole o conteúdo do arquivo que você salvou no espaço correspondente.&lt;br&gt;

Na caixa de texto Ca Bundle, cole o conteúdo do arquivo dominio_com_br.ca-bundle. Este passo aparece no cPanel como opcional, mas é altamente recomendável que o ca-bundle seja colado aqui, pois a não realização deste passo pode resultar em mensagens de erro ao acessar o site em HTTPS.&lt;br&gt;

Clique em Instalar Certificado. Após este passo, seu certificado deve estar instalado, e o site deve estar configurado para aceitar conexões seguras.&lt;br&gt; Você ou o provedor de hospedagem talvez precisem reiniciar o Apache para ele funcionar.&lt;br&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/7936935658203589331/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/05/cpanel-manual-de-instalacao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/7936935658203589331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/7936935658203589331'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/05/cpanel-manual-de-instalacao.html' title='CPanel - Manual de Instalação - Certificado SSL'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-4204865742528715663</id><published>2013-05-10T03:49:00.001-07:00</published><updated>2013-05-10T04:24:35.239-07:00</updated><title type='text'>MS Exchange 2007- Manual de Instalação - Certificado SSL</title><content type='html'>&lt;font color=&quot;#8B1A1A&quot; size=&quot;3&quot;&gt;Instalando o seu Certificado:&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;

Você receberá o certificado anexado a uma mensagem de correio eletrônico. O arquivo do certificado deve ser copiado &lt;br&gt;no servidor Exchange 2007. Depois deve ser instalado utilizando o Import-ExchangeCertificate cmdlet.&lt;br&gt;
Não utilize o snap-in de instalação de certificados no MMC para a a instalação do seu certificado porque não &lt;br&gt;funcionará com o Exchange 2007. Utilize o MMC apenas para a instalação das raízes&lt;br&gt;

Abra o Exchange Management Shell.&lt;br&gt;
Caminho: Start &gt; Programs &gt; Microsoft Exchange Server 2007 &gt; Exchange Management Shell.&lt;br&gt;
Nesse exemplo o certificado foi copiado para o arquivo c:\exchange.comodo.com.crt&lt;br&gt;

Import-ExchangeCertificate -Path c:\exchange.comodo.com.crt | Enable-ExchangeCertificate -Services SMTP&lt;br&gt;
Os flags &#39;Services&#39; que podem ser utilizados com esse certificado são: SMTP IMAP POP IIS UM&lt;br&gt;
Para habilitar multiplos serviços utilize:&lt;br&gt;

Import-ExchangeCertificate -Path c:\exchange.comodo.com.crt | Enable-ExchangeCertificate -Services &quot;SMTP, POP, IMAP, IIS&quot;&lt;br&gt;
Uma vez que tenha instalado o certificado no site pode ser necessário seguir os passos abaixo para a instalação dos &lt;br&gt;certificados raiz e intermediário com os outros arquivos que você recebeu.&lt;br&gt;

Seu certificado raiz é o EntrustSecureServerCA.crt ou o AddTrustExternalCARoot.crt&lt;br&gt;
Seu certificado intermediário é o USERTrustLegacySecureServerCA.crt ou COMODOHigh-AssuranceSecureServerCA.crt &lt;br&gt;
Copie esses certificados para o servidor e depois siga os passos:&lt;br&gt;

No Windows clique no Menu Iniciar &gt; Executar &gt; mmc&lt;br&gt;

Selecione File e Add/Remove Snap in&lt;br&gt;

Selecione Add.&lt;br&gt;

Selecione Certificates na caixa Add Standalone Snap-in e clique Add&lt;br&gt;
Selecione Computer Account (NOTA: Esse passo é muito importante, pois qualquer outra escolha não funcionará) &lt;br&gt;e clique Next&lt;br&gt;
Selecione Local Computer e Finish&lt;br&gt;
Feche a caixa Add Standalone Snap-in, e clique OK no Add/Remove Snap in&lt;br&gt;

Return ao MMC&lt;br&gt;
Para instalar o certificado raiz:&lt;br&gt;

Clique com o botão da direita em Trusted Root Certification Authorities, selecione All Tasks, Import e Next.&lt;br&gt;
Selecione o certificado raiz e clique Next.&lt;br&gt;

Ao final do Assistente selecione Finish.&lt;br&gt;
Para instalar o certificado intermediario:&lt;br&gt;

Clique com o botão da direita em Intermediate Certification Authorities, selecione All Tasks, Import e Next.&lt;br&gt;

Selecione o certificado raiz e clique Next.&lt;br&gt;

Ao final do Assistente selecione Finish.&lt;br&gt;

&lt;font color=&quot;#8B1A1A&quot; size=&quot;3&quot;&gt;Você deverá reiniciar o servidor
&lt;br&gt;
para finalizar a instalação&lt;br&gt;
&lt;/font&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/4204865742528715663/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/05/ms-exchange-2007-manual-de-instalacao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/4204865742528715663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/4204865742528715663'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/05/ms-exchange-2007-manual-de-instalacao.html' title='MS Exchange 2007- Manual de Instalação - Certificado SSL'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-5475794809974613324</id><published>2013-05-10T03:40:00.001-07:00</published><updated>2013-05-10T04:24:52.740-07:00</updated><title type='text'>Microsoft IIS 7 - Manual de Instalação - Certificado SSL</title><content type='html'>
Instalando o seu Certificado:&lt;br&gt;

Selecione “Administrative Tools” &lt;br&gt;
Inicie “IIS Manager”.&lt;br&gt;
Clique no nome do seu servidor onde o certificado será instalado.&lt;br&gt;
No menu central, de um clique duplo em “Server Certificates” (Certificados de Servidor)&lt;br&gt;

&lt;a href=&quot;http://www.comodobr.com/imagens/iis7_01.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://www.comodobr.com/imagens/iis7_01.jpg&quot; /&gt;&lt;/a&gt;
&lt;br&gt;

No menu &quot;Actions&quot; (no lado direito), clique em “Complete Certificate Request” (Concluir Solicitação de Certificado)&lt;br&gt;

&lt;a href=&quot;http://www.comodobr.com/imagens/iis7_02.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://www.comodobr.com/imagens/iis7_02.jpg&quot; /&gt;&lt;/a&gt;
&lt;br&gt;

Isto irá abrir o assistente para a instalação do certificado.&lt;br&gt;

&lt;br&gt;
Navegue até a pasta onde salvou o certificado recebido da Comodo Brasil. Este é o arquivo recebido no &lt;br&gt;.zip que se chama seudominio.crt. Coloque o Friendly Name (Nome Amigavel) desejado. O Friendly Name não é parte do certificado, e&lt;br&gt; sim apenas um nome para o técnico reconhecer mais facilmente o certificado. Clique em &quot;Ok&quot;.

Depois que o certificado estiver devidamente instalado no servidor, você terá que designar o certificado ao site&lt;br&gt;apropriado usando o IIS. &lt;br&gt;
No menu &quot;Connections&quot; na janela principal do Internet Information Services (IIS) selecione o nome do servidor onde o certificado está instalado. &lt;br&gt;
Em &quot;Sites&quot; selecione o site onde irá utilizar o SSL.&lt;br&gt;
No menu &quot;Actions&quot; (do lado direito), clique em &quot;Bindings&quot;.&lt;br&gt;

&lt;a href=&quot;http://www.comodobr.com/imagens/iis7_04.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://www.comodobr.com/imagens/iis7_04.jpg&quot; /&gt;&lt;/a&gt;
&lt;br&gt;
Isso abrirá a janela &quot;Site Bindings&quot;.
&lt;br&gt;

&lt;a href=&quot;http://www.comodobr.com/imagens/iis7_05.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://www.comodobr.com/imagens/iis7_05.jpg&quot; /&gt;&lt;/a&gt;

&lt;br&gt;
&lt;a href=&quot;http://www.comodobr.com/imagens/iis7_03.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://www.comodobr.com/imagens/iis7_03.jpg&quot; /&gt;&lt;/a&gt;

&lt;br&gt;
Na janela &quot;Site Bindings&quot; clique em &quot;Add&quot;. Isso abrirá a janela de &quot;Add Site Binding&quot;.&lt;br&gt;
&lt;a href=&quot;http://www.comodobr.com/imagens/iis7_06.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;http://www.comodobr.com/imagens/iis7_06.jpg&quot; /&gt;&lt;/a&gt;

&lt;br&gt;

Em &quot;Type&quot; escolha https. O endereço IP deve ser o endereço do site ou estar como All Unassigned e a porta padrão para &lt;br&gt;SSL é a 443. O campo &quot;SSL Certificate&quot; deve especificar o certificado que foi instalado no passo anterior. Clique em &quot;OK&quot;.&lt;br&gt;
Uma vez finalizados os passos acima você terá que instalar os certificados raiz e intermediários manualmente.
&lt;br&gt;
Instalando o Certificado da raiz intermediária:&lt;br&gt;

Você recebeu 3 Certificados da Comodo. Salve estes certificados no desktop do seu servidor, depois:
&lt;br&gt;
Clique no botão Iniciar e selecione Executar. Digite mmc.&lt;br&gt;
Clique em Arquivo e selecione Adicionar/Remover Snap in&lt;br&gt;
Selecione a opção Adicionar, e escolha Certificados e clique em Adicionar&lt;br&gt;
Selecione Conta do Computador e clique em Finalizar&lt;br&gt;
Feche a caixa aberta e clique em Ok no Adicionar/Remover Snap in&lt;br&gt;

Para Instalar o Certificado intermediário:&lt;br&gt;

Clique com o botão direito do seu mouse em Autoridades Certificadoras Intermediárias, selecione Todas as Tarefas, &lt;br&gt;selecione Importar.&lt;br&gt;
Siga o Wizard de instalação, localizando o Certificado intermediário quando solicitado.&lt;br&gt;
Repita os passos para instalação do certificado raíz.&lt;br&gt;

  Você deverá reiniciar o IIS para finalizar a instalação.&lt;br&gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/5475794809974613324/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/05/microsoft-iis-7-manual-de-instalacao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/5475794809974613324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/5475794809974613324'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/05/microsoft-iis-7-manual-de-instalacao.html' title='Microsoft IIS 7 - Manual de Instalação - Certificado SSL'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-1768536024987414099</id><published>2013-05-10T03:26:00.001-07:00</published><updated>2013-05-10T04:24:43.279-07:00</updated><title type='text'>Manual de Instalação - Certificado digital - Apache / ModSSL</title><content type='html'>

1º PASSO - Salve os arquivos de certificado recebidos&lt;br&gt;

Você recebeu um arquivo .zip contendo 2 arquivos do seu certificado:&lt;br&gt;

Seu certificado - seudominio_com_br.crt
Seu arquivo Apache &quot;bundle&quot; - seudominio_com_br.ca-bundle
Descompacte os arquivos e salve o seu certificado no diretório onde você costuma armazenar seus certificados, p. ex.: &lt;br&gt;/etc/httpd/conf/ssl.crt/ e o ca-bundle onde ficam armazenadas as raízes públicas, p. ex.: /etc/httpd/conf/ca/.&lt;br&gt;

Neste exemplo, usaremos:&lt;br&gt;
/etc/httpd/conf/crt/ - local onde os certificados serão armazenados.&lt;br&gt;
/etc/httpd/conf/key/ - local onde a chave privativa do servidor está armazenada.&lt;br&gt;
/etc/httpd/conf/ca/ - local onde o CA-bundle será armazenado.&lt;br&gt;

&lt;br&gt;
2º PASSO - Configure o httpd.conf&lt;br&gt;

É necessário referenciar o ca-bundle, assim como o seu certificado, para que o seu servidor web utilize seu certificado &lt;br&gt;digital corretamente. &lt;br&gt;

Nas configurações do Virtual Host do seu site, no arquivo httpd.conf (dependendo da configuração, o SSL pode estar &lt;br&gt;configurado em um include, em um arquivo chamado ssl.conf ou httpd_ssl.conf), você deverá completar as seguintes etapas:&lt;br&gt;

1. Renomeie o arquivo seudominio_com_br.ca-bundle para ca.txt e copie para o diretório escolhido, p.ex.: &lt;br&gt;/etc/httpd/conf/ca/&lt;br&gt;

2. Adicione a linha a seguir à seção de SSL do httpd.conf. Se a linha já existir, mude o que for necessário para que &lt;br&gt;ela fique da seguinte forma:&lt;br&gt;

SSLCACertificateFile/etc/httpd/conf/ca/ca.txt&lt;br&gt;&lt;br&gt;

3. Salve o arquivo seudominio_com_br.crt para o diretório escolhido, p. ex: /etc/httpd/conf/crt/. Verifique também que &lt;br&gt;o arquivo .key gerado juntamente com a solicitação do certificado esteja salvo no local correto, p. ex:&lt;br&gt; /etc/httpd/conf/key/. Adicione agora as linhas abaixo, referentes ao seu certificado a à chave privativa:&lt;br&gt;
&lt;br&gt;
SSLCertificateFile/etc/httpd/conf/crt/seudominio_com_br.crt&lt;br&gt;
SSLCertificateKeyFile/etc/httpd/conf/key/dominio.key&lt;br&gt;

Se você estiver utilizando outro local e outro nome de certificado, terá de alterar os caminho e nomes de arquivo de acordo.&lt;br&gt;

A seção SSL do arquivo httpd.conf atualizado agora deve estar semelhante ao seguinte exemplo:&lt;br&gt;

SSLCertificateFile/etc/httpd/conf/crt/seudominio_com_br.crt&lt;br&gt;
SSLCertificateKeyFile/etc/httpd/conf/key/dominio.key&lt;br&gt;
SSLCACertificateFile/etc/httpd/conf/ca/ca.txt&lt;br&gt;

Salve seu arquivo httpd.conf e reinicie o Apache.&lt;br&gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/1768536024987414099/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/05/manual-de-instalacao-certificado.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/1768536024987414099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/1768536024987414099'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/05/manual-de-instalacao-certificado.html' title='Manual de Instalação - Certificado digital - Apache / ModSSL'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-5266935623238278092</id><published>2013-03-01T17:01:00.003-08:00</published><updated>2013-03-01T17:11:04.009-08:00</updated><title type='text'>Configurando servidor de DNS no CentOS</title><content type='html'>
O Domain Name System – Sistema de Nomes de Domínio – é de fundamental importância em uma rede.

O DNS é um sistema hierárquico em árvore invertida. Tem como origem o ponto (“.”), e a partir daí, os domínios e, abaixo destes, os subdomínios. O nome completo de um host – FQDN = Full Qualified Domain Name – é composto de duas partes: a primeira parte identifica o host dentro do domínio e a segunda parte identifica o domínio.

1 - Pacotes necessários:
Execute os comando abaixo para realizar a instalação dos pacotes.

yum install bind bind-libs bind-utils caching-nameserver -y&lt;br&gt;

Após a instalação dos pacotes acima, podemos visulizar alguns arquivos padrões:&lt;br&gt;

# ls -l /var/named
-rw-r--r-- 1 named named 195 Fev 15 2004 localhost.zone&lt;br&gt;
-rw-r--r-- 1 named named 2518 Fev 15 2004 named.ca&lt;br&gt;
-rw-r--r-- 1 named named 436 Jun 14 2007 named.local&lt;br&gt;

named.ca
&lt;br&gt;
Neste arquivo vem por padrão todos os rootserver da internet, ou seja, os servidores de DNS mundiais . Sua função e interligar todos os servidores do mundo ou seja se o seu servidor de DNS não sabe onde fica localizado determinado IP ele faz uma consulta a um rootserver que vai lhe dizer a resposta.

named.local&lt;br&gt;

Neste arquivo vem por padrão a zona local da maquina na entrada do DNS ou seja o localhost.

localhost.zone&lt;br&gt;

O arquivo de zona reversa ou seja resolver IP pra nome

2 - Um dos primeiros arquivos que iremos alterar será o arquivo host.conf:

Esse arquivo define a ordem de consulta da máquina, que no caso mudaremos para DNS depois hosts;

# vim /etc/host.conf&lt;br&gt;

order bind,hosts&lt;br&gt;
multi on&lt;br&gt;

3 - O próximo arquivo que iremos alterar é o hosts&lt;br&gt;

# vim /etc/hosts&lt;br&gt;

127.0.0.0.1 localhost.localdomain localhost&lt;br&gt; 
10.1.1.1 servername.domain.com.br servername&lt;br&gt;

O arquivo hosts especifica o nome da máquina e domínio. Neste arquivo devemos obrigatoriamente ter pelo menos o localhost e nosso próprio IP.&lt;br&gt;

4 - O próximo arquivo a alterarmos é o resolv.conf&lt;br&gt;

# vim /etc/resolv.conf&lt;br&gt;

search domain.com.br&lt;br&gt;
nameserver 10.1.1.1&lt;br&gt;
nameserver 201.21.192.105&lt;br&gt;

No arquivo resolv.conf você irá configurar qual será o domínio e IP do servidor de DNS que irá utilizar para navegar na internet, ou seja, estamos configurando um servidor de DNS logo utilizaremos nosso próprio servidor e outro externo.

Vamos agora ao que interessa:&lt;br&gt;

5 - Criando uma Zona de DNS&lt;br&gt;

Vamos editar o arquivo named.conf, nele são cadastradas as zonas, nele também efetuamos várias configurações opcionais, tipo se você tiver um dns secundário, permitir replicação, recursos de view interna e view externa, e muitas outras opções. Vou mostrar abaixo um exemplo de como inserir uma zona master e uma zona reversa de um domínio:

# vim /etc/named.conf&lt;br&gt;

# Nome da zona master
zone &quot;domain.com.br&quot; IN {&lt;br&gt;
type master;&lt;br&gt;
check-names ignore;&lt;br&gt;
file &quot;domain.com.br&quot;;&lt;br&gt;
};&lt;br&gt;

# Nome da zona Reversa&lt;br&gt;
zone &quot;2.168.192.in-addr.arpa&quot; IN {&lt;br&gt;
type master;&lt;br&gt;
check-names ignore;&lt;br&gt;
file &quot;192.168.2.1&quot;;&lt;br&gt;
};&lt;br&gt;

Nos parametros file de cada zona indica o nome do arquivo onde serão cadastrados os hosts e outras opções.

6 - Agora vamos criar os arquivos conforme seus nomes indicados nas zonas acima.

# touch /var/named/dominio.com.br&lt;br&gt;
# touch /var/named/192.168.2.1&lt;br&gt;

# chown named.named /var/named/dominio.com.br&lt;br&gt;
# chown named.named /var/named/192.168.2.1&lt;br&gt;


7 - Agora vamos ao conteúdo dos arquivos de zonas&lt;br&gt;

Vamos editar o arquivo de zona master do domínio dominio.com.br:&lt;br&gt;

# vim /var/named/dominio.com.br&lt;br&gt;

Segue abaixo o conteúdo do arquivo dominio.com.br que pode ser usado como template para criação de outros arquivos:


$TTL 86400 ; 1 dia&lt;br&gt;
@ IN SOA servidor.dominio.com.br. root.servidor.dominio.com.br. (&lt;br&gt;
2008092181 ; serial&lt;br&gt;
10800 ; refresh (3 horas)&lt;br&gt;
900 ; retry (15 minutos)&lt;br&gt;
604800 ; expire (1 semana)&lt;br&gt;
86400 ; minimum (1 dia)&lt;br&gt;
)
NS servidor.dominio.com.br.&lt;br&gt;
IN 1H MX 5 mailserver&lt;br&gt;
mailserver IN 1H A 192.168.2.10&lt;br&gt;
webmail IN 1H A 192.168.2.11&lt;br&gt;
fileserver IN 1H A 192.168.2.12&lt;br&gt;

Esse é o conteúdo da zona master do domínio dominio.com.br, salve o arquivo e saia.

Vamos agora editar o conteudo do arquivo de zona reversa do domínio:

# vim /var/named/192.168.2.1&lt;br&gt;

$TTL 86400 ; 1 dia&lt;br&gt;
@ IN SOA servidor.dominio.com.br. root.servidor.dominio.com.br. (&lt;br&gt;
2008092181 ; serial&lt;br&gt;
10800 ; refresh (3 hotas)&lt;br&gt;
900 ; retry (15 minutos)&lt;br&gt;
604800 ; expire (1 senama)&lt;br&gt;
86400 ; minimum (1 dia)&lt;br&gt;
)
NS servidor.dominio.com.br.&lt;br&gt;
10 PTR mailserver.dominio.com.br.&lt;br&gt;
11 PTR webmail.dominio.com.br.&lt;br&gt;
12 PTR fileserver.dominio.com.br.&lt;br&gt;

Esse é o conteúdo da zona master do domínio 192.168.2.1, salve o arquivo e saia.&lt;br&gt;


Segue abaixo algumas informações sobre os parâmetros do arquivo:


- SOA (start of authority) - ele informa quem é responsável pelo conteúdo.

- serial: um número que identifica a versão de atualização das informações.

- refresh: é o período do ciclo de atualização. A cada ciclo , os servidores secundários comparam seu número serial com o do servidor primário, e se forem diferentes, ele executa uma transferência de zona.

- retry: define o tempo que o servidor secundário irá esperar para nova tentativa se o primário não responder.

- expiry: tempo máximo que um servidor secundário continua respondendo por uma zona quando não consegue comunicação com o primário.
- minimum: tempo mínimo de vida que a zona tem.



8 - Bom, depois de termos editado os arquivos e lido o cada parâmetro significa, vamos agora inicializar o serviço e colocar para rodar no boot da máquina.

Para inicializar execute o comando abaixo:

# service named start

Para que o serviço sempre inicialize no boot execute o seguinte comando:

# chkconfig named on

9 - Agora, por último vamos aos testes

Iremos fazer abaixo um dos testes mais simples que é executar um ping no nome

# ping -c 3 mailserver.dominio.com.br
PING mailserver.dominio.com.br (192.168.2.10) 56(84) bytes of data.&lt;br&gt;
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=1 ttl=64 time=0.024 ms&lt;br&gt;
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=2 ttl=64 time=0.044 ms&lt;br&gt;
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=3 ttl=64 time=0.049 ms&lt;br&gt;


# ping -c 3 webmail.dominio.com.br&lt;br&gt;
PING webmail.dominio.com.br (192.168.2.11) 56(84) bytes of data.&lt;br&gt;
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=1 ttl=64 time=0.024 ms&lt;br&gt;
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=2 ttl=64 time=0.044 ms&lt;br&gt;
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=3 ttl=64 time=0.049 ms&lt;br&gt;

# ping -c 3 fileserver.dominio.com.br&lt;br&gt;
PING fileserver.dominio.com.br (192.168.2.12) 56(84) bytes of data.&lt;br&gt;
64 bytes from fileserver.dominio.com.br (192.168.2.12): icmp_seq=1 ttl=64 time=0.024 ms&lt;br&gt;
64 bytes from fileserver.dominio.com.br(192.168.2.12): icmp_seq=2 ttl=64 time=0.044 ms&lt;br&gt;
64 bytes from fileserver.dominio.com.br(192.168.2.12): icmp_seq=3 ttl=64 time=0.049 ms&lt;br&gt;


Para testar se o reverso do seu endereço está funcionando, isso é muito importante para os servidores de email execute o comando abaixo:

# host mailserver.dominio.com.br&lt;br&gt;
mailserver.dominio.com.br has address 192.168.2.10&lt;br&gt;

# host webmail.dominio.com.br&lt;br&gt;
webmail.dominio.com.br has address 192.168.2.11&lt;br&gt;

# host fileserver.dominio.com.br&lt;br&gt;
fileserver.dominio.com.br has address 192.168.2.12&lt;br&gt;


Existem outros comandos bem mais completos que consultam outros parâmetros dos registros de dns

* dig
* nslookup
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/5266935623238278092/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/03/configurando-servidor-de-dns-no-centos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/5266935623238278092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/5266935623238278092'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/03/configurando-servidor-de-dns-no-centos.html' title='Configurando servidor de DNS no CentOS'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-5529895344495346901</id><published>2013-02-24T12:04:00.001-08:00</published><updated>2013-02-24T12:39:38.468-08:00</updated><title type='text'>Consulta Whois - Registro.br</title><content type='html'>&lt;html lang=&quot;pt-br&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt; 
  &lt;head&gt;
    &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt; 
    &lt;link rel=&quot;stylesheet&quot; 
   type=&quot;text/css&quot; 
          media=&quot;screen&quot; 
   href=&quot;/css/registrobr.css&quot; /&gt; 
    &lt;link rel=&quot;stylesheet&quot; 
   type=&quot;text/css&quot; 
   media=&quot;screen&quot; 
   href=&quot;/css/interna.css&quot; /&gt; 
    &lt;link rel=&quot;stylesheet&quot; 
   type=&quot;text/css&quot; 
   media=&quot;print&quot; 
   href=&quot;/css/print.css&quot; /&gt; 
    &lt;link rel=&quot;stylesheet&quot; 
   type=&quot;text/css&quot; 
   media=&quot;handheld&quot; 
   href=&quot;/css/handheld.css&quot; /&gt; 

    &lt;!-- Style sheets used by CGIs --&gt;
    &lt;link rel=&quot;stylesheet&quot; 
   type=&quot;text/css&quot; 
   media=&quot;all&quot; 
   href=&quot;/css/registro.css&quot; /&gt;
    &lt;link rel=&quot;stylesheet&quot; 
   type=&quot;text/css&quot; 
   media=&quot;all&quot; 
   href=&quot;/css/registro-cgi-common.css&quot; /&gt;
    &lt;link rel=&quot;stylesheet&quot; 
   type=&quot;text/css&quot; 
   media=&quot;all&quot; 
   href=&quot;/css/registro-cgi.css&quot; /&gt;
    &lt;!-- End of CGIs style sheets --&gt;

    &lt;link rel=&quot;alternate&quot; 
   title=&quot;RSS Registro.br&quot; 
   href=&quot;http://registro.br/rss-br.xml&quot; 
   type=&quot;application/rss+xml&quot; /&gt;

 
 

    &lt;meta http-equiv=&quot;Normal&quot; content=&quot;http://registro.br/&quot; /&gt; 
    &lt;meta name=&quot;keywords&quot; 
   content=&quot;registro, registro de dom&amp;iacute;nios, dom&amp;iacute;nios, dpn, internet&quot; /&gt; 
    &lt;meta name=&quot;description&quot; 
   content=&quot;Registro de Dom&amp;iacute;nios para a Internet do Brasil&quot; /&gt; 

    &lt;title&gt;Registro.br - Suporte - Ferramentas - Whois&lt;/title&gt; 
  &lt;/head&gt;
  &lt;body&gt;
&lt;center&gt;
&lt;h1&gt;Ferramenta de Whois&lt;/h1&gt; &lt;br&gt;
&lt;/center&gt;
&lt;div style=&quot;border-style:solid;
     border-width:1px;
     border-color:#cccccc;
     border-right-color:#666666;
     border-bottom-color:#666666;
     background-color:#eeeeee;
     width:550px;
     margin-left:auto;
     margin-right:auto;
     text-align:center;
     font-size:12pt;
     padding:15px&quot;&gt;
  &lt;a name=&quot;boxwhois&quot;&gt;&lt;/a&gt;
  &lt;form action=&quot;https://registro.br/cgi-bin/whois/#lresp&quot; method=&quot;post&quot;&gt;
    &lt;fieldset&gt;
      &lt;span style=&quot;font-family:Arial Narrow;
     font-size:12pt;
     font-weight:bold&quot;&gt;Whois&lt;/span&gt;
      &amp;nbsp;&amp;nbsp;Procure por um nome
      de dom&amp;iacute;nio&lt;br/&gt;
      www. &lt;input type=&quot;text&quot;
    size=&quot;20&quot;
    maxlength=&quot;50&quot;
    style=&quot;height:25px; font-size:12pt&quot;
    name=&quot;qr&quot;
    value=&quot;&quot;/&gt;&amp;nbsp;
      &lt;!--
      
      &lt;br/&gt;
      &lt;br/&gt;
      &lt;input type=&quot;hidden&quot; name=&quot;c&quot;/&gt;
      &lt;input type=&quot;hidden&quot; name=&quot;previous_hash&quot; value=&quot;&quot;/&gt;
      &lt;div style=&quot;width:320px;
    height:100px;
    margin-left:auto;
    margin-right:auto&quot;&gt;
 &lt;img src=&quot;https://registro.br/cgi-bin/captcha/?hash=&quot;
      alt=&quot;captcha&quot;/&gt;
      &lt;/div&gt;
      &lt;br/&gt;&lt;br/&gt;
      &lt;input type=&quot;text&quot;
      style=&quot;height:25px; font-size:12pt&quot;
      name=&quot;captcha&quot; size=&quot;6&quot; maxlength=&quot;10&quot;/&gt;&amp;nbsp;
      --&gt;
      &lt;input type=&quot;submit&quot; class=&quot;botao&quot;
      style=&quot;height:30px; width:110px; font-size:10pt;&quot;
      value=&quot;PESQUISAR&quot;/&gt;
      &lt;br/&gt;&lt;br/&gt;
      
      &lt;small&gt;
 
 &lt;a href=&quot;https://registro.br/cgi-bin/whois/?qr=&amp;amp;c&amp;amp;&amp;#35;lresp&quot;&gt;
   Vers&amp;atilde;o com informa&amp;ccedil;&amp;otilde;es de contato
 &lt;/a&gt;
 &lt;br/&gt;
 
      &lt;/small&gt;
    &lt;/fieldset&gt;
  &lt;/form&gt;
&lt;/div&gt;
&lt;br/&gt;&lt;br/&gt;


&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/5529895344495346901/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/registro.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/5529895344495346901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/5529895344495346901'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/registro.html' title='Consulta Whois - Registro.br'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-8708242953949825957</id><published>2013-02-24T11:22:00.001-08:00</published><updated>2013-02-24T11:51:23.103-08:00</updated><title type='text'>Configuração de apontamentos - Padrão locaweb</title><content type='html'>&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot; /&gt;
  &lt;title&gt;Configuração de apontamentos&lt;/title&gt;
  &lt;link rel=&quot;stylesheet&quot; href=&quot;http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css&quot; /&gt;
  &lt;script src=&quot;http://code.jquery.com/jquery-1.9.1.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;http://code.jquery.com/ui/1.10.1/jquery-ui.js&quot;&gt;&lt;/script&gt;
  &lt;link rel=&quot;stylesheet&quot; href=&quot;/resources/demos/style.css&quot; /&gt;
  &lt;script&gt;
  $(function() {
    $( &quot;#accordion&quot; ).accordion();
  });
  &lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
 
&lt;div id=&quot;accordion&quot;&gt;
  &lt;h3&gt;Configuração de apontamentos&lt;/h3&gt;
  &lt;div&gt;
    &lt;p&gt;
    A finalidade deste artigo é apresentar de forma simplificada as configurações de Apontamento MX e afins, indispensáveis para o estabelecimento de um serviço de e-mail.
Uma entrada MX especifica um &quot;Mail Exchanger&quot; para um domínio: Um host que irá processar ou encaminhar uma mensagem para um domínio.
    &lt;/p&gt;
  &lt;/div&gt;
  &lt;h3&gt;1 - Apontamentos do tipo MX:&lt;/h3&gt;
  &lt;div&gt;
    &lt;p&gt;
    &lt;b&gt;Apontamentos do tipo MX&lt;/b&gt;:&lt;table&gt;
&lt;tr style=&quot;background: #EE0000&quot;&gt;
&lt;td width=&quot;100&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Entrada&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;80&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Tipo&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;40&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Prio&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;300&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Conteúdo&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #FFFFFF&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;.&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;MX&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;10&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;mx.a.locaweb.com.br&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #E8E8E8&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;.&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;MX&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;10&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;mx.b.locaweb.com.br&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #FFFFFF&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;.&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;MX&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;20&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;mx.jk.locaweb.com.br&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
    &lt;/p&gt;
  &lt;/div&gt;
  &lt;h3&gt;2 - Apontamentos do tipo CNAME:&lt;/h3&gt;
  &lt;div&gt;
    &lt;p&gt;
   &lt;b&gt;2 - Apontamentos do tipo CNAME&lt;/b&gt;:&lt;table&gt;
&lt;tr style=&quot;background: #EE0000&quot;&gt;
&lt;td width=&quot;100&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Entrada&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;80&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Tipo&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;40&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Prio&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;300&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Conteúdo&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #FFFFFF&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;pop&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;CNAME&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;mail.ita.locaweb.com.br&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #E8E8E8&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;smtp&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;CNAME&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;pop.seudomínio&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #FFFFFF&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;imap&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;CNAME&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;pop.seudomínio&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #E8E8E8&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;mail&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;CNAME&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;pop.seudomínio&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #FFFFFF&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;webmail&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;CNAME&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;webmail.ita.locamail.com.br&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #E8E8E8&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;webmail2&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;CNAME&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;webmail.ita.locaweb.com.br&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #FFFFFF&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;calendario&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;CNAME&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;calendario.locaweb.com.br&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #E8E8E8&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;autodiscover&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;CNAME&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;autodiscover.email.locaweb.com.br&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

    &lt;/p&gt;
    
  &lt;/div&gt;
  &lt;h3&gt;3 - Apontamento do tipo TXT:&lt;/h3&gt;
  &lt;div&gt;
    &lt;p&gt;
    &lt;b&gt;Apontamento do tipo TXT&lt;/b&gt;:&lt;table&gt;
&lt;tr style=&quot;background: #EE0000&quot;&gt;
&lt;td width=&quot;100&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Entrada&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;80&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Tipo&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;40&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Prio&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td width=&quot;300&quot; style=&quot;vertical-align:middle; border-top: 1px solid #1C1C1C;border-right: 1px solid #1C1C1C;border-left: 1px solid #1C1C1C; border-bottom: 1px solid #1C1C1C;&quot;&gt;&lt;center&gt;&lt;b&gt;Conteúdo&lt;/b&gt;&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr style=&quot;background: #FFFFFF&quot;&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;.&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;TXT&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;&lt;font color=&quot;grey&quot;&gt;0&lt;/font&gt;&lt;/center&gt;&lt;/td&gt;
&lt;td style=&quot;vertical-align:middle; border-top: 1px solid #B5B5B5;border-right: 1px solid #B5B5B5;border-left: 1px solid #B5B5B5; border-bottom: 1px solid #B5B5B5&quot;&gt;&lt;center&gt;v=spf1 include:_spf.locaweb.com.br&amp;#160;?all&lt;/center&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;
    
  &lt;/div&gt;
&lt;/div&gt;
 
 
&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/8708242953949825957/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/jquery-ui-accordion-default.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/8708242953949825957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/8708242953949825957'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/jquery-ui-accordion-default.html' title='Configuração de apontamentos - Padrão locaweb'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-8603366246559667519</id><published>2013-02-24T10:49:00.000-08:00</published><updated>2013-02-24T10:49:42.651-08:00</updated><title type='text'></title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Definindo DNS&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
DNS é a abreviatura de Domain Name System. O DNS é um serviço de resolução de nomes. Toda comunicação entre os computadores e demais equipamentos de uma rede baseada no protocolo TCP/IP (e qual rede não é baseada no protocolo TCP/IP?) é feita através do número IP. Número IP do computador de origem e número IP do computador de destino. Porém não seria nada produtivo se os usuários tivessem que decorar, ou mais realisticamente, consultar uma tabela de&amp;nbsp; números IP toda vez que tivessem que acessar um recurso da rede. Por exemplo, você digita&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.microsoft.com/brasil&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;http://www.microsoft.com/brasil&lt;/a&gt;, para acessar o site da Microsoft no Brasil, sem ter que se preocupar e nem saber qual o número IP do servidor onde está hospedado o site da Microsoft Brasil. Mas alguém tem que fazer este serviço, pois quando você digita&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.microsoft.com/brasil&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;http://www.microsoft.com/brasil&lt;/a&gt;, o protocolo TCP/IP precisa “descobrir” (o termo técnico é resolver o nome) qual o número IP está associado com o endereço digitado. Se não for possível “descobrir” o número IP associado ao nome, não será possível acessar o recurso desejado.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O papel do DNS é exatamente este, “descobrir”, ou usando o termo&amp;nbsp; técnico, “resolver” um determinado nome, como por exemplo&lt;a class=&quot;style18&quot; href=&quot;http://www.microsoft.com/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;http://www.microsoft.com&lt;/a&gt;&amp;nbsp;Resolver um nome significa, descobrir e retornar o número IP associado com o nome. Em palavras mais simples, o DNS é um serviço de resolução de nomes, ou seja, quando o usuário tenta acessar um determinado recurso da rede usando o nome de um determinado servidor, é o DNS o responsável por localizar e retornar o número IP associado com o nome utilizado. O DNS é, na verdade, um grande banco de dados distribuído em&amp;nbsp; milhares de servidores DNS no mundo inteiro. Ele possui várias características, as quais descreverei nesta parte do tutorial de TCP/IP.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O DNS passou a ser o serviço de resolução de nomes padrão a partir do Windows 2000 Server. Anteriormente, com o NT Server 4.0 e versões anteriores do Windows, o serviço padrão para resolução de nomes era o WINS – Windows Internet Name Service. Versões mais antigas dos clientes Windows, tais como Windows 95, Windows 98 e Windows Me ainda são dependentes do WINS, para&amp;nbsp; a realização de determinadas tarefas. O fato de existir dois serviços de resolução de nomes, pode deixar o administrador da rede e os usuários confusos.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Cada computador com o Windows instalado (qualquer versão), tem dois nomes: um host name (que é ligado ao DNS) e um NetBios name (que é ligado ao WINS). Por padrão estes nomes devem ser iguais, ou seja, é aconselhável que você utilize o mesmo nome para o host name e para o NetBios name do computador.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O DNS é um sistema para nomeação de computadores e equipamentos de rede em geral (tais como roteadores,hubs, switchs). Os nomes DNS são organizados de uma maneira hierárquica através da divisão da rede em domínios DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O DNS é, na verdade, um grande banco de dados distribuído em váios servidoress DNS e um conjunto de serviços e funcionalidades, que permitem a pesquisa neste banco de dados. Por exemplo, quando o usuário digita&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.abc.com.br/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;www.abc.com.br&lt;/a&gt;&amp;nbsp;na barra de endereços do seu navegador, o DNS tem que fazer o trabalho de localizar e retornar para o navegador do usuário, o número IP associado com o endereço&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.abc.com.br/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;www.abc.com.br&lt;/a&gt;&amp;nbsp;Quando você tenta acessar uma pasta compartilhada chamada docs,&amp;nbsp; em um servidor chamado srv-files01.abc.com.br, usando o caminho \\srv-files01.abc.com.br\docs, o DNS precisa encontrar o número IP associado com o nome srv-files01.abc.com.br. Se esta etapa falhar, a comunicação não será estabelecida e você não poderá acessar a pasta compartilhada docs.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Ao tentar acessar um determinado recurso, usando o nome de um servidor, é como se o programa que você está utilizando perguntasse ao DNS:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;“DNS, você sabe qual o endereço IP associado com o nome tal?”&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O DNS pesquisa na sua base de dados ou envia a pesquisa para outros servidores DNS (dependendo de como foram feitas as configurações do servidor DNS, conforme descreverei mais adiante). Uma vez encontrado o número IP, o DNS retorna o número IP para o cliente:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;“Este é o número IP associado com o nome tal.”&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Nota:&lt;/strong&gt;&amp;nbsp;O DNS implementado no Windows 2000 Server e também no Windows Server 2003 é baseado em padrões definidos por entidades de padronização da Internet, tais como o IETF. Estes documentos são conhecidos como RFCs – Request for Comments. Você encontra, na Internet, facilmente a lista de RFCs disponíveis e o assunto relacionada com cada uma. São milhares de RFCs (literalmente milhares).&lt;/div&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Entendendo os elementos que compõem o DNS&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O DNS é baseado em conceitos tais como espaço de nomes e árvore de domínios. Por exemplo, o espaço de nomes da Internet é um espaço de nomes hierárquico, baseado no DNS. Para entender melhor estes conceitos, observe o diagrama da Figura a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;496&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p8_clip_image002.gif&quot; width=&quot;585&quot; /&gt;&lt;br /&gt;&lt;strong&gt;Figura - Estrutura hierárquica do DNS&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Nesta Figura é apresentada uma visão abrevida da estrutura do DNS definida para a Internet. O principal domínio, o domínio root, o domínio de mais alto nível foi nomeado como sendo um ponto (.). No segundo nível foram definidos os chamados “Top-level-domains”. Estes domínios são bastante conhecidos, sendo os principais descritos na Tabela a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Top-level-domains:&lt;/strong&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; bordercolor=&quot;#336699&quot; cellpadding=&quot;3&quot; cellspacing=&quot;0&quot; style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;tbody&gt;
&lt;tr bgcolor=&quot;#DEEBF7&quot;&gt;&lt;td style=&quot;font-size: 12px;&quot;&gt;&lt;strong&gt;Top-level-domain&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;font-size: 12px;&quot;&gt;&lt;strong&gt;Descrição&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;font-size: 12px;&quot;&gt;com&lt;/td&gt;&lt;td style=&quot;font-size: 12px;&quot;&gt;Organizações comerciais&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td bgcolor=&quot;#EEEEEE&quot; style=&quot;font-size: 12px;&quot;&gt;gov&lt;/td&gt;&lt;td bgcolor=&quot;#EEEEEE&quot; style=&quot;font-size: 12px;&quot;&gt;Organizações governamentais&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;font-size: 12px;&quot;&gt;edu&lt;/td&gt;&lt;td style=&quot;font-size: 12px;&quot;&gt;Instituições educacionais&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td bgcolor=&quot;#EEEEEE&quot; style=&quot;font-size: 12px;&quot;&gt;org&lt;/td&gt;&lt;td bgcolor=&quot;#EEEEEE&quot; style=&quot;font-size: 12px;&quot;&gt;Organizações não comerciais&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;font-size: 12px;&quot;&gt;net&lt;/td&gt;&lt;td style=&quot;font-size: 12px;&quot;&gt;Diversos&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td bgcolor=&quot;#EEEEEE&quot; style=&quot;font-size: 12px;&quot;&gt;mil&lt;/td&gt;&lt;td bgcolor=&quot;#EEEEEE&quot; style=&quot;font-size: 12px;&quot;&gt;Instituições militares&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Em seguida, a estrutura hierárquica continua aumentando. Por exemplo, dentro do domínio .com, são criadas sub domínios para cada país. Por exemplo: br para o Brasil (.com.br), .fr para a frança (.com.fr), uk para a Inglaterra (.com.uk) e assim por diante. Observe que o nome completo de um domínio é o nome do próprio domínio e mais os nomes dos domínios acima dele, no caminho até chegar ao domínio root que é o ponto. Nos normalmente não escrevemos o ponto, mas não está errado utilizá-lo. Por exemplo, você pode utilizar www.microsoft.com ou www.microsoft.com. (com ponto no final mesmo).&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
No diagrama da Figura anterior, representei até o domínio de uma empresa chamada abc (abc...), que foi registrada no subdomínio (.com.br), ou seja: abc.com.br. Este é o domínio DNS desta nossa empresa de exemplo.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Nota:&lt;/strong&gt;&amp;nbsp;Para registrar um domínio .br, utilize o seguinte endereço:&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.registro.br/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;www.registro.br&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Todos os equipamentos da rede da empresa abc.com.br, farão parte deste domínio. Por exemplo, considere o servidor configurado com o nome de host www. O nome completo deste servidor será www.abc.com.br, ou seja, é com este nome que ele poderá ser localizado na Internet. O nome completo do servidor com nome de host ftp será: ftp.abc.com.br, ou seja, é com este nome que ele poderá ser acessado através da Internet. No banco de dados do DNS é que ficará gravada a informação de qual o endereço IP está associado com www.abc.com.br, qual o endereço IP está associado com ftp.abc.com.br e assim por diante. Mais adiante você verá, passo-a-passo, como é feita a resolução de nomes através do DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O nome completo de um computador da rede é conhecido como FQDN – Full Qualifided Domain Name. Por exemplo ftp.abc.com.br é um FQDN. ftp (a primeira parte do nome) é o nome de host e o restante representa o domínio DNS no qual está o computador. A união do nome de host com o nome de domínio é que forma o FQDN.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Internamente, a empresa abc.com.br poderia criar subdomínios, como por exemplo: vendas.abc.com.br, suporte.abc.com.br, pesquisa.abc.com.br e assim por diante. Dentro de cada um destes subdominios poderia haver servidores e computadores, como por exemplo: srv01.vendas.abc.com.br, srv-pr01.suporte.abc.com.br. Observe que sempre, um nome de domínio mais baixo, contém o nome completo dos objetos de nível mais alto. Por exemplo, todos os subdomínios de abc.com.br, obrigatoriamente, contém abc.com.br: vendas.abc.com.br, suporte.abc.com.br, pesquisa.abc.com.br. Isso é o que define um espaço de nomes contínio.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Dentro de um mesmo nível, os nomes DNS devem ser únicos. Por exemplo, não é possível registrar dois domínios abc.com.br. Porém é possível registrar um domínio abc.com.br e outro abc.net.br. Dentro do domínio abc.com.br pode haver um servidor chamado srv01. Também pode haver um servidor srv01 dentro do domínio abc.net.br. O que distingue um do outro é o nome completo (FQDN), neste caso: srv01.abc.com.br e o outro é srv01.abc.net.br.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Nota:&lt;/strong&gt;&amp;nbsp;Um método antigo, utilizado inicalmente para resolução de nomes era o arquivo hosts. Este arquivo é um arquivo de texto e contém entradas como as dos exemplos a seguir, uma em cada linha:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
10.200.200.3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; www.abc.com.br&lt;br /&gt;10.200.200.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ftp.abc.com.br&lt;br /&gt;10.200.200.18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; srv01.abc.com.br&amp;nbsp; srv-files&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O arquivo hosts é individual para cada computador da rede e fica gravado (no Windows NT, Windows 2000, Windows Server 2003 ou Windows XP), na pasta system32\drivers\etc, dentro da pasta onde o Windows está instalado. Este arquivo é um arquivo de texto e pode ser alterado com o bloco de Notas.&lt;br /&gt;O DNS é formado por uma série de componentes e serviços, os quais atuando em conjunto, tornam possível a tarefa de fazer a resolução de nomes em toda a Internet ou na rede interna da empresa. Os componentes do DNS são os seguintes:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;O espaço de nomes DNS:&lt;/strong&gt;&amp;nbsp;Um espaço de nomes hierárquico e contínuo. Pode ser o espaço de nomes da Internet ou o espaço de nomes DNS interno, da sua empresa. Pode ser utilizado um espaço de nomes DNS interno, diferente do nome DNS de Internet da empresa ou pode ser utilizado o mesmo espaço de nomes. Cada uma das abordagens tem vantagens e desvantagens.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Servidores DNS:&lt;/strong&gt;&amp;nbsp;Os servidores DNS contém o banco de dados do DNS com o mapeamento entre os nomes DNS e o respectivo número IP. Os servidores DNS também são responsáveis por responder às consultas de nomes envidas por um ou mais clientes da rede. Você aprenderá mais adiante que existem diferentes tipos de servidores DNS e diferentes métodos de resolução de nomes.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Registros do DNS (Resource Records):&lt;/strong&gt;&amp;nbsp;Os registros são as entradas do banco de dados do DNS. Em cada entrada existe um mapeamento entre um determinado nome e uma informação associada ao nome. Pode ser desde um simples mapeamento entre um nome e o respectivo endereço IP, até registros mais sofisticados para a localização de DCs (controladores de domínio do Windows 2000 ou Windows Server 2003) e servidores de email do domínio.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Clientes DNS:&lt;/strong&gt;&amp;nbsp;São também conhecidos como resolvers. Por exemplo, uma estação de trabalho da rede, com o Windows 2000 Professional, com o Windows XP professional ou com o Windows Vista tem um “resolver” instalado. Este componente de software é responsável por detectar sempre que um programa precisa de resolução de um nome e repassar esta consulta para um servidor DNS. O servidor DNS retorna o resultado da consulta, o resultado é retornado para o resolver, o qual repassa o resultado da consulta para o programa que originou a consulta.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Entendendo como funcionam as pesquisas do DNS&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Imagine um usuário, na sua estação de trabalho, navegando na Internet. Ele tenta acessar o site&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.juliobattisti.com.br/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;www.http://pablogonzalez853.blogspot.com.br/&lt;/a&gt;&amp;nbsp;O usuário digita este endereço e tecla Enter. O resolver (cliente do DNS instalado na estação de trabalho do usuário) detecta que existe a necessidade da resolução do nome&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.juliobattisti.com.br/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;www.http://pablogonzalez853.blogspot.com.br/&lt;/a&gt;, para descobrir o número IP associado com este nome. O resolver envia a pesquisa para o servidor DNS configurado como DNS primário, nas propriedades do TCP/IP da estação de trabalho (ou para o DNS informado pelo DHCP, caso a estação de trabalho esteja obtendo as configurações do TCP/IP, automaticamente, a partir de um servidor DHCP – assunto da&amp;nbsp;&lt;u&gt;Parte 10&lt;/u&gt;&amp;nbsp;deste tutorial). A mensagem envida pelo resolver, para o servidor DNS, contém três partes de informação, conforme descrito a seguir:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;O nome a ser resolvido&lt;/strong&gt;. No nosso exemplo:&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.juliobattisti.com.br/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;www.http://pablogonzalez853.blogspot.com.br/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;O tipo de pesquisa a ser realizado&lt;/strong&gt;&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;. Normalmente é uma pesquisa do tipo “resource record”, ou seja, um registro associado a um nome, para retornar o respectivo endereço IP. No nosso exemplo, a pesquisa seria por um registro do tipo A, na qual o resultado da consulta é o número IP associado com o nome que está sendo pesquisado. É como se o cliente perguntasse para o sevidor DNS: “Você conhece o número IP associado com o nome&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a class=&quot;style18&quot; href=&quot;http://www.juliobattisti.com.br/&quot; style=&quot;color: blue; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-decoration: initial;&quot;&gt;www.http://pablogonzalez853.blogspot.com.br/&lt;/a&gt;&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;?” E o servidor responde: “Sim, conheço. O número IP associado com o nome&lt;/span&gt;&lt;/span&gt;&lt;a class=&quot;style18&quot; href=&quot;http://www.juliobattisti.com.br/&quot; style=&quot;color: blue; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-decoration: initial;&quot;&gt;www.&lt;/a&gt;&lt;span style=&quot;color: blue; font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;http://pablogonzalez853.blogspot.com.br/&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;é o seguinte... Também podem ser consultas especializadas, como por exemplo, para localizar um DC (controlador de domínio) no domínio ou um servidor de autenticação baseado no protocolo Kerberos.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Uma classe associada com o nome DNS&lt;/strong&gt;. Para os servidores DNS baseados no Windows 2000 Server e Windows Server 2003, a classe será sempre uma classe de Internet (IN), mesmo que o nome seja referente a um servidor da Intranet da empresa.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Existem diferentes maneiras como uma consulta pode ser resolvida. Por exemplo, a primeira vez que um nome é resolvido, o nome e o respetivo número IP são armazenados em memória, no que é conhecido como Cache do cliente DNS, na estação de trabalho que fez a consulta. Na próxima vez que o nome for utilizado, primeiro o Windows procura no Cache DNS do próprio computador, para ver se não existe uma resolução anterior para o nome em questão. Somente se não houver uma resolução no Cache local do DNS, é que será envida uma consulta para o servidor DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Chegando a consulta ao servidor, primeiro o servidor DNS consulta o cache do servidor DNS. No cache do servidor DNS ficam, por um determinado período de tempo, as consultas que foram resolvidas anteriormente pelo servidor DNS. Esse processo agiliza a resolução de nomes, evitando repetidas resoluções do mesmo nome. Se não for encontrada uma resposta no cache do servidor DNS, o servidor pode tentar resolver a consulta usando as informações da sua base de dados ou pode enviar a consulta para outros servidores DNS, até que uma resposta seja obtida. A seguir descreverei detalhes deste procsso de enviar uma consulta para outros servidores, processo este chamado de recursão.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;&lt;u&gt;Em resumo, o processo de resolução de um nome DNS é composto de duas etapas:&lt;/u&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A consulta inicia no cliente e é passada para o resolver na estação de trabalho do cliente. Primeiro o resolver tenta responder a consulta localmente, usando recursos tais como o cache local do DNS e o arquivo hosts.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Se a consulta não puder ser resolvida localmente, o resolver envia a consulta para o servidor DNS, o qual pode utilizar diferentes métodos (descritos mais adiante), para a resolução da consulta.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
A seguir vou descrever as etapas envolvidas nas diferentes maneiras que o DNS utiliza para “responder” a uma consulta enviada por um cliente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Nota:&lt;/strong&gt;&amp;nbsp;Vou utilizar algumas figuras da ajuda do Windows 2000 Server para explicar a maneira como o DNS resolve consultas localmente (resolver) e os diferentes métodos de resolução utilizados pelo servidor DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Inicialmente considere o diagrama da Figura a seguir, contido na Ajuda do DNS, no Windows 2003 Server, diagrama este que apresenta uma visão geral do processo de resolução de nomes do DNS.&lt;br /&gt;&lt;br /&gt;&lt;img border=&quot;0&quot; height=&quot;231&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p8_clip_image004.gif&quot; width=&quot;589&quot; /&gt;&lt;br /&gt;&lt;strong&gt;Figura - O processo de resolução de nomes do DNS.&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
No exemplo desta figura, o cliente está em sua estação de trabalho e tenta acessar o site da Microsoft: www.microsoft.com. Ao digitar este endereço no seu navegador e pressionar Enter, o processo de resolução do nome www.microsoft.com é iniciado. Uma série de etapas são executadas, até que a resoluçõa aconteça com sucesso ou falhe em definitivo, ou seja, o DNS não consegue resolver o nome, isto é, não consegue encontrar o número IP associado ao endereço&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.microsoft.com/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;www.microsoft.com&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Primeira etapa:&lt;/strong&gt;&amp;nbsp;O DNS tenta resolver o nome, usando o resolver local:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Ao digitar o endereço www.microsoft.com e pressionar Enter, o processo de resolução é iniciado. Inicialmente o endereço é passado para o cliente DNS, na estação de trabalho do usuário. O cliente DNS é conhecido como resolver, conforme já descrito anteriormente, nome este que utilizarei a partir de agora. O cliente tenta resolver o nome utilizando um dos seguintes recursos:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;O cache DNS local:&lt;/strong&gt;&amp;nbsp;Sempre que um nome é resolvido com sucesso, o nome e a informação associada ao nome (normalmente o endereço IP), são mantidos na memória, o que é conhecido como cache local do DNS da estação de trabalho do cliente. Quando um nome precisa ser resolvido, a primeira coisa que o resolver faz é procurar no cache local. Encontrando no cache local, as informações do cache são utilizadas e a resolução está completa. O cache local torna a resolução mais rápida, uma vez que nomes já resolvidos podem ser consultados diretamente no cache, ao invés de terem que passar por todo o processo de resolução via servidor DNS novamente, processo este que você aprenderá logo a seguir. Pode acontecer situações onde informações incorretas foram gravadas no Cache Local e o Resolver está utilizando estas informações. Você pode limpar o Cache local, usando o comando ipconfig /flushdns Abra um prompt de Comando, digite o comando ipconfig /flushdns e pressione Enter. Isso irá limpar o Cache local.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;O arquivo hosts:&lt;/strong&gt;&amp;nbsp;Se não for encontrada a resposta no cache local do DNS, o resolver consulta as entradas do arquivos hosts, o qual é um arquivo de texto e fica na pasta onde o Windows Server foi instalado, dentro do seguinte caminho: \system32\drivers\etc (para o Windows NT 4, Windows 2000, Windows Server 2003 e Windos XP). O hosts é um arquivo de texto e pode ser editado com o bloco de notas. Este arquivo possui entradas no formato indicado a seguir, com um númeo IP por linha, podendo haver um ou mais nomes associados com o mesmo número IP:&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
10.200.200.3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; www.abc.com.br&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;intranet.abc.com.br&lt;br /&gt;10.200.200.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ftp.abc.com.br &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arquivos.abc.com.br&lt;br /&gt;10.200.200.18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; srv01.abc.com.br &amp;nbsp;&amp;nbsp;&amp;nbsp; pastas.abc.com.br &amp;nbsp;&amp;nbsp; pastas&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Se mesmo assim a consulta não for respondida, o resolver envia a consulta para o servidor DNS configurado nas propriedades do TCP/IP como servidor DNS primário ou configurado via DHCP, como servidor DNS primário.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Segunda etapa:&lt;/strong&gt;&amp;nbsp;Pesquisa no servidor DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Uma vez que a consulta não pode ser resolvida localmente pelo resolver, esta é enviada para o servidor DNS. Quando a consulta chega no servidor DNS, a primeira coisa que o servidor DNS faz é consultar as zonas para as quais ele é uma autoridade.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Por exemplo, vamos supor que o servidor DNS seja o servidor DNS primário para a zona vendas.abc.com.br (diz-se que ele é a autoridade para esta zona) e o nome&amp;nbsp; a ser pesquisado é srv01.vendas.abc.com.br. Neste caso o servidor DNS irá pesquisar nas informações da zona vendas.abc.com.br (para a qual ele é a autoridade) e responder a consulta para o cliente. Diz-se que o servidor DNS respondeu com autoridade (authoritatively).&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
No nosso exemplo (Figura anterior) não é este o caso, uma vez que o nome pesquisado é&amp;nbsp;&lt;a class=&quot;style18&quot; href=&quot;http://www.microsoft.com/&quot; style=&quot;color: blue; text-decoration: initial;&quot;&gt;www.microsoft.com&lt;/a&gt;&amp;nbsp;e o servidor DNS não é a autoridade, ou seja, não é o servidor DNS primário para o domíno microsoft.com. Neste caso, o servidor DNS irá pesquisar o cache do servidor DNS (não confundir com o cache local do DNS no cliente).&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
À medida que o servidor DNS vai resolvendo nomes, ele vai mantendo estas informações em um cache no servidor DNS. As entradas são mantidas em cache por um tempo que pode ser configurado pelo administrador do DNS. O cache do servidor DNS tem a mesma função do cache local do resolver, ou seja, agilizar a consulta a nomes que já foram resolvidos previamente. Se for encontrada uma entrada no cache do servidor DNS, esta entrada será utilizada pelo servidor DNS para responder a consulta enviada pelo cliente. e o processo de consulta está completo.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Caso o servidor DNS não possa responder usando informações de uma zona local do DNS e nem informações contidas no cache do servidor DNS, o processo de pesquisa continua, usando um processo conhecido como recursão (recursion), para resolver o nome. Agora o servidor DNS fará consultas a outros servidores para tentar responder a consulta enviada pelo cliente. O processo de recursão é ilustrado na Figura a seguir, da ajuda do DNS. Em seguida comentarei os passos envolvidos no processo de recursão.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;221&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p8_clip_image005.gif&quot; width=&quot;475&quot; /&gt;&lt;br /&gt;&lt;strong&gt;Figura - Resolução de nomes usando recursão&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O servidor DNS irá iniciar o processo de recursão com o auxílio de servidores DNS da Internet. Para localizar estes servidores, o servidor DNS utiliza as configurações conhecidas como “root hints”. Root hints nada mais é do que uma lista de servidores DNS e os respectivos endereços IP, dos servidores para o domínio root (representado pelo ponto .) e para os domínios top-level (.com, .net, gov e assim por diante). Esta lista é criada automaticamente quando o DNS é instalado e pode ser acessada através das propriedades do servidor DNS. Na Figura a seguir é exibida uma lista de root hints configuradas por padrão, em um servidor DNS, baseado no Windows 2000 Server:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img border=&quot;0&quot; height=&quot;466&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p8_clip_image006.gif&quot; width=&quot;404&quot; /&gt;&lt;br /&gt;&lt;strong&gt;Figura - Lista de root hints do servidor DNS.&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Com o uso da lista de servidores root hints, o servidor DNS consege localizar (teoricamente), os servidores DNS responsáveis por quaisquer domínio registrado.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Vamos novamente considerar um exemplo, para entender como o processo de recursão funciona. Imagine que a consulta enviada pelo cliente é para descobrir o endereço IP associado ao nome srv01.vendas.abc.com. O cliente que fez esta consulta está usando um computador da rede xyz.com, o qual está configurado para usar, como DNS primário, o DNS da empresa xyz.com.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Primeiro vamos assumir que o nome não pode ser resolvido localmente no cliente (usando o cache DNS local e o arquivo hosts) e foi enviado para o servidor DNS primário da empresa xyz.com. Este DNS é dono, é autoridade apenas para o domínio xyz.com e não para vendas.abc.com (lembrando sempre que a primeira parte do nome é o nome da máquina, conhecido como nome de host). Com isso o servidor DNS primário da empresa xyz.com.br irá pesquisar no cache do servidor DNS. Não encontrando a resposta no cache, é iniciado o processo de recursão, com os passos descritos a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS retira apenas a parte correspondente ao domínio (o nome todo, menos a primeira parte. No nosso exemplo seria vendas.abc.com, srv01 é o nome de host). Usando a lista de servidores DNS configurados como root hints, o servidor DNS localiza um servidor que seja o dono, a autoridade para o domínio&amp;nbsp; root da Internet, representado pelo ponto (o processo é assim mesmo, de trás para frente).&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Localizado o servidor responsável pelo domínio root, o servidor DNS da empresa xyz.com&amp;nbsp; envia uma consulta interativa para o servidor DNS responsável pelo domínio root, perguntando:&amp;nbsp;&lt;strong&gt;“Você sabe quem é o servidor DNS responsável pelo domínio .com?”&lt;/strong&gt;. O servidor DNS root responde com o endereço IP de um dos servidores DNS responsáveis pelo domínio .com. Ou seja, o servidor DNS root não sabe responder diretamente o nome que está sendo resolvido, mas sabe para quem enviar, sabe a quem recorrer. Talvez daí venha o nome do processo recursão.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS do domínio xyz.com recebe a resposta informando qual o servidor DNS responsável pelo domínio .com.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS do domínio xyz.com envia uma consulta para o servidor DNS responsável pelo .com (informado no passo 3), perguntando:&lt;strong&gt;“Você é a autoridade para abc.com ou saberia informar quem é a autoridade para abc.com?”&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
5.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS responsável pelo domínio .com não é a autoridade para abc.com, mas sabe informar quem é a autoridade deste domínio. O servidor DNS resonsável pelo .com retorna para o servidor DNS do domínio xyz.com, o número IP do servidor DNS responsável pelo domínio abc.com.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS do domínio xyz.com recebe a resposta informando o número IP do servidor responsável pelo domínio abc.com.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
7.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS do domínio xyz.com envia uma consulta para o servidor DNS&lt;br /&gt;responsável pelo abc.com (informado no passo 6), perguntando:&amp;nbsp;&lt;strong&gt;“Você é a autoridade para vendas.abc.com ou saberia informar quem é a autoridade para vendas.abc.com?”&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
8.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS responsável pelo abc.com não é a autoridade para vendas.abc.com, mas sabe informar quem é a autoridade deste domínio. O servidor DNS resonsável pelo abc.com retorna para o servidor DNS do domínio xyz.com, o número IP do servidor DNS responsável pelo domínio vendas.abc.com.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
9.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS do domínio xyz.com recebe a resposta informando o número IP do servidor responsável pelo domínio vendas.abc.com.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
10.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS do domínio xyz.com envia uma consulta para o servidor DNS responsável pelo vendas.abc.com (informado no passo 9), perguntando:&amp;nbsp;&lt;strong&gt;“Você é a autoridade para vendas.abc.com ou saberia informar quem é a autoridade para vendas.abc.com?”&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
11.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS para vendas.abc.com recebe a consulta para resolver o nome srv01.vendas.abc.com. Como este servidor é a autoridade para o domínio, ele pesquisa a zona vendas.abc.com, encontra o registro para o endereço serv01.vendas.abc.com e retornar esta inforamação para o servidor DNS do domínio xyz.com.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
12.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; O servidor DNS do domínio xyz.com recebe a resposta da consulta, faz uma cópia desta resposta no cache do servidor DNS e retornar o resultado para o cliente que originou a consulta.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
13,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; No cliente o resolver recebe o resultado da consulta, repassa este resultado para o programa que gerou a consulta e grava uma cópia dos dados no cache local do DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Evidentemente que a descrição do processo demora muito mais tempo do que o DNS realmente leva para resolver um nome usando este método. Claro que a resolução é rápida, senão ficaria praticamente impossível usar a Internet. Além disso, este método traz algumas vantagens. Durante esta espécie de “pingue-pongue” entre o servidor DNS e os servidores DNS da Internet, o servidor DNS da empresa vai obtendo informações sobre os servidores DNS da Internet e grava estas informações no cache local do servidor DNS. Isso agiliza futuras consultas e reduz, significativamente, o tempo para a resolução de nomes usando o processo de recursão. Estas informações são mantidas na memória do servidor e com o passar do tempo podem ocupar um espaço considerável da memória. Toda vez que o serviço DNS for parado e iniciado novamente, estas informações serão excluídas da memória e o processo de cache inicia novamente.&lt;/div&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Considerações e tipos especiais de resoluções&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O processo descrito anteriormente, termina com o servidor DNS (após ter consultado vários outros servidores) retornando uma resposta positiva para o cliente, isto é, conseguindo resolver o nome e retornando a informação associada (normalmente o número IP associado ao nome) para o cliente. Mas nem sempre a resposta é positiva, muitos outros tipos de resultados podem ocorrer em resposta a uma consulta, tais como:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;An authoritative answer (resposta com autoridade):&lt;/strong&gt;&amp;nbsp;Este tipo de resposta é obtido quando o nome é resolvido diretamente pelo servidor DNS que é a autoridade para o domínio pesquisado. Por exemplo, um usuário da Intranet da sua empresa (abc.com.br), tenta acessar uma página da intranet da empresa, por exemplo: rh.abc.com.br. Neste caso a consulta será enviada para o servidor DNS da empresa, o qual é a autoridade para a zona abc.com.br, com isso o servidor DNS da empresa, responde diretamente à consulta, informando o número IP do servidor rh.abc.com.br. É também uma resposta positiva só que com autoridade, ou seja, respondida diretamente pelo servidor DNS que é a autoridade para o domínio pesquisado, sem a necessidade de usar recursão.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;A positive answer&amp;nbsp; (resposta positiva):&lt;/strong&gt;&amp;nbsp;É uma resposta com o resultado para o nome pesquisado, isto é, o nome pôde ser resolvido e uma ou mais informações associadas ao nome são retornadas para o cliente.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;A referral answer (uma referência):&lt;/strong&gt;&amp;nbsp;Este tipo de resposta não contém a resolução do nome pesquisado, mas sim informações e referência a recursos ou outros servidores DNS que podem ser utilizados para a resolução do nome. Este tipo de resposta será retornado para o cliente, se o servidor DNS não suportar o método de recursão, descrito anteriormente. As informações retornadas por uma resposta deste tipo são utilizadas pelo cliente para continuar a pesquisa, usando um processo conhecido como interação (o qual será descrito mais adiante). O cliente faz a pesquisa em um servidor DNS e recebe, como resposta, uma referência a outro recurso ou servidor DNS. Agora o cliente irá interagir com o novo recurso ou servidor DNS, tentando resolver o nome. Este processo pode continuar até que o nome seja resolvido ou até que uma resposta negativa seja retornada, indicando que o nome não pode ser resolvido. O processo de interação será descrito mais adiante.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;A negative answer (uma resposta negativa):&lt;/strong&gt;&amp;nbsp;Esta resposta pode indicar que um dos seguintes resultados foi obtido em resposta à consulta: Um servidor DNS que é autoridade para o domínio pesquisado, informou que o nome pesquisado não existe neste domínio ou um servidor DNS que é autoridade para o domínio pesquisado, informou que o nome pesquisado exsite, mas o tipo de registro não confere.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Uma vez retornada a resposta, o resolver interpreta o resultado da resposta (seja ela positiva ou negativa) e repassa a resposta para o programa que fez a solicitação para resolução de nome. O resolver armazena o resultado da consulta no cache local do DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;&lt;u&gt;Dica Importante&lt;/u&gt;&lt;/strong&gt;&lt;strong&gt;:&lt;/strong&gt;&amp;nbsp;O administrador do DNS pode desabilitar o recurso de recursão em um servidor DNS em situações onde os usuários devem estar limitados a utilizar apenas o servidor DNS da Intranet da empresa.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O servidor DNS também define tempos máximos para determinadas operações. Uma vez atingido o tempo máximo, sem obter uma resposta à consulta, o servidor DNS irá retornar uma resposta negativa:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Intervalo de reenvio de uma consulta recursiva – 3 segundos:&lt;/strong&gt;&amp;nbsp;Este é o tempo que o DNS espera antes de enviar novamente uma consulta&amp;nbsp; (caso não tenha recebido uma resposta) feita a um servidor DNS externo, duranto um processo recursivo.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Intervalo de time-out para um consulta recursiva – 15 segundos:&lt;/strong&gt;&amp;nbsp;Este é o tempo que o DNS espera antes de determinar que uma consulta recursiva, que foi reenviada falhou.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Estes parâmetros podem ser alterados pelo Administrador do DNS.&lt;/div&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Como funciona o processo de interação&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O processo de interação é utilizado entre o cliente DNS (resolver) e um ou mais servidores DNS, quando ocorrerem as condições indicadas a seguir:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;O cliente tenta utilizar o processo de recursão, discutido anteriormente, mas a recursão está desabilitada no servidor DNS.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;O cliente não solicita o uso de recursão, ao pesquisar o servidor DNS.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;O cliente faz uma consulta ao servidor DNS, informando que é esperada a melhor resposta que o servidor DNS puder fornecer imediatamente, sem consultar outros servidores DNS.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Quando o processo de interação é utilizado, o servidor DNS responde à consulta do cliente com base nas informações que o servidor DNS tem sobre o domínio pesquisado. Por exemplo, o servidor DNS da sua rede interna pode receber uma consulta de um cliente tentando resolver o nome www.abc.com. Se este nome estiver no cache do servidor DNS ele responde positivamente para o cliente. Se o nome não estiver no cache do servidor DNS, o servidor DNS responde com uma lista de servidores de referência, que é uma lista de registros do tipo NS e A (você aprenderá sobre os tipos de registro na parte prática), registros estes que apontam para outros servidores DNS, capazes de resolver o nome pesquisado. Ou seja, o cliente recebe uma lista de servidores DNS para os quais ele deve enviar a consulta. Observem a diferença básica entre o processo de recursão e o processo de interação. Na recursão, o servidor DNS é que entra em contato com outros servidores (root hints), até conseguir resolver o nome pesquisado. Uma vez resolvido o nome, ele retorna a resposta para o cliente. Já no processo de interação, se o servidor DNS não consegue resolver o nome, ele retorna uma lista de outros servidores DNS que talvez possam resolver o nome pesquisado. O cliente recebe esta lista e envia a consulta para os servidores DNS informados. Este processo (esta interação) continua até que o nome seja resolvido ou que uma resposta negativa seja recebida pelo cliente, informando que o nome não pode ser resolvido. Ou seja, no processo de interação, a cada etapa do processo, o servidor DNS retorna para o cliente, uma lista de servidores DNS a serem pesquisados, até que um dos servidores responde positivamente (ou negativamente) à consulta feita pelo cliente.&lt;/div&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Como funciona o cache nos servidores DNS&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O trabalho básico do servidor DNS é responder às consultas enviadas pelos clientes, quer seja utilizando recursão ou interação. A medida que os nomes vão sendo resolvidos, esta informação fica armazenada no cache do servidor DNS. Com o uso do cache, futuras consultas à nomes já resolvidos, podem ser respondidas diretamente a partir do cache do servidor DNS, sem ter que utilizar recursão ou interação. O uso do cache agiliza o processo de resolução de nomes e também reduz o tráfego de rede gerado pelo DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Quando as informações são gravadas no cache do servidor DNS, um parâmetro chamado Time-To-Live (TTL) é associado com cada informação. Este parâmetro determina quanto tempo a informação será mantida no cache até ser descartada. O parâmetro TTL é utilizado para que as informações do cache não se tornem desatualizadas e para minimizar a possibilidade de envio de informações desatualizadas em resposta às consultas dos clientes. O valor padrão do parâmetro TTL é 3600 segundos (uma hora). Este parâmetro pode ser configurado pelo administrador do DNS, conforme será mostrado na parte prática, nas partes de 21 a 50, as quais constituem o Módulo 2 deste curso.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;&lt;u&gt;Aviso Importante:&lt;/u&gt;&lt;/strong&gt;&amp;nbsp;Por padrão o Servidor DNS utiliza um arquivo chamado Cache.dns, o qual fica gravado na pasta systemroot\System32\Dns, onde systemroot representa a pasta onde o Windows 2000 Server ou Windows Server 2003 está instalado. Este arquivo não tem a ver com o Cache de nomes do servidor DNS. Neste arquivo está contida a lista de servidores root hints (descritos anteriormente). O conteúdo deste arquivo é carregado na memória do servidor, durante a inicialização do serviço do DNS e é utilizado para localizar os servidores root hints da Internet, servidores estes utilizados durante o processo de recursão, descrito anteriormente.&lt;/div&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/8603366246559667519/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/definindo-dns-dns-e-abreviatura-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/8603366246559667519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/8603366246559667519'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/definindo-dns-dns-e-abreviatura-de.html' title=''/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-7363418096728140662</id><published>2013-02-24T10:24:00.000-08:00</published><updated>2013-02-24T10:24:40.783-08:00</updated><title type='text'>Zonas de pesquisa inversa</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Zonas de pesquisa inversa – Reverse Lookup Zones - Conceito&lt;/div&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;A maioria das consultas para resolução de nomes, realizadas pelos clientes são consultas diretas – Forward Lookup. Neste tipo de consulta o cliente tem um nome DNS e quer pesquisar uma informação associada com o nome, normalmente um endereço IP. Ou seja, a resposta esperada é o endereço IP associado com o nome pesquisado. Por exemplo, quando você digita&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;u style=&quot;color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;a href=&quot;http://www.juliobattisti.com.br/&quot; style=&quot;color: black; text-decoration: initial;&quot;&gt;http://www.&lt;/a&gt;&lt;/u&gt;&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;u&gt;pablogonzalez853.blogspot.com.br&lt;/u&gt;&amp;nbsp;no seu navegador, o servidor DNS faz uma pesquisa direta, para tentar encontrar o número IP associado com o nome www.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; font-size: 12px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, Arial, Helvetica, sans-serif;&quot;&gt;pablogonzalez853.blogspot.com.br&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
O DNS também dá suporta as chamadas pesquisas inversas (Reverse Lookup), na qual o cliente tem um endereço IP válido e deseja localizar o nome associado com o endereço IP. Vejam que é o contrário da pesquisa direta (por isso que o nome é pesquisa reversa). Na pesquisa direta o cliente tem o nome e deseja localizar o endereço IP associado. Na pesquisa reversa o usuário tem o endereço IP e deseja localizar o nome associado.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Originalmente o DNS não foi projetado para dar suporte a este tipo de consulta. Pela maneira hierárquica como o DNS está organizado, a única maneira para responder este tipo de consulta, se fossem utilizadas apenas as zonas diretas, seria pesquisar todos os servidores DNS existentes o que faria com que o tempo de consulta fosse muito elevado, o que inviabilizaria o uso de pesquisas reversas.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Para resolver esta questão foi criado um domínio especial, com o nome de&amp;nbsp;&lt;strong style=&quot;color: #990000;&quot;&gt;in-addr.arpa&lt;/strong&gt;. Este domínio faz parte das definições atuais do DNS e foi a maneira encontrada para fornecer a resolução reversa de nomes, sem que houvesse a necessidade de pesquisar em todos os servidores DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Para criar o espaço de nomes reverso, são criados subdomínios do domínio especial in-addr.arpa. O nome destes subdomínios é formado pela ordem inversa do número IP da rede.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Por exemplo, considere a rede&amp;nbsp;&lt;strong style=&quot;color: #990000;&quot;&gt;100.20.50.0/255.255.255.0&lt;/strong&gt;. A zona para resolução reversa desta rede seria a seguinte:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000;&quot;&gt;50.20.100.in-addr.arpa&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Observe que coloquei os números da rede de trás para a frente como um sub-domínio do domínio especial in-addr.arpa. Esta ordem inversa é necessária porque, você deve estar lembrado do tópico sobre como são resolvidas as consultas do DNS, que a resolução é feita de trás para frente. Ao reverter os números, para formar o sub-domínio, quando os números são lidos de trás para a frente eles ficam na ordem certa. Por exemplo, lendo&lt;strong&gt;50.20.100&lt;/strong&gt;&amp;nbsp;de trás para frente fica:&amp;nbsp;&lt;strong&gt;100.20.50&lt;/strong&gt;, ou seja, o número da rede na ordem certa.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Nota:&lt;/strong&gt;&amp;nbsp;O uso do domínio in-addr.arpa é aplicado a todas as redes baseadas no protocolo IP versão 4 (IPv4), que utiliza endereços IP de 32 bits.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Importante:&lt;/strong&gt;&amp;nbsp;Os mecanismos de recursão e interação, utilizados para a resolução direta de nomes, também são utilizados para a resolução reversa.&lt;/div&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Criando uma zona reversa&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
A seguir você aprenderá a criar uma zona reversa. Você criará uma zona reversá para a rede 120.200.35.0/255.255.255.0. A primeira etapa é determinar o nome da zona reversa (na prática isso não seria necessário, pois o assistente de criação nós dá uma ajuda neste sentido). A determinação do nome da zone reversa é bastante simples:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
1. Inverta os octetos que compõem a rede: 35.200.120 (é o inverso de 120.200.35).&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
2. O número já invertido é criado com um sub-domínio do domínio in-addr.arpa: 35.200.120.in-addr.arpa.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;u&gt;&lt;strong&gt;Para criar a zona reversa 35.200.120.in-addr.arpa, siga os passos indicados a seguir:&lt;/strong&gt;&lt;/u&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
1. Faça o logon como administrador ou com uma conta com permissão de administrador.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
2. Abra o console DNS&lt;strong&gt;: Iniciar -&amp;gt; Programas -&amp;gt; Ferramentas Administrativas -&amp;gt; DNS&lt;/strong&gt;.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
3. Será exibido o console DNS. No painel da esquerda, por padrão, estão disponíveis as seguintes opções:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;Zonas de pesquisa direta&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;Zonas de pesquisa inversa&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
4. Neste exemplo você utilizará a opção Zonas de pesquisa inversa. Clique com o botão direito do mouse neste opção.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
5. No menu de opções que é exibido clique em&amp;nbsp;&lt;strong&gt;Nova Zona...&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
6. Será aberto o assistente para a criação de uma nova zona.. A primeira tela do assistente é apenas informativa. Clique em Avançar, para seguir para a próxima etapa do assistente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
7. Nesta etpa você deve informar o tipo de zona a ser criada. Estão disponíveis as opções Integrada ao Active Directory, Primária Padrão e Secundária padrão. Você aprenderá sobre zonas secundárias e sobre a integração com o Active Directory, em outras partes deste tutorial. Se o servidor que você está utilzando for um DC, estará disponível a opção Integrada com o Active Directory. Você também aprenderá sobre esta opção mais adiante e sobre a integração do DNS com o Active Directory. Para o nosso exemplo, defina as configurações indicadas na Figura a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img height=&quot;303&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p25_clip_image006.jpg&quot; width=&quot;395&quot; /&gt;&lt;br /&gt;&lt;strong class=&quot;legendafig&quot; style=&quot;color: #000066; font-family: &#39;Courier New&#39;, Courier, mono;&quot;&gt;Figura - Criando uma zona primária, não integrada com o Active Directory.&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
8. Clique em Avançar, para seguir para a próxima etapa do assistente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
9. Nesta etapa será solicitado que você digite a identificação da rede. Digite a identificação na ordem normal. O próprio assistente se encarrega de inverter a ordem dos octetos da rede, para formar o nome da zona reversa. Digite, por exemplo 35.200.120 e o assistente gera o nome da zona reversa, conforme exemplo da Figura a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img height=&quot;386&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p25_clip_image007.gif&quot; width=&quot;503&quot; /&gt;&lt;br /&gt;&lt;span class=&quot;legendafig&quot; style=&quot;color: #000066; font-family: &#39;Courier New&#39;, Courier, mono; font-weight: bold;&quot;&gt;Figura - Geração automática do nome da zona reversa.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
10. Clique em Avançar, para seguir para a próxima etapa do assistente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
11. Nesta etapa você define se deseja criar um novo arquivo onde serão gravadas as informações sobre a zona reversa&amp;nbsp;&lt;strong&gt;120.200.35.in-addr.arpa&lt;/strong&gt;ou se deseja usar um arquivo já existente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Nota:&lt;/strong&gt;&amp;nbsp;Você pode utilizar um arquivo existente, caso a zona já existisse previamente e houve problemas no servidor DNS. Neste caso você poderá recriar a zona e mandar usar o arquivo já existente anteriormente. Ao fazer isso, todas as informações contidas anteriormente serão recuperadas a partir do arquivo já existente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
No nosso exemplo vamos salvar as informações da zona em um novo arquivo. Por padrão, para o nome do arquivo, o assistente sugere o nome da zona com a extensão .dns. O arquivo será criado na pasta&amp;nbsp;&lt;strong&gt;systemroot\System32\Dns&lt;/strong&gt;&amp;nbsp;, onde systemroot representa a pasta onde está instalado o Windows 2000 Server. Vamos aceitar esta opção, conforme indicado na Figura a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img height=&quot;386&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p25_clip_image008.gif&quot; width=&quot;503&quot; /&gt;&lt;br /&gt;&lt;strong class=&quot;legendafig&quot; style=&quot;color: #000066; font-family: &#39;Courier New&#39;, Courier, mono;&quot;&gt;Figura - Definindo o nome do arquivo onde serão salvas as informações.&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
12. Clique em Avançar, para seguir para a próxima etapa do assistente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
13. Será exibida a tela final do assistente. Se você quiser alterar alguma opção pode utilizar o botão Voltar. Clique em Concluir, para criar a zona primária reversa: 120.200.35.in-addr.arpa.dns, conforme indicado na Figura a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img height=&quot;279&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p25_clip_image009.gif&quot; width=&quot;643&quot; /&gt;&lt;br /&gt;&lt;span class=&quot;legendafig&quot; style=&quot;color: #000066; font-family: &#39;Courier New&#39;, Courier, mono; font-weight: bold;&quot;&gt;Figura - A zona 120.200.35.in-addr.arpa.dns, recém criada.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;span class=&quot;titulon2&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold;&quot;&gt;Conclusão&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nesta parte do tutorial apresentei o conceito de zona reversa e mostrei como é simples a criação de uma zona reversa, no servidor DNS do Windows 2000 Server.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Nas próximas partes deste tutorial, segundo dentro da filosofia de apresentar ações práticas, você aprenderá sobre a criação de registros em uma zona do DNS.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/7363418096728140662/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/zonas-de-pesquisa-inversa.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/7363418096728140662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/7363418096728140662'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/zonas-de-pesquisa-inversa.html' title='Zonas de pesquisa inversa'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-7752655398631776742</id><published>2013-02-24T10:18:00.000-08:00</published><updated>2013-02-24T10:18:07.300-08:00</updated><title type='text'>Trabalhando com registros do DNS</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Trabalhando com registros do DNS&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Um banco de dados de um servidor DNS é constituído por uma ou mais zonas, conforme já descrito anteriormente, em outras partes desta série de tutoriais. Em cada zona ficam armazenados os registros do DNS. Os registros armazenam informações de uma maneira estruturada. O DNS do Windows 2003 Server suporta uma série de registros. Nesta parte do tutorial vou destacar os principais tipos de registros suportados pelo DNS do Windows 2003 Server. Na Ajuda do DNS (menu Ajuda do console DNS), você encontra uma referência completa, de todos os registros suportados pelo DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Todos os registros do DNS tem uma estrutura padrão, com um conjunto determinado de campos de informação. Até podemos fazer a analogia com uma tabela de um banco de dados, no modelo relacional de dados, onde cada registro é determinado por um conjunto de campos de informação.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Os registros do DNS no Windows 2003 Server, contém os seguintes campos de informação:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Dono (Owner):&lt;/strong&gt;&amp;nbsp;Indica o nome do domínio DNS no qual o registro se encontra, ou em outras palavras, o domínio DNS que é dono (owner) do registro. Este é o nome que é exibido no console DNS.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Time to Live (TTL):&lt;/strong&gt;&amp;nbsp;Para a maior parte dos tipos de registro este campo é opcional. Este campo é utilizado por outros servidores DNS, para determinar por quanto tempo o registro será armazanado no cache destes servidores, após o registro ter sido carregado em resposta a uma consulta feita ao servidor. Transcorrido o tempo definido neste campo, o registro é descartado. A maioria dos registros criados pelo DNS herdam o valor padrão para o TTL que é de uma hora (3600 segundos). Este valor é herdado da definição do TTL do registro SOA – Start of Authority, que é o principal registro de uma zona, registro que define uma série de características de uma zona. Você pode definir individualmente, para cada registro, um valor de TTL diferente do valor herdado do registro SOA. Você também pode definir um valor igual a zero (0), para registros que não devam ser mantidos no cache dos servidores DNS.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Class:&lt;/strong&gt;&amp;nbsp;Contém um texto padrão, indicativo da classe do registro. Por exemplo, um valor igual a “IN”, indica que o registro pertence a classe Internet, aliás única classe suportada pelo DNS do Windows 2003 Server. Este campo é obrigatório, embora tenha sempre o mesmo valor no DNS do Windows 2003 Server.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Type:&lt;/strong&gt;&amp;nbsp;Contém um texto padrão, indicativo do tipo do registro. Por exemplo, um tipo igual a “A” indica um registro que armazena informações de endereço. É o tipo mais comum, onde é gravado um número IP associado com um nome. Este campo é obrigatório.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;&lt;strong&gt;Dados do registro (Record-specific data):&lt;/strong&gt;&amp;nbsp;Contém os dados do registro. Por exemplo, para um registro do tipo “A”, conterá o nome e o número IP associado com o nome. É obrigatório.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Agora que você já conhece a estrutura de um registro do DNS, é hora de aprender sobre os principais tipos de registros. Conforme descrito anteriormente, você encontra uma referência completa sobre todos os tipos de registros, na Ajuda do DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Descrição de alguns dos principais tipos de registros do DNS do Windows 2003 Server:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000; font-size: 18px;&quot;&gt;A&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Descrição:&lt;/strong&gt;&amp;nbsp;Endereço de Host (Host address (A) resource record). É o tipo mais utilizado, faz o mapeamento de um nome DNS para um endereço IP versão 4, de 32 bits.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Exemplos:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
host1.example.microsoft.com.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IN A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;127.0.0.1&lt;br /&gt;srv01.abc.com.br&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IN A 100.100.200.150&lt;br /&gt;srv02.abc.com.br&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IN A 100.100.200.151&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000; font-size: 18px;&quot;&gt;AAAA&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Descrição:&lt;/strong&gt;&amp;nbsp;Endereço de host IPv6 (IPv6 host address (AAAA)). Faz o mapeamento de um nome DNS para um endereço IP versão 6, de 128 bits.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Exemplo:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
ipv6_host1.example.microsoft.com.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IN AAAA 4321:0:1:2:3:4:567:89ab&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000; font-size: 18px;&quot;&gt;CNAME&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Descrição:&lt;/strong&gt;&amp;nbsp;Canonical name (CNAME): Mapeia um alias (apelido) ou nome DNS alternativo. Por exemplo, suponha que o site da empresa esteja no servidor srv01.abc.com.br. Porém na internet, os usuários irão utilizar o nome www.abc.com.br. Neste caso basta criar um alias www que faz referência ao nome srv01.abc.com.br. Pronto, quando os usuários digitarem www.abc.com.br estarão acessando, na verdade, o endereço srv01.abc.com.br. Porém para o usuário, tudo ocorre transparentemente, como se o nome fosse realmente www.abc.com.br.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Exemplo:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
www.abc.com.br. CNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;srv01.abc.com.br.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000; font-size: 18px;&quot;&gt;HINFO&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Descrição&lt;/strong&gt;&amp;nbsp;: Host information (HINFO): Utilizado para armazenar informações sobre o hardware do servidor DNS, tais como tipo de CPU, tipo e versão do sistema operacional e assim por diante. Estas informações pode ser utilizadas por protocolos como por exemplo o ftp, o qual utiliza procedimentos diferentes, para diferentes sistemas operacionais&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Exemplo:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
my-computer-name.example.microsoft.com.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HINFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INTEL-386 WIN32&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000; font-size: 18px;&quot;&gt;MX&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Descrição&lt;/strong&gt;&amp;nbsp;: Mail exchanger (MX): Fornece informações utilizadas pelos servidores de e-mail, para o roteamento de mensagens. Cada host definido em um registro MX deve ter um correspondente registro do tipo A em uma zona válida, no servidor DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Exemplo:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
example.microsoft.com.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MX 10 mailserver1.example.microsoft.com&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Nota&lt;/strong&gt;&amp;nbsp;: O número de dois dígitos após o MX, é um indicativo da ordem de preferência quando mais de um registro MX é configurado na mesma zona.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000; font-size: 18px;&quot;&gt;NS&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Descrição&lt;/strong&gt;&amp;nbsp;: É utilizado para relacionar um nome DNS com o seu dono, ou seja, o servidor que é a autoridade para o nome DNS. Ou em outras palavras, o servidor DNS onde está a zona primária associada ao nome.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Exemplo:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
example.microsoft.com.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IN NS nameserver1.example.microsoft.com&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000; font-size: 18px;&quot;&gt;PTR&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Descrição&lt;/strong&gt;&amp;nbsp;: Pointer (PTR): É utilizado em zonas reversas, para fazer o mapeamento reverso, ou seja, o mapeamento de um número IP para um nome. Ao criar um registro do tipo A, em uma zona direta, você pode criar, automaticamente, o registro PTR associad, se já houver uma zona reversa configurada.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Exemplo:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
10.20.20.10.in-addr.arpa.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PTR host.example.microsoft.com.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong style=&quot;color: #990000; font-size: 18px;&quot;&gt;SOA&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Descrição&lt;/strong&gt;&amp;nbsp;: Start of authority (SOA): O principal registro, o registro que define mutas das característias de uma zona. Contém o nome da zona e o nome do servidor que é a autoridade para a referida zona, ou seja, o servidor DNS onde está a zona foi criada originalmente. Contém também a definição de outras características básicas da zona. É sempre o primeiro registro da zona, pois é criado durante a criação da zona. Define características tais como o número serial da zona (que é um indicativo se houve ou não alterações na zona. Este número é utilizado para controlar a replicação entre a zona primária e as zonas secundárias), o valor do TTL para os demais registros da zona e assim por diante.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Exemplo:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
@ IN SOA nameserver.example.microsoft.com. postmaster.example.microsoft.com. (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; serial number&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; refresh [1h]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; retry [10m]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;86400&amp;nbsp;&amp;nbsp;&amp;nbsp;; expire [1d]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3600 )&amp;nbsp;&amp;nbsp;&amp;nbsp;; min TTL [1h]&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Sobre registros do DNS era isso. Nas próximas partes deste tutorial você aprenderá sobre zonas reversas e aprenderá a criar zonas reversas. Em seguida aprenderá a criar registros, tanto em uma zona direta, quanto em uma zona reversa.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;span class=&quot;titulon2&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold;&quot;&gt;Conclusão&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nesta parte do tutorial fiz uma apresentação e descrição dos principais registros disponíveis em zonas do servidor DNS do Windows 2003 Server.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Nas próximas partes deste tutorial, segundo dentro da filosofia de apresentar ações práticas, você aprenderá sobre a criação de zonas reversas e sobre a criação de registros em zonas diretas e em zonas reversas do DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/7752655398631776742/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/trabalhando-com-registros-do-dns.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/7752655398631776742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/7752655398631776742'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/trabalhando-com-registros-do-dns.html' title='Trabalhando com registros do DNS'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-3283216917859938003</id><published>2013-02-24T09:54:00.000-08:00</published><updated>2013-02-24T09:54:37.617-08:00</updated><title type='text'>Criando uma zona de DNS </title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;titulon2&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; text-align: justify;&quot;&gt;
Criando uma zona Primária Direta&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Exemplo:&lt;/strong&gt;&amp;nbsp;Criar a zona primária direta (Forward Lookup Zone) para conter os registros do domínio xyz.com.br. Para criar esta zona siga os passos indicados a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
1. Faça o logon como administrador ou com uma conta com permissão de administrador.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
2. Abra o console DNS:&amp;nbsp;&lt;strong&gt;Iniciar -&amp;gt; Programas -&amp;gt; Ferramentas Administrativas -&amp;gt; DNS&lt;/strong&gt;.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
3. Será exibido o console DNS. No painel da esquerda, por padrão, estão disponíveis as seguintes opções:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;Zonas de pesquisa direta&lt;/li&gt;
&lt;li style=&quot;padding-bottom: 10px;&quot;&gt;Zonas de pesquisa inversa&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;strong&gt;Nota:&lt;/strong&gt;&amp;nbsp;O console DNS pode ser utilizado para gerenciar toda a estrutura de DNS da empresa de uma maneira centralizada. O administrador pode usar o console DNS para conectar-se com outros servidores DNS da rede da empresa e gerenciar zonas e configurações dos diversos servidores DNS da rede, a partir de um único console DNS, centralizadamente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Na Figura a seguir, apresento um exemplo onde estou utilizando o console DNS para gerenciar dois servidores DNS diferentes. Para conectar-se a um servidor DNS remoto basta clicar com o botão direito do mouse na opção DNS (primeira opção, bem em cima, no painel da esquerda). No menu de opções que é exibido clique em&amp;nbsp;&lt;strong&gt;Conectar-se ao Computador....&lt;/strong&gt;&amp;nbsp;Será exibida a janela&amp;nbsp;&lt;strong&gt;Selecionar máquina de destino&lt;/strong&gt;. Clique na opção&amp;nbsp;&lt;strong&gt;No seguinte computador&lt;/strong&gt;. Ao lado desta opção digite o nome ou o endereço IP do servidor DNS a ser acessado. Clique em OK e pronto, agora você pode gerenciar o servidor DNS remotamente. O administrador responsável pela DNS pode criar um console personalizado, onde são adicionados os vários servidores DNS pelos quais ele é responsável.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Feito este breve comentário, vamos voltar a criação de uma zona direta, no servidor DNS do Windows 2000 Server.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img height=&quot;266&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p23_clip_image005.gif&quot; width=&quot;468&quot; /&gt;&lt;br /&gt;&lt;span class=&quot;legendafig&quot; style=&quot;color: #000066; font-family: &#39;Courier New&#39;, Courier, mono; font-weight: bold;&quot;&gt;Figura - Gerenciando vários servidores DNS em um único console.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
4. Neste exemplo você utilizará a opção&amp;nbsp;&lt;strong&gt;Zonas de pesquisa direta&lt;/strong&gt;. Clique com o botão direito do mouse nesta opção.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
5. No menu de opções que é exibido clique em&amp;nbsp;&lt;strong&gt;Nova Zona...&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
6. Será aberto o assistente para a criação de uma nova zona.. A primeira tela do assistente é apenas informativa. Clique em Avançar, para seguir para a próxima etapa do assistente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
7. Nesta etpa você deve informar o tipo de zona a ser criada. Estão disponíveis as opções Integrada ao Active Directory, Primária Padrão e Secundária padrão. Você aprenderá sobre zonas secundárias e sobre a integração com o Active Directory, nas próximas partes deste tutorial. Se o servidor que você está utilzando for um DC, estará disponível a opção Integrada com o Active Directory. Você também aprenderá sobre esta opção, nas próximas partes deste tutorial e também sobre a integração do DNS com o Active Directory. Para o nosso exemplo, defina as configurações indicadas na Figura a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img height=&quot;304&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p23_clip_image007.jpg&quot; width=&quot;395&quot; /&gt;&lt;br /&gt;&lt;span class=&quot;legendafig&quot; style=&quot;color: #000066; font-family: &#39;Courier New&#39;, Courier, mono; font-weight: bold;&quot;&gt;Figura - Criando uma zona primária, não integrada com o Active Directory.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
8. Clique em Avançar, para seguir para a próxima etapa do assistente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
9. Nesta etapa será solicitado o nome da zona. Digite&amp;nbsp;&lt;strong&gt;xyz.com.br&lt;/strong&gt;&amp;nbsp;no campo&amp;nbsp;&lt;strong&gt;Nome da Zona&lt;/strong&gt;&amp;nbsp;e clique em Avançar, para seguir para a próxima etapa do assistente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
10. Nesta etapa você define se deseja criar um novo arquivo onde serão gravadas as informações sobre a zona xyz.com.br ou se deseja usar um arquivo existente. Você pode utilizar um arquivo existente, caso a zona já existisse anteriormente e houve problemas no servidor. Neste caso você poderá recriar a zona e mandar usar o arquivo já existente anteriormente. Ao fazer isso, todas as informações contidas anteriormente serão recuperadas a partir do arquivo já existente. No nosso exemplo vamos salvar as informações da zona em um novo arquivo. Por padrão, para o nome do arquivo, o assistente sugere o nome da zona com a extensão .dns. O arquivo será criado na pasta&amp;nbsp;&lt;strong&gt;systemroot\System32\Dns&lt;/strong&gt;&amp;nbsp;, onde&lt;strong&gt;systemroot&lt;/strong&gt;&amp;nbsp;representa a pasta onde está instalado o Windows 2000 Server. Vamos aceitar a opção padrão, conforme indicado na Figura a seguir:&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;386&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p23_clip_image008.gif&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; title=&quot;Delphos Informática - Pablo Gonzalez&quot; width=&quot;503&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Assistente para novas zonas&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;span class=&quot;legendafig&quot; style=&quot;color: #000066; font-family: &#39;Courier New&#39;, Courier, mono; font-weight: bold;&quot;&gt;Figura - Definindo o nome do arquivo onde serão salvas as informações.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
11. Clique em Avançar, para seguir para a próxima etapa do assistente.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
12. Será exibida a tela final do assistente. Se você quiser alterar alguma opção pode utilizar o botão Voltar. Clique em Concluir, para criar a zona primária direta: xyz.com.br, conforme indicado na Figura a seguir:&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;img height=&quot;279&quot; src=&quot;http://www.juliobattisti.com.br/artigos/windows/images/tcpip_p23_clip_image009.gif&quot; width=&quot;643&quot; /&gt;&lt;br /&gt;&lt;span class=&quot;legendafig&quot; style=&quot;color: #000066; font-family: &#39;Courier New&#39;, Courier, mono; font-weight: bold;&quot;&gt;Figura - A zona xyz.com.br, recém criada.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;span class=&quot;titulon2&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold;&quot;&gt;Conclusão&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nesta parte do tutorial, mostrei como fazer a criação de uma zona direta – xyz.com.br, no servidor DNS do Windows 2000 Server.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Muito bem, a zona xyz.com.br foi criada. Mas criar somente a zona tem pouca (para não dizer nenhuma) utilidade. Uma zona deve conter registros, os quais serão consultados para responder às consultas enviadas pelos clientes. Este será o nosso próximo estudo, ou seja, estudar os tipos de registros que podem ser criados em uma zona e quais os procedimentos práticos para criar, editar e excluir registros. Bem, mas este já é assunto para as próximas partes deste tutorial.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
Nas próximas partes deste tutorial, segundo dentro da filosofia de apresentar ações práticas, você aprenderá sobre a criação de registros em uma zona do DNS.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/3283216917859938003/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/criando-uma-zona-de-dns.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/3283216917859938003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/3283216917859938003'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/criando-uma-zona-de-dns.html' title='Criando uma zona de DNS '/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-9006981687636675501</id><published>2013-02-24T09:47:00.000-08:00</published><updated>2013-02-24T09:47:12.886-08:00</updated><title type='text'>Configurar Servidor de DNS</title><content type='html'>&lt;br /&gt;
&lt;h3 id=&quot;tocHeadRef&quot; style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 20px; font-weight: lighter; margin: 15px 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 13px;&quot;&gt;Este artigo descreve detalhadamente como instalar e configurar o DNS no computador com Windows Server 2003.&lt;/span&gt;&lt;/h3&gt;
&lt;h3 id=&quot;tocHeadRef&quot; style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 20px; font-weight: lighter; margin: 15px 0px; padding: 0px;&quot;&gt;
Antes de iniciar&lt;/h3&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;Antes de começar a configurar seu DNS, é necessário reunir algumas informações básicas. O Internic deve aprovar algumas destas informações para usar na Internet, mas se você estiver configurando este servidor apenas para uso interno, poderá decidir quais nomes e endereços IP deseja usar.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;É necessário ter as seguintes informações:&lt;/span&gt;&lt;ul style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px; margin: 16px 0px 16px 40px; padding: 0px; position: inherit;&quot;&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Seu nome de domínio (aprovado pelo Internic).&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;O endereço IP e o nome de host de cada servidor para o qual deseja fornecer a resolução de nome.&lt;/li&gt;
&lt;/ul&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;Observação&lt;/b&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;: Os servidores podem ser seus servidores de email, servidores de acesso público, servidores FTP, servidores WWW e outros.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;Antes de configurar o computador como um DNS, verifique se as seguintes condições são verdadeiras:&lt;/span&gt;&lt;ul style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px; margin: 16px 0px 16px 40px; padding: 0px; position: inherit;&quot;&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;O sistema operacional está configurado corretamente. Na família do Windows Server 2003, o serviço DNS depende da configuração correta do sistema operacional e de seus serviços, como TCP/IP. Se você tem uma nova instalação de um sistema operacional do Windows Server 2003, poderá usar as configurações de serviço padrão. Não é necessário realizar ações adicionais.&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Todo o espaço disponível em disco foi alocado.&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Todos os volumes de disco existentes usam o sistema de arquivos NTFS. Volumes FAT32 não são seguros e não têm suporte à compactação de arquivos e pastas, cotas de disco, criptografia de arquivo ou permissões de arquivos individuais&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;tocHeadRef&quot; style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 20px; font-weight: lighter; margin: 15px 0px; padding: 0px;&quot;&gt;
&lt;span id=&quot;MT2&quot;&gt;&lt;a href=&quot;&quot; id=&quot;4&quot; style=&quot;color: #0072c6;&quot;&gt;&lt;/a&gt;&lt;/span&gt;Instalar o DNS&lt;/h3&gt;
&lt;ol style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px; margin: 16px 0px 16px 40px; padding: 0px; position: inherit;&quot;&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Abra o Assistente de componentes do Windows. Para fazer isto, execute as seguintes etapas:&lt;ol style=&quot;margin: 16px 0px 16px 40px; padding: 0px; position: inherit;&quot;&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Iniciar&lt;/strong&gt;, em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Painel de controle&lt;/strong&gt;&amp;nbsp;e em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Adicionar ou remover programas&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Adicionar/remover componentes do Windows&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Componentes&lt;/strong&gt;, marque a caixa de seleção&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Serviços de rede&lt;/strong&gt;&amp;nbsp;e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Detalhes&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Subcomponentes dos serviços de rede&lt;/strong&gt;, marque a caixa de seleção&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Sistema de nomes de domínios (DNS)&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;OK&lt;/strong&gt;&amp;nbsp;e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Se for solicitado, em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Copiar arquivos de&lt;/strong&gt;, digite o caminho completo dos arquivos de distribuição e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;OK&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;tocHeadRef&quot; style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 20px; font-weight: lighter; margin: 15px 0px; padding: 0px;&quot;&gt;
&lt;span id=&quot;MT3&quot;&gt;&lt;a href=&quot;&quot; id=&quot;5&quot; style=&quot;color: #0072c6;&quot;&gt;&lt;/a&gt;&lt;/span&gt;Configurar o DNS&lt;/h3&gt;
&lt;ol style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px; margin: 16px 0px 16px 40px; padding: 0px; position: inherit;&quot;&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Inicie o Assistente para configurar o servidor. Para fazer isto, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Iniciar&lt;/strong&gt;, aponte para&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Todos os programas&lt;/strong&gt;, para&lt;strong class=&quot;uiterm&quot;&gt;Ferramentas administrativas&lt;/strong&gt;&amp;nbsp;e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Assistente para configurar o servidor&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Função do servidor&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Servidor DNS&amp;nbsp;&lt;/strong&gt;e em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Resumo de seleções&lt;/strong&gt;, verifique e confirme as opções que selecionou. Os seguintes itens devem aparecer nesta página:&lt;ul style=&quot;margin: 16px 0px 16px 40px; padding: 0px; position: inherit;&quot;&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;&lt;strong class=&quot;uiterm&quot;&gt;Instalar o DNS&lt;/strong&gt;&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;&lt;strong class=&quot;uiterm&quot;&gt;Executar o Assistente para configurar um DNS para configurar o DNS&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
Se a página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Resumo de seleções&lt;/strong&gt;&amp;nbsp;listar estes dois itens, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;. Se a página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Resumo de seleções&lt;/strong&gt;&amp;nbsp;não listar estes dois itens, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Voltar&lt;/strong&gt;&amp;nbsp;para retornar à página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Função do servidor&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;DNS&lt;/strong&gt;&amp;nbsp;e em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Quando o Assistente para&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;configurar o servidor&lt;/strong&gt;&amp;nbsp;instala o serviço DNS, ele determina primeiro se o endereço IP deste servidor é estático ou é configurado automaticamente. Se o servidor estiver configurado no momento para obter seu endereço IP automaticamente, a página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Configurando componentes&lt;/strong&gt;&amp;nbsp;do Assistente de componentes do Windows solicitará a configuração deste servidor com um endereço IP estático. Para fazer isto:&lt;ol style=&quot;margin: 16px 0px 16px 40px; padding: 0px; position: inherit;&quot;&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na caixa de diálogo&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Propriedades de Conexão de rede local&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Protocolo Internet (TCP/IP)&lt;/strong&gt;&amp;nbsp;e em&lt;strong class=&quot;uiterm&quot;&gt;Propriedades&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na caixa de diálogo&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Propriedades de protocolos TCP/IP&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Use o seguinte endereço IP&lt;/strong&gt;&amp;nbsp;e digite o endereço IP estático, a máscara de sub-rede e o gateway padrão deste servidor.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;DNS preferido&lt;/strong&gt;, digite o endereço IP deste servidor.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;DNS alternativo&lt;/strong&gt;, digite o endereço IP de outro servidor DNS interno, ou deixe esta caixa em branco.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Ao terminar de configurar os endereços estáticos de seu DNS, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;OK&lt;/strong&gt;&amp;nbsp;e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Fechar&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li style=&quot;margin: 0px; padding: 0px; position: inherit;&quot;&gt;Após clicar em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Fechar&lt;/strong&gt;, o Assistente para configurar um servidor DNS inicia. No assistente, execute as seguintes etapas:&lt;ol style=&quot;margin: 16px 0px 16px 40px; padding: 0px; position: inherit;&quot;&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Selecione a ação de configuração&lt;/strong&gt;, marque a caixa de seleção&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Criar uma zona de pesquisa direta&lt;/strong&gt;&amp;nbsp;e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Para especificar se este DNS hospeda uma zona DNS que contém registros do recurso DNS para seus recursos de rede, na página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Local do servidor primário&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Este servidor mantém a zona&lt;/strong&gt;&amp;nbsp;e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Nome da zona&lt;/strong&gt;, em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Nome da zona&lt;/strong&gt;, especifique o nome da zona DNS para sua rede e clique em&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;. O nome da zona é o mesmo nome que o domínio DNS da sua pequena organização ou filial.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Atualização dinâmica&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Permitir atualizações dinâmicas seguras e não seguras&lt;/strong&gt;, e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;. Isto certifica de que os registros de recurso DNS dos recursos na sua rede atualizam automaticamente.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Encaminhadores&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Sim, encaminhar consultas para servidores DNS com os seguintes endereços IP&lt;/strong&gt;&amp;nbsp;e clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Avançar&lt;/strong&gt;. Ao selecionar esta configuração, você encaminha todas as consultas DNS de nome DNS para fora da rede para um DNS no seu ISP ou sede. Digite um ou mais endereços IP que Os servidores DNS de seu ISP ou de sua sede usam.&lt;/li&gt;
&lt;li style=&quot;list-style-type: lower-alpha; margin: 0px; padding: 0px; position: inherit;&quot;&gt;Na página&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Concluindo o Assistente para configurar um DNS&lt;/strong&gt;&amp;nbsp;do Assistente para configurar um DNS, é possível clicar em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Voltar&lt;/strong&gt;&amp;nbsp;para alterar quaisquer configurações. Para aplicar suas seleções, clique em&amp;nbsp;&lt;strong class=&quot;uiterm&quot;&gt;Concluir&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;Após concluir o Assistente para configurar um DNS, o Assistente para configurar o servidor exibe a página&amp;nbsp;&lt;/span&gt;&lt;strong class=&quot;uiterm&quot; style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;Este servidor agora é um servidor DNS&lt;/strong&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;. Para revisar todas as alterações feitas no seu servidor no Assistente para configurar o servidor ou para verificar se uma nova função foi instalada com êxito, clique em&amp;nbsp;&lt;/span&gt;&lt;strong class=&quot;uiterm&quot; style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;Log de configuração do servidor&lt;/strong&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;. O Log de configuração do servidor está localizado em %systemroot%\Debug\Configure Your Server.log. Para fechar o Assistente para configurar o servidor, clique em&amp;nbsp;&lt;/span&gt;&lt;strong class=&quot;uiterm&quot; style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;Concluir&lt;/strong&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Arial, Verdana, Tahoma, sans-serif; font-size: 13px;&quot; /&gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/9006981687636675501/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/configurar-servidor-de-dns.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/9006981687636675501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/9006981687636675501'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2013/02/configurar-servidor-de-dns.html' title='Configurar Servidor de DNS'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-3082272407370191267</id><published>2012-11-17T07:39:00.001-08:00</published><updated>2012-11-17T07:39:25.008-08:00</updated><title type='text'>Arquivo ClienteDaoImpl</title><content type='html'>&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: red; font-size: large;&quot;&gt;&lt;u&gt;Nome do arquivo&amp;nbsp;ClienteDaoImpl (ClienteDaoImpl.java)&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
package daos;&lt;br /&gt;
import br.com.cliente.models.Cliente;&lt;br /&gt;
import br.com.cliente.utility.DaoGenericoImpl;&lt;br /&gt;
import br.com.cliente.utility.HibernateUtility;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import org.hibernate.Criteria;&lt;br /&gt;
public class ClienteDaoImpl extends DaoGenericoImpl &amp;lt; Cliente , Long &amp;gt; implements ClienteDao {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List consultar() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List lista = new ArrayList();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Criteria crit = HibernateUtility.getSession().createCriteria(Cliente.class);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lista = (List) crit.list();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return lista;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/3082272407370191267/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-clientedaoimpl.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/3082272407370191267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/3082272407370191267'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-clientedaoimpl.html' title='Arquivo ClienteDaoImpl'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-3912481304985689482</id><published>2012-11-17T07:37:00.000-08:00</published><updated>2012-11-17T07:37:10.506-08:00</updated><title type='text'>Arquivo ClienteDao</title><content type='html'>&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span style=&quot;color: red; font-size: large;&quot;&gt;Nome do arquivo&amp;nbsp;ClienteDao (ClienteDao.java)&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
package daos;&lt;br /&gt;
import br.com.cliente.models.Cliente;&lt;br /&gt;
import br.com.cliente.utility.DaoGenerico;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public interface ClienteDao extends DaoGenerico &amp;lt;Cliente, Long&amp;gt; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List consultar();&lt;br /&gt;
}&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/3912481304985689482/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-clientedao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/3912481304985689482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/3912481304985689482'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-clientedao.html' title='Arquivo ClienteDao'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-1969146776361250917</id><published>2012-11-17T07:35:00.001-08:00</published><updated>2012-11-17T07:35:11.358-08:00</updated><title type='text'>Arquivo HibernateUtility</title><content type='html'>&lt;br /&gt;
&lt;span style=&quot;color: red; font-size: large;&quot;&gt;&lt;u&gt;&lt;b&gt;Nome do arquivo&amp;nbsp;HibernateUtility (HibernateUtility.java)&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
package br.com.cliente.utility;&lt;br /&gt;
&amp;nbsp;import br.com.cliente.models.Cliente;&lt;br /&gt;
import org.hibernate.Session;&lt;br /&gt;
import org.hibernate.SessionFactory;&lt;br /&gt;
import org.hibernate.Transaction;&lt;br /&gt;
import org.hibernate.cfg.Configuration;&lt;br /&gt;
public class HibernateUtility {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private static final SessionFactory factory;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private static final ThreadLocal sessionThread = new ThreadLocal();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private static final ThreadLocal transactionThread = new ThreadLocal();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public static Session getSession() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Session session = (Session) sessionThread.get();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((session == null) || (!(session.isOpen()))) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; session = factory.openSession();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sessionThread.set(session);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ((Session) sessionThread.get());&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public static void closeSession() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Session session = (Session) sessionThread.get();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((session != null) &amp;amp;&amp;amp; (session.isOpen())) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sessionThread.set(null);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; session.close();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public static void beginTransaction() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transaction transaction = getSession().beginTransaction();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transactionThread.set(transaction);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public static void commitTransaction() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transaction transaction = (Transaction) transactionThread.get();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((transaction != null) &amp;amp;&amp;amp; (!(transaction.wasCommitted())) &amp;amp;&amp;amp; (!(transaction.wasRolledBack()))) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transaction.commit();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transactionThread.set(null);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public static void rollbackTransaction() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Transaction transaction = (Transaction) transactionThread.get();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((transaction != null) &amp;amp;&amp;amp; (!(transaction.wasCommitted())) &amp;amp;&amp;amp; (!(transaction.wasRolledBack()))) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transaction.rollback();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; transactionThread.set(null);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; static {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; factory = new Configuration()&lt;br /&gt;
// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/***MYSQL***/&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.dialect&quot;, &quot;org.hibernate.dialect.MySQLInnoDBDialect&quot;) // tipo de dialeto do banco&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.connection.driver_class&quot;, &quot;com.mysql.jdbc.Driver&quot;) // driver do banco&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.connection.url&quot;, &quot;jdbc:mysql://localhost:3306/cliente&quot;) // endereço do banco de dados&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.connection.username&quot;, &quot;root&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.connection.password&quot;, &quot;08515453&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.hbm2ddl.auto&quot;, &quot;update&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.c3p0.max_size&quot;, &quot;10&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.c3p0.min_size&quot;, &quot;2&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.c3p0.timeout&quot;, &quot;5000&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.c3p0.max_statements&quot;, &quot;10&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.c3p0.idle_test_period&quot;, &quot;3000&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.c3p0.acquire_increment&quot;, &quot;2&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;show_sql&quot;, &quot;true&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;use_outer_join&quot;, &quot;true&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.generate_statistics&quot;, &quot;true&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.use_sql_comments&quot;, &quot;true&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setProperty(&quot;hibernate.format_sql&quot;, &quot;true&quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //CADASTROS abaixo coloque todas classes que deseja ser modelo para criação do banco de dados&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .addAnnotatedClass(Cliente.class)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //MOVIMENTOS&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .buildSessionFactory();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (RuntimeException e) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw e;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public static void main(String [] args) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/1969146776361250917/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-hibernateutility.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/1969146776361250917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/1969146776361250917'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-hibernateutility.html' title='Arquivo HibernateUtility'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-2645196996732759476</id><published>2012-11-17T07:30:00.000-08:00</published><updated>2012-11-17T07:30:16.777-08:00</updated><title type='text'>Arquivo  DaoGenericoImpl</title><content type='html'>&lt;br /&gt;
&lt;span style=&quot;color: red; font-size: large;&quot;&gt;&lt;b&gt;&lt;u&gt;Nome do arquivo&amp;nbsp;&amp;nbsp;DaoGenericoImpl(&amp;nbsp;DaoGenericoImpl.java)&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
package br.com.cliente.utility;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
&lt;br /&gt;
import java.lang.reflect.ParameterizedType;&lt;br /&gt;
&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
&lt;br /&gt;
import java.util.List;&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
&lt;br /&gt;
import java.util.Map.Entry;&lt;br /&gt;
&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
&lt;br /&gt;
import org.hibernate.Criteria;&lt;br /&gt;
&lt;br /&gt;
import org.hibernate.HibernateException;&lt;br /&gt;
&lt;br /&gt;
import org.hibernate.LockOptions;&lt;br /&gt;
&lt;br /&gt;
import org.hibernate.criterion.Restrictions;&lt;br /&gt;
public class DaoGenericoImpl&amp;lt;T, ID extends Serializable&amp;gt; implements DaoGenerico&amp;lt;T, ID&amp;gt; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private final Class&amp;lt;T&amp;gt; oClass;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public DaoGenericoImpl() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.oClass = (Class&amp;lt;T&amp;gt;) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public Class&amp;lt;T&amp;gt; getObjectClass() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return this.oClass;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public T save(T objeto) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Object obj = null;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.beginTransaction();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj = HibernateUtility.getSession().merge(objeto);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.commitTransaction();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.closeSession();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (T) obj;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (HibernateException hibernateException) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cancel();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw hibernateException;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void delete(T objeto) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.beginTransaction();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.getSession().delete(objeto);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.commitTransaction();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.closeSession();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (HibernateException hibernateException) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cancel();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw hibernateException;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void deleteItem(T objeto) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.beginTransaction();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.getSession().delete(objeto);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (HibernateException hibernateException) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cancel();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw hibernateException;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List&amp;lt;T&amp;gt; list() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List list = HibernateUtility.getSession().createCriteria(oClass).list();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //HibernateUtility.closeSession();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (List&amp;lt;T&amp;gt;) list;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (HibernateException hibernateException) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cancel();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw hibernateException;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public T getById(Serializable id) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (T) HibernateUtility.getSession().get(oClass, id);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (HibernateException hibernateException) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cancel();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw hibernateException;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public T getById(Serializable id, boolean lock) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (lock) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (T) HibernateUtility.getSession().get(oClass, id, LockOptions.UPGRADE);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (T) HibernateUtility.getSession().get(oClass, id);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (HibernateException hibernateException) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cancel();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw hibernateException;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List&amp;lt;T&amp;gt; listCriterio(String subClazz, Map&amp;lt;String, Object&amp;gt; filtrosConsulta, int tipoConsulta) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List&amp;lt;T&amp;gt; lista = new ArrayList&amp;lt;T&amp;gt;();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Set entradas = filtrosConsulta.entrySet();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Criteria crit = HibernateUtility.getSession().createCriteria(oClass);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (subClazz == null) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (Iterator it = entradas.iterator(); it.hasNext();) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Entry object = (Entry) it.next();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (object.getValue() instanceof Enum) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.add(Restrictions.eq(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 0) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.add(Restrictions.ilike(object.getKey().toString(), &quot;%&quot; + object.getValue() + &quot;%&quot;));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 1) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.add(Restrictions.eq(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 2) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.add(Restrictions.gt(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 3) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.add(Restrictions.ge(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 4) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.add(Restrictions.lt(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 5) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.add(Restrictions.le(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 2) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.add(Restrictions.ne(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (Iterator it = entradas.iterator(); it.hasNext();) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Entry object = (Entry) it.next();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //crit.createCriteria(subClazz).add(Restrictions.ilike(object.getKey().toString(), &quot;%&quot; + object.getValue() + &quot;%&quot;));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (object.getValue() instanceof Enum) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 0) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.createCriteria(subClazz).add(Restrictions.ilike(object.getKey().toString(), &quot;%&quot; + object.getValue() + &quot;%&quot;));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 1) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.createCriteria(subClazz).add(Restrictions.eq(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 2) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.createCriteria(subClazz).add(Restrictions.gt(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 3) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.createCriteria(subClazz).add(Restrictions.ge(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 4) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.createCriteria(subClazz).add(Restrictions.lt(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 5) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.createCriteria(subClazz).add(Restrictions.le(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (tipoConsulta == 2) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.createCriteria(subClazz).add(Restrictions.ne(object.getKey().toString(), object.getValue()));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crit.setMaxResults(20);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lista = (List&amp;lt;T&amp;gt;) crit.list();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //HibernateUtility.closeSession();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return lista;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (HibernateException hibernateException) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cancel();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw hibernateException;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List&amp;lt;T&amp;gt; consultaHQL(String consulta) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (List&amp;lt;T&amp;gt;) HibernateUtility.getSession().createQuery(consulta).list();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void cancel() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.rollbackTransaction();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HibernateUtility.closeSession(); &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/2645196996732759476/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-daogenericoimpl.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/2645196996732759476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/2645196996732759476'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-daogenericoimpl.html' title='Arquivo  DaoGenericoImpl'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-419406388500323378</id><published>2012-11-17T07:22:00.000-08:00</published><updated>2012-11-17T07:22:01.511-08:00</updated><title type='text'>Arquivo DaoGenerico</title><content type='html'>&lt;br /&gt;
Nome do arquivo DaoGenerico (DaoGenerico.java)&lt;br /&gt;
&lt;br /&gt;
package br.com.cliente.utility;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
public interface DaoGenerico&amp;lt;T, ID extends Serializable&amp;gt; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public Class&amp;lt;T&amp;gt; getObjectClass();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public T save(T objeto);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void delete(T objeto);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void deleteItem(T objeto);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List&amp;lt;T&amp;gt; list();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List&amp;lt;T&amp;gt; listCriterio(String subClazz, Map&amp;lt;String, Object&amp;gt; filtrosConsulta, int tipoConsulta);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public T getById(Serializable id);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public T getById(Serializable id, boolean lock);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List&amp;lt;T&amp;gt; consultaHQL(String consulta);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void cancel();&lt;br /&gt;
}&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/419406388500323378/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-daogenerico.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/419406388500323378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/419406388500323378'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-daogenerico.html' title='Arquivo DaoGenerico'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-372342471515357658</id><published>2012-11-17T07:18:00.001-08:00</published><updated>2012-11-17T07:18:10.673-08:00</updated><title type='text'>Arquivo Cliente</title><content type='html'>&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: red;&quot;&gt;Nome do Arquivo classe java (Cliente.java)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
package br.com.cliente.models;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import javax.persistence.Column;&lt;br /&gt;
import javax.persistence.Entity;&lt;br /&gt;
import javax.persistence.GeneratedValue;&lt;br /&gt;
import javax.persistence.GenerationType;&lt;br /&gt;
import javax.persistence.Id;&lt;br /&gt;
@Entity&lt;br /&gt;
public class Cliente implements Serializable {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Id&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @GeneratedValue(strategy= GenerationType.IDENTITY)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private Long &amp;nbsp;idCliente;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Column(name=&quot;NOME&quot;, length=80)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private String Nome;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Column(name=&quot;EMAIL&quot;, length=80)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private String email;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public Long getIdCliente() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return idCliente;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void setIdCliente(Long idCliente) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.idCliente = idCliente;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public String getNome() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Nome;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void setNome(String Nome) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Nome = Nome;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public String getEmail() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return email;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void setEmail(String email) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.email = email;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
}&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/372342471515357658/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-cliente.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/372342471515357658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/372342471515357658'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-cliente.html' title='Arquivo Cliente'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-7644132679275973706</id><published>2012-11-17T07:11:00.000-08:00</published><updated>2012-11-17T07:11:29.841-08:00</updated><title type='text'>Arquivo ClienteBean</title><content type='html'>&lt;br /&gt;
&lt;span style=&quot;color: red; font-size: large;&quot;&gt;&lt;u&gt;Arquivo classe Java (ClienteBean.java)&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
package br.com.cliente.controller;&lt;br /&gt;
import br.com.cliente.models.Cliente;&lt;br /&gt;
import daos.ClienteDao;&lt;br /&gt;
import daos.ClienteDaoImpl;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import javax.faces.bean.ManagedBean;&lt;br /&gt;
import javax.faces.bean.SessionScoped;&lt;br /&gt;
import javax.faces.event.ActionEvent;&lt;br /&gt;
@ManagedBean&lt;br /&gt;
@SessionScoped&lt;br /&gt;
public class ClienteBean implements Serializable {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private Cliente cliente = new Cliente();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private List&amp;lt;Cliente&amp;gt; clientes = new ArrayList&amp;lt;Cliente&amp;gt;();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; private ClienteDao dao = new ClienteDaoImpl();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public ClienteBean() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clientes = dao.consultar(); // busca todos registros do banco e popula a lista de clientes&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void salvar(ActionEvent event) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dao.save(cliente); // salvando no banco de dados&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cliente = new Cliente(); // criando um novo objeto para caso for inserir novamente&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clientes = dao.consultar();// busca os dados no banco após salvar para apresentar na tabela&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void editar() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cliente = dao.getById(cliente.getIdCliente()); // busca no banco de dados qual registro que vai ser alterado.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void excluir() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dao.delete(cliente); // deleta do banco o cliente que está no objeto cliente, que foi setado na view.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clientes = dao.consultar();// busca os dados no banco após excluir para apresentar na tabela&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public Cliente getCliente() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return cliente;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void setCliente(Cliente cliente) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.cliente = cliente;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public List&amp;lt;Cliente&amp;gt; getClientes() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return clientes;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public void setClientes(List&amp;lt;Cliente&amp;gt; clientes) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.clientes = clientes;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/7644132679275973706/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-clientebean.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/7644132679275973706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/7644132679275973706'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/arquivo-clientebean.html' title='Arquivo ClienteBean'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-233446439422046507</id><published>2012-11-17T07:06:00.001-08:00</published><updated>2012-11-17T07:06:29.105-08:00</updated><title type='text'>Arquivo Cliente.xhtml</title><content type='html'>&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: red;&quot;&gt;Nome do arquivo Cliente.xhtml&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39; ?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:h=&quot;http://java.sun.com/jsf/html&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:f=&quot;http://java.sun.com/jsf/core&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:p=&quot;http://primefaces.prime.com.tr/ui&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:ui=&quot;http://java.sun.com/jsf/facelets&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;h:head&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;Cliente&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/h:head&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;h:body&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h:form id=&quot;form&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;p:panel header=&quot;CLIENTE&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;p:messages /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:panelGrid columns=&quot;2&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h:outputLabel value=&quot;NOME:&quot; for=&quot;nome&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:inputText id=&quot;nome&quot; label=&quot;nome&quot; value=&quot;#{clienteBean.cliente.nome}&quot; maxlength=&quot;40&quot; size=&quot;40&quot; &amp;nbsp;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h:outputLabel value=&quot;EMAIL:&quot; for=&quot;email&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:inputText id=&quot;email&quot; label=&quot;email&quot; value=&quot;#{clienteBean.cliente.email}&quot; maxlength=&quot;40&quot; size=&quot;40&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:commandButton id=&quot;btnSalvar&quot; value=&quot;SALVAR&quot; actionListener=&quot;#{clienteBean.salvar}&quot; update=&quot;form&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/h:panelGrid&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--criando minha tabela, incluido no value a lista de cliente, definino um variavel de acesso para cada registro, para acessar um unico registro--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:dataTable id=&quot;tabela&quot; value=&quot;#{clienteBean.clientes}&quot; var=&quot;cli&quot; emptyMessage=&quot;Nenhum registro incluido.&quot; paginator=&quot;true&quot; rows=&quot;10&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Definindo o cabeçalho da Tabela--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;f:facet name=&quot;header&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Lista de Clientes&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/f:facet&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--Criando uma coluna para receber um determinando dado que tem em um objeto da nossa lista, nesse caso nome de cliente--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:column headerText=&quot;NOME&quot; style=&quot;text-align: center&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--Aqui onde acesso o objeto cli.nome e apresentamos na tabela, e assim com os seguintes--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h:outputText value=&quot;#{cli.nome}&quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p:column&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:column headerText=&quot;E-MAIL&quot; style=&quot;text-align: center&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h:outputText value=&quot;#{cli.email}&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p:column&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:column headerText=&quot;ALTERAR - EXCLUIR&quot; style=&quot;text-align: center&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--Abaixo o botão editar com uma Action do nosso metodo editar que criamos no Bean--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:commandButton action=&quot;#{clienteBean.editar}&quot; value=&quot;EDITAR&quot; title=&quot;Editar&quot; ajax=&quot;false&quot; &amp;nbsp;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Abaixo temos o setPropertyActionListener que é utilizado para pegar o objeto cli e setar no objeto cliente la no nosso bean, para editarmos--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;f:setPropertyActionListener value=&quot;#{cli}&quot; target=&quot;#{clienteBean.cliente}&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p:commandButton&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Abaixo temos o botão excluir com a propriedade onclick contendo o nome do modal e acessando um método de abri-lo que é o show, também existe o hide que é para feixa-lo.--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:commandButton value=&quot;EXCLUIR&quot; title=&quot;Excluir&quot; onclick=&quot;confirmation.show()&quot; style=&quot;margin-left: 5px&quot; &amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Abaixo temos o setPropertyActionListener que é utilizado para pegar o objeto cli e setar no objeto cliente la no nosso bean, para posteriomente excluirmos--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;f:setPropertyActionListener value=&quot;#{cli}&quot; target=&quot;#{clienteBean.cliente}&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p:commandButton&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p:column&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p:dataTable&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p:panel&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/h:form&amp;gt; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Abaixo temos um modal de confirmação de exclusão repare que ele é fora do form principal, pois se colocarmos dentro podemos ter alguns problemas com isso.--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h:form id=&quot;dlg&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:confirmDialog message=&quot;Deseja realmente excluir este registro?&quot; hideEffect=&quot;explode&quot; header=&quot;Aviso&quot; severity=&quot;alert&quot; widgetVar=&quot;confirmation&quot; modal=&quot;true&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--caso seja sim chamo o metodo excluir, e fecho o modal com o oncomplete, tenho o process que estou dizendo para processar o form, e update para atualizar a tabela--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:commandButton id=&quot;btnSim&quot; value=&quot;Sim&quot; oncomplete=&quot;confirmation.hide();&quot; actionListener=&quot;#{clienteBean.excluir}&quot; process=&quot;@form&quot; update=&quot;form:tabela&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--caso seja não somente fecha o modal--&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p:commandButton id=&quot;btnNao&quot; value=&quot;Não&quot; onclick=&quot;confirmation.hide();&quot; type=&quot;button&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/p:confirmDialog&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/h:form&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/h:body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/233446439422046507/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/nome-do-arquivo-cliente.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/233446439422046507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/233446439422046507'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/nome-do-arquivo-cliente.html' title='Arquivo Cliente.xhtml'/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7975384488453921728.post-6738097056544008073</id><published>2012-11-17T06:57:00.001-08:00</published><updated>2012-11-17T07:01:17.669-08:00</updated><title type='text'>JSF com Modelo MVC </title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOOHid5G47JkUhKL_BAhQAVlSxcSIuFL1ppLSTx0YGGjHVJ-cLNnutvRI-QquWx5ZdrRxRLYFZBTV76W-hzzRvnqQY4ri7hFXLoLkhyphenhyphena9S1B-164NOJ-CfjKcZzQtuDPn0d5vGBjYL1O3Y/s1600/jsf+3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOOHid5G47JkUhKL_BAhQAVlSxcSIuFL1ppLSTx0YGGjHVJ-cLNnutvRI-QquWx5ZdrRxRLYFZBTV76W-hzzRvnqQY4ri7hFXLoLkhyphenhyphena9S1B-164NOJ-CfjKcZzQtuDPn0d5vGBjYL1O3Y/s320/jsf+3.png&quot; width=&quot;205&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://pablogonzalez853.blogspot.com/feeds/6738097056544008073/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/blog-post_17.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/6738097056544008073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7975384488453921728/posts/default/6738097056544008073'/><link rel='alternate' type='text/html' href='http://pablogonzalez853.blogspot.com/2012/11/blog-post_17.html' title='JSF com Modelo MVC '/><author><name>Pablo Gonzalez</name><uri>http://www.blogger.com/profile/02117422428431044932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYC3ePFqPUP9ePHb9XLzrI18qbltY_CTrs0lBLh9DYfaVtwN9rFJu-6N1frlFbQSHMn7HAPOM87dp5iFngu0XEJlto8bOmz7ghaTdXparPPANyOb9RCx33oJQ6bRGT0A/s220/100_0544.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOOHid5G47JkUhKL_BAhQAVlSxcSIuFL1ppLSTx0YGGjHVJ-cLNnutvRI-QquWx5ZdrRxRLYFZBTV76W-hzzRvnqQY4ri7hFXLoLkhyphenhyphena9S1B-164NOJ-CfjKcZzQtuDPn0d5vGBjYL1O3Y/s72-c/jsf+3.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>