LABORATÓRIO DE INTERCONEXÃO DE REDES DE COMPUTADORES. SERVIÇOS BÁSICOS: Conceituação, Instalação e Configuração

Documentos relacionados
LABORATÓRIO DE INTERCONEXÃO DE REDES DE COMPUTADORES. SERVIÇOS BÁSICOS: Conceituação, Instalação e Configuração

LABORATÓRIO DE INTERCONEXÃO DE REDES DE COMPUTADORES. SERVIÇOS BÁSICOS: Conceituação, Instalação e Configuração

Administração de Sistemas Operacionais. Prof.: Marlon Marcon

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Servidor de s e Protocolo SMTP. Prof. MSc. Alaor José da Silva Junior

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Administração de Redes em Software Livre GNU/Linux SERVIDOR DNS

DNS: Domain Name System

UM dos protocolos de aplicação mais importantes é o DNS. Para o usuário leigo,

Camada de Aplicação Protocolo FTP e Correio Eletrônico

DNS: Domain Name System. Edgard Jamhour

CST em Redes de Computadores

Protocolos da camada aplicação

Correio eletrônico. Sistema de correio da Internet composto de

Introdução. Caixa postal (mailbox) Componentes do sistema de correio eletrônico. Correio eletrônico (SMTP, POP e IMAP)

Redes de Computadores. Prof. MSc André Y. Kusumoto

Mestrado em Engenharia Electrotécnica e de Computadores Comunicações Industriais e Empresariais. Nome: Número:

PTC Aula Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet

REDES DE COMPUTADORES

Arquitetura TCP/IP Nível de Aplicação (HTTP, SMTP, FTP & DNS) Prof. Helber Silva

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Redes de Computadores

SMTP Simple Mail Transport Protocol

LAB06 Configuração de um servidor de DNS Aplicação nslookup. Servidor BIND.

Redes de Computadores e Aplicações

LSI-TEC 01/06/2000 1

Capítulo 11 Sumário. Serviço de Correio Eletrônico - SMTP e POP3. Serviço de Páginas - Protocolo HTTP, Linguagem HTML

Roteiro LEIA COM ATENÇÃO AS SEGUINTES INSTRUÇÕES E OBSERVAÇÕES. Equipamentos, materiais, reagentes ou produto

Redes de Computadores

DNS. Usa o UDP e a porta 53. Não é uma aplicação com a qual o usuário interage diretamente Complexidade nas bordas da rede

DNS. Neste tópico veremos

Protocolos e Serviços de Redes

Laboratório 5. Configurando o Serviço DNS

DNS Parte 2 - Configuração

Protocolos e Serviços de Redes

Redes de Computadores

BIND 9 Instalação e configuração

Acesse o terminal e execute o comando abaixo para realizar a instalação do BIND, também será instalado a sua documentação.

Redes de Computadores

ADMINISTRAÇÃO DE SISTEMAS LINUX. Servidor de

Preparação AV3 Fundamentos de Redes de Computadores

Transferência de arquivos (FTP)

Transforme o seu Raspberry PI num servidor de DNS

Redes de Computadores

Redes de Computadores

DNS - Domain Name System

Redes de Computadores. A arquitectura protocolar TCP/IP

Informática. Conceitos Gerais. Professor Márcio Hunecke.

Configurar um servidor de DNS no Ubuntu via Webmin

Arquitectura de Redes

Instalação e Configuração de Servidores Linux Server Configuração de Rede. Prof. Alex Furtunato

Aula 03 DNS (Domain Name Server)

Funcionalidade e Protocolos da Camada de Aplicação

Configuração de Servidores. 1. Introdução. Por Rubens Queiroz de Almeida. Data de Publicação: 14 de Março de 2007

Disciplina: Redes de Computadores. Nível de Aplicação DNS, Correio Eletrônico, WWW

Introdução à Computação

REDES ASA. Prova 1o Bimestre. Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO

CST em Redes de Computadores

Administração dos serviços de redes utilizando linux

Sistemas Operacionais Aplicados a Redes

Redes de Computadores I. Camada de Aplicação no TCP/IP

Capítulo 2. Camada de aplicação

DNS Linux. Rodrigo Gentini

Redes de Computadores

Capítulo 5. nome. DNS ( Domain Name System ). O serviço BIND. Um dos serviços mais importantes numa rede TCP/IP é o serviço DNS.

Aplicações de Rede DHCP

Administração de Sistemas Operacionais

Quanto proteger? Depende do "valor" do que vai ser protegido. Depende de quanto custa a proteção e de qual é o custo das perdas em caso de ataque.

UFPB / CCT / DSC / PSN, 2001 * Parte 2: Arquitetura - Camada de Aplicação * Pág. 1

1. Introdução. 2. Objetivo. 3. Procedimento

unesp UNIVERSIDADE ESTADUAL PAULISTA Prof. Dr. Adriano Mauro Cansian UNESP - IBILCE - São José do Rio Preto

Resolução de nomes no Windows Server

Rafael Goulart - rafaelgou@gmail.com Curso ASLinux v.3

Correio eletrônico. Sistema de correio da Internet composto de

Gerenciamento de Redes Linux. Linux configuração de rede

Universidade Católica de Brasília Pró-reitoria de Graduação Curso de Ciência da Computação

Redes de Computadores e a Internet

Servidor DHCP Dynamic Host Configuration Protocol

HYPERTEXT TRANSFER PROTOCOL

Camada de Aplicação da Arquitetura TCP/IP

Introdução a Sistemas Abertos Configuração de Rede

Um dos serviços mais importantes numa rede TCP/IP é o serviço DNS. Porquê? Porque é muito mais fácil lembrar nomes do que números IP!

DNS Domain Name System Sistema de Nomes de Domínios

Informática Básica. Aula 03 Internet e conectividade

REDES DE COMPUTADORES

DNS. Neste tópico veremos

DNS. Adalton Júnior Christian Moreira Bernardes Júnior Ferreira do Nascimento Rodrigo Augusto Milleck Molinetti

Arquitetura TCP/IP - Internet Protocolo IP Protocolo ICMP

Arquitectura de Redes

A Brief introduction to DNS A practical approach in Archlinux. Prof. Rossano Pablo Pinto May/2017-v0.9.1

Camada de rede. Introdução às Redes de Computadores

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

DNS Domain Name System

Construção de Sites. Introdução ao Universo Web. Prof. Nícolas Trigo

LABORATÓRIO DE INTERCONEXÃO DE REDES DE COMPUTADORES. SERVIÇOS ADICIONAIS: Conceituação, Instalação e Configuração

Prof. Marcelo Cunha Parte 6

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

Transcrição:

SERVIÇOS BÁSICOS: Conceituação, Instalação e Configuração Na arquitetura TCP/IP serviços são disponibilizados em portas; Alguns serviços são ativados e associados automaticamente a portas específicas durante a inicialização da máquina (servidor); correio eletrônico e resolução de nomes são exemplos; Alguns serviços são ativados e associados a portas específicas sob demanda, quando um cliente solicita uma conexão com o servidor; terminal remoto, transferência de arquivos são exemplos. Em ambientes UNIX, o arquivo /etc/services elenca os serviços possíveis em um dado servidor, e o arquivo /etc/inetd.conf elenca os servidores (software) associados a cada serviço. Sempre que um dos arquivos for alterado, deve-se informar ao servidor internet (inetd) sobre o fato, enviando-lhe um sinal de Hang-Up (HUP) com o comando kill. [root@ebct]# ps -ae grep inetd 1324? S 0:05 /usr/sbin/inetd [root@ebct]# kill -HUP 1324 [root@ebct]_ UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 1

/etc/services # Network services, Internet style # (... ) ftp 21/tcp ssh 22/tcp telnet 23/tcp smtp 25/tcp mail (... ) domain 53/tcp nameserver # domain-name server domain 53/udp nameserver (... ) www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protocol (... ) /etc/inedt.conf # Network servers, Internet style # ( ) ftp stream tcp nowait root /usr/local/etc/in.ftpd in.ftpd -d -l pop3 stream tcp nowait root /usr/local/etc/popper popper imap4 stream tcp nowait root /usr/sbin/imap4d imap4d (... ) UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 2

DNS Domain Name Service Conceituação O esquema de endereçamento TCP/IP prevê que cada elemento da rede seja identificado de forma única através de um número o endereço IP; Trabalhar com números é mais natural para as máquinas, mas as pessoas preferem trabalhar com nomes; é muito mais fácil lembrar, por exemplo, que informações sobre a Universidade Federal de Campina Grande estão disponíveis na máquina www.ufcg.edu.br ao invés da máquina 150.165.111.253. Guardar uma tabela com todos os nomes e números de máquinas da Internet em cada máquina conectada à rede é impossível (não só pelo tamanho, como pela impossibilidade de atualização da base para mantê-la consistente); Como resolver o problema? Criar um mecanismo (ou serviço) que permita que o mapeamento de nomes em números seja feito de forma distribuída, com muitos computadores (servidores) na rede tomando conta de quantidades mais manipuláveis de nomes; UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 3

Idéia! Organizar a Internet em Domínios Administrativos e criar um banco de dados hierárquico, distribuído, onde exista um ou mais servidores em cada nível da hierarquia, responsáveis por fornecer informações sobre nomes que se situam abaixo desse ponto da hierarquia (apenas um nível). A definição de domínios administrativos e a imposição de que não se cadastre equipamentos e subdomínios com o mesmo nome em um domínio, evita a utilização de um mesmo nome para mais de um equipamento na rede; O nome de todo equipamento na rede vai ser composto de um nome local (que pode se repetir em domínios diferentes), seguido por uma hierarquia de domínios; o nome completo do equipamento passa a ser seu Nome de Domínio Totalmente Qualificado Fully Qualified Domain Name FQDN ; UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 4

Domínios na Internet refletem uma organização institucional e/ou geográfica; nos Estados Unidos temse, por exemplo: Domínio Tipo de Instituição Exemplo.mil Instituições com fins militares AntiSaddan.mil.edu Instituições educacionais Berkeley.edu.com Instituições comerciais Microsoft.com.gov Instituições governamentais Whitehouse.gov.org Instituições não-governamentais Linux.org.net Instituições ligadas à rede Eria.net No Brasil, tem-se uma organização semelhante, acrescentando-se o sufixo.br aos domínios anteriores: Domínio Tipo de Instituição Exemplo.mil.br Instituições com fins militares Emfa.mil.br.edu.br Instituições educacionais Ufcg.edu.br.com.br Instituições comerciais Uol.com.br.gov.br Instituições governamentais Mare.gov.br.org.br Instituições não-governamentais Atecel.org.br.net.br Instituições ligadas à rede Embratel.net.br UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 5

. mil gov net com edu br pt fr... org gov edu com ufpb ufal... ufcg dee dsc prai... mingau bidu anjinho IP=150.165.75.21 anjinho. dsc. ufcg. edu. br = Nome de Domínio Totalmente Qualificado (único na Internet) Figura 1: Hierarquia de nomes na Internet UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 6

Toda vez que alguém (em geral, software de aplicação) precisa descobrir o endereço IP associado a algum nome na rede, faz uma consulta direta (consulta ao DNS direto) ao servidor de nomes do domínio local; este, por sua vez, faz uma busca começando na raiz da hierarquia, descendo pelos ramos até encontrar a informação procurada ou descobrir que a mesma não existe na rede (ou não está cadastrada nos servidores de nomes). Pergunto: Qual é o endereço IP da máquina bidu.dsc.ufcg.edu.br? 1 12 Respondem: É 150.165.75.2! Servidor DNS do meu domínio 2 10 6 3 7 4 9 8 5 Servidor DNS raíz (. ) Servidor DNS edu.br Servidor DNS br Servidor DNS ufcg.edu.br 11 Servidor DNS dsc.ufcg.edu.br Figura 2: Consulta ao DNS direto UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 7

De modo semelhante, alguém pode querer saber qual é o nome associado a algum endereço IP. Nesse caso, o servidor de nomes local faz uma consulta reversa (consulta ao DNS reverso) também começando pela raiz da hierarquia. Pergunto: Qual é o nome da máquina cujo endereço IP é 200.129.69.1? 2 3 Servidor DNS raíz (. ) arpa 1 6 Resposta: É server.fapesq.rpp.br! Servidor DNS do meu domínio...... 150 4 151 inaddr... 165 166... 5 200 129 130 ns.ufpb.br responde pelo DNS reverso de 150.165 Figura 3: Consulta ao DNS reverso 69 admin.fapesq.rpp.br responde pelo DNS reverso de 200.129.69.0 / 24 UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 8

Instalação / Configuração do DNS O serviço de nomes de domínio em ambientes *NIX é feito pelo software BIND ( Berkeley Internet Name Domain ), que é um sistema do tipo cliente / servidor; O lado cliente é chamado resolvedor ( resolver ) e é implementado como um conjunto de funções em bibliotecas; O lado servidor é chamado named e é implementado como um processo servidor ( daemon ); Um servidor DNS pode ser: Só de armazenamento: quando não dispõe de nenhuma base de dados sobre nomes de máquinas/subdomínios; ele obtém e guarda as respostas obtidas nas consultas de DNS realizadas através dele, e as usa em consultas futuras; Primário: quando é a fonte original de informações sobre um (ou mais) domínio; obtém as informações sobre o domínio que está servindo em arquivos locais que devem ser mantidos pelo administrador do domínio; Secundário: quando é a fonte não original de informações sobre um (ou mais) domínio; obtém informações sobre o domínio que está servindo a partir do servidor primário; nesse caso atua como um servidor de redundância ( backup ). UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 9

Colocar um servidor de nomes para funcionar implica em configurar os arquivos: named.conf que configura os parâmetros gerais do servidor; named.zone: que faz o mapeamento de nomes para endereços IP; named.rev: que faz o mapeamento de endereços IP para nomes; named.local: que faz o mapeamento de endereço IP para nomes somente para loopback ; named.root: que contém os endereços IP dos servidores de nomes raiz. UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 10

Named.conf (/etc/named.conf) // opções default options { directory "<diretório dos mapas>"; }; // cache zone "." { type hint; file "<arquivo named.root>"; }; // loopback reverso zone "0.0.127.in-addr.arpa" { type master; file "<arquivo named.local>"; }; // <domínio direto> zone "<domínio direto>" { type master; file "<arquivo named.zone>";}; # <domínio reverso> zone "<domínio reverso>.in-addr.arpa" { type master; file "<arquivo named.rev>"; }; UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 11

Named.zone (/var/named/named.zone) Formato: $TTL <default time-to-live positivo> @ IN SOA <máquina servidora> <usuário responsável> ( <série> <atualização> <timeout de atualização> <timeout de expiração> <default time-to-live negativo> ) IN NS <servidor de nomes> IN MX <prioridade> <servidor de correio eletrônico> IN A <endereço IP do domínio> <nome-1> IN A <endereço IP da máquina com nome nome-1 > IN HINFO <hardware> <software> IN CNAME <apelido>... <subdom-1> IN NS <nome do servidor DNS do subdominio subdom-1 > <...> IN A <endereço IP do servidor DNS do subdomínio>... UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 12

Named.rev (/var/named/named.rev) @ IN SOA <máquina servidora> <usuário responsável> ( <série> <atualização> <timeout de atualização> <timeout de expiração> <default time-to-live das informações fornecidas> ) IN NS <servidor de nomes> <sufixo IP> IN PTR <nome de domínio totalmente qualificado>... UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 13

Named.local (/var/named/named.local) @ IN SOA <máquina servidora> <usuário responsável> ( <série> <atualização> <timeout de atualização> <timeout de expiração> <default time-to-live das informações fornecidas> ) IN NS <servidor de nomes> 1 IN PTR localhost. Named.root (/var/named/named.root) ;; servidores raiz. 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 (...). 3600000 IN NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 14

Exemplo completo Vamos configurar o servidor de nomes de uma rede local que vai ser ligar à Internet. Nossa rede exemplo tem as seguintes características: Nome do domínio: acme.com.br Servidor: ns.acme.com.br Numero IP do servidor: 201.202.203.254 Servidor de correio eletrônico: mail.acme.com.br Responsável: voce@acme.com.br Máquinas do domínio: ns (IP=201.202.203.254) gerente (IP=201.202.203.1) operador (IP=201.202.203.2) UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 15

named.conf // opções default options { directory "/var/named"; }; // cache zone "." { type hint; file "named.root"; }; // loopback reverso zone "0.0.127.in-addr.arpa" { type master; file "named.local"; }; // <domínio direto> zone "acme.com.br" { type master; file "named.zone"; }; // <domínio reverso> zone "203.202.201.in-addr.arpa" { type master; file "named.rev"; }; UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 16

named.root (obtido de ftp://ftp.rs.internic.net/domain/named.root). 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4. 3600000 IN NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 IN A 128.9.0.107.... 3600000 IN NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 Observa-se que foi usado o parâmetro opcional 3600000 (1000 horas como Time-to-live em cada entrada, ignorando-se o Ttl default ). UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 17

named.zone $TTL 2h ; manda os clientes confiarem nas respostas ; positivas por 2 hs @ IN SOA ns.acme.com.br. voce.acme.com.br. ( 2010051501 ; AAAmmDDnn, nn=01, 02,... 3d ; expira secundário em 3 dias 1h ; tenta primário de hora em hora 7d ; mantém-se como secundário por 7 dias, mesmo ; sem contato com o primário 2h ; manda os clientes confiarem nas respostas ; negativas por 2 horas ) IN NS ns.acme.com.br. IN MX 10 mail.acme.com.br. IN A 201.202.203.254 ns IN A 201.202.203.254 IN HINFO PC Pentium Linux mail IN CNAME ns ftp IN CNAME ns www IN CNAME ns gerente IN A 201.202.203.1 operador IN A 201.202.203.2 UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 18

named.rev @ IN SOA ns.acme.com.br. voce.acme.com.br. ( 201005151 ; AAAAmmDDn, n=1, 2,... 3d ; expira secundário em 3 dias 1h ; tenta secundário de hora em hora 7d ; mantem-se como secundário por 7 dias, ; mesmo sem contato com o primário 12h ; manda os clientes confiarem nas respostas por 12 horas ) IN NS ns.acme.com.br. 254 IN PTR ns.acme.com.br. 1 IN PTR gerente.acme.com.br. 2 IN PTR operador.acme.com.br. named.local Idem named.rev, substituindo-se todas as linhas PTR por: 1 IN PTR localhost. UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 19

Configurados todos os arquivos corretamente, o software servidor deve ser ativado com o comando (colocado em algum arquivo de inicialização do sistema - /etc/rc*): named [-d nível] [-p porta] [-b arq-boot] -d nível de depuração -p porta de atendimento (default = 53) -b arquivo de inicialização (default = /etc/named.boot (conf)) Todas as máquinas do domínio são clientes do servidor de nomes (inclusive o próprio servidor DNS que é cliente dele próprio); Configurar um cliente DNS (em ambiente UNIX) é definir no arquivo /etc/resolv.conf quem é o servidor de nomes (qual é seu endereço IP) e qual o nome de domínio padrão ( default ) a ser acrescentado automaticamente no fim de um nome não totalmente qualificado. resolv.conf domainname acme.com.br nameserver 201.202.203.254 UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 20

Testando o serviço de nomes NSLOOKUP Uma vez configurado, o serviço de nomes deve ser testado antes de ser liberado para uso (lembre-se que todos os outros serviços dependem do bom funcionamento do serviço de nomes); para testá-lo usa-se o comando nslookup como se pode ver nos exemplos. [root@ebct]# nslookup Default server: ns.acme.com.br Address: 201.202.203.254 > gerente (...) Name: gerente.acme.com.br Address: 201.202.203.1 > anjinho.dsc.ufpb.br (...) Name: anjinho.dsc.ufpb.br Address: 150.165.75.21 > set type=mx > dsc.ufcg.edu.br (...) dsc.ufcg.edu.br preference = 10, mail exchanger = anjinho.dsc.ufcg.edu.br anjinho.dsc.ufcg.edu.br inet address = 150.165.75.21 > exit [root@ebct]# _ UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 21

SMTP SIMPLE MAIL TRANSPORT PROTOCOL Correio Eletrônico Conceituação O serviço de correio eletrônico permite a troca de informação (mensagens, documentos, etc.) de forma rápida e conveniente entre dois ou mais usuários da Internet; ele provê comunicação entre dois pontos distintos na rede, mesmo que o destino não esteja ativo no momento do envio da informação. O serviço é bastante semelhante ao serviço de correio postal, podendo ser feitas, inclusive, várias analogias entre elementos atuantes no correio postal e no correio eletrônico; em ambos, temos: Nome e endereço do remetente; Nome e endereço do destinatário; Agente de coleta/exibição de correspondência; Agente de despacho e recepção de correspondência; Agente de entrega de correspondência. UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 22

usuário envia mensagem usuário recebe mensagem interface com o usuário (pine, outllok, etc.) agente de transporte (modo servidor) caixa postal dos usuários fila de saída de mensagens agente de entrega local agente de transporte (modo cliente) conexão TCP para mensagens saintes usuário envia e recebe mensagem Interface com o usuário (WebMail) agente de entrega remota fila de entrada de mensagens agente de transporte (modo servidor) Figura 4: Esquema conceitual do serviço de correio eletrônico conexão TCP para mensagens entrantes UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 23

As interfaces com o usuário mais comuns no ambiente UNIX são: mail, elm, pine, mailtool. As interfaces com o usuário mais comuns no ambiente Windows são: Windows Live mail, Mozilla Thunderbird, Opera Mail, entre outros. O agente de transporte mais comum no ambiente UNIX são os programas sendmail e postfix. O agente de transporte mais comum no ambiente Windows é o programa MS Internet Mail Exchanger. O agente de entrega local varia de S.O. para S.O., sendo comum no ambiente UNIX o procmail. O agente de entrega remota mais comum é o POP3 (Post Office Protocol), existindo também o IMAP4 (Internet Mail Access Protocol). Basicamente, o agente de transporte é responsável por: Aceitar mensagens das interfaces (agentes) do usuário; Rescrever os endereços de acordo com o agente de entrega adequado; Encaminhar mensagens saíntes aos destinos; Receber mensagens entrantes das origens; Escolher o agente de entrega apropriado para as mensagens entrantes. UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 24

Endereços Eletrônicos Para identificar usuários em um ambiente computacional, estabeleceu-se uma convenção que define um endereço eletrônico como sendo: usuário @ domínio ou usuário @ máquina. domínio A primeira forma é preferível porque abstrai o nome da máquina do endereço do usuário (a máquina pode deixar de existir que o endereço do usuário continua válido). UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 25

Formato de Mensagens Mensagens enviadas/recebidas pelo correio eletrônico têm um formato padrão. cabeçalho corpo From xuxa@xuxapark.com.br Sat Feb 6 10:15:30 2000 Return-Path: xuxa@xuxapark.com.br Received: from mail.xuxapark.com.br (200.241.192.254) by mail.sua_casa.com.br (8.9.5/8.9.5) id AA00123; Sat 6 feb 2000 10:15:00 BSB Received: from camarim.xuxapark.com.br (200.241.192.1) by mail.xuxapark.com.br (8.9.5/8.9.5) id AA00123; Sat 6 feb 2000 09:15:15 BSB Date: Sat, 6 feb 2000 09:15:10 BSB From: xuxa@xuxapark.com.br (Xuxa Meneguel) Message-Id: <200002070915.AA00123@xuxapark.com.br> Subject: alo baixinho! To: seu_filho@sua_casa Ola baixinho! Como vai você? Figura 5: Formato de mensagens UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 26

O arquivo de aliases (/etc/aliases no ambiente UNIX) contém linhas que definem sinônimos para nomes existentes no sistema; Podem ser definidos sinônimos para usuários, para arquivos e para programas; o exemplo abaixo ilustra essas situações. /etc/aliases postmaster: peter projeto-1: peter, angela, daniel reclamacoes: /dev/null pedro.nicolletti: peter cep: /usr/local/bin/consulta-cep Observa-se que o arquivo aliases não é ordenado; Para otimizar a pesquisa no mesmo, alguns sistemas trabalham com uma versão na forma de tabela hash (aliases.dir e aliases.pag); nesse caso, a cada alteração do arquivo aliases, deve ser ativado o programa que gera a versão hash do mesmo (em ambiente UNIX, normalmente é o comando newaliases ou sendmail bi). UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 27

O arquivo sendmail.cf é o arquivo básico de configuração do servidor de correio eletrônico sendmail; ele contém dados que lhe permitem: Definir o ambiente do servidor; Rescrever endereços com uma sintaxe apropriada para a entrega; Mapear endereços em instruções necessárias para a seleção do agente de entrega e a conseqüente entrega; Sua sintaxe é rígida e complexa (principalmente nas regras de mapeamento de endereços); felizmente pouca coisa precisa ser configurada para que o sistema funcione a contendo na grande maioria das instalações. UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 28

Instalação / Configuração do SMTP sendmail Instalar e configurar o serviço de correio eletrônico em ambiente UNIX é (normalmente) bastante simples; A priori, basta configurar no arquivo /etc/sendmail.cf o nome do domínio local (que compõe o endereço eletrônico dos usuários) e alguns sinônimos que serão interpretados como endereço local, como mostrado abaixo: /etc/sendmail.cf (...) Dj acme.com.br Cw localhost mail.acme.com.br acme.com.br (...) Uma vez configurado, basta ativá-lo com o comando (em algum arquivo de inicialização do sistema - /etc/rc*): /usr/lib/sendmail bd q30m -bd indica que o sendmail deve permanecer em execução permanente como um servidor; -q30m indica que deve processar a fila de mensagens a cada 30 minutos UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 29

Testando o serviço de correio eletrônico sendmail bt Testamos o serviço de correio eletrônico de três formas: (a) verificando se ele está fazendo o mapeamento de endereços corretamente usando o modo de teste do próprio comando sendmail; (b) enviando mensagens para um amigo, verificando a transmissão da mesma; (c) finalmente, pedimos para o amigo responder, verificando a resposta correta. Teste de endereçamento [root@ebct]# sendmail bt Sendmail v. 8.9.5... (...) > 0 peter rewrite : ruleset 0 input : peter (...) rewrite : ruleset 0 returns : $# local $: peter > 0 peter@localhost (...) rewrite : ruleset 0 returns : $# local $: peter > 0 peter@acme.com.br rewrite : ruleset 0 returns : $# local $: peter > 0 xuxa@xuxapark.com.br (...) rewrite : ruleset 0 returns : $# esmtp $@ xuxapark.com.br $: xuxa<@xuxapark.com.br.> > exit [root@ebct]# _ UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 30

Acompanhando transmissão de mensagem [root@ebct]# mail v xuxa@xuxapark.com.br < arquivo_mensagem Connecting to mail.xuxapark.com.br... Connected! S: 220 xuxapark.com.br Simple Mail Transfer Service Ready C: HELO acme.com.br S: 250 acme.com.br OK. Pleace to meet you! C: MAIL FROM:peter@acme.com.br S: 250 Sender OK C: RCPT TO:< xuxa@xuxapark.com.br> S: 250 Recipient OK C: DATA S: 250 Start mail input; end with <CR><LF>. <CR><LF> C: (mensagem enviada é transmitida aqui não aparece na tela) C:. S: 250 OK. Message accepted for delivery C: QUIT S: 250 xuxapark.com.br Service closing transmission channel [root@ebct]# _ UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 31

Extensão MIME para dados não ASCII O protocolo SMTP básico é orientado para a transmissão de caracteres ASCII (American Standard Code for Information Interchange) puros, não admitindo a transferência de mensagens que contenham caracteres do conjunto ASCII estendido (programas executáveis, imagens, documentos formatados via Word, etc.); MIME Multipurpose Internet Mail Extensions é uma extensão que supre essa deficiência do SMTP; basicamente ele permite a transferência de qualquer tipo de dados através do SMTP, codificando-os em uma representação de 7 bits usando a codificação base64; A extensão MIME só pode ser usada se ambas as interfaces de usuário forem capazes de codificá-la e decodificá-la. From: peter@acme.com.br To: xuxa@xuxapark.com.br MIME-Version: 1.0 Content-Type: image/gif Content-Transfer-Encoding: base64... dados da imagem... UFCG / DSC / PSN, 2012 * Parte 6.1: TCP/IP - Serviços Básicos * Pág. 32