{"id":296,"date":"2012-08-09T10:51:24","date_gmt":"2012-08-09T13:51:24","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=296"},"modified":"2012-08-09T10:51:24","modified_gmt":"2012-08-09T13:51:24","slug":"o-que-e-uma-rede","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=296","title":{"rendered":"O que \u00e9 uma rede"},"content":{"rendered":"<p>Rede \u00e9 a conex\u00e3o de duas ou mais m\u00e1quinas com o objetivo de compartilhar recursos entre uma<br \/>\nm\u00e1quina e outra. Os recursos podem ser:<br \/>\n\u2022 Compartilhamento do conte\u00fado de seu disco r\u00edgido (ou parte dele) com outros usu\u00e1rios. Os<br \/>\noutros usu\u00e1rios poder\u00e3o acessar o disco como se estivesse instalado na pr\u00f3pria m\u00e1quina).<br \/>\nTamb\u00e9m chamado de servidor de arquivos.<br \/>\n\u2022 Compartilhamento de uma impressora com outros usu\u00e1rios. Os outros usu\u00e1rios poder\u00e3o<br \/>\nenviar seus trabalhos para uma impressora da rede. Tamb\u00e9m chamado de servidor de<br \/>\nimpress\u00e3o.<br \/>\n\u2022 Compartilhamento de acesso a Internet. Outros usu\u00e1rios poder\u00e3o navegar na Internet, pegar<br \/>\nseus e-mails, ler noticias, bate-papo no IRC, ICQ atrav\u00e9s do servidor de acesso Internet.<br \/>\nTamb\u00e9m chamado de servidor Proxy.<br \/>\n\u2022 Servidor de Internet\/Intranet. Outros usu\u00e1rios poder\u00e3o navegar nas p\u00e1ginas Internet<br \/>\nlocalizadas em seu computador, pegar e-mails, usar um servidor de IRC para chat na rede,<br \/>\nservidor de ICQ, etc<br \/>\nCom os \u00edtens acima funcionando \u00e9 poss\u00edvel criar permiss\u00f5es de acesso da rede, definindo quem ter\u00e1<br \/>\nou n\u00e3o permiss\u00e3o para acessar cada compartilhamento ou servi\u00e7o existente na m\u00e1quina (www, ftp,<br \/>\nirc, icq, etc), e registrando\/avisando sobre eventuais tentativas de violar a seguran\u00e7a do sistema,<br \/>\nfirewalls, pontes, etc.<br \/>\nEntre outras ilimitadas possibilidades que dependem do conhecimento do indiv\u00edduo no ambiente<br \/>\nGNU\/Linux, j\u00e1 que ele permite muita flexibilidade para fazer qualquer coisa funcionar em rede.<br \/>\nA comunica\u00e7\u00e3o entre computadores em uma rede \u00e9 feita atrav\u00e9s do Protocolo de Rede.<br \/>\n4.2 Protocolo de Rede<br \/>\nO protocolo de rede \u00e9 a linguagem usada para a comunica\u00e7\u00e3o entre um computador e outro.<br \/>\nExistem v\u00e1rios tipos de protocolos usados para a comunica\u00e7\u00e3o de dados, alguns s\u00e3o projetados para<br \/>\npequenas redes (como \u00e9 o caso do NetBios) outros para redes mundiais (TCP\/IP que possui<br \/>\ncaracter\u00edsticas de roteamento).<br \/>\nDentre os protocolos, o que mais se destaca atualmente \u00e9 o TCP\/IP devido ao seu projeto,<br \/>\nvelocidade e capacidade de roteamento.<br \/>\n4.3 Endere\u00e7o IP<br \/>\nO endere\u00e7o IP s\u00e3o n\u00fameros que identificam seu computador em uma rede. Inicialmente voc\u00ea pode<br \/>\nimaginar o IP como um n\u00famero de telefone. O IP \u00e9 compostos por quatro bytes e a conven\u00e7\u00e3o de<br \/>\nescrita dos n\u00fameros \u00e9 chamada de &#8220;nota\u00e7\u00e3o decimal pontuada&#8221;. Por conven\u00e7\u00e3o, cada interface<br \/>\n(placa usada p\/ rede) do computador ou roteador tem um endere\u00e7o IP. Tamb\u00e9m \u00e9 permitido que o<br \/>\nmesmo endere\u00e7o IP seja usado em mais de uma interface de uma mesma m\u00e1quina mas normalmente<br \/>\ncada interface tem seu pr\u00f3prio endere\u00e7o IP.<br \/>\nAs Redes do Protocolo Internet s\u00e3o seq\u00fc\u00eancias cont\u00ednuas de endere\u00e7os IP&#8217;s. Todos os endere\u00e7os<br \/>\ndentro da rede tem um n\u00famero de d\u00edgitos dentro dos endere\u00e7os em comum. A por\u00e7\u00e3o dos endere\u00e7os<br \/>\nque s\u00e3o comuns entre todos os endere\u00e7os de uma rede s\u00e3o chamados de por\u00e7\u00e3o da rede. Os d\u00edgitos<br \/>\nrestantes s\u00e3o chamados de por\u00e7\u00e3o dos hosts. O n\u00famero de bits que s\u00e3o compartilhados por todos os<br \/>\nendere\u00e7os dentro da rede s\u00e3o chamados de netmask (m\u00e1scara da rede) e o papel da netmask \u00e9<br \/>\ndeterminar quais endere\u00e7os pertencem ou n\u00e3o a rede. Por exemplo, considere o seguinte:<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nEndere\u00e7o do Host 192.168.110.23<br \/>\nM\u00e1scara da Rede 255.255.255.0<br \/>\nPor\u00e7\u00e3o da Rede 192.168.110.<br \/>\nPor\u00e7\u00e3o do Host .23<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nEndere\u00e7o da Rede 192.168.110.0<br \/>\nEndere\u00e7o Broadcast 192.168.110.255<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nQualquer endere\u00e7o que \u00e9 finalizado em zero em sua netmask, revelar\u00e1 o endere\u00e7o da rede que<br \/>\npertence. O endere\u00e7o e rede \u00e9 ent\u00e3o sempre o menor endere\u00e7o num\u00e9rico dentro da escalas de<br \/>\nendere\u00e7os da rede e sempre possui a por\u00e7\u00e3o host dos endere\u00e7os codificada como zeros.<br \/>\nO endere\u00e7o de broadcast \u00e9 um endere\u00e7o especial que cada computador em uma rede &#8220;escuta&#8221; em<br \/>\nadi\u00e7\u00e3o a seu pr\u00f3prio endere\u00e7o. Este \u00e9 um endere\u00e7o onde os datagramas enviados s\u00e3o recebidos por<br \/>\ntodos os computadores da rede. Certos tipos de dados como informa\u00e7\u00f5es de roteamento e<br \/>\nmensagens de alerta s\u00e3o transmitidos para o endere\u00e7o broadcast, assim todo computador na rede<br \/>\npode recebe-las simultaneamente.<br \/>\nExiste dois padr\u00f5es normalmente usados para especificar o endere\u00e7o de broadcast. O mais<br \/>\namplamente aceito \u00e9 para usar o endere\u00e7o mais alto da rede como endere\u00e7o broadcast. No<br \/>\nexemplo acima este seria 192.168.110.255. Por algumas raz\u00f5es outros sites tem adotado a<br \/>\nconven\u00e7\u00e3o de usar o endere\u00e7o de rede como o endere\u00e7o broadcast. Na pr\u00e1tica n\u00e3o importa<br \/>\nmuito se usar este endere\u00e7o, mas voc\u00ea deve ter certeza que todo computador na rede esteja<br \/>\nconfigurado para escutar o mesmo endere\u00e7o broadcast.<br \/>\n4.3.1 Classes de Rede IP<br \/>\nPor raz\u00f5es administrativas ap\u00f3s algum pouco tempo no desenvolvimento do protocolo IP alguns<br \/>\ngrupos arbitr\u00e1rios de endere\u00e7os foram formados em redes e estas redes foram agrupadas no que<br \/>\nforam chamadas de classes. Estas classes armazenam um tamanho padr\u00e3o de redes que podem ser<br \/>\nusadas. As faixas alocadas s\u00e3o:<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n| Classe | M\u00e1scara de | Endere\u00e7o da Rede |<br \/>\n| | Rede | |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\n| A | 255.0.0.0 | 0.0.0.0 &#8211; 127.255.255.255 |<br \/>\n| B | 255.255.0.0 | 128.0.0.0 &#8211; 191.255.255.255 |<br \/>\n| C | 255.255.255.0 | 192.0.0.0 &#8211; 223.255.255.255 |<br \/>\n|Multicast| 240.0.0.0 | 224.0.0.0 &#8211; 239.255.255.255 |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br \/>\nO tipo de endere\u00e7o que voc\u00ea deve utilizar depende exatamente do que estiver fazendo.<br \/>\n4.3.2 Refer\u00eancia r\u00e1pida de m\u00e1scara de redes<br \/>\nA tabela abaixo faz refer\u00eancia as m\u00e1scaras de rede mais comuns e a quantidade de m\u00e1quinas<br \/>\nm\u00e1ximas que ela atinge. Note que a especifica\u00e7\u00e3o da m\u00e1scara tem influ\u00eancia direta na classe de rede<br \/>\nusada:<br \/>\nM\u00e1scara M\u00e1scara N\u00famero<br \/>\n(Forma (Forma M\u00e1ximo de<br \/>\noctal) 32 bits) M\u00e1quinas<br \/>\nClasse A:<br \/>\n\/8 \/255.0.0.0 16,777,215<br \/>\nClasse B:<br \/>\n\/16 \/255.255.0.0 65,535<br \/>\n\/17 \/255.255.128.0 32,767<br \/>\n\/18 \/255.255.192.0 16,383<br \/>\n\/19 \/255.255.224.0 8,191<br \/>\n\/20 \/255.255.240.0 4,095<br \/>\n\/21 \/255.255.248.0 2,047<br \/>\n\/22 \/255.255.252.0 1,023<br \/>\n\/23 \/255.255.254.0 511<br \/>\nClasse C<br \/>\n\/24 \/255.255.255.0 255<br \/>\n\/25 \/255.255.255.128 127<br \/>\n\/26 \/255.255.255.192 63<br \/>\n\/27 \/255.255.255.224 31<br \/>\n\/28 \/255.255.255.240 15<br \/>\n\/29 \/255.255.255.248 7<br \/>\n\/30 \/255.255.255.252 3<br \/>\n\/32 \/255.255.255.255 1<br \/>\nQualquer outra m\u00e1scara fora desta tabela (principalmente para a classe A), dever\u00e1 ser<br \/>\nredimensionada com uma calculadora de IP para chegar a um n\u00famero aproximado de<br \/>\nredes\/m\u00e1quinas aproximados que deseja.<br \/>\n4.3.3 Para instalar uma m\u00e1quina usando o Linux em uma rede existente<br \/>\nSe voc\u00ea quiser instalar uma m\u00e1quina GNU\/Linux em uma rede TCP\/IP existente ent\u00e3o voc\u00ea deve<br \/>\ncontactar qualquer um dos administradores da sua rede e perguntar o seguinte:<br \/>\n\u2022 Endere\u00e7o IP de sua m\u00e1quina<br \/>\n\u2022 Endere\u00e7o IP da rede<br \/>\n\u2022 Endere\u00e7o IP de broadcast<br \/>\n\u2022 M\u00e1scara da Rede IP<br \/>\n\u2022 Endere\u00e7o do Roteador<br \/>\n\u2022 Endere\u00e7o do Servidor de Nomes (DNS)<br \/>\nVoc\u00ea deve ent\u00e3o configurar seu dispositivo de rede GNU\/Linux com estes detalhes. Voc\u00ea n\u00e3o pode<br \/>\nsimplesmente escolhe-los e esperar que sua configura\u00e7\u00e3o funcione.<br \/>\n4.3.4 Endere\u00e7os reservados para uso em uma rede Privada<br \/>\nSe voc\u00ea estiver construindo uma rede privada que nunca ser\u00e1 conectada a Internet, ent\u00e3o voc\u00ea pode<br \/>\nescolher qualquer endere\u00e7o que quiser. No entanto, para sua seguran\u00e7a e padroniza\u00e7\u00e3o, existem<br \/>\nalguns endere\u00e7os IP&#8217;s que foram reservados especificamente para este prop\u00f3sito. Eles est\u00e3o<br \/>\nespecificados no RFC1597 e s\u00e3o os seguintes:<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>\n| ENDERE\u00c7OS RESERVADOS PARA REDES PRIVADAS |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>\n| Classe | M\u00e1scara de | Endere\u00e7o da Rede |<br \/>\n| de Rede | Rede | |<br \/>\n+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+<br \/>\n| A | 255.0.0.0 | 10.0.0.0 &#8211; 10.255.255.255 |<br \/>\n| B | 255.255.0.0 | 172.16.0.0 &#8211; 172.31.255.255 |<br \/>\n| C | 255.255.255.0 | 192.168.0.0 &#8211; 192.168.255.255 |<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+<br \/>\nVoc\u00ea deve decidir primeiro qual ser\u00e1 a largura de sua rede e ent\u00e3o escolher a classe de rede que ser\u00e1<br \/>\nusada.<br \/>\n4.4 Interface de rede<br \/>\nAs interfaces de rede no GNU\/Linux est\u00e3o localizadas no diret\u00f3rio \/dev e a maioria \u00e9 criada<br \/>\ndinamicamente pelos softwares quando s\u00e3o requisitadas. Este \u00e9 o caso das interfaces ppp e plip<br \/>\nque s\u00e3o criadas dinamicamente pelos softwares.<br \/>\nAbaixo a identifica\u00e7\u00e3o de algumas interfaces de rede no Linux (a ? significa um n\u00famero que<br \/>\nidentifica as interfaces seq\u00fcencialmente, iniciando em 0):<br \/>\n\u2022 eth? &#8211; Placa de rede Ethernet e WaveLan.<br \/>\n\u2022 ppp? &#8211; Interface de rede PPP (protocolo ponto a ponto).<br \/>\n\u2022 slip? &#8211; Interface de rede serial<br \/>\n\u2022 eql &#8211; Balanceador de tr\u00e1fego para m\u00faltiplas linhas<br \/>\n\u2022 plip? &#8211; Interface de porta paralela<br \/>\n\u2022 arc?e, arc?s &#8211; Interfaces Arcnet<br \/>\n\u2022 sl?, ax? &#8211; Interfaces de rede AX25 (respectivamente para kernels 2.0.xx e 2.2.xx.<br \/>\n\u2022 fddi? &#8211; Interfaces de rede FDDI.<br \/>\n\u2022 dlci??, sdla? &#8211; Interfaces Frame Relay, respectivamente para para dispositivos de<br \/>\nencapsulamento DLCI e FRAD.<br \/>\n\u2022 nr? &#8211; Interface Net Rom<br \/>\n\u2022 rs? &#8211; Interfaces Rose<br \/>\n\u2022 st? &#8211; Interfaces Strip (Starmode Radio IP)<br \/>\n\u2022 tr? &#8211; Token Ring<br \/>\nPara maiores detalhes sobre as interfaces acima, consulte o documento NET3-4-HOWTO.<br \/>\n4.4.1 A interface loopback<br \/>\nA interface loopback \u00e9 um tipo especial de interface que permite fazer conex\u00f5es com voc\u00ea mesmo.<br \/>\nTodos os computadores que usam o protocolo TCP\/IP utilizam esta interface e existem v\u00e1rias raz\u00f5es<br \/>\nporque precisa fazer isto, por exemplo, voc\u00ea pode testar v\u00e1rios programas de rede sem interferir<br \/>\ncom ningu\u00e9m em sua rede. Por conven\u00e7\u00e3o, o endere\u00e7o IP 127.0.0.1 foi escolhido especificamente<br \/>\npara a loopback, assim se abrir uma conex\u00e3o telnet para 127.0.0.1, abrir\u00e1 uma conex\u00e3o para o<br \/>\npr\u00f3prio computador local.<br \/>\nA configura\u00e7\u00e3o da interface loopback \u00e9 simples e voc\u00ea deve ter certeza que fez isto (mas note que<br \/>\nesta tarefa \u00e9 normalmente feita pelos scripts padr\u00f5es de inicializa\u00e7\u00e3o existentes em sua<br \/>\ndistribui\u00e7\u00e3o).<br \/>\nifconfig lo 127.0.0.1<br \/>\nCaso a interface loopback n\u00e3o esteja configurada, voc\u00ea poder\u00e1 ter problemas quando tentar qualquer<br \/>\ntipo de conex\u00e3o com as interfaces locais, tendo problemas at\u00e9 mesmo com o comando ping.<br \/>\n4.4.2 Atribuindo um endere\u00e7o de rede a uma interface (ifconfig)<br \/>\nAp\u00f3s configurada fisicamente, a interface precisa receber um endere\u00e7o IP para ser identificada na<br \/>\nrede e se comunicar com outros computadores, al\u00e9m de outros par\u00e2metros como o endere\u00e7o de<br \/>\nbroadcast e a m\u00e1scara de rede. O comando usado para fazer isso \u00e9 o ifconfig (interface<br \/>\nconfigure).<br \/>\nPara configurar a interface de rede Ethernet (eth0) com o endere\u00e7o 192.168.1.1, m\u00e1scara de rede<br \/>\n255.255.255.0, podemos usar o comando:<br \/>\nifconfig eth0 192.168.1.1 netmask 255.255.255.0 up<br \/>\nO comando acima ativa a interface de rede. A palavra up pode ser omitida, pois a ativa\u00e7\u00e3o da<br \/>\ninterface de rede \u00e9 o padr\u00e3o. Para desativar a mesma interface de rede, basta usar usar o comando:<br \/>\nifconfig eth0 down<br \/>\nDigitando ifconfig s\u00e3o mostradas todas as interfaces ativas no momento, pacotes enviados,<br \/>\nrecebidos e colis\u00f5es de datagramas. Para mostrar a configura\u00e7\u00e3o somente da interface eth0, use o<br \/>\ncomando: ifconfig eth0 Em sistemas Debian, o arquivo correto para especificar os dados<br \/>\ndas interfaces \u00e9 o \/etc\/network\/interfaces .<br \/>\nPara mais detalhes, veja a p\u00e1gina de manual do ifconfig ou o NET3-4-HOWTO.<br \/>\n4.5 Roteamento<br \/>\nRoteamento \u00e9 quando uma m\u00e1quina com m\u00faltiplas conex\u00f5es de rede decide onde entregar os<br \/>\npacotes IP que recebeu, para que cheguem ao seu destino.<br \/>\nPode ser \u00fatil ilustrar isto com um exemplo. Imagine um simples roteador de escrit\u00f3rio, ele pode ter<br \/>\num link intermitente com a Internet, um n\u00famero de segmentos ethernet alimentando as esta\u00e7\u00f5es de<br \/>\ntrabalho e outro link PPP intermitente fora de outro escrit\u00f3rio. Quando o roteador recebe um<br \/>\ndatagrama de qualquer de suas conex\u00f5es de rede, o mecanismo que usa determina qual a pr\u00f3xima<br \/>\ninterface deve enviar o datagrama. Computadores simples tamb\u00e9m precisam rotear, todos os<br \/>\ncomputadores na Internet tem dois dispositivos de rede, um \u00e9 a interface loopback (explicada<br \/>\nacima) o outro \u00e9 um usado para falar com o resto da rede, talvez uma ethernet, talvez uma interface<br \/>\nserial PPP ou SLIP.<br \/>\nOK, viu como o roteamento funciona? cada computador mant\u00e9m uma lista de regras especiais de<br \/>\nroteamento, chamada tabela de roteamento. Esta tabela cont\u00e9m colunas que tipicamente cont\u00e9m no<br \/>\nm\u00ednimo tr\u00eas campos, o primeiro \u00e9 o endere\u00e7o de destino, o segundo \u00e9 o nome da interface que o<br \/>\ndatagrama deve ser roteado e o terceiro \u00e9 opcionalmente o endere\u00e7o IP da outra m\u00e1quina que levar\u00e1<br \/>\no datagrama em seu pr\u00f3ximo passo atrav\u00e9s da rede. No GNU\/Linux voc\u00ea pode ver a tabela de<br \/>\nroteamento usando um dos seguintes comandos:<br \/>\ncat \/proc\/net\/route<br \/>\nroute -n<br \/>\nnetstat -r<br \/>\nO processo de roteamento \u00e9 muito simples: um datagrama (pacote IP) \u00e9 recebido, o endere\u00e7o de<br \/>\ndestino (para quem ele \u00e9) \u00e9 examinado e comparado com cada item da tabela de roteamento. O item<br \/>\nque mais corresponder com o endere\u00e7o \u00e9 selecionado e o datagrama \u00e9 direcionado a interface<br \/>\nespecificada.<br \/>\nSe o campo gateway estiver preenchido, ent\u00e3o o datagrama \u00e9 direcionado para aquele computador<br \/>\npela interface especificada, caso contr\u00e1rio o endere\u00e7o de destino \u00e9 assumido sendo uma rede<br \/>\nsuportada pela interface.<br \/>\n4.5.1 Configurando uma rota no Linux<br \/>\nA configura\u00e7\u00e3o da rota \u00e9 feita atrav\u00e9s da ferramenta route. Para adicionar uma rota para a rede<br \/>\n192.168.1.0 acess\u00edvel atrav\u00e9s da interface eth0 basta digitar o comando:<br \/>\nroute add -net 192.168.1.0 eth0<br \/>\nPara apagar a rota acima da tabela de roteamento, basta substituir a palavra add por del. A palavra<br \/>\nnet quer dizer que 192.168.1.0 \u00e9 um endere\u00e7o de rede (lembra-se das explica\u00e7\u00f5es em Endere\u00e7o IP,<br \/>\nSe\u00e7\u00e3o 4.3?)) para especificar uma m\u00e1quina de destino, basta usar a palavra -host. Endere\u00e7os de<br \/>\nm\u00e1quina de destino s\u00e3o muito usadas em conex\u00f5es de rede apenas entre dois pontos (como ppp,<br \/>\nplip, slip). Por padr\u00e3o, a interface \u00e9 especificada como \u00faltimo argumento. Caso a interface precise<br \/>\nespecifica-la em outro lugar, ela dever\u00e1 ser precedida da op\u00e7\u00e3o -dev.<br \/>\nPara adicionar uma rota padr\u00e3o para um endere\u00e7o que n\u00e3o se encontre na tabela de roteamento,<br \/>\nutiliza-se o gateway padr\u00e3o da rede. Atrav\u00e9s do gateway padr\u00e3o \u00e9 poss\u00edvel especificar um<br \/>\ncomputador (normalmente outro gateway) que os pacotes de rede ser\u00e3o enviados caso o endere\u00e7o<br \/>\nn\u00e3o confira com os da tabela de roteamento. Para especificar o computador 192.168.1.1 como<br \/>\ngateway padr\u00e3o usamos:<br \/>\nroute add default gw 192.168.1.1 eth0<br \/>\nO gateway padr\u00e3o pode ser visualizado atrav\u00e9s do comando route -n e verificando o campo<br \/>\ngateway. A op\u00e7\u00e3o gw acima, especifica que o pr\u00f3ximo argumento \u00e9 um endere\u00e7o IP (de uma rede<br \/>\nj\u00e1 acess\u00edvel atrav\u00e9s das tabelas de roteamento).<br \/>\nO computador gateway est\u00e1 conectado a duas ou mais redes ao mesmo tempo. Quando seus dados<br \/>\nprecisam ser enviados para computadores fora da rede, eles s\u00e3o enviados atrav\u00e9s do computador<br \/>\ngateway e o gateway os encaminham ao endere\u00e7o de destino. Desta forma, a resposta do servidor<br \/>\ntamb\u00e9m \u00e9 enviada atrav\u00e9s do gateway para seu computador (\u00e9 o caso de uma t\u00edpica conex\u00e3o com a<br \/>\nInternet).<br \/>\nA nossa configura\u00e7\u00e3o ficaria assim:<br \/>\nroute add -net 192.168.1.0 eth0<br \/>\nroute add default gw 192.168.1.1 eth0<br \/>\nPara mais detalhes, veja a p\u00e1gina de manual do route ou o NET3-4-HOWTO.<br \/>\n4.6 Resolvedor de nomes (DNS)<br \/>\nDNS significa Domain Name System (sistema de nomes de dom\u00ednio). O DNS converte os nomes de<br \/>\nm\u00e1quinas para endere\u00e7os IPs que todas as m\u00e1quinas da Internet possuem. Ele faz o mapeamento do<br \/>\nnome para o endere\u00e7o e do endere\u00e7o para o nome e algumas outras coisas. Um mapeamento \u00e9<br \/>\nsimplesmente uma associa\u00e7\u00e3o entre duas coisas, neste caso um nome de computador, como<br \/>\nwww.cipsga.org.br, e o endere\u00e7o IP desta m\u00e1quina (ou endere\u00e7os) como 200.245.157.9.<br \/>\nO DNS foi criado com o objetivo de tornar as coisas mais f\u00e1ceis para o usu\u00e1rio, permitindo assim, a<br \/>\nidentifica\u00e7\u00e3o de computadores na Internet ou redes locais atrav\u00e9s de nomes (\u00e9 como se tiv\u00e9ssemos<br \/>\napenas que decorar o nome da pessoa ao inv\u00e9s de um n\u00famero de telefone). A parte respons\u00e1vel por<br \/>\ntraduzir os nomes como www.nome.com.br em um endere\u00e7o IP \u00e9 chamada de resolvedor de<br \/>\nnomes.<br \/>\nO resolvedor de nomes pode ser um banco de dados local (controlador por um arquivo ou<br \/>\nprograma) que converte automaticamente os nomes em endere\u00e7os IP ou atrav\u00e9s de servidores DNS<br \/>\nque fazem a busca em um banco de dados na Internet e retornam o endere\u00e7o IP do computador<br \/>\ndesejado. Um servidor DNS mais difundido na Internet \u00e9 o bind.<br \/>\nAtrav\u00e9s do DNS \u00e9 necess\u00e1rio apenas decorar o endere\u00e7o sem precisar se preocupar com o endere\u00e7o<br \/>\nIP (alguns usu\u00e1rios simplesmente n\u00e3o sabem que isto existe&#8230;). Se desejar mais detalhes sobre DNS,<br \/>\nveja o documento DNS-HOWTO.<br \/>\n4.6.1 O que \u00e9 um nome?<br \/>\nVoc\u00ea deve estar acostumado com o uso dos nomes de computadores na Internet, mas pode n\u00e3o<br \/>\nentender como eles s\u00e3o organizados. Os nomes de dom\u00ednio na Internet s\u00e3o uma estrutura<br \/>\nhier\u00e1rquica, ou seja, eles tem uma estrutura semelhante aos diret\u00f3rios de seu sistema.<br \/>\nUm dom\u00ednio \u00e9 uma fam\u00edlia ou grupo de nomes. Um dom\u00ednio pode ser colocado em um subdom\u00ednio.<br \/>\nUm dom\u00ednio principal \u00e9 um dom\u00ednio que n\u00e3o \u00e9 um sub-dom\u00ednio. Os dom\u00ednios principais<br \/>\ns\u00e3o especificados na RFC-920. Alguns exemplos de dom\u00ednios principais comuns s\u00e3o:<br \/>\n\u2022 COM &#8211; Organiza\u00e7\u00f5es Comerciais<br \/>\n\u2022 EDU &#8211; Organiza\u00e7\u00f5es Educacionais<br \/>\n\u2022 GOV &#8211; Organiza\u00e7\u00f5es Governamentais<br \/>\n\u2022 MIL &#8211; Organiza\u00e7\u00f5es Militares<br \/>\n\u2022 ORG &#8211; Outras Organiza\u00e7\u00f5es<br \/>\n\u2022 NET &#8211; Organiza\u00e7\u00f5es relacionadas com a Internet<br \/>\n\u2022 Identificador do Pa\u00eds &#8211; S\u00e3o duas letras que representam um pa\u00eds em particular.<br \/>\nCada um dos dom\u00ednios principais tem sub-dom\u00ednios. Os dom\u00ednios principais baseados no nome do<br \/>\npa\u00eds s\u00e3o freq\u00fcentemente divididos em sub-dom\u00ednios baseado nos dom\u00ednios .com, .edu, .gov,<br \/>\n.mil e .org. Assim, por exemplo, voc\u00ea pode finaliza-lo com: com.au e gov.au para<br \/>\norganiza\u00e7\u00f5es comerciais e governamentais na Austr\u00e1lia; note que isto n\u00e3o \u00e9 uma regra geral, as<br \/>\norganiza\u00e7\u00f5es de dom\u00ednio atuais dependem da autoridade na escolha de nomes de cada dom\u00ednio.<br \/>\nQuando o endere\u00e7o n\u00e3o especifica o dom\u00ednio principal, como o endere\u00e7o www.unicamp.br, isto<br \/>\nquer dizer que \u00e9 uma organiza\u00e7\u00e3o acad\u00eamica.<br \/>\nO pr\u00f3ximo n\u00edvel da divis\u00e3o representa o nome da organiza\u00e7\u00e3o. Subdom\u00ednios futuros variam em<br \/>\nnatureza, freq\u00fcentemente o pr\u00f3ximo n\u00edvel do sub-dom\u00ednio \u00e9 baseado na estrutura departamental da<br \/>\norganiza\u00e7\u00e3o mas ela pode ser baseada em qualquer crit\u00e9rio considerado razo\u00e1vel e significantes<br \/>\npelos administradores de rede para a organiza\u00e7\u00e3o.<br \/>\nA por\u00e7\u00e3o mais a esquerda do nome \u00e9 sempre o nome \u00fanico da m\u00e1quina chamado hostname, a<br \/>\npor\u00e7\u00e3o do nome a direita do hostname \u00e9 chamado nome de dom\u00ednio e o nome completo \u00e9 chamado<br \/>\nnome do dom\u00ednio completamente qualificado (Fully Qualified Domain Name).<br \/>\nUsando o computador www.debian.org.br como exemplo:<br \/>\n\u2022 br &#8211; Pa\u00eds onde o computador se encontra<br \/>\n\u2022 org &#8211; Dom\u00ednio principal<br \/>\n\u2022 debian &#8211; Nome de Dom\u00ednio<br \/>\n\u2022 www &#8211; Nome do computador<br \/>\nA localiza\u00e7\u00e3o do computador www.debian.org.br atrav\u00e9s de servidores DNS na Internet<br \/>\nobedece exatamente a seq\u00fc\u00eancia de procura acima. Os administradores do dom\u00ednio<br \/>\ndebian.org.br podem cadastrar quantos sub-dom\u00ednios e computadores quiserem (como<br \/>\nwww.non-us.debian.org.br ou cvs.debian.org.br).<br \/>\n4.6.2 Arquivos de configura\u00e7\u00e3o usados na resolu\u00e7\u00e3o de nomes<br \/>\nAbaixo a descri\u00e7\u00e3o dos arquivos usados no processo de resolver um nome no sistema GNU\/Linux.<br \/>\n4.6.2.1 \/etc\/resolv.conf<br \/>\nO \/etc\/resolv.conf \u00e9 o arquivo de configura\u00e7\u00e3o principal do c\u00f3digo do resolvedor de nomes.<br \/>\nSeu formato \u00e9 um arquivo texto simples com um par\u00e2metro por linha e o endere\u00e7o de servidores<br \/>\nDNS externos s\u00e3o especificados nele. Existem tr\u00eas palavras chaves normalmente usadas que s\u00e3o:<br \/>\ndomain<br \/>\nEspecifica o nome do dom\u00ednio local.<br \/>\nsearch<br \/>\nEspecifica uma lista de nomes de dom\u00ednio alternativos ao procurar por um computador,<br \/>\nseparados por espa\u00e7os. A linha search pode conter no m\u00e1ximo 6 dom\u00ednios ou 256 caracteres.<br \/>\nnameserver<br \/>\nEspecifica o endere\u00e7o IP de um servidor de nomes de dom\u00ednio para resolu\u00e7\u00e3o de nomes. Pode<br \/>\nser usado v\u00e1rias vezes.<br \/>\nComo exemplo, o \/etc\/resolv.conf se parece com isto:<br \/>\ndomain maths.wu.edu.au<br \/>\nsearch maths.wu.edu.au wu.edu.au<br \/>\nnameserver 192.168.10.1<br \/>\nnameserver 192.168.12.1<br \/>\nEste exemplo especifica que o nome de dom\u00ednio a adicionar ao nome n\u00e3o qualificado (i.e.<br \/>\nhostnames sem o dom\u00ednio) \u00e9 maths.wu.edu.au e que se o computador n\u00e3o for encontrado<br \/>\nnaquele dom\u00ednio ent\u00e3o a procura segue para o dom\u00ednio wu.edu.au diretamente. Duas linhas de<br \/>\nnomes de servidores foram especificadas, cada uma pode ser chamada pelo c\u00f3digo resolvedor de<br \/>\nnomes para resolver o nome.<br \/>\n4.6.2.2 \/etc\/host.conf<br \/>\nO arquivo \/etc\/host.conf \u00e9 o local onde \u00e9 poss\u00edvel configurar alguns \u00edtens que gerenciam o<br \/>\nc\u00f3digo do resolvedor de nomes. O formato deste arquivo \u00e9 descrito em detalhes na p\u00e1gina de<br \/>\nmanual resolv+. Em quase todas as situa\u00e7\u00f5es, o exemplo seguinte funcionar\u00e1:<br \/>\norder hosts,bind<br \/>\nmulti on<br \/>\nEste arquivo de configura\u00e7\u00e3o diz ao resolvedor de nomes para checar o arquivo \/etc\/hosts<br \/>\n(par\u00e2metro hosts) antes de tentar verificar um servidor de nomes (par\u00e2metro bind) e retornar um<br \/>\nendere\u00e7o IP v\u00e1lido para o computador procurado e multi on retornar\u00e1 todos os endere\u00e7os IP<br \/>\nresolvidos no arquivo \/etc\/hosts ao inv\u00e9s do primeiro.<br \/>\nOs seguintes par\u00e2metros podem ser adicionados para evitar ataques de IP spoofing:<br \/>\nnospoof on<br \/>\nspoofalert on<br \/>\nO par\u00e2metro nospoof on ativa a resolu\u00e7\u00e3o reversa do nome da biblioteca resolv (para checar se o<br \/>\nendere\u00e7o pertence realmente \u00e0quele nome) e o spoofalert on registra falhas desta opera\u00e7\u00e3o no<br \/>\nsyslog.<br \/>\n4.6.2.3 \/etc\/hosts<br \/>\nO arquivo \/etc\/hosts faz o relacionamento entre um nome de computador e endere\u00e7o IP local.<br \/>\nRecomendado para IPs constantemente acessados e para coloca\u00e7\u00e3o de endere\u00e7os de virtual hosts<br \/>\n(quando deseja referir pelo nome ao inv\u00e9s de IP). A inclus\u00e3o de um computador neste arquivo<br \/>\ndispenda a consulta de um servidor de nomes para obter um endere\u00e7o IP, sendo muito \u00fatil para<br \/>\nm\u00e1quinas que s\u00e3o acessadas frequentemente. A desvantagem de fazer isto \u00e9 que voc\u00ea mesmo<br \/>\nprecisar\u00e1 manter este arquivo atualizado e se o endere\u00e7o IP de algum computador for modificado,<br \/>\nesta altera\u00e7\u00e3o dever\u00e1 ser feita em cada um dos arquivos hosts das m\u00e1quinas da rede. Em um<br \/>\nsistema bem gerenciado, os \u00fanicos endere\u00e7os de computadores que aparecer\u00e3o neste arquivo ser\u00e3o<br \/>\nda interface loopback e os nomes de computadores.<br \/>\n# \/etc\/hosts<br \/>\n127.0.0.1 localhost loopback<br \/>\n192.168.0.1 maquina.dominio.com.br<br \/>\nVoc\u00ea pode especificar mais que um nome de computador por linha como demonstrada pela primeira<br \/>\nlinha, a que identifica a interface loopback. Certifique-se de que a entrada do nome de dom\u00ednio<br \/>\nneste arquivo aponta para a interface de rede e n\u00e3o para a interface loopback, ou ter\u00e1 problema com<br \/>\no comportamento de alguns servi\u00e7os.<br \/>\nOBS: Caso encontre problemas de lentid\u00e3o para resolver nomes e at\u00e9 para executar os aplicativos<br \/>\n(como o mc, etc), verifique se existem erros neste arquivo de configura\u00e7\u00e3o.<br \/>\nEstes sintomas se confundem com erros de mem\u00f3ria ou outro erro qualquer de configura\u00e7\u00e3o de<br \/>\nhardware, e somem quando a interface de rede \u00e9 desativada (a com o IP n\u00e3o loopback). Isto \u00e9<br \/>\ncausados somente pela m\u00e1 configura\u00e7\u00e3o do arquivo \/etc\/hosts. O bom funcionamento do<br \/>\nUnix depende da boa aten\u00e7\u00e3o do administrador de sistemas para configurar os detalhes de seu<br \/>\nservidor.<br \/>\n4.6.2.4 \/etc\/networks<br \/>\nO arquivo \/etc\/networks tem uma fun\u00e7\u00e3o similar ao arquivo \/etc\/hosts. Ele cont\u00e9m um<br \/>\nbanco de dados simples de nomes de redes contra endere\u00e7os de redes. Seu formato se difere por<br \/>\ndois campos por linha e seus campos s\u00e3o identificados como:<br \/>\nNome_da_Rede Endere\u00e7o_da_Rede<br \/>\nAbaixo um exemplo de como se parece este arquivo:<br \/>\nloopnet 127.0.0.0<br \/>\nlocalnet 192.168.1.0<br \/>\namprnet 44.0.0.0<br \/>\nQuando usar comandos como route, se um destino \u00e9 uma rede e esta rede se encontra no arquivo<br \/>\n\/etc\/networks, ent\u00e3o o comando route mostrar\u00e1 o nome da rede ao inv\u00e9s de seu endere\u00e7o.<br \/>\n4.6.3 Executando um servidor de nomes<br \/>\nSe voc\u00ea planeja executar um servidor de nomes, voc\u00ea pode fazer isto facilmente. Por favor veja o<br \/>\ndocumento DNS-HOWTO e quaisquer documentos inclu\u00eddos em sua vers\u00e3o do BIND (Berkeley<br \/>\nInternet Name Domain).<br \/>\n4.7 Servi\u00e7os de Rede<br \/>\nServi\u00e7os de rede \u00e9 o que est\u00e1 dispon\u00edvel para ser acessado pelo usu\u00e1rio. No TCP\/IP, cada servi\u00e7o \u00e9<br \/>\nassociado a um n\u00famero chamado porta que \u00e9 onde o servidor espera pelas conex\u00f5es dos<br \/>\ncomputadores clientes. Uma porta de rede pode se referenciada tanto pelo n\u00famero como pelo nome<br \/>\ndo servi\u00e7o.<br \/>\nAbaixo, alguns exemplos de portas padr\u00f5es usadas em servi\u00e7os TCP\/IP:<br \/>\n\u2022 21 &#8211; FTP (transfer\u00eancia de arquivos)<br \/>\n\u2022 23 &#8211; Telnet (terminal virtual remoto)<br \/>\n\u2022 25 &#8211; Smtp (envio de e-mails)<br \/>\n\u2022 53 &#8211; DNS (resolvedor de nomes)<br \/>\n\u2022 79 &#8211; Finger (detalhes sobre usu\u00e1rios do sistema)<br \/>\n\u2022 80 &#8211; http (protocolo www &#8211; transfer\u00eancia de p\u00e1ginas Internet)<br \/>\n\u2022 110 &#8211; Pop-3 (recebimento de mensagens)<br \/>\n\u2022 119 &#8211; NNTP (usado por programas de noticias)<br \/>\nO arquivo padr\u00e3o respons\u00e1vel pelo mapeamento do nome dos servi\u00e7os e das portas mais utilizadas \u00e9<br \/>\no \/etc\/services (para detalhes sobre o seu formato, veja a \/etc\/services, Se\u00e7\u00e3o 4.9.1).<br \/>\n4.7.1 Servi\u00e7os iniciados como Daemons de rede<br \/>\nServi\u00e7os de rede iniciados como daemons ficam residente o tempo todo na mem\u00f3ria esperando<br \/>\nque algu\u00e9m se conecte (tamb\u00e9m chamado de modo standalone). Um exemplo de daemon \u00e9 o<br \/>\nservidor proxy squid e o servidor web Apache operando no modo daemon.<br \/>\nAlguns programas servidores oferecem a op\u00e7\u00e3o de serem executados como daemons ou atrav\u00e9s do<br \/>\ninetd. \u00c9 recomend\u00e1vel escolher daemon se o servi\u00e7o for solicitado freq\u00fcentemente (como \u00e9 o caso<br \/>\ndos servidores web ou proxy).<br \/>\nPara verificar se um programa est\u00e1 rodando como daemon, basta digitar ps ax e procurar o nome<br \/>\ndo programa, em caso positivo ele \u00e9 um daemon.<br \/>\nNormalmente os programas que s\u00e3o iniciados como daemons possuem seus pr\u00f3prios recursos de<br \/>\nseguran\u00e7a\/autentica\u00e7\u00e3o para decidir quem tem ou n\u00e3o permiss\u00e3o de se conectar.<br \/>\n4.7.2 Servi\u00e7os iniciados atrav\u00e9s do inetd<br \/>\nServi\u00e7os iniciados pelo inetd s\u00e3o carregados para a mem\u00f3ria somente quando s\u00e3o solicitados. O<br \/>\ncontrole de quais servi\u00e7os podem ser carregados e seus par\u00e2metros, s\u00e3o feitos atrav\u00e9s do arquivo<br \/>\n\/etc\/inetd.conf.<br \/>\nUm daemon chamado inetd l\u00ea as configura\u00e7\u00f5es deste arquivo e permanece residente na mem\u00f3ria,<br \/>\nesperando pela conex\u00e3o dos clientes. Quando uma conex\u00e3o \u00e9 solicitada, o daemon inetd verifica as<br \/>\npermiss\u00f5es de acesso nos arquivos \/etc\/hosts.allow e \/etc\/hosts.deny e carrega o<br \/>\nprograma servidor correspondente no arquivo \/etc\/inetd.conf. Um arquivo tamb\u00e9m<br \/>\nimportante neste processo \u00e9 o \/etc\/services que faz o mapeamento das portas e nomes dos<br \/>\nservi\u00e7os.<br \/>\nAlguns programas servidores oferecem a op\u00e7\u00e3o de serem executados como daemons ou atrav\u00e9s do<br \/>\ninetd. \u00c9 recomend\u00e1vel escolher inetd se o servi\u00e7o n\u00e3o for solicitado freq\u00fcentemente (como \u00e9 o caso<br \/>\nde servidores ftp, telnet, talk, etc).<br \/>\n4.7.2.1 \/etc\/inetd.conf<br \/>\nO arquivo \/etc\/inetd.conf \u00e9 um arquivo de configura\u00e7\u00e3o para o daemon servidor inetd. Sua<br \/>\nfun\u00e7\u00e3o \u00e9 dizer ao inetd o que fazer quando receber uma requisi\u00e7\u00e3o de conex\u00e3o para um servi\u00e7o<br \/>\nem particular. Para cada servi\u00e7o que deseja aceitar conex\u00f5es, voc\u00ea precisa dizer ao inetd qual<br \/>\ndaemon servidor executar e como executa-lo.<br \/>\nSeu formato \u00e9 tamb\u00e9m muito simples. \u00c9 um arquivo texto com cada linha descrevendo um servi\u00e7o<br \/>\nque deseja oferecer. Qualquer texto em uma linha seguindo uma &#8220;#&#8221; \u00e9 ignorada e considerada um<br \/>\ncoment\u00e1rio. Cada linha cont\u00e9m sete campos separados por qualquer n\u00famero de espa\u00e7os em branco<br \/>\n(tab ou espa\u00e7os). O formato geral \u00e9 o seguinte:<br \/>\nservi\u00e7o tipo_soquete proto op\u00e7\u00f5es.num usu\u00e1rio caminho_serv.<br \/>\nop\u00e7\u00f5es_serv.<br \/>\nservi\u00e7o<br \/>\n\u00c9 o servi\u00e7o relevante a este arquivo de configura\u00e7\u00e3o pego do arquivo \/etc\/services.<br \/>\ntipo_soquete<br \/>\nEste campo descreve o tipo do soquete que este item utilizar\u00e1, valores permitidos s\u00e3o:<br \/>\nstream, dgram, raw, rdm, ou seqpacket. Isto \u00e9 um pouco t\u00e9cnico de natureza, mas<br \/>\ncomo uma regra geral, todos os servi\u00e7os baseados em tcp usam stream e todos os<br \/>\nprotocolos baseados em udp usam dgram. Somente alguns tipos de daemons especiais de<br \/>\nservidores usam os outros valores.<br \/>\nprotocolo<br \/>\nO protocolo \u00e9 considerado v\u00e1lido para esta item. Isto deve bater com um item apropriado no<br \/>\narquivo \/etc\/services e tipicamente ser\u00e1 tcp ou udp. Servidores baseados no Sun RPC<br \/>\n(Remote Procedure Call), utilizam rpc\/tcp ou rpc\/udp.<br \/>\nop\u00e7\u00f5es<br \/>\nExistem somente duas configura\u00e7\u00f5es para este campo. A configura\u00e7\u00e3o deste campo diz ao<br \/>\ninetd se o programa servidor de rede libera o soquete ap\u00f3s ele ser iniciado e ent\u00e3o se inetd<br \/>\npode iniciar outra c\u00f3pia na pr\u00f3xima requisi\u00e7\u00e3o de conex\u00e3o, ou se o inetd deve aguardar e<br \/>\nassumir que qualquer servidor j\u00e1 em execu\u00e7\u00e3o pegar\u00e1 a nova requisi\u00e7\u00e3o de conex\u00e3o.<br \/>\nEste \u00e9 um pequeno truque de trabalho, mas como uma regra, todos os servidores tcp devem<br \/>\nter este par\u00e2metro ajustado para nowait e a maior parte dos servidores udp deve t\u00ea-lo ajustado<br \/>\npara wait. Foi alertado que existem algumas excess\u00f5es a isto, assim deixo isto como exemplo<br \/>\nse n\u00e3o estiver seguro.<br \/>\nO n\u00famero especificado ap\u00f3s o &#8220;.&#8221; \u00e9 opcional e define a quantidade m\u00e1xima de vezes que o<br \/>\nservi\u00e7o poder\u00e1 ser executado durante 1 minuto. Se o servi\u00e7o for executado mais vezes do que<br \/>\neste valor, ele ser\u00e1 automaticamente desativado pelo inetd e uma mensagem ser\u00e1 mostrada no<br \/>\nlog do sistema avisando sobre o fato.<br \/>\nPara reativar o servi\u00e7o interrompido, reinicie o inetd com: killall -HUP inetd. O<br \/>\nvalor padr\u00e3o \u00e9 40.<br \/>\nusu\u00e1rio<br \/>\nEste campo descreve que conta de usu\u00e1rio usu\u00e1rio no arquivo \/etc\/passwd ser\u00e1 escolhida<br \/>\ncomo dono do daemon de rede quando este for iniciado. Isto \u00e9 muito \u00fatil se voc\u00ea deseja<br \/>\ndiminuir os riscos de seguran\u00e7a. Voc\u00ea pode ajustar o usu\u00e1rio de qualquer item para o usu\u00e1rio<br \/>\nnobody, assim se a seguran\u00e7a do servidor de redes \u00e9 quebrada, a possibilidade de problemas \u00e9<br \/>\nminimizada. Normalmente este campo \u00e9 ajustado para root, porque muitos servidores<br \/>\nrequerem privil\u00e9gios de usu\u00e1rio root para funcionarem corretamente.<br \/>\ncaminho_servidor<br \/>\nEste campo \u00e9 o caminho para o programa servidor atual que ser\u00e1 executado.<br \/>\nargumentos_servidor<br \/>\nEste campo inclui o resto da linha e \u00e9 opcional. Voc\u00ea pode colocar neste campo qualquer<br \/>\nargumento da linha de comando que deseje passar para o daemon servidor quando for<br \/>\niniciado.<br \/>\nUma dica que pode aumentar significativamente a seguran\u00e7a de seu sistema \u00e9 comentar (colocar<br \/>\numa #no inicio da linha) os servi\u00e7os que n\u00e3o ser\u00e3o utilizados.<br \/>\nAbaixo um modelo de arquivo \/etc\/inetd.conf usado em sistemas Debian:<br \/>\n# \/etc\/inetd.conf: veja inetd(8) para mais detalhes.<br \/>\n#<br \/>\n# Banco de Dados de configura\u00e7\u00f5es do servidor Internet<br \/>\n#<br \/>\n#<br \/>\n# Linhas iniciando com &#8220;#:LABEL:&#8221; ou &#8220;#&lt;off&gt;#&#8221; n\u00e3o devem<br \/>\n# ser alteradas a n\u00e3o ser que saiba o que est\u00e1 fazendo!<br \/>\n#<br \/>\n#<br \/>\n# Os pacotes devem modificar este arquivo usando update-inetd(8)<br \/>\n#<br \/>\n# &lt;nome_servi\u00e7o&gt; &lt;tipo_soquete&gt; &lt;proto&gt; &lt;op\u00e7\u00f5es&gt; &lt;usu\u00e1rio&gt;<br \/>\n&lt;caminho_servidor&gt; &lt;args&gt;<br \/>\n#<br \/>\n#:INTERNO: Servi\u00e7os internos<br \/>\n#echo stream tcp nowait root internal<br \/>\n#echo dgram udp wait root internal<br \/>\n#chargen stream tcp nowait root internal<br \/>\n#chargen dgram udp wait root internal<br \/>\n#discard stream tcp nowait root internal<br \/>\n#discard dgram udp wait root internal<br \/>\n#daytime stream tcp nowait root internal<br \/>\n#daytime dgram udp wait root internal<br \/>\ntime stream tcp nowait root internal<br \/>\n#time dgram udp wait root internal<br \/>\n#:PADR\u00d5ES: Estes s\u00e3o servi\u00e7os padr\u00f5es.<br \/>\n#:BSD: Shell, login, exec e talk s\u00e3o protocolos BSD.<br \/>\n#shell stream tcp nowait root \/usr\/sbin\/tcpd<br \/>\n\/usr\/sbin\/in.rshd<br \/>\n#login stream tcp nowait root \/usr\/sbin\/tcpd<br \/>\n\/usr\/sbin\/in.rlogind<br \/>\n#exec stream tcp nowait root \/usr\/sbin\/tcpd<br \/>\n\/usr\/sbin\/in.rexecd<br \/>\ntalk dgram udp wait.10 nobody.tty \/usr\/sbin\/tcpd<br \/>\n\/usr\/sbin\/in.talkd<br \/>\nntalk dgram udp wait.10 nobody.tty \/usr\/sbin\/tcpd<br \/>\n\/usr\/sbin\/in.ntalkd<br \/>\n#:MAIL: Mail, news e servi\u00e7os uucp.<br \/>\nsmtp stream tcp nowait.60 mail \/usr\/sbin\/exim<br \/>\nexim -bs<br \/>\n#:INFO: Servi\u00e7os informativos<br \/>\n#:BOOT: O servi\u00e7o Tftp \u00e9 oferecido primariamente para a inicializa\u00e7\u00e3o.<br \/>\nAlguns sites<br \/>\n# o executam somente em m\u00e1quinas atuando como &#8220;servidores de<br \/>\ninicializa\u00e7\u00e3o&#8221;.<br \/>\n#:RPC: Servi\u00e7os baseados em RPC<br \/>\n#:HAM-RADIO: servi\u00e7os de r\u00e1dio amador<br \/>\n#:OTHER: Outros servi\u00e7os<br \/>\n4.8 Seguran\u00e7a da Rede e controle de Acesso<br \/>\nDeixe-me iniciar esta se\u00e7\u00e3o lhe alertando que a seguran\u00e7a da rede em sua m\u00e1quina e ataques<br \/>\nmaliciosos s\u00e3o uma arte complexa. Uma regra importante \u00e9: &#8220;N\u00e3o ofere\u00e7a servi\u00e7os de rede que n\u00e3o<br \/>\ndeseja utilizar&#8221;.<br \/>\nMuitas distribui\u00e7\u00f5es vem configuradas com v\u00e1rios tipos de servi\u00e7os que s\u00e3o iniciados<br \/>\nautomaticamente. Para melhorar, mesmo que insignificantemente, o n\u00edvel de seguran\u00e7a em seu<br \/>\nsistema voc\u00ea deve editar se arquivo \/etc\/inetd.conf e comentar (colocar uma &#8220;#&#8221;) as linhas<br \/>\nque cont\u00e9m servi\u00e7os que n\u00e3o utiliza.<br \/>\nBons candidatos s\u00e3o servi\u00e7os tais como: shell, login, exec, uucp, ftp e servi\u00e7os de<br \/>\ninforma\u00e7\u00e3o tais como finger, netstat e sysstat.<br \/>\nExistem todos os tipos de mecanismos de seguran\u00e7a e controle de acesso, eu descreverei os mais<br \/>\nimportantes deles.<br \/>\n4.8.1 \/etc\/ftpusers<br \/>\nO arquivo \/etc\/ftpusers \u00e9 um mecanismo simples que lhe permite bloquear a conex\u00e3o de<br \/>\ncertos usu\u00e1rios via ftp. O arquivo \/etc\/ftpusers \u00e9 lido pelo programa daemon ftp (ftpd)<br \/>\nquando um pedido de conex\u00e3o \u00e9 recebido. O arquivo \u00e9 uma lista simples de usu\u00e1rios que n\u00e3o tem<br \/>\npermiss\u00e3o de se conectar. Ele se parece com:<br \/>\n# \/etc\/ftpusers &#8211; login de usu\u00e1rios bloqueados via ftp<br \/>\nroot<br \/>\nuucp<br \/>\nbin<br \/>\nmail<br \/>\n4.8.2 \/etc\/securetty<br \/>\nO arquivo \/etc\/securetty lhe permite especificar que dispositivos tty que o usu\u00e1rio root<br \/>\npode se conectar. O arquivo \/etc\/securetty \u00e9 lido pelo programa login (normalmente<br \/>\n\/bin\/login). Seu formato \u00e9 uma lista de dispositivos tty onde a conex\u00e3o \u00e9 permitida, em todos<br \/>\nos outros, a entrada do usu\u00e1rio root \u00e9 bloqueada.<br \/>\n# \/etc\/securetty &#8211; terminais que o usu\u00e1rio root pode se conectar<br \/>\ntty1<br \/>\ntty2<br \/>\ntty3<br \/>\ntty4<br \/>\n4.8.3 O mecanismo de controle de acessos tcpd<br \/>\nO programa tcpd que voc\u00ea deve ter visto listado no mesmo arquivo \/etc\/inetd.conf,<br \/>\noferece mecanismos de registro e controle de acesso para os servi\u00e7os que esta configurado para<br \/>\nproteger. Ele \u00e9 um tipo de firewall simples e f\u00e1cil de configurar que pode evitar tipos indesejados de<br \/>\nataques e registrar poss\u00edveis tentativas de invas\u00e3o.<br \/>\nQuando \u00e9 executado pelo programa inetd, ele l\u00ea dos arquivos contendo regras de acesso e permite<br \/>\nou bloqueia o acesso ao servidor protegendo adequadamente.<br \/>\nEle procura nos arquivos de regras at\u00e9 que uma regra confira. Se nenhuma regra conferir, ent\u00e3o ele<br \/>\nassume que o acesso deve ser permitido a qualquer um. Os arquivos que ele procura em seq\u00fc\u00eancia<br \/>\ns\u00e3o: \/etc\/hosts.allow e \/etc\/hosts.deny. Eu descreverei cada um destes arquivos<br \/>\nseparadamente.<br \/>\nPara uma descri\u00e7\u00e3o completa desta facilidade, voc\u00ea deve verificar a p\u00e1gina de manual apropriada<br \/>\n(hosts_access (5) \u00e9 um bom ponto de partida).<br \/>\n4.8.3.1 \/etc\/hosts.allow<br \/>\nO arquivo \/etc\/hosts.allow \u00e9 um arquivo de configura\u00e7\u00e3o do programa<br \/>\n\/usr\/sbin\/tcpd. O arquivo hosts.allow cont\u00e9m regras descrevendo que hosts tem<br \/>\npermiss\u00e3o de acessar um servi\u00e7o em sua m\u00e1quina.<br \/>\nO formato do arquivo \u00e9 muito simples:<br \/>\n# \/etc\/hosts.allow<br \/>\n#<br \/>\n# lista de servi\u00e7os: lista de hosts : comando<br \/>\nlista de servi\u00e7os<br \/>\n\u00c9 uma lista de nomes de servi\u00e7os separados por v\u00edrgula que esta regra se aplica. Exemplos de<br \/>\nnomes de servi\u00e7os s\u00e3o: ftpd, telnetd e fingerd.<br \/>\nlista de hosts<br \/>\n\u00c9 uma lista de nomes de hosts separada por v\u00edrgula. Voc\u00ea tamb\u00e9m pode usar endere\u00e7os IP&#8217;s<br \/>\naqui. Adicionalmente, voc\u00ea pode especificar nomes de computadores ou endere\u00e7o IP usando<br \/>\ncaracteres coringas para atingir grupos de hosts.<br \/>\nExemplos incluem: gw.vk2ktj.ampr.org para conferir com um endere\u00e7o de<br \/>\ncomputador espec\u00edfico, .uts.edu.au para atingir qualquer endere\u00e7o de computador<br \/>\nfinalizando com aquele string. Use 200.200.200. para conferir com qualquer endere\u00e7o IP<br \/>\niniciando com estes d\u00edgitos. Existem alguns par\u00e2metros especiais para simplificar a<br \/>\nconfigura\u00e7\u00e3o, alguns destes s\u00e3o: ALL atinge todos endere\u00e7os, LOCAL atinge qualquer<br \/>\ncomputador que n\u00e3o cont\u00e9m um &#8220;.&#8221; (ie. est\u00e1 no mesmo dom\u00ednio de sua m\u00e1quina) e<br \/>\nPARANOID atinge qualquer computador que o nome n\u00e3o confere com seu endere\u00e7o<br \/>\n(falsifica\u00e7\u00e3o de nome). Existe tamb\u00e9m um \u00faltimo par\u00e2metro que \u00e9 tamb\u00e9m \u00fatil: o par\u00e2metro<br \/>\nEXCEPT lhe permite fazer uma lista de exce\u00e7\u00f5es. Isto ser\u00e1 coberto em um exemplo adiante.<br \/>\ncomando<br \/>\n\u00c9 um par\u00e2metro opcional. Este par\u00e2metro \u00e9 o caminho completo de um comando que dever\u00e1<br \/>\nser executado toda a vez que esta regra conferir. Ele pode executar um comando para tentar<br \/>\nidentificar quem esta conectado pelo host remoto, ou gerar uma mensagem via E-Mail ou<br \/>\nalgum outro alerta para um administrador de rede que algu\u00e9m est\u00e1 tentando se conectar.<br \/>\nExistem um n\u00famero de expans\u00f5es que podem ser inclu\u00eddas, alguns exemplos comuns s\u00e3o: %h<br \/>\nexpande o endere\u00e7o do computador que est\u00e1 conectado ou endere\u00e7o se ele n\u00e3o possuir um<br \/>\nnome, %d o nome do daemon sendo chamado.<br \/>\nSe o computador tiver permiss\u00e3o de acessar um servi\u00e7o atrav\u00e9s do \/etc\/hosts.allow, ent\u00e3o o<br \/>\n\/etc\/hosts.deny n\u00e3o ser\u00e1 consultado e o acesso ser\u00e1 permitido.<br \/>\nComo exemplo:<br \/>\n# \/etc\/hosts.allow<br \/>\n#<br \/>\n# Permite que qualquer um envie e-mails<br \/>\nin.smtpd: ALL<br \/>\n# Permitir telnet e ftp somente para hosts locais e myhost.athome.org.au<br \/>\nin.telnetd, in.ftpd: LOCAL, myhost.athome.org.au<br \/>\n# Permitir finger para qualquer um mas manter um registro de quem \u00e9<br \/>\nin.fingerd: ALL: (finger @%h | mail -s &#8220;finger from %h&#8221; root)<br \/>\nQualquer modifica\u00e7\u00e3o no arquivo \/etc\/hosts.allow entrar\u00e1 em a\u00e7\u00e3o ap\u00f3s reiniciar o daemon<br \/>\ninetd. Isto pode ser feito com o comando kill -HUP [pid do inetd], o pid do inetd pode<br \/>\nser obtido com o comando ps ax|grep inetd.<br \/>\n4.8.3.2 \/etc\/hosts.deny<br \/>\nO arquivo \/etc\/hosts.deny \u00e9 um arquivo de configura\u00e7\u00e3o das regras descrevendo quais<br \/>\ncomputadores n\u00e3o tem a permiss\u00e3o de acessar um servi\u00e7o em sua m\u00e1quina.<br \/>\nUm modelo simples deste arquivo se parece com isto:<br \/>\n# \/etc\/hosts.deny<br \/>\n#<br \/>\n# Bloqueia o acesso de computadores com endere\u00e7os suspeitos<br \/>\nALL: PARANOID<br \/>\n#<br \/>\n# Bloqueia todos os computadores<br \/>\nALL: ALL<br \/>\nA entrada PARANOID \u00e9 realmente redundante porque a outra entrada nega tudo. Qualquer uma<br \/>\ndestas linhas pode fazer uma seguran\u00e7a padr\u00e3o dependendo de seu requerimento em particular.<br \/>\nTendo um padr\u00e3o ALL: ALL no arquivo \/etc\/hosts.deny e ent\u00e3o ativando especificamente os servi\u00e7os<br \/>\ne permitindo computadores que voc\u00ea deseja no arquivo \/etc\/hosts.allow \u00e9 a configura\u00e7\u00e3o<br \/>\nmais segura.<br \/>\nQualquer modifica\u00e7\u00e3o no arquivo \/etc\/hosts.deny entrar\u00e1 em a\u00e7\u00e3o ap\u00f3s reiniciar o daemon<br \/>\ninetd. Isto pode ser feito com o comando kill -HUP [pid do inetd], o pid do inetd pode<br \/>\nser obtido com o comando ps ax|grep inetd.<br \/>\n4.8.3.3 \/etc\/hosts.equiv e \/etc\/shosts.equiv<br \/>\nO arquivo \/etc\/hosts.equiv \u00e9 usado para garantir\/bloquear certos computadores e usu\u00e1rios o<br \/>\ndireito de acesso aos servi\u00e7os &#8220;r*&#8221; (rsh, rexec, rcp, etc) sem precisar fornecer uma senha. O<br \/>\n\/etc\/shosts.equiv \u00e9 equivalente mas \u00e9 lido somente pelo servi\u00e7o ssh. Esta fun\u00e7\u00e3o \u00e9 \u00fatil em<br \/>\num ambiente seguro onde voc\u00ea controla todas as m\u00e1quinas, mesmo assim isto \u00e9 um perigo de<br \/>\nseguran\u00e7a (veja nas observa\u00e7\u00f5es). O formato deste arquivo \u00e9 o seguinte:<br \/>\n#Acesso M\u00e1quina Usu\u00e1rio<br \/>\n&#8211; maquina2.dominio.com.br usuario2<br \/>\n&#8211; maquina4.dominio.com.br usuario2<br \/>\n+ maquina1.dominio.com.br +@usuarios<br \/>\nO primeiro campo especifica se o acesso ser\u00e1 permitido ou negado caso o segundo e terceiro campo<br \/>\nconfiram. Por raz\u00f5es de seguran\u00e7a deve ser especificado o FQDN no caso de nomes de m\u00e1quinas.<br \/>\nGrupos de rede podem ser especificados usando a sintaxe &#8220;+@grupo&#8221;.<br \/>\nPara aumentar a seguran\u00e7a, n\u00e3o use este mecanismo e encoraje seus usu\u00e1rios a tamb\u00e9m n\u00e3o usar o<br \/>\narquivo .rhosts.<br \/>\nATEN\u00c7\u00c3O O uso do sinal &#8220;+&#8221; sozinho significa permitir acesso livre a qualquer pessoa de<br \/>\nqualquer lugar. Se este mecanismo for mesmo necess\u00e1rio, tenha muita aten\u00e7\u00e3o na especifica\u00e7\u00e3o de<br \/>\nseus campos.<br \/>\nEvita tamb\u00e9m A TODO CUSTO uso de nomes de usu\u00e1rios (a n\u00e3o ser para negar o acesso), pois \u00e9<br \/>\nf\u00e1cil forjar o login, entrar no sistema tomar conta de processos (como por exemplo do servidor<br \/>\nApache rodando sob o usu\u00e1rio www-data ou at\u00e9 mesmo o root), causando enormes estragos.<br \/>\n4.8.3.4 Verificando a seguran\u00e7a do TCPD e a sintaxe dos arquivos<br \/>\nO utilit\u00e1rio tcpdchk \u00e9 \u00fatil para verificar problemas nos arquivos hosts.allow e<br \/>\nhosts.deny. Quando \u00e9 executado ele verifica a sintaxe destes arquivos e relata problemas, caso<br \/>\neles existam.<br \/>\nOutro utilit\u00e1rio \u00fatil \u00e9 o tcpdmatch, o que ele faz \u00e9 permitir que voc\u00ea simule a tentativa de<br \/>\nconex\u00f5es ao seu sistema e observar ser ela ser\u00e1 permitida ou bloqueada pelos arquivos<br \/>\nhosts.allow e hosts.deny.<br \/>\n\u00c9 importante mostrar na pr\u00e1tica como o tcpdmatch funciona atrav\u00e9s de um exemplo simulando<br \/>\num teste simples em um sistema com a configura\u00e7\u00e3o padr\u00e3o de acesso restrito:<br \/>\n\u2022 O arquivo hosts.allow cont\u00e9m as seguintes linhas:<br \/>\nALL: 127.0.0.1<br \/>\nin.talkd, in.ntalkd: ALL<br \/>\nin.fingerd: 192.168.1. EXCEPT 192.168.1.30<br \/>\nA primeira linha permite o loopback (127.0.0.1) acessar qualquer servi\u00e7o TCP\/UDP em<br \/>\nnosso computador, a segunda linha permite qualquer um acessar os servidor TALK (n\u00f3s<br \/>\ndesejamos que o sistema nos avise quando algu\u00e9m desejar conversar) e a terceira somente<br \/>\npermite enviar dados do finger para computadores dentro de nossa rede privada (exceto<br \/>\npara 192.168.1.30).<br \/>\n\u2022 O arquivo hosts.deny cont\u00e9m a seguinte linha:<br \/>\nALL: ALL<br \/>\nQualquer outra conex\u00e3o ser\u00e1 explicitamente derrubada.<br \/>\nVamos aos testes, digitando: &#8220;tcpdmatch in.fingerd 127.0.0.1&#8221; (verificar se o endere\u00e7o 127.0.0.1 tem<br \/>\nacesso ao finger):<br \/>\nclient: address 127.0.0.1<br \/>\nserver: process in.fingerd<br \/>\nmatched: \/etc\/hosts.allow line 1<br \/>\naccess: granted<br \/>\nOk, temos acesso garantido com especificado pela linha 1 do hosts.allow (a primeira linha que<br \/>\nconfere \u00e9 usada). Agora &#8220;tcpdmatch in.fingerd 192.168.1.29&#8221;:<br \/>\nclient: address 192.168.1.29<br \/>\nserver: process in.fingerd<br \/>\nmatched: \/etc\/hosts.allow line 3<br \/>\naccess: granted<br \/>\nO acesso foi permitido atrav\u00e9s da linha 3 do hosts.allow. Agora &#8220;tcpdmatch in.fingerd<br \/>\n192.168.1.29&#8221;:<br \/>\nclient: address 192.168.1.30<br \/>\nserver: process in.fingerd<br \/>\nmatched: \/etc\/hosts.deny line 1<br \/>\naccess: denied<br \/>\nO que aconteceu? como a linha 2 do hosts.allow permite o acesso a todos os computadores<br \/>\n192.168.1.* exceto 192.168.1.30, ela n\u00e3o bateu, ent\u00e3o o processamento partiu para o hosts.deny<br \/>\nque nega todos os servi\u00e7os para qualquer endere\u00e7o. Agora um \u00faltimo exemplo: &#8220;tcpdmatch in.talkd<br \/>\nwww.debian.org&#8221;<br \/>\nclient: address www.debian.org<br \/>\nserver: process in.talkd<br \/>\nmatched: \/etc\/hosts.allow line 2<br \/>\naccess: granted<br \/>\nOk, na linha 2 qualquer computador pode te chamar para conversar via talk na rede, mas para o<br \/>\nendere\u00e7o DNS conferir com um IP especificado, o GNU\/Linux faz a resolu\u00e7\u00e3o DNS, convertendo<br \/>\no endere\u00e7o para IP e verificando se ele possui acesso.<br \/>\nNo lugar do endere\u00e7o tamb\u00e9m pode ser usado a forma daemon@computador ou<br \/>\ncliente@computador para verificar respectivamente o acesso de daemons e cliente de<br \/>\ndeterminados computadores aos servi\u00e7os da rede.<br \/>\nComo pode ver o TCPD ajuda a aumentar a seguran\u00e7a do seu sistema, mas n\u00e3o confie nele al\u00e9m do<br \/>\nuso em um sistema simples, \u00e9 necess\u00e1rio o uso de um firewall verdadeiro para controlar<br \/>\nminuciosamente a seguran\u00e7a do seu sistema e dos pacotes que atravessam os protocolos, roteamento<br \/>\ne as interfaces de rede. Se este for o caso aprenda a trabalhar a fundo com firewalls e implemente a<br \/>\nseguran\u00e7a da sua rede da forma que melhor planejar.<br \/>\n4.8.4 Firewall<br \/>\nDentre todos os m\u00e9todos de seguran\u00e7a, o Firewall \u00e9 o mais seguro. A fun\u00e7\u00e3o do Firewall \u00e9 bloquear<br \/>\ndeterminados tipos de tr\u00e1fego de um endere\u00e7o ou para uma porta local ou permitir o acesso de<br \/>\ndeterminados usu\u00e1rios mas bloquear outros, bloquear a falsifica\u00e7\u00e3o de endere\u00e7os, redirecionar<br \/>\ntr\u00e1fego da rede, ping da morte, etc.<br \/>\nA implementa\u00e7\u00e3o de um bom firewall depender\u00e1 da experi\u00eancia, conhecimentos de rede<br \/>\n(protocolos, roteamento, interfaces, endere\u00e7amento, masquerade, etc), da rede local, e sistema em<br \/>\ngeral do Administrador de redes, a seguran\u00e7a de sua rede e seus dados dependem da escolha do<br \/>\nprofissional correto, que entenda a fundo o TCP\/IP, roteamento, protocolos, servi\u00e7os e outros<br \/>\nassuntos ligados a rede.<br \/>\nFreq\u00fcentemente tem se ouvido falar de empresas que tiveram seus sistemas invadidos, em parte isto<br \/>\n\u00e9 devido a escolha do sistema operacional indevido mas na maioria das vezes o motivo \u00e9 a falta de<br \/>\ninvestimento da empresa em pol\u00edticas de seguran\u00e7a, que algumas simplesmente consideram a<br \/>\nseguran\u00e7a de seus dados e sigilo interno como uma despesa a mais.<br \/>\nUm bom firewall que recomendo \u00e9 o ipchains, Sinus e o TIS. Particularmente gosto muito de<br \/>\nusar o ipchains e o Sinus e \u00e9 poss\u00edvel fazer coisas inimagin\u00e1veis programando scripts para<br \/>\ninteragirem com estes programas&#8230;<br \/>\n4.9 Outros arquivos de configura\u00e7\u00e3o relacionados com a rede<br \/>\n4.9.1 \/etc\/services<br \/>\nO arquivo \/etc\/services \u00e9 um banco de dados simples que associa um nome amig\u00e1vel a<br \/>\nhumanos a uma porta de servi\u00e7o amig\u00e1vel a m\u00e1quinas. \u00c9 um arquivo texto de formato muito<br \/>\nsimples, cada linha representa um item no banco de dados. Cada item \u00e9 dividido em tr\u00eas campos<br \/>\nseparados por qualquer n\u00famero de espa\u00e7os em branco (tab ou espa\u00e7os). Os campos s\u00e3o:<br \/>\nnome porta\/protocolo apelido # coment\u00e1rio<br \/>\nname<br \/>\nUma palavra simples que representa o nome do servi\u00e7o sendo descrito.<br \/>\nporta\/protocolo<br \/>\nEste campo \u00e9 dividido em dois sub-campos.<br \/>\n\u2022 porta &#8211; Um n\u00famero que especifica o n\u00famero da porta em que o servi\u00e7o estar\u00e1<br \/>\ndispon\u00edvel. Muitos dos servi\u00e7os comuns tem designados um n\u00famero de servi\u00e7o. Estes<br \/>\nest\u00e3o descritos no RFC-1340.<br \/>\n\u2022 protocolo &#8211; Este sub-campo pode ser ajustado para tcp ou udp. \u00c9 importante notar<br \/>\nque o item 18\/tcp \u00e9 muito diferente do item 18\/udp e que n\u00e3o existe raz\u00e3o t\u00e9cnica<br \/>\nporque o mesmo servi\u00e7o precisa existir em ambos. Normalmente o senso comum<br \/>\nprevalece e que somente se um servi\u00e7o esta dispon\u00edvel em ambos os protocolos tcp e<br \/>\nudp, voc\u00ea precisar\u00e1 especificar ambos.<br \/>\napelidos<br \/>\nOutros nomes podem ser usados para se referir a entrada deste servi\u00e7o.<br \/>\ncoment\u00e1rio<br \/>\nQualquer texto aparecendo em uma linha ap\u00f3s um caracter &#8220;#&#8221; \u00e9 ignorado e tratado como<br \/>\ncoment\u00e1rio.<br \/>\n4.9.2 \/etc\/protocols<br \/>\nO arquivo \/etc\/protocols \u00e9 um banco de dados que mapeia n\u00fameros de identifica\u00e7\u00e3o de<br \/>\nprotocolos novamente em nomes de protocolos. Isto \u00e9 usado por programadores para permiti-los<br \/>\nespecificar protocolos por nomes em seus programas e tamb\u00e9m por alguns programas tal como<br \/>\ntcpdump permitindo-os mostrar nomes ao inv\u00e9s de n\u00fameros em sua sa\u00edda. A sintaxe geral deste<br \/>\narquivo \u00e9:<br \/>\nnomeprotocolo n\u00famero apelidos<br \/>\n4.10 Camadas de Rede<br \/>\nS\u00e3o organiza\u00e7\u00f5es do protocolo TCP\/IP que visam organizar e simplificar seu padr\u00e3o e<br \/>\nimplementa\u00e7\u00e3o pelos desenvolvedores.<br \/>\n\u2022 Um padr\u00e3o TCP \u00e9 o conjunto de regras que devem ser seguidas para garantir a<br \/>\nhomogeneidade da comunica\u00e7\u00e3o entre diversos sistemas de diversos fabricantes (por<br \/>\nexemplo, Mac com Windows, Windows com Linux, etc.).<br \/>\n\u2022 A implementa\u00e7\u00e3o \u00e9 o c\u00f3digo escrito por cada desenvolvedor para integra\u00e7\u00e3o ao sistema<br \/>\noperacional seguindo as regras do padr\u00e3o para garantir a comunica\u00e7\u00e3o entre as m\u00e1quinas,<br \/>\nportanto, a implementa\u00e7\u00e3o do protocolo TCP varia de fabricante para fabricante.<br \/>\nExistem dois tipos de padr\u00f5es TCP: Darpa e OSI. O padr\u00e3o Darpa \u00e9 dividido em 4 camadas e ainda<br \/>\n\u00e9 o padr\u00e3o atualmente utilizado. O padr\u00e3o OSI \u00e9 mais recente, dividido em 7 camadas, mas ainda<br \/>\nn\u00e3o se tornou um padr\u00e3o como o Darpa.<br \/>\nSegue abaixo os padr\u00f5es e a descri\u00e7\u00e3o de cada uma das camadas:<br \/>\nDarpa<br \/>\n\u2022 Aplica\u00e7\u00e3o &#8211; www, ftp, dns, etc. Fazem interface com as aplica\u00e7\u00f5es do sistema.<br \/>\n\u2022 Transporte &#8211; Protocolo tcp e udp. Cuidam da parte de transporte dos dados do<br \/>\nsistema.<br \/>\n\u2022 Rede &#8211; IP, icmp, igmp, arp. Cuida de levar o pacote para seu destino (rotas) e<br \/>\ncondi\u00e7\u00f5es de transmiss\u00e3o.<br \/>\n\u2022 Interface de Rede &#8211; Ethernet, FDDI, Token Ring. Define qual o m\u00e9todo que a<br \/>\nmensagem transmitida ser\u00e1 encapsulada para envio ao seu destino.<br \/>\nApesar dos padr\u00f5es Darpa e OSI, o protocolo TCP\/IP \u00e9 oficialmente independente destas camadas.<br \/>\n4.11 RFCs de refer\u00eancia sobre protocolos de rede<br \/>\nComo refer\u00eancia de pesquisa, segue abaixo a listagem de n\u00fameros de RFCs para protocolos de rede<br \/>\nmais utilizados:<br \/>\nIP<br \/>\nhttp:\/\/www.rfc-editor.org\/rfc\/rfc791.txt<br \/>\nICMP<br \/>\nhttp:\/\/www.rfc-editor.org\/rfc\/rfc792.txt<br \/>\nTCP<br \/>\nhttp:\/\/www.rfc-editor.org\/rfc\/rfc793.txt<br \/>\nUDP<br \/>\nhttp:\/\/www.rfc-editor.org\/rfc\/rfc768.txt<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rede \u00e9 a conex\u00e3o de duas ou mais m\u00e1quinas com o objetivo de compartilhar recursos entre uma m\u00e1quina e outra. Os recursos podem ser: \u2022 Compartilhamento do conte\u00fado de seu disco r\u00edgido (ou parte dele) com outros usu\u00e1rios. Os outros usu\u00e1rios poder\u00e3o acessar o disco como se estivesse instalado na pr\u00f3pria m\u00e1quina). Tamb\u00e9m chamado de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,51,68],"tags":[22],"class_list":["post-296","post","type-post","status-publish","format-standard","hentry","category-viazap","category-linux-linuxrs","category-redes-2","tag-redes"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=296"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/296\/revisions"}],"predecessor-version":[{"id":297,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/296\/revisions\/297"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}