378
Servidores Capítulo 1. APACHE 1.1. Quais são as opções de configuração do Apache pelo Linuxconf? ### 5.1 e anteriores ### A primeira coisa a se fazer é verificar se o módulo referente ao apache no linuxconf está ativado. Uma vez dentro do linuxconf entre em : Arquivos de controle e sistemas --> Configurar os módulos do Configurador Linux --> Marque o módulo do apache Aceitar Sair Sair Ativar as Mudanças Após, entre novamente no linuxconf e vá em: Ambiente de rede --> Apache - servidor www --> Padrões --> Os campos mais importantes serão explicados abaixo: Endereço email do administrador: Para onde o mail será enviado automaticamente se houver irregularidades. Domain IP address: endereço IP do dominio (do servidor principal) Nome do servidor: um nome válido em DNS do servidor principal Diretório raiz dos documentos: onde serão lidos os htmls do servidor principal Registros de transferências, Registros de agentes, Registros de referência: logs do sistema, cujo caminho opcionalmente pode ser especificado aqui. Escutando na porta: porta onde o servidor principal vai responder (padrão é 80) Tempo máximo de espera da conexão: mesmo que "Timeout" mencionado durante as configurações do httpd.conf Funcionalidades: neste encontram-se algumas opções que estão explicadas e poderão ser marcadas de acordo com a necessidade. Depois de sair desta seção aceitando as configurações ou cancelando, voltamos a tela de menu que contem os campos. Entre em: Domínios Virtuais --> Adicionar --> Em: Nome da máquina virtual: definimos o nome do máquina virtual em que o servidor virtual irá rodar.

Servidores de Redes.pdf

Embed Size (px)

Citation preview

Page 1: Servidores de Redes.pdf

Servidores

Capítulo 1. APACHE

1.1. Quais são as opções de configuração do

Apache pelo Linuxconf? ### 5.1 e anteriores ###

A primeira coisa a se fazer é verificar se o módulo referente ao apache no linuxconf está

ativado. Uma vez dentro do linuxconf entre em : Arquivos de controle e sistemas -->

Configurar os módulos do Configurador Linux -->

Marque o módulo do apache

Aceitar

Sair

Sair

Ativar as Mudanças

Após, entre novamente no linuxconf e vá em: Ambiente de rede -->

Apache - servidor www -->

Padrões -->

Os campos mais importantes serão explicados abaixo:

Endereço email do administrador: Para onde o mail será enviado automaticamente se houver irregularidades.

Domain IP address: endereço IP do dominio (do servidor principal)

Nome do servidor: um nome válido em DNS do servidor principal

Diretório raiz dos documentos: onde serão lidos os htmls do servidor principal

Registros de transferências, Registros de agentes, Registros de referência: logs do sistema, cujo caminho opcionalmente pode ser especificado aqui.

Escutando na porta: porta onde o servidor principal vai responder (padrão é 80)

Tempo máximo de espera da conexão: mesmo que "Timeout" mencionado durante as configurações do httpd.conf

Funcionalidades: neste encontram-se algumas opções que estão explicadas e poderão ser marcadas de acordo com a necessidade.

Depois de sair desta seção aceitando as configurações ou cancelando, voltamos a tela de

menu que contem os campos. Entre em: Domínios Virtuais -->

Adicionar -->

Em:

Nome da máquina virtual: definimos o nome do máquina virtual em que o servidor virtual irá rodar.

Page 2: Servidores de Redes.pdf

Endereço email do administrador: para onde o mail avisando funcionamento anômalo será mandado.

Domain IP address: O IP do Servidor Virtual.

Diretório raiz dos documentos: pasta onde os documentos html estarão (no caso, foi anteriormente configurado no httpd.conf que seria em /vh).

Nomes alternativos de servidor: seria um apelido para este servidor virtual

Funcionalidades: opções relativas a este servidor virtual.

Depois de aceitar ou cancelar esta opções, voltamos ao menu do apache.

Entre desta vez em : Especificações de subdiretórios -->

Aqui encontramos onde os documentos do servidor principal ficarão (inclui ícones, htmls e

cgis). Depois de Sair ou Aceitar estas opções, entre em: Modules -->

Neste campo você poderá adicionar ou retirar módulos relativos ao apache (aumentando as

suas funções ou restringindo-as).

Voltando ao menu principal do apache, vá agora em: Performance -->

Em:

Inicia servidores: número de servidores que iniciam logo no boot do httpd (um exemplo e uma explicação sobre isso foi passada anteriormente quando foi

configurado o httpd.conf) Núm máx de clientes por servidores, Núm máx de req. por processo filho, Núm mín

de serv. aguardando conexão, Núm máx de serv. aguardando conexão: pode-se regular o numero de servidores, clientes e processos filhos (que foram

originados de um processo maior, no caso o servidor principal). Keeps Alive: nesta seção pode-se ligar ou desligar o suporte a este recurso, o

maximo de pedidos e quanto após quanto tempo o mesmo expira. Tempo máximo de espera da conexão: Seria o "timeout" explicado anteriormente

nas configurações do httpd.conf. Depois de todos estes campos configurados, saia do linuxconf ativando as mudanças. Os

teste para saber se o mesmo está funcionando são os mesmos mencionados anteriormente

quando terminamos de editar o arquivo httpd.conf.

### CL 6.0 ###

A primeira coisa a se fazer é verificar se o módulo referente ao Apache no linuxconf está

instalado. Em um terminal como usuário root, digite: [root@localhost /root]# rpm -q linuxconf-apache linuxconf-apache-1.21r8-7cl

Caso não esteja instalado, é preciso instalar o módulo de configuração. Para tanto, deve-se

primeiro "montar" o CD 1 do Conectiva Linux 6.0 para poder acessá-lo.

Para montar, e posteriormente poder acessá-lo, digite o comando: [root@localhost]# mount /mnt/cdrom

Page 3: Servidores de Redes.pdf

Caso não funcione, seja mais específico: [root@localhost]# mount -t iso9660 /dev/hdX /mnt/cdrom

Para acessar: [root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Para instalar o pacote: [root@localhost /root]# rpm -ivh linuxconf-apache*

Para desmontar e poder ejetá-lo, deve-se mudar do diretório do CD, para poder desmontá-lo.

Digite, antes de desmontar, o comando: [root@localhost /RPMS]# cd

e digite então o comando: [root@localhost /root]# umount /mnt/cdrom

Agora, é preciso verificar se o módulo está ativo no linuxconf (aqui, considera-se a

configuração em modo gráfico):

Entre em um terminal (xterm) e digite: [root@localhost /root]# linuxconf

Uma vez dentro do linuxconf entre em: Controle -->

Arquivos de controle e sistemas -->

Configurar os módulos do Linuxconf -->

Marque o módulo do apache

Aceitar

Fechar

Sair

Ativar as Mudanças

Page 4: Servidores de Redes.pdf

Configurando um domínio

Entre no linuxconf e vá em: Configuração -->

Ambiente de rede -->

Tarefas de servidor

Apache - servidor Web -->

Padrões -->

Os campos mais importantes serão explicados abaixo:

1. Aba "Básico"

Endereço email do administrador: Para onde o mail será mandado

automaticamente se houver irregularidades no funcionamento do

Apache. O endereço padrão é root@localhost.

Endereço IP de domínio: endereço IP do domínio, no caso, do servidor

principal. Ex.: 123.456.789.0

Nome do servidor: um nome válido, em DNS, do servidor principal Ex. servidor.dominio.com.br

Diretório raiz dos documentos: onde serão lidos os arquivos .html do

servidor principal. O valor padrão é "/home/httpd/html".

2. Aba "Registros"

Registros de erro: log de erros do sistema, cujo caminho opcionalmente

pode ser especificado aqui. O valor padrão é logs/error_log.

Registros de transferências, Registros de agentes, Registros de

referência: logs do sistema, cujo caminho opcionalmente pode ser

especificado aqui.

3. Aba "Ajustes"

Escutando na porta: porta na qual o servidor principal vai responder

(padrão é 80)

Arquivo de identificação de processo: O servidor web armazena os PID

de seus processos principais neste arquivo. O arquivo padrão é

/var/run/httpd.pid

Tempo de espera: Quantos segundos o servidor web espera por um

pedido a ser enviado após a conexão de um cliente ao servidor. Caso um

cliente se conecte mas não envie nenhum pedido, este será desconectado

Page 5: Servidores de Redes.pdf

decorrido o tempo aqui definido, liberando os recursos que são ocupados

por este usuário. O valor padrão é 300

4. Aba "Funcionalidades"

Nesta seção, encontram-se algumas opções que estão explicadas e poderão ser

marcadas de acordo com a necessidade.

[ ] Inclusões relativas ao servidor: Se habilitado, os arquivos com a

extensão .shtml são processados para expandir tags de inclusões relativas

ao servidor antes dos resultados serem retornados ao cliente.

[ ] IncludesNOEXEC: Também habilita inclusões relativas ao servidor,

mas a tag SSI #exec e #include:ing CGI-scripts são desabilitadas.

[ ] Pode executar programas CGI: Permite execução de scripts CGI.

Normalmente habilitada apenas no sub-diretório spec para o diretório

CGI.

[ ] Índices: Quando acessada uma URL terminando em um diretório, o

arquivo index.html neste diretório é retornado. Se este arquivo não

existir e esta opção estiver habilitada uma lista de diretórios é retornada.

Caso esta opção esteja desabilitada uma mensagem "404 Not Found" é

então retornada.

[ ] Pode seguir links simbólicos: Caso um diretório ou arquivo acessado

seja um link simbólico, o acesso será apenas permitido se esta

característica estiver habilitada.

[ ] Seguir links simb. de mesmo dono: Como na descrição acima, porém

o dono do link simbólico e seu arquivo alvo devem ser os mesmos. Isto

permite que usuários possuam links simbólicos para seus próprios

arquivos, mas não para os arquivos mais sensíveis do sistema, por

exemplo /etc/passwd.

[ ] Visões múltiplas: Permitem que o navegador do cliente e o servidor

web negociem em qual formato e qual linguagem os dados devem ser

retornados. Uma maneira de fazer o servidor web capaz de fazer isto é

armazenar várias imagens e formatos de dados em arquivos com certas

extensões e então habilitar multivisões.

Com esta configuração já é possível disponibilizar páginas em seu servidor Apache

principal. Já existe por padrão um arquivo index.html no diretório /home/httpd/html e

para testar se sua configuração está correta, saia do linuxconf ativando as mudanças.

Caso tenha sido alterado o diretório raiz dos documentos, coloque algum documento

html neste diretório (lembrando que este deve ter a permissão de acesso 755, ou seja,

toda a árvore deve possuir tal permissão).

Por exemplo, considerando que o diretório raiz é /dominio/webpage/html, basta

definir as permissões de todos os diretórios desta árvore. Para tanto, em um terminal

como usuário root, digite: [root@localhost /root]# chmod 755 -R /dominio

Agora inicie o serviço httpd: [root@localhost /root]# cds

[root@localhost /init.d]# ./httpd start

Page 6: Servidores de Redes.pdf

Para saber se o mesmo está funcionando, digite em um browser (por exemplo): http://servidor.dominio.com.br

Configuração de um domínio virtual

Novamente no linuxconf, vá em: Configuração -->

Ambiente de rede -->

Tarefas de servidor

Apache - servidor Web -->

Dominios Virtuais -->

Adicionar -->

Em:

o Nome da máquina virtual: definimos o nome da máquina virtual em que o

servidor virtual irá rodar. Ex.: host_virtual.com.br

Na aba:

2. "Básico" informe:

Endereço email do administrador: para onde o mail avisando

funcionamento anômalo será enviado. Ex.: [email protected]

Domain IP address: O IP do Servidor Virtual. Ex.: 192.168.0.0

Diretório raiz dos documentos: pasta onde os documentos .html estarão. Ex.: /virtual/html

3. "Registros" informe:

Registros de erro: log de erros do sistema, cujo caminho opcionalmente

pode ser especificado aqui. Ex.: logs/error_log.virtual

Registros de transferências, Registros de agentes, Registros de

referência: logs do sistema, cujo caminho opcionalmente pode ser

especificado aqui.

Nomes alternativos de servidor: seria um apelido para este servidor

virtual

4. "Funcionalidades"

As opções relativas a este servidor virtual são idênticas às opções do servidor

principal, já explicadas anteriormente.

Depois de aceitar ou cancelar estas opções, voltamos ao menu do Apache.

Entre desta vez em: Especificações de subdiretórios -->

Page 7: Servidores de Redes.pdf

Aqui encontramos onde os documentos do servidor principal ficarão (inclui

ícones, htmls e CGI's). Depois de Sair ou Aceitar estas opções, entre em: Módulos -->

Neste campo é possível adicionar ou retirar módulos relativos ao Apache

(aumentando as suas funções ou restringindo-as).

Voltando ao menu de configuração do Apache, vá agora em: Performance -->

Em:

Servidores iniciais: número de servidores que iniciam logo na

inicialização do Apache (httpd). Valor padrão é 2.

Núm. máx. de clientes por servidores: O número máximo de processos

filho. Cada conexão de um cliente utiliza um processo filho, então este

valor controla indiretamente quantos clientes podem simultaneamente

conectar ao servidor web. Caso este valor seja baixo, os clientes podem

ser deixados de fora, portanto seja liberal. Isto é feito com o objetivo de

se manter um servidor web rodando que não derrube todo o sistema com

isto caso alguém deva ser mandado para fora do servidor. O valor padrão

é 150.

Núm. máx. de req. por processo filho: Um processo filho sairá após

fornecer este número de acessos. Isto é feito como uma proteção à falha

contra possíveis vazamentos de memória. O valor padrão é 500.

Núm mín de serv. aguardando conexão: O Apache certifica-se de que

sempre há poucos processos filho ociosos para que seja possível a

manipulação de picos de carga. Caso menos do que este número de

processos estejam ociosos, mais serão inicializados. O valor padrão é 2.

Núm máx de serv. aguardando conexão: O Apache também se certifica

nunca há mais do que este número de processos filho ociosos. Caso haja

mais, alguns destes devem ser finalizados. O valor padrão é 4.

Keeps Alive: Para reduzir a largura da banda utilizada para tráfego na

Internet HTTP foi extendido para tornar possível se fazer mais de um

pedido dentro de uma única conexão. Isto é chamado de persistent

connection, ou ainda de kept alive. O padrão é desabilitado.

Tempo de espera do keep alive: O número de segundos a se esperar pelo

próximo pedido em uma persistent connection. Caso este tempo seja

excedido a conexão é fechada. O valor padrão é 10.

Agora, é necessário informar ao sistema que o mesmo precisa responder num outro

endereço IP (192.168.0.0, por exemplo), além do IP verdadeiro, pois um virtual host

não é nada mais, nada menos do que fazer um computador responder em outro IP (e

outro nome, se assim especificado no DNS), direcionando o pedido http para este IP

"falso" e associando a pasta de htmls referida ao mesmo. Mas observe que o endereço

definido aqui deve ser o mesmo que fora definido no servidor Apache virtual.

Vamos utilizar então o linuxconf para adicionar este IP "falso" (técnica chamada de

IP ALIAS, anteriormente mencionada).

Page 8: Servidores de Redes.pdf

Entre como root no linuxconf: [root@localhost]# linuxconf

Vá em: Configuração -->

Ambiente de Rede -->

Tarefas de servidor -->

Apelidos de IP para máquinas virtuais -->

eth0 -->

Configure o IP virtual (em nosso caso, seria 192.168.0.0) e sua máscara.

Depois: Aceitar

Fechar

Fechar

Sair

Ativar as mudanças

Confirme se o novo IP está realmente online usando o comando ping: [root@localhost]# ping 192.168.0.0

Coloque algum documento html no diretório /virtual/html (que de acordo com a

configuração feita, é a pasta do server virtual, podendo ter subpastas dentro desta)

todos com as devidas permissões 755 previamente mencionadas.

Depois de todos estes campos configurados, saia do linuxconf ativando as mudanças.

Para saber se o mesmo está funcionando, digite em um browser (por exemplo): http://host_virtual.com.br (nome do virtual host)

Estes são os tópicos básicos do servidor http Apache pois o mesmo possui ainda

outros recursos como SSL (conexão segura) entre outros, mas as configurações

detalhadas neste documento já são suficientes para executá-lo.

Habilitando uma página hospedada no home de usuários

Para habilitar acesso a páginas pessoais de usuários, o Apache disponibiliza uma

opção por padrão. Para tanto, eles precisarão criar um diretório public_html em seus

home e colocar algum arquivo .html alí, podendo ser acessado por um browser: http://nome.da.maquina/~nome-do-usuário.

IMPORTANTE: ESTE E TODOS OS DIRETÓRIO ANTERIORES PRECISAM TER

PERMISSÕES 755 A FIM DE GARANTIR ACESSO.

Caso se queira alterar o nome do diretório, é preciso editar o

arquivo /etc/httpd/conf/httpd.conf e informar o novo nome de diretório, no qual o

usuário irá armazenar os arquivos .html

Estes são os tópicos básicos do servidor http apache pois o mesmo possui ainda outros

recursos como ssl (conexão segura) entre outros, mas as configurações detalhadas neste

documento já são suficientes para executá-lo.

1.2. Quais são as opções do arquivo de

configuração do Apache? (httpd.conf) O servidor httpd Apache tem a função de servir páginas html para intranet ou internet e

possui grandes qualidades. Entre elas, e de onde o nome do aplicativo se originou, a de ser

um programa bastante "patcheável" ("patchy" em inglês, logo o nome Apache veio de "a

Page 9: Servidores de Redes.pdf

patchy server") extendendo suas capacidades iniciais por fazer uso de módulos diversos.

Estes, adicionam o suporte a php, cgi e outros, e são de suma importância para um servidor

http seguro e versátil.

A configuração básica abordada neste documento, tem 3 seções importantes: Configuração do servidor principal

Configuração de um servidor em um domínio virtual

Habilitação de uma página hospedada no home de usuários

Configuração principal (editando o arquivo de configuração)

Os arquivos responsáveis por toda a configuração do httpd são três (acess.conf, srm.conf e

httpd.conf), mas apenas um deles importa realmente (httpd.conf), sendo os outros dois

consideredos dispensáveis, já que é possível colocar tudo que poderia estar nestes, no

principal.

Obs.: Na versão Conectiva Linux 8, os diretórios onde as páginas ficam armazenadas

mudam de /html para /var/www/default.

As opções neste arquivo já estão comentadas mas mesmo assim aqui vai uma descrição das

mesmas. As principais são: # ServerType is either inetd, or standalone. Inetd mode is only supported

# on

# Unix platforms.

#

ServerType standalone

Diz ao sistema se o httpd vai ser rodado via script próprio (standalone), ou a partir do

arquivo inetd.conf (inetd). (em "inetd" o httpd fica ocioso, enquanto o inetd fica

monitorando as requisições, quando houver alguma, ele avisa e o serviço começa a

funcionar) #

# ServerRoot: The top of the directory tree under which the server's

# configuration, error, and log files are kept.

#

# NOTE! If you intend to place this on an NFS (or otherwise network)

# mounted filesystem then please read the LockFile documentation

# (available at http://www.apache.org/docs/mod/core.html#lockfile);

# you will save yourself a lot of trouble.

#

# Do NOT add a slash at the end of the directory path.

#

ServerRoot /etc/httpd

Esta cuida do caminho do diretório onde irão ficar os arquivos de configuração. Pode ser

mudado se necessário. #

# Timeout: The number of seconds before receives and sends time out.

#

Timeout 300

Tempo máximo (em segundos) que o servidor esperará, mantendo uma conexão aberta com

o cliente. Se o limite for excedido, ele terá de criar uma nova conexão com o mesmo. #

# KeepAlive: Whether or not to allow persistent connections (more than

# one request per connection). Set to "Off" to deactivate.

#

Page 10: Servidores de Redes.pdf

KeepAlive On

Diretamente ligado com a opção acima, define se o processo de manter a conexão com o

cliente está ativo ou não. #

# MaxKeepAliveRequests: The maximum number of requests to allow

# during a persistent connection. Set to 0 to allow an unlimited amount.

# We recommend you leave this number high, for maximum performance.

#

MaxKeepAliveRequests 100

Número máximo de conexões mantidas, sem necessidade de renovação. Quanto mais alto o

número, melhor a performance (com o hardware adequado).

#

# KeepAliveTimeout: Number of seconds to wait for the next request from the

# same client on the same connection.

#

KeepAliveTimeout 15

Máximo (de segundos) a espera de nova requisição. #

# Number of servers to start initially --- should be a reasonable ballpark

# figure.

#

StartServers 10

Número de servers iniciais, ou seja, logo no início do processo, o httpd poderia responder a

10 conexões simultâneas ao mesmo site. #

# Limit on total number of servers running, i.e., limit on the number

# of clients who can simultaneously connect --- if this limit is ever

# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.

# It is intended mainly as a brake to keep a runaway server from taking

# the system with it as it spirals down...

#

MaxClients 150

Número máximo de conexões simultaneas por clientes ao site. Se for ultrapassada, mostrará

a infame mensagem "http server busy". #

# Listen: Allows you to bind Apache to specific IP addresses and/or

# ports, in addition to the default. See also the <VirtualHost>

# directive.

#

#Listen 3000

#Listen 12.34.56.78:80

Permite ao __principal__ httpd server, responder em mais de um ip (descomentando o

12.34.56.78:80 por exemplo, habilitaria ao server http escutar em um ip além de seu ip

normal (o da própria máquina)) #

# BindAddress: You can support virtual hosts with this option. This

# directive

# is used to tell the server which IP address to listen to. It can either

# contain "*", an IP address, or a fully qualified Internet domain name.

Page 11: Servidores de Redes.pdf

# See also the <VirtualHost> and Listen directives.

#

BindAddress 192.168.255.108:80

Esse é importante. Por default a linha BindAddress vem comentada pois como está

apresentada acima, habilita o acesso a um dominio virtual (em nosso caso, o ip

192.168.255.108:80 (o :80 seria indicando a porta 80) que será explicado mais além. Para

cada virtual host, é necessária uma entrada "BindAddress e um número ip" #

# Dynamic Shared Object (DSO) Support

#

# To be able to use the functionality of a module which was built as a DSO

# you

# have to place corresponding `LoadModule' lines at this location so the

# directives contained in it are actually available _before_ they are used.

# Please read the file README.DSO in the Apache 1.3 distribution for more

# details about the DSO mechanism and run `httpd -l' for the list of already

# built-in (statically linked and thus always available) modules in your

# httpd

# binary.

#

# Note: The order is which modules are loaded is important. Don't change

# the order below without expert advice.

#

# Example:

# LoadModule foo_module modules/mod_foo.so

#

#LoadModule mmap_static_module modules/mod_mmap_static.so

LoadModule env_module modules/mod_env.so

(seguido de uma lista de LoadModule e mais além, AddModule)

Descomentando quaisquer das linhas que comecem com LoadModule ou AddModule, valida

o carregamento de módulos feito na inicialização do httpd. Estes funcionam como opções,

por exemplo, habilitar ou não o suporte a arquivos cgi no server, etc #

# Port: The port to which the standalone server listens. For

# ports < 1023, you will need httpd to be run as root initially.

#

Port 80

O httpd responde por default na porta 80, neste campo você poderá modificá-la se quiser. #

# ServerAdmin: Your address, where problems with the server should be

# e-mailed. This address appears on some server-generated pages, such

# as error documents.

#

ServerAdmin root@localhost

O endereço de email para onde será mandado algo se o server acusar erro ou anormalidades #

# ServerName allows you to set a host name which is sent back to clients for

# your server if it's different than the one the program would get (i.e.,

# use

# "www" instead of the host's real name).

#

# Note: You cannot just invent host names and hope they work. The name you

# define here must be a valid DNS name for your host. If you don't

# understand

Page 12: Servidores de Redes.pdf

# this, ask your network administrator.

# If your host doesn't have a registered DNS name, enter its IP address

# here.

# You will have to access it by its address (e.g., http://123.45.67.89/)

# anyway, and this will make redirections work in a sensible way.

#

ServerName vader.suptel

Outro importante. Determina o nome do server __principal__. Importante: o nome tem que

obrigatoriamente constar em DNS (um ip associado a um nome) pois apenas inventando um,

não irá adiantar. O modo de chamá-lo seria http://nome mas se o mesmo não estiver em

nenhum DNS, coloque o ip (seria http://numero-ip para chamá-lo então, neste caso). #

# DocumentRoot: The directory out of which you will serve your

# documents. By default, all requests are taken from this directory, but

# symbolic links and aliases may be used to point to other locations.

#

DocumentRoot "/html"

Determina o caminho onde estarão os arquivos html do servidor __principal__.

IMPORTANTE: o diretório deve estar com permissão 755 (chmod 755, sendo leitura, escrita

e execução para o dono, leitura e execução para grupo e outros que não sejam do grupo nem

donos (others). #

# This should be changed to whatever you set DocumentRoot to.

#

<Directory "/html">

#

# This may also be "None", "All", or any combination of "Indexes",

# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

Options Indexes FollowSymLinks Includes

#

# This controls which options the .htaccess files in directories can

# override. Can also be "All", or any combination of "Options", "FileInfo",

# "AuthConfig", and "Limit"

#

AllowOverride None

#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all

</Directory>

Este conjunto de campos determinam as opções que os diretórios onde contém documentos

htmls a serem acessados irão ter. A primeira "# This should.." deve conter o mesmo diretório

que o "DocumentRoot" tem (o /html). IMPORTANTE: TODAS ESTAS DEVERÃO SER

COPIADAS (E EDITADAS SE PRECISO) PARA AS PASTAS PRINCIPAIS QUE

CONTIVEREM ARQUIVOS HTML DO SERVIDOR PRINCIPAL OU DOMINIO

VIRTUAL. Se por exemplo vc tiver apenas um servidor virtual alem do principal que

responda no diretorio /vh (veremos como fazer essa associação mais além), você terá de ter

Page 13: Servidores de Redes.pdf

as entradas <Directory "/vh"> e todas as abaixo desta, nem que sejam apenas copiadas,

abaixo do término da ultima (# Controls who can get stuff from this server.).

#

# UserDir: The name of the directory which is appended onto a user's home

# directory if a ~user request is received.

#

UserDir public_html

Esta opção é bem útil. Cuida de qual diretório o usuário terá de fazer, se quiser ter uma

página em seu home. No caso, como está configurado, ele precisará criar um diretório

public_html (o nome pode ser alterado no campo acima) e colocar algo em html alí, podendo

ser acessado com http://nome.da.maquina/~nome-do-usuário. IMPORTANTE: COMO

MENCIONADO ANTERIORMENTE, ESTE E TODOS OS DIRETÓRIO ANTERIORES

PRECISAM TER PERMISSÕES 755 AFIM DE GARANTIR ACESSO.

#

# Control access to UserDir directories. The following is an example

# for a site where these directories are restricted to read-only.

#

<Directory /home/*/public_html>

AllowOverride FileInfo AuthConfig Limit

Options MultiViews Indexes SymLinksIfOwnerMatch

<Limit GET POST OPTIONS PROPFIND>

Order allow,deny

Allow from all

</Limit>

<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

Order deny,allow

Deny from all

</Limit>

</Directory>

Esta opção coordena os direitos de acesso ao diretório public_html dos usuários e vem por

padrão, comentada. No caso você deve descomentá-la e modificá-la de acordo com o

diretório home de seus usuários (por exemplo, o campo <Directory /home/*/public_html>

diz que, no diretório /home, todos que existem dentro dele e que tenham public_html vão ser

passíveis de acesso, sob as regras configuradas abaixo desta linha. #

# DirectoryIndex: Name of the file or files to use as a pre-written HTML

# directory index. Separate multiple entries with spaces.

#

DirectoryIndex index.html index.htm index.cgi

Esta é bastante importante também pois determina quais nomes de arquivos serão válidos

para realizar-se a abertura dos mesmos em um browser http. No caso da configuração acima,

o server aceitará arquivos de nome index.html, index.htm e index.cgi como arquivos iniciais

de uma home page. #

# UseCanonicalName: (new for 1.3) With this setting turned on, whenever

# Apache needs to construct a self-referencing URL (a URL that refers back

# to the server the response is coming from) it will use ServerName and

# Port to form a "canonical" name. With this setting off, Apache will

# use the hostname:port that the client supplied, when possible. This

# also affects SERVER_NAME and SERVER_PORT in CGI scripts.

Page 14: Servidores de Redes.pdf

#

UseCanonicalName On

Se ligada, uma pagina que por exemplo se chame http://www.teste.com/teste/ e seja acessada

como http://www.teste.com/teste (sem o / no final) seja válida. Se desligada, ele não irá

achar. #

# LogLevel: Control the number of messages logged to the error_log.

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

#

LogLevel warn

Determina em que nível o httpd irá rodar. A recomendada é a warn pois não causa acúmulo

de atividades no apache e é uma das mais usadas. #

# If you want to use name-based virtual hosts you need to define at

# least one IP address (and port number) for them.

#

NameVirtualHost 192.168.255.108:80

Neste, configuramos o ip e porta que o servidor virtual terá. A definição deste é que você

não precisa ter vários computadores rodando http servers neles, com apenas um você pode

ter www.teste.com e www.teste1.com, cada um abrindo uma página diferente (em diferentes

diretórios do cpu) e cada um possuindo um ip (mas ambos apontarão para o mesmo cpu, isso

se chama IP ALIAS). #

# VirtualHost example:

# Almost any Apache directive may go into a VirtualHost container.

#

#<VirtualHost ip.address.of.host.some_domain.com>

# ServerAdmin [email protected]_domain.com

# DocumentRoot /www/docs/host.some_domain.com

# ServerName host.some_domain.com

# ErrorLog logs/host.some_domain.com-error_log

# CustomLog logs/host.some_domain.com-access_log common

#</VirtualHost>

<VirtualHost teste:80>

ServerAdmin [email protected]_domain.com

DocumentRoot /vh

ServerName teste.suptel

ErrorLog logs/host.some_domain.com-error_log

CustomLog logs/host.some_domain.com-access_log common

</VirtualHost>

Esta é a última mas não menos importante das configurações básicas do apache. Ela cuida do

servidor virtual e de suas configurações, sendo que o que está comentado (com um # na

frente) dá um exemplo do que deverá ser feito (as linhas descomentadas não estão escritas

por padrão, estas apresentadas foram digitadas com base no exemplo). Explicarei cada uma

delas: <VirtualHost teste:80>

Valida o nome "teste" ao servidor virtual e fala em que porta ele irá atender (80) ServerAdmin [email protected]_domain.com

Se o sistema detectar algo de anômalo, um mail será enviado a

[email protected]_domain.com

Page 15: Servidores de Redes.pdf

DocumentRoot /vh

Designa a pasta onde os arquivos html do servidor virtual serão colocados (LEMBRANDO

QUE ESTA DEVERÁ TER PERMISSÕES 755 EM SEU CAMINHO INTEIRO COMO

MENCIONADO ANTERIORMENTE). ServerName teste.suptel

Nome e dominio do servidor virtual. ErrorLog logs/host.some_domain.com-error_log

O relatório de erros do servidor virtual vai ser escrito em logs/host.some_domain.com-

error_log CustomLog logs/host.some_domain.com-access_log common

Log de acessos vai ser escrito em logs/host.some_domain.com-access_log common </VirtualHost>

Indica o final da configuração do virtual host.

IMPROTANTE: DEPOIS DE QUALQUER MODIFICAÇÃO NESTE ARQUIVO

(INCLUSIVE NA PRIMEIRA), O HTTPD DEVERÁ SER REINICIADO DIGITANDO

COMO ROOT: [root@localhost /root]# cds

e após: [root@localhost /init.d]# ./httpd stop

[root@localhost /init.d]# ./httpd start

Depois, é necessário informar ao sistema que o mesmo precisa responder num outro ip

(192.168.255.108 como definido nas configurações do virtual host) além do ip verdadeiro

(pois um virtual host não é nada mais do que fazer um computador responder em outro ip (e

outro nome, se assim especificado no dns), direcionando o pedido http para este ip "falso" e

associando a pasta de htmls referida ao mesmo).

Vamos utilizar então o linuxconf para adicionar este ip "falso" (técnica chamada de IP

ALIAS, anteriormente mencionada).

Entre como root no linuxconf: [root@localhost]# linuxconf

Vá em: Ambiente de Rede -->

Apelidos de IP para máquinas virtuais -->

eth0 -->

configure o ip virtual (no caso do nosso, seria 192.168.255.108) e sua

máscara.

Depois:

Aceitar

Sair

Sair

Sair

Ativar as mudanças

Confirme se o novo ip está realmente online usando o comando ping:

[root@localhost]# ping 192.168.255.108

Coloque algum documento html no diretório /html (que de acordo com a configuração feita,

é a pasta do server principal, podendo ter subpastas dentro desta) e em /vh (configurada para

Page 16: Servidores de Redes.pdf

o virtualhost "teste" e que também pode ter subpastas), todas com as devidas permissões 755

previamente mencionadas.

E, para acessá-los, digite em um browser: http://vader.suptel (para o principal já que o nome é o do servidor principal)

ou:

http://teste (que é o nome do virtual host)

O primeiro tem que estar respondendo no documento html válido na pasta /html e o segundo

na /vh.

Para uma página no home do usuário, digite (após o usuário ter criado a

pasta public_html em seu home e ter dado permissões 755 para a mesma). http://nome-da-maquina/~nome-do-usuário

deve responder no html do diretório /home/nome-do-usuário/public_html

1.3. Como faço para o apache abrir um diretório,

sem conter o index.html? Basta editar o arquivo de configuração do apache /etc/httpd/conf/httpd.conf, que pode ser

aberto com o comando: [root@localhost]# mcedit /etc/httpd/conf/httpd.conf

Inclua a opção Indexes, conforme o exemplo abaixo: <Directory "/html">

Options Indexes FollowSymLinks Includes

</Directory>

1.4. Como faço para executar arquivos .asp no

apache? O Servidor Apache não executa nativamente scripts .ASP. Para tanto, utilize-se de um

programa comercial, que pode ser encontrado em http://www.chilisoft.com

1.5. Como configurar o servidor apache para

interpretar scripts PHP3? Pacotes rpm necessários para a instalação do módulo PHP3

apache-1.3.6-15cl ==> servidor web Apache

mod_php3-3.0.9-5cl ==> módulo php3

mod_php3-doc-3.0.9-5cl ==> Documentação para o PHP3

mod_php3-pgsql-3.0.9-5cl ==> Biblioteca PHP para acesso ao banco de dados PostgreSQL

Existem ainda outros pacotes responsáveis pelo uso de outras bibliotecas, ou para o uso do

PHP como CGI.

Page 17: Servidores de Redes.pdf

Configuração do Apache

Edite o arquivo /etc/httpd/conf/httpd.conf e descomente as seguintes linhas: (obs.:

descomentar as linhas significa remover o sinal "#" do início da linha) # Extra Modules

#LoadModule php_module modules/mod_php.so

LoadModule php3_module modules/libphp3.so

#LoadModule perl_module modules/libperl.so

ClearModuleList

AddModule mod_php3.c

#No 5.0 descomente também a linha abaixo:

AddType application/x-httpd-php3 .php3

OBS: Verifique que a opção do AddModule mod_php3 deve ficar após a

linha ClearModuleList.

Esses arquivos são responsáveis pela carga do módulo PHP3, oque possibilita ao

servidor Apache interpretar os scripts.

Adicione index.php3 na seguinte linha: -DirectoryIndex index.html

DirectoryIndex index.html index.php3

Edite o arquivo /etc/php3/apache/php3.ini. Esse é o arquivo responsável pelas

configurações do PHP. Descomente a linha: extension=pgsql.so

Isso fará com que o php3 carregue a biblioteca de acesso ao postgreSQL, você

poderia, por exemplo, descomenar a linha extension=mysql.so para usá-lo com o

mysql, e assim por diante.

Pronto, editado o arquivo, pare e inicie novamente o servidor de httpd (Apache): [root@localhost]# cds

[root@localhost]# ./httpd restart

E o módulo php deverá estar ativo.

Pacotes rpm necessários para a Instalação do PostgreSQL:

postgresql-6.4.2-4cl ==> Servidor de banco de dados

postgresql-clients-6.4.2-4cl ==> Clientes para acesso ao servidor

postgresql-lib-6.4.2-4cl ==> Biblioteca compartilhada de funções

Configuração do PostgreSQL:

Edite o arquivo /etc/rc.d/init.d/postgresql e procure pela linha: daemon --check postmaster su -l postgres -c

\"/usr/bin/postmaster -S -D/var/lib/pgsql\"

Coloque então o parâmetros -i deixando -a assim:

Page 18: Servidores de Redes.pdf

daemon --check postmaster su -l postgres -c

\"/usr/bin/postmaster -o -e -S -i

-D/var/lib/pgsql\"

Isso fará com que o PostgreSQL aceite conexões TCP/IP

Reinicie o servidor: [root@localhost]# /etc/rc.d/init.d/postgresql

restart

Torne-se o usuário postgres: [root@localhost]# su - postgres

Adicione o usuário nobody (usuário em qual o apache é executado) na lista de

usuários do banco de dados: createuser nobody

Enter user's postgres ID or RETURN to use unix user ID: 513 ->

<enter>

Is user "nobody" allowed to create databases (y/n) n

Is user "nobody" allowed to add users? (y/n) n

createuser: nobody was successfully added

Crie um novo banco de dados: createdb nome_do_banco_de_dados

Execute o interpretador do PostgreSQL: psql nome_do_banco_de_dados

Links:

http://www.php.net => Site oficial, com documentação e muitos links.

http://br.php.net => Espelho do site no Brasil

http://www.allfinder.com.br/php => Site da lista de discussões Brasileira

http://phpbuilder.com/ => Artigos e tutoriais

http://www.horde.org => Webmail escrito em PHP3

http://webdev.berber.co.il/ => Vários scripts, com sistema de busca.

1.6. Como configurar o servidor apache para

interpretar scripts PHP4? ### CL 6.0 e posteriores ###

Primeiramente será necessário verificar se os pacotes do php4 estão instalados, para isto

execute: [root@localhost]# rpm -qa |grep php4

Deverão estar listados: php4-versão do pacote

mod_php4-versão do pacote

Caso não esteja instalados: [root@localhost]# apt-get install php4 mod_php4

Page 19: Servidores de Redes.pdf

OBS: o apt-get deve estar devidamente configurado. Caso não esteja verifique nossa

documentação sobre o apt-get

emhttp://www.conectiva.com.br/suporte/pr/sistema.gerenc.apt.get.uso.html

Edite o arquivo /etc/httpd/conf/httpd.conf [root@localhost]# mcedit /etc/httpd/conf/httpd.conf

E descomente as seguintes linhas:

#LoadModule php3_module modules/libphp3.so

LoadModule php4_module modules/libphp4.so

#LoadModule perl_module modules/libperl.so

#AddModule mod_php3.c

AddModule mod_php4.c

#AddModule mod_perl.c

Descomente a linha como abaixo e acrescente index.php3 no final da mesma.

# For PHP4:

DirectoryIndex index.php index.html index.wml index.php3

Descomente as linhas como abaixo e acrescente .php3 .

Desta forma será possível visualizar tanto arquivos .php como .php3

# For PHP4:

AddType application/x-httpd-php .php .php3

AddType application/x-httpd-php-source .phps

Salve e feche o arquivo

Pronto agora basta reiniciar o servidor apache: [root@localhost]# cds

[root@localhost]# ./httpd stop ; ./httpd start

Pacotes rpm necessários para a Instalação do PostgreSQL:

postgresql-versão do pacote ==> Servidor de banco de dados

postgresql-clients-versão do pacote ==> Clientes para acesso ao servidor

postgresql-lib-versão do pacote ==> Biblioteca compartilhada de funções

Configuração do PostgreSQL:

Edite o arquivo /etc/rc.d/init.d/postgresql e procure pela linha: daemon --check postmaster su -l postgres -c

\"/usr/bin/postmaster -S -D/var/lib/pgsql\"

Coloque então o parâmetros -i deixando -a assim: daemon --check postmaster su -l postgres -c

\"/usr/bin/postmaster -o -e -S -i

-D/var/lib/pgsql\"

Page 20: Servidores de Redes.pdf

Isso fará com que o PostgreSQL aceite conexões TCP/IP

Reinicie o servidor: [root@localhost]# /etc/rc.d/init.d/postgresql

restart

Torne-se o usuário postgres: [root@localhost]# su - postgres

Adicione o usuário nobody (usuário em qual o apache é executado) na lista de

usuários do banco de dados: createuser nobody

Enter user's postgres ID or RETURN to use unix user ID: 513 -

><enter>

Is user "nobody" allowed to create databases (y/n) n

Is user "nobody" allowed to add users? (y/n) n

createuser: nobody was successfully added

Crie um novo banco de dados: createdb nome_do_banco_de_dados

Execute o interpretador do PostgreSQL: psql nome_do_banco_de_dados

### CL8 ###

Pacotes rpm necessários para a Instalação do PostgreSQL:

postgresql-versão do pacote ==> Servidor de banco de dados

postgresql-clients-versão do pacote ==> Clientes para acesso ao servidor

postgresql-lib-versão do pacote ==> Biblioteca compartilhada de funções

Configuração do PostgreSQL:

Edite o arquivo /etc/rc.d/init.d/postgresql e procure pela linha: daemon --check postmaster --user postgres "/usr/bin/postmaster -S -D

$PG_DIR"

Coloque então o parâmetros -i deixando -a assim: daemon --check postmaster --user postgres "/usr/bin/postmaster

-o -e -S -i -D $PG_DIR"

Isso fará com que o PostgreSQL aceite conexões TCP/IP

Reinicie o servidor: [root@localhost]# /etc/rc.d/init.d/postgresql

restart

Torne-se o usuário postgres: [root@localhost]# su - postgres

Adicione o usuário nobody (usuário em qual o apache é executado) na lista de

usuários do banco de dados: createuser nobody

Is user "nobody" allowed to create databases (y/n) n

Is user "nobody" allowed to add users? (y/n) n

createuser: nobody was successfully added

Page 21: Servidores de Redes.pdf

Crie um novo banco de dados: createdb nome_do_banco_de_dados

Execute o interpretador do PostgreSQL: psql nome_do_banco_de_dados

Links:

http://www.php.net => Site oficial, com documentação e muitos links.

http://br.php.net => Espelho do site no Brasil

http://www.allfinder.com.br/php => Site da lista de discussões Brasileira

http://phpbuilder.com/ => Artigos e tutoriais

http://www.horde.org => Webmail escrito em PHP3

http://webdev.berber.co.il/ => Vários scripts, com sistema de busca.

1.7. Para utilizar o apache com suporte a SSL,

como devo proceder? O servidor Apache, pode ser utilizado comercialmente (colocado em produção) não

existindo a necessidade de se fazer um registro ou taxa adicional.

Porém quando o servidor apache está utilizando suporte a SSL então primeiramente deve-se

fazer o registro do servidor SSL em empresas devidamente credenciadas. Existem diversas

empresas que fazem este tipo de serviço, uma delas é esta:http://www.thawte.com

Para fazer a configuração do SSL no servidor APACHE consulte a documentação existente

em: http://www.apache.org

1.8. Como configurar domínios virtuais no

Apache? Existem dois casos possíveis utilizando domínio virtual, uma que é configurar os domínios

virtuais no mesmo endereço IP e a outra forma é configurar utilizando endereços IP's

diferentes. Abaixo seguem os dois formatos:

O arquivo onde as informações devem ser adicionadas é o : /etc/httpd/conf/httpd.conf

Neste arquivo procure pela seção # VirtualHost example

Obs.: Na versão Conectiva Linux 8, os diretórios onde as páginas ficam armazenadas

mudam de /html para /var/www/default.

Configurando 3 domínios utilizando o MESMO IP

NameVirtualHost 10.0.2.134:80

<VirtualHost 10.0.2.134:80>

ServerAdmin webmaster@conectiva

ServerName www.conectiva

DocumentRoot /html

ErrorLog logs/conectiva-error_log

CustomLog logs/conectiva-access_log common

</VirtualHost>

<VirtualHost 10.0.2.134:80>

Page 22: Servidores de Redes.pdf

ServerAdmin webmaster@suptel

ServerName www.suptel

DocumentRoot /html/suptel

ErrorLog logs/suptel-error_log

CustomLog logs/suptel-access_log common

</VirtualHost>

<VirtualHost 10.0.2.134:80>

ServerAdmin webmaster@wbt

ServerName www.wbt

DocumentRoot /html/wbt

ErrorLog logs/wbt-error_log

CustomLog logs/wbt-access_log common

</VirtualHost>

Para conferir a configuração execute: [root@localhost]# httpd -S

VirtualHost configuration: 10.0.2.134:80 is a NameVirtualHost

default server www.conectiva (/etc/httpd/conf/httpd.conf:1008)

port 80 namevhost www.conectiva (/etc/httpd/conf/httpd.conf:1008)

port 80 namevhost www.suptel (/etc/httpd/conf/httpd.conf:1016)

port 80 namevhost www.wbt (/etc/httpd/conf/httpd.conf:1024)

Configurando 3 domínios utilizando 3 IP's DIFERENTES <VirtualHost 10.0.2.134:80>

ServerAdmin webmaster@conectiva

ServerName www.conectiva

DocumentRoot /html

ErrorLog logs/conectiva-error_log

CustomLog logs/conectiva-access_log common

</VirtualHost>

<VirtualHost 10.0.2.16:80>

ServerAdmin webmaster@suptel

ServerName www.suptel

DocumentRoot /html/suptel

ErrorLog logs/suptel-error_log

CustomLog logs/suptel-access_log common

</VirtualHost>

<VirtualHost 10.0.2.20:80>

ServerAdmin webmaster@wbt

ServerName www.wbt

DocumentRoot /html/wbt

ErrorLog logs/wbt-error_log

CustomLog logs/wbt-access_log common

</VirtualHost>

Para conferir a configuração execute: [root@localhost]# httpd -S

VirtualHost configuration:

10.0.2.16:80 www.suptel (/etc/httpd/conf/httpd.conf:1016)

10.0.2.20:80 www.wbt (/etc/httpd/conf/httpd.conf:1024)

10.0.2.134:80 www.conectiva (/etc/httpd/conf/httpd.conf:1008)

1.9. Como configurar domínios virtuais no

Apache via linuxconf? ### CL 60 e anteriores ###

Page 23: Servidores de Redes.pdf

Primeira parte: Configuração da rede

Entre no linuxconf

[root@localhost]# linuxconf

Vá em Rede

Nome da máquina e dispositivos ip de rede

Indidique o nome: server.intranet

Selecione Ativo

Manual

Primeiro nome + domínio: server.intranet

Apelidos: server

Endereço IP: 192.168.0.1

Mascara: 255.255.255.0

Dispositivo de rede: eth0

Módulo do kernel: (que no modo texto pode ser selecionado com

Ctrl+X)

Saia -

Saia

E aceite as alterações.

[root@localhost]# cds

[root@localhost]# ./network stop && ./network start

Segunda parte: DNS

Entre no linuxconf

[root@localhost]# linuxconf

Vá em Rede

DNS - especificação do servidor de nomes

[X] em operações normais, DNS é necessário

domínio padrão: intranet

IP do servidor de nomes 1: 127.0.0.1

procurar domínio 1: intranet

Page 24: Servidores de Redes.pdf

Aceitar

Fechar

Vá em:

Apelidos de IP para máquinas virtuais

eth0

Apelidos ou faixas de IP: 10.0.0.1

Máscara (opc): 255.255.255.0

Apelidos ou faixas de IP: 10.0.0.2

Máscara (opc): 255.255.255.0

Aceitar

Fechar

Vá em:

DNS - servidor de nomes de domínios

Configurar

domínios

Adicionar

Domínio: lala

Servidor Principal: server.intranet

Servidores de nome (NS): server.intranet

Servidores de correio (MX): server.intranet

Aceitar

Adicionar

Domínio: mala

Servidor Principal: server.intranet

Servidores de nome (NS): server.intranet

Servidores de correio (MX): server.intrane

Aceitar

Fechar

mapas de IPs reversos

Adicionar

Número de rede: 192.168.0

Servidor principal: server.intranet

Servidores de nomes (NS): server.intranet

Aceitar

Adicionar

Número de rede: 10.0.0

Servidor principal: server.intranet

Servidores de nomes (NS): server.intranet

Aceitar

Fechar

Adicionar/Editar

informações de máquinas por domínio

lala

Adicionar

www.lala

Endereços IP: 10.0.0.1

Servidores de nome (NS): server.intranet

Servidores de correio (MX): server.intranet

Aceitar

Page 25: Servidores de Redes.pdf

Cancelar

Fechar

mala

Adicionar

www.mala

Endereços IP: 10.0.0.2

Servidores de nome (NS): server.intranet

Servidores de correio (MX): server.intranet

Aceitar

Cancelar

Fechar

Fechar

Fechar

Sair

[root@localhost]# cds

[root@localhost]# ./network stop && ./network start && ./named stop &&

./named start && ./httpd stop && ./httpd start

Terceira parte: Testando o servidor DNS

Execute o seguinte comando:

[root@localhost]# nslookup

Se o servidor estiver funcionando corretamente deverá aparecer uma mensagem mais ou

menos como essa:

Default Server: localhost

Address: 127.0.0.1

Agora digite o nome de alguma máquina que foi cadastrada, nesse caso a máquina se

chamava teste.intranet:

Page 26: Servidores de Redes.pdf

teste

Server: localhost

Address: 127.0.0.1

Name: teste.intranet

Address: 192.168.255.15

Se quiser obter uma resposta mais completa digite:

set q=any

E agora, por exemplo, consulte as informações sobre o domínio intranet:

intranet

Server: localhost

Address: 127.0.0.1

intranet nameserver = server.intranet

intranet preference = 5, mail exchanger = server.intranet

intranet

origin = server.intranet

mail addr = hostmaster.server.intranet

serial = 2000041201

refresh = 3600 (1H)

retry = 900 (15M)

expire = 1209600 (2W)

minimum ttl = 43200 (12H)

intranet nameserver = server.intranet

server.intranet internet address = 192.168.255.10

Quarta parte: Configuração do Apache

Abra o linuxconf

[root@localhost]# linuxconf

Vá em:

Rede

Page 27: Servidores de Redes.pdf

Apache - servidor Web

Padrões

Endereço IP de domínio: 192.168.0.1

Nome do Servidor: server.intranet

Diretório raiz dos documentos: /var/httpd/html

Aceitar

Domínios virtuais

Adicionar

Nome da máquina virtual: 10.0.0.1:80

Nome do servidor: www.lala

Diretório raiz dos documentos: /var/httpd/lala

Aceitar

Adicionar

Nome da máquina virtual: 10.0.0.2:80

Nome do servidor: www.mala

Diretório raiz dos documentos: /var/httpd/mala

Aceitar

Fechar

Fechar

Fechar

Sair

[root@localhost]# cds

[root@localhost]# ./httpd stop && ./httpd start

Abra um navegador e digite

www.lala

Ou

www.mala

Se tudo sair corretamente vc estará vendo as páginas dos dois domínios.

### CL 70 ###

Entre como root e Digite:

OBS.: Todos os valores e nomes são exemplos

Passo 1 [root@localhost]# linuxconf

Vá em:

Page 28: Servidores de Redes.pdf

rede

Nome da máquina e dispositivos IP de rede

Nome da Máquina + Domínio: nome.intranet

[X] Ativo

Modo de Configuração: (o) Manual

Primeiro nome + Domínio: nome.intranet

Apelidos (opc): nome

endereço ip: 192.168.0.10

Máscara (opc): 255.255.255.0

Dispositivo de rede: eth0

Módulo do kernel: Característica da placa de rede do Sr. (Selecione

pressionando <ctrlx>)

aceitar

sim

fechar

sair

aceite as alterações

Digite: [root@localhost]# cds

[root@localhost init.d]# ./network stop

[root@localhost init.d]# ./network start

Entre novamente no linuxconf: [root@localhost init.d]# linuxconf

Passo 2

Vá em:

rede

DNS - Especificação do servidor de nomes

uso do DNS: [X] em operações normais, DNS é necessário

domínio padrão: intranet

IP do servidor de nomes 1: 127.0.0.1 (Esse endereço é para loopback local,

caso o seu servidor de nomes tenha outro endereço por favor coloca-lo no local do

mesmo)

procurar domínio 1 (opc): intranet

aceitar

Page 29: Servidores de Redes.pdf

Passo 3

Vá em:

Roteamento e roteadores

Definir Padrões

Roteador padrão: 10.0.0.1

[X] Ative o roteamento

aceitar

fechar

Passo 4

Vá em:

Apelidos de IP para máquinas virtuais

Vá até eth0 e pressione "enter"

Apelidos ou faixas de IP: 192.168.0.11

Máscara (opc): 255.255.255.0

aceitar

fechar

Passo 5

Vá em:

DNS - servidor de nomes e domínios

Configurar domínios

clique em adicionar

Domínio: lala (Nome do domínio que o Sr. deseja)

Servidor principal: nome.intranet. (Note que é o mesmo nome do Passo 1)

aceitar

fechar

(Se o Sr. desejar clique em adicionar para um novo domínio, lembre-se que o Sr. deve ter

para cada domínio um IP para máquinas virtuais, passo 4)

Configurar mapas de IPs reversos

clique em adicionar

Número de rede: 192.168.0 (O mesmo que o passo 1, só que sem o .10)

Servidor principal: nome.intranet (O mesmo do passo 1)

Page 30: Servidores de Redes.pdf

servidor de nome (NS): nome.intranet.

aceitar

fechar

Adicionar/Editar Informações de Máquinas por Domínio

pressione <enter>

escreva www antes do .lala <enter>

clique em adicionar

máquina ou sub-domínio: www.lala (ou www.nome que o Sr. colocou, passo

5)

Endereço IP: 192.168.0.11 (note que é o mesmo do passo 4)

aceitar

fechar

fechar

fechar

fechar

Sair

aceite as alterações

Digite: [root@localhost]#cds

[root@localhost init.d]# ./network stop

[root@localhost init.d]# ./network start

[root@localhost init.d]# ./named stop

[root@localhost init.d]# ./named start

[root@localhost init.d]# ./httpd stop

[root@localhost init.d]# ./httpd start

Entre no linuxconf novamente: [root@localhost init.d]# linuxconf

Page 31: Servidores de Redes.pdf

passo 6

Vá em:

Rede

Apache - servidor Web

Padrões

Endereço IP de domínio: 192.168.0.10 (o mesmo do passo 1)

Nome do servidor: nome.intranet.

Diretório raiz dos documentos: "/html" (pode colocar o diretório que o

Sr. desejar para a alocação)

aceitar

Domínios virtuais: 192.168.0.11:80

nome do servidor: www.lala (ou www.nome que o Sr. escolheu)

Diretório raiz dos documentos: /html/lala (ou outro diretório da escolha

do Sr.)

aceitar

fechar

fechar

fechar

sair

aceite as alterações

Digite: [root@localhost]# cds

[root@localhost init.d]# ./httpd stop

[root@localhost init.d]# ./httpd start

### VERSÃO 7.0 ###

Agora o Sr. deve editar o arquivo /var/named/lala (ou /var/named/nome que o Sr. escolheu)

Digite: [root@localhost init.d]# cd

[root@localhost]# mcedit /var/named/lala (ou /var/named/nome que o Sr.

escolheu)

Page 32: Servidores de Redes.pdf

Aparcerá algo parecido com:

$TTL 43200

@ IN SOA nome.intranet.

hostmaster.server.intranet. (

1996012401 ; serial

1H ; refresh

15M ; retry

14D ; expire

12H ; default_ttl

)

www IN A 192.168.0.11

@ IN NS nome.intranet.

@ IN MX 5 nome.intranet.

@ IN A 192.168.0.11

Insira as 3 últimas linhas substituindo nome.intranet pelo nome que o Sr. digitou no Passo 1

e o IP 192.168.0.11 pelo IP que senhor escolheu.

Salve o arquivo

Agora digite: [root@localhost]# cds

[root@localhost init.d]# ./named stop && ./named start &&

E para o Sr. testar se o servior está funcionando use o seguinte comando: [root@localhost]# host www.lala

Deverá aparecer algo como:

www.lala. has address 192.168.0.11

*Testando o servidor DNS com o Host

Execute o seguinte comando com o nome da sua máquina (no caso do exemplo = bravo):

Page 33: Servidores de Redes.pdf

[vladimir@bravo faq]$ host -d www.lala

Se o servidor estiver funcionando corretamente deverá aparecer uma mensagem: ;; res_nmkquery(QUERY, bravo.conectiva, IN, A)

;; res_send()

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35069

;; flags: rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:

;www.lala 43200 IN A

;; ANSWER SECTION:

www.lala. 43200 IN A 192.168.0.11

;; AUTHORITY SECTION:

lala. 43200 IN A nome.intranet

Received 69 bytes from 127.0.0.1#53 in 5 ms

Esta mensagem contém o nome do(s) servidor(es) de nomes no caso = lala, e seu(s) no(s). de

registro.

Agora o senhor pode fazer um teste editando a página www.lala (ou o nome que o senhor

escolheu) que se encontra no diretório /var/httpd/html (ou o diretório que o senhor escolheu

no passo 6), digite: [root@localhost]# cd /html/lala (diretório e nome que o Sr. escolheu)

[root@localhost lala]# mcedit index.html

Digite:

<html>

<center>

teste www.lala (ou a frase que o Sr. digitou)

</center>

</html>

Salve

Page 34: Servidores de Redes.pdf

Entre em um ambiente gráfico e utilize um navegador,digite www.lala (ou o nome que o Sr.

escolheu), deverá aparecer escrito:

teste www.lala (ou a frase que o Sr. digitou)

1.10. Meus programas php não funcionam com a

versão 4 do php, como instalo a versão 3? Verifique os pacotes do PHP que estão instalados com o comando: [root@localhost /root]# rpm -qa |grep php

php4-4.0.3pl1-6cl

mod_php4-4.0.3pl1-6cl

php4-imap-4.0.3pl1-6cl

php4-doc-4.0.3pl1-6cl

php4-pgsql-4.0.3pl1-6cl

php4-ldap-4.0.3pl1-6cl

php4-mysql-4.0.3pl1-6cl

[root@localhost /root]#

Portanto desinstale os pacotes utilizando para facilitar o programa apt-get [root@localhost /root]# apt-get remove php

Agora parta para a instalação da versão 3 do PHP:

Caso não possua os arquivos do php3, segue a lista de pacotes a serem, instalados que

podem ser baixados de nosso site de ftp em:

ftp://ftp.conectiva.com.br/pub/conectiva/5.1/cd1/conectiva/RPMS

e baixe os pacotes: php3-cgi

php3-cgi-gd

php3-cgi-imap

php3-cgi-ldap

php3-cgi-mysql

php3-cgi-pgsql

php3-cgi-xml

mod_php3

mod_php3-doc

mod_php3-pgsql

caso necessite mais algum pacote, baixe tambem.

Instale com o comando: [root@localhost /root]# apt-get install pacote

não esqueça de incluir o diretório onde estão os pacotes baixados do ftp no sources.list.

e faça a configuração do apache:

Page 35: Servidores de Redes.pdf

1.11. Como faço para Autenticar usuários no

apache? Primeiramente crie um arquivo .htaccess no diretório onde se deseja proibir o acesso. [root@localhost root]# mcedit .htaccess

Esse arquivo deve possuir o seguinte conteudo: AuthType Basic

AuthUserFile /home/httpd/html/teste/.htpasswd

AuthName "Lala Directory"

require valid-user

Ainda no diretório onde ficará restrito pelo apache, crie um usuário e senha com o comando: [root@localhost root]# htpasswd -c .htpasswd nomedousuário

Obs.: o parâmetro -c é usado somente no primeiro cadastro para a criação do arquivo

.htpasswd

Feito isso, certifique-se que no ítem AllowOverride está como no exemplo abaixo:

AllowOverride AuthConfig Isso deve ser verificado com o comando: [root@localhost root]# mcedit /etc/httpd/conf/httpd.conf

Para completar reincie o apache com os comandos: [root@localhost root]# cds; ./httpd stop;./httpd start

1.12. Como Redirecionar páginas através do

apache? ### CL9 ###

Acesse o sistema como root e em seguida altere o arquivo /etc/apache/conf/http.conf: [root@localhost]# mcedit /etc/apache/conf/http.conf

Para que seja possível ser feito o direcionamento crie um domínio virtual incluindo a entrada

Redirect Permanent. Desta forma quando for acessado o endereço desta página ele fará

automaticamente o redirecionamento para o outro endereço indicado. Redirect Permanent / https://servidor.destino

Ex: <VirtualHost 10.0.2.72:80 >

ServerAdmin webmaster@eclipse

DocumentRoot /srv/www/default/html

ServerName eclipse.conectiva

Redirect Permanent / http://www.conectiva.com.br #insira esta

entrada

ErrorLog /var/log/apache/error_log

CustomLog /var/log/apache/access_log common

</VirtualHost >

Page 36: Servidores de Redes.pdf

Pressione F2 para salvar e F10 para sair.

Recarregue o serviço do apache com os comandos: [root@localhost]#cds ; ./httpd stop ; ./httpd start

OBS: Esta mesma entrada serve para direcionar os endereços solicitados para sites https.

1.13. Como configurar o apache usando SSL? Em muitos casos precisamos de uma conexão segura à páginas na internet, por isso é

interessante configurar o apache para que use o protocolo de acesso seguro (ssl).

Abaixo segue um procedimento passo a passo de como gerar um certificado para que o

apache de sua máquina passe a usar ssl.

Para efetuar tal configuração será necessário ter instaldo em seu equipamento os pacotes

abaixo: apache

openssl

openssl-progs

Para verificar se os pacotes estão instalados use os comandos abaixo em um terminal e

logado como root: [root@localhost]# rpm -qa | grep apache

[root@localhost]# rpm -qa | grep ssl

Se um dos comandos acima apenas "pular" de linha sem retornar nada significa que os

pacotes não estão instalados.

Para instalar os pacotes necessários pode-se usar o apt-get. [root@localhost]# apt-get install apache openssl openss-progs

Iniciando o processo de configuração

Primeiramente edite o arquivo de configuração do ssl no apache, que é

o /etc/apache/conf/ssl.conf , para isso use o comando abaixo: [root@localhost]# mcedit /etc/apache/conf/ssl.conf

Page 37: Servidores de Redes.pdf

Procure pela entrada abaixo: # SSL Engine Switch:

# Enable/Disable SSL for this virtual host.

SSLEngine on

Verifique no seu arquivo se está igual a entrada acima. SSLEngine on significa que estamos

habilitando o uso de ssl no apache.

Agora que já foi habilitado o uso de ssl é preciso fazer a configuração do servidor.

Localize mais acima no arquivo a seguinte entrada: <VirtualHost _default_:443>

Altere _default_ para o ip da sua máquina. Deverá ficar parecido com o exemplo: <VirtualHost 10.0.2.73:443>

É preciso alterar também as informações abaixo: # General setup for the virtual host

DocumentRoot "/srv/www/default/html"

ServerName new.host.name:443

ServerAdmin [email protected]

ErrorLog /var/log/apache/error_log

TransferLog /var/log/apache/access_log

Onde: DocumentRoot -> É onde estão armazenadas as páginas que o apache irá servir

ServerName -> É o nome do seu servidor (hostname)

ServerAdmin -> É o e-mail do administrador do servidor

ErrorLog -> É onde serão armazenados os logs de erro

TransferLog -> É onde serão armazenados os logs de acesso

Alterando deve ficar parecido com o exemplo abaixo: DocumentRoot "/srv/www/default/html"

ServerName bravo.conectiva:443

Page 38: Servidores de Redes.pdf

ServerAdmin root@bravo

ErrorLog /var/log/apache/error_log

TransferLog /var/log/apache/access_log

Pressione F2 para salvar o arquivo e F10 para sair.

Inicie o apache para que ele gera a chave secreta do seu servidor. [root@localhost]# service apache start

Deverá resultar em algo como: Creating self-signed digital certificate, please wait...

Generating a 1024 bit RSA private key

....++++++

..............++++++

writing new private key to '/etc/apache/conf/ssl.key/server.key'

-----

Certificates generated successfully, proceeding to normal startup...

PLEASE REMEMBER THAT THIS IS A DUMMY CERTIFICATE AND SHOULD ONLY BE

USED FOR TESTING PURPOSES!

Se não apareceu essa mensagem é porque provavelmente já existia uma chave e um

certificado na sua máquina, porém com as alterações feitas será necessário gera-los

novamente.

Antes faça um backup dos arquivos antigos. [root@localhost]# cd /etc/apache/conf/ssl.key/

[root@localhost]# mv server.key server.key.old

[root@localhost]# cd /etc/apache/conf/ssl.crt/

[root@localhost]# mv server.crt server.crt.old

Agora reinicie o apache com os comandos abaixo e verifique se finalmente obteve a resposta

esperada.

Page 39: Servidores de Redes.pdf

[root@localhost]# service apache stop

[root@localhost]# service apache start

Agora que a chave foi criada é preciso gerar o certificado novamente. Gere-o usando o

comando abaixo: [root@localhost]# openssl req -new -x509 -nodes -keyout

/etc/apache/conf/ssl.key/server.key -out /etc/apache/conf/ssl.crt/server.crt

Ao executar esse comando será pedido para que informe alguns dados. Veja o exemplo

abaixo: Generating a 1024 bit RSA private key

.......................++++++

........................++++++

writing new private key to '/etc/apache/conf/ssl.key/server.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:BR

State or Province Name (full name) [Some-State]:Parana

Locality Name (eg, city) []:Curitiba

Organization Name (eg, company) [Internet Widgits Pty Ltd]:Conectiva SA

Organizational Unit Name (eg, section) []:sup-cl

Common Name (eg, YOUR name) []:Andre

Email Address []:root@bravo

O certificado foi gerado, para testa-lo use o comando abaixo: [root@localhost]# openssl s_client -connect servidor.meudominio:443

Troque servidor.meudominio pelo nome do servidor em que foi efetuado todo o

procedimento acima. [root@localhost]# openssl s_client -connect bravo.conectiva:443

Page 40: Servidores de Redes.pdf

Se a conexão for efetuada com sucesso será apresentada algumas mensagens na tela, dentre

elas a que confirma o sucesso: ---

SSL handshake has read 1260 bytes and written 340 bytes

---

Para testar através do navegador basta acessar o endereço do site criado com ssl utilizando a

opção de https:

https://nome_do_servidor Será mostrada uma tela pedindo a confirmação sobre a utilização do certificado.

1.14. Como configurar o apache para utilizar

páginas .shtml? ### CL 9 ###

Para trabalhar com páginas com conteúdo em .shtml, você deverá configurar o apache da

seguinte maneira:

Como administrador da máquina, (usuário root), digite: [root@localhost]# mcedit /etc/apache/conf/httpd.conf

Procure pela entrada no arquivo, chamada AddType text/html .shtml, com a tecla F7.

Descomente as entradas que seguem, como no exemplo abaixo:

#

# Filters allow you to process content before it is sent to the client.

#

# To parse .shtml files for server-side includes (SSI):

# (You will also need to add "Includes" to the "Options" directive.)

#

AddType text/html .shtml -> Descomente esta entrada, tirando o caracter #.

AddOutputFilter INCLUDES .shtml -> Descomente esta entrada, tirando o caracter

#.

E na entrada Options, adicione a palavra Includes para que a máquina SSI (Serve-Side

Includes) do apache funcione: # The Options directive is both complicated and important. Please see

Page 41: Servidores de Redes.pdf

# http://httpd.apache.org/docs-2.0/mod/core.html#options

# for more information.

#

Options Indexes FollowSymLinks Includes -> Adicionando Includes.

Também teremos que adicionar na entrada DirectoryIndex, o index para páginas .shtml, da

seguinte maneira: #

# DirectoryIndex: sets the file that Apache will serve if a directory

# is requested.

#

# The index.html.var file (a type-map) is used to deliver content-

# negotiated documents. The MultiViews Option can be used for the

# same purpose, but it is much slower.

#

DirectoryIndex index.html index.html.var index.php index.shtml -> Adicionando

index.shtml.

Salve o arquivo com a tecla F2 e saia do editor com a tecla F10 .

Após editado o arquivo de configuraçao, pare e ligue novamente o serviço de páginas WEB,

com os seguintes comandos: [root@localhost]# service httpd stop

[root@localhost]# service httpd start

1.15. Como configurar o apache para trabalhar

com o htaccess? ### CL 9 ###

O htaccess é uma opção do apache, para a autenticação de usuários. Isso quer dizer, se você

está precisando autenticar usuários para páginas de internet, esta pode ser uma boa opção.

Para configurarmos, primeiramente instalamos o pacote apache-htpasswd, utilizando o

seguinte comando, como administrador da máquina (usuário root), abaixo: [root@localhost]# apt-get install apache-htpasswd

ou [root@localhost]# rpm -ivh apache-htpasswd*

Page 42: Servidores de Redes.pdf

Após a instalação do pacote, iremos fazer as configurações necessárias para a utilizaçao do

htaccess.

Para isso, crie um arquivo .htaccess no diretório do apache, onde você quiser restringir o

acesso, da seguinte forma, como no exemplo abaixo:

Crie o arquivo, da seguinte forma: [root@localhost]# mcedit /srv/www/default/html/.htaccess

Obs.: Nesse exemplo, ele criará o arquivo .htaccess no diretório principal do apache, isso

quer dizer que ele fará a verificação para toda e qualquer página que esteja dentro deste

diretório.

Dentro do arquivo, adicione as seguintes entradas: AuthType Basic

AuthName /srv/www/default/html

AuthUserFile /etc/senhas

AuthGroupFile /dev/null

Require valid-user

Analisando as entradas no arquivo .htaccess : AuthType Basic -> Este é o tipo padrão de autenticação.

AuthName /srv/www/default/html -> Este é o lugar onde ficará o arquivo

.htaccess.

AuthUserFile /etc/senhas -> Este é o arquivo de senhas, que será criado mais a

frente.

AuthGroupFile /dev/null -> Arquivo de grupo, no nosso exemplo não esta sendo

utilizado.

Require valid-user -> Faz a verificação por um usuário válido do htaccess.

Salve o arquivo com a tecla F2 e saia do editor com a tecla F10 .

Agora, criaremos o arquivo de senhas, como abaixo: [root@localhost]# htpasswd -c /etc/senhas teste

Ele criará o arquivo senhas dentro do diretório /etc, o usuário teste, e a senha para este

usuário. Você poderá criar vários usuários para a utilização deste serviço, para fazê-lo,

Page 43: Servidores de Redes.pdf

simplesmente repita o comando acima retirando a opção -c e logicamente alterando o nome

de usuário, da seguinte forma: [root@localhost]# htpasswd /etc/senhas teste2

Depois de criado o usuário e senha para a utilização do htaccess, temos que fazer algumas

alterações no arquivo /etc/apache/conf/httpd.conf: [root@localhost]# mcedit /etc/apache/conf/httpd.conf

Dentro do arquivo de configuração do apache, devemos procurar pela

entrada AccessFileName, usando a tecla F7.

Achando-a, descomentaremos a entrada retirando o caracter # , da seguinte forma: #

# AccessFileName: The name of the file to look for in each directory

# for additional configuration directives. See also the AllowOverride

# directive.

#

AccessFileName .htaccess -> Descomente esta entrada, tirando o caracter #.

Após isso, procuraremos dentro do arquivo pela entrada AllowOverride, descomentando e

adicionando a diretiva All, para que o htaccess trabalhe corretamente: #

# AllowOverride controls what directives may be placed in .htaccess files.

# It can be "All", "None", or any combination of the keywords:

# Options FileInfo AuthConfig Limit

#

AllowOverride All -> Descomente esta linha tirando o caracter #, e coloque

a diretiva All.

Salve o arquivo com a tecla F2 e saia do editor com a tecla F10 .

Após editado o arquivo de configuraçao, pare e ligue novamente o serviço de páginas WEB,

com os seguintes comandos: [root@localhost]# service httpd stop

[root@localhost]# service httpd start

Page 44: Servidores de Redes.pdf

Capítulo 2. BACKUP

2.1. Qual a importância do backup? BACKUP

O backup existe como forma de prevenir que os arquivos sejam apagados acidentalmente,

seja por falha física, ou por falha humana. O backup garante a integriadade dos dados, de

configurações, bancos de dados, arquivos de usuários.

Mas para um backup ser funcional deve-se ter em mente duas coisas:

1. Um sistema de backup

2. Uma mídia confiável

Na primeira parte, vamos considerar primeiro o volume de backup a ser empreendido. Caso

o sistema seja pequeno, pode-se considerar um método pequeno, de backups 'full', ou seja,

que tudo seja copiado todo o dia, e que garante um pequeno número de mídia. O

incoveniente é a demora do backup. Mas numa grande empresa, precisamos colocar este

sistema de uma maneira funcional, onde não pode-se perder grande tempo com o backup, e

além do mais, muitas empresas não investem em quantidades de mídia. Por isso uma

estratégia de backup é importante. Nesses casos criamos um sistema de backup 'full' e um

incremental, que copiará somente os dados alterados durante o dia, ou semana.

Veja o esquema abiaxo:

Backup 'FULL' do mês

Backup 'FULL' da semana

Backup incremental da Segunda

Backup incremental da Terça

Backup incremental da Quarta

Backup incremental da Quinta

Backup incremental da Sexta

Nesta tabela, utilizamos 7 mídias para efetuar o bakcup do sistema, e no caso de algum

problema, restauramos a última cópia full e os backups incrementais que satisfaçam a nossa

necessidade. A vantagem deste sistema é a economia de mídias. Pois se fizessemos backups

completos todos os dias poderiamos utilizar mais de uma mídia por dia.

Na segunda parte temos a questão de mída em si. Esta geralmente utilizada em fita, pois a

mesma se apresenta de forma barata para armazenamento de grande quantidades. Podendo

ainda, conforme a quantidade de dados, ser utilizados disquetes, discos óticos. Teste sempre

o seu backup, pois o precisamos confiar no sistema, e não deixar para descobrir que ele é

ineficiente quando perdemos todos os dados.

Page 45: Servidores de Redes.pdf

2.2. Quais são as ferramentas para backup

disponíveis ?

1. Utilização do aplicativo tar para criação de backups

Por que usar o tar para backup?

O método mais simples de se fazer um backup é utilizando o tar para armazenar

todos os arquivos do sistema ou apenas os arquivos em um conjunto de diretórios

específicos. Utilizando o tar em conjunto com os compactadores gzip (opcão z)

ou bzip2(opcão I), é possível armazenar e compactar os arquivos ao mesmo tempo em

um único tarfile.

A criação de backups utilizando o tar fornece flexibilidade e simplicidade de uso.

Parâmetros principais:

-c : criar um novo arquivo tar

-x : extrai arquivos de um arquivo tar

-t : lista o conteúdo de um arquivo tar

-f : usar o arquivo file ou o dispositivo F (padrão /dev/rmt0)

-z : filtra os arquivos através de gzip

-I : filtra os arquivos através de Bzip2

-v : mostra a lista dos arquivos processados

-M : cria/lista/extrai arquivos multivolumes

2. Fazendo backups de fita utilizando o tar

Para criação de backups em fita com o tar, utiliza-se o seguinte comando: [root@localhost]# tar -cvf /dev/rft0 /home /etc

No exemplo acima, é feito o armazenamento em fita dos diretório /home e /etc do

sistema, utilizando da compactacão do gzip.

Obs.: Para utilizar do backup em fita, é necessário que o módulo referente à fita esteja

ativado no sistema para reconhecimento do dispositivo.

Normalmente é necessário, e recomendável, a leitura da fita para verificação de qual

backup foi criado e quais os arquivos presentes nele.

Para listagem destes arquivos em fita, utiliza-se o seguinte comando: [root@localhost]# tar -tvf /dev/rft0

Caso o backup seja finalizado sem ocupar todo o espaço disponível em fita, será

necessário rebobinar a fita.

Para isto, execute o seguinte comando: [root@localhost]# mt -f /dev/rft0 rewind

Caso não possua o comando mt, instale o pacote relativo ao mesmo:

Insira o CD1 no drive e como root digite os seguintes comandos:

[root@localhost]# mount /mnt/cdrom

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Page 46: Servidores de Redes.pdf

[root@localhost]# rpm -ivh mt-st*

Obs.: Os procedimentos acima consideram /dev/rft0 como padrão de dispositivo de

fita.

Verifique em seu sistema qual dispositivo está sendo utilizado.

3. Como fazer backup em disquete

Para criação de backups em disquete, é utilizado o mesmo comando anterior,

modificando somente o dispositivo em questão: [root@localhost]# tar -cvf /dev/fd0 /home

Múltiplos volumes

Como o disquete ou fita tem uma capacidade bem limitada de armazenamento, é

possível criar armazenamento em _múltiplos volumes_.

Fornecendo a opção M ao tar, será solicitado um novo volume para continuação

doarmazenamento em questão, apenas atentando para a ordem de criacão dos

múltiplos volumes: [root@localhost]# tar cvMf /dev/fd0 /home /etc

Outra opcão é utilizar do comando split para fragmentar o arquivo em questão e do

comando cat para restaurar ao arquivo original.

Exemplo:

Considerando um arquivo chamado teste.tar.gz já criado e presente no diretório

teste: [root@localhost teste]# l

total 204

drwxr-xr-x 2 root root 4096 Jun 5 16:51 ./

drwxr-x--- 24 root root 4096 Jun 5 16:49 ../

-rw-r--r-- 1 root root 194041 Jun 5 16:46 teste.tar.gz

Tamanho relativo ao diretório teste: [root@localhost teste]# du -hs

200k

Fragmentar o arquivo em vários pedaços relativamente com o tamanho definido (no

exemplo abaixo, 50000 bytes): [root@eclipse teste]# split -b 50000 teste.tar.gz

[root@eclipse teste]# l

total 416

drwxr-xr-x 2 root root 4096 Jun 5 16:51 ./

drwxr-x--- 24 root root 4096 Jun 5 16:49 ../

-rw-r--r-- 1 root root 194041 Jun 5 16:46 teste.tar.gz

-rw-r--r-- 1 root root 50000 Jun 5 16:51 xaa

-rw-r--r-- 1 root root 50000 Jun 5 16:51 xab

-rw-r--r-- 1 root root 50000 Jun 5 16:51 xac

-rw-r--r-- 1 root root 44041 Jun 5 16:51 xad

E agora para ter o arquivo inteiro novamente, basta utilizar do comando cat da

seguinte maneira: [root@localhost teste]# cat xaa xab xac xad > teste2.tar.gz

Obs.: Atente à sequência criada para restauracão do arquivo original.

4. Criar backups agendados utilizando o cron

Caso seja necessário criar backups periodicamente, pode-se combinar o servidor de

comandos agendados cron com o comando ou script.

Page 47: Servidores de Redes.pdf

Simplesmente programe a data no cron para execução do determinado comando de

criação de backup.

No exemplo abaixo, o cron está agendado para executar o backup dos

diretórios /home e /etc às duas horas da manhã: 0 2 * * * root tar cvf /dev/rft0 /home /etc

Maiores informacões: [root@localhost]# man crontab

[root@localhost]# man 5 crontab

5. Scripts de backup

Utilizar de scripts para o armazenamento de arquivos é muito útil para se obter um

backup mais agilizado do sistema.

Segue abaixo um exemplo de utilizacão de um script de backup.

Os arquivos são gravados diariamente e enviados via email para uma ou mais

máquinas ou pessoas, onde são gravados em um arquivo em disco.

A automatização via cron, pode ser criada através da inclusão no

arquivo /etc/crontab de uma linha como: 0 0 * * * /usr/local/etc/saveconfig 1> /dev/null 2> /dev/null

Desta forma, todos os dias, as 00:00 horas, o script /usr/local/etc/saveconfig é

executado. Para melhor entender o procedimento, encontra-se abaixo o script

saveconfig, contendo explicações detalhadas sobre os passos seguidos:

#!/bin/sh

#

# Script para realização de backup de arquivos de

# configuração

# via correio eletronico

# PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin export PATH

# A seguir é criado um arquivo no formato tar,

# contendo todos os arquivos

# de configuração que se deseja salvar. A lista dos

# arquivos deve ser

# criada em conjunto com todos os usuários e

# administradores da máquina

# Observar que o arquivo é criado com diretórios

# relativos, ou seja,

# iniciados em "." para facilitar a expansão do

# arquivo tar em qualquer

# localização.

# O arquivo tar criado é compactado utilizando-se o

# programa gzip

# e redirecionado para o arquivo

# /tmp/machine.config.tar.gz

cd /

tar cvf - \

Page 48: Servidores de Redes.pdf

./var/spool/cron \

./var/named \

./etc/aliases \

./etc/dumpdates \

./etc/gated.conf \

./etc/group \

./etc/hostname.le0 \

./etc/hostname.le1 \

./etc/hosts \

./etc/hosts.equiv \

./etc/hosts.equiv \

./etc/inet \

./etc/vfstab \

./etc/vold.conf | gzip > /tmp/machine.config.tar.gz # Neste ponto, o formato do arquivo é transformado

# pelo comando

# uuencode para permitir a sua transferência via mail

uuencode /tmp/machine.config.tar.gz machine.config.tar.gz \ >

/tmp/machine.config.tar.gz.uu

# Em seguida, o arquivo é enviado para a(s) máquinas

# de destino

# onde deverá ser criado um alias que se encarregará

# de realizar

# a gravação no local apropriado. Incluir na(s)

# máquina(s) de destino,

# no arquivo /etc/aliases, uma linha do tipo:

# backup: "|/usr/local/bin/deliver -b

# /usr/local/doc/backups/machine

#

# Recomenda-se também a encriptação da mensagem para

# aumentar

# a segurança deste esquema visto que informações

# confidenciais

# estarão sendo enviadas.

# O programa deliver é de domínio público e serve

# para fazer a sincronização

# de gravação no arquivo de destino, no caso,

# /usr/local/doc/backups/machine.

# De tempos em tempos este arquivo deve ser examinado

# e removidas as mensagens

# mais antigas (manual ou automaticamente).

#

# No nosso exemplo, o arquivo de backup é enviado

# para o usuário para o alias backup na máquina

# domínio.com.br.

Page 49: Servidores de Redes.pdf

mail -s "Configuracao `date +%d/%m` (machine)" usuário backup@domínio.com.br

< /tmp/machine.config.tar.gz.uu

# Finalmente, os arquivos temporários gerados devem

# ser removidos

rm /tmp/machine.config.*

6. ** Script retirado da lista Dicas-L

Mais informacões sobre crontab: [root@localhost]# man crontab

[root@localhost]# man 5 crontab

7. Utilização do aplicativo cpio para criação de backups

O comando cpio copia arquivos para ou de um arquivo em formato cpio ou tar, o

qual é um arquivo que contém outros arquivos e informações sobre estes, tais como

seu nome, dono, data de atualização e permissões de acesso.

No modo cópia de entrada, o cpio lê uma lista de nome de arquivos, um em cada

linha, na entrada padrão ou de um próprio arquivo, e grava-os em um arquivo maior

na saída padrão. Uma forma típica de gerar uma lista de arquivos é pelo

comandofind devendo-se informar o parâmetro -depth para minimizar os problemas

com permissões em diretórios que não podem ser gravados ou pesquisados.

Sintaxe do modo de cópia de entrada: cpio -o [parâmetros] < arquivo > saída

No modo cópia de saída, o cpio lê da entrada padrão um arquivo criado com o cpio

(modo cópia de entrada) e retira dele aqueles cujo nome combina com o padrão.

Sintaxe do modo de cópia de saída: cpio -i [parâmetros] [padrão] < entrada

Para listar o conteúdo de um arquivo cpio: [root@localhost]# cpio -itvf < nome_do_arquivo

Exemplos

No exemplo abaixo foi criado um arquivo de lista contendo o nome de todos os

arquivos presentes no diretório /home. Com o comando cpio, foi criado um arquivo de

formato tar contendo os arquivos listados no arquivo lista: [root@localhost]# find /home/* -depth > lista

[root@localhost]# cpio -oH tar < lista > backup_home

No exemplo abaixo, foi utilizado o cpio para copiar todos os arquivos listados no

arquivo lista, criado no exemplo anterior, para os diretórios referentes a cada

arquivo: [root@localhost]# cpio -if lista < backup_home

Utilizando o formato tar, é também possível extrair da seguinte maneira: [root@localhost]# tar -xvf backup_home

Mais informacões sobre o cpio: [root@localhost]# man cpio

8. Utilizacão do aplicativo dump para criacão de backups

O comando dump examina arquivos em um sistema de arquivos do tipo ext2 e

determina quais arquivos necessitam fazer backups.

Utilizando o dump, é possível fazer backup em disco, fita ou outro dispositivo para

armazenamento.

Page 50: Servidores de Redes.pdf

Um arquivo dump que ocupa um espaco maior do que o disponível no dispositivo de

entrada é quebrado em múltiplos volumes.

Na maioria das mídias, o arquivo dump terá o tamanho máximo relativo ao final da

mídia, quando este parâmetro é retornado. Em mídias que não retornam o seu ponto

de final de mídia, os arquivos dump irão possuir um tamanho previamente determinado

pelo tamanho da mídia.

Por padrão, todos os arquivos dump de mesma origem de backup possuem o mesmo

nome.

É possível também utilizar o dump para realizar backup redirecionando este arquivo

para uma máquina remota.

Opcões gerais:

- f : Realiza backup em arquivo, podendo ser dispositivo de fita, disquete ou arquivo em si.

-

[0-

9] :

Dump levels - Nível 0 caracteriza um backup completo de todo o sistema de arquivos em

questão. Um nível superior a 0 caracteriza backup incremental, relativo a cópia de todos os

arquivos novos ou modificados desde o último dump de nível inferior.

- u : Atualiza o arquivo /etc/dumpdates após a finalização. Arquivo que contém a data o

sistema de arquivos e o nível de dump realizado no sistema.

Exemplos

No exemplo abaixo, foi feito um backup do diretório / com o comando dump,

gravando em um dispositivo de fita: [root@localhost]# dump -0uf /backups/becape.bck /home

No exemplo abaixo, é apresentado a sintaxe pra backups em máquina remota. Neste

caso, certifique-se que o serviço sshd está ativo nas duas máquinas e se a máquina

remota permite conexão como root.Em seguida,emita o comando abaixo, fazendo a

modificações necessárias: [root@localhost]# dump 0fb - 64 [filesystem] | ssh [máquina remota]

'(cd [diretório destino];dd of=[arquivo destino] obs=64b)'

Exemplo: [root@localhost /root]# dump 0fb - 64 /home | ssh máquina_remota '(cd

/backups ; dd of=becape.bck obs=64b)'

No exemplo acima, foi feito um backup do diretório /home utilizando a máquina

remota para gravar no diretório /backups o arquivo dump becape.bck.

Para verificar os arquivos presentes dentro de um arquivo dump: [root@localhost]# restore -tvf nome_do_arquivo_dump

Outra opcão, é gravar o backup já compactado utilizando o gzip: [root@localhost]# dump -0uf - /root | gzip > /backups/root.bck.gz

E para restaurar: [root@localhost]# restore -rvf /backups/root.bck

ou, caso se use a compactação: [root@localhost]# gzip -dc /backups/root.bck | restore -rvf -

Mais informacões sobre dump: [root@localhost]# man dump

Obs.:

Page 51: Servidores de Redes.pdf

O programa restore, pertencente ao pacote dump e usado para restaurar backups,

possui um buffer overflow. Sendo um programa SUID root, esta falha pode ser

explorada por um usuário local para obter privilégios de administrador (root). Além

disso ainda restava um problema onde a máquina poderia deixar de responder por

alguns segundos ao executar o restore com certos parâmetros.

Pacotes: i386/dump-0.4b18-1cl.i386.rpm e i386/rmt-0.4b18-1cl.i386.rpm

Todos os usuários deste programa devem fazer a atualização deste pacote na página

de atualizações:

http://www.conectiva.com.br/atualizações

2.3. Como posso fazer um backup usando o

taper? BACKUP USANDO TAPER

Recomendado para backup de sistema de arquivos pequenos e sem muita variação. O taper

se apresenta de forma simples e amigável para o usuário final.

Instale o pacote: [root@localhost]# rpm -ivh taper-*

Para utilizar o taper, chama-se como superusário no prompt de comandos: [root@localhost]# taper -T <dispositivo> <opções>

Para a escolha do dispositivo usa-se: taper -T SCSI (taper -T s)

taper -T ftape (taper -T f)

taper -T zftape (taper -T z)

taper -T removable (taper -T r)

taper -T file (taper -T l)

taper -T ide (taper -T i)

E as opções uso do taper são: -f file (--rewinding-device) usar arquivos com a opção de rebobinar

-n file (--non-rewinding-device) usar arquivos com a opção de não-rebobinar

-b file (--both-devices) usa arquivos com as dua opções

- c num (--compress-type) Tipo de compressão (0 nenhum, 1 e gzip, 2

int comp, 3 int gzip, 4 fast comp)

-F file (--exclude-files) arquivos que não serão incluídos no backup

-g name (--volume-title) titulo do volume

-l file (--log-file) nome do arquivo de log

-m num (--log-level) nivel do log (0=none..4=all)

-t name (--archive-title) titulo do backup

-? (--help) ajuda

Após chamar o taper, este apresenta um menu básico, nas opções principais, pode-se utilizar

para fazer o backup, restaurar, testar integridade, editar preferências.

Após se definir qual método para backup, usamos a opção de backup, ao iniciar, o taper pede

um nome para o backup, e um para o volume, em seguida mostra uma arvore de diretórios,

no qual fazemos a escolha dos arquivos pressionando a tecla I, e ao finalizar a escolha,

usamos atecla f para inciar a cópia de backup.

Para restaurar o backup, utiliza-se o o menu Restore, e escolhe-se qual o conjunto de backup

deseja-se restaurar, e o diretório onde quer que seja restaurado, a seguir, selecioa-se os

arquivos para restauracão com a tecla I, e usa-se a tecla F inicar o restore.

Page 52: Servidores de Redes.pdf

Dentro do taper, pode-se pressionar a barra de espaço, para verificar quais os comandos

válidos. - i ou I - Seleciona arquivos

- f ou F - Inicia o processo

- u ou U - retira arquivo da lista

- q - Aborta

2.4. Como fazer backup usando amanda? O software amanda é utilizado para backup, de toda a rede, inclusive de partições windows,

rodando em estações windows (para isso necessita-se do SAMBA rodando na máquina

servidora de backup).

O amanda trabalha em uma máquina que tenha a unidade de fita, chamado de Host server

tape, e nas máquinas clientes precisa-se do amanda-client.

O primeiro passo é instalar o amanda, para isso monte o cd número 1 do Conectiva 5.1

Server, ou o cd 2 do Conectiva 5.0,4.2,4.0 e instale os pacotes: [root@localhost]# mount /mnt/cdrom

[root@localhost]# rpm -ivh amanda-2*.i386.rpm

[root@localhost]# rpm -ivh amanda-server-*.i386.rpm

Após a instalação, precisam ser feitas algumas configurações:

Resumo do que deve ser feito:

Crie o usuário amanda, e verifique as permissões.

Crie o arquivo amanda.conf

Crie o arquivo disklist

Cheque as configuraçãoes com amcheck

Crie o nome das fitas com o amlabel

Agende no crontab a execução de backup

2.4.1. Configurando o Amanda Primeiro, verifique se o Usuário amanda foi criado no sistema, e dê a ele direitos de utilizar

os diretórios de configuração e de acesso ao devices de disco e fita.

No arquivo /etc/inetd.conf devem ser acrescentadas as seguintes linhas: #amanda configuração no host server

amandaidx stream tcp nowait Amanda /usr/lib/amanda/amindexd amindexd

amidxtape stream tcp nowait Amanda /usr/lib/amanda/amidxtaped amidxtaped

Reinicie o inetd. [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Após isso, crie um diretório amanda dentro de /etc , e dentro deste diretório, montar as

configurações de bakcup. Por exemplo: se quisermos criar uma configuração de backup da

rede MASTER, devemos criar um diretório master dentro do /etc/amanda. Nesse diretório

master, deverá conter dois arquivo:

amanda.conf Arquivo de configuração do amanda

Page 53: Servidores de Redes.pdf

disklist Arquivo contendo as máquinas que deverão fazer parte do bakcup.

Para criar o diretório use: [root@localhost]# mkdir /etc/amanda

Entre no diretório: [root@localhost]# cd /etc/amanda

E crie o diretório para a sua configuração:

[root@localhost]# mkdir master

Dentro deste diretório crie dois arquivos:

[root@localhost]# touch amanda.conf

[root@localhost]# touch disklist

Agora edite o arquivo amanda.conf:

[root@localhost]# cd master

[root@localhost]# mcedit amanda.conf

e acrescente o conteúdo do arquivo descrito abaixo, e altere-o conforme sua necessidade:

2.4.2. Um exemplo do arquivo amanda.conf org "sistema" # Nome que aparece no subject quando manda o email

# de resumo das operações (report)

mailto "usuário" # Para quem irá o email de Report

dumpuser "root" # O usuário que pode utilizar o sistema

dumpcycle 4 # Ciclos completos do amanda, regra:

# 0 = Full backup

# 5 = incremental dos arquivo alterados no

# último dia

# O valor O sempre fará o backup completo,

# subindo esse valor, o amanda fará primeiro

# um backup full, depois incrementais, no exemplo,

# serão 1 full e três incrementais dos últimos arquivos

# alterados nos próximos dias.

# Após a terceira incremental, o próximo será full

# novamente, gerando ciclos.

tapecycle 1 tapes # Número de tapes por ciclo utilizado, no backup

runtapes 1 # número de fitas usados dentro de um ciclo de amdump

tapedev "/dev/st0" # Device da Fita

changerfile "/etc/amanda/lista/changer"

labelstr "LALA[0-9][0-9]" # label que será usado na fita

# A opção Holding disk, é usada para uma cópia temporária do

# backup ante de ser passado para a fita, usamos principalmente

# quando a cópia é demorada na fita, e não ficamos usando banda.

# Bom utilizar, pois qualquer erro na fita, ficará um backup

# no disco, que poderá ser passado posteriormente para a fita.

# fita com o uso do amflush.

holdingdisk hd1 {

comment "Meu hlod disk"

directory "/dumps/amanda" # Qual diretório irá ficar

Page 54: Servidores de Redes.pdf

use 290 Mb # Tamanho em MB/GB

}

logdir "/var/log/amanda/" # Diretório de logs do amanda

tapelist "/etc/amanda/lista" # Lista dos tapes usados

# tapetypes

# Define o tipo do tape que será usado, seu tamanho e velocidade.

tapetype QIC-60 # Configurações da Unidade de fita

define tapetype QIC-60 {

comment "Archive Viper"

length 56 mbytes # Único valor a ser alterado

# correspondendo a capacidade da

# da fita.

filemark 100 kbytes # valor ideal

speed 366 kbytes # velocidade

}

# dumptypes = isto é usado para definições de prioridades,

# tipo de compactação, que será usado no arquivo disklist

#

#

# comment - Comentário

# compress - Define o tipo de compressão (compactação) usada :

# "none" - nenhuma compressão

# "client best" - Será feita a compressão na máquina cliente,

# usando um algorítimo de alta compressão, porém

# demorado.

# "client fast" - usando uma compressão menor - mais rápido

# "server best" - Usando compressão no servidor, na hora de

# passar para a fita.

# "server fast" - Usando compressão menor

# Recomendado: [compress client fast]

# exclude - especifica os diretórios que serão excluídos na hora do

# backup.

# Os valores são:

# list "filename" - arquivo com a lista dos diretórios excluídos

# sendo um por linha.

# holdingdisk - Refere-se se este dumptye utiliizará holdingdisk

# opção é holdingdisk yes

# priority - prioridade de execução, os parâmetros são "low", "medium"

# ou "high". Mas isto só é realmente usado quando o amanda

# encontra problemas com o tape (fita)

# program - especifica qual programa de backup será usado: OS valores

# são"DUMP" e "GNUTAR". Default: [program "DUMP"].

# strategy - seta a estratégia de backup.

# "standard" -

# "nofull" - sempre será level 1 dumps every time. Isto é bom

# para sistema de arquivos pequenos.

# Default: [strategy standard]

#

define dumptype global {

comment "Global definitions"

# Cria-se a definicáo global, que podem ser usadas para implementar

# outras estratégias de backup.

}

Page 55: Servidores de Redes.pdf

# a seguir, são vários tipos de definições de dumptype

define dumptype root-tar {

global - usar as configurações de nome global

program "GNUTAR"

comment "backup usando tar"

compress none

index

exclude list "etc/amanda/<dir_conf>/exclude.gtar"

priority low

}

define dumptype comp-root {

global

comment "backup com compactação dump "

compress client fast

priority low

}

# Interfaces de rede

#

# Estas são definições que serão usadas pelo arquivo

# disklist, e o principal é a definição da banda de transmissão dos

# dados.

define interface local {

comment "a local disk"

use 1000 kbps

}

define interface le0 {

comment "10 Mbps ethernet"

use 400 kbps

}

2.4.3. Criando o arquivo disklist Depois de realizados os procedimentos da Seção 2.4.1 e da Seção 2.4.2 crie o

arquivo disklist: [root@localhost]# mcedit disklist

E adicione no arquivo o conteúdo descrito abaixo: #

# O formato do arquivo é:

#

# nome_da_máquina partição dumptype nome definido no dumptye

# no arquivo amanda.conf

# Backup Máquina lala

lala hdb5 comp-root

# Exemplo de backup de uma máquina que tenha um sistema ms-dos

# montado em /msdos

# joespc /msdos root-tar

2.4.4. Configurando os clientes Nas máquinas linux cliente mounte o CD1 de seu Conectiva Linux: [root@localhost]# mount /mnt/cdrom

Page 56: Servidores de Redes.pdf

e instale os pacotes:

[root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/amanda-2*.i386.rpm

[root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/amanda-client-*.i386.rpm

Coloque a seguinte linha no /etc/inetd.conf edite o arquivo: [root@localhost]# mcedit /etc/inetd.conf

e acrescente: # conf para execução do amanda

amanda dgram udp tcp wait amanda /usr/lib/amanda/amanda amandad

Salve o arquivo e reinicie o serviço inetd:

[root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Crie o usuário amanda e crie o arquivo .amandahosts no home dele:

Para criar o usuário use: [root@localhost]# adduser amanda

E dentro do diretório /home/amanda crie o arquivo: [root@localhost]# mcedit .amandahosts

maquina.dominio usuario

\______________/\_______/

| |

| |-------> Nome do usuário amanda do servidor, onde está

| a fita

|

|--------------------> nome do servidor amanda onde está a fita

2.4.5. Testando a Configuração Teste sua configuração com o comando amcheck, no servidor onde está a fita: # amchek <nome_do_diretório_de_configuração>

2.4.6. Agendando no crontab a execução de backup. Para agendar o amanda, coloque o uma linha no crontab do servidor de backup:

Por exemplo, para fazer um backup diário as 23:00 hs, e é recomendável rodar um amcheck

antes, para garantir que está tudo bem, por isso seu arquivo crontab deve ser algo parecido: 0 20 * * * amanda amcheck <nome_da_configuração>

0 23 * * * amanda amdump <nome_da_configuração>

Após a execução de backups o amanda envia um mail confirmando e relatando o backup.

Após isto crie as fitas com o comando: [root@localhost]# amlabel <nome_da_fita>

Não esqueça que o nome tem que corresponder com o especificado no

arquivo amanda.conf na opção labelstr

Sempre que houver algum erro de execução do amdump, é necessário rodar o arquivo

amclean, caso contrário o amdump não será executado novamente. [root@localhost]# amclean <nome_da_configuração>

Page 57: Servidores de Redes.pdf

2.4.7. Restaurando Backups [root@localhost]# amrestore <dispositivo_de_fita>

<nome_do_diretório_de_configuração>

Existem muitas outras opções de configurações, que pode ser consultada pelas páginas de

manual do amanda: [root@localhost]# man amanda

2.5. Como usar o tar com volumes múltiplos? Supondo o nome do arquivo grande.tgz e disquetes de 1,44 Mb [root@localhost]# tar cvM -f /dev/fd0H1440 grande.tgz

||| | | |

||| | | |

||| | | + arquivo grande

||| | +----------- dispositivo destino

||| +-------------------- salvar no arquivo/dispositivo

||+----------------------- volumes múltiplos

|+------------------------ detalhado

+------------------------- criar

Para descompactar:

2.6. Como configurar o amanda para backup

pelo módulo do linuxconf do Conectiva 6.0? ### CL 6.0 ###

Primeiramente, verifique se o sr. tem o módulo de configuração para o amanda instalado na

máquina, com o comando : [root@localhost]# rpm -qa |grep amanda

O resultado será: amanda-client-2.4.1p1-7cl

amanda-2.4.1p1-7cl

amanda-server-2.4.1p1-7cl

linuxconf-amandaconf-1.21r8-7cl

Caso não esteja, instale os pacotes montando o cd da conectiva e execute: [root@localhost]# rpm -ivh <nome_do_pacote>

Após isso, como root, crie o diretório onde as configurações serão adicionadas, que será

em /etc/amanda, para isso proceda: [root@localhost]# mkdir /etc/amanda

APós as instalação, inicie o linuxconf: [root@localhost]# linuxconf

Agora entre na opção: -----------> Serviços diversos

--------------Configurador Amanda

Aparecera uma tela pedindo para adcionar um grupo de configuração para fazer seus

backups; peça adicionar e digite um nome para sua configuração, por exemplo: teste

Após isso, aparecerá uma lista com o nome que foi digitado, selecione-o e pressione enter.

Na tela aparecerá um menu dos menus para configurar o amanda, a seguir uma explicação de

cada menu e dos principais pontos para a configuração.

Page 58: Servidores de Redes.pdf

No menu que aparece, entre na primeria opção chamada Geral. Aparecerá uma janela de

configuração como descrita abaixo: ============================ Outro ====================

Descrição de config: (nome descritivo identificando sua

configuração)

Enviar relatórios a: ( email para receber os avisos do

amanda)

Ciclo de despejo : (coloque aqui o ciclo de tapecycles, a

string será dia, dias, semana, semanas)

Execuções por ciclo: (Quantia de ciclos, por exemplo se for

escolhido semana, coloque o valor 5)

Ciclo da fita : (Número de fitas que serão usados no

ciclo, nessa caso seriam 5)

Usuário do despejo : (O nome de login que o Amanda usa para executar os

backups. As máquinas backup dos clientes devem permitir

acesso a partir do servidor de fitas como este usuário

via .rhosts ou .amandahosts.)

Executar fitas : (numero de fitas usado a ca backup, ou seja,

se você não tem um trocador de fitas deixe o valor em 1)

Tempo limite estimado: (tempo espera em cada disco lido, espresso em

segundos, caso ultrapasse o tempo, o backup passa para

a próxima máquina)

Uso da rede: (Valor de banda utilizada, em kb/s)

Máx. de backups paralelos: (número de backups executados em paralelo)

Máx. de backups paralelos por máquina: (quantos backups parelelos na máquina

podem ser executados)

Incremento: (Icrementos de utilização, caso seja verificado que o

dump atual não utiliza toda a banda

Mult. de incremento (flut.):

Dias para incremento:

Espaço de HD reservado (%): (caso ocorra algum problema em backups

incrementais , ele poderão ser gravados em disco

temporariamente até serem transferidos para a fita)

--------------------- dispositivo de fita --------------------------

Rótulos de fita (reg exp): (nome das fitas criadas pelo comando amlabel,

por ex; DIA[0-9][0-9])

Tipo de fita : (Aqui é colocado a informação de tipo de fita

que será defenido em outro menu)

Dispositivo de fita : device da fita

Disp. fita sem formato : (Utilizado por fitas acionados por FDC, tipo qic)

Nome do alternador de fitas: (Para ser utilizado caso haja um alternador de

fitas)

Disp. alternador de fitas: (Para ser utilizado caso haja um alternador de

fitas)

Arq. status alternador de fitas: (Para ser utilizado caso haja um alternador

de fitas)

------------------------Caminhos arquivos

Arq. lista de discos: (Nome do arquivo que tera a lista de máquinas para

backup)

Arquivo info.: (diretório onde estarão os arquivos de informações,

pode ser /etc/amanda/<nome_Configuração>

Diretórios dos relatórios: (diretório onde estarão os arquivos de relatórios

pode ser /etc/amanda/<nome_Configuração>

Diretório dos arquivos de índice: (diretório onde estarão os arquivos de

índices pode ser /etc/amanda/<nome_Configuração>

Page 59: Servidores de Redes.pdf

Lista de arqvs. de fitas ativas: (diretório onde estarão os arquivos de

fitas usadas,pode ser /etc/amanda/<nome_Configuração>

Confirme, e agora monte seu arquivo lista, ou seja quais máquinas e quais serviços deverão

ser usados: ----------> Lista de discos

clique em adicionar, e coloque as informações: Nome da máquina : (Nome da máquina na rede)

Dispositivo de disco: (Partição que será usada no backup = /dev/....)

Tipo de despejo : (Tipo de dump que será feito, descrito em

outro menu)

Pronto, confirme e saia. Agora configure as o disco de retenção (holdingdisk) no caso de

falha da fita: -----------> Discos de retenção

Clique em adicionar e coloque um nome para a configuração: # A opção Holding disk, é usada para uma cópia temporária do

# backup antes de ser passado para a fita, usamos principalmente

# quando a cópia é demorada na fita, e não ficamos usando banda.

# Bom utilizar, pois qualquer erro na fita, ficará um backup

# no disco, que poderá ser passado posteriormente para a fita.

# fita com o uso do amflush.

Comentário : (ALgum comentário necessário)

Diretório : (Diretório a ser usado)

Espaço a usar: (Tamanho em MB)

Confirme, agora configure o Tipos de despejo, que serão utilizados pelo arquivo disklist, no

meu lista de discos: ------->Tipos de despejo

Defina um nome para cada tipo, e peça adicionar:

Na janela existem várias configurações que poderão ser utilizadas, vejamos as principais: Tipo de aut. :

Comentário : (comentário para identificação)

Tipo de compressão : Define o tipo de compressão (compactação) usada :

"none" - nenhuma compressão

"client best" - Será feita a compressão na máquina

cliente,

usando um algorítimo de alta compressão, porém

demorado.

"client fast" - usando uma compressão menor - mais

rápido

"server best" - Usando compressão no servidor, na hora

de

passar para a fita.

"server fast" - Usando compressão menor

Ciclo de dump: (O opção zero define que a cada backup seja full,

copiando todos os dados da partução)

Usar disco de retenção : (Define aqui qual disco de retensão a ser

usado, do menu Discos de Retenção.)

Esses são os valores mais necessários, deixe o resto como padrão. ---------> Tipos de fitas

Page 60: Servidores de Redes.pdf

Defina um nome para a configuração do tipo de sua fite e peça adicionar. Será criado uma

entrada com o nome da fita, selecione-a e pressione enter: Comentário : <comentário identificador>

Marca de arquivo: <tamanho de cada marca, valor default 100 kbytes >

Comprimento : <Capacidade da fita, em bytes ou mbytes.>

Velocidade : <velocidade da fita, caso não saiba coloque 366 kbytes>

---------> Interfaces

Estas são definições que serão usadas pelo arquivo disklist, e o principal é a definição da

banda de transmissão dos dados.

Peça pela opção adicionar e digite um nome que identifique a opção: Comentário :<comentário que identifique>

Velocidade :<valor em byte, mbytes>

Pronto confirme até sair do linuxconf, agora configure as máquinas cliente:

CONFIGURAÇÃO DOS CLIENTES

Nas máquinas linux cliente.instale os seguintes pacotes:

Monte o cd : [root@localhost]# mount /mnt/cdrom

Instale os pacotes: [root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/amanda-2*.i386.rpm

[root@localhost]# rpm -ivh

/mnt/cdrom/conectiva/RPMS/amanda-client-*.i386.rpm

Coloque a seguinte linha no /etc/inetd.conf edite o arquivo com: [root@localhost]# mcedit /etc/inetd.conf

e acrescente: # conf para execução do amanda

amanda dgram udp tcp wait amanda /usr/lib/amanda/amanda amandad

Salve o arquivo e reinicie o serviço inetd.

Reinicie o inetd. [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Crie o usuário amanda e crie o arquivo .amandahosts no home dele:

Para criar o usuário use: [root@localhost]# adduser amanda

E dentro do diretório /home/amanda crie o arquivo: [root@localhost]# mcedit .amandahosts

maquina.dominio usuario

\______________/\_______/

| |

| |-------> Nome do usuário amanda do servidor, onde está

| |

| |-------> Nome do usuário amanda do servidor, onde está

| a fita

|

|--------------------> nome do servidor amanda onde está a fita

TESTANDO A CONFIGURAÇÃO

Agora teste sua configuração com o comando amcheck, no servidor onde está a fita:

Page 61: Servidores de Redes.pdf

# amchek <nome_do_diretório_de_configuração>

Para agendar o amanda, coloque o uma linha no crontab do servidor de backup: Por

exemplo, para fazer um backup diário as 23:00 hs, e é recomendável rodar um amcheck

antes, para garantir que está tudo bem, por isso seu arquivo crontab deve ser algo parecido: 0 20 * * * amanda amcheck <nome_da_configuração>

0 23 * * * amanda amdump <nome_da_configuração>

Após a execução de backups o amanda envia um mail confirmando e relatando o backup.

Após isto crie as fitas com o comando: [root@localhost]# amlabel <nome_da_fita>

Não esqueça que o nome tem que corresponder com o especificado no arquivo amanda.conf

na opção labelstr

Sempre que houver algum erro de execução do amdump, é necessário rodar o arquivo

amclean, caso contrário o amdump não será executado novamente. [root@localhost]# amclean <nome_da_configuração>

RESTAURANDO BACKUPS [root@localhost]# amrestore <dispositivo_de_fita>

<nome_do_diretório_de_configuração>

Existem muitas outras opçõe de configuraçÕes, que pode ser consultada pelas páginas de

manual do amanda: [root@localhost]# man amanda

Capítulo 3. BANCO DE DADOS

3.1. Não consigo inicializar o servidor MySQL,

como proceder? ### servidor / guarani e anteriores ###

Você deve primeiro criar um banco de dados inicial para o mysql, conforme a

documentação. Algo como: [root@localhost]# /usr/sbin/mysqld -Sg --log=/var/log/mysql.log > /dev/null

2>&1 &

[root@localhost]# sleep 3

[root@localhost]# mysqladmin create mysql

[root@localhost]# mysql mysql < /var/lib/mysql/mysql-db.init

[root@localhost]# mysqladmin create test

[root@localhost]# mysqladmin shutdown

isso irá criar um banco de dados básico.

Capítulo 4. BOOT REMOTO

4.1. Como configurar o linux para uma solução

de boot remoto? Basicamente as soluções para Boot Remoto em Linux utilizam os seguintes

softwares: Etherboot, Tftp, NFS, NIS, Bootp ou Dhcpd.

Page 62: Servidores de Redes.pdf

O diferencial da solução aqui apresentada é a ferramenta para configuração do servidor, da

criação de disquetes das estações e do gerenciamento dos pacotes para o servidor via

Linuxconf.

Existe também a possibilidade, que não é o objetivo desse documento, da gravação de

uma EPROM de boot remoto, dispensando assim a utilização de um disquete para a

inicialização da máquina, bem como aumentando a confiabilidade da solução.

PRÉ REQUISITOS

Para a instalação dessa solução os seguintes pré-requisitos mínimos devem ser atendidos:

Deve ter a disposição disquetes em número suficiente para atender a todas as estações

criadas (Um para cada estação). Todavia os disquetes podem ser criados após a

instalação do servidor, a qualquer tempo.

Nenhum outro servidor DHCP pode estar rodando na mesma subrede do Servidor de

Boot Remoto. Caso isso aconteça, haverá conflito entre os servidores DHCP.

As estações clientes do Servidor de Boot Remoto devem estar no mesmo segmento de

rede do servidor.

Antes de mais nada deve ser verificado se o servidor onde a solução de boot remoto

será instalada atende aos requisitos, atuais, para a sua instalação. São elas:

o O servidor deverá possuir apenas uma interface ethernet instalada e

configurada.

o As estações clientes da solução de boot remoto e seu servidor devem

compartilhar a mesma subrede.

o O Servidor de Boot Remoto, quando instalado, irá configurar e ativar o serviço

dhcpd esse servidor deverá ser o único servidor DHCP de sua subrede. Caso

exista algum outro servidor DHCP no segmento de rede, este deverá ser isolado

antes dos procedimentos de instalação serem iniciados.

o Se sua rede não possuir um servidor DNS, sua máquina deverá sê-lo

ESPAÇO EM DISCO:

Todos os arquivos para o Servidor de Boot Remoto serão efetuados no diretório /tftpboot.

Não é necessário, mas recomendado que o diretório /tftpboot esteja em uma partição

própria.

A instalação padrão do cliente 5.0, incluindo aqui o StarOffice, ocupa aproximadamente

750MB, não incluindo o espaço destinado a instalação dos clientes. A criação de cada cliente

consome aproximadamente 22MB.

Lembre-se também de reservar espaço para a instalação de novos pacotes. Ex:

Espaço requeridos pelo servidor: 750MB

20 estações ocupando 10MB cada: 200MB

Espaço extra, sugerido, para instalação de novos pacotes: 400MB

Espaço Total: 1350MB

Page 63: Servidores de Redes.pdf

4.1.1. Como configurar um boot remoto no servidor CL8

INSTALAÇÃO

Para a versão CL8 há a necessidade de se instalar dois pacotes que estão no ftp da conectiva

ou em seus mirrors: kernel-rbc(versão do pacote) e o pacote linuxconf-cnc_rbc(versão

do pacote) Para instalar o pacote, utilize o apt-get através do ftp da conectiva ou dos mirrors: [root@localhost]# apt-get update

[root@localhost]# apt-get install kernel-rbc linuxconf-cnc_rbc

A diferença do boot remoto da versão CL8, para as demais versões esta ligada ao fato de não

precisar de uma versão anterior para copiar os pacotes que serão utilizados pelas estações e

no kernel adaptado para trabalhar com este serviço.

Acesse o diretório /boot e crie o initrd para o kernel instalado: [root@localhost]# cd /boot

em seguida utilize o comando:

[root@localhost]# mkinitrd initrd-2.4.18-5clrbc.img 2.4.18-5clrbc

Insira a nova entrada no arquivo menu.lst

[root@localhost]#mcedit /boot/grub/menu.lst

timeout = 15

default = 0

color = 2

foreground = FFFFFF

background = 0C55C3

viewport 3 2 77 22

shade 0

splashimage = (hd0,0)/grub/splash.xpm.gz

title = Conectiva Linux 8 [boot remoto] <- insira

kernel = (hd0,0)/vmlinuz-2.4.18-5clrbc root=/dev/hda3 3 <- insira

initrd = (hd0,0)/initrd-2.4.18-5clrbc.img <- insira

title = Conectiva Linux 8

kernel = (hd0,0)/vmlinuz-2.4.18-2cl root=/dev/hda3 5

initrd = (hd0,0)/initrd-2.4.18-2cl.img

title = Conectiva Linux 8 [Modo texto]

kernel = (hd0,0)/vmlinuz-2.4.18-2cl root=/dev/hda3 3

initrd = (hd0,0)/initrd-2.4.18-2cl.img

title = Memory Testing Utility

kernel = (hd0,0)/memtest86

Pressione F2 para salvar e F10 para sair.

OBS: Para este exemplo foi utilizado o kernel 2.4.18-5clrbc altere esta opção para a versão

mais recente.

Page 64: Servidores de Redes.pdf

Quando o sistema for carregado novamente a entrada do boot remoto será mostrada e

escolhida por padrão

Acesse o sistema como root e em seguida:

Insira o cd número 1 (um) e utilize o comando: [root@localhost]# mount /mnt/cdrom

CONFIGURAÇÃO BÁSICA DO SERVIDOR

OBS:Os servidores DNS e NIS ja devem estar configurados para facilitar a configuração do

boot remoto. [root@localhost]# linuxconf

Uma vez que o linuxconf esteja rodando, selecione as seguintes opções:

Rede-> Serviços de Inicialização-> Remote Boot

Um menu com as seguinte opções será apresentado:

Instalação do servidor de Boot Remoto

Gerenciamento de pacotes do Servidor de Boot Remoto

Gerenciamento das Estações de Trabalho

Criação de Disquetes de Boot para Estações

Criação de Disquete com a Imagem para gravação na EPROM

Clique em: Instalação do Servidor de Boot Remoto

Preencha os campos de acordo com as observações ao lado, tendo como base uma rede com

as seguintes características: IP do servidor : 192.168.0.1

Máscara da rede: 255.255.255.0

Número da rede : 192.168.0.0

Broadcast : 192.168.0.255

Quantidade de clientes boot remoto: 10

Nome do domínio NIS. # Aqui deve ser especificado o nome do

# domínio que será criado para a autenticação

# das estações.

# Ex: empresaxyz

Nome do Domínio DNS. # Especificar o nome do domínio DNS para as

# estações de trabalho, geralmente vem preenchido

# automáticamente.

Senha do Root # Digitar senha do superusuário para as estações

Confirmação da senha # Confirme a senha do root para as estações

Primeiro IP da Faixa. # Primeiro IP da faixa de máquinas clientes

# de boot remoto que serão criadas.

# Ex: 192.168.0.2

Último IP da Faixa. # Último IP da faixa de máquinas clientes de

# boot remoto que serão criadas.

# OBS. O número de clientes criados será

# igual ao número de IPs disponíveis.

# Obedecendo as faixas Primeiro IP e

Page 65: Servidores de Redes.pdf

# Último IP.

# Ex: 192.168.0.11

Netmask. # Máscara de endereçamento IP da subrede

# conectada a placa Ethernet do servidor.

# Provavelmente seja preenchida

# automaticamente pelo script através de

# informações coletadas em arquivos de

# configuração como o /etc/sysconfig/network.

# Caso esse campo não seja preenchido

# corretamente edite-o colocando a informação

# correta.

# Ex: 255.255.255.0

Network. # Indica a networkreferente a subrede

# conectada a Ethernet do servidor. Assim

# como o Netmask deve ser preenchida de

# automaticamente. Corrija os dados caso

# seja necessário.

# Ex: 192.168.0.0

Broadcast. # Indica o Broadcast da subrede assim como

# Netmask e Network deve ser preenchido

# automaticamente. Corrija os dados caso seja

# necessário.

# Ex: 192.168.0.255

Gateway das estações # IP do gateway

# Ex: 192.168.0.1

DNS. # Corresponde ao IP do servidor de DNS

# utilizado pelas estações.

# Se não existir um servidor DNS na rede

# coloque o ip desta máquina.

# Ex: 192.168.0.1

Prefixo da Estação. # Define o prefixo utilizado pela estação de

# trabalho. O prefixo sugerido é dhcp-.

# Ex: dhcp-1, dhcp-2 ... dhcp-20:

# Ex: maq-2,maq-3 ... maq-10:

Servidor de NFS # Ip do servidor NFS

# Ex: 192.168.0.1

Lista de RPMs # Arquivo com a lista de pacotes padrão para

# a instalação no Servidor de Boot Remoto.

# Corresponde ao diretório onde se encontram

# os pacotes RPM que serão utilizados pelas

# máquinas clientes Boot Remoto.

# Ex: /usr/lib/linuxconf/shellmodules/rbc/rpmlist

Pacotes RPM (PATH) # Diretório onde se encontra os RPMS para

# instalação.

# normalmente /mnt/cdrom/conectiva/RPMS

Kernel # Indica a versão do kernel em que foi configurado

# o servidor de boot remoto.

** Selecione as opções conforme abaixo

[X] Inicializa o servidor DHCP durante o boot

[X] Inicializa o servidor NFS durante o boot

Page 66: Servidores de Redes.pdf

[X] Inicializa o servidor INETD durante o boot

[X] Inicializa o PORTMAP durante o boot.

[X] Inicializa o servidor NIS (YPSERV) durante o boot.

[X] Inicializa o YPPASSWD durante o boot.

[X] Remove instalação anterior dos pacotes RPM

[ ] Restringe o acesso ao tftpe portmap as estações

Clique em Aceitar e a instalação do servidor Boot Remoto será iniciada. Clique

nos OK's que aparecerão em sua tela, estes indicam a progressão da instalacão.

Terminada a instalação é recomendado que sua máquina seja reiniciada. Se isto não for

possível, Reinicie os seguintes serviços

OBS: Para a versão CL8 o inet deverá ser utilizado apesar do programa padrão ser o xinet

portmap

inet

tftp

unfs

dhcpd

ypserv

yppasswd

De preferência nesta ordem.

Para reiniciar um serviço, proceda da seguinte maneira: [root@localhost]# cds

[root@localhost]# ./(nome_do_serviço) stop

[root@localhost]# ./(nome_do_serviço) start

Troque (nome_do_serviço) pelos serviços da lista acima.

Pronto, seu servidor de Boot Remoto está configurado.

Observações: Antes de instalar os clientes de boot remoto, verifique se o seu hardware é

compatível:

A placa de rede das estações deverão possuir uma dos seguintes Chipsets ou ser dos

seguintes modelos: 3Com3c503, 3Com3c507, 3Com3c5x9, 3Com905x, 3Com900B,

CS89x0, Intel

EtherExpressPro100, EXOS205, AMD Lance/PCI, LinkSys,

LNE100TX, NE2000, Windond NE2000-PCI, Realtek 8029, NE2000/PCI,

NI5210, NI6510, Realtek 8139, SMC EZ10/100,SMC9000 TIARA, Digital Tulip+,

Digital Tulip Fast, WD80x.

4.1.2. Como configurar um boot remoto no servidor CL7.0 INSTALAÇÃO

Para instalar o pacote, primeiramente monte o CD1 do Conectiva Linux 7.0. Insira o cd no

drive e digite: [root@localhost]# mount /mnt/cdrom

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Page 67: Servidores de Redes.pdf

[root@localhost]# rpm -ihv linuxconf-cnc_rbc-0.7-11cl

[root@localhost]# rpm -ivh dhcp-*

A diferença do boot remoto da versão CL70, para as demais versões esta ligada ao fato de

não mais precisar de uma versão anterior para copiar os pacotes que serão utilizados pelas

estações.

Para iniciar o processo de configuração insira o cd número 1 (um) e em seguida utilize o

comando: [root@localhost]# mount /mnt/cdrom

CONFIGURAÇÃO BÁSICA DO SERVIDOR [root@localhost]# linuxconf

Uma vez que o linuxconf esteja rodando, selecione as seguintes opções:

Rede-> Serviços de Inicialização-> Remote Boot

Um menu com as seguinte opções será apresentado:

Instalação do servidor de Boot Remoto

Gerenciamento de pacotes do Servidor de Boot Remoto

Gerenciamento das Estações de Trabalho

Criação de Disquetes de Boot para Estações

Criação de Disquete com a Imagem para gravação na EPROM

Clique em: Instalação do Servidor de Boot Remoto

Preencha os campos de acordo com as observações ao lado, tendo como base uma rede com

as seguintes características: IP do servidor : 192.168.0.1

Máscara da rede: 255.255.255.0

Número da rede : 192.168.0.0

Broadcast : 192.168.0.255

Quantidade de clientes boot remoto: 10

Nome do domínio NIS. # Aqui deve ser especificado o nome do

# domínio que será criado para a autenticação

# das estações.

# Ex: empresaxyz

Nome do Domínio DNS. # Especificar o nome do domínio DNS para as

# estações de trabalho, geralmente vem preenchido

# automáticamente.

Senha do Root # Digitar senha do superusuário para as estações

Confirmação da senha # Confirme a senha do root para as estações

Primeiro IP da Faixa. # Primeiro IP da faixa de máquinas clientes

# de boot remoto que serão criadas.

# Ex: 192.168.0.2

Último IP da Faixa. # Último IP da faixa de máquinas clientes de

# boot remoto que serão criadas.

# OBS. O número de clientes criados será

# igual ao número de IPs disponíveis.

Page 68: Servidores de Redes.pdf

# Obedecendo as faixas Primeiro IP e

# Último IP.

# Ex: 192.168.0.11

Netmask. # Máscara de endereçamento IP da subrede

# conectada a placa Ethernet do servidor.

# Provavelmente seja preenchida

# automaticamente pelo script através de

# informações coletadas em arquivos de

# configuração como o /etc/sysconfig/network.

# Caso esse campo não seja preenchido

# corretamente edite-o colocando a informação

# correta.

# Ex: 255.255.255.0

Network. # Indica a networkreferente a subrede

# conectada a Ethernet do servidor. Assim

# como o Netmask deve ser preenchida de

# automaticamente. Corrija os dados caso

# seja necessário.

# Ex: 192.168.0.0

Broadcast. # Indica o Broadcast da subrede assim como

# Netmask e Network deve ser preenchido

# automaticamente. Corrija os dados caso seja

# necessário.

# Ex: 192.168.0.255

Gateway das estações # IP do gateway

# Ex: 192.168.0.1

DNS. # Corresponde ao IP do servidor de DNS

# utilizado pelas estações.

# Se não existir um servidor DNS na rede

# coloque o ip desta máquina.

# Ex: 192.168.0.1

Prefixo da Estação. # Define o prefixo utilizado pela estação de

# trabalho. O prefixo sugerido é dhcp-.

# Ex: dhcp-1, dhcp-2 ... dhcp-20:

# Ex: maq-2,maq-3 ... maq-10:

Servidor de NFS # Ip do servidor NFS

# Ex: 192.168.0.1

Lista de RPMs # Arquivo com a lista de pacotes padrão para

# a instalação no Servidor de Boot Remoto.

# Corresponde ao diretório onde se encontram

# os pacotes RPM que serão utilizados pelas

# máquinas clientes Boot Remoto.

# Ex: /usr/lib/linuxconf/shellmodules/rbc/rpmlist

Pacotes RPM (PATH) # Diretório onde se encontra os RPMS para

# instalação.

# normalmente /mnt/cdrom/conectiva/RPMS

** Selecione as opções conforme abaixo

[X] Inicializa o servidor DHCP durante o boot

[X] Inicializa o servidor NFS durante o boot

[X] Inicializa o servidor INETD durante o boot

[X] Inicializa o PORTMAP durante o boot.

Page 69: Servidores de Redes.pdf

[X] Inicializa o servidor NIS (YPSERV) durante o boot.

[X] Inicializa o YPPASSWD durante o boot.

[X] Remove instalação anterior dos pacotes RPM

[ ] Restringe o acesso ao tftpe portmap as estações

Clique em Aceitar e a instalação do servidor Boot Remoto será iniciada. Clique

nos OK's que aparecerão em sua tela, estes indicam a progressão da instalacão.

Terminada a instalação é recomendado que sua máquina seja reiniciada. Se isto não for

possível, Reinicie os seguintes serviços

portmap

inet

tftp

unfs

dhcpd

ypserv

yppasswd

De preferência nesta ordem.

Para reiniciar um serviço, proceda da seguinte maneira: [root@localhost]# cds

[root@localhost]# ./(nome_do_serviço) stop

[root@localhost]# ./(nome_do_serviço) start

Troque (nome_do_serviço) pelos serviços da lista acima.

Pronto, seu servidor de Boot Remoto está configurado.

Observações: Antes de instalar os clientes de boot remoto, verifique se o seu hardware é

compatível:

A placa de rede das estações deverão possuir uma dos seguintes Chipsets ou ser dos

seguintes modelos: 3Com3c503, 3Com3c507, 3Com3c5x9, 3Com905x, 3Com900B, CS89x0, Intel

EtherExpressPro100, EXOS205, AMD Lance/PCI, LinkSys,

LNE100TX, NE2000, Windond NE2000-PCI, Realtek 8029, NE2000/PCI,

NI5210, NI6510, Realtek 8139, SMC EZ10/100,SMC9000 TIARA, Digital Tulip+,

Digital Tulip Fast, WD80x.

4.1.3. Como configurar um boot remoto no servidor CL6.0 INSTALAÇÃO

Para instalar o pacote, primeiramente monte o CD1 do Conectiva Linux 6.0. Insira o cd no

drive e digite: [root@localhost]# mount /mnt/cdrom

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

[root@localhost]# rpm -ihv linuxconf-cnc_rbc-0.6-5cl.noarch.rpm

[root@localhost]# rpm -ivh dhcp-*

Page 70: Servidores de Redes.pdf

Os pacotes instalados para as estações boot remoto, devem ser necessáriamente das versões

5.0 ou 5.1. Caso não possua essas distribuições você poderá fazer o download do seguinte

endereço:

ftp://ftp.conectiva.com.br/pub/conectiva/iso

Agora para continuar com a configuração do boot remoto, monte alguns dos cds informados

acima. Insira o cd 1 (5.0 ou 5.1) no drive e execute: [root@localhost]# mount /mnt/cdrom

CONFIGURAÇÃO BÁSICA DO SERVIDOR [root@localhost]# linuxconf

Uma vez que o linuxconf esteja rodando, selecione as seguintes opções:

Ambiente de Rede-> Serviços de Inicialização-> Remote Boot

Um menu com as seguinte opções será apresentado:

Instalação do servidor de Boot Remoto

Gerenciamento de pacotes do Servidor de Boot Remoto

Gerenciamento das Estações de Trabalho

Criação de Disquetes de Boot para Estações

Clique em: Instalação do Servidor de Boot Remoto

Preencha os campos de acordo com as observações ao lado, tendo como base uma rede com

as seguintes características: IP do servidor : 192.168.0.1

Máscara da rede: 255.255.255.0

Número da rede : 192.168.0.0

Broadcast : 192.168.0.255

Quantidade de clientes boot remoto: 10

Nome do domínio NIS. # Aqui deve ser especificado o nome do

# domínio que será criado para a autenticação

# das estações.

# Ex: empresaxyz

Nome do Domínio DNS. # Especificar o nome do domínio DNS para as

# estações de trabalho, geralmente vem preenchido

# automáticamente.

Senha do Root # Digitar senha do superusuário

Confirmação da senha #

Primeiro IP da Faixa. # Primeiro IP da faixa de máquinas clientes

# de boot remoto que serão criadas.

# Ex: 192.168.0.2

Último IP da Faixa. # Último IP da faixa de máquinas clientes de

# boot remoto que serão criadas.

# OBS. O número de clientes criados será

# igual ao número de IPs disponíveis.

# Obedecendo as faixas Primeiro IP e

# Último IP.

# Ex: 192.168.0.11

Page 71: Servidores de Redes.pdf

Netmask. # Máscara de endereçamento IP da subrede

# conectada a placa Ethernet do servidor.

# Provavelmente seja preenchida

# automaticamente pelo script através de

# informações coletadas em arquivos de

# configuração como o /etc/sysconfig/network.

# Caso esse campo não seja preenchido

# corretamente edite-o colocando a informação

# correta.

# Ex: 255.255.255.0

Network. # Indica a networkreferente a subrede

# conectada a Ethernet do servidor. Assim

# como o Netmask deve ser preenchida de

# automaticamente. Corrija os dados caso

# seja necessário.

# Ex: 192.168.0.0

Broadcast. # Indica o Broadcast da subrede assim como

# Netmask e Network deve ser preenchido

# automaticamente. Corrija os dados caso seja

# necessário.

# Ex: 192.168.0.255

Gateway das estações # IP do gateway

# Ex: 192.168.0.1

DNS. # Corresponde ao IP do servidor de DNS

# utilizado pelas estações.

# Se não existir um servidor DNS na rede

# coloque o ip desta máquina.

# Ex: 192.168.0.1

Prefixo da Estação. # Define o prefixo utilizado pela estação de

# trabalho. O prefixo sugerido é dhcp-.

# Ex: dhcp-1, dhcp-2 ... dhcp-20

Servidor de NFS # Ip do servidor NFS

# Ex: 192.168.0.1

Lista de RPMs # Arquivo com a lista de pacotes padrão para

# a instalação no Servidor de Boot Remoto.

# Corresponde ao diretório onde se encontram

# os pacotes RPM que serão utilizados pelas

# máquinas clientes Boot Remoto.

# Ex: /usr/lib/linuxconf/shellmodules/rbc/rpmlist

Pacotes RPM (PATH) # Diretório onde se encontra os RPMS para

# instalação.

** Selecione as opções conforme abaixo

[X] Inicializa o servidor DHCP durante o boot

[X] Inicializa o servidor NFS durante o boot

[X] Inicializa o servidor INETD durante o boot

[X] Inicializa o PORTMAP durante o boot.

[X] Inicializa o servidor NIS (YPSERV) durante o boot.

[X] Inicializa o YPPASSWD durante o boot.

[X] Remove instalação anterior dos pacotes RPM

[ ] Restringe o acesso ao tftpe portmap as estações

Page 72: Servidores de Redes.pdf

Clique em Aceitar e a instalação do servidor Boot Remoto será iniciada. Clique

nos OK's que aparecerão em sua tela, estes indicam a progressão da instalacão.

Terminada a instalação é recomendado que sua máquina seja reinicada. Se isto não for

possível, Reinicie os seguintes serviços

portmap

inet

tftp

unfs

dhcpd

ypserv

yppasswd

De preferência nesta ordem.

Para reiniciar um serviço, proceda da seguinte maneira: [root@localhost]# cds

[root@localhost]# ./(nome_do_serviço) stop

[root@localhost]# ./(nome_do_serviço) start

Troque (nome_do_serviço) pelos serviços da lista acima.

Pronto, seu servidor de Boot Remoto está configurado.

Observações: Antes de instalar os clientes de boot remoto, verifique se o seu hardware é

compatível:

A placa de rede das estações deverão possuir uma dos seguintes Chipsets ou ser dos

seguintes modelos: 3Com3c503, 3Com3c507, 3Com3c5x9, 3Com905x, 3Com900B, CS89x0, Intel

EtherExpressPro100, SMC EtherPowerII, EXOS205, AMD Lance/PCI, LinkSys,

LNE100TX, NE2000, Windond NE2000-PCI, Realtek 8029, NE2000/PCI,

NI5210, NI6510, Realtek 8139, SMC EZ10/100,SMC9000 TIARA, Digital Tulip+,

Digital Tulip Fast, WD80X.

4.1.4. Como configurar um boot remoto no servidor CL5.1 INSTALAÇÃO

Para instalar o servidor de Boot Remoto, é necessário que o pacote cnc.rbc-XX.noarch.rpm e

esteja instalado em seu servidor.

Para instalar o pacote, primeiramente monte o CD1 do Conectiva Linux 5.1.Insira o cd no

drive e digite: [root@localhost]# mount /mnt/cdrom

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

[root@localhost]# rpm -ihv cnc-rbc*

É necessário que o pacote do ypserv seja atualizado. Baixe a última versão do endereço de

ftp da conectiva: ftp://atualizacoes.conectiva.com.br/5.1/i386/ypserv-1.3.11-2cl.i386.rpm

Atualize este pacote: [root@localhost]# rpm -Uvh ypserv-1.3.11-2cl.i386.rpm

Page 73: Servidores de Redes.pdf

Agora altere manualmente a lista de pacotes a serem instalados: [root@localhost root]# mcedit /usr/lib/linuxconf/shellmodules/rbc/rpmlist

No final do arquivo, troque a linha kernel-2.2.14-14cl por kernel-2.2.14-14cl.i386.rpm

Uma vez o pacote instalado e o servidor NIS atualizado e o arquivo modificado, você pode

utilizar o Linuxconf para instalar o Servidor de Boot Remoto: [root@localhost]# linuxconf

Uma vez que o linuxconf esteja rodando, selecione as seguintes opções:

Ambiente de Rede-> Serviços de Inicialização-> Remote Boot

Um menu com as seguinte opções será apresentado:

Instalação do servidor de Boot Remoto

Gerenciamento de pacotes do Servidor de Boot Remoto

Gerenciamento das Estações de Trabalho

Criação de Disquetes de Boot para Estações

Clique em: Instalação do Servidor de Boot Remoto

Preencha os campos de acordo com as observações ao lado

Nome do

domínio NIS.

Aqui deve ser especificado o nome do domínio que será criado para a autenticação das estações.

Ex: empresaxyz

Primeiro IP

da Faixa. Primeiro IP da faixa de máquinas clientes de boot remoto que serão criadas.

Último IP da

Faixa.

Último IP da faixa de máquinas clientes de boot remoto que serão criadas. OBS. O número de

clientes criados será igual ao número de IPs disponíveis. Obedecendo as faixas Primeiro IP e Último

IP.

Netmask

Máscara de endereçamento IP da subrede conectada a placa Ethernet do servidor. Provavelmente

seja preenchida automaticamente pelo script através de informações coletadas em arquivos de

configuração como o /etc/sysconfig/network. Caso esse campo não seja preenchido corretamente

edite-o colocando a informação correta.

Network Indica a network referente a subrede conectada a Ethernet do servidor. Assim como o Netmask

deve ser preenchida de automaticamente. Corrija os dados caso seja necessário.

Broadcast Indica o Broadcast da subrede assim como Netmask e Network deve ser preenchido

automaticamente. Corrija os dados caso seja necessário.

DNS Corresponde ao IP do servidor de DNS utilizado pelas estações. Se não existir um servidor DNS na

rede coloque o ip desta máquina.

Prefixo da

Estação

Define o prefixo utilizado pela estação de trabalho. O prefixo sugerido é dhcp-. Ex: dhcp-1, dhcp-2

... dhcp-20

Lista de

RPMs

Arquivo com a lista de pacotes padrão para a instalação no Servidor de Boot Remoto. Corresponde

ao diretório onde se encontram os pacotes RPM que serão utilizados pelas máquinas clientes Boot

Remoto. Ex. /mnt/cdrom/conectiva/RPMS. Não esqueça de montar o cdrom antes.

Page 74: Servidores de Redes.pdf

Deixe marcadas todas as opções abaixo

[X] Inicializa o servidor DHCP durante o boot

[X] Inicializa o servidor NFS durante o boot

[X] Inicializa o servidor INETD durante o boot

[X] Inicializa o PORTMAP durante o boot.

[X] Inicializa o servidor NIS (YPSERV) durante o boot.

[X] Inicializa o YPPASSWD durante o boot.

[X] Remove instalação anterior dos pacotes RPM

Clique em _Aceitar_ e a instalação do servidor Boot Remoto será iniciada. Clique

nos OK's que aparecerão em sua tela, estes indicam a progressão da instalacão.

Instale o pacote kernel-2.2.14-14cl.i386.rpm através das opções: Ambiente de rede-

>Remote boot->Gerenciamento de pacotes RPM para as estações Insira o caminho

abaixo para que o pacote seja encontrado: OBS: O cdrom deverá estar montado: /mnt/cdrom/conectiva/RPMS

Em seguida será pedido o prefixo do arquivo que se deseja instalar, coloque apenas

a palavra kernel e pressione enter. Será mostrada uma lista de pacotes dentre estes

escolha a opção: Kernel-2.2.14-14cl.i386.rpm pressione enter e o pacote será

instalado.

Ainda no servidor deverá ser verificado o arquivo hosts [root@localhost root]# mcedit /etc/hosts

Na linha abaixo da especificação do loopback 127.0.0.1 localhost

localhost.localdomain insira a entrada do seu servidor como no exemplo abaixo: 192.168.0.1 maquina.domínio maquina

Onde maquina é o nome do servidor e dominio é o domínio criado. Verifique também

se os domínios foram colocados corretamente nas máquinas clientes neste mesmo

arquivo.

Nas máquinas clientes deverá ser configurado o portmap e o ypbind para serem

carregados na inicialização. Utilize o aplicativo ntsysv em modo texto para

acrescentar os serviços acima na inicialização. [root@localhost root]# ntsysv

Terminada a instalação e a configuração é recomendado que sua máquina seja

reiniciada. Se isto não for possível, Reinicie os seguintes serviços:

- portmap

- inet

- tftp

- unfs

Page 75: Servidores de Redes.pdf

- dhcpd

- ypserv

- yppasswd

De preferência nesta ordem.

Para reiniciar um serviço, proceda da seguinte maneira: [root@localhost]# cds

[root@localhost]# ./(nome_do_serviço) stop

[root@localhost]# ./(nome_do_serviço) start

Troque(nome_do_serviço) pelos serviços da lista acima.

Pronto, seu servidor de Boot Remoto está configurado.

4.2. Não consigo criar disco de boot remoto para

placa de rede 3Com905x(3Com900b) Primeiramente entre como root no diretório onde encontram-se as imagens: [root@localhost]# cd /usr/lib/etherboot/uncompressed

Para criacão do disquete, coloque o mesmo no drive e digite: [root@localhost]# cat /usr/lib/etherboot/floppyload.bin 3c905b-combo.rom >

/dev/fd0

Note que existem várias placas de rede com a descrição 3c905, talvez seja necessário utilizar

algum dos outros drivers 3c905* para ele conseguir o desejado para o seu modelo de placa. [root@localhost]# ls /usr/lib/etherboot/uncompressed/3c905*

/usr/lib/etherboot/uncompressed/3c905b-combo.rom

/usr/lib/etherboot/uncompressed/3c905b-fl.rom

/usr/lib/etherboot/uncompressed/3c905b-fx.rom

/usr/lib/etherboot/uncompressed/3c905b-t4.rom

/usr/lib/etherboot/uncompressed/3c905b-tpb2.rom

/usr/lib/etherboot/uncompressed/3c905b-tpo100.rom

/usr/lib/etherboot/uncompressed/3c905b-tpo.rom

/usr/lib/etherboot/uncompressed/3c905-combo.rom

/usr/lib/etherboot/uncompressed/3c905c-tpo.rom

/usr/lib/etherboot/uncompressed/3c905-t4.rom

/usr/lib/etherboot/uncompressed/3c905-tpo100.rom

/usr/lib/etherboot/uncompressed/3c905-tpo.rom

Realize o mesmo procedimento acima até encontrar a imagem específica para o seu modelo

de placa.

4.3. Estou com problemas na configuração do

boot remoto, o que fazer? 1. Primeiramente certifique-se que todos os serviços abaixo estão ativos no servidor:

Page 76: Servidores de Redes.pdf

[root@localhost]# cds

[root@localhost]# ./portmap status

[root@localhost]# ./inet status

[root@localhost]# ./tftp status

[root@localhost]# ./unfs status

[root@localhost]# ./dhcpd status

[root@localhost]# ./ypserv status

[root@localhost]# ./yppasswd status

Caso alguns dos serviços acima esteja parado, para ativá-lo: [root@localhost]# cds

[root@localhost]# ./nome_serviço start

Troque <nome_do_serviço> pelos serviços da lista acima.

2. Tento ativar o UNFS e aparece uma mensagem [FALHOU]?

O servidor boot remoto utiliza o UNFS e não o NFS, certifique-se que o NFS esteja parado,

caso contrário irá ocorrer erro: [root@localhost]# cds

[root@localhost]# ./nfs stop

Agora ative o unfs: [root@localhost]# ./unfs start

3. Para saber ser ele esta exportando os diretório para as estações, edite o

arquivo /etc/exports: [root@localhost]# mcedit /etc/exports

O conteúdo deverá ser parecido com abaixo, levando em conta a quantidade de estações

instaladas e a rede utilizada: /home 192.168.0.0/255.255.255.0(rw)

/tftpboot/common/usr 192.168.0.0/255.255.255.0(ro)

/tftpboot/common/opt 192.168.0.0/255.255.255.0(ro)

/tftpboot/192.168.0.2 192.168.0.2(rw,no_root_squash)

/tftpboot/192.168.0.3 192.168.0.3(rw,no_root_squash)

/tftpboot/192.168.0.4 192.168.0.4(rw,no_root_squash)

/tftpboot/192.168.0.5 192.168.0.5(rw,no_root_squash)

Na inicialização de minhas estações aparece um erro referente ao kernel. O que faço?

Provavelmente o kernel não foi instalado em suas estações, e será necessário instalá-lo

manualmente:

Primeiramente insira o CD1 do Conectiva Linux em seu drive e monte-o: [root@localhost root]# mount /mnt/cdrom

Para isso, no servidor, entre no Linuxconf [root@localhost root]# linuxconf

Ambiente de Rede+Remote Boot+Gerenciamento de Pacotes do Servidor de Boot Remoto -

> Instalação de pacotes RPM para as estações

Nesta tela especifique o caminho onde estão os pacotes. Por exemplo: /mnt/cdrom/conectiva/RPMS

Na próxima tela digite

kernel-2

e pressione a tecla OK. Aparecerá na tela a relação dos kernel's que podem ser instalados,

selecione o com final .i386.rpm e pressione (ENTER)

Page 77: Servidores de Redes.pdf

Saia do Linuxconf e reinicie uma máquina boot-remoto e verifique que todos os processos

de inicialização passam normalmente.

4.4. Minhas máquinas clientes possuem placas de

rede davicom. Como criar um disco de boot para

elas? Primeiramente deve-se baixar o arquivo "davicom.tar.gz" do

site http://www.conectiva.com.br/suporte-cl/programas

Copie-e para um diretório temporário, por exemplo "/tmp"

Agora descompate-o: [root@localhost tmp]# tar xzvf davicom.tar.gz

Agora, coloque um disquete em branco em seu drive e crie a imagem com o seguinte

comando:

Se sua placa for uma davicom 9009 [root@localhost root]# cat floppyload.bin.pre davicom9009.lzrom > /dev/fd0

Se sua placa for uma davicom 9102 [root@localhost root]# cat floppyload.bin.pre davicom9102.lzrom > /dev/fd0

Pronto, agora é só colocar o disquete no drive da máquina cliente e ligá-la.

4.5. Como configurar as estações de trabalho de

boot remoto? CONFIGURANDO AS ESTAÇÕES DE TRABALHO

Nas estações de trabalho devem ser configurados os serviços a serem inicializados como o

tipo de teclado, mouse, placa de som, placa de vídeo e monitor. A configuração desses

hardwares é feita utilizando o comando: [root@localhost]# /usr/sbin/setup

No prompt da estação.

4.6. Problemas na impressão com boot remoto Foram detectados alguns problemas com relação ao NFS, mandando imprimir em uma

estação boot remoto. Esse problema causa erros e ou corte de parte do relatório que é

enviado para o spool. Até que esse problema seja resolvido informamos que somente será

possível imprimir em uma estação se a mesma possuir hd.

Você poderá acompanhar nossas atualizações

em http://www.conectiva.com.br/suporte/atualizacoes

Agradecemos sua compreensão.

Capítulo 5. DHCP

6.1. Como faço para configurar meu DNS

(bind)? O DNS (domain name system) converte endereços IP's em números IP's e vice-versa, por

exemplo: o endereço IP www.conectiva.com.br tem o seu equivalente ao número

Page 78: Servidores de Redes.pdf

200.250.58.156. Isto evita ter que decorar uma sequência grande de números IP's. A

operação inversa (transformar números IP's em um endereço IP) é chamado de DNS reverso.

Parece não haver muito sentido em executar tal operação mas existem aplicativos que se

utilizam deste serviço como o irc (internet relay chat).

6.1.1. Configuração básica da máquina. Vamos primeiro configurar os ítens básicos do servidor, como nome, domínio. Para isto será

utilizado o aplicativo linuxconf. [root@localhost]# linuxconf

Nota: Neste exemplo configuraremos o domínio chamado intranet e o nome do servidor

DNS se chamará server e é uma rede classe C (máscara 255.255.255.0). Aqui estão somente

as configurações obrigatórias, entretanto para este procedimento funcionar a placa de rede

deve estar funcionando corretamente, caso contrário configure-o antes de continuar.

Ambiente de rede->Informação básica da máquina

Nome da máquina: server.intranet

Primeiro nome + domínio: server.intranet

Apelidos (opc): server

Máscara: 255.255.255.0

Aceitar->Sair->Sair->Ativar Mudanças

Agora reinicie o seu computador.

6.1.2. Configuração do DNS. Entre novamente no linuxconf e siga os passos:

Configurar um domínio

Ambiente de rede->DNS - servidor de nomes de domínio->Configurar: domínios -

>Adicionar

domínio: intranet

servidor principal: server.intranet.

email do administrador: pode colocar qualquer email

Divulgando o DNS: server.intranet.

Divulgando o EMAIL: server.intranet.

Nota: o ponto também faz parte da configuração (server.intranet.)

Cadastrar as workstations que fazem parte do domínio.

Ambiente de rede->DNS - servidor de nomes de domínio->Informações de máquinas

por domínio->Selecione o domínio desejado e aperte ENTER

Agora repita os seguintes passos para cadastrar as workstations, note que o servidor já

está cadastrado

Adicionar->maquina1.intranet (nome de uma máquina qualquer)->Aceitar

Endereços IPs: 192.168.255.xxx

Sair->Sair

Deverá ser configurada quais as interfaces que o servidor deverá escutar. Para

configurá-las acesse a opção

Segurança->Controle de acesso

Page 79: Servidores de Redes.pdf

Será apresentado o número referente ao loopback (127.0.0.1/32). Neste mesmo campo

deverá ser cadastrada a sua rede Ex(10.0.0.0/21, 192.168.0.0/24) para que as

máquinas clientes consigam utilizar o comando ping com o nome do servidor ou

utilizar nomes nos campos smtp e pop3 dos programas clientes de e-mail.

6.1.3. Configurar DNS reverso Ambiente de rede->DNS - servidor de nomes de domínio->Mapas de IPs reversos

Obs 1: como pode ser observado já existe um endereço reverso configurado que se refere ao

endereço local (loopback).

Agora vamos acrescentar o endereço reverso do nosso dominío.

Adicionar->Número de rede: 192.168.255->Aceitar->Sair

6.1.4. Configurar máquinas virtuais Neste exemplo estamos criando um atalho da máquina www.intranet para a

maquina1.intranet, ou seja, a máquina1.intranet responde por todas as requisições feitas à

www.intranet.

Ambiente de rede->DNS - servidor de nomes de domínio->Informações de máquinas por

domínio

Selecione o domínio desejado e aperte ENTER

Adicionar

www.intranet (nome da máquina)

OBS: Note que o domínio já aparece sendo necessário apenas colocar o nome da máquina

Aceitar

é um apelido para: máquina1.intranet

Aceitar->Sair->Sair

6.1.5. Configurar o arquivo /etc/resolv.conf (importantíssimo) Este é o arquivo que geralmente gera muitos erros, por isso tome muita atenção pois no

arquivo /etc/resolv.conf deve-se colocar qual é o seu servidor de DNS (que no seu caso é a

sua própria máquina), porém nunca coloque o seu endereço IP mas sim o endereço de loop

back. search intranet

nameserver 127.0.0.1

Ambiente de rede->DNS - especificação do servidor de nomes

[X] em operações normais, DNS é necessário

Domínio padrão: intranet

Servidor de nomes 1: 127.0.0.1

Procurar domínio 1 (opc.): intranet

Aceitar->Sair->Sair->Ativar Mudanças

6.1.6. Iniciando o serviço DNS Agora para "levantar" o servidor (server.intranet) basta digitar o seguinte comando: [root@localhost]# cds

[root@localhost]# ./named start

para parar o serviço: [root@localhost]# ./named stop

Page 80: Servidores de Redes.pdf

para reiniciar o serviço: [root@localhost]# ./named restart

6.1.7. Testando o servidor DNS (nslookup) ### CL-60 e Anteriores ###

Execute o seguinte comando: [root@localhost]# nslookup

Se o servidor estiver funcionando corretamente deverá aparecer uma mensagem mais ou

menos como essa: Default Server: localhost

Address: 127.0.0.1

>

Agora digite o nome de alguma máquina que foi cadastrada, nesse caso a máquina se

chamava teste.intranet: > teste

Server: localhost

Address: 127.0.0.1

Name: teste.intranet

Address: 192.168.255.15

Se quiser obter uma resposta mais completa digite: > set q=any

E agora, por exemplo, consulte as informações sobre o domínio intranet: > intranet

Server: localhost

Address: 127.0.0.1

intranet nameserver = server.intranet

intranet preference = 5, mail exchanger = server.intranet

intranet

origin = server.intranet

mail addr = hostmaster.server.intranet

serial = 2000041201

refresh = 3600 (1H)

retry = 900 (15M)

expire = 1209600 (2W)

minimum ttl = 43200 (12H)

intranet nameserver = server.intranet

server.intranet internet address = 192.168.255.10

6.1.8. Testando o servidor DNS (Host) ### CL-70 e posteriores ###

É usado para procurar varias informações sobre os Hosts da Internet e Intranet, em seus DNS

(domain names server). Estas informações são ou nomes dos hosts ou seus números (IPs), e

os servidores de nomes e servidores de e-mail dos mesmos.

Exemplo: [root@localhost]# host www.conectiva.com.br

www.conectiva.com.br is a nickname for dino.conectiva.com.br

Page 81: Servidores de Redes.pdf

dino.conectiva.com.br has address 200.250.58.152

No exemplo acima o host é o apelido da máquina responsável (dino.conectiva.com.br), e seu

no. de endereço (200.250.58.152).

* Opções do Host

Para maiores informações a respeito dos servidores e hosts, usa-se algumas opções para

saber informações específicas, tais como:

-l => para uma listagem completa dos hosts no domínio especificado;

-t mx => para uma listagem servidores de e-mail;

-d => para detalhes sobre o host e seus servidores de nome;

Exemplo: [root@localhost] host -t mx conectiva.com.br

conectiva.com.br mail is handled (pri=75) by

papaleguas.conectiva.com.br

conectiva.com.br mail is handled (pri=100) by

polarbear.conectiva.com

conectiva.com.br mail is handled (pri=50) by

perninha.conectiva.com.br

No exemplo acima os servidores de e-mail do conectiva.com.br são apontados assim como

sua devida prioridade (polarbear, papaleguas e perninha) (pri = 100, 75, 50,

respectivamente).

Testando o servidor DNS com o Host

Execute o seguinte comando com o nome da sua máquina (no caso do exemplo = bravo): [vladimir@bravo faq]$ host -d bravo

Se o servidor estiver funcionando corretamente deverá aparecer uma mensagem: ;; res_nmkquery(QUERY, bravo.conectiva, IN, A)

;; res_send()

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 622

;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; bravo.conectiva, type = A, class = IN

;; Querying server (# 1) address = 10.0.0.5

;; got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 622

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3

;; bravo.conectiva, type = A, class = IN

bravo.conectiva. 1D IN A 10.0.2.73

conectiva. 1D IN NS ns.conectiva.

conectiva. 1D IN NS donald.conectiva.

conectiva. 1D IN NS perninha.conectiva.com.br.

ns.conectiva. 1D IN A 10.0.0.5

donald.conectiva. 1D IN A 10.0.2.0

perninha.conectiva.com.br. 1D IN A 200.250.58.156

rcode = 0 (Success), ancount=1

bravo.conectiva has address 10.0.2.73

Esta mensagem contém o nome do(s) servidor(es) de nomes (no caso = ns, donald e

perninha) e seu(s) no(s). de registro (no caso = 10.0.0.5, 10.0.2.0, 200.250.58.156),

indicando que estão em funcionamento.

Para maiores informações, digite: [root@localhost]# man host

Page 82: Servidores de Redes.pdf

6.2. Como configurar um DNS secundário? Uma função chave do sistema de DNS é a habilidade de manter uma cópia da informação de

seu domínio. A informação é colocada no DNS primário de um domínio e copiada para

DNSs secundários (cópia de segurança).

A informação não é copiada para o primário, mas ao invés disso, é puxada pelos

secundários. As regras são definidas pelo primário.

Resumindo, o administrador do DNS secundário tem que dizer ao seu DNS para agir como

um secundário para um dado domínio, mas o primário é quem o dirá como!

Alguns conceitos:

1. Número serial O secundário conversará regularmente (como dito pelo primário) com

o primário e checará o número serial (número de revisão) do domínio. Se o número

serial for o mesmo da cópia que ele possui, ou menor, nenhuma cópia será feita.

Um erro bem comum é esquecer-se de atualizar o número serial (registro SOA). O

secundário não copiará a informação nova e isso pode gerar comportamentos

estranhos. O Configurador Linux gerencia números seriais automaticamente!

2. Configuração A especificação do secundário é simples. Dê um nome de domínio e o

número IP do DNS primário para o domínio, seguido opcionalmente pelos números

IP alternativos caso o primeiro falhe. É só isso. O Configurador Linux toma conta de

definir um arquivo para que uma cópia de segurança seja guardada.

3. A quem devo contar? Alguém tem que dizer ao outro que o seu DNS é o secundário

de um dado domínio. Se isso não for feito, então seu DNS trabalhará inútilmente: ele

não receberá requisição alguma para aquele domínio. Este trabalho deve ser feito nas

especificações do primário (veja divulgação do DNS). Então isso não é da sua conta

&:) O primário tem que nomear explicitamente os secundários. Além disso, ele tem

que registrar esta informação no DNS de seu domínio pai. Isso é freqüentemente

esquecido.

Configuração na máquina DNS Primário: [root@localhost]# linuxconf

Ambiente de rede/DNS -> servidor de nomes de domínios -> Configurar Domínios -

> Adicionar domínio: intranet

servidor principal: server.intranet.

email do administrador: pode colocar qualquer email

Divulgando o DNS: server.intranet.

server.secundario.

Divulgando o EMAIL: server.intranet.

Allow transfer to: IP_DO_server.secundario

Page 83: Servidores de Redes.pdf

Nota: o ponto também faz parte da configuração (server.intranet.)

Configuração na máquina DNS Secundário:

DNS-servidor de nomes de domínios/Secundários Adicionar -->

Domínio: server.intranet

Endereço Ip do Servidor: IP_DO_server.intranet

Aceitar.

O resto das configurações são normais.

Obs: O diretório /var/named/sec/ é criado com o dono e com o grupo errados.

Com isso ao iniciar o named aparece uma mesagem de erro de "Permissão Negada".

As propriedades do diretório estão: [root@spiderman named]# l /var/named/

total 24

drwxr-xr-x 4 root root 4096 Dec 21 10:41 ./

drwxr-xr-x 29 root root 4096 Nov 16 13:03 ../

drwxr-x--- 2 named named 4096 Nov 2 07:39 dump/

-rw-r--r-- 1 root root 2769 Nov 2 07:39 named.ca

-rw-r--r-- 1 root root 422 Nov 2 07:39 named.local

drwxr-xr-x 2 root root 4096 Dec 21 10:41 sec/

^^^^ ^^^^

E deveriam estar:

drwxr-xr-x 2 named named 4096 Dec 21 10:41 sec/

^^^^^ ^^^^^

Isso porque o serviço named é executado com o usuário named.

Para alterar as propriedades entre no sistema como root e faça o seguinte: [root@localhost]# cd /var/named/

[root@localhost]# chown named.named sec

Capítulo 7. E-Commerce

7.1. Quais os passos para se criar uma loja

virtual no E-Commerce?

Page 84: Servidores de Redes.pdf

O Tallyman possui um instalador baseado na linguagem Perl, escrito para simplificar a

instalação de sistemas de comércio virtual baseado em Tallyman. Para iniciar o script de

instalação execute como super usuário:

1. su -l root

2. cd /usr/local/tallyman/tools

3. ./install.pl

4. Leia as instruções iniciais e pressione ENTER.

5. Escolha a opção S (configure software).

6. Base directory of the software: /usr/local/tallyman

7. Escolha a opção 1 (mod_perl / Apache)

8. Escolha a opção c (create a new store)

9. Escolha a opção d (configure database)

10. Escolha a opção 2 (postgreSQL).

11. Enter the database username: demo

12. Enter the database password: demo

13. Enter DBI connect string [dbi:Pg]: Pressione ENTER

14. Should I try to create the user ? yes

15. Should I try to drop the user ? no

16. Postgres privileged user account: postgres

17. Postgres privileged user password: minhasenha

18. Should I try to create the tables ? yes

19. Escolha a opção r (Configure store directories).

20. Enter the path where created HTML files should be placed:

/home/httpd/html/demo

Lembrando que no passo 17 a senha especificada deve ser a mesma que foi adastrada com o

comando alter user postgres with password minhasenha.

21. Enter the url of the directory you just especiied: http://10.0.2.16/demo

22. Escolha a opção u (Configure store URLs).

23. Enter the url of the admin directory: http://10.0.2.16/demo/admin

24. Enter the secure url of the admin directory: https://10.0.2.16/demo/admin

25. Enter the url of the tallyman directory: http://10.0.2.16/demo/tallyman

26. Enter the secure url of the tallyman directory:

https://10.0.2.16/demo/tallyman

Lembrando que as opções 21,23,24,25,26 deve ser substituído pelo domínio real do site.

Deve ser um domínio válido e já registrado. Para fins de teste, pode ser utilizado um

domínio interno de uma intranet, nesse caso colocamos o endereço IP da máquina 10.0.2.16

(endereço localhost).

27. Escolha a opção m (Configre miscellaneous).

28. Enter you store name: Loja Demonstração

29. Enter a store id: demo

30. Do you want to create sample store datea ? yes

31. Do you want to import UPS zone-based shippng data ? no

32. Enter the origin zipcode of your store: 00000-000

33. Enter the administrator's email address: informar o email do

administrador de sistemas.

34. Enter the bouceback email address: informar o email para mensagens de

erro

35. Enter the shopping basket from email address: informar o email da loja

36. Escolha a opção f (Use this store configuration as a globas default).

37. Escolha a opção a (For this session and future sessions).

38. Pressione ENTER.

39. Escolha a opção i (Install store).

40. Leia a mensagem. Pressione ENTER para avançar para a próxima página.

41. Escolha a opção q (quit) duas vezes para sair do instalador.

Page 85: Servidores de Redes.pdf

42. exit

Caso queira um detalhamento de todas essas opções verifique no manual a seção 128-138.

A instalação da loja demonstração está completa, o próximo passo é configurar os aspectos

de segurança e o arquivo de configuração do Apache (httpd.conf), bem como gerar os

arquivos HTML da loja. Utilizando a conta do root, siga as instruções abaixo:

Editar o arquivo /etc/httpd/conf/httpd.conf [root@localhost]# mcedit

/etc/httpd/conf/httpd.conf

Editar o arquivo para que os aliases para os diretórios das lojas seja definidos assim: #aliases to the back office administration (/admin) and

# shoping basket (/tallyman) files.

Alias /demo/tallyman/ "/usr/local/tallyman/tallyman/"

Alias /demo/admin "/usr/local/tallyman/admin/"

Alias /demo/admin/images/ "/usr/local/tallyman/admin/images/"

O identificador da loja deve estar definido assim: # you will be prompted to select a value

# for this by tools/install.pl

PerlSetEnv TALLYMAN_SID demo

Lembrando que este TALLYMAN_SID que neste exemplo é demo, é o mesmo

definido no passo 29.

Salve o arquivo F2 e saia do programa F10

Reinicie o Apache com o comando: [root@localhost]# cds

[root@localhost]# ./httpd stop

[root@localhost]# ./httpd start

Verifique se o apache está funcionando, apontando o navegador web para

http://127.0.0.1/

Defina também as permissões corretas dos arquivos e diretórios: [root@localhost]# chmod 700 /usr/local/tallyman/stores/demo/tmp

[root@localhost]# chmod 700 /home/httpd/html/demo

[root@localhost]# chown nobody.nobody

/usr/local/tallyman/stores/demo/tmp

[root@localhost]# chown nobody.nobody /home/httpd/html/demo

[root@localhost]# chmod 400

/usr/local/tallyman/stores/demo/configuration

[root@localhost]# chmod 400 /usr/local/tallyman/tools/install.storedat

[root@localhost]# chmod 400 /usr/local/tallyman/tools/install.globaldat

[root@localhost]# chown nobody.nobody

/usr/local/tallyman/stores/demo/configuration

[root@localhost]# chown nobody.nobody

/usr/local/tallyman/tools/install.storedat

[root@localhost]# chown nobody.nobody

/usr/local/tallyman/tools/install.globaldat

exit

Agora a loja já pode ser criada, ou seja, ordenar ao sistema que crie os arquivos HTML do

site baseados na estrutura e conteúdo definidos na página de administração da loja.

Para gerar a loja, inicie o navegador e aponte-o para:

Page 86: Servidores de Redes.pdf

http://10.0.2.16/demo/admin/index.epl (nesse caso estamos apontando para o endereço IP da

máquina que está sendo configurada, ajuste esse exemplo ao seu caso).

Ele irá pedir um usuário, digite então admin, em seguida irá pedir uma senha, digite aquela

senha que o sr. definiu com o comando htpasswd -c tallyman_passwd admin.

Quando acessar a página de administração primeiramente clique em Regenerate para criar

reconstruir todo o site.

A rotina de regeneração deve ser executada sempre qeu mudanças ocorrerem no site, ou

após a criação de um site novo. Novos arquivos HTML serão gerados em substituição aos

antigos (se existirem) e todas as páginas onde o mesmo produto ou conteúdo aparecem serão

atualizadas automaticamente.

Serão apresentadas mensagens para cada objeto qeu estiver sendo regenerado. Caso ocorra

algum erro, será apresentada uma mensagem na cor vermelha. Essas mensagens em

vermelho são importantes para a depuração de possíveis falhas na estrutura do site.

Quando a loja estiver completamente criada, o regenerador apresentará a mensagem Regen

Finished e informará o tempo de regeneração da loja. Esse tempo depende da plataforma de

hardware, velocidade da conexão, estrutura do site e quantidade de produtos.

Finalmente para ver como está a sua loja virtual aponte o seu browser para:

http://10.0.2.16/demo (nesse caso estamos apontando para o endereço IP da máquina que

está sendo configurada, ajuste esse exemplo ao seu caso).

7.2. Como proceder a instalação do ecommerce

em uma máquina limpa? Se não existe ainda nenhum sistema instalado no seu computador então para fazer a

instalação basta colocar o CD do ecommerce e proceder normalmente com a instalação.

Depois de efetuada a instalação deve-se partir para o próximo passo que é a configuração do

banco de dados.

7.3. Como faço para atualizar o meu sistema que

está rodando o Conectiva Linux 5.0 para utilizar

o ecommerce? Recomendamos fortemente que, ao invés de atualizar um sistema existente, seja reservada

uma máquina exclusiva para hospedar o servidor de comércio eletrônico. Entretando, caso

seja estritamente necessário devido a necessidades específicas de cada empresa, podem ser

utilizados sistemas já existentes em funcionamento.

Primeiramente é altamente recomendável fazer um backup de alguns dados importantes

como: /etc/httpd/conf/httpd.conf

base de dados do postgreSQL (se existir uma base de dados configurada).

Para efetuar esses backup's execute:

Page 87: Servidores de Redes.pdf

Para o apache: [root@localhost]# cp /etc/httpd/conf/httpd.conf

/tmp/httpd.conf

Para o postgreSQL deve-se tomar um cuidado especial, caso já exista uma base de dados no

sistema antigo, logue-se (ainda no sistema antigo, antes da atualização) como usuários

postgres, utilizando o comando: [root@localhost]# su -l postgres

e faça um backup de sua base de dados, com o comando: [postgres@localhost]$ pg_dumpall > database.out

Isso irá criar o arquivo database.out, contendo todas as tabelas (e dados contidos nelas) de

seu banco de dados. Agora, pare o serviço postgres com o comando (como super usuário): [postgres@localhost]$ cds

[root@localhost]# ./postgresql stop

e renomeie o diretório base (/var/lib/pgsql/base) para base.old, com o comando: [root@localhost]# cd /var/lib/pgsql

[root@localhost]# mv base base.old

Crie um novo diretório base vazio com o comando: [root@localhost]# mkdir base

e determine as mesmas permissões do diretório original, com o comando: [root@localhost]# chown postgress.postgres base

e determine as mesmas permissões do diretório original, com o comando: [root@localhost]# chmod 700 base

Se achar necessário, faça cópias de segurança dos arquivos pg_hba.conf e pg_passwd. Para

finalizar, apague o arquivo PG_VERSION.

Depois de feito todo o backup necessário agora o próximo passo é fazer a atualização do

sistema.

Primeiro faça o download da

imagem: ftp://ftp.conectiva.com.br/pub/conectiva/atualizacoes/ferramentas/ecommerce/imag

es/mi-1.1.0u1-ecommerce.img

Caso esteja no ambiente Windows, entre no diretório onde fica a imagem, insira um disquete

formatado e o CD da Conectiva número 1, logo após digite: d:\dosutils\rawrite

O nome da imagem será: c:\diretorio_onde_esta_o_arquivo\mi-1.1.0u1-ecommerce.img

e o drive: a:

Caso esteja no Linux, entre primeiro no diretório onde foi feito o download e através de um

terminal digite o comando: [root@localhost /root]# dd if=mi-1.1.0u1-ecommerce.img of=/dev/fd0

Agora entre na instalação do linux normalmente e quando aparecer a mensagem Bem vindo

ao Conectiva Linux" então digite: boot: linux updates

O instalador irá pedir o disquete de atualizações. Insira-o no drive, e continue a atualização

normalmente.

Page 88: Servidores de Redes.pdf

No momento que for feita a pergunta: Would you like to change the list of packages to

upgrade? responda não e prossiga com a atualização.

Depois de feita a atualização é hora de restaurar o backup das suas bases de dados do

postgreSQL (caso tenha sido feito o backup). Primeiro observe se na primeira inicialização

do sistema se o serviço postgres inicializou normalmente (ele deve exibir uma mensagem

similar a Inicializando opstgresql: PG_VERSION not found, running initdb seguido por um

OK. Logue-se no sistema e torne-se o usuário postgres (su -l postgres) e execute o comando

para importar os dados de sua base antiga para a nova base recém criada pelo Postgres. Isso

irá recriar todas as suas tabelas e os dados contidos nelas. Em caso de dúvidas, consulte a

área relevante na documentação do PostgreSQL. [postgres@localhost]$ psql template1 -f database.out

O próximo passo é fazer a configuração do banco de dados.

7.4. Como configurar o Banco de Dados no

Ecommerce? 7.4.1. Configuração do postgreSQL

O banco de dados postgreSQL deve ser configurado para iniciar nos níveis 3,4,5 e parar no

nível 2. Para isso execute como super usuário: [root@localhost]# chkconfig --add postgresql

[root@localhost]# ntsysv

E marque a opção: [*] postgresql

Agora execute os seguintes comandos: [root@localhost]# cds

[root@localhost]# ./postgresql stop

[root@localhost]# ./postgresql start

Nesse ponto é necessário criar um banco de dados mestre. Este será administrado por um

superusuário que terá direitos de criação dos bancos de dados das lojas. Para isso é

necessário entrar como super usuário do sistema e em seguida entrar como usuário postgres: [root@localhost]# su -l postgres

E criar o banco de dados mestre que chamaremos de postgres: [postgres@localhost]$ createdb postgres

[postgres@localhost]$ chmod 600 pg_pwd

[postgres@localhost]$ psql

postgres=> alter user postgres with password minhasenha; (Não esqueça do ";")

ALTER USER

postgres=> \q

onde:

minhasenha = senha que será usada pelo Tallyman para criar e acessar os bancos de dados das lojas. Esta senha

será solicitada na configuração do Tallyman.

Agora edite o arquivo pg_hba.conf, para isso siga as seguintes instruções: [postgres@localhost]$ chmod 666 pg_hba.conf

[postgres@localhost]$ mcedit pg_hba.conf

e nas duas últimas linhas do arquivo altere a palavra trust para crypt.

Page 89: Servidores de Redes.pdf

Salve (F2) e saia do arquivo (F10). Em seguida execute: [root@localhost]# chmod 400 pg_hba.conf

Agora reinicie o serviço do postgreSQL: [postgres@localhost]$ exit

[root@localhost]# cds

[root@localhost]# ./postgresql restart

O nome do usuário postgres é uma sugestão de fácil memorização. Outros nomes que

atendam melhor a necessidades ou gostos individuais podem ser utilizados.

7.4.2. Configuração do Apache Para garantir a segurança das URLs de administração do Tallyman, deve-se proteger os

diretórios para os quais as URLs do Tallyman apontam. O roteiro abaixo define um usuário e

uma senha para todas as URLs administrativas do Tallyman. Essas definições estarão

armazenadas no arquivo tallyman_passwd, no diretório /usr/local/tallyman/secret. É

prudente criar um usuário para cada pessoa que acessará o site, entretanto, por motivos

didáticos trabalharesmo apenas um usuário cadastrado. Utilizando a senha do root, execute: [root@localhost]# cd /usr/local/tallyman

[root@localhost]# mkdir secret

[root@localhost]# cd secret

[root@localhost]# htpasswd -c tallyman_passwd admin

New password: <digitar uma senha>

Re-type new password: <confirme sua senha>

Adding password for user admin

[root@localhost]# cd ..

[root@localhost]# chown nobody.nobody secret

[root@localhost]# chmod 500 secret

No exemplo acima estamos criando um usuário chamado admin, que possuirá direitos para

configuração do Tallyman.

Para que o Apache reconheça o código Perl embutido nos arquivos HTML, edite o

arquivo /etc/httpd/conf/httpd.conf: [root@localhost]# mcedit /etc/httpd/conf/httpd.conf

Descomentar a linha: LoadModule perl_module

modules/libperl.so.

Para isso siga os passos:

Pressione F7 para fazer a busca por palavras, e escreva libperl.so

Em seguida apague o caracter # do início da linha.

Descomentar a linha: AddModule mod_perl.c

Para isso siga os passos:

Pressione F7 para fazer a busca por palavras, e escreva mod_perl.c

Em seguida apague o caracter # do início da linha.

Salve F2 e saia do arquivo F10.

Agora execute o seguinte comando como super usuário: [root@localhost]# cd /usr/local/tallyman/tallyman

[root@localhost]# cat apache_modperl.conf >> /etc/httpd/conf/httpd.conf

Agora reinicie o apache:

Page 90: Servidores de Redes.pdf

[root@localhost]# cds

[root@localhost init.d]# ./httpd stop

Desligando httpd:

[root@localhost init.d]# ./httpd start

Iniciando httpd: [OK]

Caso o indicador de OK não tenha saído na sua tela então alguma configuração no

arquivo httpd.conf não está correta, e todas as modificações introduzidas no mesmo devem

ser verificadas.

Para verificar se o apache está rodando sem problemas, inicie o navegador web e aponte para

http://10.0.2.16 (nesse caso estamos apontando para o endereço IP da máquina que está

sendo configurada, ajuste esse exemplo ao seu caso).

O próximo passo agora é criar uma loja virtual.

7.5. O que faço quando, ao iniciar o Apache,

aparece a mensagem de erro cannot determine

local host name...? O erro aparece quando se inicia o Apache: [root@localhost]# ./httpd start

Iniciando httpd: httpd: cannot determine local host name.

Use the ServerName directive to set it manually.

[FALHOU]

Para consertar esse erro primeiramente execute o linuxconf: [root@localhost]# linuxconf

Ambiente de Rede -->

Informação Básica da máquina -->

Nome da Máquina + domínio: server.intranet

Aceitar

Apache - servidor Web -->

Padrões -->

Nome do servidor: minha-maquina.conectiva

Aceitar

Sair

Sair

Ativar Mudanças

Nesse caso server.intranet é um nome de exemplo, adapte este exemplo ao seu caso.

Em seguida execute os seguintes comandos para que a alterações sejam ativadas: [root@localhost]# hostname server.intranet

Agora execute novamente: [root@localhost]# cds

[root@localhost]# ./httpd stop

[root@localhost]# ./httpd start

7.6. O que fazer se o LILO não está sendo

instalado na MBR?

Page 91: Servidores de Redes.pdf

Essa dificuldade é gerada normalmente em HD's de grande capacidade porque o lilo tenta

gravar a linha lba32 para tirar aquela limitação do /boot ser instalado acima do cilindro

1024. Como a versão no e-commerce(lilo-0.21) não apresenta suporte a esta funcionalidade

a solução seria editar o lilo.conf e retirar a linha lba32.

Para isso execute novamente a instalação do ecommerce e quando aparecer a

mensagem Bem vindo ao Conectiva Linux digite rescue.

Ele entrará no modo bash e em seguida basta editar o arquivo /etc/lilo.conf e retirar a

linha lba32.

Primeiro verifique as partições existentes: [root@localhost]# fdisk -l /dev/hda

Onde:

hda = IDE PRIMARY MASTER

hdb = IDE PRIMARY SLAVE

hdc = IDE SECONDARY MASTER

hdd = IDE SECONDARY SLAVE

Localize qual é a partição /, em seguida execute: [root@localhost]# mount /dev/hda3 /tmp

Nesse exemplo, supõe-se que o / está na partição hda3. [root@localhost]# chroot /tmp

Se no momento da instalação foi criada uma partição /boot em separado então localize-a e

execute: [root@localhost]# mount /dev/hda1 /boot

Nesse exemplo o /boot se encontrava na partição hda1.

Em seguida execute: [root@localhost]# /usr/bin/mcedit /etc/lilo.conf

Depois de alterado o arquivo, salve F2 e saia F10.

Em seguida grave o lilo novamente: [root@localhost]# /sbin/lilo

Agora reinicie o seu computador e verifique se as alterações funcionaram.

7.7. Escrevi ou esqueci a senha no Banco de

dados, como faço para colocar uma nova? Lembre-se que ao executar o comando abaixo toda a sua base de dados e o conteúdo do

usuário postgres será perdida, por isso &eacutar o comando abaixo toda ate;vel que se faça

um BACKUP DOS ARQUIVOS IMPORTANTES antes de prosseguir.

Execute os seguintes comandos como root: [root@localhost]# rm -rf ~postgres

[root@localhost]# mkdir /var/lib/pgsql

[root@localhost]# chown postgres.postgres /var/lib/pgsql

[root@localhost]# cds

[root@localhost]# ./postgres stop

Page 92: Servidores de Redes.pdf

[root@localhost]# ./postgres start

E então agora continue com os procedimentos de criar novo banco de dados e trocar a senha

do usuário postgres.

7.8. Fiz a instalação do ecommerce, porém não

possuo nenhuma placa de rede, o que fazer

agora? Primeiramente edite o arquivo netowrk: [root@localhost]# mcedit /etc/sysconfig/network

Basta alterar as seguintes linhas: NETWORKING=no

FORWARD_IPV4="yes"

HOSTNAME="minha-maquina.localdomain"

por essas outras:

NETWORKING=yes

FORWARD_IPV4="yes"

HOSTNAME="minha-maquina.conectiva"

Nesse exemplo o nome da máquina+domínio será minha-maquina.conectiva, altere esse

exemplo ao seu caso. Salve F2 e saia do arquivo F10.

Em seguida utilize o aplicativo linuxconf: [root@localhost]# linuxconf

Ambiente de Rede -->

Informação básica da máquina -->

Nome da Máquina: servidor.conectiva

Aceitar

Apache - servidor Web -->

Padrões -->

Nome do servidor: servidor.conectiva

Aceitar

Sair

Sair

Sair

Ativar Mudanças

Nesse exemplo servidor.conectiva é o nome da máquina+domínio, ajuste esse exemplo ao

seu caso. [root@localhost]# hostname minha-maquina.dominio

[root@localhost]# cds

[root@localhost]# ./network stop

[root@localhost]# ./network start

Agora o próximo passo é configurar o banco de dados.

7.9. Porque e como utilizar o disco de updates do

instalador? Para os seguintes problemas:

Page 93: Servidores de Redes.pdf

Correção do bug do `xserver=' no syslinux, que impedia a utilização de um servidor X

alternativo na instalação gráfica. Isso deve corrigir o problema das "S3 Savage4" e

outras placas de vídeo que "desligavam" o monitor (xserver=VGA16).

Correção do bug do lba32 no lilo.conf, que impedia que o LILO fosse instalado

corretamente.

Utilize o disco de updates da seguinte maneira:

Primeiro faça o download da imagem da

url:ftp://ftp.conectiva.com.br/pub/conectiva/atualizacoes/ferramentas/ecommerce/images/mi

-1.1.0u1-ecommerce.img

Caso esteja no ambiente Windows, entre no diretório onde fica a imagem, renomeie a

imagem para boot.img com o comando: C:\ ren mi-1.1.0u1-ecommerce.img boot.img

Insira um disquete formatado e o cd da conectiva número 1, logo após digite: d:\dosutils\rawrite

O nome da imagem será: c:\diretorio_onde_esta_o_arquivo\mi-1.1.0u1-ecommerce.img e o

drive: a:

Caso esteja no Linux, entre primeiro no diretório onde foi feito o download e através de um

terminal digite o comando: [root@localhost /root]# dd if=mi-1.1.0u1-ecommerce.img of=/dev/fd0

Agora entre na instalação do linux normalmente e quando aparecer a mensagem eBem vindo

ao Conectiva Linux então digite: boot: linux updates

OBS. Caso seja necessário entrar no modo expert de instalação, digite: boot: linux expert updates

O instalador irá pedir o disquete de atualizações. Insira-o no drive, e continue a atualização

normalmente.

7.10. Erros comuns na configuração do bando de

dados dbi DBI->connect failed: connectDB() -- connect() failed: Conexão recusada

...Unix socket '5432'? at inst_db.pm line 356

Error in database access: connectDB() -- connect() failed: Conexão recusada

ou DBI -> connect failed: Missing or erroneus pg_hba.conf file, see posmaster

log for details at inst_db.pm line 391

ERROR in database access: Missing or erroneus pg_hba.conf file, see

postmaster log for details.

Solução:

Verifique se sua rede está funcionando. [root@localhost]# cds

@localhost]# ./network status

Caso ela não estaja funcionando edite o arquivo network [root@snake sysconfig]# vi /etc/sysconfig/network

Page 94: Servidores de Redes.pdf

e na opção NETWORKING deixe-a da seguinte maneira: NETWORKING=yes

Após isto inicialize a rede: [root@localhost]# cds

[root@localhost]# ./network start

Caso isso não funcione provavelmente o arquivo pg_hba.conf possuiu alguma linha que foi

descomentada acidentalmente ou o arquivo está corrompido.

Para corrigir este problema edite o arquivo novamente. [root@localhost]# su -l postgres

[postgres@localhost]$ chmod 666 pg_hba.conf

[postgres@localhost]$ mcedit pg_hba.conf

Verifique se existe alguma linha sem o símbolo #. Todas elas devem ter este símbolo com

excessão das duas últimas linhas com a palavra crypt.

Ou se preferir faça um backup do arquivo: [postgres@localhost] cp pg_hba.conf pg_hba.conf.backup

[postgres@localhost]$ chmod 666 pg_hba.conf

[postgres@localhost]$ mcedit pg_hba.conf

Edite o arquivo e deixe-o apenas com as linhas: local all crypt

host all 127.0.0.1 255.255.255.255 crypt

Clique em F2 para salvar e F10 para sair.

Altere a permissão: [postgres@localhost]$ chmod 400 pg_hba.conf

Caso continue apresentando os erros acima tente:

AVISO: Lembre-se que ao executar o comando abaixo toda a sua base de dados e o conteúdo

do usuário postgres será perdida, por isso é altamente recomendável que faça um BACKUP

DOS ARQUIVOS IMPORTANTES antes de prosseguir.

Execute os seguintes comandos como root: [root@localhost]# rm -rf ~postgres

[root@localhost]# mkdir /var/lib/pgsql

[root@localhost]# chown postgres.postgres /var/lib/pgsql

[root@localhost]# cds

[root@localhost]# ./postgresql stop

[root@localhost]# ./postgresql start

Agora continue com os procedimentos de criar novo banco de dados.

7.11. Como faço para atualizar o meu sistema

que está rodando o Conectiva Linux 5.0 ou 5.1

para utilizar o ecommerce ? Recomendamos fortemente que, ao invés de atualizar um sistema existente, seja reservada

uma máquina exclusiva para hospedar o servidor de comércio eletrônico. Entretando, caso

seja estritamente necessário devido a necessidades específicas de cada empresa, podem ser

utilizados sistemas já existentes em funcionamento.

Page 95: Servidores de Redes.pdf

Primeiramente é altamente recomendável fazer um backup de alguns dados importantes

como:

- /etc/httpd/conf/httpd.conf - base de dados do postgreSQL (caso possua uma base de

dados configurada).

Para efetuar esses backup's execute:

Para o apache: [root@localhost]# cp /etc/httpd/conf/httpd.conf /tmp/httpd.conf

Para o postgreSQL deve-se tomar um cuidado especial, caso já exista uma base de dados no

sistema antigo, logue-se (ainda no sistema antigo, antes da atualização) como usuários

postgres, utilizando o comando: [root@localhost]# su -l postgres

e faça um backup de sua base de dados, com o comando: [postgres@localhost]$ pg_dumpall > database.out

Isso irá criar o arquivo database.out, contendo todas as tabelas (e dados contidos nelas) de

seu banco de dados. Agora, pare o serviço postgres com o comando (como super usuário): [postgres@localhost]$ cds

[root@localhost]# ./postgresql stop

e renomeie o diretório base (/var/lib/pgsql/base) para base.old, com o comando: [root@localhost]# cd /var/lib/pgsql

[root@localhost]# mv base base.old

Crie um novo diretório base vazio com o comando: [root@localhost]# mkdir base

e determine as mesmas permissões do diretório original, com o comando [root@localhost]# chown postgress.postgres base

e determine as mesmas permissões do diretório original, com o comando: [root@localhost]# chmod 700 base

Page 96: Servidores de Redes.pdf

Se achar necessário, faça cópias de segurança dos arquivos pg_hba.conf e pg_passwd. Para

finalizar, apague o arquivo PG_VERSION.

Depois de feito todo o backup necessário agora o próximo passo é fazer a atualização do

sistema. Abaixo segue a lista dos pacotes a serem atualizados. apache-1.3.12-4cl.i386.rpm

apache-devel-1.3.12-4cl.i386.rpm

apache-doc-1.3.12-4cl.i386.rpm

mod_perl-1.21-7cl.i386.rpm

postgresql-6.5.2-2cl.i386.rpm

postgresql-clients-6.5.2-2cl.i386.rpm

postgresql-clients-X11-6.5.2-2cl.i386.rpm

postgresql-devel-6.5.2-2cl.i386.rpm

postgresql-doc-6.5.2-2cl.i386.rpm

postgresql-jdbc-6.5.2-2cl.i386.rpm

postgresql-lib-6.5.2-2cl.i386.rpm

postgresql-odbc-6.5.2-2cl.i386.rpm

postgresql-perl-6.5.2-2cl.i386.rpm

postgresql-python-6.5.2-2cl.i386.rpm

postgresql-tcl-6.5.2-2cl.i386.rpm

postgresql-test-6.5.2-2cl.i386.rpm

DBI-1.13-1cl.i386.rpm

perl-DBD-Pg-0.93-2cl.i386.rpm

HTML-Embperl-1.2.0-2cl.i386.rpm

tallyman-2.0.6-7cl.pt_BR.noarch.rpm

Para atualizar cada um dos pacotes utilize o seguinte comando:

caso esteja utilizando a versão do CONECTIVA 5.0 execute o seguinte comando: [root@localhost]# rpm -Uvh nome_do_pacote1 nome_do_pacote2 ...

onde: nome_do_pacote1 é o primeiro ítem da lista acima, nome_do_pacote2 é o segundo

ítem da lista acima e assim por diante.

caso esteja utilizando a versão do CONECTIVA SERVIDOR 5.1 atualize os pacotes acima

da seguinte forma: [root@localhost]# rpm -Uvh --oldpackage nome_do_pacote1 nome_do_pacote2 ...

Depois de feita a atualização é hora de restaurar o backup das suas bases de dados do

postgreSQL (caso tenha sido feito o backup). Primeiro observe se na primeira inicialização

do sistema se o serviço postgres inicializou normalmente (ele deve exibir uma mensagem

similar a "Inicializando opstgresql: PG_VERSION not found, running initdb" seguido por

Page 97: Servidores de Redes.pdf

um OK. Logue-se no sistema e torne-se o usuário postgres (su -l postgres) e execute o

comando para importar os dados de sua base antiga para a nova base recem criada pelo

Postgres. Isso irá recriar todas as suas tabelas e os dados contidos nelas. Em caso de dúvidas,

consulte a área relevante na documentação do PostgreSQL. [postgres@localhost]$ psql template1 -f database.out

O próximo passo é fazer a configuração do banco de dados.

7.12. Por que meu e-commerce não carrega a

página index.epl? Para corrigir esse problema, execute: [root@localhost]# cd /usr/local/tallyma

[root@localhost]# mkdir secret

[root@localhost]# cd secret

[root@localhost]# htpasswd -c tallyman_passwd admin

New password: digitar uma senha

Re-type new password: confirme sua senha

Adding password for user admin

[root@localhost]# rm -rf /usr/local/tallyman/secret

7.13. Quais os passos para se criar múltiplas

lojas virtuais no e-commerce? Depois de ter criado a loja chamada demo, vamos criar uma outra loja agora chamada teste:

1. su -l root

2. cd /usr/local/tallyman/tools

3. ./install.pl

4. Leia as instruções iniciais e pressione ENTER.

5. Escolha a opção S (configure software).

6. Base directory of the software: /usr/local/tallyman

7. Escolha a opção 1 (mod_perl / Apache)

8. Escolha a opção c (create a new store)

9. Escolha a opção d (configure database)

10. Escolha a opção 2 (postgreSQL).

11. Enter the database username: teste

12. Enter the database password: teste

13. Enter DBI connect string [dbi:Pg]: Pressione ENTER

14. Should I try to create the user ? yes

15. Should I try to drop the user ? no

16. Postgres privileged user account: postgres

Page 98: Servidores de Redes.pdf

17. Postgres privileged user password: minhasenha

18. Should I try to create the tables ? yes

19. Escolha a opção r (Configure store directories).

20. Enter the path where created HTML files should be placed: /home/httpd/html/teste

Lembrando que no passo 17 a senha especificada deve ser a mesma que foi cadastrada

com o comando "alter user postgres with password minhasenha".

21. Enter the url of the directory you just especiied: http://10.0.2.16/teste

22. Escolha a opção u (Configure store URLs).

23. Enter the url of the admin directory: http://10.0.2.16/teste/admin

24. Enter the secure url of the admin directory: https://10.0.2.16/teste/admin

25. Enter the url of the tallyman directory: http://10.0.2.16/teste/tallyman

26. Enter the secure url of the tallyman directory: https://10.0.2.16/teste/tallyman

Lembrando que as opções 21,23,24,25,26 deve ser substituído pelo domínio real do

site. Deve ser um domínio válido e já registrado. Para fins de teste, pode ser utilizado

um domínio interno de uma intranet, nesse caso colocamos o endereço IP da máquina

10.0.2.16 (endereço localhost).

27. Escolha a opção m (Configure miscellaneous).

28. Enter you store name: Loja Teste

29. Enter a store id: teste

30. Do you want to create sample store datea ? yes

31. Do you want to import UPS zone-based shippng data ? no

32. Enter the origin zipcode of your store: 00000-000

33. Enter the administrator's email address: informar o email do administrador de

sistemas.

34. Enter the bouceback email address: informar o email para mensagens de erro

35. Enter the shopping basket from email address: informar o email da loja

36. Escolha a opção f (Use this store configuration as a globas default).

37. Escolha a opção a (For this session and future sessions).

38. Pressione ENTER.

39. Escolha a opção i (Install store).

40. Leia a mensagem. Pressione ENTER para avançar para a próxima página.

41. Escolha a opção q (quit) duas vezes para sair do instalador.

42. exit

Caso queira um detalhamento de todas essas opções verifique no manual a seção 128-138.

A instalação da loja demonstração está completa, o próximo passo é configurar os aspectos

de segurança e o arquivo de configuração do Apache (httpd.conf), bem como gerar os

arquivos HTML da loja. Utilizando a conta do root, siga as instruções abaixo:

1. Editar o arquivo /etc/httpd/conf/httpd.conf [root@localhost]# mcedit /etc/httpd/conf/httpd.conf

2. Observe os aliases da loja existente: # URL da loja demonstração

Page 99: Servidores de Redes.pdf

Alias /demo/tallyman/ "/usr/local/tallyman/tallyman/"

Alias /demo/admin "/usr/local/tallyman/admin/"

Alias /demo/admin/images/ "/usr/local/tallyman/admin/images/"

.....

# You will be prompted to select a value

for this by tools/install.pl

PerlSetEnv TALLYMAN_SID demo

3. Mova a linha que atribui o valor demo a variável TALLYMAN_SID: # URL da loja demonstração

Alias /demo/tallyman/ "/usr/local/tallyman/tallyman/"

Alias /demo/admin "/usr/local/tallyman/admin/"

Alias /demo/admin/images/ "/usr/local/tallyman/admin/images/"

PerlSetEnv TALLYMAN_SID demo

4. Coloque o identificador condicional <Location/store> delimitando a variável. # URL da loja demonstração

Alias /demo/tallyman/ "/usr/local/tallyman/tallyman/"

Alias /demo/admin "/usr/local/tallyman/admin/"

Alias /demo/admin/images/ "/usr/local/tallyman/admin/images/"

<Location/demo>

PerlSetEnv TALLYMAN_SID demo

</Location>

Isso fará com que o store id da loja demonstração só seja informado ao Tallyman se

uma das URLs dessa loja for acessada.

5. Crie novos aliases para a loja teste. O TALLYMAN_SYD também deve

possuir o identificador condicional <Location /store>. Assim, o store

id da loja teste só será informado ao Tallyman

se uma das URLs dessa loja for acessada.

# URL da loja teste

Alias /teste/tallyman/ "/usr/local/tallyman/tallyman/"

Alias /teste/admin "/usr/local/tallyman/admin/"

Alias /teste/admin/images/ "/usr/local/tallyman/admin/images/"

<Location/teste>

PerlSetEnv TALLYMAN_SID teste

<Location>

6. Este trecho do httpd.conf ficará, portanto, assim: #URL loja demonstração

Alias /demo/tallyman/ "/usr/local/tallyman/tallyman/"

Alias /demo/admin "/usr/local/tallyman/admin/"

Alias /demo/admin/images/ "/usr/local/tallyman/admin/images/"

<Location /demo>

PerlSetEnv TALLYMAN_SID demo

</Location>

#URL loja teste

Alias /teste/tallyman/ "/usr/local/tallyman/tallyman/"

Alias /teste/admin "/usr/local/tallyman/admin/"

Alias /teste/admin/images/ "/usr/local/tallyman/admin/images/"

<Location /teste>

PerlSetEnv TALLYMAN_SID teste

</Location>

Page 100: Servidores de Redes.pdf

Salve o arquivo <F2> <F10>

7. Reinicie o Apache com o comando: [root@localhost]# cds

[root@localhost]# ./httpd stop

[root@localhost]# ./httpd start

Verifique se o apache está funcionando, apontando o navegador web para

http://127.0.0.1/

8. Defina também as permissões corretas dos arquivos e diretórios: [root@localhost]# chmod 700 /usr/local/tallyman/stores/teste/tmp

[root@localhost]# chmod 700 /home/httpd/html/teste

[root@localhost]# chown nobody.nobody

/usr/local/tallyman/stores/teste/tmp

[root@localhost]# chown nobody.nobody /home/httpd/html/teste

[root@localhost]# chmod 400

/usr/local/tallyman/stores/teste/configuration

[root@localhost]# chmod 400 /usr/local/tallyman/tools/install.storedat

[root@localhost]# chmod 400 /usr/local/tallyman/tools/install.globaldat

[root@localhost]# chown nobody.nobody

/usr/local/tallyman/stores/teste/configuration

[root@localhost]# chown nobody.nobody

/usr/local/tallyman/tools/install.storedat

[root@localhost]# chown nobody.nobody

/usr/local/tallyman/tools/install.globaldat

9. exit

Agora a loja já pode ser criada, ou seja, ordenar ao sistema que crie os arquivos HTML do

site baseados na estrutura e conteúdo definidos na página de administração da loja.

Para gerar a loja, inicie o navegador e aponte-o para:

http://10.0.2.16/teste/admin/index.epl

(nesse caso estamos apontando para o endereço IP da máquina que está sendo configurada,

ajuste esse exemplo ao seu caso).

Ele irá pedir um usuário, digite então admin, em seguida irá pedir uma senha, digite aquela

senha que o sr. definiu com o comando htpasswd -c tallyman_passwd admin.

Quando acessar a página de administração primeiramente clique em Regenerate para criar

reconstruir todo o site.

A rotina de regeneração deve ser executada sempre qeu mudanças ocorrerem no site, ou

após a criação de um site novo. Novos arquivos HTML serão gerados em substituição aos

antigos (se existirem) e todas as páginas onde o mesmo produto ou conteúdo aparecem serão

atualizadas automaticamente.

Serão apresentadas mensagens para cada objeto qeu estiver sendo regenerado. Caso ocorra

algum erro, será apresentada uma mensagem na cor vermelha. Essas mensagens em

vermelho são importantes para a depuração de possíveis falhas na estrutura do site.

Quando a loja estiver completamente criada, o regenerador apresentará a mensagem Regen

Finished e informará o tempo de regeneração da loja. Esse tempo depende da plataforma de

hardware, velocidade da conexão, estrutura do site e quantidade de produtos.

Finalmente para ver como está a sua loja virtual aponte o seu browser para:

Page 101: Servidores de Redes.pdf

http://10.0.2.16/teste

(nesse caso estamos apontando para o endereço IP da máquina que está sendo configurada,

ajuste esse exemplo ao seu caso).

Capítulo 8. FRESWAN

8.1. Como faço para configurar o Freesswan O Conectiva Linux 5.1 Ed. Servidor já tem kernel preparado para freeswan 1.3. Se a versão

instalada ainda não for esta, então faça o upgrade do pacote RPM do kernel para o pacote

que vem com a 5.1

Após ter o kernel correto, certifique-se que o pacote freeswan-1.3-2cl também está

instalado.Se não tiver, instale-o.

Para isso, monte o primeiro cd do conectiva 5.1, 4.2 ou o cd 2 do conectiva 5.0. Outras

versões do conectiva precisam baixar o pacote em:

ftp://ftp.conectiva.com.br/pub/conectiva/5.1/cd1/conectiva/RPMS/freeswan-1.4-

7cl.i386.rpm

Para montar o cdrom, utilize: [root@localhost]# mount /mnt/cdrom

e instale o pacote: [root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/freeswan-*i386.rpm

Ele contém tudo o que é extra-kernel (utilitários e daemons) e é instalado

separadamente.Tenha certeza que a configuração do kernel está ok. A parte de rede deve

estar funcionando perfeitamente antes de iniciar a instalação.

Verifique se o arquivo contém o seguinte: [root@localhost]# mcedit /etc/sysconfig/network

FORWARD_IPV4="yes"

ou algo parecido (talvez o "yes" esteja como "true", tudo bem).

Verifique se o arquivo contém [root@localhost]# mcedit /etc/sysconfig/cl-firewall

RP_FILTER=0

Este parâmetro quando setado para 2 (como está originalmente) impede o link de ser

estabelecido com sucesso.

Nenhuma configuração será necessária nas estações, apenas nos gateways. Toda a

configuração é baseada em apenas dois arquivos: /etc/ipsec.conf e /etc/ipsec.secrets Estes arquivos (ambos) devem ter permissões 600 por questões de segurança. O dono e o

grupo deve ser "root:root".

O arquivo ipsec.conf

O primeiro guarda as configurações gerais do ipsec, e o segundo guarda as chaves de

criptografias.

Para editá-lo digite: [root@localhost]# mcedit /etc/ipsec.conf

A seguir um exemplo (para o caso mais comum). Só foram listadas as partes relevantes. O

resto pode ser deixado como está no arquivo original.

Imagine o seguinte exemplo:

Page 102: Servidores de Redes.pdf

+~~~~~~~~~~~~+

+==| INTERNET |==+

| +............~ |

200.200.0.23 | | 200.252.02.12

+~~~~~~~~~~~+ +~~~~~~~~~~~+

| gateway A | | gateway B |

+...........+ +...........+

192.168.6.1 | | 10.0.0.1

| |

| |

...~~~~~~~~~~~~~~+~~~+~~~~~... ...~~~~~~+~~~+~~~~~~~~~~~~~~~...

| |

192.168.6.2 | | 10.0.0.2

255.255.255.0 | | 255.255.255.0

+~~~~~~~~~+ +~~~~~~~~~+

| host 1A | | host 1B |

+.........+ +.........+

Segue um arquivo de configuração que serviria para a rede acima. Observe que o arquivo de

configuração original é muito mais completo, e aqui só foram mostradas as partes relevantes.

O restante do arquivo pode ser deixado intacto, salvo nota específica.

config setup

interfaces=%defaultroute

klipsdebug=none

plutodebug=none

conn %default

esp=3des-md5-96

authby=rsasig

conn con123

left=200.200.0.23

leftsubnet=192.168.6.0/24

#leftnexthop=192.168.255.220

leftrsasigkey=0x01039d827220755...

#leftfirewall=yes

right=200.252.02.12

rightsubnet=10.0.0.0/24

#rightnexthop=10.0.0.1

rightrsasigkey=0x01034bd3e30995...

#rightfirewall=yes

auto=start

Na primeira secção temos config setup que especifica a secção geral de configuração do

ipsec. Esta secção normalmente não será modificada. Cuide para que pelo menos as linhas

listadas existam e estejam corretas.

Logo após, temos conn %default. Esta secção não indica uma conexão específica, mas serve

para que você possa listar quaisquer parâmetros que você queira que sejam válidos para

todas as conexões. Listar alguma opção aqui é o mesmo que listá-la repetidas vezes dentro

de cada uma das conexões.

Page 103: Servidores de Redes.pdf

No caso acima estão listadas duas keywords interessantes (as outras podem ser deixadas

como estão no original).

esp=3des-md5-96 indica o tipo de criptografia que queremos usar. 3des-md5-96 é uma boa

opção, sugerido como default. authby=rsasig indica que queremos usar autenticação e

criptografia do tipo RSA (chaves públicas e privadas). As opções são secret (defaut) para

PSK (pre shared keys) e rsasig para chaves RSA.

Por último, conn con123 é a conexão que estamos tentando estabelecer. Podem existir várias

conexões, basta repetir esta parte com novos parâmetros.

Antes de irmos para os números em si, uma breve explicação do significado de left e right.

Eles representam "os dois lados" da conexão. Não faz diferença quem é qual, apenas que os

dois lados estejam listados. O freeswam descobre sozinho qual é ele mesmo e qual é o outro

lado, através do IP indicado.

Agora vejamos as keywords usadas no exemplo, uma a uma: left=192.168.6.1 indica o IP da

máquina gateway de um dos lados. Assumimos aqui que o "left" representa o "GATEWAY

A".

leftsubnet=192.168.6.0/24 indica qual é a rede que está "atrás" do gateway, cujos pacotes

serão protegidos. Deve-se indicar a netmask em conjunto com o endereço de rede.

leftnexthop= indica qual o IP do gateway que está acima do GATEWAY A. Normalmente

este endereço será obtido automaticamente através da rota do gateway padrão (exatamente

por isso existe aquela instrução interfaces=%defaultroute na primeira secção. Nesses casos

comuns pode-se deixar as instruções "nexthop" comentadas, como no exemplo.

leftrsasigkey=0x01039d827220755... indica a chave pública RSA do outro lado. Mais sobre

isso adiante, no item do arquivo ipsec.secrets.

leftfirewall=yes indica que a máquina firewall não está fazendo masquerading para a rede

que ela está protegendo, e esta rede tem IPs não roteáveis que não devem ser repassados para

o lado de fora. Normalmente não será usada.

Todos estes conceitos são igualmente aplicáveis ao outro lado, apenas substituindo "left" por

"right".

auto=start indica que esta conexão deve ser iniciada durante o boot do micro. Outra opção

seria auto=add para apenas adicionar a conexão na lista de conexões mas não iniciá-la no

boot. Ela poderá ser iniciada mais tarde manualmente(pouco usado).

O arquivo ipsec.secrets

Agora é necessário configurar as chaves que serão usadas para a criptografia e autenticação.

Em primeiro lugar você deve escolher qual o tipo de chave a ser usada, PSK ou RSA. Como

já foi dito, deve-se dar preferência para o tipo RSA.

Por vários motivos.

Vejamos:

1. Nenhum problema de transmissão de chaves. No caso das chaves

2. compartilhadas (PSK) você deve enviar a chave para o outro lado de algum modo.

Com o mecanismo de chave pública/privada, você transmite para o outro lado apenas

a chave pública. O sistema foi desenvolvido para que não importe caso alguém pegue

sua chave pública, nada poderá ser feito com ela (para descriptografar o que foi

Page 104: Servidores de Redes.pdf

criptografado com a chave pública, é necessária a chave privada que não foi

transmitida.

3. Fácil manutenção. Se você tiver mais de uma conexão, com mais de um gateway

diferente, pode deixar sua chave pública em um lugar conhecido e todos pegarem.

Não haverá a necessidade de ficar gerando novas chaves e repassando-as para cada

um dos novos gateways. Usar a mesma PSK para todos nem pensar!

4. Não requer que os IPs das pontas sejam fixos, pois a chave irá garantir a autenticidade

da outra máquina. Isto é usado para redes virtuais privadas com IPs móveis, e não será

alvo deste documento. Para maiores informações consulte o manual do freeswan, no

site na web.Para gerar o par de chaves, execute o comando: [root@localhost]# ipsec rsasigkey 128

Isto irá gerar um par de chaves RSA de 128 bits. Aconselha-se usar mais bits, como

por exemplo 1024. Para 128, a geração é rápida, mas para 1024 pode levar até alguns

minutos dependendo da máquina em que está sendo executado o comando. Usamos

128 aqui para um exemplo ilustrativo.

A saída deste comando será parecida com o seguinte: # 128 bits, Tue Apr 25 21:08:09 2000

# for signatures only, UNSAFE FOR ENCRYPTION

#pubkey=0x01039efb4e4a84f0026202cd872e41dfbce7

Modulus: 0x9efb4e4a84f0026202cd872e41dfbce7

PublicExponent: 0x03

# everything after this point is secret

PrivateExponent: 0x69fcdedc58a001959e5053f6c7c6154b

Prime1: 0xde02e368132d3ac9

Prime2: 0xb75225d40309622f

Exponent1: 0x9401ecf00cc8d1db

Exponent2: 0x7a36c3e2acb0ec1f

Coefficient: 0x7cc39b384223f7f3

Com exceção dos comentários, e da linha que inicia com #pubkey (que também está

comentada), todo o resto é a chave privada. Aquele número contido na linha #pubkey

deve ser repassado para a outra máquina gateway, para ser inserido no arquivo de

configuração ipsec.conf na keyword "leftrsasigkey=0x01039ef..." (ou right, conforme

o caso). Todo o restante deverá ser inserido no arquivo ipsec.secrets da máquina local

(que gerou a chave) como sendo sua própria chave privada. O arquivo de

configuração ficará parecido com isto: 192.168.255.213 10.0.2.25: RSA {

Modulus: 0x9efb4e4a84f0026202cd872e41dfbce7

PublicExponent: 0x03

PrivateExponent:

0x69fcdedc58a001959e5053f6c7c6154b

Prime1: 0xde02e368132d3ac9

Prime2: 0xb75225d40309622f

Exponent1: 0x9401ecf00cc8d1db

Exponent2: 0x7a36c3e2acb0ec1f

Coefficient: 0x7cc39b384223f7f3

}

A listagem acima contém exatamente a tag de abertura (primeira linha) e em seguida

deve ser colado o conteúdo EXATO das chaves geradas com o comando mencionado

anteriormente, e por último, o tag de fechamento.

Page 105: Servidores de Redes.pdf

Na primeira linha, os IPs são opcionais. Você pode iniciar direto a partir dos ": RSA

{" se quiser. O importante é que na primeira linha, os IPs (ou os ":") iniciem

exatamente na primeira coluna, e no resto do texto até o final do bloco, nenhuma

outra linha inicie no primeiro caractere (identar todas as outras linhas). Também deixe

sempre espaços entre as tags (por exemplo ":RSA{" não funciona).

O outro lado deve fazer a mesma coisa. Gerar as chaves, guardar as suas chaves

privadas no arquivo de secrets local, e enviar a chave pública para ser acrescentada no

arquivo ipsec.conf do lado de cá.

Finalmente, para tudo isto funcionar, habilite a autenticação via RSA no .conf de cada

um, com a instrução authby=rsasig já mostrada anteriormente.

Não se assuste com o tamanho dos número, eles realmente serão enormes. O exemplo

de 128 bits é apenas ilustrativo, as chaves de 1024 poderão ter até 4 ou 5 linhas de

texto numa janela texto de 80 colunas. Mantenha estes números sempre numa linha

só, cada um deles, nunca deixe o editor quebrar a linha em várias.

Acrescente "alias ipsec0 ipsec" no arquivo /etc/conf.modules.

Ao final, dê um reboot na máquina, e deixe que ela carregue tudo automaticamente.

Observe se houve alguma mensagem de erro durante o carregamento do "pluto".

Testes Pós-Instalação

Durante a fase de testes, talvez seja interessante manter a conexão como "auto=add"

no arquivo .conf ao invés de "auto=start", pois assim você poderá startar e parar a

conexão na mão quantas vezes quiser. Ao final, mude novamente para "auto=start"

dos dois lados para que as coisas voltem a ser autoáticas.

LINKS ÚTEIS PARA CONSULTA

Lista de discussão IPSec:

http://www.sandelman.ottawa.on.ca/linux-ipsec/

http://www.nexial.com/cgi-bin/lipsec

Um artigo sobre o assunto: Ipsec practical configurations for Linux Freeswan

1.3.http://jixen.tripod.com/

### VERSÃO 6.0 ###

Siga os mesmos procedimentos apenas troque o nome do

arquivo /etc/conf.modules por /etc/modules.conf

Capítulo 9. FTP

9.1. Como faço para habilitar o acesso ftp em

minha máquina? Primeiramente verifique se os seguintes pacotes estão instalados: [root@localhost]# rpm -q wu-ftpd

e/ou

[root@localhost]# rpm -q proftpd

Caso não estejam instalados, para instalá-los:

Coloque o CD 1 do Conectiva Linux no drive de CDROM

Monte-o:

Page 106: Servidores de Redes.pdf

[root@localhost]# mount /dev/cdrom /mnt/cdrom

Vá até o diretório das RPMs [root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Execute o comando de instalação: [root@localhost]# rpm -ivh wu-ftpd*

ou

[root@localhost]# rpm -ivh proftpd*

Depois verifique no arquivo /etc/inetd.conf, se existem as seguintes linhas: ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

Caso esteja utilizando o proftpd a linha deve ser essa: ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd

Caso elas estejam comentadas apenas remova o "#".

Agora para ativar as mudanças: [root@localhost]# cds

[root@localhost]# ./inet stop

[root@lcoalhost]# ./inet start

E verifique se no ntstys o inet está selecionado. [root@localhost]# ntsysv

9.2. O que fazer para instalar/configurar o

servidor de ftp proftpd? ### Versão 7.0 e posteriores ###

Instalar pacotes:

proftpd: O ProFTPD é um servidor ftp altamente configurável para sistemas operacionais

unix. A documentação completa está disponível em http://www.proftpd.org, incluindo o

manual de referência para as diretivas de configuração do servidor. anonftp:

Contém os arquivos necessários para permitir acesso ftp anônimo a sua máquina. Isso deixa

qualquer usuário pegar arquivos de sua máquina sem ter uma conta, o que é um meio

popular de tornar programas disponíveis na Internet.

Após instalar, verifique se existe a linha: =---------------------- ftp 21/tcp =----------------------

no arquivo /etc/services, pois é onde está sendo definida a porta de ftp.

E também, verificar se a linha abaixo, do arquivo /etc/inetd.conf está

descomentada/habilitada. =---------------------- ftp stream tcp nowait root /usr/sbin/tcpd

in.proftpd

e não

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a =----------------------

Caso não esteja, basta descomentar e reinicializar o serviço inet: [root@localhost]# /etc/rc.d/init.d/inet stop

[root@localhost]# /etc/rc.d/init.d/inet start

Page 107: Servidores de Redes.pdf

Para maiores configurações, deve-se utilizar-se dos seguintes arquivos :

=----------------------

1-) /etc/proftpd.conf <-------- Configurações gerais do servidor

(+importante)

Este arquivo é configurável estilo um arquivo .html, com a sintaxe

<opção> </opção> e comandos "dentro" deles.

O arquivo padrão da instalação é o seguinte :

# Configuração do ProFTPD

#

ServerName "ProFTPD - Instalação Default"

ServerType inetd

DefaultServer on

ScoreboardPath /var/run

DeferWelcome on

ServerAdmin root@localhost

ServerName "Servidor FTP"

SyslogFacility AUTH

# Umask 022 é um bom padrão para prevenir que novos diretórios e

# arquivos sejam graváveis pelo grupo ou outros usuários

Umask 022

# Usuário e grupo para o servidor

User nobody

Group nobody

<Directory /*>

AllowOverwrite no

</Directory>

# Configuração básica para ftp anônimo, sem diretório para recepção

# de arquivos

<Anonymous ~ftp>

User ftp

Group ftp

DirFakeUser on

DirFakeGroup on

# ftp = anonymous

UserAlias anonymous ftp

# número máximo de logins anônimos

MaxClients 10 "Número máximo de clientes, tente mais

tarde."

# No máximo duas conexões por cliente

Page 108: Servidores de Redes.pdf

MaxClientsPerHost 2 "Você já está com muitas conexões

simultâneas."

# welcome.msg mostrado na conexão e .message mostrado para cada

# diretório acessado.

DisplayLogin welcome.msg

DisplayFirstChdir .message

AccessGrantMsg "Acesso anônimo aceito para %u."

# Limite gravação no chroot anônimo

<Limit WRITE>

DenyAll

</Limit>

</Anonymous>

------------- Explicação das opções mais importantes/relevantes ---------

Em ordem alfabética :

AccessGrantMsg

Sintaxe: AccessGrantMsg mensagem

Padrão: Depende do tipo de login

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0pl5 and later

Geralmente, uma mensagem de resposta (230) é enviada logo após a

autenticação, com uma mensagem padrão indicando que o usuário está logado ou

que o acesso do usuário anônimo foi efetuado com sucesso. Esta mensagem pode

ser configurada com esta opção (AccessGrantMsg). No parâmetro mensagem pode

ser utilizado %u que será substituído pelo nome do usuário. Exemplo:

AccessGrantMsg "Acesso anônimo aceito para %u."

_________________________________________________________________

Allow

Sintaxe: Allow ["from"] "all"|"none"|host|network[,host|network[,...]]

Padrão: Allow from all

Pode ser usado: <Limit>

Compatibilidade: 0.99.0pl6 and later

É utilizada sempre entre <Limit> e </Limit> para as excessões que

houverem sobre as condições do limit.

host e network podem ser passados por nome ou número. Por motivos de

segurança recomenda-se utilizar sempre números. Para especificar uma rede

inteira, com números utiliza-se 10.0.0 (por exemplo) e com nomes

.proftpd.net (por exemplo).

Exemplo:

<Limit LOGIN>

Order Allow,Deny

Page 109: Servidores de Redes.pdf

Allow from 128.44.26.,128.44.26.,myhost.mydomain.edu,.trusted-domain.org

Deny from all

</Limit>

_________________________________________________________________

AllowAll

Sintaxe: AllowAll

Padrão: Não muito utilizado por permitir acesso a todos

Pode ser usado: <Director>, <Anonymous>, <Limit>, .ftpaccess

Compatibilidade: 0.99.0 and later

A opção permite acesso a aos blocos <Directory>, <Anonymous> ou <Limit> a

todos os usuários.

_________________________________________________________________

AllowFilter

Sintaxe: AllowFilter regular-expression

Padrão: Nenhum (não utilizado)

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.2.0pre7 and later

Utiliza filtros para quais caracteres podem ser mandados ao servidor. Os

filtros utilizam-se de expressões regulares.

Se há espaços em branco, deve-se utilizar aspas.

Exemplo:

# Somente permite caracteres alfa-numéricos e espaços em branco

AllowFilter ".*/[a-zA-Z0-9 ]+$"

Veja mais em: DenyFilter

_________________________________________________________________

AllowGroup

Sintaxe: AllowGroup group-expression

Padrão: Nenhum

Pode ser usado: <Limit>

Compatibilidade: 1.1.1 and later

Utiliza-se para permitir o acesso de determinado(s) grupo(s).

Exemplo:

AllowGroup users,nobody,ftp

Veja mais em: DenyGroup, DenyUser, AllowUser

_________________________________________________________________

AllowUser

Sintaxe: AllowUser user-expression

Padrão: Nenhum

Pode ser usado: <Limit>

Compatibilidade: 1.1.7 and later

Basicamente igual ao AllowGroup, só que para permitir o acesso de

usuários.

Page 110: Servidores de Redes.pdf

Exemplo:

AllowUser ftp,nobody

Veja mais em: DenyUser, DenyGroup, AllowGroup

_________________________________________________________________

AllowOverwrite

Sintaxe: AllowOverwrite on|off

Padrão: AllowOverwrite off

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>, .ftpaccess

Compatibilidade: 0.99.0 and later

Permite ou não sobrescrever arquivos localizados no servidor. Utilizado

normalmente para diretórios de upload, onde deve ser possível a sobrescrita

de arquivos.

_________________________________________________________________

AnonRequirePassword

Sintaxe: AnonRequirePassword on|off

Padrão: AnonRequirePassword off

Pode ser usado: <Anonymous>

Compatibilidade: 0.99.0 and later

Com esta opção, para acessar como anônimo é necessário utilizar-se da

senha do usuário que o serviço de usuário anônimo utiliza (definido com a

opção User).

Exemplo:

<Anonymous ~roger>

User roger

AnonRequirePassword on

</Anonymous>

Então, para acessar como anônimo só será possível se for digitada a senha

do usuário roger.

_________________________________________________________________

AllowRetrieveRestart

Sintaxe: AllowRetrieveRestart on|off

Padrão: AllowRetrieveRestart on

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>, .ftpaccess

Compatibilidade: 0.99.0 and later

Permite que os usuários possam baixar os arquivos de "pedaço a pedaço" ao

invés de o arquivo inteiro de uma vez.

_________________________________________________________________

AllowStoreRestart

Page 111: Servidores de Redes.pdf

Sintaxe: AllowStoreRestart on|off

Padrão: AllowStoreRestart off

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>, .ftpaccess

Compatibilidade: 0.99.0 and later

Permite que o usuário envie arquivos ao servidor de "pedaço a pedaço" ao

invés do arquivo inteiro. Pode ser útil para diretórios de upload, mas não é

recomendável utilizar devido ao fato de que podem ocorrer problemas em uma

das transmissões e perder-se o arquivo inteiro.

_________________________________________________________________

<Anonymous>

Sintaxe: <Anonymous diretório-raiz> Padrão: None Pode ser usado: server

config,<VirtualHost>, <Global> Compatibilidade: 0.99.0 and later O bloco de configuração

<Anonymous> é utilizado para criar uma sessão de acesso para um usuário anônimo no

servidor ftp. O parâmetro diretório-raiz é qual será o diretório raiz do usuário ao acessar o

servidor.

Exemplo de configuração básica de acesso para ftp anônimo:

<Anonymous /home/ftp>

User ftp # Após o acesso anônimo, o serviço roda com o usuário ftp.

Group ftp # Após o acesso anônimo, o serviço roda com o grupo ftp.

UserAlias anonymous ftp # Cliente loga como anônimo e recebe apelido de

ftp.

# Não permite escrita em nenhum dos diretórios abaixo o raiz.

# O padrão é permitir a leitura, portanto não é necessário usar um.

<Limit> #para permitir.

<Directory *>

<Limit WRITE>

DenyAll

</Limit>

</Directory>

<Directory incoming>

<Limit READ WRITE>

DenyAll

</Limit>

<Limit STOR>

AllowAll

</Limit>

</Directory>

</Anonymous>

_________________________________________________________________

Page 112: Servidores de Redes.pdf

AnonymousGroup

Sintaxe: AnonymousGroup group-expression

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.1.3 and later

É utilizado para definir os grupos de usuários que quando acessarem o

servidor serão considerados como usuários anônimos.

Caso acesse com um usuário que esteja neste grupo, o raiz do mesmo será

passado para o home do usuário.

Veja mais em: DefaultRoot

_________________________________________________________________

AuthGroupFile

Sintaxe: AuthGroupFile path

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.0.3/1.1.1 and later

Especifica um arquivo alternativo para o arquivo de grupos. Tem o mesmo

formato que o arquivo /etc/groups.

Pode ser utilizado na configuração de domínios virtuais, para que possa

utilizar grupos diferentes ou iguais e não haver confusão.

_________________________________________________________________

AuthUserFile

Sintaxe: AuthUserFile path

Padrão: None

Pode ser usado: server config,<VirtualHost>, <Global>

Compatibilidade: 1.0.3/1.1.1 and later

Especifica um arquivo alternativo para o arquivo de usuários. Utiliza o

mesmo formato que o /etc/passwd.

Também pode ser utilizado para domínios virtuais.

_________________________________________________________________

CDPath

Sintaxe: CDPath diretório

Padrão: nenhum

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.2.0pre2 and later

Adiciona diretórios como na variável PATH do usuário no sistema.

_________________________________________________________________

CommandBufferSize

Sintaxe: CommandBufferSize tamanho

Padrão: Nenhum

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.2.0pre7 and later

Page 113: Servidores de Redes.pdf

Controla o tamanho do comando que é passado ao servidor. Permite que seja

controlado efetivamente o "maior" comando que o servidor irá aceitar, e pode

ajudar a proteger o servidor de vários ataques (Denial of Service ou

resource-consumption).

_________________________________________________________________

DefaultChdir

Sintaxe: DefaultChdir directory [group-expression]

Padrão: ~

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.2.0pre2 and later

Determina o diretório padrão que o usuário irá acessar (equivalente ao

home do usuário). Caso não seja determinado, é utilizado, por padrão, o home

do usuário.

NOTE: Caso seja especificado um diretório não existente, o usuário não

conseguirá acessar.

_________________________________________________________________

DefaultRoot

Sintaxe: DefaultRoot directory [group-expression]

Padrão: DefaultRoot /

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 0.99.0pl7 and later

Especifica qual será o diretório raiz utilizado pelo usuário que está

acessando o servidor e para quais grupos isto é válido ou não (colocando "!"

antes do nome do grupo).

Pode ser utilizado "~" para definir o home de um usuário.

_________________________________________________________________

DefaultServer

Sintaxe: DefaultServer on|off

Padrão: DefaultServer off

Pode ser usado: server config,<VirtualHost>

Compatibilidade: 0.99.0pl6 and later

Controla qual servidor será utilizado por padrão quando uma conexão é

destinada para um IP que não seja o do IP primário ou nenhum dos definidos

em um bloco <VirtualHost>.

_________________________________________________________________

DefaultTransferMode

Sintaxe: DefaultTransferMode ascii|binary

Padrão: DefaultTransferMode ascii

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.2.0pre9 and later

Configura o padrão de transmissão dos arquivos binário ou ascii, o padrão

é ascii.

_________________________________________________________________

Deny

Page 114: Servidores de Redes.pdf

Sintaxe: Deny ["from"] "all"|"none"|host|network[,host|network[,...]]

Padrão: None

Pode ser usado: <Limit>

Compatibilidade: 0.99.0pl6 and later

Ao contrário do Allow, usa-se o Deny para não permitir acesso de certas

redes/máquinas.

Veja mais em: Allow and Order.

_________________________________________________________________

DenyAll

Sintaxe: DenyAll

Padrão: Nenhum

Pode ser usado: <Directory>, <A Sintaxe: DenyAll

Padrão: Nenhum

Pode ser usado: <Directory>, <Anonymous>, <Limit>, .ftpaccess

Compatibilidade: 0.99.0 and later

Utilizado para desabilitar o acesso a um bloco Limit, Anonymous ou

Directory por qualquer usuário. O DenyAll pode ser "sobrescrito" pelo

AllowAll.

_________________________________________________________________

DenyFilter

Sintaxe: DenyFilter regular-expression

Padrão: Nenhum

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.2.0pre7 and later

Semelhante ao AllowFilter. Não permite que certos comandos que se

pareçam com a expressão regular definida não sejam aceitos pelo servidor.

Caso o comando não seja aceito, o servidor mostrará a mensagem de erro

"Forbidden command" ao cliente.

Exemplo:

# Nenhum comando pode conter o caracter %

DenyFilter "%"

Veja mais em: AllowFilter

_________________________________________________________________

DenyGroup

Sintaxe: DenyGroup group-expression

Padrão: Nenhum

Pode ser usado: <Limit>

Compatibilidade: 1.1.1 and later

Utilizado para barrar o acesso de determinados grupos de usuários. Caso

utilize-se o ! este grupo poderá acessar.

Page 115: Servidores de Redes.pdf

Exemplo:

DenyGroup users,nobody,ftp,!admin

Veja mais em: AllowGroup, AllowUser, DenyUser

_________________________________________________________________

DenyUser

Sintaxe: DenyUser user-expression

Padrão: Nenhum

Pode ser usado: <Limit>

Compatibilidade: 1.1.7 and later

Utilizado para barrar o acesso de determinados usuários. Caso utilize-se

o ! este usuário poderá acessar.

Exemplo:

DenyUser root,!nobody,!ftp

Veja mais em: AllowUser, DenyGroup, AllowGroup

_________________________________________________________________

<Directory>

Sintaxe: <Directory pathname>

Padrão: Nenhum

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0 and later

Utilizado para criar um bloco de configuração de um diretório e seus

respectivos sub-diretórios. O bloco inicia com

<Directory /caminho/do/diretório> e termina com </Directory>

Exemplo:

<Directory /home/*>

HideNoAccess

</Directory>

Caso se utilize uma máscara, o diretório atual não sofrerá as

configurações (em nosso caso, o diretório /home), apenas os sub-diretórios.

Note que deve ser utilizado o caminho absoluto dos diretórios, a não ser se

localizado em um bloco <Anonymous>, e também não podem ser utilizados

"links" simbólicos para o bloco <Directory>.

_________________________________________________________________

DirFakeGroup

Sintaxe: DirFakeGroup On|Off [groupname]

Padrão: DirFakeGroup Off

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.1.5

Page 116: Servidores de Redes.pdf

DirFakeGroup e seu companheiro, DirFakeUser, podem ser usados para

esconder o grupo e usuário propietários de certo arquivo na listagem do

diretório. Caso não seja especificado nenhum grupo, será mostrado o ftp por

padrão. Pode-se utilizar de grupos e usuários não existentes no sistema.

_________________________________________________________________

DirFakeMode

Sintaxe: DirFakeMode octal-mode

Padrão: Nenhum

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>

Compatibilidade: 1.1.6

Configura o modo (ou permissões) que será mostrado _todos_ os diretórios

e arquivos na listagem. É utilizado da mesma forma que o DirFakeUser e

DirFakeGroup: "apenas cosméticos".

Por exemplo:

DirFakeMode 0640

Resultará em:

-rw-r----- ... arquivo

drwxr-x--- ... diretório

_________________________________________________________________

DirFakeUser

Sintaxe: DirFakeUser On|Off [username]

Padrão: DirFakeUser Off

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.1.5

Veja DirFakeGroup

_________________________________________________________________

DisplayConnect

Sintaxe: DisplayConnect filename

Padrão: Nenhum

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.2.0pre2 and later

Configura um arquivo ascii que será mostrado antes de o usuário efetuar o

acesso ao servidor.

Pode-se utilizar de um conjunto de "magic cookies" para facilitar na

configuração do arquivo, que também é utilizado pelas opções DisplayLogin e

DisplayFirstChdir: %T, %F, %R, %L e %u (detalhes na documentação de

DisplayFirstChdir).

_________________________________________________________________

DisplayFirstChdir

Page 117: Servidores de Redes.pdf

Sintaxe: DisplayFirstChdir filename

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>

Compatibilidade: 0.99.0 and later, magic cookies only in 0.99.0pl10 and

later

The DisplayFirstChdir directive configures an ASCII text filename

which will be displayed to the user the first time they change into a

directory (via CWD) per a given session.

Para cada acesso no servidor, após o usuário entrar em um certo

diretório, será mostrado o conteúdo do arquivo definido.

Para o caso de um acesso anônimo, o arquivo deverá estar em algum

diretório a partir da raiz definida no bloco <Anonymous>.

DisplayFirstChdir, DisplayConnect, DisplayLogin, DisplayQuit, tem suporte

para as seguintes "magic cookies" (somente a partir da versão 0.99.0pl10),

que são substituídas por seus respectivos valores :

%T hora corrente

%F espaço disponível

%C diretório corrente

%R nome do servidor

%L nome do cliente

%u Usuário

%U Usuário usado para acessar o servidor

%M Número máximo de conexões

%N Número de conexões ativas

%E Email do administrador

_________________________________________________________________

DisplayGoAway

Sintaxe: DisplayGoAway filename

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.2.0pre8 and later

Especifica um arquivo que será mostrado toda vez que o usuário de uma

classe tentar acessar o servidor e esta classe já possuir o número máximo de

clientes acessando o servidor.

Também pode-se utilizar as "magic cookies".

Veja mais em: DisplayFirstChdir

_________________________________________________________________

DisplayLogin

Sintaxe: DisplayLogin filename

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0 and later

Especifica um arquivo texto que será mostrado ao usuário no início do

acesso. O nome do arquivo pode ser absoluto ou relativo, caso seja relativo,

o arquivo será procurado a partir do diretório inicial que o usuário

acessou (home do usuário ou home anônimo). Note que será necessário o

arquivo estar localizado abaixo da raiz do usuário anônimo.

Page 118: Servidores de Redes.pdf

DisplayLogin também suporta as "magic cookies"

_________________________________________________________________

DisplayQuit

Sintaxe: DisplayQuit filename

Padrão: Nenhum

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.2.0pre8 and later

Especifica um arquivo texto que será mostrado ao usuário quando o mesmo

terminar sua sessão. Quanto a localização do arquivo, vale o mesmo que a do

item anterior.

DisplayQuit também suporta as "magic cookies"

_________________________________________________________________

DisplayReadme

Sintaxe: DisplayReadme filename

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.2.0pre8 and later

Module: mod_readme

Notifica o usuário da data da última alteração do arquivo especificado.

Exemplo:

DisplayReadme README

Resultará em:

Please read the file README it was last modified on Sun Feb 17

10:36:14 2000 - 30 days ago

_________________________________________________________________

ExtendedLog

Sintaxe: filename [[command-classes] format-nickname]

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous> <Global>

Compatibilidade: 1.1.6pl1 and later

Utilizado para definir quais comandos serão guardados pelos logs e se em

mais de um arquivo ou não.

Classes válidas:

* NONE

Nenhum comando

* AUTH

Comandos de autenticação (USER, PASS)

* INFO

Comandos de informação (PWD, SYST, etc)

Page 119: Servidores de Redes.pdf

* DIRS

Comandos de diretório (LIST, CWD, MKD, etc)

* READ

Leitura de arquivos (RETR)

* WRITE

Gravação de arquivos ou diretórios

* MISC

Comandos variados (SITE, etc)

* ALL

Todos os comandos (padrão)

Se o argumento format-nickname for fornecido, ExtendedLog usará o formato

de log prédefinido (criado por LogFormat). Senão, o formato padrão: "%h %l

%u %t \"%r\" %s %b" é utilizado.

Por exemplo, para registrar todas as operações de escrita e leitura para

o arquivo /var/log/ftp.log (usando o formato padrão):

ExtendedLog /var/log/ftp.log read,write

Veja mais em: LogFormat, TransferLog

_________________________________________________________________

<Global>

Sintaxe: <Global>

Padrão: None

Pode ser usado: server config, <VirtualHost>

Compatibilidade: 1.1.6 and later

Este bloco é usado para criar um conjunto de opções que serão aplicadas

para toda a configuração do servidor e para todas as configurações de

virtualhosts. A maioria das opções podem ser utilizadas por este bloco, mas

não todas.

Vários blocos <Global> podem ser criados. Em tempo de execução, todos os

blocos são fundidos e finalmente passados para a configuração do servidor. O

bloco é terminado com </Global>

_________________________________________________________________

Group

Sintaxe: Group groupid

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0 and later

Configura qual grupo o serviço irá ser executado. Veja mais em User para

maiores detalhes.

_________________________________________________________________

GroupOwner

Sintaxe: GroupOwner groupid

Padrão: None

Page 120: Servidores de Redes.pdf

Pode ser usado: <Anonymous>, <Directory>, .ftpaccess

Compatibilidade: 0.99.0 and later

Especifica o grupo que será dono de todos os novos diretórios e arquivos

que serão criados.

_________________________________________________________________

GroupPassword

Sintaxe: GroupPassword groupid hashed-password

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0pl5 and later

Cria uma senha que permite que um certo grupo de usuários utilize-se

apenas da mesma. O parâmetro hashed-password é a senha (em modo texto)

passada pela função crypt().

Veja mais em: UserPassword

_________________________________________________________________

HiddenStor

Sintaxe: HiddenStor on|off

Padrão: HiddenStor off

Pode ser usado: <Directory>, <Anonymous>, <VirtualHost>, <Global>

Compatibilidade: 1.2.0pre5 and later

Ao mandar arquivos ao servidor, os arquivos serão renomeados para

.in.arquivo e após o upload se completar, renomeado para arquivo.

_________________________________________________________________

HideGroup

Sintaxe: HideGroup groupid

Padrão: None

Pode ser usado: <Directory>, <Anonymous>

Compatibilidade: 0.99.0 and later

Configura um bloco directory ou anonymous para esconder os diretórios e

arquivos possuídos pelo grupo especificado, a não ser que o usuário que

esteja acessando seja do grupo. Os arquivos e diretórios apenas não são

listados pelo comando ls, mas caso queira-se entrar no diretório, apagar ou

qualquer outro procedimento, é possível.

Veja mais em: HideUser, HideNoAccess, IgnoreHidden

_________________________________________________________________

HideNoAccess

Sintaxe: HideNoAccess

Padrão: None

Pode ser usado: <Directory>, <Anonymous>

Compatibilidade: 0.99.0 and later

Page 121: Servidores de Redes.pdf

Configura os blocos para que sejam escondidas todas as entradas de

diretório quando for listar o seu conteúdo para o usuário que estiver

acessando o servidor e o mesmo não ter acesso para o diretório.

_________________________________________________________________

HideUser

Sintaxe: HideUser userid

Padrão: None

Pode ser usado: <Directory>, <Anonymous>

Compatibilidade: 0.99.0 and later

Configura um bloco anonymous ou directory para esconder todas as entradas

de diretório possuídas pelo usuário definido, a não ser que o usuário que

esteja acessando seja o dono do diretório. Os arquivos/diretórios só não são

listados, mas caso queira-se apagá-los, entrar no diretório, ou qualquer

outro procedimento, é possível.

Veja mais em: HideGroup, HideNoAccess, IgnoreHidden

_________________________________________________________________

IdentLookups

Sintaxe: IdentLookups on|off

Padrão: IdentLookups on

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.1.5 and later

Normally, when a client initially connects to proftpd, the ident

protocol (RFC1413) is used to attempt to identify the remote username.

This can be controlled via the IdentLookups directive.

_________________________________________________________________

IgnoreHidden

Sintaxe: IgnoreHidden on|off

Padrão: IgnoreHidden off

Pode ser usado: <Limit>

Compatibilidade: 0.99.0 and later

Normalmente, arquivos/diretórios que são escondidos com as opções

HideNoAccess, HideUser ou HideGroup aceitam/são utilizados por qualquer

outro comando que não os de listagem de diretórios. Caso seja utilizado o

IgnoreHidden, será retornada a mensagem de "No such file or directory", como

se realmente, o diretório/arquivo não existisse.

_________________________________________________________________

<Limit>

Sintaxe: <Limit command|command-group [command2 ..]>

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Directory>, <Anonymous>,

<Global>, .ftpaccess

Compatibilidade: 0.99.0 and later

Page 122: Servidores de Redes.pdf

Este bloco de configuração é utilizado para definir regras de acesso para

o servidor. Pode-se usar dos seguintes comandos para permitir ou não a

utilização dos mesmos:

* CWD (troca de diretório de trabalho)

Utilizado pelo cliente para acessar outros diretórios. Note que as

limitações para este comando só podem ser feitas caso se queira subir na

árvore de diretórios existente.

* MKD (criação de diretório)

Utilizado pelo cliente para a criação de diretórios.

* RNFR (renomear de), RNTO (renomear para)

É mandado para o servidor como um par de comandos para renomear um

arquivo/diretório.

* DELE (remover)

Mandado pelo cliente para apagar um arquivo.

* RMD (remover diretório)

Mandado pelo cliente para remover um diretório.

* RETR (recuperar)

Transferir um arquivo do servidor para o cliente.

* STOR (armazenar)

Transferir um arquivo do cliente para o servidor.

Além desses, os próximos grupos de comandos são aceitávies :

* READ

* WRITE

* DIRS

Permissão para a "verificação de existência" de arquivos no diretório

(comandos, ls, nlst)

* ALL

O mesmo que os três acima juntos.

Finally, a special command is allowed which can be used to control

login access:

Finalmente, para controlar o acesso dos usuários :

* LOGIN

Define se é possível ou não a conexão ao servidor.

As restrições determinadas no bloco <Limit> não devem ser confudidas com

acesso a diretórios/arquivos.

Veja mais em: IgnoreHidden

_________________________________________________________________

Sintaxe: LDAPDoAuth on|off "auth-base-prefix"

Padrão: LDAPDoAuth off

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.2.0pre10 and later

Ativa a autenticação LDAP. O segundo parâmetro é o prefixo LDAP a ser

usado para a autenticação.

_________________________________________________________________

Sintaxe: LDAPHomedirOnDemand on|off

Padrão: LDAPHomedirOnDemand off

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.2.0pre10 and later

Ativa a criação de diretórios home para o usuário, caso não exista um

Page 123: Servidores de Redes.pdf

diretório existente para a utilização deste. O grupo e o usuário

proprietários do arquivo serão os mesmos com que o proftpd está sendo

executado (verifique User e Group).

_________________________________________________________________

Sintaxe: LDAPServer "hostname"

Padrão: LDAPServer "localhost"

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.2.0pre9 and later

Permite que seja definido o nome da máquina que será o servidor LDAP.

_________________________________________________________________

LogFormat

Sintaxe: LogFormat nickname "format-string"

Padrão: LogFormat default "%h %l %u %t \"%r\" %s %b"

Pode ser usado: server config

Compatibilidade: 1.1.6pl1 and later

Define o formato do arquivo de registro de acessos.

%b Bytes enviados por pedido

%f Nome do arquivo enviado ou recebido

%{FOOBAR}e Conteúdo da variável de ambiente FOOBAR

%h Nome da máquina remota

%a Endereço ip da máquina remota

%l Usuário remoto

%p Número da porta do servidor

%v Nome do servidor

%P PID do processo

%r Linha inteira de comando recebida pelo cliente

%t Hora/date corrente

%{format}t Hora/date corrente formatada (no formato strftime(3))

%T Tempo, em segundos, para receber/enviar o arquivo

%s código de status do servidor

%u id do usuário local

Veja mais em: ExtendedLog, TransferLog

_________________________________________________________________

LsDefaultOptions

Sintaxe: LsDefaultOptions "options string"

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.1.6 and later

Opções do comando ls que serão utilizadas por padrão.

LsDefaultOptions "-a"

_________________________________________________________________

MaxClients

Page 124: Servidores de Redes.pdf

Sintaxe: MaxClients number|none message

Padrão: MaxClients none

Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global>

Compatibilidade: 0.99.0 and later

Define o número máximo de clientes que podem acessar o servidor ao mesmo

tempo. Pode especificar-se uma mensagem, por exemplo:

MaxClients 5 "Desculpe, mas já foi atingido o número máximo de clientes

conectados (%m)"

_________________________________________________________________

MaxClientsPerHost

Sintaxe: MaxClientsPerHost number|none message

Padrão: MaxClientsPerHost none

Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global>

Compatibilidade: 1.1.7 and later

Define o número máximo de usuários por cliente/máquina. Funciona como o

MaxClients.

_________________________________________________________________

Order

Sintaxe: Order allow,deny|deny,allow

Padrão: Order allow,deny

Pode ser usado: <Limit>

Compatibilidade: 0.99.0pl6 and later

Configura a ordem em que as opções Allow e Deny serão checadas em um

bloco <Limit>. Pelo fato de a opção Allow ser utilizada para permitir e a

Deny para restringir, a ordem em que essas opções são examinadas podem alter

significativamente as formas de segurança.

Se a configuração padrão (allow,deny) está sendo utilizada, então os

acessos "permitidos" são primeiramente verificados.

Quando a opção Order é utilizada com o parâmetro "deny,allow", os acessos

"restringidos" são verificados antes.

Para maior esclarecimento, caso seja utilizado :

Order allow,deny

1. Verifica as opções Allow. Se uma ou mais se aplicam ao caso, o

resultado será :

ALLOW (ok, tem permissão de acesso)

2. Verifica as opções Deny. Se uma ou mais se aplicam ao caso, o

resultado será :

DENY (não tem acesso)

3.O resultado final será ALLOW (acesso permitido)

Order deny,allow

1. Verifica as opções Deny. Se uma ou mais se aplicam ao caso, o

resultado será :

DENY (não tem acesso)

2. Verifica as opções Allow. Se uma ou mais se aplicam ao caso, o

resultado será :

ALLOW (ok, tem permissão de acesso)

Page 125: Servidores de Redes.pdf

3.O resultado final será DENY (acesso negado)

_________________________________________________________________

PersistentPasswd

Sintaxe: PersistentPasswd on|off

Padrão: Platform dependent

Pode ser usado: server config

Compatibilidade: 1.1.5 and later

Esta opção é utilizada para permitir o acesso apenas para usuários que

possuam seu nome e senha no arquivo /etc/passwd. No caso da utilização de

NIS ou NIS+, deve ser desabilitada esta opção. Note que não é utilizado o

arquivo /etc/shadow por motivos de segurança.

_________________________________________________________________

Port

Sintaxe: Port port-number

Padrão: Port 21

Pode ser usado: server config, <VirtualHost>

Compatibilidade: 0.99.0 and later

Define a porta que será utilizada pelo servidor, podendo ser definida uma

porta diferente para cada servidor virtual.

_________________________________________________________________

RateReadBPS

Sintaxe: RateReadBPS byte_per_sec-number

Padrão: 0

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>

Compatibilidade: 1.2.0 and later

Define a largura da banda a ser utilizada para fazer downloads. Zero

deixa a banda sem limite.

_________________________________________________________________

Page 126: Servidores de Redes.pdf

RateReadFreeBytes

Sintaxe: RateReadFreeBytes number of bytes

Padrão: 0

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>

Compatibilidade: 1.2.0 and later

Define uma certa quantidade de bytes que podem ser transferidos sem

limite de banda, somente após ultrapassar certa quantidade que será

estipular um limite.

_________________________________________________________________

RateReadHardBPS

Sintaxe: RateReadHardBPS on/off

Padrão: off

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>

Compatibilidade: 1.2.0 and later

RateReadHardBPS força o limite de RateReadBPS depois que a quantidade de

RateReadFreeBytes for transferida. Isto significa que se o usuário tiver a

banda enorme e tenha baixado a quantidade "livre" rapidamente, HardBPS

parará a transferência até que a média vá para baixo do limite dado. Se a

quantidade de FreeBytes for elevada e o ReadBPS é baixo então o usuário pode

esperar períodos de tempo prolongados até que transferência continue.

_________________________________________________________________

RateWriteBPS

Sintaxe: RateWriteBPS byte_per_sec-number

Padrão: 0

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>

Compatibilidade: 1.2.0 and later

RateWriteBPS configura a largura da banda permitida para upload. Zero não

significa nenhum limite de banda. (veja RateWriteFreeBytes para limitar a

banda somente após alguma quantidade de bytes uploaded). O lugar usual para

esta diretriz orientadora está no bloco <VirtualHost> ou <Directory>.

_________________________________________________________________

Page 127: Servidores de Redes.pdf

RateWriteFreeBytes

Sintaxe: RateWriteFreeBytes number of bytes

Padrão: 0

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>

Compatibilidade: 1.2.0 and later

RateWriteFreeBytes é a quantidade de bytes a ser transferidos sem nenhum

limite de banda, assim com essa opção você pode definir a banda cheia para

arquivos pequenos ao limitar grandes.

_________________________________________________________________

RateWriteHardBPS

Sintaxe: RateWriteHardBPS on/off

Padrão: off

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>,

<Global>

Compatibilidade: 1.2.0 and later

RateWriteHardBPS força a banda ao valor dado de RateWriteBPS depois que a

quantidade de RateWriteFreeBytes de arquivos foi transferida. Isto significa

que se o usuário tiver a banda enorme e mandou a quantidade "livre" de

arquivos rapidamente, HardBPS parará transferência até que a média vá para

baixo ao limite dado. Se a quantidade de FreeBytes for elevada e o WriteBPS

é baixo então o usuário pode esperar períodos de tempo prolongados até que

transferência continue.

_________________________________________________________________

RequireValidShell

Sintaxe: RequireValidShell on|off

Padrão: RequireValidShell on

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0 and later

Configura o acesso ao servidor "principal", virtual ou anônimo para

permitir ou negar o acesso de usuários que não têm listado no arquivo

/etc/shells um "tipo de login" (shell) binário. Por padrão, o proftpd

desabilita o acesso de usuários que não tem seu shell em /etc/shells. Se o

arquivo não for encontrado, todos são considerados válidos.

_________________________________________________________________

Page 128: Servidores de Redes.pdf

RootLogin

Sintaxe: RootLoginl on|off

Padrão: RootLogin off

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.1.5 and later

Normalmente, o acesso do super usuário é desabilitado. Quando o cliente

tenta conectar-se com o root com a senha correta, uma mensagem especial é

enviada para o syslog. Quando RootLogin está habilitado, o usuário pode

acessar o sevidor sem restrição alguma.

_________________________________________________________________

ServerAdmin

Sintaxe: ServerAdmin "admin-email-address"

Padrão: ServerAdmin root@[ServerName]

Pode ser usado: server config, <VirtualHost>

Compatibilidade: 0.99.0pl10 and later

Define o email do administrador do servidor "principal"ou virtual.

_________________________________________________________________

ServerIdent

Sintaxe: ServerIdent On|Off [identification string]

Padrão: ServerIdent ProFTPD [version] Server (server name) [hostname]

Pode ser usado: server config, <VirtualHost>, <Global>

Compatibilidade: 1.2.0pre2 and later

Configura a mensagem que é mostrada quando um cliente conecta-se ao

servidor. A mensagem padrão é "[nome_da_máquina] FTP server ready".

_________________________________________________________________

ServerName

Page 129: Servidores de Redes.pdf

Sintaxe: ServerName "name"

Padrão: ServerName "ProFTPD Server [version]"

Pode ser usado: server config, <VirtualHost>

Compatibilidade: 0.99.0 and later

Define o nome do servidor que será mostrado quando o cliente se conectar

ao servidor (ou no virtual, caso seja definido no bloco <VirtualHost>)

_________________________________________________________________

ServerType

Sintaxe: ServerType type-identifier

Padrão: ServerType standalone

Pode ser usado: server config

Compatibilidade: 0.99.0 and later

Configura o modo de funcionamento do serviço proftpd. Pode-se assumir os

valores :

* inetd :

o serviço espera para ser utilizado. Primeiramente o pedido é passado

pelo inetd e então depois para o proftpd.

* standalone :

o serviço inicializa e fica "escutando" a porta aguardando por

conexões. As novas conexões resultarão em processos filhos que serão

dedicados para todas os pedidos do novo cliente.

_________________________________________________________________

ShowDotFiles

Sintaxe: ShowDotFiles on|off

Padrão:ShowDotFiles Off

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0pl6 and later -- Deprecated

Se habilitado esta configuração, arquivos iniciados por ponto "." irão

ser listados ao digitar-se comandos para mostrar o conteúdo de diretórios.

_________________________________________________________________

ShowSymlinks

Sintaxe: ShowSymlinks on|off

Padrão: (versions previous to 1.1.5) Off for anonymous logins, On for

Page 130: Servidores de Redes.pdf

normal logins

Padrão: (versions 1.1.5 and beyond) ShowSymlinks On

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0pl6 and later

Define se as ligações simbólicas serão ou não mostradas ao ser feita a

listagem de diretórios.

_________________________________________________________________

SystemLog

Sintaxe: SystemLog filename|NONE

Padrão: None

Pode ser usado: server config

Compatibilidade: 1.1.6pl1 and later

Define um arquivo para os registros das transmissões de ftp realizadas no

servidor. Pode-se usar NONE para desabilitar qualquer maneira de registrar

as transmissões de toda a configuração do servidor.

_________________________________________________________________

TimeoutIdle

Sintaxe: TimeoutIdle seconds

Padrão: TimeoutIdle 600

Pode ser usado: server config

Compatibilidade: 0.99.0 and later

Configura o número máximo de segundos que o proftpd permite que os

usuários fiquem conectado sem receber nenhum dado no controle quanto na

conexão de dados. Se algum dado é recebido em qualquer conexão, o

temporizador é zerado. Configurando o TimeoutIdle para 0, ele é

desabilitado.

Veja mais em: TimeoutLogin, TimeoutNoTransfer

_________________________________________________________________

TimeoutLogin

Sintaxe: TimeoutLogin seconds

Padrão: TimeoutLogin 300

Pode ser usado: server config

Compatibilidade: 0.99.0 and later

Page 131: Servidores de Redes.pdf

Tempo máximo, em segundos, que o cliente deve fornecer seu usuário e

senha.

Veja mais em: TimeoutIdle, TimeoutNoTransfer

_________________________________________________________________

TimeoutNoTransfer

Sintaxe: TimeoutNoTransfer seconds

Padrão: TimeoutNoTransfer 600

Pode ser usado: server config

Compatibilidade: 0.99.0 and later

Configura o tempo máximo, em segundos, que o cliente não utiliza-se de

nenhum comando que resulte e uma conexão passiva ou de dados

(mandando/recebendo um arquivo ou executando um ls, por exemplo) mas

continua conectado.

Veja mais em: TimeoutIdle, TimeoutLogin

_________________________________________________________________

TimeoutStalled

Sintaxe: TimeoutStalled seconds

Padrão: TimeoutStalled 0

Pode ser usado: server config

Compatibilidade: 1.1.6 and later

Configura o tempo máximo, em segundos, que a conexão fica paralisada (não

se digita nada) mas continua ativa. Se definido para 0, não há limitação.

_________________________________________________________________

TransferLog

Sintaxe: TransferLog filename|NONE

Padrão: TransferLog /var/log/xferlog

Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global>

Compatiblity: 1.1.4 and later

Configura o arquivo a ser utilizado para registro de acessos/comandos do

mesmo modo que para o wu-ftpd.

Page 132: Servidores de Redes.pdf

Veja mais em: ExtendedLog, LogFormat

_________________________________________________________________

Umask

Sintaxe: Umask file octal-mask [directory octal-mask]

Padrão: None

Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Directory>,

<Global>, .ftpaccess

Compatibilidade: 0.99.0 and later

Especifica a permissão que será definida para qualquer novo arquivo ou

diretório. Devem ser utilizados números octais no formato 0xxx.

_________________________________________________________________

UseFtpUsers

Sintaxe: UseFtpUsers on|off

Padrão: UseFtpUsers on

Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global>

Compatibilidade: 0.99.0 and later

Servidores FTP legados, geralmente verificam um arquivo de autorização

(/etc/ftpusers) quando um cliente tenta se autenticar no servidor. Se o nome

desse usuário estiver no arquivo /etc/ftpusers, o acesso via ftp para o

mesmo será negado.

_________________________________________________________________

UseReverseDNS

Sintaxe: UseReverseDNS on|off

Padrão: UseReverseDNS on

Pode ser usado: server config

Compatibilidade: 1.1.7 and later

Devido ao fato de não ser possível, para os usuários anônimos e alguns

convidados, a verificação do arquivo /etc/hosts então é utilizado o DNS.

Caso ocorram problemas com o DNS, a conexão pode ficar paralisada (stall)

até que seja retornado "timeout". Desabilitando esta opção impede-se a

tentativa de conexão de dados com endereços IP reversos.

_________________________________________________________________

Page 133: Servidores de Redes.pdf

User

Sintaxe: User userid

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0 and later

Especifica o usuário que o serviço proftpd irá ser executado. Por padrão,

o proftpd é executado como root que é considerado indesejável em todos mas o

mais confiante em configuração de redes.

_________________________________________________________________

UserDirRoot

Sintaxe: UserDirRoot on|off

Padrão: off

Pode ser usado: <Anonymous>

Compatibilidade: 1.2.0pre2 and later

Quando habilitado, caso o usuário teste efetuar conexão, seu diretório

raiz será o sub-diretório com nome do usuário

When set to true, the chroot base directory becomes a subdirectory of

the anonymous ftp directory, based on the username of the current

user. For example, assuming user "foo" is aliased to "ftp", logging in

as "foo" causes proftpd to run as real user ftp, but to chroot into

~ftp/foo instead of just ~ftp.

_________________________________________________________________

UserAlias

Sintaxe: UserAlias login-user userid

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0 and later

Habilita que certos usuários remotos, quando acessarem o servidor, sejam

automaticamente definidos como usuários reais. Note que caso seja utilizado

como apelido um usuário real do sistema, o mesmo não poderá efetuar acesso,

pois apenas terá direitos iguais ao usuário que estará definido.

_________________________________________________________________

Page 134: Servidores de Redes.pdf

UserPassword

Sintaxe: UserPassword userid hashed-password

Padrão: None

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 0.99.0pl5 and later

Cria uma senha particular, diferente da existente no(s) arquivo(s)

/etc/passwd e/ou /etc/shadow. A senha deve ser texto passado pela função

crypt(). Ao invés de utilizar-se de grupos para acesso, através do

UserAlias.

Veja mais em: GroupPassword

_________________________________________________________________

<VirtualHost>

Sintaxe: <VirtualHost address>

Padrão: None

Pode ser usado: server config

Compatibilidade: 0.99.0 and later

Este bloco é utilizado para realizar uma configuração independente do servidor padrão

aplicadas a um servidor particular ou a um endereço IP. Frequentemente é utilizado em

conjunto com IP aliasing e dummy network a nível de sistema afim de estabelecer um ou

mais servidores virtuais que rodam na mesma máquina. O bloco termina com

</VirtualHost>. É possível utilizar-se de portas diferentes para cada servidor, mas não é

válido para quando o servidor é do tipo inetd (ServerType inetd).

Quando inicializa-se o proftpd, as conexões virtuais são feitas de duas

formas, dependendo da configuração de ServerType:

* inetd: O serviço verifica o endereço de destino e a porta da conexão

requerida pelo inetd. Caso seja referente a algum dos servidores

virtuais a conexão será baseada nesta configuração. Caso não

seja referente a nenhum dos servidores virtuais e nem ao principal é

informado ao cliente de que não há nenhum servidor disponível.

* standalone: Após analisar o arquivo de configuração, o serviço fica à

"escuta" de todas as portas configuradas, executando a quantidade

necessária de processos filhos para prover conexões seguras para o

servidor principal e para cada servidor virtual.

_________________________________________________________________

Page 135: Servidores de Redes.pdf

=---------------------- WtmpLog =----------------------

Sintaxe: WtmpLog on|off|NONE

Padrão: WtmpLog on

Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global>

Compatibilidade: 1.1.7 and later

Caso seja desejado que o registro de acesso de usuários seja feito no

arquivo de sistema wtmp (/var/log/wtmp), pois alguns comandos utilizam este

arquivo (exemplo, last).

=----------------------

Esta documentação foi retirada de /usr/doc/proftpd-***/Configuration.html

9.3. Como fazer com que o root possa acessar o

FTP? Edite o arquivo /etc/ftpusers e retire o nome do root do arquivo: [root@localhost]# mcedit /etc/ftpusers

Ps: Todos os nomes que estão no arquivo tem acesso negado no ftp.

9.4. Como configurar o wuftp pelo linuxconf e no

arquivo? ### Versão 7.0 ###

A primeira coisa a fazer é verificar se os pacotes necessários estão instalados: [root@localhost]# rpm -qa | grep ftp

anonftp-3.0-4cl

wu-ftpd-2.6.1-1cl

linuxconf-wuftpd-1.21r8-7cl

Deverá aparecer pelo menos estes três pacotes. Se algum deles não aparecer, então será

necessários instalar o pacote (ou pacotes) que está faltando. É preciso montar o CD 1 do

Conectiva Linux: [root@localhost]# mount /mnt/cdrom

Page 136: Servidores de Redes.pdf

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Agora é só instalar os pacotes que estão faltando: [root@localhost]# rpm -ivh anonftp*

[root@localhost]# rpm -ivh wu-ftpd*

[root@localhost]# rpm -ivh linuxconf-wuftpd*

Execute o comando rpm como acima para cada pacote a ser instalado. Após instalar,

verifique se existe a linha : ftp 21/tcp

no arquivo /etc/services, pois é onde está sendo definida a porta de ftp. Verifique se a

mesma não está comentada (tire o # da frente da linha, se este caracter existir). E também,

verificar se a linha abaixo, do arquivo /etc/inetd.conf está descomentada/habilitada. ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

Caso não esteja, basta descomentar e reinicializar o serviço inet: [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Pronto, seu servidor de ftp está em funcionamento, com as configurações básicas (padrões).

Agora é preciso executar o linuxconf para configurar/personalizar o servidor de ftp: [root@localhost]# linuxconf

Vá em:

Configuração+Ambiente de rede+Wu-ftp - servidor de ftp+Configuração básica

Na aba "Diversos" existe as seguintes opções:

"Email do administrador": endereço de correio eletrônico do administrador do sistema.

Page 137: Servidores de Redes.pdf

"Grupo de convidados": aqui você pode informar o grupo do Linux ao qual o usuário

anonymous pertencerá. Se este campo não for preenchido, o grupo nobody será utilizado.

"Arquivo de banner": o conteúdo do arquivo de banner será mostrado aos usuários no

momento em que os mesmos acessarem com sucesso o seu servidor.

"Mensagem de encerramento": se o arquivo informado existir, sempre que um usuário tentar

acessar o servidor, seu conteúdo será mostrado e o servidor irá fechar a conexão.

"Permitir acesso anônimo": aqui você pode permitir ou proibir os acessos anônimos (por isso

o pacote anonftp-3.0-4cl deve estar instalado).

Agora, na aba "Controles de acesso" existe três classes de usuários:

"Usuários reais": controle de acesso dos usuários reais do seu sistema. Esses são os usuários

que têm contas em sua rede.

"Usuários convidados": controle de acesso a usuários convidados.

"Anônimos": controle de acesso de usuários que se conectam anonimamente.

As opções disponíveis para cada grupo são idênticas. As opções disponíveis são:

"pode requisitar arquivos comprimidos": define se o usuário pode requisitar que seus

arquivos sejam compactados. O WU-FTPD permite a compactação de arquivos durante a

transmissão.

"pode requisitar arquivos tar": especifica se o usuário tem permissão de solicitar o

arquivamento de arquivos transmitidos com o tar.

"pode usar chmod para arquivos":especifica se o usuário pode modificar as permissões de

arquivos localizados no servidor FTP.

"pode excluir arquivos": define se o usuário tem permissão de apagar arquivos localizados

no servidor FTP.

"pode atualizar arquivos": define se o usuário pode sobrescrever arquivos no servidor.

"pode renomear arquivos": especifica se o usuário pode modificar o nome dos arquivos

localizados no servidor.

"registrar transferências recebidas": especifica se o servidor deve manter um registro de

arquivos recebidos.

"registrar transferências expedidas": especifica se o servidor deve manter um registro de

arquivos enviados.

Na aba "Vários tempos de espera" pode-se deixar os tempos padrões ou alterar conforme o

necessário.

Clique em "Aceitar" e saia do linuxconf.

Servidores Virtuais ===================

Para a criação de domínios virtuais (Virtual hosts) é necessário que o seu servidor deve estar

com seu nome cadastrado como válido no servidor de nomes (DNS). [root@localhost]# linuxconf

Vá em:

Configuração -> Ambiente de rede -> Wu-ftp - servidor de ftp -> Máquinas virtuais

Clique em adicionar.

Nos campos:

"Máquina virtual": digite o nome da máquina (virtual machine).

"Caminho do arquivamento": diretório para acesso do servidor de ftp.

"Arquivo da mensagem de banner": nome do arquivo de banner.

"Arquivo de registro": nome do arquivo de registro.

Page 138: Servidores de Redes.pdf

Clique em "Aceitar" e saia do linuxconf. Se o seu DNS estiver funcionando corretamente o

novo nome para o ftp virtual funcionará sem problemas.

Caso seja necessária alguma outra configuração específica que não exista no linuxconf,

pode-se editar diretamente o arquivo de configuração. Primeiramente faça a checagem dos

pacotes instalados e inet configurado e startado conforme indicado no início deste

documento. Depois disso, o seu servidor de ftp está em funcionamento, com as

configurações básicas (padrões).

--------------------------------------------------------------------------

Aqui vão as descrições de algumas opções mais relevantes que são adicionadas ao arquivo

/etc/ftpaccess (arquivo mais importante) que podem ser encontradas na documentação (man

ftpaccess).

Para maiores configurações, deve-se utilizar-se dos seguintes arquivos : =----------------------

##########################################################################

##################

/etc/ftpaccess < -------- Configurações gerais do servidor. Exemplo:

# Define uma classe de usuários: reais, convidados e anônimos class all real,guest,anonymous *

class rmtusers guest,anonymous *

class local real *

=----------------------

=----------------------

# Para restringir o acesso de usuários reais, basta retirar o real da linha anterior

# Para restringir o acesso de usuários convidados, basta retirar o guest da linha anterior

# Para restringir o acesso de usuários anônimos, basta retirar o anonymous da linha anterior

# É possível restringir o acesso de tipos de usuários de um certo domínio : class renegados

real !*.domínio.com.br

# O "!" funciona como negação e renegados = o nome da classe

# Para limitar o número máximo de usuários conectados simultaneamente, por

# classe:

# Onde < class > é a classe na qual deseja-se limitar

# < n > é o número máximo de usuários

# < arquivo_de_mensagem > é a mensagem a ser exibida caso a conexão seja

# negada limit < class > < n > Any < arquivo_de_mensagem >

# Proíbe qualquer máquina do domínio conectiva.com.br de efetuar login e

# exibe o arquivo /etc/wu-ftpd/access_deny_msg deny *.conectiva.com.br /etc/wu-

ftpd/access_deny_msg

# Proíbe que as máquinas/domínios listados no arquivo

# /etc/wu-ftpd/deny_hosts efetuem login e exibe a mensagem contida no

# arquivo /etc/wu-ftpd/access_deny_msg deny /etc/wu-ftpd/deny_hosts /etc/wu-

ftpd/access_deny_msg

# Definição de grupos de convidados, mesmo sendo um usuário real, caso o

# grupo do mesmo esteja na lista de guestgroup a sessão de ftp dele será

Page 139: Servidores de Redes.pdf

# automaticamente passada para uma sessão anônima guestgroup users

# Define um usuário convidado. No /etc/passwd deve estar definido o seu

# diretório root e também o $HOME deste usuário ao utilizar o ftp. Esses

# diretórios devem ser separados por "/./", por exemplo:

# convidado:senha:id:gid:Conta de FTP - convidado:/ftp/./incoming:/etc/ftponly guestuser

convidado

# Definição de grupos/usuários reais, por exemplo, caso se tenha utiizado a

# opção guestgroup * mas ainda deseja-se que os usuários do grupo suporte

# queiram acessar como reais: realgroup suporte realuser usuario

# Toda vez que um usuário da classe abaixo acessar o ftp, o processo do

# servidor ftp irá ter prioridade = valor nice nice < valor nice > [< classe que se logar >]

# Define o valor de umask para cada classe ou geral defumask 011 rmtusers defumask 022

local

# Segundos que o serviço espera pela vinda de uma conexão PASV timeout accept 120

# Segundos que o serviço espera para realizar a conexão de dados com a porta timeout

connect 120

# Segundos que o serviço espera por atividades na conexão de dados timeout data 1200

# Segundos que o serviço espera pelo próximo comando timeout idle 900

# Segundos que o serviço espera pelo próximo comando (valor máximo, não pode

# ultrapassar). Caso o timeout idle ultrapasse o valor do maxidle, é sempre

# válido o maxidle

timeout maxidle 1200

# Segundos que o serviço disponibiliza para toda a conversação RFC931:

# http://andrew2.andrew.cmu.edu/rfc/rfc931.html timeout RFC931 10

# Quantidade de arquivos máxima que um usuário da classe <class > pode

# transferir, onde < tipo > pode ser um dos seguintes:

# [raw] total: total de arquivos (entrada + saída)

# [raw] out: saída

# [raw] in: entrada

# No caso de especificar raw, será considerado o tráfego total, e não

# apenas os arquivos transferidos file-limit < tipo > < valor > < class >

Ex:

file-limit total 10 all Especifica um máximo de 10 arquivos transferidos para os usuários da

classe "all".

file-limit raw total 15 all

Especifica um máximo de 15 arquivos transferidos (total, incluídos os arquivos de avisos do

sistema) para os usuários da classe "all"

# Quantidade de bytes máxima que um usuário da classe < class > pode

# transferir, onde < tipo > pode ser um dos seguintes:

# [raw] total total de arquivos (entrada + saída)

# [raw] out saída

# [raw] in entrada

# No caso de especificar raw, será considerado o tráfego total, e não

# apenas os arquivos transferidos data-limit < tipo > < valor > < class >

Page 140: Servidores de Redes.pdf

# Tempo máximo (em minutos) da conexão para usuários convidados, anônimos e ou os

dois:

# limit-time guest 60

# limit-time anonymous 60

# limit-time * 60

# Por esta opção, usuários reais não possuem tempo máximo de conexão limit-time guest 10

# Não permite a transferência de arquivos.

# Sintaxe: noretrieve [absolute|relative] [class=< classname >] ... [-] < filename > < filename

>noretrieve class=rmtusers /home/*/.bashrc

# Após 3 tentativas de acesso sem sucesso, é guardado no log informações de

# que após 3 tentativas não foi possível o acesso e é terminada a conexão loginfails 3

# Define o modo da mensagem de "boas-vindas" ao se conectar:

# full: exibe o nome do servidor e qual serviço utiliza

# (proftpd/wu-ftpd/etc)

# brief: exibe apenas o nome da máquina

# terse: exibe apenas a mensagem: "FTP server ready" greeting full

# Define uma mensagem padrão de conexão - NOTE: caso seja definido o tipo de

# mensagem (acima), o texto abaixo não irá aparecer greeting text Servidor de FTP

# Logo após entrar com usuário e senha (com sucesso) será mostrado o

# conteúdo do arquivo. banner /etc/ftp/banner

# Define o nome padrão do servidor ftp - pode ser acessado através de %L,

# caso seja um servidor virtual, este valor não é utilizado hostname lilica

# Define o email do administrador do servidor - pode ser acessado por %E email

[email protected]

# Exibe o conteúdo do arquivo < path > quando o usuário acessar o servidor

# < LOGIN > ou quando entrar em algum diretório < CWD >

# message < path > {< when > {< class > ...}} message /etc/ftp/message

CWD=/home/ftp/pub all

# No arquivo de mensagens, podem haver os seguintes "atalhos":

# %T tempo (formato Thu Nov 15 17:12:42 1990)

# %F espaço livre na partição (kbytes) [não suportado em todos]

# %C diretório local (equivale ao pwd)

# %E email do administrador

# %R nome da máquina que está acessando o servidor

# %L nome do servidor

# %u nome do usuário determinado via autenticação RFC931

# %U nome do usuário que está logado (que foi digitado)

# %M número máximo de usuários permitidos nesta classe

# %N número de usuários correntes desta classe

# %B número absoluto em blocos de disco alocados

# %b limite preferido em blocos de disco

# %Q Contagem de bloco corrente

# %I número máximo de inodes alocados (+1)

# %i limite de inode preferido

# %q número corrente de inodes alocados

Page 141: Servidores de Redes.pdf

# %H limite de tempo para uso excessivo de disco

# %h limite de tempo para arquivos excessivos

# readme < path > {< when > {< class >}}

# Exibe uma indicação de que o usuário deve verificar um certo arquivo

# < path >readme /home/ftp/README LOGIN all

# Guarda o log dos comandos dos usuários, dividido por tipos, real, guest,

# anonymous e separados por vírgulas log commands guest,anonymous

# Guarda o log das transferências de arquivos de usuários anônimos,

# convidados e/ou reais.

# inbound = arquivos enviados ao servidor

# oubound = arquivos baixados do servidor log transfers real,anonymous,guest inbound

# Guarda o log das violações das regras de segurança para usuários reais,

# anônimos ou convidados. log security anonymous,guest

# Redireciona os avisos de transferências de arquivos para o syslog, sem isso,

# irá para xferlog log syslog

# Redireciona os avisos de transferências de arquivos para o syslog e

# xferlog log syslog+xferlog

# Permite utilizar-se de apelidos para diretórios alias atualizacoes

/pub/conectiva/atualizacoes

# Isto define um diretório de busca que seja usado ao mudar diretórios. cdpath

/pub/conectiva/atualizacoes cdpath /pub/conectiva/beta

# O sistema irá verificar todo o tempo se o servidor será desligado, caso

# sim, o usuário que estiver acessando o servidor será avisado, novos

# acessos não serão permitidos antes de certo tempo (definido no arquivo de

# configuração) de o servidor ser desligado. shutdown /etc/ftp_shutdown

# Parâmetros para o arquivo:

# < ano > < mês > < dia > < hora < minuto > <hora1 > < hora2 >

# < texto >

# onde

# < ano > qualquer ano > 1970

# < mês > 0-11

# < hora > 0-23

# < minuto > 0-59

# < hora1 > e < hora2 > no formato HHMM, definem a hora em que os usuários serão

# avisados do desligamento do servidor e quando será realizado o

# desligamento automático de usuários.

# < texto > Segue o mesmo padrão da tag "message" com as opções :

# %s hora em que o servidor será desligado

# %r hora em que conexões não serão mais permitidas

# %d hora em que as conexões serão desligadas

# Para a criação de domínios virtuais (Virtual hosts) é necessário que o seu

# servidor deve estar com seu nome cadastrado como válido no servidor de

# nomes :

# virtual < address > < root|banner|logfile > < path >virtual ftp.suporte root

/home/ftp/suporte banner /etc/ftp/sup_banner logfile xferlog_suporte

Page 142: Servidores de Redes.pdf

# Define os usuários que podem ou não ter acesso ao servidor virtual de ftp.

# virtual < address > allow < username > [< username > ...]

# virtual < address > deny < username > [< username > ...] virtual ftp.suporte allow * virtual

ftp.suporte deny usuario

# Geralmente, é permitido o acesso de usuários anônimos em domínios

# virtuais, com a opção a seguir, é retirada esta permissão. virtual ftp.suporte private

# Define os usuários que podem ou não ter acesso ao servidor de ftp. defaultserver allow

usuario defaultserver deny *

# Geralmente, é permitido o acesso de usuários anônimos em servidores ftp,

# com a opção a seguir, é retirada esta permissão. defaultserver private

# passive address < externalip > < cidr >

# Permite que certos intervalos de ip's acessem um certo servidor ao invés

# do padrão. passive address 10.0.1.15 10.0.0.0/8 passive address 192.168.1.5 0.0.0.0/0

# Especifica o nome de um servidor de email, para onde será enviada as

# mensagens de notificação de "uploads". São aceitos vários servidores, onde

# o serviço de ftp irá mandar mensagens até que um dos servidores definidos

# aceite a mensagem. mailserver mail.conectiva.com.br mailserver mail.domínio.com.br

mailserver www.emails.com

# Define o email de quem irá receber informações sobre os "uploads"

# anônimos. Pode-se definir mais de um email, todos serão notificados. Caso

# não seja definido nenhum email, não haverá avisos. incmail [email protected]

incmail [email protected]

# Define o email de quem irá receber informações sobre os "uploads" anônimos

# do domínio virtual. Caso não seja definido, serão enviadas notificações

# para o email geral. virtual ftp.suporte incmail [email protected]

# Define o email de quem irá receber informações sobre os "uploads"

# anônimos no servidor padrão (excluindo os virtuais). defaultserver incmail

[email protected]

# Define o email do usuário que enviará a mensagem mailfrom [email protected]

# Define o email do usuário que enviará a mensagem para o servidor virtual virtual

ftp.suporte mailfrom [email protected]

# Define o email geral do usuário que enviará a mensagem (apenas do servidor

# padrão) defaultserver mailfrom [email protected]

# Permite ou não executar a especificada função. Por padrão, todas são

# permitidas. Pode-se utilizar classes de usuários, bastando seguir a

# sintaxe class=nome_da_classe

# chmod < yes|no > < typelist >chmod no anonymous

# delete < yes|no > < typelist >delete yes real,guest,anonymous

# overwrite < yes|no > < typelist >overwrite yes real,guest,anonymous

# rename < yes|no > < typelist >rename no guest

# umask < yes|no > < typelist >umask no real

# Define o nível de checagem das senhas do usuário anônimo.

# passwd-check < none|trivial|rfc822 > (< enforce|warn >)

# none, não realiza checagem alguma

# trivial, deve haver "@"

Page 143: Servidores de Redes.pdf

# rfc822, a senha deve ser compatível com a regra rfc822:

# http://www.faqs.org/rfcs/rfc822.html

# enforce, caso a senha não seja aceita, não realiza o acesso

# warn, caso a senha não seja aceita, apenas avisa o usuário e então acessa passwd-check

rfc822 enforce

# Define as senhas que não serão aceitas (dependerá da configuração acima se

# o usuário poderá ou não acessar o servidor) deny-email [email protected] deny-

email [email protected] deny-email [email protected]

# Define se um diretório tem ou não permissão para realizar "uploads"

# upload [absolute|relative] [class=< classname >]... [-] < root-dir > < dirglob >

# < yes|no > < owner > < group > < mode > ["dirs"|"nodirs"] [< d_mode >]

# Nos casos abaixo, var/ftp é o diretório raiz do usuário, e /incoming e

# /incoming/gifs são diretórios contidos dentro da raiz.

# nodirs não permite a criação de diretórios.

# Não permitir upload upload /var/ftp * no

# Permitir upload no diretório incoming upload /var/ftp /incoming yes * * 0666

# Permitir upload e criação de subdiretórios no diretório incoming/gifs upload /var/ftp

/incoming/gifs yes jlc guest 0600 nodirs

# Define a taxa máxima de transferência para determinados arquivos, caso

# utilize-se "*" é válido como todos os arquivos do diretório definido throughput /e/ftp * *

oo - *

# Taxa de transferência máxima para todos os arquivos localizados no

# diretório /e/ftp throughput /e/ftp /sw* * 1024 0.5 *

# Taxa de transferência máxima = 1024 bps para todos os arquivos localizados

# em /e/ftp/sw throughput /e/ftp /sw* README oo - *

# Taxa de transferência máxima para arquivos chamados README throughput /e/ftp /sw* *

oo - *.foo.com

# Taxa de transferência máxima para usuários do domínio foo.com

# Os caraceteres "oo" significam que não há restrição e "-","0.5" são os

# fatores por qual será multiplicado o valor de bps definido para cada nova

# transferência realizada no diretório indicado

# Define o diretório raiz (/) de usuários anônimos, onde real e rmtusers são

# classes de usuários anonymous-root /home/ftp/uploads real anonymous-root /home/ftp/pub

rmtusers

# Define o diretório raiz de usuários convidados, pode ser passado o

# parâmetro de um intervalo de id's dos usuários guest-root /home/users

# Define para todos os usuários o diretório raiz = /home/users guest-root /home/staff %100-

999 usuario

# Define para os usuários com id >= 100 e <= 900 e o usuário usuario a raiz

# = /home/staff guest-root /home/users/barea/ftp barea

# Define para o usuário barea o diretório raiz = /home/users/barea

# Permite ou não o acesso de usuários através de seus id's, gid's ou nome

# (usuário e grupo) deny-gid %-99 %65535 deny-uid %-99 %65535 allow-gid ftp allow-uid

ftp

Page 144: Servidores de Redes.pdf

# Permite ou não o acesso de determinados usuários além de seu home restricted-uid <

usuario >>unrestricted-gid < usuario >

# Onde < usuario> pode ser * (todos)

------------------------------------------------------------------------------------------

/etc/ftphosts < ----- Arquivo que contém regras para o login de usuários/máquinas

# Example host access file

# Everything after a '#' is treated as comment,

# empty lines are ignored

# Habilita o login das máquinas addrglob com apenas o usuário X

# allow < username > < addrglob > [< addrglob > ...] allow gonzalez

192.168.255.0:255.255.255.0

# Desabilita o login de qualquer máquina que utilize-se do usuário X

# deny < username > < addrglob > [< addrglob > ...] deny luciano

192.168.255.0:255.255.255.0

------------------------------------------------------------------------------------------

/etc/ftpusers < -------- Arquivo que contém o nome dos usuários que não podem realizar

ftp root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

9.5. Como configurar o wuftp pelo linuxconf? A primeira coisa a fazer é verificar se os pacotes necessários estão instalados: [root@localhost]# rpm -qa | grep ftp

anonftp-3.0-4cl

wu-ftpd-2.6.1-1cl

linuxconf-wuftpd-1.21r8-7cl

Deverá aparecer pelo menos estes três pacotes. Se algum deles não aparecer, então será

necessários instalar o pacote (ou pacotes) que está faltando. É preciso montar o CD 1 do

Conectiva Linux: [root@localhost]# mount /mnt/cdrom

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Agora é só instalar os pacotes que estão faltando:

Page 145: Servidores de Redes.pdf

[root@localhost]# rpm -ivh anonftp*

[root@localhost]# rpm -ivh wu-ftpd*

[root@localhost]# rpm -ivh linuxconf-wuftpd*

Execute o comando rpm como acima para cada pacote a ser instalado.

Após instalar, verifique se existe a linha:

ftp 21/tcp

no arquivo /etc/services, pois é onde está sendo definida a porta de ftp. Verifique se a

mesma não está comentada (tire o # da frente da linha, se este caracter existir).

E também, verificar se a linha abaixo, do arquivo /etc/inetd.conf está

descomentada/habilitada.

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

Caso não esteja, basta descomentar e reinicializar o serviço inet: [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Pronto, seu servidor de ftp está em funcionamento, com as configurações básicas (padrões).

Agora é preciso executar o linuxconf para configurar/personalizar o servidor de ftp: [root@localhost]# linuxconf

Vá em: Ambiente de rede

Wu-ftp - servidor de ftp

Configuração básica

Na aba "Diversos" existe as seguintes opções:

"Email do administrador": endereço de correio eletrônico do administrador do sistema.

"Grupo de convidados": aqui você pode informar o grupo do Linux ao qual o usuário

anonymous pertencerá. Se este campo não for preenchido, o grupo nobody será utilizado.

"Arquivo de banner": o conteúdo do arquivo de banner será mostrado aos usuários no

momento em que os mesmos acessarem com sucesso o seu servidor.

"Mensagem de encerramento": se o arquivo informado existir, sempre que um usuário tentar

acessar o servidor, seu conteúdo será mostrado e o servidor irá fechar a conexão.

"Permitir acesso anônimo": aqui você pode permitir ou proibir os acessos anônimos (por isso

o pacote anonftp-3.0-4cl deve estar instalado).

Agora, na aba "Controles de acesso" existe três classes de usuários:

"Usuários reais": controle de acesso dos usuários reais do seu sistema. Esses são os usuários

que têm contas em sua rede.

"Usuários convidados": controle de acesso a usuários convidados.

"Anônimos": controle de acesso de usuários que se conectam anonimamente.

As opções disponíveis para cada grupo são idênticas. As opções disponíveis são:

"pode requisitar arquivos comprimidos": define se o usuário pode requisitar que seus

arquivos sejam compactados. O WU-FTPD permite a compactação de arquivos durante a

transmissão.

Page 146: Servidores de Redes.pdf

"pode requisitar arquivos tar": especifica se o usuário tem permissão de solicitar o

arquivamento de arquivos transmitidos com o tar.

"pode usar chmod para arquivos":especifica se o usuário pode modificar as permissões de

arquivos localizados no servidor FTP.

"pode excluir arquivos": define se o usuário tem permissão de apagar arquivos localizados

no servidor FTP.

"pode atualizar arquivos": define se o usuário pode sobrescrever arquivos no servidor.

"pode renomear arquivos": especifica se o usuário pode modificar o nome dos arquivos

localizados no servidor.

"registrar transferências recebidas": especifica se o servidor deve manter um registro de

arquivos recebidos.

"registrar transferências expedidas": especifica se o servidor deve manter um registro de

arquivos enviados.

Na aba "Vários tempos de espera" pode-se deixar os tempos padrões ou alterar conforme o

necessário.

Clique em "Aceitar" e saia do linuxconf.

Servidores Virtuais

Para a criação de domínios virtuais (Virtual hosts) é necessário que o seu servidor deve estar

com seu nome cadastrado como válido no servidor de nomes (DNS). [root@localhost]# linuxconf

Vá em: Ambiente de rede

Wu-ftp - servidor de ftp

Máquinas virtuais

Clique em adicionar.

Nos campos:

"Máquina virtual": digite o nome da máquina (virtual machine).

"Caminho do arquivamento": diretório para acesso do servidor de ftp.

"Arquivo da mensagem de banner": nome do arquivo de banner.

"Arquivo de registro": nome do arquivo de registro.

Clique em "Aceitar" e saia do linuxconf. Se o seu DNS estiver funcionando corretamente o

novo nome para o ftp virtual funcionará sem problemas.

Capítulo 10. MARS

10.1. Posso emular um servidor Novell no meu

Linux? O Mars-NWE oferece um subconjunto do protocolo NCP, suficiente para que as estações e

demais servidores enxerguem-no como servidor Netware. Já quanto a administração do

servidor (contas de usuários, permissões etc.), muita coisa tem de ser feita pelo Linux, pois

Page 147: Servidores de Redes.pdf

as ferramentas de administração do Netware (SYSCON, FCONSOLE...) não são eficazes

com o Mars. Afinal, é um emulador, não um sistema operacional.

1. Algumas noções gerais de IPX

O IPX é um protocolo de transporte, que encarrega-se de transportar UM pacote de rede da

origem ao destino. O controle da sessão é feito por outros protocolos empilhados sobre dele.

No caso dos serviços Netware, o protocolo de sessão é o NCP.

Em máquinas que usam TCP/IP, há necessidade de especificar o número IP de cada uma

delas. Já no IPX, isso não precisa ser feito. O "número IPX" de cada máquina é o próprio

número Ethernet de 48 bits da placa de rede.

Também não é suportado, no IPX, o conceito de netmask. O número de rede é um campo

separado, de 32 bits, do cabeçalho do pacote IPX. Cada rede local deve ter um número

unívoco. Desta forma, o protocolo IPX é roteável, tal como o TCP/IP.

Adicionalmente, servidores Netware nativos e também o Mars desempenham

automaticamente a função de roteadores, se estiverem ligados a mais de uma rede local.

Uma vez por minuto, os servidores "anunciam-se" com pacotes de broadcast, e isso permite

que os servidores montem rapidamente uma tabela de roteamento dinâmica. Também é

possível especificar rotas estáticas para IPX, mas dificilmente isso é necessário (um possível

uso de rota estática é a interligação de redes via WAN). O protocolo de auto-descoberta de

rotas é denominado RIP, e seu modo de operação é análogo ao protocolo homônimo RIP

para TCP/IP.

O kernel do Linux permite criar uma rede interna no próprio kernel.

Se você for usar o Mars-NWE, não use esse recurso. O próprio Mars encarrega-se de criar a

rede interna e não vai funcionar se o kernel já o tiver feito;

Os utilitários ipx_configure e ipx_interface configuram interfaces de rede para funcionarem

com IPX. Eles são úteis quando você precisa montar volumes Netware remotos (com

ncpmount) e NÃO estiver usando o Mars no computador-cliente. Ainda, o ipx_interface

permitirá que você atribua a interface primária a uma placa de rede (como já foi dito, uma

das interfaces tem de ser a primária). Alias, você será obrigado a configurar a primeira

interface de rede como primária se utilizar o ipx_interface;

Como o Mars cria sua própria rede interna e atribui a rede primária a ela, está claro que ele

não funcionará se as interfaces IPX tiverem sido previamente configuradas com o

ipx_interface. Assim, NÃO MISTURE o Mars com comandos ipx_interface e

ipx_configure. Nem mesmo ative IPX no LinuxConf se for usar o Mars;

O Mars-NWE permite que as interfaces de rede "reais" sejam especificadas em seu arquivo

de configuração, o que elimina qualquer necessidade residual de utilizar o ipx_interface.

2. Autenticação de usuários

Como foi visto no arquivo de configuração, a cada usuário Netware corresponde um usuário

Unix, que deve estar cadastrado no arquivo /etc/passwd.

Porém, a autenticação da senha não é feita com base na senha

do /etc/passwd ou /etc/shadow. A primeira senha do usuário pode ser colocada no próprio

arquivo /etc/nwserv.conf. Quando o Mars lê o arquivo de configuração e detecta que há

novos usuários no arquivo (ou seja, que ainda não estão cadastrados no bindery) ele

cadastra-os como objetos de bindery, com as senhas especificadas.

A especificação de senhas para usuários no arquivo /etc/nwserv.conf não é obrigatória nem

recomendada. O ideal é cadastrar o usuário sem senha, atribuir uma senha qualquer com o

Page 148: Servidores de Redes.pdf

passwd (DOS) ou nwpasswd (utilitários Netware para Linux), e deixar o próprio usuário

redefinir sua senha a gosto.

Os usuários UNIX devem ser cadastrados em grupos condizentes com os grupos de trabalho.

Por exemplo, se você tem usuários do setor de recursos humanos, contas a receber e chão de

fábrica, e cada um desses grupos deve ter acesso restrito aos respectivos arquivos, devem ser

criados três grupos UNIX (o script groupadd pode ser útil), e os usuários devem ser

membros desses grupos.

Se determinados usuários pertencem a mais de um grupo de trabalho, isso não constitui

problema. No Unix, cada usuário pertence a um único grupo primário, mas é fácil atribuir

grupos secundários ao usuário, através de intervenção manual do arquivo/etc/group.

3. Bindery

Desde a versão 0.99pl9, o Mars-NWE é capaz de armazenar objetos de bindery. Programas

que dependam dessa capacidade funcionarão todos.

Porém, o Mars não honra objetos de configuração do próprio servidor, tais como trustees e

limitações de horário. Você pode até criar trustess com o SYSCON, eles ficarão

corretamente armazenados, mas não terão o efeito prático. As permissões de usuários devem

ser controladas pelo arquivo de configuração e pelo próprio Linux. Os únicos objetos de

bindery que o Mars honra são as senhas dos usuários, que podem então ser configuradas pelo

SYSCON. Assim, cada usuário pode configurar sua senha sem intervenção do administrador

do sistema.

Os objetos de bindery, por padrão, ficam armazenados no diretório /var/mars_nwe/*,

portanto é importante fazer cópia de segurança desses diretórios, além dos diretórios dos

volumes.

4. Login scripts

Os login scripts ficam armazenados no diretório SYS:MAIL\, tal como num servidor

Netware. Além disso, você será capaz de criar/alterar esses arquivos via SYSCON.

Às vezes o SYSCON não consegue gravar o login script; ele grava um arquivo LOGIN.BAK

no diretório do usuário e não consegue renomeá-lo para LOGIN. Geralmente isso é

problema de permissão em diretórios ou arquivos velhos. Renomeie manualmente no Linux

e atribua as permissões do usuário. É certo que isso não acontecerá uma segunda vez.

Se você estiver migrando do Netware para o Mars, certamente vai montar o volume Netware

com ncpmount e copiar os dados para um diretório como /home/netware/sys ou coisa

parecida. Muito bem, é interessante que, uma vez feita a cópia, você apague os subdiretórios

do diretório SYS:MAIL.

Se você não o fizer, ali ficarão os diretórios antigos, criados pelo servidor Netware. E é certo

que os números de usuário atribuídos pelo Netware (que são justamente os nomes dos

diretórios) não vão bater com os números criados pelo Mars; e você terá de ficar

descobrindo '"quem é quem" e atribuir as permissões corretas com chown e chmod etc...

Apague tudo; assim que você iniciar o Mars, todos os diretórios serão criados

automaticamente. Só então preencha os login scripts dos usuários.

5. Permissões dos usuários

Como os trustees não são honrados pelo Mars, é necessário estabelecer as permissões no

próprio Linux através dos comandos chmod, chgrp e chown.

Já vimos que o arquivo de configuração do Mars estabelece uma relação entre usuários

Netware e usuários UNIX. Os comandos citados acima trabalham apenas com usuários

Page 149: Servidores de Redes.pdf

UNIX, portanto as permissões tem de ser "pensadas" em termos de usuários UNIX. (É certo

que se os usuários UNIX tiverem os mesmos nomes dos usuários Netware, fica tudo mais

fácil ...)

O usuário Unix associado ao "supervisor" pode ser o root, ou um usuário comum. Se for um

usuário comum, ele deve ter um grupo primário só seu, e também deve participar de todos os

grupos onde haja usuários Unix associados com usuários Netware. Isso garante que o

supervisor possa de fato ler e gravar qualquer arquivo dos volumes exportados.

É melhor associar o supervisor a um usuário Unix comum.

Basicamente, os seguintes pontos tem de ser observados: Os diretórios e arquivos SYS:SYSTEM, SYS:PUBLIC e SYS:LOGIN devem ser

possuídos por root:root (ou outro usuário:grupo que foi especificado como

sendo supervisor), e com permissões de leitura para todo mundo;

O diretório SYS:MAIL deve ser possuído por root:root mas com permissão

de leitura a todo mundo;

Os demais diretórios e arquivos devem ser possuídos pelos respectivos

usuários:grupos;

As permissões de todos os diretórios devem ser: 2775 se legíveis a todos

os usuários; e 2770 se legíveis apenas aos usuários do grupo. O dígito "2"

aciona o bit SGID do diretório; assim quaisquer arquivos e diretórios novos

criados dentro do diretório serão possuídos pelo usuários que os criaram,

mas o grupo será sempre o mesmo do diretório-mãe. Assim, os demais usuários

do grupo também terão acesso garantido aos novos arquivos e diretórios. Note

que isso complementa a configuração das máscaras de permissão do arquivo

/etc/nwserv.conf;

O diretório-raiz de cada volume (como no arquivo-exemplo, o diretório

/home/netware/sys) deve ter permissões 775 e ser possuído por root:root

(ou outro usuário:grupo que foi especificado como sendo supervisor), salvo

se os usuários tenham permissão de criar arquivos/diretórios no

diretório-raiz

do volume, caso em que as permissões devem ser 777;

Os diretórios MAIL/ devem ser possuídos pelos respectivos usuários e

grupos

primários. Os arquivos LOGIN podem ser possuídos pelo usuário ou ainda

possuídos

pelo root (neste último caso o arquivo está protegido contra tentativas de

alteração que partam do próprio usuário). Note apenas que o arquivo e o

diretório precisam ser ao menos legíveis pelo usuário, bem como o diretório

MAIL;

Ainda com referência aos subdiretórios de SYS:MAIL, se você deixou o Mars

criá-los sozinho, as permissões já estarão todas corretas;

Diretórios que determinado usuário não tenha permissão de leitura lhe

aparecerão como vazios;

Se por exemplo, um usuário precisa ter acesso ao arquivo

VOLUME:DIR1\DIR2\DIR3\DIR4\DIR5\ARQUIVO, ele precisará ter, pelo menos,

acesso de leitura ao diretório-raiz de VOLUME, bem como a todos os

diretórios do caminho. Se não puder ler o diretório, o usuário não enxergará

subdiretórios e arquivos.

Page 150: Servidores de Redes.pdf

Uma maneira ainda mais "limpa" de configurar permissões aos grupos é separar os dados em

diversos volumes. Cada usuário tem acesso restrito ao(s) volume(s) do(s) grupo(s) a que

pertence.

6. Diretório SYS:LOGIN

Esse diretório é acessível para leitura à toda e qualquer conexão, identificada ou anônima. O

fim dessa permissão é permitir o boot remoto e o processo de login.

7. Utilitários DOS

Muitas operações (cadastro de usuários, senhas etc.) podem ser feitas através do próprio

Linux com os utilitários /usr/bin/nw*. Mas é certo que você precisará de um ou outro

utilitário da Novell (IPX20, SYSCON, LOGIN, SLIST etc.) Existem umas poucas versões

gratuitas de alguns desses utilitários (LOGIN e SLIST), o que é insuficiente para uma rede

com estações DOS. Será difícil constituir uma rede Novell-like totalmente livre de software

comercial.

Se você tem um Netware licenciado, simplesmente copie os diretórios SYS:PUBLIC e

SYS:SYSTEM para o servidor Mars e desative o servidor Netware.

Como existe uma tendência forte de as estações DOS desaparecerem em favor das estações

Windows 95/98, e estas últimas incluem um cliente para redes Netware que não depende de

nenhum utilitário DOS, você será capaz de constituir uma rede totalmente livre de software

comercial Netware se todas as suas estações forem Windows.

Se suas estações forem todas Linux, também não haverá necessidade dos utilitários DOS.

(Se bem que o próprio Mars-NWE não tem muita razão de ser numa rede assim, pois os

Linuxes podem comunicar-se nativamente usando NFS, NetBIOS e lpd.)

8. Performance do Mars-NWE

A performance do Mars-NWE é ligeiramente inferior ao Netware 3.12, no mesmo hardware,

mas é superior ao Netware 4". O Mars-NWE é mais rápido (10-15%) que o Netware 3.12

para operações comuns em arquivos (leitura e gravação de pequenos trechos etc.).

Porém, o Mars é 50% mais lento em operações de leitura/escrita de grandes trechos, como

por exemplo um COPY do DOS. Provavelmente devido ao "Packed Burst".

Um outro possível problema é que o Mars não vai carregar/executar suas NLMs preferidas.

Uma extensão eventualmente encontrada em servidores Netware 3 é o BTrieve. Já existe

BTrieve para Linux, porém é um produto comercial, e, principalmente, o processo de

substituição deixa de ser algo trivial.

10.2. Como configuro meu Mars-nwe? O Mars-NWE oferece um subconjunto do protocolo NCP, suficiente para que as estações e

demais servidores enxerguem-no como servidor Netware. Já quanto a administração do

servidor (contas de usuários, permissões etc.), muita coisa tem de ser feita pelo Linux, pois

as ferramentas de administração do Netware (SYSCON, FCONSOLE...) não são eficazes

com o Mars. Afinal, é um emulador, não um sistema operacional.

10.2.1. Instalando o Servidor Mars #### 7.0 e posteriores ####

Para instalar o mars-nwe, monte o primeiro cd do conectiva, e instale os pacotes: [root@localhost]# mount /mnt/cdrom

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Page 151: Servidores de Redes.pdf

[root@localhost]# rpm -ivh mars-nwe-*.i386.rpm

[root@localhost]# rpm -ivh ncpfs*.i386.rpm

[root@localhost]# rpm -ivh ipxutils*

Para fazer as configurações do mars, edite o arquivo /etc/nwserv.conf; [root@localhost]# mcedit /etc/nwserv.conf

2. Arquivo de configuração comentado: #-----------------------------------------------------------------

# Início do arquivo do mars

# /etc/nwserv.conf

# comentários PRECEDEM os comandos

# Volumes do servidor. Os parâmetros são especificados na

# seguinte ordem:

#

# NOME DO VOLUME

# DIRETÓRIO UNIX (real) DO VOLUME

# FLAGS. Os flags interessantes são:

# k: permite o uso de nomes em letras minúsculas no Linux;

# serão convertidos automaticamente para maiúsculas

# para estações DOS.A falta desse flag implica em que

# os nomes TENHAM de ser maíusculos também no Linux para

# que as estações os enxerguem.

# o: Especifica que todos os subdiretórios e arquivos do

# diretório Unix estão contidos num mesmo sistema de

# arquivos. Isso permite ao Mars otimizar certas

# operações em determinados Unixes. Não use esse flag

# se, por exemplo, você mapear a raiz do Unix

# num volume Netware.

# UMASK PARA DIRETÓRIOS: os diretórios serão criados com essa

# máscara de permissão.

# UMASK PARA ARQUIVOS: os arquivos serão criados com essas

# permissões.

# A presença do volume SYS é obrigatória.

1 SYS /home/netware/sys ko 775 775

1 SUPORTE /home/netware/suporte ko 775 775

# Nome do servidor Netware

2 suporte

# Rede interna. A opção "auto" faz com que o Mars escolha

# automaticamente o número de rede interna - ele simplesmente

# utiliza o número IP da interface de rede. Isso funciona bem

# pois (espera-se que) dentro de uma instalação o número IP de

# cada interface é único, e assim também será unívoco o número

# da rede interna.

3 auto

# Placas de rede. Os parâmetros são: número da rede, interface

# de rede, padrão de empacotamento (pode ser 802.2, 802.3,

# ethernet_ii, snap, token ou auto), e "tempo" que um pacote

# leva para ser transmitido pela inteface.

# Esse último parâmetro é usado para fins de roteamento quando

# há links redundantes; use sempre 1 para placas de rede.

Page 152: Servidores de Redes.pdf

# Assim como nos servidores Netware, cada rede tem de ter um

# número unívoco.

# NOTA I: O padrão de empacotamento tem de ser condizente com

# as estações. Procure usar o que já está em uso na sua rede

# atual. Se for começar a usar IPX agora, os empacotamentos

# apropriados são 802.2 e ethernet_ii. O boot remoto Netware

# exige 802.3;

# NOTA II: Todas as interfaces de rede TEM DE TER NÚMEROS

# IP, mesmo que você não use comunicação TCP/IP nela(s).

4 0x0 * AUTO 1

# Se esta opção estiver habilitada, o Mars salva as rotas

# quando é desativado. Se, quando o Mars é ativado, a espera

# de 1 ou 2 minutos para redescoberta das rotas lhe incomoda,

# habilite esta opção.

5 0x0

# Versão do Netware que o Mars alega servir. Alguns softwares

# só vão funcionar se o Mars alegar ser um Netware 3.12. Os

# parâmetros são os seguintes:

# VERSÃO: 0=2.15, 1=3.11, 2=3.12

# PACKET BURST: 0x0=desabilitado, 0x1 se habilitado.

# Note que, para usar o Packet Burst, a versão alegada tem

# de ser 3.12, e o Mars tem de ser recompilado com o Packet

# Burst habilitado no config.h. Note também que o Packet

# Burst ainda é recurso EXPERIMENTAL do Mars.

6 1 0x0

# Operação das senhas de clientes DOS

# 0: forçar encriptação de todas as senhas trafegadas (padrão)

# 1: idem 0 porém aceita a versão não-encriptada da rotina de

# mudança de senha.

# 7: permite senhas não encriptadas porém não permite senhas

# vazias.

# 8: permite senhas não encriptadas bem como senhas vazias

# 9: permite apenas senhas não encriptadas (não funciona com

# clientes OS/2)

#

# Use o padrão.

7 0

# Segurança de arquivos ao login

# As opções podem ser *somadas*, se mais de uma for necessária.

#

# 0: Clientes em processo de boot remoto ou login podem acessar

# apenas o diretório SYS:LOGIN (padrão e recomendável)

# 1: Permitir acesso a outros arquivos/diretórios na fase de login,

# sujeito porém às permissões Linux

# 2: Modo "exótico" de compatibilidade: se o cliente tenta

# abrir um arquivo para escrita porém o arquivo é apenas-leitura,

# permite a abertura, porém em modo somente-leitura (não falha,

# como seria normal)

# 4: Aceitar renomear diretórios através chamada NCP "renomear

# arquivo", que normalmente só funcionaria com arquivos

# 8: Ignorar restrições de estação/tempo no caso do supervisor

# (isso no dia que o Mars honrar os objetos de bindery!)

Page 153: Servidores de Redes.pdf

# 16: Permite apagar um arquivo mesmo que esteja sendo usado

# por outro usuário

# 32: [verificar o que significa e traduzir]

# 64: Limitar o espaço livre alegado em 2GB. Alguns clientes

# (DOS antigo) precisam disso.

8 0x0

# Aqui define como os diretórios são criados

# Número do usuário e do grupo do "hóspede". É essa a permissão

# que o Mars dará a clientes em fase de boot remoto e login,

# portanto verifique se o usuário UNIX correspondente tem permissões

# de leitura nos arquivos essenciais (SYS:LOGIN\LOGIN.EXE e

# eventualmente SYS:LOGIN\NET$DOS.SYS) O mais comumente usado é

# 99:99 (nobody:nobody)

10 99

11 99

# Usuários com poder de supervisor. Os parâmetros vêm na

# seguinte ordem: nome Netware, usuário Unix correspondente (para

# efeito de permissões) e senha. Normalmente é utilizado o usuário

# root, mas você pode utilizar um usuário Unix comum, desde que

# este tenha permissões suficientes.

#

# É interessante dar um chmod 770 no arquivo /etc/nwserv.conf,

# para que ninguém possa descobrir a senha de supervisor consultando

# este arquivo!

12 SUPERVISOR root banana

# Usuários comuns. Note que os usuários novos tem de ser cadastrados

3 nesse arquivo e o Mars deve ser notificado disso pelo comando

#

# killall -1 nwserv

#

# ou parando-se e reiniciando-se o Mars. As senhas podem ser

# especificadas como o terceiro parâmetro, ou então cadastradas via

# SYSCON pelo supervisor. A última opção é certamente a mais "limpa"

# pois, uma vez que receba uma senha provisória, o usuário pode

# escolher por si a senha definitiva.

#

# A ordem dos parâmetros é: usuário Netware, usuário Unix e senha

# (opcional). Note que é perfeitamente lícito usar um mesmo usuário

# Unix para diversos usuários Netware (fica inclusive mais fácil

# implementar a segurança). Se você optar por cadastrar todos os

# usuários no Linux, crie grupos e atribua cada usuário ao grupo

# de trabalho correto.

#

# Se um usuário participar de mais um grupo, adicione o usuário

# no(s) grupo(s) a que ele deve ter acesso por meio de intervenção

# manual no /etc/group. Por exemplo, o usuário LALA tem de ter

# permissões em todos os grupos. Ele tem seu próprio usuário Unix

# (la) e grupo (la, homônimo ao nome) mas está incluído em cada um

# dos grupos de trabalho (mala, ocs,adm e pessoal)

#

#

# Os usuários de exemplo deste arquivo fazem parte de uma

# instalação REAL, e estão cadastrados no Linux desta forma

Page 154: Servidores de Redes.pdf

# (formato usuário:grupo primário):

#

# mala:mala

# ocs:ocs

# la:la

# pessoal:pessoal

# angela:adm

# adm:adm

# cesar:adm

#

# No arquivo /etc/group, o usuário "mala" também faz parte do grupo

# "ocs", portanto os usuários IDALICE, CLARA E SERGIO tem acesso

# aos arquivos do grupo de trabalho "ocs", embora o usuário FICHAS

# não tenha acesso aos dados do grupo de trabalho "mala".

#

# O usuário "la" também faz parte dos grupos "mala", "ocs", "pessoal"

# e "adm", e por isso tem acesso a todos os arquivos do servidor.

# Exceto os possuídos

# pelo root. (Pode ser uma boa idéia colocar o root como dono dos

# arquivos dos diretórios SYS:PUBLIC e SYS:SYSTEM, como proteção

# adicional.)

#

# Os diretórios com permissões 2775 garantem que o grupo de trabalho

# sempre terá acesso a qualquer arquivo novo, mesmo que o grupo primário

# do usuário criador seja diverso. (O dígito "2" é o SGID, que em

# diretórios tem o efeito de atribuir o grupo do diretório a qualquer

# arquivo novo ali criado)

13 CLARA mala

13 IDALICE mala

13 FICHAS ocs

13 SERGIO mala

13 LALA la

13 MAURICIO pessoal

13 IRENA pessoal

13 ANGELA angela

13 ANGELO adm

13 CARLOS adm

13 CESAR cesar

# Parâmetro que permite mapeamento automático dos usuários do arquivo

# /etc/passwd para usuários Netware. Não recomendo o uso dessa opção;

# o parâmetro 0 mantém esse recurso desligado.

15 0

# Testar a presença de diretórios essenciais, como MAIL, diretórios de

# usuários etc. ao iniciar. O Mars criará os diretórios que não

# encontrar, de modo que é uma opção bastante recomendável.

16 1

# Se 0x1, oferece a novos usuários um login script vazio, se não

# existir um. Altamente recomendável pois evita o problema do SYSCON

# não conseguir gravar o primeiro login script.

17 0x1

# Desliga incondicionalmente o banner de impresssão. Também é

# altamente recomendável pois clientes Windows 95 antigos não têm opção

Page 155: Servidores de Redes.pdf

# eficaz de desligamento de banner.

18 0x1

# Filas de impressão (opcional)

# Cada fila deve ser descrita em uma linha, e a seqüência de

# parâmetros é a seguinte:

#

# NOME DA FILA: é o nome "Netware", visível pelos clientes, e

# não o nome da fila do Unix.

# DIRETÓRIO DA FILA: diretório (que DEVE existir, o Mars não

# cria sozinho) onde as tarefas de impressão serão acumuladas

# antes de repassadas ao serviço de impressão Unix. NÃO deve

# ser um diretório de fila de impressão Unix (/var/spool/lpd/*)

# COMANDO DE IMPRESSÃO: comando utilizado para impressão no Unix

# Configure sua impressora normalmente no linux, e coloque

# aqui o nome da impressora criada, no exemplo, usamos

#o nome LAser

21 LASER lpr -P < nome_daimpressora>

############################################################

#

# CONFIGURAÇÕES AVANÇADAS DO MARS-NWE

# que, provavelmente, nunca vai precisar mexer. Uma e outra

# coisa mais importante foi traduzida, o resto foi deixado

# como estava no arquivo de exemplo do Mars.

#

############################################################

# Sections 100-106: amount of debug-information

#

# FLAG:

# 0 no debug messages

# 1 errors and notes are reported

# 99 maximum debug levels

100 0 # debug IPX KERNEL (0 | 1)

101 1 # debug NWSERV

102 0 # debug NCPSERV

103 0 # debug NWCONN

104 0 # debug (start) NWCLIENT

105 0 # debug NWBIND

106 1 # debug NWROUTED

# Sections 200-202: logging of "nwserv"

#

200 1 # 0 = no logfile and dont daemonize

# nwserv/nwrouted

# 1 = daemonize nwserv/nwrouted and

# use logfile

201 /var/log/mars_nwe.log # filename of logfile

202 0 # 1=creat new logfile, 0=append

# to logfile

# Sections 210,211: timing

210 1 # 1 .. 600 (default 10) seconds

# after server

Page 156: Servidores de Redes.pdf

# really goes down after a down

# command

211 60 # 10 .. 600 (default 60) broadcasts

# every x seconds

# Controle de logging de informações de roteamento

300 1 # > 0 print routing info to file

# every x broadcasts.

# ( normally minutes )

301 /var/run/mars_nwe.routes # filename of logfile

302 1 # 1 = creat new routing info file

# 0 = append to this file

# Watchdogs (desenvolver explanação)

310 7 # send wdog's only to device

# net < x ticks.

# 0 = allways send wdogs.

# < 0 = never send wdogs

# Estações com "tratamento especial"

# Para sintaxe do arquivo /etc/nwserv.stations, veja o exemplo

# que normalmente está presente no próprio diretório /etc

400 /etc/nwserv.stations

# Configuração da resposta à requisições "get nearest server"

# São requisições que estações em processo de login ou carga

# de boot remoto fazem para obter o diretório de login ou a

# imagem do boot.

# 0=ignorar linha 400, resposta sempre ativada

# 1=lista da linha 400 são estações que se deve ignorar

# (padrão=ativado)

# 2=lista da linha 400 são estações a que se deve responder

# (padrão=desativado)

401 1

# FIm do arquivo

#------------------------------------------------------------

Agora é necessário avisar ao linux, que o mesmo terá que usar o protocolo IPX, para isto

digite: [root@localhost]# ipx_interface add -p eth0 802.3 1AF

Digite o comando ifconfig e verifique se aparece a interface IPX na placa de rede: [root@localhost]# ifconfig

A saída do comando será algo parecido como descrito abaixo: eth0 Encapsulamento do Link: Ethernet Endereço de HW 00:E0:7D:8F:58:26

inet end.: 10.0.2.72 Bcast:10.0.7.255 Masc:255.255.248.0

Endereço IPX/Ethernet 802.3:000001AF:00E07D8F5826

UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1

Pacotes RX:121758 erros:0 descartados:0 sobreposições:0 frame:0

Pacotes TX:48491 erros:0 descartados:0 sobreposições:0 portadora:0

colisões:0 txqueuelen:100

IRQ:12 Endereço de E/S:0x9000

em seguida inicie seu servidor mars:

Page 157: Servidores de Redes.pdf

[root@localhost]# ./mars_nwe start

e verifique se o mesmo está rodando com o comando: [root@localhost]# ./mars_nwe status

Agora, verifique se o mesmo está sendo anunciado na rede com o comando: [root@localhost]# slist

O retorno deverá se rparecido com:

Known NetWare File Servers Network Node Address

--------------------------------------------------------------------------

YAKKO 000001AF 00C0DF24F427

SLAPPY 00000000 00C0DF2483C3

Nesse caso, temos dois servidores Linux com MARS funcionando.

Agora bastará configurar suas estações.

CONFIGURANDO AS ESTAÇÕES LINUX

Este procedimento a seguir, é apenas para ilustrar como as estações linux podem se conectar

a um servidor Novell ou MARS, acessando os volumes, e utilizando as impressoras do

servidor. PAra maiores detalhes verifique a documentação do pacote ipxutils em /usr/doc/

Para configurar uma estação utilizando o linux, é necessário a isntalação dos seguintes

pacotes do primeiro cd da Conectiva: [root@localhost]# mount /mnt/cdrom

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

[root@localhost]# rpm -ivh ipxutils*

[root@localhost]# rpm -ivh ncpfs*

em seguida adicione a interface IPX na sua configuração de rede, para isto digite: [root@localhost]# ipx_interface add -p eth0 802.3 1AF

Digite o comando ifconfig e verifique se aparece a interface IPX na placa de rede: [root@localhost]# ifconfig

A saída do comando será algo parecido como descrito abaixo: eth0 Encapsulamento do Link: Ethernet Endereço de HW 00:E0:7D:8F:58:26

inet end.: 10.0.2.72 Bcast:10.0.7.255 Masc:255.255.248.0

Endereço IPX/Ethernet 802.3:000001AF:00E07D8F5826

UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1

Pacotes RX:121758 erros:0 descartados:0 sobreposições:0 frame:0

Pacotes TX:48491 erros:0 descartados:0 sobreposições:0 portadora:0

colisões:0 txqueuelen:100

Feito isso, verifique se aparece os servidores novell de sua rede, com o comando: [root@localhost]# slist

Para montar a um volume novell, utilize o comando ncpmount, da seguinte forma: [root@localhost]# ncpmount -S <servidor> -U <usuário> -V <volume> /tmp

Nesse caso, será montado o volume especificado no diretório /tmp, ao executar o comando

será pedido o nome do usuário.

Para utilizar uma impressora de um servidor MARS ou novell, adcione a impressora

normalmente, apenas atente para escolher para utilizar Impressoras Netware, e informe além

da configurações normais, o nome de seu servidor Novell, nome da fila de impressão, e o

nome e senha do usuário.

Page 158: Servidores de Redes.pdf

10.2.2. Confiurando o Servidor Mars pelo linuxconf ### CL 7.0 ###

Entre no linuxconf: [root@localhost]# linuxconf

Vá em:

Rede

Configurador Mars

Contas e acesso do usuário

Lista de usuários

Adicionar

Login Netware: coloque o login do usuário em MAIÚSCULAS

Login do sistema: coloque o nome do usuário

Senha (opc.): digite uma senha para o usuário

[ ] Senha fixa --esta opção impede a alteração de senha.

Aceitar

Opções de contas

Neste item configura-se as opções das contas dos usuários

Opções do supervisor

Nome de usuário do servidor: Geralmente o login é

SUPERVISOR

Usuário do sistema: é o usuário que terá poderes de

SUPERVISOR

Senha: Digite a senha do usuário

Aceitar

Volumes e servidor de arquivos

Volumes - são os diretórios "montados" pelo sistema

Adicionar

Nome do volume: é o nome do diretório a ser montado.

Escreva em MAIUSCULAS.

Diretório: digite o caminho completo deste diretório.

Aceitar

Fechar

Opções do servidor de impressão

Modo de criação padrão para diretórios: permissão do

diretório de impressão. É recomendável que não se altere este valor.

Modo de criação padrão para arquivos: permissão dos arquivos

para impressão. É recomendável que não se altere este valor.

Aceitar

Serviços de impressão

Filas de impressão

Adicionar

Nome da fila: coloque o nome da fila em MAIÚSCULAS

Diretório: é o diretório da fila de impressão

Comando de impressão: comando para o envio de

impressão.

Aceitar

Fechar

Servidores de impressão

Adicionar

Nome do servidor de impressão: coloque o nome do

servidor em MAIÚSCULAS

Page 159: Servidores de Redes.pdf

Nome da fila: Tecle F4 para selecionar a fila

Aceitar

Fechar

Opções dos serviços de impressão

Diretório de spool: é o diretório para onde vão os

arquivos a serem impressos.

Aceitar

Fechar

Dispositivos de rede (IPX)

Dispositivos IPX

Número de rede: Este número é determinado pelo

roteador da rede física à qual você está conectado

Dispositivo: é a interface de rede

Tipo de quadro: é o tipo do quadro de pacotes que

irão trafegar na rede. Recomenda-se utilizar os valores padrão.

Aceitar

Fechar

Opções de rede

Rede interna: coloque o numero da rede interna. (p.e.:

192.168.0)

Configuração automática: coloque sim, se não tiver

certeza do número de rede.

Aceitar

Fechar

Outras opções

neste tópico configuram-se as opções diversas do

servidor Mars.

Em seguida inicie seu servidor mars: [root@localhost]# ./mars_nwe start

e verifique se o mesmo está rodando com o comando: [root@localhost]# ./mars_nwe status

Agora, verifique se o mesmo está sendo anunciado na rede com o comando: [root@localhost]# slist

Capítulo 11. NIS

11.1. Como configurar o NIS ? A grande utilidade do NIS é possuir todos os usuários em uma única máquina facilitando a

administração.

* Configurando o Servidor

Verifique se os pacotes ypserv, ypbind e yptools estão instalados: [root@localhost root]# rpm -qa | grep ypbind

[root@localhost root]# rpm -qa | grep ypserv

Page 160: Servidores de Redes.pdf

[root@localhost root]# rpm -qa | grep yptools

Caso não, instale os pacotes seguindo os seguintes comandos: [root@localhost root]# mount /mnt/cdrom

[root@localhost root]# cd /mnt/cdrom/conectiva/RPMS

[root@localhost RPMS]# rpm -ivh ypserv*

[root@localhost RPMS]# rpm -ivh ypbind*

[root@localhost RPMS]# rpm -ivh yptools*

Verifique se os arquivos /etc/gshadow e /etc/netgroup estão presentes, caso não crie os

arquivos com o comando abaixo: [root@localhost root]# touch /etc/gshadow

[root@localhost root]# touch /etc/netgroup

Utilize o aplicativo linuxconf para atribuir o domínio NIS: [root@localhost root]# linuxconf

Ambiente de rede ->

NIS - sistema de informação de rede ->

Preencha os campos: Domínio NIS [nome_do_domínio]

Servidor NIS [próprio_ip_da_máquina]

Selecione "Aceitar", "Sair", "Sair", "Ativar mudanças"

Marque o daemon responsável ( ypserv e yppasswdd ) [root@localhost root]# ntsysv

[*] yppasswdd

[*] ypserv

Reinicie a máquina.

Após reinicar a máquina verifque se o dominio está ativo digitando: [root@localhost root]# nisdomainname

Basta agora adiconar os usuários localmente.

Toda vez que for adiconado ou excluido usuários, é necessário recriar os mapas NIS para

realizar essa tarefa siga os passos abaixo:

Entre no diretório /var/yp [root@localhost root]# cd /var/yp

Para recriar os mapas digite: [root@localhost yp]# make

Desta forma o servidor está configurado.

* Configurando o cliente

Ative o daemon responsável ( ypbind ): [root@localhost root]# ntsysv

[*] ypbind

Digite o seguinte comando: [root@localhost root]# authconfig

Em tipo de autenticação, marque a opção

Page 161: Servidores de Redes.pdf

(*) NIS

Adicione o nome do domínio: Domínio NIS: [nome_do_domínio]

Pedido via anúncio [*]

Tente efetuar login como um usuário criado no servidor NIS.

Desta forma o cliente está devidamente configurado.

11.2. Como configurar o NIS no CL9? A grande utilidade do NIS é possuir todos os usuários em uma única máquina facilitando a

administração.

* Configurando o Servidor

Verifique se os pacotes ypserv, ypbind, yp-tools e linuxconf-nisconf estão instalados: [root@localhost root]# rpm -qa | grep ypbind

[root@localhost root]# rpm -qa | grep ypserv

[root@localhost root]# rpm -qa | grep yp-tools

Caso não, instale os pacotes usando o apt: [root@localhost]# apt-get install ypserv ypbind yp-tools linuxconf-nisconf

Verifique se os arquivos /etc/gshadow e /etc/netgroup estão presentes, caso não crie os

arquivos com o comando abaixo: [root@localhost root]# touch /etc/gshadow

[root@localhost root]# touch /etc/netgroup

Utilize o aplicativo linuxconf para atribuir o domínio NIS: [root@localhost root]# linuxconf

Rede

-> Network Information System (NIS)

Preencha os campos: Domínio NIS [nome_do_domínio]

Servidor NIS [próprio_ip_da_máquina]

Selecione "Aceitar", "Fechar" e "Sair"

Marque o daemon responsável (ypserv) [root@localhost root]# ntsysv

[*] ypserv

Inicie o serviço: [root@localhost]# cds

[root@localhost]# ./ypserv

Page 162: Servidores de Redes.pdf

Após iniciar o serviço verifique se ele está ativo usando o comando abaixo: [root@localhost root]# nisdomainname

Basta agora adiconar os usuários localmente.

Toda vez que for adiconado ou excluido usuários, é necessário recriar os mapas NIS para

realizar essa tarefa siga os passos abaixo:

Entre no diretório /var/yp [root@localhost root]# cd /var/yp

Para recriar os mapas digite: [root@localhost yp]# make

Desta forma o servidor está configurado.

* Configurando o cliente

Ative o daemon responsável (ypbind): [root@localhost root]# ntsysv

[*] ypbind

Para configurar o NIS digite o seguinte comando: [root@localhost root]# authconfig

Em tipo de autenticação, marque a opção [*] Usar NIS

Informe o nome do domínio: Domínio: [nome_do_domínio]

Selecione "Avançar"

Agora marque as opções: [*] Usar senhas Shadow

[*] Usar Senhas MD5

Selecione "OK"

Tente efetuar login como um usuário criado no servidor NIS.

Desta forma o cliente está devidamente configurado.

11.3. Recebo mensagem de RPC time-out do NIS.

Como corrigir tal erro?

Page 163: Servidores de Redes.pdf

### CL 5.1 ####

O servico ypserv presente na distribuicão não funciona como devido, retornando sempre

RPC time-out quando tentava estabelecer uma conexão. O erro é decorrente da utilização do

gcc stack-guard na compilação do pacote.

Para solucionar tal problema, atualize o pacote ypserv o qual encontra-se disponível no

seguinte link:

ftp://atualizacoes.conectiva.com.br/5.1/i386/ypserv-1.3.11-2cl.i386.rpm

Realize o download do pacote e atualize o mesmo digitando o seguinte comando como root

no diretório onde foi salvo: [root@localhost]# rpm -Uvh ypserv-1.3.11-2cl.i386.rpm

Capítulo 12. NFS

12.1. Como configurar o NFS ? O NFS é um serviço de rede que usa RPC (Chamada de Procedimento Remoto), e que

permite o compartilhamento de arquivos e diretórios. É simples e fácil de configurar, tanto o

servidor como o cliente, de uma rede baseada em NFS. O NFS é uma ferramenta poderosa, é

a mais usada/indicada para montar uma rede de compartilhamento de arquivos em redes com

máquinas Linux. Funciona permitindo as "máquinas" acessar arquivos em máquinas

remotas, como se estivesse em um diretório da máquina local. Se o NFS for instalado junto

ao NIS - Network Information System (Sistema de informação de Rede), os "usuários"

podem acessar qualquer sistema e ainda trabalhar em um único conjunto de arquivos.

Para saber mais sobre o NIS acesse e leia: linux.unicamp.br/docs/howtos/BR-NIS-

HOWTO.html

A maneira como o NFS trabalha, rapidamente, podemos dizer que quando dá-se a linha de

comando: # mount -t nfs <servidor>:/<caminho_diretório> /<diretório_local> [opções]

O servidor irá verificar se a máquina tem permissão para acessar os dados daquele diretório,

caso tenha, e isto deve estar especificado no arquivo /etc/exports do servidor, retorna um

descritor de arquivos. Quando é acessado o NFS, o kernel envia uma chamada RPC ao

servidor nfsd na máquina servidora, nesta são enviados os parâmetros, descritor de arquivos,

o nome do arquivo, o identificador de usuário e grupo, usados para controle. As

funcionalidades do NFS no Linux são implementadas em nível kernel, o VFS (sistema de

arquivo virtual) é integrado no kernel.

Estes pacotes, na maioria das vezes já são instalados por default, mas caso não tenham sido

instalados, os pacotes são estes:

# Marumbi # rpm -ivh nfs-server-2.2beta29-2.i386.rpm nfs-server-clients-2.2beta29-

2.i386.rpm

# Servidor 3.0 # rpm -ivh nfs-server-2.2beta40-1cl.i386.rpm nfs-server-clients-2.2beta40-

1cl.i386.rpm

# Guaraní 3.0 # rpm -ivh nfs-server-2.2beta37-2cl.i386.rpm nfs-server-clients-2.2beta37-

2cl.i386.rpm

Page 164: Servidores de Redes.pdf

# Ipanema 4.0 # rpm -ivh knfsd-1.4.1-5cl.i386.rpm knfsd-clients-1.4.1-5cl.i386.rpm

# Servidor 4.2 # rpm -ivh knfsd-1.5.1-7cl.i386.rpm knfsd-clients-1.5.1-7cl.i386.rpm

# Xavante 5.0 # rpm -ivh nfs-server-2.2beta47-1cl.i386.rpm

nfs-utils-0.1.6-3cl.i386.rpm

# Servidor 5.1 # rpm -ivh nfs-server-2.2beta47-1cl.i386.rpm nfs-utils-0.1.8-3cl.i386.rpm

# Desktop e Servidor 6.0 # rpm -ivh nfs-server-2.2beta47-3cl.i386.rpm nfs-utils-0.2-2cl.i386.rpm

Ative-o pelo comando: [root@localhost]# ntsysv

Ativar, tecle F1 para saber para que serve cada serviço. [X] netfs

[X] network

[X] nfs

[X] nfslock

[X] portmap

Pode-se tambem habilitar um por um, é só dar, como root, o comando: # cds

e habilitar os serviços ./<serviço> start

Para configurar o NFS, temos, primeiramente que ter certeza que o Kernel tem suporte a

NFS e que os serviços estejam funcionando, nos kernels modernos podemos verificar isto

dando o seguinte comando: # cat /proc/filesystems

ext2

nodev proc

iso9660

nodev devpts

nodev nfs <------ Observar a existência deste.

Caso não exista, poderá ser necessário recompilar o kernel e habilitar o suporte a NFS. Em

kernels mais antigos a maneira mais simples de saber se está habilitado o serviço de NFS é

totalmente empírica, tente montar um diretório, se o comando mount não funcionar e

apresentar uma mensagem do tipo "tipo de sistema de arquivos nfs não suportado pelo

kernel", será necessário compilar e habilitá-lo.

Ex: (como root) # mount localhost:/tmp /mnt

Nota: O aparecimento da opção nodev nfs no arquivo /proc/filesystems não é

necessariamente obrigatória para indicar que existe suporte a NFS no kernel utilizado.

Portanto, o teste acima indicado é necessário para verificação de tal suporte.

Montando um Volume NFS

Para montar volumes NFS, é usado o comando mount com o seguinte formato: # mount -t nfs <máquina_remota>:/<diretório_remoto> /<diretório_local> [opções]

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Volume NFS

Page 165: Servidores de Redes.pdf

Cabe notar que os parâmetros "-t nfs" não são necessários, pois por ser a notação própria do

sistema de arquivos NFS, ele interpreta por default. Existem opções adicionais que podem

ser especificadas com o comando mount. Elas pode ser informadas depois da opção -o na

linha de comando, ou no campo de opções de arquivo /etc/fstab, em ambos casos, as

multiplas opções devem ser separadas por vírgulas. Tenha-se em conta que as opções dadas

na linha de comando tem precedencia pelas opções dadas no arquivo /etc/fstab.

Exemplo de entrada do arquivo /etc/fstab: Volume NFS Diretório Tipo Opções Verifica a

Local partição

192.168.255.220:/wb /wb nfs soft,bg,nosuid 0 0

192.168.255.2:/d /d nfs noauto,soft,bg 0 0

192.168.255.122:/home /home nfs soft,bg,nosuid,nolock 0 0

192.168.255.122:/faq /faq nfs soft,bg,nosuid 0 0

192.168.255.122:/faq-es /es nfs soft,bg,nosuid 0 0

192.168.255.122:/suporte /suporte nfs soft,bg,nosuid 0 0

OPÇÕES rsize=n O número de bytes que NFS usará ao ler arquivos de um servidor

NFS. O valor padrão depende do kernel e normalmente é de 1.024

bytes (ainda que a velocidade de acesso cresça

substancialmente ao se informar rsize=8192).

wsize=n O número de bytes que NFS usará ao gravar arquivos em um

servidor NFS. O valor padrão depende do kernel e normalmente é

de 1.024 bytes (ainda que a velocidade de acesso cresça

substancialmente ao se informar wsize=8192).

timeo=n O número de décimos de segundo antes de enviar a primeira

retransmissão após findo o tempo de espera de uma RPC. O valor

padrão é de 7 décimos de segundo. Após a primeira espera, o

tempo é dobrado após cada espera sem respostas, até um máximo de

60 segundos ou um número máximo de retransmissões ser atingido.

Então, caso o sistema de arquivos esteja montado com a opção

hard, cada novo tempo de espera começa com o dobro do tempo da

anterior, novamente dobrando a cada retransmissão. O tempo

máximo de espera é sempre de 60 segundos. Uma melhor

performance pode ser atingida ao se incrementar o tempo de

espera, quando se está montando sistemas sobre uma rede com

muito tráfego, utilizando-se servidores lentos ou usando o

sistema através de diversos roteadores e gateways.

retrans=n O número de tempo limite e retransmissões que devem ocorrer

antes que um alarme de tempo de resposta seja acionado. O

padrão é de 3 ocorrências. Quando um alarme de tempo de espera

maior ocorre, a operação é interrompida ou uma mensagem de

"servidor não está respondendo" é apresentada na console.

acregmin=n O tempo mínimo em segundos que os atributos de um arquivo normal

devem estar em memória cache antes de solicitar novas

informações para o servidor. O padrão é de 3 segundos.

acregmax=n O tempo máximo em segundos que os atributos de um arquivo normal

devem estar em memória cache antes de solicitar novas

informações para o servidor. O padrão é de 60 segundos.

acdirmin=n O tempo mínimo em segundos que os atributos de um diretório

Page 166: Servidores de Redes.pdf

devem estar em memória cache antes de solicitar novas

informações para o servidor. O padrão é de 30 segundos.

acdirmax=n O tempo máximo em segundos que os atributos de um diretório

devem estar em memória cache antes de solicitar novas

informações para o servidor. O padrão é de 60 segundos.

actimeo=n Utilizando-se actimeo, os parâmetros acregmin, acregmax,

acdirmin, e acdirmax recebem o mesmo valor. Não há valor padrão.

retry=n O número de minutos na tentativa de executar operações de

montagem NFS em primeiro ou segundo plano antes de desistir

definitivamente. O valor padrão é de 10.000 minutos, o que é

quase uma semana.

namlen=n Quando um servidor NFS não suporta a versão 2 do protocolo de

montagem RPC, esta opção pode ser usada para especificar o

tamanho máximo do nome de arquivos que é suportado pelo sistema

de arquivos remoto. Esta opção é usada para suportar as funções

pathconf do POSIX. O padrão é de 255 caracteres.

port=n O número da porta para conexão no servidor NFS. Caso esta porta

seja igual a 0 (o padrão), então será perguntado ao programa

mapeador de portas do servidor, qual o número a ser usado. Caso

o servidor NFS não esteja registrado no programa mapeador, a

porta padrão NFS 2039 será usada.

mountport=n O número da porta de mountd.

mounthost=nome O nome do servidor executando mountd.

mountprog=n Número de programa RPC alternativo para contatar o servidor

mount no servidor remoto. Esta opção é útil para servidores que

podem rodar múltiplos servidores NFS. O valor padrão é 100.005,

o qual é o padrão para o número do servidor mount.

mountvers=n Versão alternativa do RPC usado para contatar o servidor mount

no servidor remoto. Esta opção é útil para servidores que podem

executar múltiplos servidores NFS. O valor padrão é versão 1.

nfsprog=n Número alternativo do programa RPC usado para contatar o

servidor NFS no servidor remoto. Esta opção é útil para

servidores que podem executar múltiplos servidores NFS. O valor

padrão é 100.003 para o número do servidor NFS.

nfsvers=n Versão alternativa do RPC usado para contatar o servidor NFS no

servidor remoto. Esta opção é útil para servidores que podem

executar múltiplos servidores NFS. O valor padrão é versão 2.

bg Caso a primeira tentativa de montagem NFS não ocorra dentro do

tempo de espera definido, tenta a montagem em segundo plano.

Após a transferência para segundo plano da operação de montagem,

todas as tentativas subseqüentes no mesmo servidor NFS serão

transferidas para segundo plano automaticamente, sem a primeira

tentativa de montagem em primeiro plano. Um ponto de montagem

não encontrado é tratado como a ultrapassagem do tempo de

espera, para permitir montagens NFS encadeadas.

fg Caso a primeira tentativa de montagem ultrapasse o tempo de

espera, tenta novamente a montagem, porém em primeiro plano.

Isso complementa a opção bg, e o comportamento padrão.

Page 167: Servidores de Redes.pdf

soft Caso uma operação NFS ultrapasse o tempo de espera, então relata

um erro de E/S a o programa que a acionou. O padrão é continuar

tentando a operação indefinidamente.

hard Caso uma operação NFS ultrapasse o tempo de espera, então

apresenta a mensagem "servidor não responde" na console e

continua indefinidamente. Este é o padrão.

intr Se uma operação NFS ultrapassar o tempo de espera e estiver

montada com a opção hard, permite o envio de sinais de

interrupção da operação e provoca um retorno EINTR para o

programa de origem. O padrão é não permitir que as operações

sejam interrompidas.

posix Monta o sistema de arquivos usando a semântica POSIX. Isso

permite que um sistema de arquivos NFS suporte adequadamente o

comando POSIX pathconf através da solicitação de informações ao

servidor sobre o tamanho máximo de um nome de arquivo. Para

fazer isso, o servidor remoto deve suportar a versão 2 do

protocolo de montagem RPC. Muitos servidores NFS suportam

somente a versão 1.

nocto Suprime a recuperação de novos atributos na criação de um

arquivo.

noac Desabilita inteiramente o cache de atributos. Esta forma de

trabalho penaliza a performance de um servidor, mas permite que

dois diferentes clientes NFS tenham resultados razoáveis ao

utilizar ativamente um sistema de arquivos comum para gravação

no servidor.

tcp Monta o sistema de arquivos usando o protocolo TCP ao invés do

protocolo padrão UDP. Muitos servidores NFS suportam somente

UDP.

udp Monta o sistema de arquivos NFS usando o protocolo UDP. Este é o

padrão.

Manipulação do Arquivo exports

O arquivo exports é o arquivo que contém os diretórios que serão exportados pelo servidor

para a(s) máquina(s) remota(s) da rede; pois por default o mount não permite que ninguém

acesse seus diretórios, assim, aqueles diretórios que se desejam exportar, tem que estar

relacionados no arquivo: /etc/exports

Exemplo de arquivo exports: Volume a ser Máquina(s) remota(s)(opção(ões))

exportado

/tmp/sol 192.168.255.202(rw,no_root_squash)

/home/bugs 192.168.255.14(rw,no_root_squash)

/home/slowly 192.168.255.13(rw,no_root_squash)

/home/skippy 192.168.255.102(rw,no_root_squash)

/usr *.conectiva(ro,no_root_squash)

/mnt administrador(rw) cliente(rw)

Cada vez que seja necessário acrescentar algum diretório, máquina ou alguma modificação

for feita no /etc/exports, é necessário "restartar" o serviço de nfs do servidor para que as

mudançãs tenham efeito, para fazer isto faça, no servidor e como root: # cds

Page 168: Servidores de Redes.pdf

# ./nfsd restart

OPÇÕES insecure Permite o acesso não autenticado a partir desta máquina.

unix-rpm Requer autenticação RPC (domínio UNIX) para esta máquina. Isto é

requerido somente para as requisições originadas a partir de uma

porta reservada Internet (isto é, portas com números menor que

1024). Esta opção está ativa por padrão.

secure-rpc Requer autenticação segura RPC para esta máquina. Isto ainda não

foi implementado. Veja a documentação da Sun em ``Secure RPC''.

kerberos Requer autenticação Kerberos para acesso desta máquina. Isto

ainda não está implementado. Veja a documentação do MIT sobre

sistemas de autenticação Kerberos.

root_squash Esta é uma característica de segurança que proíbe que o

superusuário dos servidores especificados tenha qualquer direito

de acesso especial a partir de sua identificação igual a 0 no

cliente, que será alterada no servidor para 65534 (-2). Esta

identificação deve ser associada ao usuário nobody.

no_root_squash Não mapeia requisições do usuário com identificação 0. Esta

opção é ativada por padrão.

ro Monta hierarquicamente os arquivos, somente para leitura. Esta

opção é usada por padrão.

rw Monta hierarquicamente os arquivos, com autorizações para

leitura e gravação.

link_relativa Converte ligações simbólicas absolutas (onde a ligação começa

com uma barra) em ligações relativas colocando os prefixos ../

que sejam necessários para obter a rota do diretório que contém

a ligação para a raiz no servidor. Esta opção somente faz

sentido quanto é montado um sistema de arquivos completo de uma

máquina, onde algumas ligações podem apontar para arquivos

inválidos, ou pior, para arquivos que nunca deveriam ser

apontados. Esta opção é usada por padrão.

link_absolute Deixa todas as ligações simbólicas inalteradas (é a opção

normal dos servidores NFS da Sun).

map_identity A opção map_identity indica ao servidor para assumir que o

cliente usa as mesmas identificações de usuário e grupos que o

servidor. Esta opção é usada por padrão.

map_daemon Esta opção avisa o servidor NFS para assumir que o cliente e o

servidor não compartilham a mesma identificação de usuários e

grupos. O servidor nfsd irá então construir uma lista da

identificação de mapas entre cliente e servidor, através da

chamada ao servidor ugidd na máquina cliente.

Para montar um servidor NFS para outras máquinas, antes de nada, deve ser executado o

programa nfsd e o servidor mountd nas máquinas locais e no servidor, ainda no servidor,

certifique-se que o 'portmap' tenha sido inicializado.

Para saber mais acesse: linux.unicamp.br/docs/howtos/BR-NFS-HOWTO.html

Page 169: Servidores de Redes.pdf

12.2. Como exportar um volume pela rede

usando o nfs? Vamos supor que fosse necessário compartilhar o cdrom da máquina 1 (192.168.1.10). Para

isso primeiramente monte o cdrom: [root@localhost]# mount /dev/cdrom

Agora exporte (compartilhe) esse diretório: [root@localhost]# linuxconf

Ambiente de rede -->

NFS - sistemas de arquivos exportados -->

Adicionar -->

Caminho para exportar: /mnt/cdrom

Aceitar

Sair

Sair

Sair

Ativar Mudanças

Lembrando que essas essa é uma configuração básica funcional, para configurações mais

avançadas, como permitir que somente algumas máquinas possam acessar esses diretórios

exportados, é aconselhável ler o menu de "ajuda" que está dentro de ambiente de rede, nfs,

adicionar.

Inicie o serviço nfs, para isso execute: [root@localhost]# cds

[root@localhost]# ./portmap stop

[root@localhost]# ./portmap start

[root@localhost]# ./nfs stop

[root@localhost]# ./nfs start

Agora na máquina 2 (192.168.1.12) o sr. deverá importar, ou seja, deverá montar um volume

NFS (remoto 192.168.1.10) dentro do seu sistema de arquivos. Para isso execute: [root@localhost]# linuxconf

Sistemas de arquivos -->

Acessar volumes NFS -->

Adicionar -->

Servidor: 192.168.1.10

Volume: /mnt/cdrom

Ponto de montagem: /mnt/cdrom-remoto

Aceitar

Sair

Sair

Sair

Ativar Mudanças

Lembrando novamente que está é uma configuração básica funcional, para configurações

avançadas veja no menu ajuda. Algumas observações a serem feitas sobre as opções acima

configuradas:

servidor: é a máquina que contêm os diretórios remotos

Page 170: Servidores de Redes.pdf

volume: é o diretório que se gostaria de importar, note que o diretório aqui especificado é o

mesmo que foi exportado na máquina remota.

Ponto de montagem: é um diretório qualquer no seu sistema de arquivos na qual será

montado esse diretório remoto. Certifique-se que esse diretório existe na sua máquina local

antes de executar esse último procedimento.

Depois disso, na próxima vez que o sistema for iniciado esse diretório remoto (192.168.1.10)

será montado automaticamente na máquina 192.168.1.12. Se os sistema não ativar as

mudanças então para não ser necessário reiniciar o computador execute o seguinte comando

na máquina 192.168.1.12: [root@localhost]# mount 192.168.1.10:/mnt/cdrom /mnt/cdrom-remoto

12.3. Como faço para levantar o NFS no

Conectiva Linux 5.1? ### CL 5.1 ###

Em primeiro lugar vamos fazer alguns testes para verificar se o nfs está ok na sua máquina,

primeiro dê o seguinte comando: [root@localhost]# cat /proc/filesystems

deve dar um resultado como: ext2

nodev proc

nodev devpts

nodev nfs <-- Prestar atenção neste ítem

iso9660

Caso não apareça o nfs como no exemplo acima, dê o comando: [root@localhost]# lsmod

deve sair como resultado uma lista de módulos levantados, caso não apareça o do nfs, como

no exemplo abaixo, levante-o usando o modprobe Module Size Used by

nfs 46272 3 (autoclean) <-- veja se aparece aqui

lockd 43760 1 (autoclean) [nfs]

sunrpc 58672 1 (autoclean) [nfs lockd]

8139too 11744 1 (autoclean)

agpgart 18640 0 (unused)

esssolo1 21552 0

soundcore 2608 4 [esssolo1]

Page 171: Servidores de Redes.pdf

No exemplo acima aparece o nfs, mas se não aparecer, terá que levantá-lo usando o

comando abaixo: [root@localhost]# modprobe nfs

Para que o módulo levante sempre na sua máquina, será necessario acrecentá-lo ao rc.local,

para isto faça: [root@localhost]# mcedit /etc/rc.d/rc.local

vá até o final do arquivo e adicione a linha abaixo: modprobe nfs F2 para salvar e F10 para sair

Agora refaça os procedimentos novamente para ver se levantou o módulo e siga o

procedimento que está no documento das perguntas e respostas:

http://www.conectiva.com/suporte/pr/pr-72.html#ss72.1

Capítulo 13. POSTFIX

13.1. Configuração de domínio no Postfix Para fazer a sua configuração abra o linuxconf e acesse a opção de configuração do Postfix

dentro do linuxconf: [root@localhost]# linuxconf

Rede ->

Postfixconf ->

Os parâmetros para uma configuração básica são os seguintes:

Informação básica -> Diretório de fila: Esta opção especifica a localização da fila do Postfix.

-> Diretório de comando: Esta opção especifica a localização de todos os comandos post.

Page 172: Servidores de Redes.pdf

-> Diretório de daemon: Esta opção especifica a localização de todos os programas daemon

do Postfix (isto é, programas listados no arquivo master.cf). Este diretório deve ser

propriedade do root.

-> Proprietário do mail: Esta opção especifica o proprietário da fila do Postfix e da maioria

dos "processos daemon Postfix". Não deve ser especificado que compartilha um grupo com

outras contas ou uma conta que seja proprietária de outros arquivos ou processos. Não utilize

o usuário daemon ou nobody.

-> Privilégios padrão: Esta opção especifica os direitos padrões utilizados pelo agente de

entrega local para entrega a um arquivo ou comando externo. Não se deve especificar o um

usuário com privilégios ou o usuário proprieátio do Postfix.

-> Nome da máquina: Esta opção especifica o "nome internet da máquina" deste sistema de

mail. O padrão é usar o conteúdo de "Nome da máquina", sem colocar o domínio da

máquina.

-> Domínio: Esta opção especifica o nome de domínio local de internet. O padrão é usar o

conteúdo de "Nome da máquina" menos o primeiro componente.

-> Origem: Esta opção especifica o domínio de onde os mails postados localmente parecerão

ter vindo. O padrão é anexar "Nome da máquina".

-> Interfaces de rede: Esta opção especifica os endereços de interface de rede pelos quais

este sistema de mail receberá mail. Por padrão, o software requisita todas interfaces ativas na

máquina.

-> Destino: Esta opção especifica a lista de domínios que esta máquina considera como

sendo o destino final. Isso não inclui domínios que são hospedados nesta máquina. O padrão

é "nomedaminhamáquina + máquinalocal.$meudomínio". Especifique os nomes através da

opção "Encaminhar domínios" em "Programa servidor Smtp -> Controles UCE adicionais".

É possível especificar uma lista de máquinas ou nomes de domínios, padrões /arquivo/nome

ou tipo:tabela, separados por vírgulas e/ou espaços em branco. Um padrão /arquivo/nome é

substituído por seus conteúdos; um tipo:tabela é comparado quando um nome coincide com

uma chave de busca. Não se deve listar domínios virtuais neste campo. Ele será listado em

"Ítem Virtual" em "Tabela"

-> Mapas de destinatários locais: Esta opção especifica tabelas de busca opcionais com todos

os usuários que são locais. Se este parâmetro está definido, o servidor SMTP irá rejeitar mail

de usuários locais desconhecidos. Para que esse parametro não especifique domínios virtuais

no campo domínio. Neste campo deverão apenas serem listados os domínios não virtuais.

-> Nível de depuração: Esta opção especifica o nível de depuração de login detalhando

quando um cliente SMTP ou um nome de máquina servidora ou endereço coincide com um

padrão na opção "Lista de domínios".

-> Lista de domínios: Esta opção especifica uma lista opcional de domínios ou padrões de

rede, padrões /arquivo/nome ou tabelas tipo:nome.

-> Comando do depurador: Esta opção especifica o comando externo que é executado

quando um programa daemon Postfix é executado com a opção -D.

Programa cliente Smtp -> Melhor transporte mx: Esta opção é utilizada para especificar um agente de entrega das

mensagens. Por padrão, Postfix reporta um erro e devolve a mensagem. Especifique "local"

para passar o mail ao agente de entrega local. Você pode especificar qualquer transporte que

esteja definido no arquivo master.cf.

Page 173: Servidores de Redes.pdf

-> Encaminhamento secundário: Esta opção especifica zero ou mais máquinas ou domínios

para manipular a entrega de mail caso um destino não seja encontrado ou esteja

temporáriamente fora de alcance. Por padrão o mail é devolvido quando um destino não é

encontrado.

-> Ignorar erro de busca mx: Esta opção controla o que acontece quando um servidor de

nomes falha ao responder a um pedido de busca MX. Por padrão o Postfix tenta entregar o

mail novamente após algum tempo.

-> Omitir saudação Smtp 4xx: Esta opção controla o que acontece quando um servidor

SMTP nos saúda com um código de status 4XX. Por padrão, Postfix tenta novamente.

Especifique "sim" para mover para o próximo processador de mail.

-> Omitir resposta quit Smtp: Esta opção controla se o cliente SMTP deve esperar por uma

resposta de saída do servidor. O padrão é não esperar.

Controle de entrega local -> Transporte local: Esta opção define o nome do serviço que irá entregar as mensagens aos

destinos que coincidem com as opções "Destino" ou "interface de Rede".

-> Shell de comandos local: Esta opção define qual será a shell usada para entrega a

comandos externos. Deve-se definir um shell diferente caso seja necessário executar a partir

de arquivos .foward, por exemplo.

-> Rota de encaminhamento: Esta opção especifica um arquivo que irá possuir uma lista de

busca para destinatários, diretório home de destinatários, endereço completo do destinatário

e domínio do destinatário.

-> Permitir mail para comandos: Esta opção irá restringir a entrega das mensagens a

comandos externos.

-> Permitir mail para arquivos: Esta opção irá restringir a entrega de mail a arquivos

externos.

-> Limite de destinatários de destino local: Esta opção limita o número de destinatários em

cada mensagem local.

-> Inserir cabeçalho de entrega: Esta opção define quando o Postfix irá inserir no começo da

mensagem um cabeçalho "Entregue a".

Controles de Spam -> Delimitador de destinatário: Esta opção define qual será o separador entre nomes de

usuários e extensões de endereço.

-> Verificação de cabeçalho: Esta opção especifica o que poderá ser apresentado nos

cabeçalhos da mensagens.

-> Verificação de corpo: Esta opção especifica uma tabela opcional com padrões que cada

linha do corpo da mensagem. As linhas são comparadas uma de cada vez e quando é

encontrada alguma coincidência e a ação associada é REJECT a mensagem é descartada.

-> Redes: Esta opção indica quais serão as redes locais para o servidor de Postfix. Ela irá

identificar quais são os clientes locais e os externos. Pode-se especificar uma lista de padrões

de rede ou especificar o caminho completo de um arquivo de padrão em vez de listar os

padrões aqui.

-> Permitir roteamento de clientes não confiáveis: Esta opção irá especificar se o Postfix

deverá encaminhar um mail enfiado por um cliente não confiável(não cadastrado) com

roteamento específico do remetente.

Page 174: Servidores de Redes.pdf

-> Mapear domínios rbl: Esta opção especifica uma lista de domínios que publicam os

endereços de rede de hosts que estão na "lista negra" (blacklisted). Ele rejeita serviço caso o

host esteja listado entre os domínios da lista.

-> Encaminhar domínios: Esta opção controla quais serão os domínios e subdomínios que

terão seus mails encaminhados e restringirá os dominios e subdomínios de destino dos mails.

Por padrão serão encaminhadas as mensagens especificadas na opção "Encaminhar

domínios" e seus subdomínios, os destinos que coincidirem com a opção "Destino" e com

"Mapas Virtuais. Pode-se especificar uma lista de máquinas ou domínios e por uma tabela de

busca.

-> Encaminhar máquina: Esta opção indica qual será a máquina padrão para envio de e-mails

quando nenhuma entrada coicidir com as entradas da tabela de transporte opcional. Quando

nada for informado o mail é enviado diretamente ao seu destino. Caso seu servidor esteja

sendo utilizado em uma rede interna deve-se especificar somente o domínio inteno. Caso não

possua um servidor MX em seu DNS especifique o nome da máquina gateway da internet.

13.2. Como configurar o Postfix? ### CL70 e posteriores ###

Este procedimento auxilia nas configurações básicas do postfix, como habilitar relay, como

configurar domínios virtuais e como habilitar o acesso pop-3 ao servidor.

Este procedimento assume que sua placa de rede assim como o seu servidor DNS (Servidor

de Nomes), estão configurados e funcionando corretamente.

- Primeiro verifique se os pacotes do postifx estão instalados na máquina: [root@localhost]# rpm -qa |grep postfix

O resultado deverá ser:

postfix-doc-20010228pl02-6cl linuxconf-postfixconf-1.25r3-24cl postfix-20010228pl02-6cl

Caso não apareça, instale os pacotes: postfix-20010228pl02-6cl [root@localhost]# mount /mnt/cdrom

[root@localhost]# rpm -ivh postfix*

Antes de iniciar o processo de configuração aconselha-se a fazer uma cópia do arquivo

original onde serão feitas as alterações, pois se for necessário refazer a configuração desde o

início por algum motivo de erro não será preciso reinstalar os pacotes.

Para fazer a cópia do arquivo original utilize o comando: [root@localhost root]#cp /etc/postfix/main.cf /tmp

Configurando o Postfix - editando os arquivos

-------------------------------------------------------------

Page 175: Servidores de Redes.pdf

Abra o arquivo de confgiuração, digitando: [root@localhost]# mcedit /etc/postfix/main.cf

Os primeiros passos é para configurar o básico do Postfix para que o mesmo inicie:

Na linha "myhostname", substituir pelo nome da maquina/host: myhostname = teste.dominio.com.br

Na linha "mydomain", substituir pelo seu domínio: mydomain = dominio.com.br

Esta opção especifica como ficará a terminação do e-mail após o símbolo de @, basta

descomentar a opção:

myorigin = $mydomain

Agora cadastre o domínio que seu servidor de email é reponsável: mydestination = $myhostname, localhost.$mydomain, $mydomain, \

mail.$mydomain, www.$mydomain, dominio.com.br

Caso tenha diversos domínios, pode se informar um arquivo com a listagem de domínios que

você possui, coloque os domínios, um seguido do outro separados por vírgula. Não coloque

os domínios virtuais nesta parte! mydestination = $myhostname, localhost.$mydomain, /etc/postfix/dominios

Informe também qual a rede que seu postfix irá trabalhar: mynetworks = 192.168.0.0/16, 127.0.0.0/8

Caso o seu servidor envie menagens como: [email protected] insira

aentrada abaixo no fim do arquivo main.cf

append_dot_mydomain=no

Page 176: Servidores de Redes.pdf

Salve o arquivo com F2 e saia com F10. Pronto, esse é o básico para que seu servidor de

email funcione.

- Configurando Relay no Postfix

------------------------------------------------------------------

Pelo padrão do postfix ele permite relay de e-mails das redes informadas na opção

mynetworks, e de seus domínios. Caso seja necessário habilitar o relay de outras redes, basta

adicionar as seguintes linhas no final do arquivo de configuração main.cf do postfix: [root@localhost]# mcedit /etc/postfix/main.cf

smtpd_recipient_restrictions = permit_mynetworks

check_client_access hash:/etc/postfix/client_access

check_relay_domains

Salve o arquivo com F2 e saia com F10, agora crie o arquivo /etc/postfix/client_access [root@localhost]# mcedit /etc/postfix/client_access

O arquivo terá a seguinte estrutura:

outros.dominios.com.br OK

10.0.0 OK

lamers.com.br REJECT

Salve o arquivo com F2 e saia com F10. E gere o arquivo de mapas de clientes com o

comando: [root@localhost]# postmap /etc/postfix/client_access

Outro exemplo, para bloquear apenas uma máquina da nossa rede retire a opção

permit_mynetworks, deixando a linha assim: smtpd_recipient_restrictions = check_client_access

hash:/etc/postfix/client_access

check_relay_domains

E coloque no arquivo /etc/postfix/client_access a máquina que se deseja bloquear

Page 177: Servidores de Redes.pdf

Como foi visto, o Postfix, por padrão, permite o relay de e-mails que estão cadastrados como

destino final, para permitir relay de outros domínios, basta adicionar o seguinte parâmetro no

arquivo main.cf: relay_domains = $mydestination, /etc/postfix/relay-domains

Salve o arquivo com F2 e saia com F10, agora crie o arquivo /etc/postfix/relay-domains. O

arquivo terá a seguinte estrutura:

# /etc/postfix/relay-domains

outro-dominio.com.br

dominio-10.com.br

- Usando aliases

---------------------------------------------------------------------------

Muitas vezes queremos que um usuário receba emails com outro nome, para administração

do servidor, para usar aliases edite o arquivo main.cf : [root@localhost]# mcedit /etc/postfix/main.cf

e descomente a liha: alias_maps = hash:/etc/aliases

Salve o arquivo com F2 e saia com F10, agora crie o arquivo /etc/aliases: [root@localhost]# mcedit /etc/aliases

A estrutura do arquivo é a seguinte: # apelido usuário real

admin joao,jose,manuel

Page 178: Servidores de Redes.pdf

Este exemplo informa ao postfix que ao receber uma mensagem para

[email protected] deverá enviar o mesmo para o joao,jose,manuel. Salve o arquivo

com F2 e saia com F10, e crie o mapa de aliases com o comando: [root@localhost]# postalias /etc/aliases

- Configurando Domínios Virtuais de E-mails

------------------------------------------------------------------

Na configuração do postfix, os domínios virtuais só funcionam para usuários cadastrados

neste domínio, ao contrário de outros servidores de email que basta ter o usuário cadastrado

no sistema.

Inclua os domínios virtuais no arquivo /etc/postfix/virtual, para isso edite o arquivo : [root@localhost]# mcedit /etc/postfix/virtual

e coloque os domínios virtuais de seu sistema da seguinte forma:

# /etc/postfix/virtual

virtual.com.br Emails do domínio virtual

[email protected] jose

OBS- A estrutura do arquivo é simples, a primeira linha informa que o nome do domínio

virtual seguido de um comentário qualquer. A segunda linha informa o email do usuário

virtual seguido do usuário real.

Salve o arquivo pressionando F2 e sai com F10.

No arquivo main.cf , acrescente no final do arquivo a seguinte linha: virtual_maps = hash:/etc/postfix/virtual

Salve, e crie o mapa de domínios com o comando: [root@localhost]# postmap /etc/postfix/virtual

- Configurando o pop-3

------------------------------------------------------------------

CL7.0

Page 179: Servidores de Redes.pdf

Para os usuários receberem os emails pelo seus programas clientes (netscape, outlook, etc..)

é necessário descomentar a linha pop-3 do arquivo /etc/inetd.conf: [root@localhost]# mcedit /etc/inetd.conf

Procure e descomente a linha: pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Salve o arquivo pressionando F2 e saia com F10.

Reinicie o serviço do inetd: [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

CL8 Para os usuários receberem os emails pelo seus programas clientes (netscape, outlook, etc..)

é necessário carregar o serviço pop-3:

Verifique se o no arquivo /etc/xinet.d/pop3 a estrutura esta como o exemplo abaixo: [root@localhost]# mcedit /etc/xinetd.d/pop3

service pop-3

{

disable = no

flags = REUSE

socket_type = stream

protocol = tcp

wait = no

user = root

server = /usr/sbin/ipop3d

}

Salve o arquivo pressionando F2 e saia com F10.

Page 180: Servidores de Redes.pdf

Inicie o serviço do xinetd: [root@localhost]# cds

[root@localhost]# ./xinet stop

[root@localhost]# ./xinet start

- Iniciando o Servidor.

-------------------------------------------------------------------------

Após as configurações feitas, inicie seu servidor de email: [root@localhost]# cds

[root@localhost]# ./postfix start

- Verificando erros

-------------------------------------------------------------------------

Acompanhe o arquivo de log para verificar se as mensagens estão sendo enviadas

corretamente, pelo comando: [root@localhost]# tmm

13.3. Problemas com Postfix, conecta durante

algum tempo e a conexão cai. Em /var/log/messages aparece erro:

Pop-3/TCP failed server terminate for x minutes

Como root, digite o comando: [root@localhost]# mcedit /etc/inetd.conf

Procure a seguinte linha :

pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Altere-a para:

pop-3 stream tcp nowait.100 root /usr/sbin/tcpd ipop3d

Esta mudança faz que o servidor não desconecte quando muitos usuários o acessem

simultaneamente.

Page 181: Servidores de Redes.pdf

Pressione F2 para salvar e F10 para sair do arquivo.

Utilize o comando abaixo para iniciar o serviço do inet. [root@localhost]# service inet stop ; service inet start

13.4. Erro no Postfix "Loops Back to Myself" Abra um terminal, se estiver no ambiente gráfico pressione: CTRL + ALT + F2 , acesse o

sistema como root e execute o seguinte comando:

[root@localhost]# tmm

Abra outro terminal, pode-se usar as teclas CTRL + ALT + F3

Neste exemplo temos suporte como dominio principal e velvet como dominio virtual

Mande um e-mail para o dominio virtual (velvet), volte para a tela em que o tmm está aberto

e verifique se foi gerado um arquivo de log parecido com o que segue abaixo. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Sep 27 14:22:23 server postfix/qmgr[15884]:

DE71282AF0:from=<roger@suporte>, size=1376, nrcpt=1 (queue

active)

Sep 27 14:22:23 server postfix/smtp[15950]: warning: mailer loop: best MX

host for suporte is local

Sep 27 14:22:23 server postfix/smtp[15950]:

DE71282AF0:to=<andre@velvet>, relay=none, delay=1,

status=bounced (mail for velvet loops back to myself)Sep 27

14:22:23 server postfix/cleanup[15948]:

CCFEA82AF1:message-id=20020927172223.CCFEA82AF1@suporte

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Para corrigir este problema é preciso adicionar uma linha no final do

arquivo /etc/postfix/main.cf .

Vá até um terminal se logue como root e execute os passos abaixo: [root@localhost]# mcedit /etc/postfix/main.cf

No final do arquivo adicione a linha abaixo:

append_at_myorigin=no Pressione F2 para salvar o arquivo e F10 para sair.

Agora é preciso reiniciar o serviço, para isso execute: [root@localhost]# cds

e em seguida [root@localhost init.d]# ./postfix stop ; ./postfix start

Page 182: Servidores de Redes.pdf

Feito isso o postfix irá redirecionar os e-mails corretamente.

Capítulo 14. SAMBA

14.1. Conceitos sobre o servidor Samba? ESTE FAQ REFERE-SE À VERSÃO 2.0.6 DO SAMBA.

Quais as limitações do Samba na integração com Windows NT?

A grande limitação do Samba é não poder FILIAR-SE, como SERVIDOR, a um DOMÍNIO,

pois tal faculdade depende do protocolo SAM, cujo modus operandi não é divulgado pela

Microsoft. Especificamente, o Samba não pode:

Ser BDC de um domínio NT, pois para ser BDC o Samba teria de ter acesso ao SAM

do PDC;

Possuir BDCs.

Ser um servidor agregado, cujos recursos e permissões são gerenciados de forma

centralizada no PDC (vide: O que são domínios ?).

Ser um servidor de backup do WINS.

ter servidores de backup do WINS.

Por outro lado, o samba PODE, entre outras coisas:

Ser um PDC, seja de clientes Windows 9x ou NT.

Ser um servidor WINS, desde que não tenha de interagir com outros servidores

WINS.

Dar suporte a logons ao domínio (9x/NT).

Dar suporte a roaming profiles (9x/NT).

Autenticar a senha de um usuário junto a outro servidor Samba ou NT, seja ou não um

PDC.

E quanto ao Windows 2000?

O Samba interage corretamente com o Windows 2000, desde que este último esteja

configurado em MODO DE COMPATIBILIDADE COM NT 4. Nativamente, o Windows

2000 utiliza Kerberos e LDAP, e o Samba ainda não oferece interoperabilidade com

Windows nesses protocolos.

Quando o Samba pretende melhorar o suporte a domínios?

A próxima grande revisão do Samba, cognominada TNG (que corresponderá à versão 2.1.0

ou 3.0.0) deve trazer suporte mais ou menos completo ao DCE/RPC, e com isso traz de

roldão uma melhor integração com domínios NT.

Page 183: Servidores de Redes.pdf

Não obstante, a versão estável do Samba (2.0.x) tem incorporado algum suporte a domínios

a cada revisão, portanto é possível que algumas limitações citadas caiam bem antes do

lançamento da versão TNG.

O que significam essas siglas: NetBIOS, SMB, CIFS, DCE/RPC, SAM, PDC, BDC?

NetBIOS: Um protocolo desenvolvido nos anos 80 para suporte a integração de

diversos computadores, numa rede não-hierárquica. Suas principais características

são:

simplicidade de implementação;

não precisa de servidor dedicado;

acesso aos diversos nós por nomes ao invés de endereços numéricos;

resolução de nomes para endereços de rede através de técnicas de broadcast;

suporte muito fraco a inter-redes(*).

(*) inter-redes: diversas redes locais, agregadas por roteadores.

Note que muitas das características que tornam esse protocolo simples acabam sendo

limitantes na hora de implementá-lo em uma planta de grandes proporções. Para isso é

que existem as extensões :)

NetBEUI: Protocolo de transporte do NetBIOS. Nada mais é que um pacote NetBIOS

puro dentro de um pacote de rede em modo broadcast. O NetBEUI, por ser tão

simples, não é roteável, ou seja, não pode ser facilmente usado em inter-redes.

Esse protocolo de transporte caiu em desuso, em favor do TCP/IP, que é roteável.

SMB: Novo nome dado ao protocolo NetBIOS, já bastante estendido. O SMB é

inversamente compatível com computadores NetBIOS, e esforça-se bastante para

manter essa compatibilidade.

CIFS: Novo nome dado ao protocolo SMB que foi novamente estendido pela

Microsoft.

NMB: Subconjunto do protocolo SMB/CIFS que dedica-se a traduzir nomes de

máquinas para endereços IP.

WINS: protocolo de resolução de nomes para endereços IP. É a mais importante

extensão ao protocolo SMB, pois permite uma operação "limpa" em ambiente de

inter-redes. (Vide: O que é um servidor WINS ?)

DCE/RPC: Tipo de RPC (Remote Procedure Call), implementado pela Microsoft,

utilizado em praticamente tudo que se refira a administração de domínio, inclusive

gerenciamento remoto do servidor.

É transportado por um "pipe" do SMB. Portanto, não é exatamente uma extensão do

SMB, e sim um protocolo empilhado sobre ele. De qualquer forma, pelo uso massivo

do DCE/RPC em domínios NT, torna-se mandatório implementar esse protocolo em

conjunção ao SMB.

SAM: Banco de dados + protocolo de gerenciamento de domínios.

Page 184: Servidores de Redes.pdf

O banco de dados armazena as mais diversas informações sobre um domínio, a

maioria delas geralmente relacionada com permissões de usuários. Esse banco de

dados é mantido pelo PDC e pelos BDCs.

O protocolo é uma classe de RPC, portanto é "empilhado" sobre o DCE/RPC.

PDC: Primary domain controller - controlador primário de domínio. O banco de

dados SAM mantido por este computador é o "que vale" para todo o domínio. Os

BDCs consultam periodicamente este computador para obter dele o SAM e/ou as

últimas alterações.

BDC: Backup domain controller - controlador reserva. Como já foi dito, o BDC

duplica o SAM do PDC periodicamente. O BDC tem duas funções numa rede:

Tomar provisoria ou definitivamente o lugar do PDC caso este último falhe (o BDC tomar

automaticamente o lugar do PDC, porém a promoção definitiva para PDC tem de ser manual)

Atender a usuários de uma rede local que esteja "distante" do PDC. Exemplo: uma filial ligada à

matriz por um link muito lento.

O que são workgroups (grupos de trabalho)?

Um grupo de trabalho é uma coleção de máquinas que implementam o protocolo NetBIOS.

Não existe hierarquia de máquinas dentro de um grupo de trabalho. Cada computador é dono

e responsável por seus próprios recursos. Não existe gerenciamento centralizado de usuários,

senhas, ou permissões.

É claro que podemos exigir autenticação por usuário/senha no acesso a um recurso. Mas não

existe nada que impeça, por exemplo, um usuário de liberar totalmente o acesso aos recursos

de sua máquina.

Uma forma de melhorar um pouco a segurança é delegar toda a autenticação de

usuários/senhas a um único computador da rede - é o 'security = remote' do Samba. Também

pode-se rotular alguns computadores como "servidores" e garantir sua segurança física, de

modo que ninguém possa alterar seus esquemas de autenticação. Note que é você quem está

dizendo quais são os servidores - o protocolo continua não distinguindo essas máquinas das

demais.

Um aspecto interessante acerca dos workgroups são as listas de navegação, aquelas que

aparecem no smbclient e no Ambiente de Rede. A lista das máquinas de CADA workgroup é

mantida por apenas UM computador da rede. O computador responsável pela lista é

escolhido automaticamente (essa "eleição" faz parte do protocolo NetBIOS). Como esse

processo acontece por broadcast, não funciona muito bem se houver duas ou mais redes -

caso em que você precisará dos DOMÍNIOS.

O que são domínios, no jargão do SMB ? No que um domínio é diferente de um grupo de

trabalho (workgroup)?

Domínios são workgroups onde existe alguma hierarquia, ou separação entre "clientes" e

"servidores", sendo que essa hierarquia é garantida pelo protocolo.

A primeira adição ao paradigma dos workgroups é o NAVEGADOR-MESTRE DE

DOMÍNIO. Esse servidor, que TEM DE SER indicado explicitamente pelo administrador do

sistema, vai compilar as listas de computadores de todas as redes locais.

Compreensivelmente, essa função costuma ser acumulada com a de PDC, sendo que no

Windows NT essa acumulação é compulsória. (No Samba, é falcultativa.)

Page 185: Servidores de Redes.pdf

Quando o mestre de domínio é ligado, ele registra-se no servidor WINS, informando

explicitamente a ele que é um mestre de domínio. Cada navegador local deve contactar o

mestre de domínio e transmitir a ele a lista dos i computadores da rede local. Para localizar o

mestre, o navegador simplesmente pergunta ao servidor WINS: "qual é o navegador-mestre

do domínio XYZ ?" e o WINS responde de acordo.

Portanto, o paradigma de domínio torna possível o funcionamento do protocolo SMB em

uma planta com inter-redes.

Outro aspecto dos domínios é o logon de domínio. Isso faz mais sentido quando as

máquinas-clientes são Windows. Para entrar no domínio, o usuário *precisa* digitar um

usuário/senha válido, do contrário não terá acesso a nenhum servidor NetBIOS/SMB, e

talvez nem à sua própria máquina (isso depende de configuração).

Note como isso é diferente de um workgroup, onde basta digitar um par usuário/senha

aleatório no Windows, que o usuário terá acesso a todas as outras máquinas (sujeito, é claro,

às exigências particulares de autenticação de cada uma delas).

Outro aspecto do logon de domínio é o profile (perfil), que pode ficar armazenado no

servidor de domínio. Seja qual for a máquina em que o usuário esteja logado, receberá seu

próprio ambiente de trabalho, com as letras e cores do seu gosto e com as restrições impostas

pelo administrador. (Isso vale mesmo que o cidadão esteja logando-se de um laptop via

Internet!)

O domínio permite a agregação de servidores com administração centralizada. Ou seja, um

computador pode ser definido como servidor pertencente ao domínio. O acesso dos usuários

aos recursos do mesmo é cadastrado no PDC, e não mais no próprio servidor.

Esse último recurso, não suportado ainda pelo Samba, permite a segregação dos recursos em

duas classes principais:

a) recursos do domínio ("seguros", sob controle do administrador);

b) recursos dos computadores de usuários (inseguros, os usuários compartilham como bem entendem).

O que é um servidor WINS ?

No protocolo NetBIOS/SMB padrão, a resolução de nomes é feita com pacotes de broadcast.

É uma solução simples e dispensa configuração, porém não se presta a plantas com inter-

redes.

No WINS, cada máquina, ao ser ligada, REGISTRA seu nome, função e endereço IP junto

ao servidor WINS. Se todas as máquinas fizerem isso, o servidor WINS terá uma lista de

nomes e endereços de todas as máquinas da rede.

Esse registro independe do workgroup ou domínio a que pertença a máquina. Deve haver

apenas um servidor WINS em toda a inter-rede (vide: Um servidor WINS não é muito pouco

?).

Quando um computador precisa descobrir o endereço IP de outro, não precisa ficar

procurando com broadcasts; consulta diretamente o servidor WINS.

Note que o servidor WINS não trata de nenhum aspecto referente a grupos de trabalho ou

domínios. A única coisa que ele sabe fazer é traduzir nomes SMB para endereços IP.

Page 186: Servidores de Redes.pdf

Note também que, embora seja comum o PDC ou BDC acumular a função de servidor

WINS, essa concentração de serviços não é obrigatória.

Quando for configurar o Samba e sua rede usar WINS, você deve especificar exclusivamente

uma ou outra das seguintes opções (nunca as duas ao mesmo tempo): wins support = yes

wins server = <endereço IP>

A segunda linha indica que o servidor WINS está no <endereço IP>. A primeira linha diz

que o próprio Samba é o servidor WINS da rede.

Um servidor WINS para toda a rede não é muito pouco? Como fica a questão da alta

disponibilidade?

O Samba ainda não suporta o conceito de vários servidores WINS trabalhando de forma

redundante e cooperativa.

Existe uma opção. Se uma empresa tem diversas plantas interligadas, mas não precisa que

e.g. os usuários da planta A enxerguem os usuários da planta B, atribui-se um domínio e um

servidor WINS separado para cada planta. (Obviamente, esta não é uma solução, e sim uma

saída a la Leão da Montanha :)

Posso passar sem servidor WINS numa inter-rede?

Em tese, pode. O problema básico é assegurar que os navegadores locais (ou mestres locais,

ou local master browsers, é tudo a mesma coisa) consigam descobrir onde está o mestre de

domínio.

Um esquema possível é:

a) assegurar que o Samba será o mestre local;

b) introduzir um remote announce para a rede do mestre de domínio.

c) introduzir, no Samba mestre de domínio, remote announce para todas as redes onde possam haver

navegadores locais.

d) fazer alguns outros pequenos ajustes para que essa "dança" funcione.

Essa solução aumentaria bastante o tráfego inter-redes, o que pode se tornar um problema

caso haja links de baixa velocidade no caminho. Se não puder usar o WINS, tente essa

solução, mas faça uma boa análise de tráfego antes de dar o caso por encerrado :)

Como especificar o modo de resolução de nomes NetBIOS?

Através da diretiva "name resolve order", que pode conter qualquer um dos seguintes modos

de resolução especificados, em ordem de preferência:

wins -> consulta o servidor WINS

lmhosts -> consulta o arquivo /etc/lmhosts

host -> consulta o DNS

bcast -> faz broadcast para achar o nome

Exemplo: name resolve order = wins lmhosts bcast

Page 187: Servidores de Redes.pdf

Se os nomes DNS das máquinas não coincidem com seus nomes NetBIOS, é interessante

deixar a opção "host" de fora, pois ela pode causar uma consulta ao DNS que costuma ser

demorada...)

Ideal seria usar apenas o WINS, porém, se o servidor WINS falhar, a rede NetBIOS pára por

completo. Mantendo o broadcast como segunda opção, a procura fica mais lenta mas pelo

menos continua funcionando.

O que são as senhas encriptadas?

RESPOSTA CURTA.

Ao invés de transmitir as senhas exatamente como são, elas são encriptadas primeiro. Isso

evita "sniffing" de senhas.

Como não existe (AFAIK) forma de um cliente dizer ao servidor que "olhe, estou

transmitindo uma senha encriptada", é necessário que cliente e servidor estejam

corretamente configurados para usarem, ambos, o mesmo tipo de senha.

Por isso é que, no Samba, é necessário especificar "encrypt passwords = yes/no", pois ele

não tem como adivinhar que tipo de senha as demais máquinas da rede estão usando.

Implementações mais antigas (Windows for Workgroups, primeiro Windows 95) ainda usam

senhas em texto puro. Todas as implementações mais novas (Windows 95 OSR2, Windows

98/NT/2000) usam senhas encriptadas por padrão, embora isso possa ser mudado pela

edição de uma chave no Registro. O diretório /usr/doc/samba tem arquivos .reg para

conversão dos diversos sabores do Windows para modo texto.

RESPOSTA LONGA

No protocolo NetBIOS/SMB original, as senhas são transmitidas em texto puro, ou seja,

exatamente como são, através da rede. Com a difusão das ferramentas de "sniffing",

qualquer usuário pode captar os pacotes de rede, filtrar aqueles destinados à autenticação e

coletar as senhas dos usuários.

A simples encriptação da senha não resolve o problema, apenas eleva um pouco a

dificuldade de invasão, do ponto de vista de um usuário comum, pois basta

sniffar/armazenar/transmitir a versão encriptada.

O protocolo SMB evita esse problema usando simultaneamente a encriptação e um esquema

de desafio/resposta, como segue:

O servidor armazena a senha do cliente em forma encriptada (c);

Quando o cliente vai se conectar ao servidor, gera um número aleatório de 64 bits. (n)

O cliente gera um "hash" da senha com o número aleatório. Esse hash será o "desafio". (c * n)

O cliente transmite o número aleatório e o desafio ao servidor.

O servidor, que também tem uma versão encriptada da senha (c'), gera novamente o "hash" baseado na

sua senha mais o número aleatório gerado pelo cliente. (c' * n)

Se os dois "hashes" coincidirem, significa que o cliente sabe a senha, pois se (c * n) == (c' * n), então c

== c'.

Como a operação "*", nesse caso, é um hash (no estilo MD5) e não uma multiplicação, a

igualdade acima indica que MUITO PROVAVELMENTE c == c', mas sempre existe a

(pequeníssima) chance de o cliente estar num dia de sorte e ter "chutado" a senha correta.

Page 188: Servidores de Redes.pdf

Note que usar senhas encriptadas envolve muito mais passos na autenticação. O esquema

acima evita a transmissão da senha em qualquer situação, seja a versão pura ou encriptada.

Infelizmente, o protocolo DCE/RPC abre algumas brechas no esquema, que permitem uma

dedução facilitada da senha encriptada, e então da senha original. *** O protocolo

DCE/RPC só é garantidamente seguro se trafegar por um canal por si só encriptado como o

SSL ***

Existem dois tipos de senha encriptada. (É por isso que no arquivo /etc/smbpasswd há dois

campos com 32 dígitos hexa para a senha). O esquema mais antigo utiliza o algoritmo DES,

adaptado de modo a gerar um hash de 128 bits. Já o Windows NT utiliza o algoritmo MD4,

que gera 128 bits "de berço". Ambos são relativamente pouco resistentes à inversão (i.e.

achar a senha original a partir da encriptada.)

Como devo cadastrar os usuários no servidor Samba?

Em primeiro lugar, cada usuário NetBIOS deve corresponder a um usuário UNIX, porque

deste último é que dependem as permissões de acesso. Então, o primeiro passo é cadastrar os

usuários Unix, com adduser ou coisa parecida.

Se sua rede usa senhas em texto puro (acho improvável :) e os nomes dos usuários NetBIOS

correspondem exatamente aos usuários Unix em nome e número, basta cadastrar as senhas

com passwd, e nada mais precisa ser feito.

Se sua rede usa senhas encriptadas, você precisa executar os seguintes passos adicionais:

Adicionar o usuário em /etc/smbpasswd, com smbadduser <usuário

UNIX>:<usuário NetBIOS>.

Exemplos: [root@localhost]# smbadduser epx:elvisp

[root@localhost]# smbadduser joao:joao

Note que aqui você tem uma oportunidade de cadastrar usuários cujo nome NetBIOS

seja diferente do nome UNIX.

Cadastrar a senha encriptada do usuário, com smbpasswd.

Esse utilitário funciona de forma semelhante ao passwd, mas preencherá apenas as

senhas encriptadas em /etc/smbpasswd.

Se você tem vários usuários NetBIOS que devem ser mapeados como um único usuário

UNIX, você deve editar o arquivo /etc/smbusers. Esse arquivo tem diversas linhas no

formato <usuário UNIX> = <usuário NetBIOS> <usuário

NetBIOS> ...

Exemplos: root = administrator

epx = elvis elvisp epx

Crie a relação entre usuários UNIX e NetBIOS no mesmo padrão. Depois, certifique-se de

que o arquivo /etc/smb.conf esteja com a seguinte diretiva implementada e descomentada: username map = /etc/smbusers

Page 189: Servidores de Redes.pdf

AFAIK também será necessário reiniciar o servidor SAMBA após fazer esta última alteração

(a maioria das alterações em /etc/smb.conf é assumida pelo servidor sem necessidade de

reiniciá-lo.): [root@localhost]# /etc/rc.d/init.d/smb restart

Como administrar as permissões dos usuários usando grupos?

Eu gostaria de administrar as permissões dos usuários usando grupos UNIX, e tenho

usuários que estão em diversos grupos. Porém, quando um usuário cria um novo arquivo via

servidor Samba, o grupo desse arquivo é sempre o grupo primário do usuário. Como fazer

com que os arquivos criados sejam possuídos pelo grupo que eu definir?

É fácil. Se, por exemplo, todos os arquivos criados no

diretório /home/samba/hercules devem ser possuídos pelo grupo "contabil", basta tornar o

grupo dono desse diretório e ligar o bit SGID, v.g.: [root@localhost]# chown root:contabil /home/samba/hercules

[root@localhost]# chmod 2775 /home/samba/hercules.

O arquivo /etc/smb.conf deverá ter, para esse volume, os seguintes parâmetros de

permissão: force create mode = 775

force directory mode = 2775

Note que isso NÃO modificará as permissões dos arquivos e diretórios que já existem - você

terá de fazer isso usando chmod e chown. Uma fez feito isso, o Samba e o SGID

encarregar-se-ão de manter as permissões estáveis. (ao invés de x775, você poderá querer

usar x770 ou x740, dependendo da necessidade.)

Tenho apenas uma rede local. Como devo planejar a minha rede e configurar as outras

máquinas?

(Muitas das recomendações a seguir não são mandatórias, porém vão resultar em uma rede

mais estável e mais facilmente escalável.)

Tenha um mestre de domínio. Se você já tiver um computador NT como PDC,

provavelmente vai continuar com ele. Do contrário, escolha um dos servidores Samba

para a tarefa. Esse computador deverá ser um "servidor", ou seja, um computador não

sujeito a ser desligado/religado a toda hora.

No Samba, o comando "domain master = yes" define o mesmo como mestre de

domínio, ou PDC.

Eleja o mestre de domínio como navegador-mestre local, de forma explícita, de forma

a que os diversos Samba e/ou Windows NT não fiquem brigando pela função. Um

Windows NT que seja PDC ganha automaticamente essa função.

No Samba que faça papel de PDC, use a diretiva "os level = 254" para garantir que ele

ganhe a eleição. (Talvez um número bem menor que esse já basta, mas é melhor não

facilitar :)

JAMAIS promova o Samba a mestre de domínio ou coloque um OS level muito alto

se o PDC for outro computador - em particular se for o Windows NT, do contrário

haverá "guerra" pela função. O servidor NT, que seja PDC, não aceita perder a eleição

Page 190: Servidores de Redes.pdf

para navegador, convoca nova eleição, perde de novo, convoca nova eleição...

gerando um grande e desnecessário tráfego de rede.

Procure usar senhas encriptadas. Alguns recursos mais novos como logons de

domínio exigem o uso de senhas encriptadas, então é melhor acostumar-se com elas

desde já.

Se você possuir computadores com a primeira versão do Windows 95 ou 3.1x,

atualize-os com os patches da Microsoft para senhas encriptadas. Todas as versões

mais recentes do Windows usam senhas encriptadas por padrão.

AFAWK clientes MS-DOS ou Lan Manager não entendem senhas encriptadas, caso

em que você terá de usar senhas em texto puro. Verifique os

arquivos /usr/doc/samba/*.reg para aprender como desabilitar encriptação de senhas

nas diversas versões do Windows.

Use WINS. Defina um dos servidores como servidor WINS. (Não precisa ser o PDC.

É importante apenas que seja um computador ligado o tempo todo, e com endereço IP

fixo.)

Se escolher um computador Samba como servidor WINS, habilite esse recurso com a

cláusula "wins support = yes".

Nos demais computadores, não esqueça de indicar-lhes qual o número IP do servidor

WINS. No Windows, isso se configura nos folders do TCP/IP. Nos computadores

Samba, use a cláusula "wins server = a.b.c.d", e indique a ordem de resolução de

nomes com "name resolve order = wins bcast".

Se você usa DHCP, configure-o com o número IP do servidor WINS; assim, você

poderá ter cliente 100% plug-and-play. Isso pode ser feito tanto no NT quanto no

Unix.

Se você tem mais de um domínio ou grupo de trabalho, naturalmente haverá um PDC

ou mestre de domínio, por domínio :) No entanto, o servidor WINS deverá ser único

na rede (*).

(*) A não ser que você deliberadamente queira que os usuários de um domínio não

enxerguem outro(s) domínio(s).

Eu tenho várias redes interligadas. O que mais preciso observar?

(Assumindo que você já observou os pontos da pergunta anterior)

Defina qual será o mestre de domínio, ou PDC, para toda a planta. (Se houver mais de

um domínio, defina quais serão os PDCs.) Provavelmente ele já existe, mas é

importante que esse servidor esteja "perto" (em termos de largura de banda) de todas

as redes onde houverem usuários do domínio.

Defina qual será o servidor WINS, para toda a planta. A não ser que você queria

mesmo segregar usuários, o servidor WINS será um só para todos os domínios.

Nas redes em que houver um servidor samba, configure-o com um OS level alto para

que ele seja o navegador daquela rede. Não esqueça de configurá-lo, e a todas as

máquinas da planta, com o endereço IP do servidor WINS.

Page 191: Servidores de Redes.pdf

Tome especial cuidado para que não haja coincidência em nomes de máquinas.

Particularmente problemático é um computador com o mesmo nome do mestre de

domínio.

A troca de dados entre os navegadores locais e o mestre de domínio é automática. Pois,

quando o PDC é ativado, registra-se com essa função no WINS. Os navegadores locais

"acham" o PDC por uma simples consulta ao WINS.

Os navegadores locais varrem a rede e passam esses dados ao PDC a cada 12 minutos.

Devido a esse fator, um usuário de uma rede perimetral pode demorar até 36 minutos para

enxergar outro usuário em outra rede perimetral. (Isso pode ser provado através de um

pequeno exercício de lógica - e de qualquer forma lembre-se que "se aconteceu, tem de ser

possível" :).

Tenho duas placas de rede no meu servidor, mas apenas os usuários ligados a uma das redes

enxerga o Samba. Qual é o problema?

O Samba, por padrão, liga-se apenas a primeira interface de rede que encontrar. Isso pode

ser mudado inserindo-se uma linha nesse estilo: interfaces = 192.168.12.2/24 192.168.13.2/24

Note que essa configuração abre uma possibilidade não muito óbvia. Poderíamos rodar

várias instâncias separadas do Samba em um mesmo computador, desde que cada instância

ligue-se a uma interface separada. (Nada que não pudesse ser aproximado com a macro %L,

mas ...)

Como o Linux pode ser *cliente* do protocolo SMB?

smbclient. É uma espécie de "canivete suíço", em modo texto. Permite a navegação

em volumes no estilo FTP, impressão, remessa de mensagens, consulta a recursos de

servidores etc. Alguns utilitários smbprint, smbtar) são meros scripts que chamam

alguma função do smbclient. Sua principal vantagem é ser versátil. A principal

desvantagem é não ser uma ferramenta adequada para o usuário final, e às vezes nem

mesmo para o usuário experimentado.

nmblookup. Apenas lista as máquinas NetBIOS da rede.

smbmount. Aliado a um módulo do kernel, permite montar volumes SMB como

diretórios do UNIX.

Sua principal vantagem é a transparência. Uma vez montado, o volume pode ser

tratado como qualquer outra árvore de diretórios do sistema. Desvantagens:

compatível apenas com Linux e também não é palatável ao usuário final.

smbwrapper. Instancia um shell e captura quase todas as chamadas de sistema que

lidam com arquivos (open, close, read, write...). Emula uma estrutura de diretórios

(/smb/<servidor>/<volume>/...), de modo que tanto o shell quanto os programas

executados a partir dele "pensam" que estão acessando arquivos comuns, mas na

verdade essas chamadas são interceptadas e satisfeitas via SMB.

Vantagens: compatível com diversos Unixes, não envolve processo de montagem e,

como mapeia a rede NetBIOS como diretórios comuns, torna-se acessível ao usuário

final através de outras ferramentas. A pricipal desvantagem é não funcionar direito.

Page 192: Servidores de Redes.pdf

Outra desvantagem é não suportar todas as chamadas de sistema passíveis de lidar

com arquivos (e.g. mmap).

navegadores no estilo "Ambiente de Rede". Existem alguns (kruiser, gnomba,

xsmbbrowser), nenhum suficientemente bom ou estável. De todos, o kruiser é o que

mais perto chega de ser útil.

Mas a principal desvantagem é de outra natureza: fraca integração com o ambiente

gráfico. Pouco adianta enxergar volumes/arquivos dentro de um utilitário, se você não

enxerga esses mesmos objetos em nenhum outro programa !

smbtree. É um conjunto de utilitários em estágio inicial de desenvolvimento pela

Conectiva. É uma espécie de integrador dos recursos existentes (smbclient,

nmblookup, smbmount) com objetivo semelhante ao smbwrapper: manter uma

árvore de diretórios análoga à estrutra da rede NetBIOS.

Suas principais vantagens serão: a transparência do smbmount (pois realmente

montará os volumes que o usuário quer acessar), a casualidade do smbwrapper (pois a

estrutura de diretórios será dinâmica) e a transparência, pois qualquer programa que

consiga ler uma árvore de diretórios, enxergará a rede NetBIOS.

Apesar de usar como apoio os utilitários smbmount, smbclient e nmblookup, tentar-

se-á eliminar a necessidade da presença do arquivo /etc/smb.conf, problema que afeta

todos os demais utilitários. (Pelo menos numa workstation, parece estranho ter de

configurar o servidor para se ser cliente, não é ?)

Terá como desvantagens a pouca ou nenhuma compatibilidade com sistemas não-

Linux, e (por enquanto) não suportar filas de impressão remotas, obrigando ao uso do

smbprint.

Como posso montar um drive do Windows como um subdiretório do Linux?

No Samba 2.0.6: smbmount //servidor/volume /diretorio -o username=usuario%senha

^^^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^

As setas apontam os parâmetros que você vai alterar conforme seu sistema. Note que para o

smbmount funcionar, o arquivo /etc/smb.conf deve existir e estar minimamente configurado

para seu computador e rede. Nesse caso, os parâmetros mais importantes são:

encrypt passwords

wins server

wins support

name resolver order (vide "Como especificar a ordem de resolução de nomes NetBIOS?)

A forma de especificar usuário e senha nas versões anteriores do Samba é um pouco

diferente. Consulte o manual on-line.

A desmontagem pode ser feita com smbumount /diretorio ou umount /diretorio.

O smbmount tem capacidade de recuperação (i.e. se a conexão é fechada, ele tenta abrí-la

novamente, tal qual faria um cliente Windows). Porém, devido a um bug no sistema de log,

o smbmount aborta ao tentar reabrir a conexão. A versão 2.0.6 do Samba, que é distribuída

com o Conectiva Linux 5.0, está devidadamente "patcheada", porém fique atento a versões

mais antigas e mais novas !

Page 193: Servidores de Redes.pdf

Como devo proceder para mandar jobs de impressão para uma impressora ligada a um

servidor Windows?

A opção fácil é usar o printtool, um utilitário gráfico que também pode ser acessado a partir

do control panel. A configuração é muito fácil, mas observe que seu

arquivo /etc/smb.conf deve estar minimamente configurado, tal como no caso do

smbmount.

(Tudo fica mais fácil se você for acessar a impressora como guest, ou seja, sem

usuário/senha.)

Se você editar manualmente o arquivo /etc/printcap, você terá de executar os seguintes

passos adicionais:

Chamar smbprint como um filtro de entrada (if=);

Criar o arquivo /var/spool/lpd/<nome da fila>/.config que conterá os nomes de

máquina, usuário e senha. O smbprint é um script que varia ligeiramente conforme a

distribuição; verifique seu conteúdo para determinar o nome exato das variáveis que

você deverá preencher.

Se tiver dúvidas e o modo gráfico estiver funcionando em seu (ou em outro) computador,

crie uma impressora via printtool e verifique o conteúdo

de /etc/printcap e /var/spool/lpd/<fila>/.config, para "pegar o erro".

Se tiver dúvidas e o modo gráfico estiver funcionando em seu (ou em outro) computador,

crie uma impressora via printtool e verifique o conteúdo

de /etc/printcap e /var/spool/lpd/<fila>/.config, para "pegar o erro".

Existe algum utilitário semelhante ao "Ambiente de Rede" do Windows?

Vide "Como o Linux pode ser *cliente* do protocolo SMB ?".

Quais as macros existentes (%[letra]) e como devem ser usadas?

O manual on-line do smb.conf traz as macros (lista parcial):

%S -> o nome do serviço corrente (se houver/fizer sentido)

%P -> o diretório-raiz do serviço corrente

%u -> usuário UNIX (efetivo)

%g -> grupo primário UNIX correspondente a %u

%U -> usuário NetBIOS (que pode ser diferente de %u)

%G -> grupo primário de %U

%H -> Diretório-base do usuário %u.

%v -> Versão do Samba.

%h -> Nome DNS da máquina em que o Samba está rodando.

%m -> Nome NetBIOS do cliente.

%L -> Nome NetBIOS do servidor. (*)

%M -> O nome DNS da máquina-cliente.

%I -> O número IP da máquina-cliente.

%R -> Nível de protocolo negociado. (CORE[PLUS]?, LANMAN{1,2}, NT1)

%d -> O número do processo (PID) do servidor corrente.

Page 194: Servidores de Redes.pdf

%a -> Arquitetura da máquina-cliente. (**)

%T -> Data e hora correntes.

(*) Como um servidor pode ter diversos apelidos NetBIOS além do nome primário, a macro

%L permite alterar o comportamento do Samba de acordo com o nome pelo qual o cliente

conhece o servidor. Isso permite, com o auxílio da diretiva include, ter-se diversos

"servidores virtuais", "diferentes", num único computador e rodando uma única instância do

Samba.

(**) Não é 100% confiável e informa apenas Samba, WfWg, WinNT e Win95. Qualquer

outro tipo de cliente será UNKNOWN.

As macros são interpretadas da seguinte maneira. Quando um usuário conecta-se a um

servidor, uma nova cópia do processo smbd é iniciada. Essa cópia reinterpreta o

arquivo /etc/smb.conf, substituindo as macros pelos seus valores.

Note que você pode usar essas macros até com a diretiva "include", de modo que é possivel

se ter praticamente um smb.conf ("patcheado" com um include específico) para cada usuário

!

A diretiva include não aceita as macros %u, %P e %S.

Ok, já consigo fazer domain logons, tendo o Samba como PDC. Agora, onde crio o logon

script?

O arquivo de configuração do Samba deve conter uma diretiva semelhante a: logon script = %U.bat

O diretório-base dos logon scripts é o volume [netlogon]. No exemplo, se o diretório do

volume netlogon for igual a /home/samba/netlogon, o script do usuário "roberto" seria

procurado em /home/samba/netlogon/roberto.bat.

Nada impede que se introduza um subdiretório na diretiva logon script, como em logon script = profiles/%U.bat

Dois detalhes muito importantes:

Verifique as permissões do usuário: as permissões do volume [netlogon] em si, as

permissões UNIX do usuário para com o(s) diretório(s) desse volume, e finalmente

permissão de leitura do usuário para o script.

O script DEVE ser criado como um arquivo-texto do DOS. Se for simplesmente

criado no UNIX com o vi, e nada for feito para converter o arquivo-texto para o

padrão do DOS, o logon script NÃO funcionará.

O que são volumes "home"?

O volume [homes] do Samba é na verdade um falso volume, que é mapeado para o diretório-

base do usuário UNIX ("home"), correspondente ao usuário que logou-se no servidor.

Como cada usuário tem esse volume mapeado para seu próprio diretório-base, é uma forma

fácil e rápida de criar volumes "privativos" dos usuários.

Conforme veremos em seguida, esses volumes são *necessários* para armazenar profiles.

Como usar roaming profiles?

Page 195: Servidores de Redes.pdf

WINDOWS 95/98

No folder Painel de Controle / Senhas / Perfis de Usuário, o Windows deve estar

configurado para usar profiles (perfis) separados por usuário. O padrão é usar um

único perfil para todos os usuários da máquina.

Nesse mesmo folder você pode configurar também se ícones do desktop e menus

fazem ou não parte do profile.

Se você não usava profiles antes, é interessante apagar os usuários já cadastrados no

folder Painel de Controle / Usuários, suas senhas em cache (\WINDOWS\*.PWL) e seus

profiles locais (\WINDOWS\PROFILES\*).

O Windows NÃO pergunta ao PDC onde estão os profiles - ele assume que estão no

diretório-base do usuário ("home"). Isso significa, para o Samba, que a cláusula

"logon path" deve existir mas será inócua; o falso volume "homes" deve existir.

Opcionalmente, pode-se jogar um arquivo nomeado CONFIG.POL no volume

netlogon. O Windows sempre procura por esse arquivo. Ali, podem ser configuradas

algumas políticas de funcionamento (FIXME: Imagino que ali podemos dizer que o

profile está em outro lugar que não o "home" do usuário).

Infelizmente, o CONFIG.POL não é um arquivo-texto comum, e seu formato não é

amplamente conhecido. Se precisar dele, você terá de criá-lo no Windows NT, e

depois copiá-lo para o Samba.

Alguns recomendam ainda que os volumes [netlogon] e [homes] devam ser

"browsable = yes", e que o logon script do cliente tenha um comando semelhante a net use X:

/home

do contrário o Windows 95 recusar-se-ia a gravar os profiles no "home" do usuário.

Não confirmamos a necessidade disso; porém, existem várias sub-versões do

Windows 95, e pode ser que alguma delas exija essas coisitas.

Parece que o comportamento de jogar os profiles no diretório home é particular do

Samba 2.0.6, enquanto os Sambas anteriores obedeciam ao logon path. Vide este e-

mail da lista do Samba: EOF

I wouldn't call them broken -- they got changed from 2.0.5a. If you'd

like

to restore the 2.0.5a behavior (I like that behavior better), change

these

two source/smbd/ipc.c calls from:

pstrcpy(p2, lp_logon_home());

to

pstrcpy(p2, lp_logon_path());

This will revert to the 2.0.5a behavior that gets profile location

right

but has been reported to get home directory wrong. Also, it's been

reported

Page 196: Servidores de Redes.pdf

that the following workaround places both profiles and the home

directory

where they belong (without the source code reversion)

logon home = \\%L\%U\profile

Steve Litt

At 07:27 AM 02/18/2000 +1100, eirvine wrote:

>Hi,

>

>Roaming profiles are *broken* in 2.06. They work just fine on 2.05a.

>

>Eddie.

>

>JF HUNEZ wrote:

>>

>> Hello,

>> I run Samba 2.06 as PDC and the clients are Win98 machines

>> only.

>> Roaming profiles don't work, there is no user.dat in the profiles

>> share, only the START folder.

>> I have read the doc in /usr/doc and the NTDOM faq too ; my

>> smb.conf meets the recommendations.

>> Roaming profiles need a NT server on the network ??

>>

EOF

WINDOWS NT

Também deve ser configurado para usar perfis;

Ao contrário do 95, ele lê/grava o profile na localização apontada pelo PDC; portanto,

a diretiva "logon path" deve ser corretamente configurada.

Costuma ser recomendada a criação de um volume apenas para os profiles. A

desvantagem desse método é que o diretório de cada usuário tem de ser criado

manualmente. Uma saída possível é fazer logon path = \\%N\%U\profile

(*)

e modificar o script "adduser" de modo que esse ~/profile seja criado no momento da

criação do usuário. (Um FAQ sugeriu que o Windows tenta criar automaticamente

quaisquer subdiretórios, o que tornaria desnecessária a alteração em adduser. Sujeito a

verificação !!!)

(*) %N é o nome do próprio servidor e %U é o nome do usuário NetBIOS. \\%N\%U

resulta no próprio volume "home" do usuário -- desde que o volume [homes] exista !

O NT também lê o arquivo CONFIG.POL, se ele existir.

Como posso fazer o profile ser individual por MÁQUINA (não por usuário, como é mais

comum) e fixo (somente-leitura)?

Use a seguinte linha:

Page 197: Servidores de Redes.pdf

logon path = %systemroot%\profiles\%u

onde %systemroot% simboliza um diretório LOCAL da máquina-cliente de logon, e %u é o

usuário.

A partir disso, pode-se configurar as políticas da máquina para obter o profile padrão a partir

de um "default user", eliminar profiles de novos usuários assim que eles vão embora (útil

num ambiente de laboratório, onde muitíssimas pessoas usam as máquinas esporádica e

aleatoriamente, e não faz sentido manter profile de cada um).

<completar com os detalhes da configuração no Windows>

Quais são as soluções de HA (alta disponibilidade) para Samba?

O protocolo SMB estabelece o conceito de "cliente bem-comportado". O aspecto desse bom

comportamento que interessa à questão HA é que, se o cliente estiver ligado a um servidor e

for desconectado, ele tentará reconectar-se automaticamente, e insistirá nisso até desistir (e

reportar erro ao usuário).

Portanto, um esquema simples de HA que envolva start/stop do Samba em duas ou mais

máquinas tende a funcionar bem.

Outro aspecto importante do SMB é que o acesso às máquinas é feito pelo nome, e não pelo

endereço IP. Assim, mesmo que o servidor substituto tenha IP diferente, o cliente será capaz

de procurar pelo nome do servidor "oficial", achará o subtituto e fará a conexão.

(Essa última funcionalidade não funcionará tão bem caso a rede use um servidor WINS.

Como qualquer esquema decente de HA envolve takeover de IP, não constitui empecilho

real para a implementação de HA).

O serviços mais facilmente portados para HA são os "stateless". Stateless significa que o

servidor não retém informações sobre o cliente. Infelizmente, o Samba não é stateless. Como

o cliente refaz automaticamente a conexão, isso não faz mossa... Mas, e se o cliente tiver

locks sobre um arquivo ? Bem, aí faz mossa.

Por esse último fator (locks mantidos na memória do processo-servidor), a dificuldade de

constituir um servidor Samba-HA varia enormemente DE ACORDO COM O TIPO DE

APLICAÇÃO QUE OS CLIENTES RODAM. O pior caso seria um programa com banco de

dados multiusuário não-SQL. O melhor caso seria o mero armazenamento de textos e

planilhas, com atualização esporádica.

Erros reportados no samba

Quando aparece este erro: nmbd/nmbd_name query.c: query_name response (95)

query_name_response: multiple (2) responses reiceived for a

query on subnet 192.168.0.117 for name DESENVOLV(1d).

this message was from 192.168.0.108

Gostaria de saber o porque e como desabilitar isso?

Isso significa que, provavelmente, na rede indicada pelo nmbd, existem duas máquinas com

o mesmo nome NetBIOS, e talvez até com o mesmo IP.

Essa mensagem ajudou um dia a descobrir um problema de não-localização do PDC. Uma

das máquinas Windows tinha o mesmo nome que o PDC, aí... :(

Para que serve a cláusula "only user"?

Page 198: Servidores de Redes.pdf

Para assegurar que apenas os usuários que estejam na lista definida pela cláusula "user = ..."

possam conectar-se ao volume.

O nome dessa diretiva é infeliz e, no caso do volume [homes], induz o pensamento de que

"only user" refere-se ao usuário dono do diretório home. Habilitar essa diretiva terá como

única conseqüência indisponibilizar o volume a usuários perfeitamente legítimos.

Para outros volumes, seu uso é válido (em conjunção com user list = ...) porém uma política

de segurança baseada em usuários/grupos/permissões UNIX seria mais indicada.

14.2. Como configurar o Servidor Samba pelo

Linunxconf É possível fazer essa configuração pelo linuxconf. Abaixo será explicado como chegar e

qual a função de seu respectivo ítem. [root@localhost ]# linuxconf

Ambiente de Rede->Samba - servidor de arquivos->Padrões: Contém configurações globais

do samba

SMB account management: Seleciona o tipo do gerenciamento de senhas.

Not managed: Sem controle

Acct. & passwords: Pela conta e senha

Acct. only: Somente pela conta

Synchronise Linux from SMB passwords: Quando o samba alterar a senha também será alterado no sistema Unix

Descrição do Servidor: É a descrição que aparecerá quando não existir uma específica do compartilhamento.

Grupo de Trabalho: É o nome workgroup.

Netbios Name: e Netbios Name aliases: Permite que sua máquina responda por outros nomes netbios.

Senha criptografada é necessária: Se selecionado, ele criptografará a senha para se comunicar com o windows98 e nt mais novos.

Authentication mode: Modo de autenticação:

User: Terá uma verificação dos usuários locais

Server: Tentará obter a senha de um outro servidor

Domain: Procurará o servidor do domínio

Share: Não é necessário usar usuários, pois ele requisitará somente a senha.

Map to Guest: Mapeará ou não para Visitante, quando existir um usuário ou uma senha inválida.

Servidor de Senha: Solicita o nome do servidor de senha, caso a autenticação seja pelo modo server.

Nível de senha: Será o número de combinações entre maiúsculas e minúsculas que o sistema tentará. Zero significa que serão tentadas somente as todas as

letras em maúsculas e todas em minúsculas. Programa de senha: É o programa usado para sincronizar as senhas.

Permite máquinas: Permite que a máquina listada, acesse o sistema

Page 199: Servidores de Redes.pdf

Proíbe Máquinas: Proíbe que a máquina listada, acesse o sistema

Nível de OS: É o nível que o sistema terá para a eleição do mestre de domínio.

Mestre preferencial: Caso exista mais de uma máquina com o mesmo número de OS esse terá uma preferência.

Anuncio remoto: Possibilita que uma máquina fique em um segundo grupo de trabalho, para isso apenas inclua o ip da rede seguido do domínio: Ex.:

192.168.255.255/CONECTIVA Enable samba as a WINS server: Habilita o servidor wins do samba.

WINS server: Especifica o nome/ip do servidor wins

Interfaces: Quando existir duas placas de rede, é usado para especificarqual interface o samba vai atuar.

Name resolve order: Ordem de procura dá máquina.

Add user script: Script que será usado para adicionar o usuário no linux.

Delete user script: Script usado para retirar uma conta do linux

Conta convidado: é o nome do usuário que será responsavel pela conta visitante

Tempo limite de inatividade: É o tempo em que a máquina vai verificar se as máquinas windows não respondem mais, usado para travamentos do windows.

Nível de depuração: É o nível em que será criado o log

Serviço padrão: Este parâmetro especifica o nome do serviço que será usado caso não seja pedido nenhum.

Comando WinPopup: é o comando que será executado quando o linux receber uma mensagem WinPopup. ex: /bin/mail -s 'mensagem do %f em %m' root < %s; rm %s

Com essa sintaxe será mandado um e-mail para o root, entregando a mensagem

winpopup

Ambiente de Rede->Samba - servidor de arquivos-> Opções do diretório HOME de

usuários:

Comentário/descrição: Comentário do compartilhamento

Este serviço está ativo: significa que ele pode ser usado.

Navegável: Permite que se entre nos sub-diretorios.

Acesso público: Permite acessar sem possuir uma senha

Lista de usuários: É usado apenas quando o servidor de compartilhamento não obtem o nome do usuário, então ele deve procurar a senha nos seguintes

usuários Apenas o usuário pode conectar: somente os listados podem conectar ao

compartilhamento Lista de escrita: Será permitido aos usuários que estão nesta lista, quese

conectem com permissão de escrita não importando o estado da opção

"gravavel". Usuários válidos e inválidos: São usuários que são válidos ou não para

ocompartilhamento. Número máximo de conexões: É o número máximo de compartilhamentos que podem

existir. Ambiente de Rede->Samba - servidor de arquivos->Opções de Impressoras

Page 200: Servidores de Redes.pdf

Este serviço está ativo: Significa que as impressoras locais podem ser usadas para imprimir via samba, desde que a impressora tenha sido devidamente

configurada, tando no servidor quanto no windows. Acesso público: Permite acessar sem possuir uma senha.

Netlogon setup: Netlogon permite que um script seja executado quando o usuário se loga.

Ambiente de Rede->Samba - servidor de arquivos->Compartilhamento de disco:

Nome do compartilhamento: é o nome que será mostrado para uma conexão a esse serviço

Comentário: É a descrição do serviço.

Este serviço está ativo: Este compartilhamento pode ser usado, caso esteja selecionado.

Navegável: É possível navegar entre os diretórios.

Herdar opções do compartilhamento: copia as configurações de outro compartilhamento

Diretório para exportar: Diretório, o qual será exportado.

Acesso público: Se ativo não é necessário ter uma senha.

Acesso público apenas: somente o usuário visitante pode acessar o compartilhamento

Gravável: Permite que os usuários deste compartilhamento gravem dados.

Permite e proíbe as máquinas: Não deixa as máquinas conectarem no servidor se estiverem proibídas

Lista de usuários: É usado apenas quando o servidor de compartilhamento não obtem o nome do usuário, então ele deve procurar a senha nos seguintes

usuários. Apenas os usuários podem conectar: Caso esteja ativado conecta somente se o

usuário estiver listado. Usuários de administração: são usuários que tem permissão de root sobre esse

compartilhamento. Lista de Escrita: é uma lista de usuários que podem gravar dados, não importando

a especificação de "gravavel =". Usuários válidos: é a lista de usuários que podem acessar o compartilhamento.

Usuários inválidos: guarda a lista de usuários que não podem conectar o compartilhamento.

Usuários sem permissão de escrita: são os usuários que só possuem permissão de leitura.

Comando de pré-conexão: é um comando que será executado quando estiver se conectando ao compartilhamento.

Comando de pré-conexão(super-usuário): é um comando que também será executado quando se estiver logando, embora seja executado como root

Comando de pós-conexão: é um comando que será executado quando quando o serviço esteja sendo desconectado.

Força usuário: Manda o compartilhamento conectar com o usuário especificado.

Força o grupo: Manda o compartilhamento conectar com o grupo espeficicado.

Page 201: Servidores de Redes.pdf

Não recursivo: especifica quais os diretórios que devem aparecer em branco

Conta convidado (este compart.): é a conta convidado, especificamente para esse compartilhamento

Número máximo de conexões: é o número máximo de conexões para esse compartilhamento.

Ambiente de Rede->Samba - servidor de arquivos->Samba Status Server:Mostra o estado do samba

14.3. Como configurar o servidor Samba direto

pelo arquivo de configuração? Antes de editar o arquivo de configuração, recomendamos que faça uma cópia de segurança,

para isso digite: [root@localhost ]# cp /etc/smb.conf /etc/smb.conf.original

É possível verificar se a configuração de seu smb.conf está correta, com o comando: [root@localhost ]# testparm

Agora edite o smb.conf, conforme suas necessidades: [root@localhost ]# mcedit /etc/smb.conf

Abaixo existe uma explicação do arquivo /etc/smb.conf, onde fica a maioria das

configurações do samba, e onde é possível usar as citadas acima.

Obs.: Os # e ; são comentários. [global]

# A Seção [global] significa que a configuração especificada abaixo,

# aplicam-se ao servidor ou são gerais. Enfim é a base para o funcionamento

# do samba

# Especifica a quantidade de memória do servidor SAMBA

# quanto mais melhor, mas 10MB já é bastante

# para umas 5 a 10 estações.

;shared mem size = 1048576

# Nome o workgroup que as estações Windows irão apontar

workgroup = MYGROUP

# Observação que irá aparecer sobre o computador, e caso a observação do

# compartilhamento esteja vazio o compartilhamento usará essa observação.

server string = Servidor de Samba %h - Versão %v

# Especifica o tipo de servidor nmbd (Servidor de Nomes NetBIOS) que será

# divulgado na rede. O padrão é igual a Windows NT. As opções válidas são

# "NT", "NT Server", "NT Workstation", "Win95" ou "WfW" . Exemplo:

; announce as = NT Server

# O diretório-base dos logon scripts é o volume [netlogon]. No exemplo, se o

# diretório de compartilhamento netlogon for igual a "/home/samba/netlogon",

# o script do usuário "roberto" seria procurado em

# /home/samba/netlogon/roberto.bat

;logon script = %U.bat

# Este parâmetro define o conjunto de máquinas que podem acessar o servidor

# samba. Pode-se utilizar o nome ou o endereço IP da máquina.

#

# É possível, por exemplo, restringir o acesso a somente uma sub-rede de

# classe C, como em "allow hosts = 150.203.5.". Pode-se ainda usar o sub

Page 202: Servidores de Redes.pdf

# parâmetro "EXCEPT" para excluir-se alguma(s) máquina(s), como por

# exemplo:

;hosts allow = 150.203. EXCEPT 150.203.6.66 150.203.15.0/255.255.255.0

# Abaixo abre acesso para lapland e somente hosts no nis com o grupo da net:

# foonet

;hosts allow = lapland @foonet

# Exatamente o oposto do parâmetro anterior, já que aqui podem ser

# listadas todas as máquinas que não devem ter acesso aos serviços.

;hosts deny = 150.203.5. minha_máquina.domínio.com.br

# Carrega a configuração das impressoras que estão

# instaladas no servidor samba

printcap name = /etc/printcap

load printers = yes

# Seleciona o tipo de impressão padrão, caso não funcione normalmente.

# bsd, sysv, plp, lprng, aix, hpux, qnx

; printing = bsd

# Transforma todos os usuários que de algum modo foram indicados como

# visitantes em usuário guest

; guest account = guest

# Criará um arquivo de log para cada usuário. Ex. log.renato

# É possível usar %m para obter logs por maquinas

log file = /var/log/samba/log.%u

# Tamanho máximo permitido para um log.

max log size = 50

# Nível do log, enquanto maior mais detalhes são mostrados. É recomendado

# usar até 2 e o nível 0 representa nenhum.

debug level = 1

# Máquinas Windows tendem a travar de tempos em tempos. Este

# parâmetro é utilizado para verificar o estado da conexão, a cada 20

# segundos.

keepalive = 20

# Autenticação de usuários - Modalidade de segurança

#

# "security=share": Sem segurança. Todo e qualquer usuário será aceito. As

# operações de arquivo e impressão serão executadas com as permissões do

# usuário UNIX associado ao hóspede (guest account = ...). Se você escolher

# essa modalidade, verifique se o usuário UNIX terá permissões suficientes

# para acessar arquivos e, se for o caso, imprimir. Assim senhas de acesso

# são solicitadas por recurso compartilhado e não por usuário. Ou seja cada

# diretório ou impressora poderá ter uma senha única conhecida por todos os

# usuários autorizados.

#

# "security=user": Segurança por usuário, local. A senha do usuário é

# reduzida a letras minúsculas e confrontada com a senha UNIX. Essa

# modalidade de segurança obriga que os usuários sejam cadastrados no Linux,

# e suas senhas sejam atribuídas corretamente. As operações sobre arquivos e

# de impressão serão feitas com a permissão do respectivo usuário UNIX.

# Todavia, pode-se abrir aos hóspedes o acesso a determinados volumes ou

# impressoras - para esses objetos, a segurança operará no estilo SHARE.

#

# "security=server": Segurança por usuário, remota. O Samba pega o nome de

Page 203: Servidores de Redes.pdf

# usuário e a senha, e autentica junto a outro servidor, que poderá ser

# outro Linux rodando Samba, ou um Windows NT. Apesar da autenticação ser

# remota, ainda é necessário criar os usuários UNIX localmente em

# determinados casos.

#

# "security=domain": Segurança por usuário, remota. Praticamente idêntica à

# modalidade SERVER, porém convive com instalações mais complexas onde

# existem computadores NT operando como PDCs (primary domain controllers) e

# BDCs (backup domain controllers). Nesse modo, mais de um servidor de

# autenticação pode ser especificado na linha password server do arquivo de

# configuração. (O suporte do Samba a domínios do NT ainda é incompleto e

# deve estar pronto na versão 2.1; por ora, a modalidade DOMAIN não difere

# muito da modalidade SERVER.)

security = user

# Quando tentarem efetuar um login, e o usuário ou a senha não sejam

# válidos, será repassado para o usuário visitante:

# Onde são válidos: "Bad User" (mau usuário), "bad password" (má senha)

# ou "never" (não será repassado para o usuário visitante).

map to guest = Bad User

# Servidor de senhas, ou seja, o nome NetBIOS da máquina junto a qual

# o Samba vai autenticar os usuários.

;password server = Senhs_server

# Especifica o nome do servidor de usuários e senhas, quando especificado

# security = server

; password server = <NT-Server-Name>

# Quando a senha não for válida tente 8 modos diferentes. Ex.: Para uma

# senha ou usuário abcdefgh, tente

# abcdefgh Abcdefgh aBcdefgh ... ABCDEFGh ABCDEFGH

; password level = 8

; username level = 8

# O Windows 98, bem como versões mais recentes do Windows NT Workstation,

# transmitem senhas criptografadas no processo de autenticação. Como não é

# possível usar o mesmo padrão de criptografia, é necessário executar o

# programa smbpasswd para a criação de senhas criptografadas.

; encrypt passwords = yes

; smb passwd file = /etc/smbpasswd

# É usado para sincronizar a alteração de senhas feitas no windows, para o

# servidor linux.

; unix password sync = Yes

; passwd program = /usr/bin/passwd %u

; passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n

*passwd:*all*authentication*tokens*updated*successfully*

# Usuários UNIX não precisam necessariamente ter o mesmo nome dos

# usuários NetBIOS. A tabela /etc/smbusers permite estabelecer

# equivalências entre nomes dessemelhantes.

; username map = /etc/smbusers

# Esta opção é um tuning de performance.

# Em muitos casos ela realmente melhora o desempenho.

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# É o tamanho do pacote de dados enviado para as

# estações, normalmente é melhor deixar tudo com 16Kb

# em se tratando de interfaces de rede tipo NE2000

Page 204: Servidores de Redes.pdf

;max xmit = 16384

# Esta opção indicara para as máquinas da rede 192.168.2.255, que esta

# máquina estará no grupo de trabalho CONECTIVA, além do grupo original.

; remote announce = 192.168.2.255/CONECTIVA

# Está opção vai anunciar para outra rede, que existe o workgroup remoto

# e que pode ser acessado.

; remote browse sync = 192.168.3.25 192.168.5.255

#Navegador-mestre local (local master browser)

# É um servidor onde são guardados os nomes das máquinas que existem na rede

# windows.

# Configure a seguinte opção como 'no' se você não quiser que o Samba

# torne-se um mestre local. Do contrário, as regras normais de eleição

# é que valerão. (ou seja, local master = yes NÃO garante que o Samba

# seja o mestre local)

local master = yes

# Nïvel do sistema operacional, que determina sua preferência em

# tornar-se mestre local. Quanto maior o número, maior a chance de o

# servidor tornar-se um mestre. O padrão do windows nt é 32. Evite colocar o

# mesmo número que alguma máquina windows, pois a mesma não gosta de perder

# eleições para máquinas linux que tenham o mesmo número.

os level = 33

## Se a seguinte linha for configurada como 'yes', o Samba será o

# navegador-mestre do DOMÍNIO. Não use esta opção se você já tem um

# servidor NT que seja o PDC.

; domain master = yes

# Esta opção força uma eleição para mestre local quando o Samba é

# acionado, e lhe dá uma pequena vantagem na disputa.

#

# NÃO habilite esta opção em mais de uma máquina, do contrário

# os diversos 'preferred masters' vão ficar promovendo eleições

# para mestre o tempo todo; isso causará tráfego inútil de rede

# e pode prejudicar a qualidade das listas de navegação i.e. elas

# poderão não conter todas as máquinas da rede e não ficará tão lento, se

# tudo estiver configurado corretamente.

preferred master = yes

# Use somente se existe um nt server em sua rede, configurado para ser o

# primeiro domínio de controle

; domain controller = <NT-Domain-Controller-SMBName>

# Caso seja habilitado, tornará o linux um domínio de login, para estações

# windows 95

; domain logons = yes

# sicroniza a data do sevidor para as estações.

# interessante para ter controle sobre data/hora

# de criação de arquivos e coisas do genero

# E em sua máquina windows/dos digite para configurar a hora:

# net time /set /yes

time server = True

# É a forma de como será procurada a máquina:

# As opções são: "lmhosts", "host", "wins" e "bcast"

# lmhosts - Tenta usar um arquivo de configuração do samba

Page 205: Servidores de Redes.pdf

# hosts - Tenta resolver o nome pelo ip, usando o /etc/hosts, o nis ou o dns

# wins - Procura o ip no servidor wins

# bcast - Procura a máquina por Broadcast

#

# É recomendável deixar sempre o bcast como último recurso, pois assim

# pelo menos a rede local continuará funcionando se por acaso ficar

# isolada das demais redes.

name resolve order = wins lmhosts bcast

#A comunicação inter-redes

# wins grava as informações repassadas pelos servidores masters de cada rede

# e possibilita que uma rede converse com outra

# Ao retransmitir essas informações do mestre de domínio, o mestre obtem a

# lista de servidores mestres do servidor wins, essa retransmissão demora

# em média 15 minutos, e usa endereços ip.

; wins support = yes

# Indique aqui o IP do servidor WINS da instalação. Se o computador

# for ele mesmo o servidor WINS (a linha 'wins support = yes' está

# ativa), não use esta opção, pois do contrário o Samba acabará conectando

# a si mesmo, recursivamente, e *travará*.

; wins server = 10.120.1.26

# Se o nmbd responder às perguntas do nome da transmissão em nome de outras

#máquinas. Você pode necessitar ajustar este a " sim " para alguns clientes

mais velhos.

; wins proxy = yes

# Diz ao samba se é ou não para tentar resolver nomes netbios, atraves do

# nslookup do DNS.

dns proxy = no

# Diz para o SAMBA preservar o nome do arquivo como foi enviado pela estacao

;preserve case = yes

# Diz para o SAMBA interpretar minúsculas como

# minúsculas.

;short preserve case = yes

# Se a máquina possuir mais de uma placa de rede, é necessário estabelecer

# em que interface(s) o Samba vai atuar. Note que isto NÃO é suficiente

# para evitar conexões originárias de redes diferentes da(s)

# especificada(s),

# pois os soquetes UDP do Samba "ouvem" em todas as interfaces. Veja

# a linha "hosts allow", mais acima, para configuração de segurança.

#

# No exemplo abaixo, a máquina tem 2 intefaces, cujos números IP e

# netmasks estão bem óbvios.

;interfaces = 168.1.1.1/24 10.120.1.24/16

# A seção [homes], epecifica que deve ser ativado um serviço que permite o

#acesso aos diretório pessoais de seus respectivos usuários. Isto é permite

#que os usuários acessem seu home.

[homes]

comment = Diretórios Pessoais

# Evita que os diretórios pessoais sejam vistos por outros usuários

browseable = no

# Samba proíbe por padrão a gravação em recursos exportados.

Page 206: Servidores de Redes.pdf

# O parâmetro a seguir permite que os usuários possam gravar em

# seus diretórios pessoais.

read only = no

# Permite que apenas o hóspede(convidado) tenha acesso ao volume ou

# impressora que contiver o parâmetro 'guest only = yes'

guest only = no

# writeable é parecido com o writable, e permite que exista gravação no

# compartilhamento

writeable = yes

# A seção [printers] especifica como se configura uma impressora, para ser

#usada pelo samba, ou faz o sistema ler as configurações do printcap.

#

# A configuração abaixo fará com que os usuários das

# estações Windows vejam todas as impressoras do

# servidor.

[printers]

#Este parâmetro define o nome da impressora para a qual os serviços de

#impressão serão enviados. Exemplo:

;printer name = laserwriter

comment = Spool de Impressao

path = /var/spool/samba

# Controla se o compartilhamento será visualizado na lista de recursos

# disponíveis. O padrão é

browseable = no

# Caso este parâmetro seja definido como 'yes' para um serviço, então

# nenhuma senha será solicitada ao usuário. Os privilégios serão iguais

# aos definidos para a conta "guess account" definida no parâmetro

# anterior. Exemplo:

guest ok = no

#Caso este parâmetro seja definido como "no", não será permitida a

#criação ou modificação de arquivos no diretório compartilhado.

#Note-se que o parâmetro "printable = yes" sempre permitirá a gravação

#através de operações de geração de arquivos temporários de impressão.

# Exemplos:

;read only = no

;writeable = yes

;write ok = yes

# São iguais

printable = yes

# caso public seja = yes não é necessário possuir uma senha para entrar no

# compartilhamento

public = no

read only = yes

# Este parâmetro permite que a seção atual seja uma cópia de qualquer seção

# anterior. Caso haja necessidade de alterar um parâmetro, basta informá-lo na

# seção atual.

# Esta funcionalidade é muito útil para a criação de modelos que podem ser

# replicados e rapidamente alterados para todos os recursos compartilhados.

[hom]

Page 207: Servidores de Redes.pdf

copy = homes

guest ok = yes

read only = yes

# Especifica o diretório ao qual o usuário do serviço terá acesso. No

# caso de impressoras, será o diretório de arquivos temporários de

# impressão. Exemplo:

[PUBLICO]

comment = Diretorio Publico

path = /home/samba

public = yes

guest ok = yes

printable = no

#Permite configurar o número máximo de conexões simultâneas a esse

#serviço. Exemplo:

;max connections = 10

# Permite definir um limite aparente da área em disco que pode ser

# utilizada pelo compartihamento. A unida padrão é igual a Mb

# (megabytes). Exemplo:

;max disk size = 250

# Para compartilhar o CD-ROM do servidor nas estações

# Usa o mesmo princípio do diretorio PUBLICO

[CDROM]

comment = CD-Rom SAMBA

path = /mnt/cdrom

read only = yes

public = yes

# Permite a gravação no spool

printable = no

guest ok = yes

browseable = yes

#Permite definir os usuários que terão privilégios de administração do

#compartilhamento, ou seja terão poderes de superusuário. E pode ser usado a

#qualquer seção de compartilhamentos. Exemplo:

;admin users = renato, teste

# Descomentando, os seguintes críam o diretório do netlogon para login's de

# uma sessão do domínio.

; [netlogon]

; comment = Network Logon Service

; path = /home/netlogon

; guest ok = yes

; writable = no

; share modes = no

# A impressora privada, será usada somente por fred. Os dados do spool serão

colocados

# no diretório home, usado somente por fred. Abaixo o usuário terá acesso de

# gravação para o diretório spool

;[fredsprn]

; comment = Fred's Printer

# Valid users é usado para especificar quais os usuários que podem usar o

# serviço. E inválid users, expecifíca quais não tem acesso. Caso deseje

# trabalhar com um grupo use @

; invalid users = @user

Page 208: Servidores de Redes.pdf

; valid users = fred

; path = /homes/fred

; printer = freds_printer

; public = no

; writable = no

; printable = yes

# Quando o sistema for carregar um arquivo é para ele utilizar as permissões:

;force create mode = 775

;force directory mode = 2775

# no compartilhamento abixo, cada máquina terá um compartilhamento

# diferente.

# Pode ser usado uma configuração por usuários, para isso, basta substituir

# o %m por %u

;[pchome]

; comment = PC Directories

; path = /usr/pc/%m

; public = no

; writable = yes

14.4. Como configurar o samba através do

SWAT? Esse documento abrange apenas as configurações básicas, caso queira configurações

avançadas, verifique as opções de help presente para cada ítem e a página de manual do

smb.conf, você poderá encontrar um tutorial no seguinte

endereço:http://revistalinux.com.br/ed/01/samba.php3

### VERSÃO 6.0 ###

É necessário instalar o pacote samba-swat-2.0.7-10cl.i386.rpm do cd 1, para instalar coloque

o cd 1 no drive, se estiver o apt-get configurado utilize o mesmo, ou siga os passos: [root@localhost]# mount /mnt/cdrom

Entre no diretório das RPMs: [root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Execute o comando de instalação: [root@localhost]# rpm -ivh samba-swat-2.0.7-10cl.i386.rpm

Primeiramente como superusuário estando no X abra um terminal, e edite o

arquivo /etc/inetd.

[root@localhost]# mcedit /etc/inetd

Page 209: Servidores de Redes.pdf

Descomente ou adicione a seguinte linha: swat stream tcp nowait.400 root /usr/sbin/swat swat

Pressione F2 Salvar F10 Sair

Reinicialize o inet: [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Agora abra um browser de sua preferência, e digite: http://localhost:901

Deverá aparecer uma tela solicitando usuário e senha, entre com superusuário e a senha.

A partir de agora iremos configurar o básico para o funcionamento da rede samba, selecione

a opção [Globals].

Workgroup : neste campo você define em qual workgroup o servidor linux se encontrará.

Netbios Name: é o nome com o qual o servidor linux se identificará na rede Samba.

Server String: descrição do servidor

Security: deve ser configurado como USER

Encrypt Password: até a versão do windows95/WFW não era utilizado senhas criptografadas

na autenticação, isso era chamado de "plain-text password" e por default é o método de

autenticação do SAMBA. Mas a partir da versão OSR2 do Windows95 foi implementado a

autenticação de senhas criptografadas. O Linux pode trabalhar com qualquer um dos tipos,

porém se estabelecermos "no" em "Encrypt Password", deve ser alterada o register do

windows da versão OSR2 ou Superior para "plain-text password".

Agora se você possuir windows95 OSR2 ou posterior e quiser utilizar a autenticação de

senhas criptografadas, você deve selecionar "Ecripty password" no SWAT para "yes", não

precisando fazer nenhuma alteração do register do windows.

Note que a criptografia de autenticação que o Windows utiliza é diferente da usada pelo

Unix, isto implica em ter que compatibilizar os usuários do Linux com os usuários do

Samba. Veja mais a frente na opção "Password" do SWAT como fazer.

Page 210: Servidores de Redes.pdf

Password Level: Uma senha digitada no Windows como "Jonas" é transmitida para o Linux

da seguinte forma "jonas", ou seja todos os caracteres minúsculos. Com o "Password Level"

podemos fazer com que o Samba teste a senha recebida em minúsculo com uma combinação

de "n" caracteres maiúsculos. Exemplo: Se "n" for fixado para 2 em Password Level,

significa que uma senha recebida como "jonas" será testada com até dois caracteres

maiúsculos assim: JOnas, JonAs e JonaS. Para não haver teste de combinação "n" tem que

ser setado para 0 (zero).

Os demais valores devem permanecer como default. Agora clique no botão [Commit

Changes] para efetuar as alterações.

Nota: Como mencionamos anteriormente, esse documento abrange apenas as configurações

básicas, caso queira uma configuração mais avançada, verifique as opções de help presente

para cada ítem.

O próximo passo é criar um compartilhamento. Clique no ítem [Share], na caixa de texto do

ítem [Create Share] digite o nome do novo compartilhamento e clique no botão [Create

Share] para confirmar, depois clique no botão "Advanced View" e preencha os seguinte

campos:

Comment: Apenas um comentário sobre este compartilhamento.

Path: especifique aqui o diretório a ser compartilhado, certifique-se que esse diretório está

com as permissões desejadas para o compartilhamento.

Read Only: estabelecendo "no" para esta opção você estará disponibilizando o

compartilhamento para escrita e leitura.

Os demais valores também devem ser deixados como default, clique no botão "Commit

Changes" para efetuar as alterações.

Agora iremos configurar alguns usuários para permitir o acesso ao samba, clique no ícone

[Password] e preencha os campos:

User Name: com o login do novo usuário.

New Password: com a senha do novo usuário.

Ret-Type New Password: confirme a senha do novo usuário.

Para concluir o cadastro clique no botão [Add New User].

Pronto seu usuário já estará cadastrado.

Para iniciar o serviço de rede Samba, clique no ícone [Status] e depois clique nos dois botões

[Restart smbd] e [Restart nmbd], certifique-se que o status esteja em "running".

Ou através do xterm: [root@localhost]# cds

[root@localhost]# ./smb stop

[root@localhost]# ./smb start

14.5. Como configurar o samba através do

SWAT?

Page 211: Servidores de Redes.pdf

Esse documento abrange apenas as configurações básicas, caso queira configurações

avançadas, verifique as opções de help presente para cada ítem e a página de manual do

smb.conf.

### CL9 ###

É necessário instalar o pacote samba-swat do cd 2, para instalar use o apt-get. [root@localhost ]# apt-get install samba-swat

Primeiramente como superusuário estando no X abra um terminal, e edite o

arquivo /etc/inetd.conf

[root@localhost]# mcedit /etc/inetd.conf

Descomente ou adicione a seguinte linha: swat stream tcp nowait.400 root /usr/sbin/swat swat

Pressione F2 Salvar F10 Sair

Reinicialize o inet: [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Agora abra um browser de sua preferência, e digite: http://localhost:901

Deverá aparecer uma tela solicitando usuário e senha, entre com superusuário e a senha.

A partir de agora iremos configurar o básico para o funcionamento da rede samba, selecione

a opção [Globals].

Workgroup : neste campo você define em qual workgroup o servidor linux se encontrará.

Netbios Name: é o nome com o qual o servidor linux se identificará na rede Samba.

Server String: descrição do servidor

Security: deve ser configurado como USER

Page 212: Servidores de Redes.pdf

Encrypt Password: até a versão do windows95/WFW não era utilizado senhas criptografadas

na autenticação, isso era chamado de "plain-text password" e por default é o método de

autenticação do SAMBA. Mas a partir da versão OSR2 do Windows95 foi implementado a

autenticação de senhas criptografadas. O Linux pode trabalhar com qualquer um dos tipos,

porém se estabelecermos "no" em "Encrypt Password", deve ser alterada o register do

windows da versão OSR2 ou Superior para "plain-text password".

Agora se você possuir windows95 OSR2 ou posterior e quiser utilizar a autenticação de

senhas criptografadas, você deve selecionar "Ecripty password" no SWAT para "yes", não

precisando fazer nenhuma alteração do register do windows.

Note que a criptografia de autenticação que o Windows utiliza é diferente da usada pelo

Unix, isto implica em ter que compatibilizar os usuários do Linux com os usuários do

Samba. Veja mais a frente na opção "Password" do SWAT como fazer.

Password Level: Uma senha digitada no Windows como "Jonas" é transmitida para o Linux

da seguinte forma "jonas", ou seja todos os caracteres minúsculos. Com o "Password Level"

podemos fazer com que o Samba teste a senha recebida em minúsculo com uma combinação

de "n" caracteres maiúsculos. Exemplo: Se "n" for fixado para 2 em Password Level,

significa que uma senha recebida como "jonas" será testada com até dois caracteres

maiúsculos assim: JOnas, JonAs e JonaS. Para não haver teste de combinação "n" tem que

ser setado para 0 (zero).

Os demais valores devem permanecer como default. Agora clique no botão [Commit

Changes] para efetuar as alterações.

Nota: Como mencionamos anteriormente, esse documento abrange apenas as configurações

básicas, caso queira uma configuração mais avançada, verifique as opções de help presente

para cada ítem.

O próximo passo é criar um compartilhamento. Clique no ítem [Shares], na caixa de texto do

ítem [Create Share] digite o nome do novo compartilhamento e clique no botão [Create

Share] para confirmar, depois clique no botão "Advanced View" e preencha os seguinte

campos:

Comment: Apenas um comentário sobre este compartilhamento.

Path: especifique aqui o diretório a ser compartilhado, certifique-se que esse diretório está

com as permissões desejadas para o compartilhamento.

Read Only: estabelecendo "no" para esta opção você estará disponibilizando o

compartilhamento para escrita e leitura.

Os demais valores também devem ser deixados como default, clique no botão "Commit

Changes" para efetuar as alterações.

Agora iremos configurar alguns usuários para permitir o acesso ao samba, clique no ícone

[Password Management] e preencha os campos:

User Name: com o login do novo usuário.

New Password: com a senha do novo usuário.

Ret-Type New Password: confirme a senha do novo usuário.

Para concluir o cadastro clique no botão [Add New User].

Pronto seu usuário já estará cadastrado.

Para iniciar o serviço de rede Samba, clique no ícone [Status] e depois clique nos dois botões

[Restart smbd] e [Restart nmbd], certifique-se que o status esteja em "running".

Ou através do xterm:

Page 213: Servidores de Redes.pdf

[root@localhost]# cds

[root@localhost]# ./smb stop

[root@localhost]# ./smb start

14.6. Como criar um usuáro para acessar o

servidor Samba? Recomendamos que seja criado um grupo em comum para todos os usuários samba.

Para criar um grupo unix, digite: [root@localhost ]# groupadd samba

E para criar um usuário unix: [root@localhost ]# adduser -g <grupo> <nomedousuário>

Para que seu usuário funcione no samba ainda é necessário que seja adcionado ao samba,

com o comando:

[root@localhost ]# smbadduser <nomedousuário_linux>:<nomedousuário_samba>

Para criar usuários com senhas criptografadas, use o comando: [root@localhost ]# smbpasswd

<nomedousuário_samba>

14.7. Como utilizar o Samba como Cliente? 14.7.1. Como listar os compartilhamentos acessíveis?

Caso deseje saber quais os diretórios que estão sendo compartilhados em seu servidor,

digite: [root@localhost ]# smbclient -L <nome_netbios_do_servidor>

Password: (Em branco)

ou [root@localhost ]# smbclient -L <nome_netbios_do_servidor> -N

14.7.2. Como acessar um compartilhamento como se fosse um ftp? Para entrar em um serviço listado pelo comando -L, proceda da seguinte maneira: [root@localhost ]# smbcliente //<nome_netbios_da_máquina>/serviço

Caso deseje especificar mais detalhes, use:

-U <usuário>

-I <Número Ip da máquina>

-R <Servidor de resolução de nomes>

-N (não pede senha)

-D <diretório a iniciar>

-d <número do nível do log>

-l <nome do arquivo de log>

-p <porta para conexão>

Page 214: Servidores de Redes.pdf

-n <especifica o meu nome netbios>

14.7.3. Como usar o WINPOPUP para a Comunicação entre Máquinas Windows? É possível uma comunicação entre as máquinas windows, desde que o programa winpopup

esteja sendo executado. O linux também permite essa opção Para enviar uma mensagem

winpopup para outra máquina, basta digitar: [root@localhost ]# smbclient -M host

Caso a máquina para a qual será enviada a mensagem seja linux, então será necessário

configurar o Winpopup citado na configuração via Linuxconf na máquina que receberá a

informação.

14.7.4. Como utilizar o Samba como sistema de arquivos remotos? Para montar um diretório compartilhado, execute: [root@localhost ]# smbmount //<nome_da_máquina(netbios)>/<compartilhamento>

/<ponto de montagem>

E caso deseje, é possivel acrescentar depois do ponto de montagem: -o <opção1, opcão2...>,

são elas:

username=<nome do usuário samba que será usado>

password=<senha do usuário samba que será usado>

netbiosname=<Nome netbios>

port=<especifica a porta de comunicação do samba>

debug=<Especifica o nível do log>

ip=<Especifica o ip de destino>

workgroup=<Especifica o nome do workgroup a ser usado>

guest (Não peça senha)

ro (Monta en somente leitura)

rw (Monta em leitura e escrita)

14.7.5. Como acessar uma impressora Windows A partir de uma máquina Linux é possível enviar uma tarefa de impressão para uma máquina

Windows. Para configurar proceda da seguinte maneira:

Abra dentro do modo gráfico, o xterm e dentro dele execute: [root@localhost ]# printtool

Clique em: Add -> Smb / Windows

Preenchas os campos:

Hostname of printer server : <nome dá maquina que contém a impressora>

Print name : <nome do compartilhamento de impressão>

User : <nome do usuário que possui acesso a impressora>

Password : <senha de compartilhamento>

Input Filter: <selecione a impressora que existe no servidor, clicando em select>

14.8. Como comunicar com uma rede windows

NT?

Page 215: Servidores de Redes.pdf

Configure o NT para comunicar com o protocolo TCP/IP e desabilite a criptação no registro.

14.9. Servidores Samba Diretorio Publico Como crio um diretório para que todos os usuários da rede samba possam acessá-lo?

O que é preciso fazer é criar um diretório comum a todos os usuários, e este diretório deve

ser exportado para a rede, a partir daí é só dar as permissões certas para que quando alguém

grave ou crie um arquivo/diretório, todos tenham acesso a estes.

O procedimento é:

Crie o diretório /publico da seguinte maneira, no servidor Linux:

[root@localhost]# mkdir /publico

Agora vamos mudar as permissões deste diretório para que todos possam acessá-lo: [root@localhost]# chmod -R 777 /publico

Após isto, edite o arquivo /etc/smb.conf e modifique as seções conforme modelo abaixo: [root@localhost]# mcedit /etc/smb.conf

#======================= Global Settings=====================================

[global]

workgroup = suporte <-- grupo de trabalho da sua rede windows

server string = Samba Server

printcap name = /etc/printcap

load printers = yes

security = share

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

dns proxy = no

unix password sync = no

netbios name = servidor Linux <-- nome que o windows irá encontrar

encrypt passwords = no

map to guest = never

password level = 0

null passwords = yes

allow hosts = 10.0.2. <-- todas as máquinas com IP 10.0.2.x terão acesso

os level = 0

preferred master = no

domain master = no

wins support = no

Page 216: Servidores de Redes.pdf

dead time = 0

#======================= Share Definitions ===========================

[suporte]

comment = Diretório Público

available = yes

browseable = yes

path = /publico <-- diretório compartilhado

public = yes

guest only = no

writable = yes

only user = no

force create mode = 775

force directory mode = 2775

Para testar se o arquivo está certo execute o comando abaixo:

[root@localhost]# testparm

Reinicie o serviço do samba para ativar as mudanças, da seguinte maneira: [root@localhost root]# cds

[root@localhost]# ./smb stop

[root@localhost]# ./smb start

Desta forma, todos os usuários da rede enxergarão este diretório /publico e poderão gravar

nele os arquivos, sendo que poderão ser lidos por todos os usuários da rede.

14.10. Acesso público ao samba (configuração

pelo Linuxconf)

Page 217: Servidores de Redes.pdf

O que é preciso fazer é criar um diretório comum a todos os usuários, e este diretório deve

ser exportado para a rede, a partir daí é só dar as permissões certas para que quando alguém

grave ou crie um arquivo/diretório, todos tenham acesso a estes.

O procedimento é:

Crie o diretório /publico da segue maneira, no servidor Linux: [root@localhost]# mkdir /publico

Agora vamos mudar as permissões deste diretório para que todos possam acessá-lo: [root@localhost]# chmod -R 777 /publico

Agora execute o Linuxconf: [root@localhost]# linuxconf

Rede

Samba - servidor de arquivos

Padrões:

----------Configuração Base----------

Gerenciador de contas do SMB: (o) Não gerenciado ( ) Contas e senhas ( )

Somente contas

[ ] Sincroniza Linux com senhas do SMB

Descrição do servidor: Samba Server (comentário sobre o servidor) Grupo de trabalho:

suporte (grupo de trabalho à qual sua máquina windows pertence) Nome do Netbios (opc):

servidor Linux (nome que o windows irá encontrar) Apelidos do Netbios (opc): (Deixar em

branco) ----------Senhas-----------

[ ] senha criptografada é necessária

Modo de autenticação: ( ) Usuário ( ) Servidor ( ) Domínio (o) Compartilha

Mapear para guest: (o) Nunca ( ) Usuário inválido ( ) Senha inválida

Servidor de senha: (Deixar em branco)

Nível de senha: 0

Programa passwd: (Deixar em branco)

[X] Permite contas sem senha

Permite máquinas: (ip das máquinas que terão acesso ao servidor, pode ser uma

faixa de ips, por exemplo: 10.0.2.*)

Proíbe máquinas: (ip das máquinas que não terão acesso ao servidor)

----------Colocando em rede----------

Nível de OS: 0

[ ] Mestre preferencial

[ ] Mestre de domínio

Anúncio remoto: (Deixar em branco)

Navegadores remotos síncronos: (Deixar em branco)

[ ] Habilita samba como um servidor WINS

Servidor WINS: (Deixar em branco)

Interfaces: (Deixar em branco)

Ordem de resolução de nome: (Deixar em branco)

Page 218: Servidores de Redes.pdf

----------Contas automáticas-----------

Adiciona script do usuário: (Deixar em branco)

Apaga script do usuário: (Deixar em branco)

----------Características-----------

Conta convidado: (Deixar em branco)

Tempo limite de inatividade: 0

Nível de depuração: 1

Serviço padrão: (Deixar em branco)

[X] Mostre as impressoras disponíveis

Escolha Aceitar.

Agora escolha Compartilhamento de disco: Nome do compartilhamento: (nome que irá aparecer no compartilhamento)

Comentário/descrição: (comentário qualquer sobre o compartilhamento)

----------Informações básicas-----------

[X] Este serviço está ativo

[X] Navegável

Herdar opções do compartilhamento: (Deixar em branco)

Diretório para exportar: /publico(Diretório a ser exportado)

----------Acesso-----------

[X] Acesso público

[ ] Somente acesso ao convidado

[X] Gravável

Permite máquinas: 10.0.2.134 (Máquinas que poderão acessar o compartilhamento,

pode ser uma faixa de ips.)

Proíbe máquinas: (Máquinas que não poderão acessar o compartilhamento.)

As outras opções do serviço de compartilhamento podemos deixar em branco.

Após feitas as mudanças: Aceitar

Fechar

Fechar

Fechar

Sair

Agora digite: [root@localhost] mcedit /etc/smb.conf

e adicione logo após o nome do compartilhamento as linhas:

Page 219: Servidores de Redes.pdf

force create mode = 777

force directory mode = 2777

Conforme exemplo abaixo: [suporte]

comment = Diretório Público

available = yes

browseable = yes

path = /publico

public = yes

guest only = no

writable = yes

allow hosts = 10.0.2.*

only user = no

force create mode = 777

force directory mode = 2777

Salve o arquivo com a tecla F2, e saia do mcedit com a tecla F10.

Para testar se o arquivo está certo execute o comando abaixo: [root@localhost]# testparm

Reinicie o serviço do samba para ativar as mudanças, da seguinte maneira: [root@localhost root]# cds

[root@localhost]# ./smb stop

[root@localhost]# ./smb start

Desta forma, todos os usuários da rede enxergarão este diretório /publico e poderão gravar

nele os arquivos, sendo que poderão ser lidos por todos os usuários da rede.

14.11. Como faço para meus usuários samba

acessarem com senha? ### CL70 e anteriores ###

Os passos descritos abaixo servem de guia para a criação de um acesso por senha no samba.

Acesse o sistema como root.

Primeiramente vamos criar os grupos. Neste documento utilizaremos como exemplo dois

grupos o primeiro se chamará "admins" e o segundo "suporte". A criação de grupos varia

de acordo com a distribuição de acesso que deseje ser feita.

Para criar os grupos utilize o comando: [root@localhost root]# groupadd (nome do grupo)

Ex: [root@localhost root]# groupadd admins (pressione enter)

em seguida

[root@localhost root]# groupadd suporte (pressione enter)

Criados os grupos será necessário criar os usuários que farão parte deles. Os usuário deverão

ser criados no sistema linux e depois associados ao serviço samba.

Cada usuário criado poderá fazer parte de um grupo ou simplesmente ser um usuário samba.

Para criar um usuário associando este a um grupo utilize o comando: [root@localhost root]# adduser -g (grupo) usuário (pressione enter)

Page 220: Servidores de Redes.pdf

Ex: [root@localhost root]# adduser -g admins carlos (pressione enter)

ou

[root@localhost root]# adduser -g suporte junior (pressione enter)

ou

[root@localhost root]# adduser -g comercial joao (pressione enter)

Para criar um usuário sem pertencer a nenhum grupo utilize o comando: [root@localhost root]# adduser (nome do usuario)

Ex: [root@localhost root]# adduser pedro

Após a criação dos usuários deve-se cadastrar uma senha para eles utilizando o comando: [root@localhost root]# passwd usuário (pressione enter)

Será necessário cadastrar uma senha e em seguida confirmá-la.

Ex: [root@localhost root]# passwd junior (pressione enter)

Insira uma senha (pressione enter)

em seguida

Confirme a senha (presione enter)

OBS: Repita este procedimento para todos os usuários criados.

Criados os usuários no sistema linux estes devem ser associados a usuários samba.

Para criar usuários samba utilize o comando: [root@localhost root]# smbadduser (user linux):(user samba)

Ex: [root@localhost root]# smbadduser junior:junior

Será pedida uma senha para o usuário samba junior Insira a senha identica a cadastrada no sistema (pressione enter)

em seguida

Confirme a senha (pressione enter)

OBS: Apartir da versão windows 95B, a senha passa a ser criptografada.

Feita a criação dos grupos e usuários o próximo passo será a criação dos compartilhamentos

que serão utilizados pelos usuários.

Para criar um diretório utilize o comando: [root@localhost root]#mkdir (nome do diretorio) (pressione enter)

Ex: [root@localhost root]#mkdir /suporte (pressione enter)

[root@localhost root]#mkdir /publico (pressione enter)

[root@localhost root]#mkdir /comercial (pressione enter)

Criado o diretório será necessário setar as permissões. Para colocar a permissões utilize o

comando: [root@localhost root]# chmod -R 777 (nome do diretório)

Ex: [root@localhost root]# chmod -R 777 /suporte

OBS: A opção -R indica que a permissão setada valerá para todos os subdiretórios abaixo

do /suporte, a permissão 777 da acesso total ao usuário, grupo e outros.

Page 221: Servidores de Redes.pdf

Feita a criação dos grupos, usuários e os compartilhamentos o próximo passo será a

alteração do arquivo smb.conf que se encontra no diretório /etc.

Antes de alterar este arquivo aconselha-se guardar uma cópia deste no diretório /tmp caso

ocorra algum erro de configuração e seja necessário utilizar o arquivo original.

Para copiar o arquivo utilize o comando: [root@localhost root]# cp /etc/smb.conf /tmp

Para alterar o arquivo utilize o comando: [root@localhost root]# mcedit /etc/smb.conf

Abaixo segue o arquivo smb.conf utilizado para elaborar este procedimento. Neste exemplo

não constam todos as opções do samba, somente as necessárias para o funcionamento do

acesso do samba por senha. #======================= Global Settings =====================================

[global]

#Grupo de trabalho das máquinas windows

workgroup = intranet

# Nome do servidor que aparecerá na rede windows

server string = Samba Server

netbios name = Linux

# Carrega as impressoras configuradas na máquina

printcap name = /etc/printcap

load printers = yes

# Tipo de servidor de impressão

printing = lprng

# Local onde ficará agravado o Log

log file = /var/log/samba/log.%m

# Tamanho do máximo do log em Mb

max log size = 50

# Nível de depuração do log

debug level = 2

# Modo de acesso

security = user

# Combinação entre tamanhos de usuários e senhas

password level = 8

username level = 8

# Especifica se a sennha será encriptada ou não

# Para versões do windows 95B em diante há a necessidade em utilizar senha

# criptografada

encrypt passwords = yes

smb passwd file = /etc/smbpasswd

# Melhora um pouco o rendimento em redes windows

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# Selecione como mater na rede

local master = yes

# Força o servidor linux ser o master da rede

Page 222: Servidores de Redes.pdf

os level = 200

# Especifíca que o samba não precisará resolver nomes via DNS

dns proxy = no

#============================ Share Definitions ==============================

# Diretório particular de cada usuário

[homes]

comment = Home Directories

browseable = no

writable = yes

# Compartilhamento de impressoras

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

# Set public = yes to allow user 'guest account' to print

guest ok = no

writable = no

printable = yes

# Neste compartilhamento todos possuem acesso de cópia e escrita

[publico]

path = /publico #caminho do diretório na máquina linux

public = yes #Todos podem visuallizar este diretório

only guest = yes

writable = yes #permite que todos possam gravar neste

printable = no # diretório

# O compartilhamento estará visível mas só poderá gravar o usuário que

# pertencer ao grupo suporte

[suporte]

path = /suporte

only guest = yes

printable = no

write list = @suporte #permissão de gravação somente para quem pertencer

#ao grupo suporte

# O compartilhamento estará visível mas só poderá gravar o usuário que

# pertencer ao grupo comercial

[comercial]

path = /comercial

only guest = yes

printable = no

write list = @comercial #permissão de gravação somente para quem

# pertencer ao grupo comercial

# Só poderá gravar neste copartilhamento quem pertencer ao grupo admins os

# outros usuários só poderão ver e copiar os arquivos.

[docs]

path = /docs

only guest = yes

printable = no

write list = @admins #permissão de gravação somente para quem pertencer

#ao grupo admins

# Faz o compartilhamento do cdrom para que todo os usuários possam acessar

Page 223: Servidores de Redes.pdf

[cdrom]

path = /mnt/cdrom

public = yes

only guest = yes

writable = no

printable = no

Pressione F2 para salvar e F10 para sair.

Feito isso a configuração do samba estará completa, faltando apenas levantar o servidor

samba para que ele passe a ser visto pelas máquinas windows da rede.

Para levantar o servidor samba utilize os comandos: [root@localhost /root]cds (pressione enter)

em seguida [root@localhost /inet.d]./smb start (pressione enter)

Feito isto o servidor samba ja estará sendo visto pelas máquinas windows.

14.12. Como faço para o windows mapear em

unidades de rede os compartilhamentos do linux. ### CL70 e posteriores ###

Os passos descritos abaixo servem de guia para a criação de um acesso por logon de

domínio.

Acesse o sistema como root.

Primeiramente vamos criar os grupos. Neste documento utilizaremos como exemplo dois

grupos o primeiro se chamará "admins" e o segundo "suporte". A criação de grupos varia

de acordo com a distribuição de acesso que deseje ser feita.

Para criar os grupos utilize o comando: [root@localhost root]# groupadd (nome do grupo)

Ex: [root@localhost root]# groupadd admins (pressione enter)

em seguida

[root@localhost root]# groupadd suporte (pressione enter)

Criados os grupos será necessário criar os usuários que farão parte deles. Os usuário deverão

ser criados no sistema linux e depois associados ao serviço samba.

Cada usuário criado poderá fazer parte de um grupo ou simplesmente ser um usuário samba.

Para criar um usuário associando este a um grupo utilize o comando: [root@localhost root]# adduser -g (grupo) usuário (pressione enter)

Ex: [root@localhost root]# adduser -g admins carlos (pressione enter)

ou

[root@localhost root]# adduser -g suporte junior (pressione enter)

Para criar um usuário sem pertencer a nenhum grupo utilize o comando: [root@localhost root]# adduser (nome do usuario)

Ex: [root@localhost root]# adduser pedro

Page 224: Servidores de Redes.pdf

Após a criação dos usuários deve-se cadastrar uma senha para eles utilizando o comando: [root@localhost root]# passwd usuário (pressione enter)

Será necessário cadastrar uma senha e em seguida confirmá-la.

Ex: [root@localhost root]# passwd junior (pressione enter)

Insira uma senha (pressione enter)

em seguida

Confirme a senha (presione enter)

OBS: Repita este procedimento para todos os usuários criados.

Criados os usuários no sistema linux estes devem ser associados a usuários samba.

Para criar usuários samba utilize o comando: [root@localhost root]# smbadduser (user linux):(user samba)

Ex: [root@localhost root]# smbadduser junior:junior

Será pedida uma senha para o usuário samba junior Insira a senha identica a cadastrada no sistema (pressione enter)

em seguida

Confirme a senha (pressione enter)

OBS: Apartir da versão windows 95B, a senha passa a ser criptografada.

Feita a criação dos grupos e usuários o próximo passo será a criação dos compartilhamentos

que serão utilizados pelos usuários.

Para criar um diretório utilize o comando: [root@localhost root]#mkdir (nome do diretorio) (pressione enter)

Ex: [root@localhost root]#mkdir /home/netlogon (pressione

enter)

OBS: para este diretório não serão alteradas as permissões somente o root deverá ter acesso

ou o usuário que for selecionado como administrador. [root@localhost root]#mkdir /suporte (pressione enter)

Criado o diretório será necessário setar as permissões. Para colocar a permissões utilize o

comando: [root@localhost root]# chmod -R 777 (nome do diretório)

Ex: [root@localhost root]# chmod -R 777 /suporte

OBS: A opção -R indica que a permissão setada valerá para todos os subdiretórios abaixo

do /suporte, a permissão 777 da acesso total ao usuário, grupo e outros.

Feita a criação dos grupos, usuários e os compartilhamentos o próximo passo será a

alteração do arquivo smb.conf que se encontra no diretório /etc.

Antes de alterar este arquivo aconselha-se guardar uma cópia deste no diretório /tmp caso

ocorra algum erro de configuração e seja necessário utilizar o arquivo original.

Para copiar o arquivo utilize o comando: [root@localhost root]# cp /etc/smb.conf /tmp

Para alterar o arquivo utilize o comando: [root@localhost root]# mcedit /etc/smb.conf

Page 225: Servidores de Redes.pdf

Abaixo segue o arquivo smb.conf utilizado para elaborar este procedimento. Neste exemplo

não constam todos as opções do samba, somente as necessárias para o funcionamento do

acesso por netlogon. #======================= Global Settings =====================================

# Seção do arquivo que seta as configurações que serão utilizadas por todos

# os usuários

[global]

workgroup = intranet #grupo de trabalho

netbios name = linux #nome da máquina que aparecerá nas máquinas

#windows

server string = Samba Server

printcap name = /etc/printcap # carrega as caracteristicas das

# impressoras disponíveis

load printers = yes # carregar impressoras

printing = lprng #sistema de impressão

log file = /var/log/samba/log.%m #logs de acesso

max log size = 50 #tamanho máximo do log

debug level = 2 #nível do log a ser feito

security = user #tipo de acesso

password level = 8 # tamanho máximo para a senha

username level = 8 # tamanho máximo para o usuário

encrypt passwords = yes #utilização de senhas criptografadas

#(win95B/win98)

smb passwd file = /etc/smbpasswd

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

local master = yes # Servidor master

os level = 34 # Define quem é o servidor master da rede inteira

domain master = yes # Indica se ele será o servidor master de domínio

#da rede inteira

preferred master = yes # Força a eleição do servidor samba como master

domain logons = yes #Efetua o logon de máquinas win95/win98

logon script = %U.bat #carrega os compartilhamento de cada usuário

dns proxy = no

#============================ Share Definitions ==============================

# Diretório particular de cada usuário.

[homes]

comment = Home Directories

browseable = no

writable = yes

Page 226: Servidores de Redes.pdf

# Local onde ficarão os scripts dos usuários

[netlogon]

comment = Network Logon Service

path = /home/netlogon

guest ok = yes

writable = no

share modes = no

browseable = no

#compartilhamento de impressoras

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

# Set public = yes to allow user 'guest account' to print

guest ok = no

writable = no

printable = yes

# Exemplos de compartilhamento

# Neste compartilhamento todos possuem acesso de cópia e escrita

[publico]

path = /publico #caminho do diretório na máquina linux

public = yes #Todos podem visuallizar este diretório

only guest = yes

writable = yes #permite que todos possam gravar neste diretório

printable = no

# Só poderá utilizar este copartilhamento que tiver ele em seu script

[suporte]

path = /suporte

only guest = yes

writable = yes

printable = no

# Só poderá gravar neste copartilhamento quem pertencer ao grupo admins os

# outros usuários só poderão ver e copiar os arquivos.

[docs]

path = /docs

only guest = yes

writable = yes

printable = no

write list = @admins #permissão de gravação somente para quem pertencer

#ao grupo admins

# Faz o compartilhamento do cdrom para que os usuários possam acessar

[cdrom]

path = /mnt/cdrom

public = yes

only guest = yes

writable = no

printable = no

Pressione F2 para salvar e F10 para sair.

Page 227: Servidores de Redes.pdf

Até este ponto o servidor ja encontra-se parcialmente configurado, faltando apenas os scripts

serem modificados conforme a permissão de acesso a cada diretório.

Abaixo segue um exemplo de script que faz o mapeamento dos compartilhamentos dos

diretórios criados no linux transformado em unidades de rede no windows. rem Logon script padrao para a rede.

net time \\servidor1 /set /yes

@echo off

if %OS%.==Windows_NT. goto WinNT

:Win95

net use X: /HOME

net use Y: \\servidor1\pasta_01

net use Z: \\servidor1\pasta_02

goto end

:WinNT

net use X: \\servidor1\pasta_01 /persistent:no

net use Z: /HOME /persistent:no

:end

Adaptando para um dos usuários criados deste documento o scrip ficaria da seguinte forma: rem Logon script padrao para a rede.

net time \\linux /set /yes

@echo off

if %OS%.==Windows_NT. goto WinNT

:Win95

net use G: /HOME

net use I: \\linux\suporte

net use J: \\linux\cdrom

goto end

:WinNT

net use I: \\linux\suporte /persistent:no

net use G: /HOME /persistent:no

:end

Comentários sobre o script: Este arquivo deve ser gerado em uma máquina windows com a

extensão .bat .

Ex: junior.bat pedro.bat carlos.bat

Para que ele execute os comandos deverá ser copiado para o diretório /home/netlogon criado

anteriormente.

O nome linux vem da opção "netbios name" colocada no início da seção global do arquivo

smb.conf.

O diretório particular do usuário (home) também será mostrado conforme a opção: net use

G: /HOME ( no windows aparecerá como a unidade de rede X)

Os diretórios que poderão ser vistos por este usuário serão os seguintes: net use I:

\\linux\suporte (onde o usuário terá permissão de escrita ) net use J: \\linux\cdrom (nesta

opção o cdrom do servidor também estará disponível para este usuário)

Page 228: Servidores de Redes.pdf

Feitas estas alterações o servidor samba esta pronto para ser testado e inicializado utilizando

os seguintes comandos:

Para testar a consistência do arquivo smb.conf utilize o comando: [root@localhost root]#testparm (pressione enter)

Se não aparecer nehum erro de consistência utilize os comandos abaixo para carregar o

servidor:

[root@localhost root]# cds (pressione enter)

em seguida

[root@localhost root]#./smb stop && ./smb start (pressione enter)

O servidor samba será carregado.

Configurações das máquinas clientes (windows)

Para configurar as máquinas windows 95/98/Me acesse a opção rede em:

Iniciar-> configurações-> painel de controle.

Clique no ícone rede.

Será apresentado os protocolos instalados na máquina.

Selecione a opção Clientes para a rede microsoft

Marque a opção Efetuar logon de domínio do Windows NT

Na opção domínio do windows NT, insira o workgroup utilizado na configuração do aqruivo

smb.conf . Neste procedimento o workgroup utilizado foi o intranet.

Salve as configurações e reinicie o seu computador. Quando o sistema voltar a opção

domínio será mostrada no momento do login, para ter acesso aso compartilhamentos criados

basta acessar ao sistema com o nome do usuário e a senha cadastrados anteriormente.

OBS: Este procedimento assume que ambas as máquinas windows e linux estão com suas

placas de rede funcionando e conseguindo efetuar o comando ping entre elas.

Para configurar as máquinas windows XP / 2000 acesse a opção Ferramentas

Administrativas:

Iniciar->configurações-> painel de controle->Ferramentas Administrativas

Para o WinXP

Para incluir a máquina com WinXp no domínio criado siga os passos abaixo:

Cadastre uma senha para o root no samba smbpasswd -a root

Cadastre a máquina com o winxp no samba ( conta de máquina). OBS:A conta que será

criada deverá ter um shell inválido e um home apontando para /dev/null paraq ue nenhum

usuário logue com esta conta. useradd -d /dev/null -c maquina_01 -m -s /bin/false maquina_01$

smbpassword -m -a maquina_01

Altere as seguintes entradas no registro: [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetlogonParameters]

"DisablePasswordChange"=dword:00000000

"maximumpasswordage"=dword:0000001e

"requiresignorseal"=dword:00000000

"requirestrongkey"=dword:00000000

"sealsecurechannel"=dword:00000001

"signsecurechannel"=dword:00000001

"Update"="no"

Page 229: Servidores de Redes.pdf

Será mostrada uma tela onde deverá ser selecionadas as opções:

Diretivas Locais->opções de segurança

Altere as opções abaixo de forma a deixá-las desativadas: Membro do domínio: assinar digitalmente canal seguro (quando possível)

Membro do domínio: criptografar digitalmente dados do canal seguro (quando for

possível)

Membro do domínio: criptografar ou assinar digitalmente os dados do canal

seguro

Outra forma de fazer o acesso por netlogon no WinXp é alterando uma chave no registro,

pesquise por: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters

Altere o valor da chave: RequireSignOrSeal

para 1.

Acrescente a máquina ao domínio informando o usuário e a senha do root quando solicitado

Para o Win 2000

Será mostrada uma tela onde deverá ser selecionadas as opções:

Diretivas de segurança local->Diretivas Locais->opções de segurança

Altere as opções abaixo de forma a deixá-las desativadas: Canal Seguro: assinar digitalmente canal seguro (quando possível)

Canal Seguro: criptografar digitalmente dados do canal seguro (quando for

possível)

Canal Seguro: criptografar ou assinar digitalmente os dados do canal seguro

(quando for possível)

Inclua a máquina no domínio criado utilizando o usuário root.

Reinicie o computador e em seguida acesse com o usuário desejado.

Para o WinNT

CLique com o botão direito do mouse no ícone Meu Computador, e escolha a opção de rede,

clique em propriedades e defina logar por domínio.

Page 230: Servidores de Redes.pdf

Será pedido um usuário e senha, digite root e a senha do root que foi cadastrada no Samba.

Após a confirmação, reincie o Windows e logue como algum usuário cadastrado no linux.

OBS: Este procedimento assume que ambas as máquinas windows e linux estão com suas

placas de rede funcionando e conseguindo efetuar o comando ping entre elas.

14.13. Meu banco de dados não permite que

muitos usuários acessem o mesmo arquivo. Problemas com locking, certamente. É preciso fazer testes com as opções de locking do

Samba. A primeira coisa que se deve tentar é usar a opção: oplocks = no

level2 oplocks = no

14.14. Como aumentar o desempenho do samba? [global]

log level = 1 # Default is 0

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

read raw = yes # Default

write raw = yes # Default

oplocks = yes # Default

max xmit = 65535 # Default

dead time = 15 # Default is 0

getwd cache = yes

A opção log level = 1, faz com que o log do samba seja menos detalhado, se usar log

level = 0, fará com que o log seja desabilitado e log level = 2 ou 3 fará que o log do

samba tenha um grande número de mensagens, como existirão vária requisições de

gravação no disco e ao syslod, a performance irá diminuir.

A opção socket options: TCP_NODELAY = faz com que o servidor envie pacotes

para a rede, mantendo assim o tempo de resposta do servidor baixo.

SO_RCVBUF=8192 e SO_SNDBUF=8192: Oferece o reinício para um valor de

buffer mais alto que o do sistema operacional.

As opções read raw e write raw permitem ao samba usar gravação e leitura de

arquivos grandes, acima de 64kb em uma única requisição samba.

A opção oplocks permite aos clientes fazer cache dos arquivos localmente. Esta opção

é habilitada por padrão. Arquivos de Banco de dados nunca devem ser colocados em

cache, para que quando sejam feitas mudanças nos arquivos do servidor, sejam

visíveis no cliente. Esta opção provê um considerável aumento na performance. o

oplocks pode ser ativado ou desativado em compartilhamentos específicos.

max xmit configura o maior bloco de dados que o samba irá tentar gravar de cada vez.

getwd cache armazena em cache a caminho para o diretório corrente, evitando

grandes leituras na árvore de diretórios para descobrí-lo.

14.15. O que pode ser feito quando aparece a

mensagem: A senha esta incorreta?

Page 231: Servidores de Redes.pdf

Se você está obtendo o erro 'A senha está incorreta, tente novamente' provavelmente as duas

máquinas não estão se comunicando da mesma forma. A partir da versão 98, o Windows tem

como padrão mandar senhas encriptadas pela rede, enquanto o samba espera senhas em texto

puro (padrão no Windows 95).

Solução 1:

Usar senhas encriptadas no samba. Utilize o linuxconf para configurar o samba. Caso seu

linuxconf não apresente esta opção, consulte o tópico relacionado sobre módulos adicionais.

Solução 2:

Desabilite as senhas encriptadas no windows. Existe um arquivo no CD do windows 98 que

faz exatamente isto, chama-se ptxt_off.ini. Outra opção é copiar o arquivo /usr/doc/samba-

*/docs/Win98_PlainPassword.reg e executá-lo.

Esse arquio deve ser copiado para o windows 98 e executado lá. O

Win98_PlainPassword.reg contém: REGEDIT4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]

"EnablePlainTextPassword"=dword:00000001

14.16. O que eu posso fazer para aumentar a

velocidade do SAMBA em uma rede win9X? Quando se está transmitindo dados em uma rede com tempo de resposta alto (por exemplo,

links satélites), a transferência pode ser menor do que a esperada e o número de pacotes

retransmitidos pode ser altamente desnecessário.

Aparentemente este erro ocorre em uma rede com Win9x (todas as versões) pois existe um

bug no cálculo do RTT (round trip time) do TCP que pode causar retransmissão prematura

dos pacotes e perda de performance de velocidade.

Os patches para correção das estações Win9X (exceto NT) estão disponíveis em um artigo

da Microsoft em:

support.microsoft.com/support/kb/articles/

Não foram realizados testes utilizando estas correções sugeridas e por isso ainda não

conseguimos montar um comparativo de performance. Se por acaso você executar os passos

de correção e for observado aumento da velocidade na rede, envie um e-mail

para<[email protected]>

14.17. O smb ao iniciar o serviço mostra smb

falhou. Primeiramente verifique se a configuração da rede está correta, logo em seguida verifique

sua configuração de dns.

O nmb falhou.

Verifique se o nome da máquina está corretamente configurada pelo linuxconf, e contém os

2 nomes e o apelido, correto.

14.18. Existe algum programa estilo "Ambiente

de Rede" para o samba?

Page 232: Servidores de Redes.pdf

Para facilitar a visualização de compartilhamentos do windows em máquinas linux rodando

samba, existe um front end gráfico que pode ser utilizado.

Primeiro, baixe o arquivo do site do xsmbrowser

"http://www.public.iastate.edu/~chadspen/xsmbrowser-2.4.0-1.noarch.rpm

Após o download, instale o pacote: [root@localhost]# rpm -ivh xsmbrowser-2.4.0-1.noarch.rpm

Após a instalação, execute o programa no ambiente gráfico, abrindo uma janela do Xterm e

digite: [root@localhost]# xsmbrowser

A janela é parecida com o ambiente de rede do windows, e basta clicar no ícone da rede que

ele mostrará as máquinas existentes na rede, em seguida clica-se na máquina que ele exibirá

os compartilhamentos da máquina. Pode-se clicar no botão mount para montar o

compartilhamento num diretório no linux.

14.19. Como montar um diretório que está em

uma máquina windows para que todos os

usuários tenham permissão de leitura, escrita e

execução ? ### CL 4.0 e posteriores ###

Tomando como exemplo uma máquina windows chamada bugs e um diretório

chamado temp, fazemos o seguinte, para montar o diretório com todas as

permissões para todos os usuários: [root@localhost]# smbmount //bugs/temp /temp -o fmask=777 dmask=777

Logicamente já tendo criado o diretório /temp com permissões

recursivas para 777.

Para criar o diretório /temp em uma máquina linux, faça o

seguinte:

Crie o diretório /temp da seguinte maneira, no servidor Linux: [root@localhost]# mkdir /temp

Agora vamos mudar as permissões deste diretório para que todos possam acessá-lo: [root@localhost]# chmod -R 777 /temp

Page 233: Servidores de Redes.pdf

14.20. Como habilito o módulo do samba no

linuxconf? Para habilitar o módulo do samba, execute: [root@localhost]# linuxconf

Arquivos de controle e sistemas

Configurar os módulos do Linuxconf

samba [X] [X] configuração do servidor SAMBA

Aceitar

Sair

Sair

Ativar Mudanças

14.21. Para adicionar uma impressora remota

utilizando Samba Primeiro, entre em um terminal como root.

Verifique se os pacotes do servidor de impressão estão instalados: [root@localhost]# rpm -qa | grep -i lpr

LPRng-doc-3.6.26-4cl

LPRng-3.6.26-4cl

[root@localhost]# rpm -qa | grep -i linuxconf-printer

linuxconf-printer-1.23-2cl

[root@localhost]# rpm -qa | grep -i rhs-printfilters

rhs-printfilters-1.81-4cl

Se algum pacote não estiver instalado, será preciso instalar o pacote:

Coloque o CD do Conectiva Linux no drive de CD-ROM: [root@localhost]# mount /mnt/cdrom

[root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/LPR*

[root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/linuxconf-printer*

[root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/rhs-printfilters*

[root@localhost]# umount /mnt/cdrom

Agora execute o aplicativo linuxconf em modo texto. Se você estiver dando boot em modo

gráfico pressione as teclas CTRL+ALT+F2 para ir para um terminal em modo texto: [root@localhost]# linuxconf

Vá em:

Configuração -> Serviços diversos -> Impressora -> Adicionar/Editar impressoras

Clique no botão "Adicionar".

Em "Nome da impressora" dê um nome para a sua impressora ou deixe o nome padrão.

Em "Conectada a" escolha a opção "Impressora SMB/Windows".

Clique no botão "Aceitar". Na caixa de diálogo "Impressora criada com sucesso" clique em

"OK".

Agora, selecione a impressora que você acabou de criar para editar suas configurações.

Page 234: Servidores de Redes.pdf

Em "Usuário", digite um usuário válido cadastrado no servidor.

Em "Senha", digite a senha do usuário.

Em "Máquina", digite corretamente o nome da máquina windows onde a impressora está

conectada.

Em "Impressora", digite corretamente o nome do compartilhamento da impressora remota.

Em "IP da máquina", digite o endereço IP da máquina remota. Este campo é opcional.

Em "Grupo", digite o nome do grupo de trabalho no qual a máquina windows onde está a

impressora faz parte.

Clique no botão "Selecionar filtro" e selecione o filtro para a sua impressora. Se ela não

estiver listada verifique com o fabricante se existe compatibilidade com alguma impressora

da lista.

As três opções a seguir variam muito de impressora para impressora. Tente deixar todas as

opções marcadas. Se não funcionar tente mudar estas opções até que a impressora responda

de maneira satisfatória. [X] Enviar EOF

[X] Consertar efeito escada (CR+lf)

[X] Saída ASCII rápida

Clique em aceitar e saia do linuxconf

Se o linuxconf tentar executar algum serviço não deixe, escolha a opção para ele não fazer

nada.

Agora verifique se o loopback está funcionando: [root@localhost]# ifconfig

lo Encapsulamento do Link: Loopback Local

inet end.: 127.0.0.1 Masc:255.0.0.0

UP LOOPBACKRUNNING MTU:3924 Métrica:1

Pacotes RX:270 erros:0 descartados:0 sobreposições:0 frame:0

Pacotes TX:270 erros:0 descartados:0 sobreposições:0 portadora:0

colisões:0 txqueuelen:0

Deverá aparecer pelo menos a interface lo (loopback). Se não aparecer a interface lo, então

será preciso levantá-la: [root@localhost]# ifdown lo

[root@localhost]# ifup lo

Agora é necessário levantar/reinicar o serviço de impressão lpd: [root@localhost]# cds

[root@localhost]# ./lpd stop

[root@localhost]# ./lpd start

Page 235: Servidores de Redes.pdf

Veja se o serviço está funcionando: [root@localhost]# ./lpd status

lpd (pid 768) está rodando...

Agora teste a impressora imprimindo um arquivo texto e um arquivo postscript: [root@localhost]# lpr teste.txt

[root@localhost]# lpr teste.ps

Se não funcionar verifique se ao mandar um teste, o mesmo não fica no spoll (fila de

impressão) com o comando: [root@localhost]# lpq

Caso apareça, é necessário ativar a fila com o comando de impressão: [root@localhost]# lpc start all

Agora inicie o serviço lpd para a inicialização do sistema: [root@localhost]# ntsysv

Procure pela opção lpd na lista e deixe-a marcada. Clique em OK e pronto.

OBS: Toda vez que alguma configuração do serviço de impressão for alterada será

necessário reiniciar o serviço de impressão. [root@localhost]# cds

[root@localhost]# ./lpd stop

[root@localhost]# ./lpd start

14.22. Com quais outros clientes eu posso acessar

os compartilhamentos do Servidor?

DOS e Windows 3.1

O programa necessário para que máquinas DOS possam atuar como um cliente Samba

podem ser obtidos em ftp://ftp.microsoft.com/bussys/Clients/MSCLIENT, o qual é

composto por dois disquetes.

Windows For Workgroups

Esta versão já traz o suporte a SMB, porém o protocolo TCP/IP deverá ser instalado.

Ele pode ser obtido em ftp://ftp.microsoft.com/bussys/clients/WFW/TCP32B.EXE É

um arquivo com um formato de extração automática.

Windows 9X

Estas versões já trazem o suporte a TCP/IP. Para configurá-lo deve-se utilizar o Painel

de Controle.

Page 236: Servidores de Redes.pdf

14.23. Quais as variáveis utilizadas pelo servidor

Samba? É possível utilizar algumas variáveis no lugar de textos fixos. Dentre diversas variáveis

disponíveis, apresentamos a seguir as mais significativas:

Descrição Variável

Nome da máquina (host) %h

Mostra a versão do samba %v

Nome do serviço (compartihamento) atual. %S

Nome do usuário %u

Nome do grupo. %g

Nome do diretório pessoal do usuário. %H

Nome da máquina cliente fornecido pelo NetBIOS. %m

Nome do servidor NetBIOS. Permite que a configuração seja alterada com base no cliente que está

acessando o sistema. %L

Nome Internet da máquina cliente. %M

Sistema operacional da máquina remota. São reconhecidos os seguintes valores: WfW, WinNT e Win95. %a

O endereço IP da máquina cliente. %i

Data e horário.

14.24. O que fazer quando o samba não carrega? Como root execute o comando:

[root@localhost]$ hostname será apresentado o nome da máquina e domínio, ex: maquina.dominio

abra o linuxconf e acesse os menus:

Ambiente de rede-> Tarefas de cliente-> Informações básicas da máquina

No campo "Nome da máquina + domínio" especifique o nome apresentado na saída do

comando "hostname" (conforme o exemplo maquina.dominio)

No campo "Primeiro nome + domínio" especifique maquina.dominio (conforme exemplo)

No campo "Apelidos (opc)" especifique maquina (exemplo) -> Aceitar

-> Sair

-> Sair

Reinicie os serviços: # cds

# ./network stop

# ./network start

# ./smb stop

# ./smb start

Page 237: Servidores de Redes.pdf

Verifique se o samba está ativo: # ./smb status

14.25. Como configurar o samba para autenticar

os usuário no Windows 2000? ### Conectiva 8 ###

Considera-se que o Servidor Windows 2000 que autenticará os usuários seja o PDC

(Primary Domain Controller) da rede e que a configuração básica do samba já esta realizada.

Para obter informações sobre as configurações genéricas do samba, acesse:

http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.samba.html

Inicialmente iremos configurar o Windows 2000, acessando no Active Directory:

Container (pasta):

Computers

Clique com o botão Direito -> New -> Computer.-> Computer Name: <nome do servidor

linux que fará a autenticação no Windows 2000> ->Habilite a opção Allow pre-Windows

2000 computers to use this accout Pressione OK

Agora no Linux:

Primeiramente deve-se configurar o samba. Edite o arquivo /etc/smb.conf e localize as

respectivas seções e altere-as conforme indicado: workgroup = conectiva

altere conforme o domínio (workgroup) de sua rede windows security = domain

isto fará o samba autenticar em domínio (se estiver como share ou user altere para domain,

caso seja alterado para server a autenticação será por servidor independente de ser PDC de

rede ou não) password server = w2k.conectiva

indique o servidor que irá autenticar os usuários, caso seja usado um "*" (sem aspas) em vez

do nome de uma máquina, ele irá procurar pelo PDC da rede. encrypt passwords = yes

Page 238: Servidores de Redes.pdf

faz com que o samba use senhas criptografadas, necessário para interagir com Windows 95

OSR2, Windows 98/ME/XP/2000 e Windows NT com service pack 3 ou maior instalado. winbind separator = +

Separa o domínio do nome do usuário com o caractere "+". Pode ser usado também o

caractere "\". Geralmente o correto é o "+". winbind uid = 1000-2000

winbind gid = 1000-2000

Informa o range de uid (user ID) e gid (group ID) a ser usado. Deve ser usada uma faixa que

não está sendo usada pelo sistema, para saber quais os uid e gid, pode-se executar: [root@localhost /]# getent passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:

daemon:x:2:2:daemon:/sbin:

adm:x:3:4:adm:/var/adm:

lp:x:4:7:lp:/var/spool/lpd:

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:

news:x:9:13:news:/var/spool/news:

uucp:x:10:14:uucp:/var/spool/uucp:

operator:x:11:0:operator:/root:

games:x:12:100:games:/usr/games:

gopher:x:13:30:gopher:/usr/lib/gopher-data:

ftp:x:14:50:FTP User:/var/ftp:

nobody:x:65534:65534:Nobody:/home:

mysql:x:100:101:MySQL server:/var/lib/mysql:/bin/bash

www:x:101:102::/var/www:/bin/false

sshd:x:102:103:sshd:/var/empty:/bin/false

stunnel:x:103:233::/home/stunnel:/dev/null

postfix:x:104:104:postfix:/var/spool/postfix:

ntp:x:105:105:NTP daemon:/etc/ntp:/bin/false

named:x:106:235:Domain name server:/var/named:/bin/false

postgres:x:107:107:PostgreSQL Server:/var/lib/pgsql:/bin/bash

[root@localhost /]#

Page 239: Servidores de Redes.pdf

Em nossa simulação, o último uid foi o 107, então poderíamos usar na opção winbind uid os

valores 150-500, por exemplo, o valor inicial foi 150 para reservar User IDs para contas

adicionadas futuramente no sistema (linux). winbind enum users = yes

winbind enum groups = yes

Ativa a numeração de usuários e grupos para as chamadas de sistema. Em ambientes

grandes, é aconselhável desabilitar esta numeração (com a flag no), mas alguns aplicativos

podem deixar de funcionar apropriadamente.

Salve o arquivo e saia.

Devemos adicionar o servidor linux no domínio do Windows 2000, para isto usaremos o

comando smbpasswd conforme exemplo abaixo: [root@localhost /]# smbpasswd -r <nome do pdc> -j <dominio>

Considerando que a máquina com Windows 2000 e PDC da rede tenha o nome de w2k e o

domínio seja conectiva, o comando seria: # smbpasswd -r w2k.conectiva -j conectiva

2002/07/10 11:04:55 : change_trust_account_password: Changed password for

domain CONECTIVA.

Joined domain CONECTIVA.

Edite o arquivo /etc/nsswitch.conf e localize as linhas: passwd: files nisplus nis

group: files nisplus nis

e altere-as para: passwd: files winbind

group: files winbind

Edite o arquivo /etc/pam.d/samba e as linhas: auth required /lib/security/pam_unix.so nullok shadow

account required /lib/security/pam_unix.so

Page 240: Servidores de Redes.pdf

devem ser removidas (aconselha-se apenas comentar as linhas ou fazer uma cópia de

segurança do arquivo) e as seguintes linhas adicionadas: auth required /lib/security/pam_securetty.so

auth required /lib/security/pam_nologin.so

auth sufficient /lib/security/pam_winbind.so

auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok

account required /lib/security/pam_winbind.so

Edite o arquivo /etc/rc.d/init.d/smb e localize a seção: start)

gprintf "Starting %s services: " "SMB"

daemon smbd -D

echo

gprintf "Starting %s services: " "NMB"

daemon nmbd -D

echo

touch /var/lock/subsys/smb

;;

Adicione as linhas: gprintf "Starting %s services: " "Winbind"

daemon winbindd

echo

Deixando a seção do seguinte modo: start)

gprintf "Starting %s services: " "SMB"

daemon smbd -D

echo

gprintf "Starting %s services: " "NMB"

daemon nmbd -D

echo

gprintf "Starting %s services: " "Winbind"

daemon winbindd

echo

touch /var/lock/subsys/smb

;;

Page 241: Servidores de Redes.pdf

O mesmo deverá ser feito nas seções stop e status, conforme exemplo: stop)

gprintf "Stopping %s services: " "SMB"

killproc smbd

echo

gprintf "Stopping %s services: " "NMB"

killproc nmbd

echo

gprintf "Stopping %s services: " "Winbind"

killproc winbindd

echo

rm -f /var/lock/subsys/smb

;;

status)

status smbd

status nmbd

status winbindd

;;

[root@localhost /]# service smb stop

[root@localhost /]# service smb start

Então, teste a configuração executando: [root@localhost /]# smbclient <//nomedamaquina/compartilhamento> -U

<dominio+usuario>

Considerando que o nome da máquina linux seja samba, o compartilhamento seja usr, o

domínio seja conectiva e o usuário seja tulio, o comando seria: [root@localhost /]# smbclient //samba/usr -U conectiva+tulio

added interface ip=10.0.2.89 bcast=10.0.7.255 nmask=255.255.248.0

Password:

Domain=[CONECTIVA] OS=[Unix] Server=[Samba 2.2.3a]

smb: \>

Capítulo 15. SENDMAIL

15.1. Gostaria de um passo a passo para

configurar o sendmail pelo linuxconf. ### 5.1 e anteriores ###

Este passo a passo foi montado baseado no livro Guia do Servidor da Conectiva.

Para configurar o Sendmail pelo linuxconf execute os seguintes procedimentos:

Abra o linuxconf [root@localhost]# linuxconf

Page 242: Servidores de Redes.pdf

Para adicionar o módulo do configurador do Sendmail

Arquivos de controle e sistema Configurar os módulos do Configurador Linux

Escolha a opção:

mailconf [X] configuração do servidor de mail (Sendmail)

Peça pela opção aceitar e sair.

Na parte:

Ambiente de Rede

Sendmail - sistema de envio de emails

Nas opções de básico, entre na opção:

Informações básicas

Veja as opções: (Cada linha, está comentada de suas funções)

Apresentar seu sistema como : <domínio>

[X]Aceitar email para <domínio>

Servidor de email :

Roteador de email :

Protocolo roteador de email : smtp

(Mesmo que o email venha de máquinas diferentes de sua empresa, você pode querer

esconder esse fato e apresentar os emails como se eles tivessem vindo de apenas uma

máquina ou domínio. Se você está configurando o servidor principal de uma empresa, você

deve selecionar aceitar email para dominio. No Servidor de email, coloque a

máquina+domino que será o servidor de email, e em protocolo a mesma máquina. Se sua

configuração for simples deixe em branco) funcionalidades

[ ] confirmar nomes completos

de usuários

[X] Ativar controle de envio

(spammers)

Tamanho máximo das mensagens:( )no limite ____________

[ ] Não tentar enviar

imediatamente

Processar consulta a cada(min):( ) manual 1

( ) Usar a shell especial smrsh

Maximum recipients per msg (o) Defaults _____________

(Habilite a opção de Ativar controle de envio, evitando assim que usem o servidor smtp para

spam. No tamanho das mensagens coloque o valor máximo que as mensagens irão ter. na

próxima opção evita que o sendmail envie imediatamente as mensagens, e na opção seguinte

qual será o tempo de intervalo de envio.) Funcionalidades por DNS

[ ] Esperar pelo DNS

[ ] não usar DNS

(O Sendmail faz um uso pesado do DNS. Máquinas sem conexão direta com a Internet

(mesmo atrás de um firewall) podem querer desativar o uso do DNS. Por outro lado,

máquinas com uma conectividade normal do DNS devem forçar o uso do DNS) Diversos

[X] Não usar batch para email UUCP

Tamanho máx para mensagens UUCP: 20000

Entrega Local para usuários : root

Não mascara origem de: : root

Usuários Autorizados : root daemon uucp

Banco de roteamento especiais : [ ]

Page 243: Servidores de Redes.pdf

Formato do banco de roteamentos: hash

Agente de entrega local :

[ ]Suporte a Cliente Bogus(HELO)

(Quando usa-se UUCP repetidamente, as mensagens são normalmente requisitadas e

entregues em intervalos regulares. Marque para processá-las imediatamente, recomendado

para tráfego pouco intenso) Entrega para usuários locais: Coloque o nome dos usuários para

quem quer ignorar a definição de Servidor de email. As mensagens sempre serão guardadas

localmente para estes usuários. Essa funcionalidade é normalmente usada para pseudo-

usuários administrativos (root por exemplo). A opção não mascara usa-se para saber qual o

usuário e de qual máquina ele mandou. O Agente de entrega refere-se a utilitários de

entrega, ex: Procmail. use a opção deixar o linuxconf localizar. Deixe o resto em branco) Apelidos do domínio

Apelidos para o seu sistema:

( Coloque nesta opção outros domínios que o sr. quer que seu sistema aceite)

Confirme. Para uma configuração básica do Sendmail, só os primeiros itens são necessário,

com isso seu sistema já estará trabalhando, faltando apenas descomentar o pop no intetd e

startar o inet e o sendmail.

A seguir, instruções das outras opções do Sendmail:

Opção ---> Roteamento especial (domínio)

Adicionar

Destino :

Repetidor :

[ ]Gerenciar subdomínio da mesma forma

Transporte :

(Em muitos sistemas, é útil habiltar para informar

ao sendmail qual a rota de envio das mensagens)

Opção --->Roteamento complexo (usuário)

Adicionar

[ ] esta regra está ativa

Para: Original :

PAra: Novo :

Reenviar para servidor(opc) :

Transporte : smtp

Comentário :

(Serve para apontar um email de usuário@dominio para <outrosusário@outrodomínio>)

Opção --->Regras de mascaramento

Adicionar [ ] esta regra está ativa

De: Original :

De: Novo :

Comentário :

(Você pode definir regras de transformação simples que serão aplicadas a todos os emails

enviados pelo sendmail. No geral, você especifica um De: e como este De: deve ser

convertido.)

Opção --->Domínio Virtual de Email

Adicionar Domínio Virtual :

Destino de retorno :

Page 244: Servidores de Redes.pdf

Alocar UID de :

Limitar a caixa do usuário para (kb):

[ ] Match User full name

Filter program + args (opc):

Arquivos de Aplelidos:

Apelidos opcionais

(Domínios virtuais de email são um jeito de se gerenciar listas independentes de usuários no

mesmo servidor. Cada domínio virtual tem seu próprio arquivo de senhas, seu próprio

diretório de email e seu próprio arquivo de apelidos. Para cada domínio virtual de email, o

Configurador Linux irá definir: * /etc/vmail/passwd.domínio_virtual

* /etc/vmail/shadow.domínio_virtual

* /etc/vmail/aliases.domínio_virtual

* /var/spool/vmail/domínio_virtual/

* /vhome/domínio_virtual/

onde domínio_virtual é um domínio, como foo.com.br por exemplo.)

Opção --->Apelidos Para usuário

Adicionar

(Nesta opção definimos apelidos para os usuários ex: Usuário - <Teste@conectiva> e

queremos que o mesmo tenha um outro email: <teste2@conectiva>. Usamos o apelido para

acrescentar o teste2, e o usuário receberá as mensagens enviadas para teste2. Pode ser usada

para pequenas listas de mail.)

E por fim, peça a opção gerar o arquivo CF. Após esta criação, saia do configurador linux e

edite o inetd.conf para habilitar as funções de correio: [root@localhost]# cd /etc

[root@localhost]# mcedit inetd.conf

Descomente a linha: pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Salve o arquivo e saia, reinicie o inetd: [root@localhost]# cds

[root@localhost]# ./inet restart

E inicie o sendmail

[root@localhost]# ./sendmail start

Configuração Filtros Anti-SPAM

Nas Configurações anti-spam, veja as opções:

Remetentes rejeitados

Coloque aqui o mail que deseja-se restrigir: Origem do mail

: <nome@dominio> Mensagem de erro: Seu e-mail foi rejeitado .

Repetir para 'por ip'

Aqui você informa uma lista de números IP (máquinas ou redes) para quem seu

servidor poderá repetir os emails.

Repetir para por nome

Aqui você informa uma lista de nomes de máquina e domínios para quem seu servidor

poderá repetir os emails.

Page 245: Servidores de Redes.pdf

Repetir para máquinas

Aqui você informa uma lista de servidores de email os quais usam o seu servidor

como roteador.

### CL6.0 ###

Para configurar o Sendmail pelo linuxconf execute os seguintes procedimentos:

Abra o linuxconf [root@localhost]# linuxconf

Para adicionar o módulo do configurador do Sendmail

Arquivos de controle e sistema->Configurar os módulos do Configurador Linux

Escolha a opção:

mailconf [X] configuração do servidor de mail (Sendmail)

Peça pela opção aceitar e fechar.

Em:

Ambiente de Rede-> Sendmail - sistema de envio de emails

Nas opções de básico, entre na opção:

Informações básicas

Veja as opções: (Cada linha, está comentada de suas funções) #Apresentar seu sistema como : domínio

# [X]Aceitar email para domínio

#Servidor de email :

#Roteador de email :

#Protocolo do roteador de email : smtp

#----------------------------------------------------------

(Mesmo que o email venha de máquinas diferentes de

sua empresa, você pode querer esconder esse fato

e apresentar os emails como se eles tivessem

vindo de apenas uma máquina ou domínio.

Se você está configurando o servidor principal de uma

empresa, você deve selecionar aceitar email para dominio.

No Servidor de email, coloque a máquina+domino que será

o servidor de email, e em protocolo a mesma máquina. Se

sua configuração for simples deixe em branco)

#-------------------funcionalidades---------------------------

# [ ] confirmar nome completo

# do usuário

# [X] Ativar controle de envio

# (spammers)

# [ ] usar RealTime Blackhole List (RBL)

# [ ] Habilitar o comando VERIFY SMTP

# [ ] Habilitar o comando EXPN SMTP

#

#------------------------entrega-------------------------------

#

#Tamanho máximo das mensagens: ( )sem limite ____________

# [X] Não tentar enviar

# imediatamente

#Processar consulta a cada(min): ( ) manual 1

# [ ] Usar o shell especial smrsh

#Máx de destinatários por msg. (o) Padrões _____________

(Habilite a opção de Ativar controle de envio,

evitando assim que usem o servidor smtp para

spam. No tamanho das mensagens coloque o valor

máximo que as mensagens irão ter. na próxima

Page 246: Servidores de Redes.pdf

opção evita que o sendmail envie imediatamente

as mensagens, e na opção seguinte qual será o

tempo de intervalo de envio.)

#_-------------------Funcionalidades por DNS---------------

# [ ] Esperar pelo DNS

# [ ] Não usar DNS

(O Sendmail faz um uso pesado do DNS. Máquinas

sem conexão direta com a Internet (mesmo atrás de

um firewall) podem querer desativar o uso do DNS.

Por outro lado, máquinas com uma conectividade normal

do DNS devem forçar o uso do DNS)

#-------------------Diversos---------------------------

# [X] Não usar batch para email UUCP

#Tamanho máx para mensagens UUCP: 20000

#Entrega Local para usuários : root

#Não mascara origem de: : root

#Usuários Autorizados : root daemon uucp

#Roteamento especial db. : [ ] Ativo

#Roteamento especial formato db.: hash

#Agente de entrega local :

[ ]Suporte a Cliente Bogus(HELO)

(Quando usa-se UUCP repetidamente, as mensagens são

normalmente requisitadas e entregues em intervalos regulares.

Marque para processá-las imediatamente, recomendado para

tráfego pouco intenso)

Entrega para usuários locais: Coloque o nome dos usuários para

quem quer ignorar a definição de Servidor de email. As mensagens

sempre serão guardadas localmente para estes usuários.

Essa funcionalidade é normalmente usada para pseudo-usuários

administrativos (root por exemplo). A opção não mascara usa-se

para saber qual o usuário e de qual máquina ele mandou. O

Agente de entrega refere-se a utilitários de entrega, ex:

Procmail. use a opção deixar o linuxconf localizar. Deixe

o resto em branco)

#--------------------Apelidos do domínio--------------------

# Apelidos para o seu sistema:

( Coloque nesta opção outros domínios que o sr.

quer que seu sistema aceite)

Confirme. Para uma configuração básica do Sendmail, só os

primeiros itens são necessário, com isso seu sistema já

estará trabalhando, faltando apenas descomentar o pop

no intetd e startar o inet e o sendmail.

A seguir, instruções das outras opções do Sendmail:

Opção ---> Roteamento especial (domínio)

-----> Adicionar

#--------------------------------------------------

#Destino :

#Repetidor :

# [ ]Gerenciar subdomínio da mesma forma

Page 247: Servidores de Redes.pdf

#Transporte :

(Em muitos sistemas, é útil habiltar para informar

ao sendmail qual a rota de envio das mensagens)

#---------------------------------------------------

Opção --->Roteamento complexo (usuário)

-------> Adicionar

#--------------------------------------------------

# [ ] esta regra está ativa

#Para: Original :

#Para: Novo :

#Reenviar para servidor(opc) :

#Transporte : smtp

#Comentário :

(Serve para apontar um email de usuário@dominio

para outrosusário@outrodomínio)

Opção --->Regras de mascaramento

-------> Adicionar

#--------------------------------------------------

# [ ] esta regra está ativa

#De: Original :

#De: Novo :

#Comentário :

#--------------------------------------------------

(Você pode definir regras de transformação simples que serão

aplicadas a todos os emails enviados pelo sendmail. No geral,

você especifica um De: e como este De: deve ser convertido.)

Opção --->Domínio Virtual de Email

-------> Adicionar

#----------------------------------------------------------

#Domínio Virtual (fdqn) :

#-----------------Informações básicas----------------------

#Destino de retorno (opc) :

#Alocar UID de :

#Limitar a caixa do usuário para (k): (o) Sem limite ______

#-------------------Funcionalidades------------------------

#Número máximo de usuários : (o) Sem limite ______

# [ ] Iguais ao nome completo

#Filtro programa + arg (opc) :

#Travar domínio [ ] Mails que chegam são rejeitados

# [ ] Usuários não podem resgatar suas mensagens

#--------------Arquivos de apelidos extra------------------

#Caminho do arquivo (absoluto) :

#-------------------Apelidos do domínio--------------------

#

#

(Domínios virtuais de email são um jeito de se gerenciar

listas independentes de usuários no mesmo servidor. Cada

domínio virtual tem seu próprio arquivo de senhas, seu

próprio diretório de email e seu próprio arquivo de apelidos.

Para cada domínio virtual de email, o Configurador Linux irá

definir:

* /etc/vmail/passwd.domínio_virtual

* /etc/vmail/shadow.domínio_virtual

Page 248: Servidores de Redes.pdf

* /etc/vmail/aliases.domínio_virtual

* /var/spool/vmail/domínio_virtual/

* /vhome/domínio_virtual/

onde domínio_virtual é um domínio, como foo.com.br por exemplo.)

Opção --->Apelidos Para usuário

-------> Adicionar

#--------------------------------------------------

(Nesta opção definimos apelidos para os usuários

ex: Usuário - Teste@conectiva e queremos que o

mesmo tenha um outro email: teste2@conectiva.

Usamos o apelido para acrescentar o teste2, e

o usuário receberá as mensagens enviadas para

teste2. Pode ser usada para pequenas listas de

mail.)

E por fim, peça a opção gerar o arquivo CF. Após esta criação, saia do configurador linux e

edite o inetd.conf para habilitar as funções de correio:

[root@localhost]# cd /etc

[root@localhost]# mcedit inetd.conf

Descomente a linha: pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Salve o arquivo e saia, reinicie o inetd: [root@localhost]# cds

[root@localhost]# ./inet restart

E inicie o sendmail [root@localhost]# ./sendmail start

Configuração Filtros Anti-SPAM

Nas Configurações anti-spam, veja as opções:

Remetentes rejeitados

Coloque aqui o mail que deseja-se restrigir: Origem do mail : nome@dominio

Mensagem de erro: Seu e-mail foi rejeitado .

Repetir para 'por ip'

Aqui você informa uma lista de números IP (máquinas ou redes) para quem seu

servidor poderá repetir os emails.

Repetir para 'por nome'

Aqui você informa uma lista de nomes de máquina e domínios para quem seu servidor

poderá repetir os emails.

Repetir para máquinas

Aqui você informa uma lista de servidores de email os quais usam o seu servidor

como roteador.

Page 249: Servidores de Redes.pdf

15.2. Como configurar o meu domínio virtual de

email?

Criação de IP's Virtuais

A primeira coisa que deve ser feita, é a criação de IP's virtuais que respondam pelos

dominios virtuais de e-mail:

Para fazer isto, entre no linuxconf: [root@localhost]# linuxconf

Entre em:

Ambiente de Rede ->Apelidos de IP para máquinas virtuais ->Selecione o dispositivo

eth0->Apelidos ou faixas de IP 10.0.2.80-81->Aceitar->Sair->Sair->Sair->Ativar as

mudanças

No nosso exemplo, adicionamos os endereços IP virtuais: 10.0.2.80 e 10.0.2.81 sendo

que a nossa máquina tem o endereço 10.0.2.72

Reinicialize o servico network para ativar a interface com os novos apelidos de IPs

virtuais: [root@localhost]# cds

[root@localhost]# ./network stop

[root@localhost]# ./network start

Para confirmar agora a configuração, basta executarmos o comando:

[root@localhost]# ifconfig

A saida, no nosso exemplo seria: [root@localhost]# ifconfig

eth0 Encapsulamento do Link: Ethernet Endereço de HW

52:54:00:E6:68:09

inet end.: 10.0.2.72 Bcast:10.0.7.255 Masc:255.255.248.0

UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1

Pacotes RX:11600 erros:0 descartados:0 sobreposições:0

frame:0

Pacotes TX:7024 erros:5 descartados:0 sobreposições:0

portadora:5

colisões:633 txqueuelen:100

IRQ:12 Endereço de E/S:0x9000

eth0:0 Encapsulamento do Link: Ethernet Endereço de HW

52:54:00:E6:68:09

inet end.: 10.0.2.80 Bcast:10.0.2.80 Masc:255.255.255.255

UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1

IRQ:12 Endereço de E/S:0x9000

eth0:1 Encapsulamento do Link: Ethernet Endereço de HW

52:54:00:E6:68:09

inet end.: 10.0.2.81 Bcast:10.0.2.81 Masc:255.255.255.255

UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1

IRQ:12 Endereço de E/S:0x9000

lo Encapsulamento do Link: Loopback Local

Page 250: Servidores de Redes.pdf

inet end.: 127.0.0.1 Masc:255.0.0.0

UP LOOPBACKRUNNING MTU:3924 Métrica:1

Pacotes RX:92 erros:0 descartados:0 sobreposições:0 frame:0

Pacotes TX:92 erros:0 descartados:0 sobreposições:0

portadora:0

colisões:0 txqueuelen:0

[root@localhost]#

Onde pode-se ver, temos criados 2 IP's virtuais que irão responder pelos dominios

virtuais de e-mail.

Criação dos dominios virtuais no sendmail

Vamos agora criar os nossos dominios virtuais de e-mail. Para isto, basta entrar no

linuxconf: [root@localhost]# linuxconf

Entre em:

Ambiente de Rede->Sendmail - sistema de envio de emails->domínio virtual de

email->Adicionar->Domínio virtual (fqdn) dominio1.com.br->Aceitar+Adicionar-

>Domínio virtual (fqdn) dominio2.com.br->Aceitar ->Sair->Sair->Sim->Ok->Sair-

>Sair->Ativar as mudanças

Com este procedimento, criamos os dominios virtuais dominio1.com.br e

dominio2.com.br que devem ser associados com os numeros IP 10.0.2.80 e 10.0.2.81

Configuração do DNS para as contas virtuais

Deve-se configurar o DNS para aceitar estes dominios virtuais de e-mail.

Vamos criar estes dominios agora. Para isto, entre no linuxconf: [root@localhost]# linuxconf

Entre em:

Ambiente de Rede->DNS - servidor de nomes de domínios->Configurar domínios-

>Adicionar->Domínio: dominio1.com.br->IPs padrão: 10.0.2.80->Aceitar-

>Adicionar->Domínio: dominio2.com.br->IPs padrão: 10.0.2.81->Aceitar-

>Sair+mapas de IPs reversos->Número de rede: 10.0.2->Aceitar->Sair->Sair->Sair-

>Sair->Ativar as mudanças

Testando os dominios virtuais

Para fazer os testes, temos que ter rodando o sendmail e o dns. Para fazer isto, basta

executar: [root@localhost]# cds

[root@localhost]# ./sendmail restart

[root@localhost]# ./named restart

Também temos que configurar o nosso dns para apontar para a nossa máquina na

rede. Para isto, basta editarmos o arquivo /etc/resolv.conf [root@localhost]# mcedit /etc/resolv.conf

Adicione esta linha no inicio dos items nameserver nameserver 10.0.2.72

Assim, o seu DNS irá procurar primeiro nesta máquina.

Criar usuários virtuais

Para a criação de usuários nestes dominios virtuais, basta entrar no linuxconf:

Page 251: Servidores de Redes.pdf

[root@localhost]# linuxconf

Entre em:

Contas de usuários->Contas POP virtuais (somente email) dominio1.com.br-

>Adicionar->Nome da conta: teste1->Nome completo: Conta de teste->Aceitar-

>Senha: teste1->Confirmação: teste1->Aceitar->Ok->Sair->dominio2.com.br-

>Adicionar->Nome da conta: teste2->Nome completo: Conta de teste->Aceitar-

>Senha: teste2->Confirmação: teste2->Aceitar->Ok->Sair->Sair->Sair->Sair->Ativar

as mudanças

Neste exemplo, criamos os e-

mails <[email protected]> e <[email protected]>

Configurar o vpop3d.

O vpop3d faz o gerenciamento das contas de dominio virtual e deve ser chamado

antes do ipop3d.

Para fazer isto, basta editar o seu arquivo /etc/inetd.conf [root@localhost]# mcedit /etc/inetd.conf

E deixe a linha do pop-3 da seguinte maneira: pop-3 stream tcp nowait root /usr/sbin/tcpd

/usr/lib/linuxconf/lib/vpop3d /usr/sbin/ipop3d

Feito isto, basta reiniciar o serviço inet com os comandos: [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Enviando um e-mail para teste

Feitas estas configurações, podemos enviar um e-mail para testar as configurações.

Para isto utilizaremos o programa mail: [root@localhost]# mail -s "Teste" <[email protected]>

teste de dominio virtual

de email

.

Cc:

[root@localhost]#

Para verificar se o e-mail chegou na sua caixa postal, basta executarmos o comando: [root@localhost]# cat /var/spool/vmail/dominio1.com.br/teste1

From root@localhost Fri Jul 28 11:11:18 2000

Return-Path: <root>

Received: (from root@localhost)

by localhost (8.9.3/8.8.7) id LAA02580

for [email protected]; Fri, 28 Jul 2000 11:11:18 -0300

Date: Fri, 28 Jul 2000 11:11:18 -0300

From: root <root@localhost>

Message-Id: <200007281411.LAA02580@localhost>

To: [email protected]

Subject: Teste

teste de dominio virtual

de email

[root@localhost]#

Page 252: Servidores de Redes.pdf

15.3. Estou recebendo uma mensagem de erro de

relay denied. Como resolver? Este erro se deve à máquina utilizada para enviar e-mail não ter permissão de RELAY, ou

seja, transmitir a mensagem via seu servidor de e-mail.

Para resolver este problema, realize os seguintes passos para dar permissão a estas máquinas:

Entre no linuxconf: [root@localhost]# linuxconf

Entre em Ambiente de rede-> Sendmail - sistema de envio de emails->repetir para por IP -

> Adicionar

Coloque o IP da máquina ou da rede que deseja-se habilitar o RELAY.

Depois saia do linuxconf ativando as mudancas e reinicialize o servico sendmail: [root@localhost]# cds

[root@localhost]# ./sendmail stop

[root@localhost]# ./sendmail start

Assim a(s) máquina(s) utilizada(s) para enviar e-mail terão permissão de RELAY em seu

servidor de e-mail.

15.4. Como adicionar um usuário pop ao

sistema: GERENCIAMENTO DE USUÁRIOS

COMO ADICIONAR USUÁRIOS:

Utilizando o linuxconf:

Contas de usuários Contas POP (somente email) Adicionar

Nome da conta: preencher com o login Nome completo: preencher com o nome completo

Grupo (opc.): opcional Grupos suplementares: opcional Diretório HOME (opc.):opcional

Interpretador de comandos (opc.): opcional ID do usuário (opc.): opcional

Aceitar

Será necessário entrar com a senha do usuário adicionado.

Sair Sair Sair Ativar Mudanças

Grupo (opc.): Se nenhum grupo for definido, então será gerado um novo grupo

automaticamente

Grupos suplementares: Se o usuário também pertencer a um outro grupo, o nome do

mesmo deve estar referenciado neste campo

Diretório HOME (opc.): se nenhum for especificado então será criado no diretório

/home/nome_da_conta

Interpretador de comandos (opc.): se nenhum for selecionado então será adotado o

shell padrão (/bin/bash)

ID do usuário (opc.): se nenhum for especificado então o sistema criará um ID

automaticamente para o usuário

Page 253: Servidores de Redes.pdf

15.5. Como configurar o Sendmail pelo m4? ### Versão 6.0 e anteriores ###

Insira o CD número 1 do seu Conectiva Linux no drive.

Monte o seu cdrom: [root@localhost]# mount /mnt/cdrom

Acesse o diretório dos RPMS: [root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Instale os pacotes: [root@localhost]# rpm -ivh sendmail*

[root@localhost]# rpm -ivh imap*

[root@localhost]# rpm -ivh m4*

A configuração dele baseia-se no arquivo /etc/sendmail.cf onde estão quase todos os

itens necessários para o correto funcionamento do programa. Pode-se configurar o

/etc/sendmail.cf através das macros m4.

Vá até o diretório /etc e crie um arquivo sendmail.mc utilizando o seu editor de texto

favorito (no nosso exemplo, iremos utilizar o mcedit) [root@localhost]# mcedit /etc/sendmail.mc

Adicione no arquivo: divert(-1)

include(`/usr/lib/sendmail-cf/m4/cf.m4')

define(`confDEF_USER_ID',``mail:mail'')

OSTYPE(`linux')

undefine(`UUCP_RELAY')

undefine(`BITNET_RELAY')

define(`confAUTO_REBUILD')

define(`confTO_CONNECT', `1m')

define(`confTRY_NULL_MX_LIST',true)

define(`confDONT_PROBE_INTERFACES',true)

define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')

FEATURE(`smrsh',`/usr/sbin/smrsh')

FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')

FEATURE(redirect)

FEATURE(always_add_domain)

FEATURE(use_cw_file)

FEATURE(local_procmail)

MAILER(procmail)

MAILER(smtp)

FEATURE(`access_db')

FEATURE(`blacklist_recipients')

FEATURE(`accept_unresolvable_domains')

dnl FEATURE(`relay_based_on_MX')

Salve e saia, depois faça esta sequencia de comandos: [root@localhost]# m4 sendmail.mc > sendmail.cf

[root@localhost]# cds

[root@localhost]# ./sendmail restart

Page 254: Servidores de Redes.pdf

O arquivo do sendmail.cf já foi criado, agora basta somente você adicionar os

usuários de email, ou seja, abrir uma conta só de email, use linuxconf e crie uma

conta. Depois de criado esta nova conta de email você precisa configurar mais

algumas coisas para que o cliente possa usar o servidor de email para

mandar,[RELAY] as mensagens. Nestas configurações somente pessoas, domains ou

IPs autorizados poderão mandar email, evitando que terceiros não autorizados usem

seu servidor de email para SPAM.

Edite o arquivo /etc/sendmail.cw para que o sendmail funcione com a sua rede

interna: [root@localhost]# mcedit /etc/sendmail.cw

# sendmail.cw - include all aliases for your machine here.

suaempresa.com.br RELAY ---> Seu Domain Name aqui.

200.200.221 RELAY ---> O IP da sua rede interna aqui

localhost.localhost RELAY

Se o sendmail.cw não for configurado, você vai receber uma mensagem de RELAY

DENIED. Configurado o sendmail.cw o segundo passo seria criar o arquivo relay-

domains.

Coloque o domain name da sua empresa, e o IP da sua rede interna: [root@localhost]# mcedit /etc/relay-domains

192.168.0 RELAY

200.200.200 RELAY

domain.com.br RELAY

Significa que qualquer endereço IP que comece com 192.168.0.0 até 192.168.0.254

vai poder usar o servidor de email para RELAY evitando que outros que não estejam

neste alcance use o seu servidor para SPAM. Você também pode usar nomes de email

[ <[email protected]> ] que você quer bloquear: 192.168.0 RELAY

200.200.200 RELAY

domain.com.br RELAY

[email protected] DENY

Lembre-se que os espaços são TABs, depois de tudo configurado, de mais um restart

no sendmail: [root@localhost]# cds

[root@localhost]# ./sendmail restart

### Versão 7.0 e posteriores ###

O Script na versão 7.0 deve ser criado da seguinte maneira:

Deve-se alterar a ordem das opções MAILER(procmail) e MAILER(smtp) para

MAILER(smtp) e MAILER(procmail).

Após estas alterações, pode-se continuar o procedimento anterior. divert(-1)

include(`/usr/lib/sendmail-cf/m4/cf.m4')

define(`confDEF_USER_ID',``mail:mail'')

OSTYPE(`linux')

undefine(`UUCP_RELAY')

undefine(`BITNET_RELAY')

define(`confAUTO_REBUILD')

define(`confTO_CONNECT', `1m')

Page 255: Servidores de Redes.pdf

define(`confTRY_NULL_MX_LIST',true)

define(`confDONT_PROBE_INTERFACES',true)

define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')

FEATURE(`smrsh',`/usr/sbin/smrsh')

FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')

FEATURE(redirect)

FEATURE(always_add_domain)

FEATURE(use_cw_file)

FEATURE(local_procmail)

MAILER(smtp)

MAILER(procmail)

FEATURE(`access_db')

FEATURE(`blacklist_recipients')

FEATURE(`accept_unresolvable_domains')

dnl FEATURE(`relay_based_on_MX')

15.6. O que posso fazer quando o e-mail demora

muito em enviar ou receber mensagens ? O seu servidor Linux está tentando, antes de liberar a conexão para o cliente SMTP ou POP,

descobrir via DNS qual o nome da máquina cliente. Isto explica a demora.

Normalmente isto acontece quando o servidor possui um IP de servidor DNS configurado no

arquivo /etc/resolv.conf, mas este não possui conectividade com a Internet, ou então este

IP é de um servidor não que não roda DNS, ou de um IP não alcançável (ou fora do ar).

Sugestões:

1. para o servidor SMTP (Sendmail), existe uma configuração para que este não consulte

o DNS. No Linuxconf, entre em Networking Server Tasks: Mail delivery system

(sendmail) Configure basic information DNS Features:

desmarque wait for DNS e marque don't use DNS

2. para o servidor POP, está acontecendo algo parecido. Só que desta vez, quem está

tentando consultar o servidor DNS é o tcpd (TCP Wrappers), que vem instalado no

servidor por default de forma a dar maior segurança aos serviços. Uma maneira de

resolver isto é instalando de uma vez um servidor DNS na rede. Outra forma é

retirando o TCPD do /etc/inetd.conf ou configurando-o para não fazer hostname

lookups no servidor. A última solução (que automaticamente resolveria a do

sendmail), seria tirar a linha nameserver do /etc/resolv.conf

15.7. Meu sendmail fica demorando na

inicialização Execute o comando: [root@localhost]# echo '$=w' | sendmail -bt

Para ver quais endereços o sendmail está tentando resolver.

Verifique se esses endereços constam no arquivo /etc/hosts caso não constem, coloque uma

entrada para cada um deles.

Page 256: Servidores de Redes.pdf

15.8. O que significa o arquivo BOGUS criado

no sendmail? Normalmente é um arquivo .procmailrc ou que está dentro dele, que está com permissões

erradas, por isso é criado um BOGUS.usuário, no diretório de spool do programa sendmail

(usualmente/var/spool/mail).

15.9. Como baixar contas de mail da internet

para uma pequena rede utilizando acesso

discado e utilizar um servidor de mails internos? Como funciona o processo

Nesse documento consideramos que a rede interna, o DNS e o acesso por demanda do

servidor estão funcionando corretamente, não cabe nesse documento discutir estas

configurações, e que elas precisam estar funcionando.

Imaginemos uma rede com um servidor Linux, e estações (que podem ser com Linux,

windows, etc...) que fazem acesso a internet por meio do servidor Linux.

Cada usuário pode mandar e receber mails para a internet usando sua própria conta interna.

No papel de servidor de email da intranet temos o Sendmail configurado, que gerenciará

estas mensagens. Quanto a conexão com internet estiver ativa, ele descarregará a fila de

mails para internet.

Agora, queremos pegar os mails da internet e distribuir para cada usuário de nossa rede

interna, quem fará este trabalho será o fetchmail.

Até agora tudo tranqüilo, mas temos um e_mail na empresa chamado

[email protected] e que temos três vendedores que atendem esse mail. Após um

contato preliminar com o cliente, o mesmo começara a enviar os e-mails com o subject algo

como: a/c vendedor1

Como filtrar estes mails?

Uma saída simples, podemos conjugar o fetchmail com o Procmail que é um filtro, e desta

forma ele procurará os subjects que tratam para o vendedor1 para enviar para ele, separando

das demais.

No final, teremos uma conta que receberá todos os mail de [email protected] que não

foram filtrados, e desta forma alguém terá que recebê-los para verificar qual destino devem

seguir.

Certo, agora vamos configurar estes serviços para que realizem o que falamos acima:

Instalando os pacotes necessários

Programas necessários:

- Sendmail (Servidor de mails) - Fetchmail (para pegar e-mails da internet) - Procmail (Para

fazer filtros de mensagens)

Estes programas encontram-se na distribuição da Conectiva Linux, e desta forma basta

instalar os pacotes:

[root@localhost]# mount /mnt/cdrom

[root@localhost]# cd /mnt/cdrom/conectiva/RPMS

[root@localhost]# rpm -ivh sendmail* procmail* fetchmail*

Page 257: Servidores de Redes.pdf

Configurando o Sendmail

Primeiro, vamos configurar o Sendmail, o mesmo pode ser configurado de várias formas,

como m4, linuxconf, etc. Neste documento, iremos configurar utilizando o linuxconf:

Abra o linuxconf

[root@localhost]# linuxconf Entre na parte: ---->Ambiente de Rede

------> Sendmail - sistema de envio de e-mails

Nas opções de básico, entre na opção: --------> Informações básicas

E deixe configurado da seguinte forma: #--------------------------------------------------------------------------

#Apresentar seu sistema como : [seu servidor]

# [X]Aceitar email para [domínio]

#Servidor de email :[nome_do_servidor_local]

#Roteador de email :

#Protocolo roteador de email : smtp

#-------------------funcionalidades-----------------------------------------

# [ ] confirmar nomes completos

# de usuários

# [X] Ativar controle de envio

# (spammers)

#Tamanho máximo das mensagens:( )no limite ____________

# [*] Não tentar enviar

# imediatamente

#Processar consulta a cada(min):( ) manual 1

# ( ) Usar a shell especial smrsh

#Maximum recipients per msg (o) Defaults _____________

-----------------------------------------------------------------------------

Confirme, e entre agora no menu: Opção --->Regras de mascaramento

-------> Adicionar

#---------------------------------------------------------------------------

# [*] esta regra está ativa

#De: Original :[email_interno]

#De: Novo :[email_externo]

#Comentário :

#---------------------------------------------------------------------------

Desta forma, será garantido que seus email sairão com um endereço para reply válido, que

será sua conta no provedor.

Crie uma regra para cada usuário que envie mails para a internet.

Confirme e peça para gerar o arquivo de sendmail.cf

Saia do linuxconf, agora vamos configurar quais máquinas poderão enviar e_mail pelo seu

servidor, e evitar que outros utilizem seu servidor durante a conexão:

Edite o arquivo /etc/sendmail.cw para que o sendmail funcione com a sua rede interna:

[root@localhost]# mcedit /etc/sendmail.cw # sendmail.cw - include all aliases for your machine here.

suaempresa.com.br RELAY ---> Seu Domain Name aqui.

200.200.221 RELAY ---> O IP da sua rede interna aqui

localhost.localhost RELAY

- Se o sendmail.cw não for configurado, você vai receber uma mensagem de RELAY

DENIED. Configurado o sendmail.cw o segundo passo seria criar o arquivo relay-domains.

Page 258: Servidores de Redes.pdf

Coloque o domain name da sua empresa, e o IP da sua rede interna:

[root@localhost]# mcedit /etc/relay-domains 192.168.0 RELAY -->seu ip interno de rede

domain.com.br RELAY -- nome de seu servidor

OBS: Os espaços entre o ip e a palavra Relay são TABs, caso contrário, seu arquivo não

funcionará.

Salve, e edite o inetd.conf para habilitar as funções de correio:

[root@localhost]# cd /etc [root@localhost]# mcedit inetd.conf

Descomente a linha: pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

Salve o arquivo e saia, reinicie o inetd:

[root@localhost]# cds [root@localhost]# ./inet restart

E inicie o sendmail

[root@localhost]# ./sendmail start Pronto, nosso servidor de email já está operacional, agora crie os usuários internos que terão

conta de email, uma maneira simples é com o comando adduser, proceda da seguinte forma:

[root@localhost]# adduser [usuario] grave uma senha para o usuário:

[root@localhost]# passwd [usuario] Verifique se seu servidor está operacional, configurando o leitor de email da estação,

colocando as informações do usuário, e a parte de servidores pop3 e smtp da seguinte forma: servidor pop3 = [nome_do_servidor_interno]

servidor smtp = [nome_do_servidor_interno]

usuario: [nome_do_usuário_vc_criou]

Mande uma mensagem para seu próprio usuário local , e verifique que o sr. está recebendo.

Configurando o Fetchmail

Agora, vamos pegar os e-mails da internet, para isso utilizamos o fetchmail:

O primeiro passo é criar um arquivo .fetchmailrc no home do usuário que fará este serviço.

A estrutura do arquivo é algo parecido com o exemplo abaixo: #----início do arquivo .fetchmailrc --------------------------

set logfile "/var/log/fetchmaillog"

set postmaster ""

set daemon 123

set bouncemail

poll [provedor_internet] proto POP3

user [usuário] password "[senha]" is [usuário_local] here

#--- fim do arquivo -------------------------------------------

A opção set daemon é a que será utilizada para os intervalos de checagem dos emails, o

valor é em segundos.

A opção set logfile é para criar um arquivo de log que será muito útil.

A linha que inicia com o pool é para baixar os emails de seu provedor no lugar da expressão

[provedor_internet] coloque o endereço do servidor pop de seu provedor em [usuário] e

[senha] coloque a conta com a senha da conta a internete na expressão [usuário_local]

coloque quem é o usuário de seu servidor.

Crie quantas forem necessárias.

Page 259: Servidores de Redes.pdf

Agora, é necessário rodar o fetchmail para que ele baixe as mensagens de seu provedor e

envie para seu servidor local para que seus usuários possam pegar as mensagens.

Uma maneira simples é agendar no crontab do usuário que executa o fetchmail, e informa de

quanto em quanto tempo o fetchmail será rodado. (para isso tire a opção set daemon de sua

configuração.

Outra forma, é colocar o fetchmail direto para acesso, colocando-o como daemon, para isso

execute no prompt:

[root@localhost]# fetchmail A segunda parte chama o procmail, que é filtro, para o caso de duas pessoas internas

utilizarem o mesmo mail externo, como no caso de três vendedores utilizarem o mail externo

[email protected], assim é pedido para quem quiser enviar um mail para um dos

vendedores coloque no subject por exemplo:

Para o vendedor1.

Assim precisamos criar um arquivo procmailrc no home do usuário que chama o fetchmail.

Configurando o Procmail

O arquivo de configuração é algo parecido com: -----------Ínicio do arquivo .procmail -------------

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin

INBOX=/home/[usuário]/mail/INBOX

MAILDIR=/home/[usuário]/mail

DEFAULT=$MAILDIR/INBOX

LOGFILE=var/log/procmaillog

:0

* ^Subject:.*vendedor1*

! [email protected]

:0 * ^Subject:.*vendedor2*

! [email protected]

# Este exemplo copia que contenham no Subject a palavra

# vendedor1 ou 2 , e fará um bounce (repassará) para o

# mail interno de cada vendedor.

:0

* ^To:[email protected]

! [email protected]

# Esta última regra é no caso de alguma mensagem não ser

# pega pelos filtros acima seja mandada para uma conta denominada geral@.

# É necessário que alguém verifique esta conta, para dar destina a estas

# mensagens.

#no final do arquivo coloque estas linhas:

:0

$INBOX

Pronto, agora temos uma solução de servidor de email interno funcionando, bastará

configurar no seu script por discagem por demanda chamar o comando:

sendmail -q Para que a cada conexão, sua fila de emails a serem enviados seja despachada.

Page 260: Servidores de Redes.pdf

Agora basta que seus usuários baixem as contas recebidas que estão no spool do seu servidor

local. E para mandarem, bastará digitar a mensagem, e mandá-las para o servidor local, que

este ao receber o comando sendmail -q irá despachar os mesmo para a internet.

Tudo o que está sendo executado e transmitido pelo sendmail pode ser verificado no arquivo

de log maillog, que geralmente fica em : /var/log/mailog Do fetchmail o log é gravado em: /var/log/fetchmailog e do Procmail em: /var/log/procmaillog Verifique estes arquivos para ter certeza que tudo funciona de acordo, ou no caso de

problemas, para verificar o que está errado.

15.10. Como posso fazer para que meu Servidor

de email verifique se existe vírus nas mensagens? Com o servidor de email Sendmail, pode-se utilizar o programa Amavis. Existe um tutorial

de instalação e configuração do mesmo em:

http://www.linuxsecurity.com.br/article.php3?sid=96

Capítulo 16. SQUID

16.1. Como configurar um servidor proxy

utilizando o squid? Este documento explica como configurar o Squid para funcionar tanto como servidor Proxy

como cache de arquivos baixados da Internet.

O pacote Squid é um servidor de proxy e cache de alta performance para clientes web,

suportando objetos HTTP, FTP e gopher, porém aqui nos limitaremos aos objetos HTTP e

FTP. Serão também dados exemplos de listas de controle de acesso, (as famosas access

lists).

O benefício é o fato de um servidor Proxy poder compartihar uma conexão Internet entre

vários ou mesmo todos os usuários na rede.

Muitos servidores Proxy oferecem a possibilidade de se fazer cache de Web, para alocar

sites Web previamente visitados e providenciar acesso local aos usuários que revisitam estes

sites.

Possui apenas um arquivo de configuração, o qual é auto-explicativo. A princípio, pode

parecer complicado, pois existem várias opções disponíveis para configurar, mas apenas

algumas precisam necessariamente ser especificadas. Estas serão abordadas mais à frente.

Recomenda-se que a máquina onde será instalado o servidor possua uma boa quantidade de

memória (128MB se possível) e um winchester SCSI, para um acesso mais rápido dos

clientes aos arquivos cacheados.

Pacote necessário: squid-versão.rpm Para instalar o pacote;

Primeiramente monte o cd.

Page 261: Servidores de Redes.pdf

[root@localhost]# mount /mnt/cdrom

Entre no diretório das RPMs. [root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Execute o comando de instalação: [root@localhost]# rpm -ivh squid-versão.rpm

Configurando o Servidor

O arquivo /etc/squid/squid.conf, este arquivo contém todas as configurações do servidor

Squid. Aqui descreverei as configurações necessárias. Este arquivo possui várias opções

para se configurar o servidor. A maioria destas opções estão comentadas, e apenas algumas

são realmente necessárias. Caso alguma opção precise ser modificada, descomente a linha

referente (retire o caracter "#" à frente da opção).

Editando o arquivo: [root@localhost]# mcedit /etc/squid/squid.conf

http_port - A porta na qual o Squid irá atender as requisições feitas a ele. O default é

3128, caso precise alterar este valor, descomente a linha e troque-o por alguma porta

que não esteja sendo utilizada. Ex:http_port 3000

cache_mem - O squid utiliza bastante memória por razões de performance. Ele leva

muito tempo para ler algo do disco rígido, por isso o faz diretamente da memória.

É recomendado colocar no máximo 1/4 da quantidade de RAM de sua máquina neste

campo, se não for um serviço dedicado desta máquina. Se a máquina roda apenas o

squid, pode-se colocar metade da memória para seu uso. Por exemplo, em uma

máquina com 64MB de memória: cache_mem 32 MB

cache_swap_low , cache_swap_high - estes valores definem os valores mínimo e

máximo para reposição de objetos armazendados. Estes valores são expressos em

porcentagem. Quando mais próximo ao valor máximo, mais objetos são descartados

do cache para entrada de novos.

O default sendo 90% para cache_swap_low e 95% para cache_swap_high.

cache_swap_low 90

cache_swap_high 95

maximum_object_size - medido em bytes, especifica o tamanho máximo dos arquivos

a serem cacheados. Quaisquer objetos maiores do que este tamanho _não_ são salvos

no disco. O default é 4MB. maximum_object_size 4096 KB

cache_dir - diretórios de cache no servidor. Pode-se especificar múltiplas linhas

cache_dir para dividir a cache entre diferentespartições do winchester.

a sintaxe desta linha é: cache_dir Tipo Path MB N1 N2

Onde:

Tipo: especifica o tipo de sistema de alocação que será usado. Geralmente é do tipo

"ufs".

Page 262: Servidores de Redes.pdf

Path: especifica o diretório onde os arquivos serão armazenados. O Squid não cria

este diretório, ele deve existir. Note que, caso nenhuma entrada cache_dir for

especificada, o sistema utilizará o diretório /var/spool/squid;

Obs.: Nas versões Conectiva Linux 7.0, o diretório de cache do squid

é: /var/cache/squid;

MB: é a quantidade máxima de espaço a ser utilizado neste diretório.

N1: especifica o número máximo de subdiretórios que poderão ser criados abaixo do

diretório de cache;

N2: especifica o número máximo de subdiretórios que poderão ser criados abaixo dos

subdiretórios criados em N1.

Ex: cache_dir ufs /var/spool/squid 300 16 256

Com isto, dizemos para o squid utilizar o diretório /var/spool/squid, até 300MB,

criando 16 sub-diretórios e 256 sub-diretórios abaixo destes últimos.

cache_access_log - arquivo no qual será gerado log dos acessos ao servidor. O default

é /var/log/squid/access.log cache_access_log /var/log/squid/access.log

cache_log - arquivo onde são guardadas informações gerais sobre o comportamento

da cache. O default é /var/log/squid/cache.log cache_log /var/log/squid/cache.log

Autenticando usuários

autenthicate_program - é comum os administradores restringirem o acesso ao Proxy

aos seus clientes. Para isto, pode-se pedir usuário e senha ao usuário para poder

navegar utilizando o Proxy. Este serviço é feito

pelo autenthicate_program(programa autenticador). O pacote do squid inclui um

programa autenticador chamado ncsa_auth , o qual utiliza arquivos de senhas no

formato htpasswd do Apache. Pode-se utilizar algum outro programa, se quiser.

O executável do ncsa_auth está no diretório /usr/doc/squid-versão .

É preferível copiá-lo para um diretório de arquivos binários (/usr/bin por exemplo).

Uma linha típica de configuração seria: autenthicate_program /usr/bin/ncsa_auth

/etc/squid/squid_passwd

O arquivo /etc/squid/squid_passwd deve ser criado com o comando htpasswd: [root@localhost]# htpasswd -c /etc/squid/squid_passwd usuario1

Para atualizar o arquivo de senhas utilize apenas: [root@localhost]# htpasswd /etc/squid_passwd usuario2

Por default, o programa autenticador não é utilizado. Se você utilizar o ncsa_auth (ou

algum outro autenticador), deve existir uma access list do tipo proxy_auth para

permitir ou não o acesso. Access lists são detalhadas abaixo.

Opções de Segurança

A grande maioria dos administradores de sistemas provavelmente irão desejar definir uma

política de segurança no Squid, isto é, definir quem irá acessar e o que poderá ser acessado.

Page 263: Servidores de Redes.pdf

O primeiro passo para a definição de controle de acesso ao proxy do Squid é a criação de

listas de acesso (acl).

As listas de acesso meramente dão nomes a objetos. Estes objetos podem ser domínios de

origem, domínios de destino, endereços de IP, etc.

A forma geral de uma linha de lista de acesso é: acl NOME TIPO OBJ1 OBJ2...

Onde:

NOME: é um nome que será utilizado para identificar esta lista de acesso;

TIPO: indica o que é o objeto a que nos referimos nesta linha. Pode ser: situações que

partiram da rede.

OBJ1 e OBJ2: podem ser domínios de origem, domínios de destino, endereços IP,

etc., exemplo: acl localhost src 127.0.0.1/255.255.255.255

Especifica uma lista de acesso chamada _localhost_ definida como requisições vindas

da máquina local (127.0.0.1)

dst: especifica um IP/máscara de destino, ou seja, entram nesta categoria as requisiçõe

àquele par IP/máscara;

srcdomain: especifica um domínio de origem, ou seja, entram nesta categoria as

requisições que partiram do domínio especificado;

dstdomain: especifica um domínio de destino, ou seja, entram nesta categoria as

requisições de objetos localizados naquele domínio;

time: especifica uma expressão descrevendo "tempo".

É formado por uma expressão de data, que é uma lista de abreviações dos dias da

semana ( S - Domingo, M - Segunda-feira, T - Terça-feira, W - Quarta-feira H -

Quinta-feira, F - Sexta-feira e A - Sábado), seguida por um intervalo de datas no

formato hh1:mm1-hh2:mm2.

ident: especifica um ou mais nomes de usuário.

O Squid define access lists padrões, as quais estão abaixo: acl all src 0.0.0.0/0.0.0.0

Esta acl define todos os hosts da rede (0.0.0.0/0.0.0.0) com o nome "all". acl manager proto cache_object

O campo "proto" nesta linha significa que a acl bloqueia um protocolo específico, neste caso

o protocolo "cache_object". Poderia ser os protocolos FTP ou HTTP. Se você não conhece o

protocolo "cache_object", não se preocupe é um protocolo apenas do Squid que retorna

informação para o servidor de como a cache está configurada, ou como ela está rodando. acl localhost src 127.0.0.1/255.255.255.255

Esta acl define a máquina localhost, e recebe o mesmo nome. acl SSL_ports port 443 563

acl Safe_ports port 80 21 443 563 70 210 1025-65535

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

Page 264: Servidores de Redes.pdf

Estas acls contém as portas consideradas seguras para o proxy. Todas as outras portas são

consideradas inseguras, e o acesso é negado. acl CONNECT method CONNECT

Acl contendo o método de acesso aos arquivos na rede (GET,POST). O método CONNECT

vale tanto por GET (receber) como por POST (enviar).

Exemplo prático de acl para rejeitar conexão com determinados domínios. acl bad_sites dstdom_regex "/etc/squid/bad_sites"

Defini o arquivo bad_sites com domínios que serão rejeitados.

Vamos definir aqui também a access list referente ao controle de acesso dos usuários ao

proxy: acl password proxy_auth REQUIRED

Password é o nome da access list, a access list é do tipo proxy_auth (autenticação de

usuários). O campo REQUIRED informa ao squid para procurar o nome/senha do usuário

com todos os nomes/senhas existentes no arquivo /etc/squid/squid_passwd, descrito

anteriormente. Pode-se também colocar um a um os nomes de usuários a ser procurados no

arquivo squid_passwd, em vez do campo REQUIRED.

Agora que já temos as access lists, precisamos aplicá-las informando ao squid se o acesso a

elas será ou não permitido. O campo http_access é responsável por esta tarefa.

Configurações padrão do campo http_access são:

1. http_access allow manager localhost

Dá acesso ao protocolo cache_object apenas para o próprio servidor (localhost).

2. http_access deny manager

Nega o acesso ao protocolo cache_object para qualquer outra máquina.

3. http_access deny !Safe_ports

Nega o acesso a qualquer outra porta além das definidas na acl Safe_ports.

4. http_access deny CONNECT !SSL_ports

É perigoso permitir ao Squid conectar-se a certas portas. Por exemplo, pode-se usar o Squid

como relay de SMTP (email). Relays de SMTP são uma das formas possíveis de se "floodar"

(lotar) nossos mailboxes. Para prevenir o relay de emails, o Squid nega requisições quando o

número da porta da URL é 25 (porta SMTP). Outras portas também são bloqueadas. A regra

3 informa ao Squid para negar o acesso a qualquer porta que não esteja na lista Safe_ports. A

regra 4 nega qualquer conexão que não seja referente às portas seguras.

O padrão do Squid é negar acesso a tudo a todos. Para permitir a utilização do proxy do

Squid, você deve configurá-lo para permitir o acesso.

Normalmente, apenas insere-se uma regra a mais:

http_access allow all

Porém, isto não restringe nem um pouco o acesso ao seu proxy. Pelo contrário, permite o

acesso ao proxy a partir de qualquer máquina na Internet.

Para restringir o acesso apenas a usuários do seu sistema, você pode inserir a seguinte

instrução: http_access allow password

Page 265: Servidores de Redes.pdf

Isso vai exigir que os usuários forneçam uma senha para que possam utilizar o proxy.

Nota: A ordem dessas regras é importante, você deve colocá-las na mesma ordem em que

foram apresentadas nesta seção.

Seguindo o exemplo da acl bad_sites agora vamos proibir o acesso. http_access deny bad_sites # proíbe o acesso a url que contenham as palavras

# existentes no arquivo bad_sites

Seção ADMINISTRATIVE PARAMETERS

Esta seção é bem pequena, porém importante.

cache_mgr : Endereço de e-mail do gerenciador local da cache, que irá receber emails

se ocorrerem problemas com o proxy. O default é "webmaster". cache_mgr webmaster

cache_effective_user e cache_effective_group : Se o root inicializa o servidor proxy,

ele irá mudar seu efetivo UID/GID para o especificado abaixo, por questões de

segurança. Geralmente se muda o UID/GID abaixo para nobody. cache_effective_user nobody

cache_effective_group nobody

visible_hostname : É possível apresentar um hostname "especial" em mensagens de

erro e outras mensagens, especificando aqui o "hostname". Se não for especificado, é

usado o valor de retorno de gethostbyname(), (normalmente o próprio hostname do

servidor Proxy). visible_hostname proxy.Suporte.Conectiva

Seção HTTPD-ACCELERATOR OPTIONS

Se desejar rodar o Squid como acelerador web ou proxy transparente,deve-se alterar os

valores das opções desta seção, para os seguintes: httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

Nota: além de descomentar essas linhas, deve-se incluir no arquivo /etc/rc.d/rc.local, ou

em algum outro arquivo de sua preferencia as seguintes linhas:

Para o ipchains: echo 1 > /proc/sys/net/ipv4/ip_forward

ipchains -A input -p tcp -s 192.168.1.0/24 -d 0/0 80 -j REDIRECT

3128

Para o Iptables: echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to 3128

Page 266: Servidores de Redes.pdf

Resumindo: Todo o trafego da rede 192.168.1.0 na porta 80 vai ser redirecionado para porta

3128 do squid, lógico que a máquina onde for utilizada essa configuração, deverá ser o

gateway da rede.

Seção MISCELLANEOUS

Como o próprio nome diz, esta seção oferece opções extras, como configurar as mensagens

de erro de acesso que aparecem para os clientes, testes de DNS, configuração do diretório de

ícones e de arquivos de mensagens de erro do squid, entre outras.

Nenhuma opção precisa ser modificada. A opção cachemgr_passwd é interessante. Existe

um programa CGI chamado cachemgr, que o pacote rpm do squid instala no

diretório /usr/bin. Pode-se utilizar este programa para gerenciar vários recursos do proxy

via Web, inclusive desligar/reiniciar o servidor. Isto não será tratado aqui, pois inclui

alterações na configuração do servidor Web. No FAQ do Squid, existe uma seção inteira

referente ao gerenciador de cache.

Seção DELAY POOL PARAMETERS

Esta seção trata sobre Multicast e Cache Digest. Embora não utilizemos estes recursos, é

interessante saber do que se tratam.

Multicast é a capacidade de enviar um pacote IP para múltiplos destinatários ao mesmo

tempo. É utilizado por exemplo em sistemas de vídeoconferência.

Cache Digest é um sumário dos componentes de um servidor de cache. Contém, em um

formato comprimido, uma indicação se determinada URL está ou não na cache. Deve ser

utilizado em conjunto com caches irmãs/pais (hierarquia de caches). Servidores proxy

periodicamente trocam seus "digests" entre si. O funcionamento é simples: quando uma

requisição para uma URL é recebida de um cliente, o servidor cache, caso não possua o

arquivo requisitado, pode enviar "digests" para as outras caches definidas em sua hierarquia,

afim de descobrir se alguma delas contém o objeto. O servidor cache pode então requisitar o

objeto da cache mais próxima.

Configurando a Estação

Como mencionado anteriormente, apenas o navegador tem de ser configurado para

utilização do servidor proxy. Infelizmente, cada um tem seu próprio procedimento de

configuração. Vamos cobrir o netscape, para informações sobre como configurar outros

navegadores, consulte a documentação do mesmo.

Você deve clicar em Editar-> Preferências-> Avançado-> Servidores Proxy, e preencher os

dados referente ao seu servidor proxy.

Você só precisa preencher os dados sobre o seu servidor proxy, que irá servir para os

protocolos FTP e HTTP, inserimos o par IP/Porta onde está configurado o proxy.

Pode-se configurar endereços que não serão acessados via proxy, como por exemplo

servidores locais à rede do cliente. Para isto, deve-se inserir os domínios ou intervalos de

endereços IP/netmask, no campo "Não utilizar proxy para:"

Testes Pós-Instalação

Após configurado o arquivo squid.conf, podemos inicializar o servidor, rodando o script do

squid a partir do diretório /etc/rc.d/init.d [root@localhost]# cds

Page 267: Servidores de Redes.pdf

[root@localhost]# ./squid start

Para inicializar o squid sempre durante o boot da máquina, execute o comando: [root@localhost]# ntsysv

selecione o squid.

Quando o servidor é inicializado, os seguintes processos entram em execução:

/usr/bin/squid -> servidor iniciado pelo root

(squid) -> servidor com o UID/GID efetivo

(unlinkd) -> daemon que deleta arquivos da cache

(ncsa_auth) -> se for usado o programa autenticador

O servidor proxy deve guardar os arquivos de cache da página acessada abaixo do

diretório /var/spool/squid (ou outro diretório que foi especificado na opção cache_dir

do squid.conf). Repita o procedimento em outra máquina da rede, configurada com o proxy.

A página acessada irá baixar bem mais rapidamente, pois já está cacheada no servidor proxy.

16.2. Como faço para configurar acesso restrito

ou liberado a internet para toda a rede ? O servidor Squid pode ser configurado de modo a seguir regras de acesso, autenticações ou

acesso liberado. O procedimento descrito assume que a sua máquina linux já esta

configurada na rede local onde será o servidor para as demais e conectada a internet. Este

procedimento não prevê envio e recebimento de mensagens através do serviço de proxy.

As configurações sitadas neste documento foram realizadas diretamente no arquivo

squid.conf (/etc/squid/squid.conf)

Verifique se os pacotes do squid encontram-se instalado em seu sistema através do

comando: [root@localhost root]# rpm -qa |grep squid

Serão apresentados os seguintes pacotes para a versão CL7.0: squid-(versão do pacote)

linuxconf-squid-(versão do pacote)

squid-doc-(versão do pacote)

squid-auth-(versão do pacote)

squid-templates-(versão do pacote)

Para a versão Cl60 e anteriores será apresentado apenas os pacotes: squid-(versão do pacote)

linuxconf-squid-(versão do pacote)

Caso os pacotes não apareçam utilize o aplicativo apt-get ou o rpm para instalar os pacotes.

Antes de iniciar o processo de configuração aconselha-se a fazer uma cópia do arquivo

original onde serão feitas as alterações, pois se for necessário refazer a configuração desde o

início por algum motivo de erro não será preciso reinstalar os pacotes.

Page 268: Servidores de Redes.pdf

Para fazer a cópia do arquivo original utilize o comando: [root@localhost root]#cp /etc/squid/squid.conf /tmp

OBS: Para todos os exemplos foi utilizada a rede 192.168.0.0 . A regra acl rede_interna

src restringe o acesso a somente a rede interna impedindo assim que outros que estejam fora

da rede utilizem o seu serviço de proxy.

Segue abaixo alguns exemplos de permissão de acesso no squid

16.2.1. Acesso livre para todas as máquinas da rede: Esta é a forma mais simples de configuração do servidor squid, para que todas as máquinas

da rede tenham acesso a internet, será criada uma regra (acl) para dar acesso a somente

máquinas que pertençam a rede .

Edite o arquivo de configuração: [root@localhost root]#mcedit /etc/squid/squid.conf

No arquivo de configuração do squid procure a seguinte entrada:

Na sequência do arquivo insira a acl "acl rede_interna src 192.168.0.0 #Recommended minimum configuration:

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

acl rede_interna src 192.168.0.0 <- insira esta linha.

O último passo a ser especificado para este tipo de configuração é a liberação de acesso para

a rede interna.

Ainda no arquivo procure pela entrada abaixo: # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

#

# And finally deny all other access to this proxy

#http_access deny all <- comente esta entrada

http_access allow rede_interna <- insira esta linha

Pressione F2 para salvar e F10 para sair.

Utilize os comandos abaixo para iniciar o serviço do squid. [root@localhost root]# service squid stop ; service squid start

Nas máquinas clientes configure o programa de navegação para procurar pelo servidor

proxy, informando o ip da máquina servidor e a porta de comuicação.

OBS: A porta de comunicação não foi alterada sendo assim o serviço responderá na porta

3128.

Page 269: Servidores de Redes.pdf

16.2.2. Acesso através da autenticação do usuário: Esta forma de acesso permite que somente usuários cadastrados no servidor proxy poderão

utilizá-lo para navegação. Quando for feito um pedido no navegador ele mostrará uma tela

pedindo login e senha para acesso:

OBS: O usuário e o login não precisam ser necessariamente os mesmos do usuário real.

Para autenticar os usuários será necessário um programa que verifique se as informações

estão corretas ou não, neste exemplo utilizaremos o ncsa_auth que esta no

diretório /usr/lib/squid.

Copie o arquivo para dentro do diretório /usr/bin/ com o comando: [root@localhost root]#cp /usr/lib/squid/ncsa_auth /usr/bin/

Após a cópia do arquivo crie o arquivo onde ficarão a senhas dos usuários .

O arquivo /etc/squid/squid_passwd deve ser criado com o comando htpasswd:

Ex: [root@localhost]# htpasswd -c /etc/squid/squid_passwd joao

Será pedida a senha e em seguida sua confirmação. Para inserir os outros usuários que terão

acesso, será necessário retirar a opção -c e alterar o nome do usuário.

Ex: [root@localhost]# htpasswd /etc/squid/squid_passwd pedro

Feita a criação do arquivo onde ficarão as senhas e copiado o programa que autenticará,

edite o arquivo squid.conf com o comando:

[root@localhost root]#mcedit /etc/squid/squid.conf

Procure pela entrada: # TAG: authenticate_program

# Specify the command for the external authenticator. Such a

# program reads a line containing "username password" and replies

# "OK" or "ERR" in an endless loop. If you use an authenticator,

# make sure you have 1 acl of type proxy_auth. By default, the

# authenticator_program is not used.

#

# If you want to use the traditional proxy authentication,

# jump over to the ../auth_modules/NCSA directory and

# type:

# % make

# % make install

#

# Then, set this line to something like

#

# authenticate_program /usr/bin/ncsa_auth /usr/etc/passwd

authenticate_program /usr/bin/ncsa_auth /etc/squid/squid_passwd <-insira esta

linha

A linha acima refere-se ao programa que irá autenticar assim como o arquivo que guardará

as senhas dos usuários.

Na sequência do arquivo insira a acl "acl password proxy_auth REQUIRED" no final

como mostra o exemplo abaixo: #Recommended minimum configuration:

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

Page 270: Servidores de Redes.pdf

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

acl password proxy_auth REQUIRED <- insira esta linha.

O último passo a ser especificado para este tipo de configuração é a liberação do acesso

através de senha.

Ainda no arquivo procure pela entrada abaixo: # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

#

# And finally deny all other access to this proxy

#http_access deny all <- comente esta linha.

http_access allow password <- insira esta linha.

Pressione F2 para salvar e F10 para sair do arquivo.

As configurações necessárias para que o servidor squid requisite senhas já esta pronto.

Utilize os comandos abaixo para iniciar o serviço do squid. [root@localhost root]# service squid stop ; service squid start

OBS: Quando o navegador for carregado e algum endereço for pedido, será apresentada um

tela pedindo o login e a senha, somente os usuários cadastrados no servidor proxy terão

acesso.

16.2.3. Restrições para rede, endereços, palavras e horários. Este tipo de restrição é utilizada por administradores de rede para que os usuários que

precisem utilizar a internet como meio e comunicação ou pesquisa façam o uso dela apenas

profissionalmente e não para assuntos que não estejam ligados as suas funções dentro do seu

trabalho.

16.2.4. Restrição para rede Este exemplo refere-se a restrição de apenas algumas máquinas da rede, vamos utilizar a

rede 192.168.0.0 e restringir os IP's 192.168.0.1 e 192.168.0.2.

Edite o arquivo squid.conf com o comando: [root@localhost root]#mcedit /etc/squid/squid.conf

Na sequência do arquivo insira as acls:

acl rede_interna src 192.168.0.0 "acl proibir_ip src 192.168.0.1 192.168.0.2" ao final das acls já criadas. #Recommended minimum configuration:

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

Page 271: Servidores de Redes.pdf

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

acl rede_interna src 192.168.0.0 <- insira esta linha.

acl proibir_ip src 192.168.0.1 192.168.0.2 <- insira esta linha.

O último passo a ser especificado para este tipo de configuração é a restrição de acesso para

os dois ips.

Ainda no arquivo procure pela entrada abaixo: # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

#

# And finally deny all other access to this proxy

#http_access deny all <- comente esta linha.

http_access allow rede_interna <- insira esta linha.

http_access deny proibir_ip <- insira esta linha.

Pressione F2 para salvar e F10 para sair do arquivo.

OBS: Os valores utilizados para a rede e os ips das máquinas devem ser adaptados para a

rede em que se esta implantando o serviço.

As configurações necessárias para que o servidor squid faça a restrição dos IPs já esta

pronta.

Utilize os comandos abaixo para iniciar o serviço do squid. [root@localhost root]# service squid stop ; service squid start

16.2.5. Restrição para endereços www e ftp Este exemplo refere-se a restrição de endereços específicos iniciados por www ou ftp.

Neste tipo de configuração pode ser criado um arquivo para que todos os endereço a serem

restringidos possam ser arquivados.

Crie o arquivo através do comando: [root@localhost root]#touch /etc/squid/sites

Dentro deste arquivo insira os endereços que não deverão ser acessados:

Ex: [root@localhost root]#mcedit /etc/squid/sites

www.conectiva.com.br

www.uol.com.br

www.playboy.com.br

Pressione F2 para salvar e F10 para sair

Edite o arquivo squid.conf com o comando: [root@localhost root]#mcedit /etc/squid/squid.conf

Na sequência do arquivo insira as acls

acl rede_interna src 192.168.0.0

Page 272: Servidores de Redes.pdf

acl proibir_sites dstdomain "/etc/sites" ao final das acls já criadas. #Recommended minimum configuration:

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

acl rede_interna src 192.168.0.0 <- insira esta linha.

acl proibir_sites dstdomain "/etc/squid/sites" <- insira esta linha.

O último passo a ser especificado para este tipo de configuração é a restrição de acesso para

os endereços cadastrados.

Ainda no arquivo procure pela entrada abaixo: # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

#

# And finally deny all other access to this proxy

#http_access deny all <- comente esta linha.

http_access deny proibir_sites <- insira esta linha.

http_access allow rede_interna <- insira esta linha.

Pressione F2 para salvar e F10 para sair do arquivo.

As configurações necessárias para que o servidor squid faça a restrição dos endereços

cadastrados no arquivo sites já esta pronto.

Utilize os comandos abaixo para iniciar o serviço do squid. [root@localhost root]# service squid stop ; service squid start

16.2.6. Restrição a palavras específicas Este exemplo refere-se a restrição de acesso através da consulta de palavras que não devam

ser pesquisadas.

Neste tipo de configuração pode ser criado um arquivo para que todas as palavras a serem

restringidas possam ser arquivados.

Crie o arquivo através do comando: [root@localhost root]#touch /etc/squid/palavras

Dentro deste arquivo insira os endereços que não deverão ser acessados:

Ex: [root@localhost root]#mcedit /etc/squid/palavras

mp3

povo

cone

Page 273: Servidores de Redes.pdf

Pressione F2 para salvar e F10 para sair

OBS: Este exemplo difere do anterior por rejeitar qualquer palavra cadastrada no arquivo.

Quando um endereço for digitado no navegador ele procurará a ocorrência da palavra em

todo o endereço digitado:

Ex:

Se o endereço http://www.conectiva.com.br fosse solicitado o mesmo não apareceria, pois a

palavra cone esta cadastrada dentro do arquivo palavras.

Edite o arquivo squid.conf com o comando: [root@localhost root]#mcedit /etc/squid/squid.conf

Na sequência do arquivo insira as acls

acl rede_interna src 192.168.0.0 acl proibir_palavras dstdomain "/etc/palavras" ao final das acls já criadas. #Recommended minimum configuration:

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

acl rede_interna src 192.168.0.0 <- insira esta linha.

acl proibir_palavras url_regex -i "/etc/squid/palavras" <- insira esta linha.

O último passo a ser especificado para este tipo de configuração é a restrição de acesso para

os endereços cadastrados.

Ainda no arquivo procure pela entrada abaixo: # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

#

# And finally deny all other access to this proxy

#http_access deny all <- comente esta linha.

http_access deny proibir_palavras <- insira esta linha.

http_access allow rede_interna <- insira esta linha.

Pressione F2 para salvar e F10 para sair do arquivo.

As configurações necessárias para que o servidor squid faça a restrição dos endereços

cadastrados no arquivo sites já esta pronto.

Utilize os comandos abaixo para iniciar o serviço do squid. [root@localhost root]# service squid stop ; service squid start

16.2.7. Restrição a horários. Este exemplo refere-se a restrição de acesso através de horários programados.

Este tipo de configuração deve ser utilizada em casos onde o acesso a internet feito pelos

usuários somente em horário de trabalho.

Page 274: Servidores de Redes.pdf

Edite o arquivo squid.conf com o comando: [root@localhost root]#mcedit /etc/squid/squid.conf

Na sequência do arquivo insira as acls: acl rede src 192.168.0.0

e

acl horario time MTWHF 09:00-18:00 ao final das acls já criadas. #Recommended minimum configuration:

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

acl rede_interna src 192.168.0.0 <- insira esta linha.

acl horario time MTWHF 09:00-18:00 <- insira esta linha.

OBS: Este exemplo preve que todas as máquinas irão acessar o servidor squid de segunda a

sexta somente das 09 às 18 horas.

Caso seja necessário liberar acesso para somente algumas máquinas além do horário

especificado crie novas regras se baseando neste exemplo, alterando a rede para os ips

específicos das máquinas e os horários de acesso. OBS: O nome das regras deverá ser

diferente.

O último passo a ser especificado para este tipo de configuração é a restrição de acesso para

o horário.

Ainda no arquivo procure pela entrada abaixo: # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

#

# And finally deny all other access to this proxy

#http_access deny all <- comente esta linha.

http_access allow rede_interna horario <- insira esta linha.

http_access deny rede_interna <- insira esta linha.

Pressione F2 para salvar e F10 para sair do arquivo.

As configurações necessárias para que o servidor squid faça a restrição de acesso por horário

já esta pronto.

Utilize os comandos abaixo para iniciar o serviço do squid. [root@localhost root]# service squid stop ; service squid start

16.3. Estou utilizando o proxy (squid) mas os

clientes da minha rede não estão conseguindo

receber nem enviar emails, o que fazer ?

Page 275: Servidores de Redes.pdf

Suponha o seguinte exemplo:

_ __ _

| \/ \/ |

/ Internet \

\_/\_/\_/\_/

|

|

| 200.10.15.1

| /

| /

__________

| |

| Firewall | <-- Gateway

| System |

|__________|

|\

| \

| 192.168.0.1

| 255.255.255.0

|

_____________________________________________

| | |

| | |

| | |

| | |

_____________ _____________ _____________

| | | | | |

| Workstation | | Workstation | | Workstation |

|_____________| |_____________| |_____________|

192.168.0.2 192.168.0.3 192.168.0.4

255.255.255.0 255.255.255.0 255.255.255.0

As workstation's estão conseguindo acessar a internet normalmente através do squid (proxy),

porém não conseguem receber e enviar email.

Isso acontece pois o squid trabalha somente com os protocolos http e ftp e não conseguem

retransmitir outros protocolos como os de email (POP3 e SMTP).

Para resolver esse problema habilita-se na máquina firewall (onde está instalado o squid)

algumas regras de repasse de pacotes somente para as porgtas do POP (25) e do SMTP

(110).

Para isso, basta executar essas regras: [root@localhost]# ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 25 -j

MASQ

[root@localhost]# ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 110 -j

MASQ

Page 276: Servidores de Redes.pdf

Elas basicamente dizem para repassar todos os pacotes vindos de qualquer porta de qualquer

máquina da rede 192.168.1.0 e com a máscara 24 (255.255.255.0), com destino para as

portas 25 ou 110 de qualquer máquina (0/0).

Para listar as novas regras adicionadas basta executar: [root@local]# ipchains -L

Chain input (policy ACCEPT):

Chain forward (policy ACCEPT):

target prot opt source destination ports

MASQ tcp ------ 192.168.1.0/24 anywhere any -> smtp

MASQ tcp ------ 192.168.1.0/24 anywhere any -> pop-3

Chain output (policy ACCEPT):

Agora para que essas regras sejam sempre lidas na inicialização do sistema basta adicionar

no final do arquivo /etc/rc.d/rc.local os dois comandos referentes as regras de repasse de

pacotes.

Existe uma outra forma elegante de se fazer isso, veja as instruções abaixo:

1. Vá para o diretório /etc/rc.d/init.d.

2. Use o editor de textos de sua preferência e crie um arquivo chamado ipchains com o

seguinte conteúdo:

#! /bin/sh

# description: Inicializacao do ipchains

#

# chkconfig: 2345 80 30

# processname: ipchains

# pidfile: /var/run/ipchains.pid

. /etc/rc.d/init.d/functions

. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]

then

exit 0

fi

case "$1" in

start)

gprintf "Iniciando o serviço de %s: " "IPChains"

echo

echo 1 > /proc/sys/net/ipv4/ip_forward

/sbin/ipchains -P forward DENY

/sbin/ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 25 -j MASQ

/sbin/ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 110 -j

MASQ

Page 277: Servidores de Redes.pdf

;;

stop)

gprintf "Parando o serviço de %s: " "IPChains"

echo

/sbin/ipchains --flush

;;

*)

gprintf "Uso: ipchains (start|stop)"

echo

;;

esac

exit 0

3. Dê permissões de execução ao arquivo recém criado: [root@localhost]# chmod a+x /etc/rc.d/init.d/ipchains

4. Para ativar o ipchains: [root@localhost]# cds

[root@localhost]# ./ipchains start

e para desativar o mesmo execute: [root@localhost]# ./ipchains stop

5. Use o comando ntsysv para fazer com que o ipchains seja carregado junto com o sistema:

[*] Ipchains

Configuração das Estações

A configuração das estações de trabalho para utilizar o IP Masquerading (mascaramento) é

bastante simples tanto para estações Conectiva Linux quanto para estações Windows®.

Para configurar a estação Conectiva Linux, execute os seguintes passos:

Page 278: Servidores de Redes.pdf

[root@localhost]# linuxconf

Vá para Ambiente de Rede->Tarefas do cliente->Roteamento e Roteadores:

Selecione Padrões e informe o endereço de IP de seu servidor.

Selecione Padrões e informe o endereço de IP de seu servidor.

Deixe a opção Ative o roteamento desativada.

Saia do Linuxconf e ative a configuração. [root@localhost]# cds

[root@localhost]# ./network stop

[root@localhost]# ./network start

### Kernel versão 2.4 ###

Para sistemas que utilizam kernel da versão 2.4 , para utilizar do ipchains é necessário

habilitar o módulo ipchains: [root@localhost]# modprobe ipchains

Insira tal comando no arquivo /etc/rc.d/init.d/ipchains (acima da linha "/sbin/ipchains -P

forward DENY") para que na próxima inicialização do sistema tal modulo seja habilitado

automaticamente juntamente com as regras: ...

/sbin/modprobe ipchains

/sbin/ipchains -P forward DENY

...

Iptables

Primeiramente levante o módulo de seu kernel: [root@localhost]# modprobe iptable_nat

Page 279: Servidores de Redes.pdf

Faça o forward de pacotes de sua rede: [root@localhost]# echo 1 >

/proc/sys/net/ipv4/ip_forward

Crie a regra: (para a conexão através da eth0) [root@localhost]# iptables -t nat -A POSTROUTING -o eth0 -j

MASQUERADE

Ou, para ppp0 (conexão discada): [root@localhost]# iptables -t nat -A POSTROUTING -o ppp0 -j

MASQUERADE

As regras serão perdidas na hora do boot de sua máquina, portanto salve-as: [root@localhost]# iptables-save >

/backup/regras

Insira no final do arquivo /etc/rc.local: [root@localhost]# mcedit /etc/rc.local

As seguintes linhas: modprobe iptable_nat

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables-restore /backup/regras

Toda vez em que for feito o boot suas regras serão inicializadas e suas máquinas da rede

interna estarão se conectando a internet por meio de mascaramento.

Estações Windows®

Para configurar uma estação Windows®, siga os seguintes passos:

1. Vá para Iniciar->Configurações->Painel de Controle->Rede:

2. Clique em TCP/IP e pressione o botão Propriedades.

3. Clique em Configuração DNS

4. Clique em Ativar DNS e digite o nome de sua máquina no campo Host e o domínio no

campo Domínio. Especifique também o DNS do provedor onde você esta se conectando.

Page 280: Servidores de Redes.pdf

5. Digite o endereço de IP de seu servidor em Ordem pesquisa servidor DNS e clique em

Adicionar.

6. Digite o nome do seu domínio em Ordem pesquisa sufixo domínio e clique em Adicionar.

7. Clique em Gateway e informe o número ip do seu servidor.

8. Clique em Ok e saia da configuração de rede. Você terá de reinicializar o computador.

Para testar a configuração, tente acessar algum endereço da Internet após ter reinicializado a

máquina.

16.4. Após alguns minutos depois de ativar o

squid o mesmo para de funcionar?

1. Verifique se o diretório de cache está com as permissões corretas:

Edite o arquivo /etc/squid/squid.conf: [root@localhost]# mcedit /etc/squid/squid.conf

Procure pela linha que começa com cache_dir, exemplo:

cache_dir ufs /var/spool/squid 100 16 256

No exemplo o diretório de cache é /var/spool/squid, agora verifique se as

permissões do diretório estão corretas: [root@localhost]# l /var/spool

drwxr-xr-x 18 nobody nobody 4096 Dec 11 12:49 squid/

Essas são as permissões corretas, caso o dono ou grupo não esteja como nobody, para

alterar execute: [root@localhost]# chown nobody /var/spool/squid

[root@localhost]# chgrp nobody /var/spoll/squid

Depois reinicialize o squid: [root@localhost]# cds

[root@localhost]# ./squid stop

[root@localhost]# ./squid start

2. Experimente limpar o diretório de cache: [root@localhost]# rm -rf /var/spool/squid/*

Apenas altere o /var/spool/squid pelo diretório utilizado para cache do squid.

16.5. Como Configurar o sarg no CL9 ### CL9 ###

Este procedimento orientará na configuração do serviço SARG (Squid Analysis Report

Generator), onde será possível verificar diariamente o que os usuários da rede estão

acessando através do proxy.

OBS: O procedimento assume que o serviço de proxy(squid) e web (apache) estão

funcionando corretamente.

Acesse o sistema como root em um terminal.

Verifique se o pacote do sarg esta instalado: [root@localhost]# rpm -qa |grep sarg (pressione ENTER)

Caso não seja mostrado nenhum pacote instale o pacote através do aplicativo apt-get:

Page 281: Servidores de Redes.pdf

[root@localhost]#apt-get install sarg (pressione ENTER)

OBS: Este procedimento assume que o aplicativo apt-get esta configurado corretamente para

trabalhar com os cds ou com os repositórios disponibilizados na internet.

Faça uma cópia de segurança do arquivo de configuração. [root@localhost]#cp /etc/sarg/sarg.conf /etc/sarg/sarg.confo

Edite o arquivo /etc/sarg/sarg.conf

[root@localhost]#mcedit /etc/sarg/sarg.conf (pressione ENTER)

Segue abaixo as opções que serão utilizadas neste exemplo: #Língua que será utilizada;

language Portuguese

#Arquivo onde o sarg fará a busca de informações;

access_log /var/log/squid/access.log

# Título da página que será mostrada em HTML

title "SARG - Relatório Diário de acesso"

# As entradas abaixo são referentes a cores e fontes onde poderão ser

# personalizadas a gosto do administrador.

# Para este procedimento foram deixados os valores padrões.

font_face Arial

header_color darkblue

header_bgcolor blanchedalmond

header_font_size -1

background_color white

text_color black

text_bgcolor beige

title_color green

# Diretório Temporário onde ficarão os dados

temporary_dir /tmp

# Diretório onde as páginas serão armazenadas e postreiormente acessadas.

output_dir /var/www/html/squid

OBS:Para o Cl9 deverá ser criado um link simbólico dentro do diretório

/srv/www/default/html apontando para /var/www/html/squid [root@localhost]# cd /srv/www/default/html (pressione ENTER)

[root@localhost]# ln -s /var/www/html/squid squid (pressione ENTER)

# Opção que indica em qual ordem será mostrada a seção Topuser

# opções:USER/CONNECT/BYTES/TIME

topuser_sort_field BYTES reverse

# Opção que indica em qual ordem será mostrada a seção User

# opções:SITE/CONNECT/BYTES/TIME

user_sort_field BYTES reverse

# Arquivo que possui os usuários que não devem aparecer nos relatórios

exclude_users /etc/sarg/exclude.users

Page 282: Servidores de Redes.pdf

# Arquivo que possui os hosts que não devem estar nos relatórios

exclude_hosts /etc/sarg/exclude.hosts

# Formato em que a data deve aparecer(e=dd/mm/yy, u=mm/dd/yy, w=yy/ww)

date_format e

# Opção para remover arquivos temporários.

remove_temp_files yes

# Opção para cria o index.html principal

index yes

# Opção que indica sobrescrever o relatório caso ele já exista

overwrite_report yes

# Opção para registros sem nome de usuário opções:(ignore/ip/everybody)

records_without_userid ignore

# Opção que indica a quantidade de sites mais acessados que será

# mostrada na página do relatório

topsites_num 100

# Opção que indica o critério de classificação no ítem topsites

opções:CONNECT/BYTES A/D

# Neste exemplo esta sendo utilizado o critério conexão em forma

decrescente.

topsites_sort_order CONNECT D

# Esta opção indica que os códigos HTTP deverão ser ignorados no relatório

exclude_codes /etc/sarg/exclude_codes

# Tempo para checagem

max_elapsed 28800000

# Opções que poderão ser escolhidas para gerar o relatório

# topsites --- Indica o site, conexão e bytes

# sites_users --- Indica quais usuários estavam acessando um determinado

site site

# users_sites --- Indica os sites acessados por cada usuário

# date_time --- Indica quantidade de bytes usados por dia e hora

# denied --- Indica os sites negados que foram negados com a URL

completa

# auth_failures --- Indica problemas de autentificação

report_type topsites sites_users users_sites date_time denied auth_failures

# Opção para exibir endereços completos.

long_url no

Pressione F2 para salvar e F10 para sair.

Insira as entradas "Negado" e "Topsites" no final do arquivo

/etc/sarg/languages/Portuguese para que a tradução do tópico no relatório possa ser feita

completa pois sem estas entradas não será possível gerar os relatórios de de falhas de

autenticação e de sites mais acessados. [root@localhost]#mcedit /etc/sarg/languages/Portuguese (pressione ENTER)

Page 283: Servidores de Redes.pdf

Insira as entradas abaixo no fim do arquivo: "Negado"

"Topsites"

Pressione F2 para salvar e F10 para sair

Para que o relatório seja gerado diáriamente incluindo todos os acessos desde o início da

utilização insira a linha abaixo no cron do usuário root: [root@localhost]# crontab -e (pressione ENTER)

55 23 * * * /usr/sbin/sarg -f /etc/sarg/sarg.conf

Pressione "ESC" em seguida :x

Desta forma o relatório será gerado todos os dias as 23:55

Caso queira gerar o relatório somente do dia corrente utilize o seguinte procedimento:

Crie o arquivo abaixo dentro do diretório /etc/sarg [root@localhost]# cd /etc/sarg (pressione ENTER)

[root@localhost]#mcedit sargdia.sh

Insira as entradas: #!/bin/bash

HOJE=$(date +%d/%m/%Y)

/usr/sbin/sarg -f /etc/sarg/sarg.conf -d $HOJE-$HOJE

exit 0

Pressione F2 para salvar e F10 para sair

Acrescente a permissão de execução ao script: [root@localhost]# chmod +x /etc/sarg/sargdia.sh (pressioneENTER)

Insira a linha que chamará o script no crontab do usuário root [root@localhost]# crontab -e (pressione ENTER)

55 23 * * * /etc/sarg/sargdia.sh

Pressione "ESC" em seguida :x

Desta forma o relatório será gerado todos os dias as 23:55

Capítulo 17. TELNET

17.1. Como permitir o acesso remoto ao usuário

root através do telnet? Por medida de segurança não é aconselhável permitir acesso remoto ao usuário root através

do telnet. De qualquer maneira, caso seja necessário, edite o arquivo /etc/securetty e insira as

seguintes linhas ao final deste: [root@localhost]# mcedit /etc/securetty

Insira algumas linhas, conforme exemplo:

Page 284: Servidores de Redes.pdf

0

1

2

3

4

5

6

Para sistemas baseados em kernel 2.0.x, substitua 0,1,... por ttyp0

ttyp1

ttyp2

ttyp3

ttyp4

ttyp5

ttyp6

Essas linhas representam em quais consoles, será disponibilizado o acesso através do telnet

para o root. Caso não deseje ter conexões simultâneas com o usuário root através do telnet,

insira apenas uma linha.

##### Servidor 5.1

Para o caso do servidor 5.1 liberar acesso telnet para usuários root, ao invés de colocar

apenas os números como no primeiro caso acrescente as linhas como no exemplo abaixo (o

princípio é o mesmo): pts/0

pts/1

pts/2

pts/3

pts/4

pts/5

pts/6

Neste caso serão liberados até 7 acessos como superusuário (root).

Salve o arquivo e reinicialize o inet: [root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

Pronto, está habilitado o telnet para o usuário root.

17.2. Como limitar o acesso via telnet em um

servidor a apenas algumas máquinas? Considerando-se que o serviço telnet já está em funcionamento, será nescessário a utilização

dos arquivos hosts.denny e hosts.allow, para restringir o acesso para as máquinas desejadas.

Edite primeiro o hosts.denny e bloqueie para todos o serviço do telnet: [root@localhost]# mcedit /etc/hosts.deny

E coloque uma linha assim: in.telnetd:all:all

Salve com F2 e saia com F10.

Agora edite o arquivo hosts.allow: [root@localhost]# mcedit /etc/hosts.allow

Page 285: Servidores de Redes.pdf

E coloque as máquinas que pode acessar o serviço: in.telnetd:10.0.2.15

Nesta linha é liberada a máquina que possui este IP (10.0.2.15), sendo assim, a única a poder

acessar.

Salve com F2 e sai com F10.

17.3. Como faço para mandar e verificar emails

através do modo texto utilize o comando telnet? [root@localhost root]# telnet ip do servidor 25

Digite:

Helo

Pressione ENTER

mailfrom: seu endereço de e-mail

Pressione ENTER

rcpt to: para quem se deseja enviar.

Pressione ENTER

Data

Corpo da mensagem (digite o texto a ser enviado)

Pressione ENTER

. (faz parte do procedimento para encerrar o conteúdo da mensagem)

Pressione ENTER

Para verificar o e-mail utilize os comandos: [root@localhost root]# telnet servidor.dominio 110 (pressione enter)

Digite:

user nome do usuário (pressione enter)

Pressione ENTER

pass senha do usuário (pressione enter)

Pressione ENTER

para listar as mensagens utilize a opção list.

Pressione ENTER

para ler alguma das mensagens recebidas utilize o comando:

Pressione ENTER

retr número da mensagem (pressione enter)

Pressione ENTER

para sair da sua caixa postal utilize quit.

Pressione ENTER

Capítulo 18. WEBMAIL

18.1. Como instalar webmail (IMP) no Servidor? APRESENTAÇÃO

Muitas vezes é interessante para a empresa permitir que seus funcionários possam acessar

suas contas de email fora da empresa sem a necessidade de configurações complexas.

Page 286: Servidores de Redes.pdf

Com o Webmail, é possível acessar a conda de email sem qualquer configuração de clientes

de email. O usuário só precisa de um navegador com acesso à internet.

O Conectiva Linux oferece o IMP, um pacote de webmail baseado na linguagem PHP3 e

PHP4 . Esta solução apresenta a instalação e configuração do IMP utilizando o Apache e o

mod_php3 ou mod_php4. Consulte a documentação para informações sobre como instalá-los

e configurá-los.

PRÉ-REQUISITOS

servidor Apache corretamente configurado;

rede corretamente configurada;

servidor Apache configurado com suporte a linguagem PHP3 ou PHP4. Veja

documentação do apache para maiores informações.

que a linguagem PHP3 ou PHP4 esteja com suporte a IMAP habilitado. Maiores

informações sobre como fazer isso adiante, neste documento.

desejável: browser capaz de reconhecer Javascript e tabelas.

18.1.1. Como instalar webmail (IMP) no Servidor CL9? ### Versão 9.0 ###

1 VERIFICAÇÕES NECESSÁRIAS

1.1 Verificar os dados do seu servidor como: IP DE INTERNET : 192.168.1.2

IP DE INTRANET : 192.168.1.1

NOME SERVIDOR : mail.servidor.com.br

Domínio : servidor.com.br

Servidor SMTP : mail.servidor.com.br

Servidor IMAP : localhost

IMAP folder : ~/mail/

Servidor SQL : localhost

OBS: Este procedimento considera que o servidor de email já esta configurado e

funcionando corretamente e que os dados utilizados são a nivel de demostração.

1.2 PACOTES NECESSÁRIOS PARA A INSTALAÇÃO: apache-(número da versão)

php-(número da versão)

php-ldap-(número da versão)

php-imap-(número da versão)

sendmail-(número da versão)

imap-(número da versão)

horde-(número da versão)

imp-(número da versão)

1.2.1 Utilize os comandos abaixo para verificar se os pacotes necessários para o

funcionamento do webmail estão instalados: [root@localhost]#rpm -qa | grep apache

[root@localhost]#rpm -qa | grep php

Page 287: Servidores de Redes.pdf

[root@localhost]#rpm -qa | grep php-ldap

[root@localhost]#rpm -qa | grep php-imap

[root@localhost]#rpm -qa | grep sendmail

[root@localhost]#rpm -qa | grep imap

[root@localhost]#rpm -qa | grep horde

[root@localhost]#rpm -qa | grep imp

1.2.2 Caso não esteja instalado utilize o aplicativo apt-get para instalar os pacotes. [root@localhost]#apt-get install apache php php-imap imap postfix ...

2 CONFIGURANDO O APACHE

2.1 Edite o arquivo /etc/apache/conf/conf.d/php.conf [root@localhost]#mcedit /etc/apache/conf/conf.d/php.conf

Procure pelas entradas abaixo, se tiverem comentadas, descomentar, e se estiverem

diferente, substituir conforme: Altere de:

<Files *.php>

SetOutputFilter PHP

SetInputFilter PHP

</Files>

Para:

<Files *.php>

SetOutputFilter PHP

SetInputFilter PHP

LimitRequestBody 524288

</Files>

Pressione F2 para salvar e F10 para sair.

3 CONFIGURANDO MAQUINA VIRTUAL

3.1 Edite o arquivo /etc/apache/conf/httpd.conf [root@localhost]#/etc/apache/conf/httpd.conf

Procure pelas entradas abaixo, se tiverem comentadas, descomentar, e se estiverem

diferente, substituir conforme: Altere de:

<Directory />

# Options FollowSymLinks

Page 288: Servidores de Redes.pdf

AllowOverride All

</Directory>

Para:

<Directory /srv/www/default/html/horde>

AllowOverride All

</Directory>

Altere de:

#NameVirtualHost *

Para:

NameVirtualHost 192.168.1.1:80

NameVirtualHost 192.168.1.2:80

Altere de:

#<VirtualHost *>

# ServerAdmin [email protected]

# DocumentRoot /www/docs/dummy-host.example.com

# ServerName dummy-host.example.com

# ErrorLog /var/log/apache/dummy-host.example.com-error_log

# CustomLog /var/log/apache/dummy-host.example.com-access_log common

#</VirtualHost>

Para:

<VirtualHost 192.168.1.1:80 192.168.1.2:80>

ServerAdmin [email protected]

DocumentRoot /srv/www/default/html/horde/imp

ServerName mail.servidor.com.br

ErrorLog /var/log/apache/error_log

CustomLog /var/log/apache/access_log combined

Alias /horde /var/www/html/mail/horde/

Alias /horde/ /var/www/html/mail/horde/

</VirtualHost>

Pressione F2 para salvar e F10 para sair.

3.2 Reiniciando e testando o apache [root@localhost]#service apache restart

<Pressione a Tecla enter>

Deve aparecer algo como: Reiniciando apache: [ok]

4 CONFIGURANDO HORDE

4.1 Edite o arquivo /srv/www/default/html/horde/config/horde.php

[root@localhost]#mcedit /srv/www/default/html/horde/config/horde.php

Procure pelas entradas abaixo, se tiver comentada, descomentar, e se estiver diferente,

substituir conforme: Altere de:

$conf['auth']['driver'] = '';

Para:

Page 289: Servidores de Redes.pdf

$conf['auth']['driver'] = 'imap';

Altere de:

//$conf['auth']['params']['dsn'] = '{imap.example.com:143/imap}INBOX';

Para:

$conf['auth']['params']['dsn'] = '{servidor.com.br:143/imap}INBOX';

Pressione F2 para salvar e F10 para sair.

5 CONFIGURANDO AS LINGUAGENS

E recomendado que somente deixe habilitadas as linguagens que realmente serão usadas.

Neste exemplo a liguagem padrão será Português Brasileiro = pt_BR, e precisamos também

da lingua Inglesa (USA) = en_US e Espanhola = es_ES.

5.1 Edite o arquivo /srv/www/default/html/horde/config/lang.php [root@localhost]#mcedit /srv/www/default/html/horde/config/lang.php

Procure pelas entradas abaixo: Altere de:

$nls['defaults']['language'] = 'en_US';

Para:

$nls['defaults']['language'] = 'pt_BR';

Comentar com todas as linhas que contem as liguagens que não serão utilizadas: Neste

Procedimento ficaria assim: #$nls['languages']['bg_BG'] = 'Bulgarian';

#$nls['languages']['zh_CN'] = 'Chinese (Simplified)';

#$nls['languages']['zh_TW'] = 'Chinese (Traditional)';

#$nls['languages']['cs_CZ'] = 'Czech';

#$nls['languages']['da_DK'] = 'Dansk';

#$nls['languages']['de_DE'] = 'Deutsch';

#$nls['languages']['en_GB'] = 'English (GB)';

$nls['languages']['en_US'] = 'English (US)';

$nls['languages']['es_ES'] = 'Español';

#$nls['languages']['et_EE'] = 'Eesti';

#$nls['languages']['fr_FR'] = 'Français';

#$nls['languages']['el_GR'] = 'Greek';

#$nls['languages']['it_IT'] = 'Italiano';

#$nls['languages']['ja_JP'] = 'Japanese';

#$nls['languages']['ko_KR'] = 'Korean';

#$nls['languages']['lv_LV'] = 'Latviešu';

#$nls['languages']['lt_LT'] = 'Lietuviskas';

#$nls['languages']['hu_HU'] = 'Magyar';

#$nls['languages']['nl_NL'] = 'Nederlands';

#$nls['languages']['nb_NO'] = 'Norsk bokmål';

#$nls['languages']['nn_NO'] = 'Norsk nynorsk';

#$nls['languages']['pl_PL'] = 'Polski';

#$nls['languages']['pt_PT'] = 'Português';

$nls['languages']['pt_BR'] = 'Português Brasileiro';

#$nls['languages']['ro_RO'] = 'Romana';

#$nls['languages']['ru_RU'] = 'Russian (Windows)';

Page 290: Servidores de Redes.pdf

#$nls['languages']['ru_RU.KOI8-R'] = 'Russian (KOI8-R)';

#$nls['languages']['sk_SK'] = 'Slovak';

#$nls['languages']['sl_SI'] = 'Slovenscina';

#$nls['languages']['fi_FI'] = 'Suomi';

#$nls['languages']['sv_SE'] = 'Svenska';

#$nls['languages']['uk_UA'] = 'Ukranian';

Obs.: Lembrar que as linguas que forem usadas não poderam ser comentadas. Neste caso são:

$nls['language']['pt_BR'] = 'Portugues Brasileiro'

$nls['language']['en_US'] = 'English (US)'

$nls['language']['es_ES'] = 'Espanhol'

Pressione F2 para salvar e F10 para sair.

6 CONFIGURANDO IMP

6.1 Edite o arquivo /srv/www/default/html/horde/config/registry.php [root@localhost]#mcedit /srv/www/default/html/horde/config/registry.php

6.1.1 Procure pelas entradas abaixo, o padrão e que elas estejam comentadas, e so

descomentar: Altere de:

//$this->registry['auth']['login'] = 'imp';

//$this->registry['auth']['logout'] = 'imp'

Para:

$this->registry['auth']['login'] = 'imp';

$this->registry['auth']['logout'] = 'imp';

6.1.2 Procure pelas entradas abaixo: Alterar de:

$this-<applications['imp'] = array(

...<conteudo>

'status' =< 'inactive'

);

Para:

$this-<applications['imp'] = array(

...<conteudo>

'status' =< 'active'

);

Pressione F2 para salvar e F10 para sair.

6.2 Edite o arquivo /srv/www/default/html/horde/imp/config/servers.php [root@localhost]#mcedit /srv/www/default/html/horde/imp/config/servers.php

6.2.1 Procure pelas entradas abaixo, se tiver comentada, descomentar, e se estiver diferente,

substituir conforme: Alterar de:

Page 291: Servidores de Redes.pdf

$servers['imap'] = array(

'name' =< 'IMAP Server',

'server' =< 'imap.example.com',

'protocol' =< 'imap/notls',

'port' => 143,

'folders' =< 'mail/',

'namespace' =< '',

'maildomain' =< 'example.com',

'smtphost' =< 'smtp.example.com',

'realm' =< 'example.com',

'preferred' =< ''

);

Para:

$servers['imap'] = array(

'name' =< 'IMAP Server',

'server' =< 'localhost',

'protocol' =< 'imap/notls',

'port' =< 143,

'folders' =< 'mail/',

'namespace' =< '',

'maildomain' =< 'servidor.com.br',

'smtphost' =< 'mail.servidor.com.br',

'realm' =< '',

'preferred' =< ''

);

Pressione F2 para salvar e F10 para sair.

6.3 Edite o arquivo /srv/www/default/html/horde/imp/config/prefs.php [root@localhost]#mcedit /srv/www/default/html/horde/imp/config/prefs.php

6.3.1 Procure pelas entradas abaixo, se tiver comentada, descomentar, e se estiver diferente,

substituir conforme: Alterar de:

$_prefs['sent_mail_folder'] = array(

'value' =< 'sent-mail',

'locked' =< false,

'shared' =< true,

'type' =< 'implicit'

Para:

$_prefs['sent_mail_folder'] = array(

'value' =< 'sent',

'locked' =< false,

'shared' =< true,

'type' =< 'implicit'

);

Alterar de:

$_prefs['subscribe'] = array(

'value' =< 0,

'locked' =< false,

'shared' =< false,

'type' =< 'checkbox',

Page 292: Servidores de Redes.pdf

'desc' =< _("Use IMAP folder subscriptions")

);

Para:

$_prefs['subscribe'] = array(

'value' =< 1,

'locked' =< true,

'shared' =< false,

'type' =< 'checkbox',

'desc' =< _("Use IMAP folder subscriptions")

);

Alterar de:

$_prefs['language'] = array(

'value' =< '',

'locked' =< false,

'shared' =< true,

'type' =< 'select',

'desc' =< _("Select your preferred language:")

Para:

$_prefs['language'] = array(

'value' =< 'pt_BR',

'locked' =< false,

'shared' =< true,

'type' =< 'select',

'desc' =< _("Select your preferred language:")

);

Alterar de:

$_prefs['mailbox'] = array(

'value' =< 'INBOX',

'locked' =< false,

'shared' =< false,

'type' =< 'implicit'

);

Para:

$_prefs['mailbox'] = array(

'value' =< 'INBOX',

'locked' =< true,

'shared' =< false,

'type' =< 'implicit'

);

Pressione F2 para salvar e F10 para sair.

Referência que foi usada para este documento: http://geocities.com/oliversl/imp/

18.1.2. Como instalar webmail (IMP) no Servidor CL8? ### CL 8 ###

Instale apartir do cdrom os pacotes do Horde, IMP, php4 e postifix

Pode ser usado o apt para esta tarefa, para isso proceda:

Page 293: Servidores de Redes.pdf

Primeiro, edite o arquivo do apt e comente todas as linhas, (Comentar significa colocar o

sinal de # na frente da linha), para isso proceda: [root@localhost]# mcedit /etc/apt/sources.list

Após comentar, salve o arquivo com F2 e saia com F10

Identifique os dois primeiros cds do Conectiva Linux: apt-cdrom -a add

Agora, atualize o banco rpm do apt: [root@localhost]# apt-get update

E instale os programas:

Estes pacotes estão no cd número 1. [root@localhost]# apt-get install postfix

[root@localhost]# apt-get install apache

[root@localhost]# apt-get install imap

[root@localhost]# apt-get install php4

[root@localhost]# apt-get install php4-imap

[root@localhost]# apt-get install mod_php4

Estes pacotes estão no cd número 2. [root@localhost]# apt-get install horde

[root@localhost]# apt-get install imp

Configure seu servidor de email, e carregue o serviço: [root@localhost]# cds (pressione ENTER)

[root@localhost]# ./postfix stop ; ./postfix start (pressione ENTER)

Configure o Apache para habilitar o uso do PHP4, para isso proceda: [root@localhost]# mcedit /etc/httpd/conf/httpd.conf

e descomente as linhas sobre o php4: LoadModule php4_module modules/libphp4.so

AddModule mod_php4.c

DirectoryIndex index.php index.html index.htm index.wml index.php3

AddType application/x-httpd-php .php .php3

AddType application/x-httpd-php-source .phps

Salve o arquivo com F2 e saia com F10.

Edite o arquivo php.ini: [root@localhost]# mcedit /etc/php4/apache/php.ini

Page 294: Servidores de Redes.pdf

e descomente a linha: extension=imap.so

Verifique também (se suas configurações não usam LDAP, se o módulo para ldap está

descomentado, pois é necessário que o mesmo esteja comentado, procure pela linha: extension=ldap.so

E comente a mesma, deixando assim: ;extension=ldap.so

Salve o arquivo com F2 e saia com F10.

Agora inicie seu apache: [root@localhost]# cds (pressione ENTER)

[root@localhost]# ./httpd stop ; ./httpd start (pressione ENTER)

Para a versão CL8 deve se utilizar o xinetd para que o imap seja carregado, edite o arquivo

abaixo:

Por padrão a opção disable vem com a entrada yes habilitada fazendo com que o serviço não

seja carregado, altere o arquivo para que esta opção esteja como no. [root@localhost]# mcedit /etc/xinetd.d/imap

service imap

{

disable = no #<- Altere para no

flags = REUSE

socket_type = stream

protocol = tcp

wait = no

user = root

server = /usr/sbin/imapd

}

Salve o arquivo com F2 e saia com F10.

e inicie o xinetd: [root@localhost]# cds (pressione ENTER)

[root@localhost]# ./xinetd stop ; ./xinetd start (pressione Enter)

Para quem utiliza o inetd.conf deve seguir os passos abaixo: [root@localhost]# mcedit /etc/inetd.conf

e deixe a linha do imap como: imap stream tcp nowait root /usr/sbin/tcpd imapd

Salve o arquivo com F2 e saia com F10.

e inicie o inet: [root@localhost]# cds (pressione ENTER)

Page 295: Servidores de Redes.pdf

[root@localhost]# ./inetd stop ; ./inetd start (pressione Enter)

Agora configure o horde: Acesse o diretório de instalação IMP: [root@localhost]# cd /var/www/default/horde

Execute o script install.sh: [root@localhost]# ./install.sh

Este script prepara o ambiente de configuração do IMP, criando arquivos de configuração

vazios.

Abra o Netscape e acesse a página http://localhost/horde/setup.php3 do Apache. A instalação

é gráfica e altera o arquivo/var/www/default/horde/imp/config/defaults.php3

Ao terminar a configuração acesse o diretório de instalação do IMP e execute: [root@localhost]# cd /var/www/default/horde

[root@localhost]# ./secure.sh

Este comando finaliza a instalação e protege o arquivo de configuraçao de acessos. Para

refazer as configurações será necessário refazer os passos novamente (./install.sh em diante).

Agora teste sua configuração checando o email pelo webmail através do endereço: http://localhost/horde/imp

18.1.3. Como instalar webmail (IMP) no Servidor CL70? ### CL 7.0 ###

Instale apartir do cdrom os pacotes do Horde, IMP, php4 e postifix

Pode ser usado o apt para esta tarefa, para isso proceda:

Primeiro, edite o arquivo do apt e comente todas as linhas, (Comentar significa colocar o

sinal de # na frente da linha), para isso proceda: [root@localhost]# mcedit /etc/apt/sources.list

Após comentar, salve o arquivo com F2 e saia com F10

Edite o arquivo de configuração do apt-get com o comando: [root@localhost /root]# mcedit /etc/apt/apt.conf

adicione a linha: Acquire::CDROM::Copy "true";

apt::cdrom::thorough "true"; <-insira esta linha

Após inserir a linha, salve o arquivo pressionando F2 e pressione F10 para sair.

Identifique os dois primeiros cds do Conectiva Linux: apt-cdrom -a add

Agora, atualize o banco rpm do apt: [root@localhost]# apt-get update

E instale os programas:

Page 296: Servidores de Redes.pdf

Estes pacotes estão no cd número 1. [root@localhost]# apt-get install postfix

[root@localhost]# apt-get install apache

[root@localhost]# apt-get install imap

[root@localhost]# apt-get install php4

[root@localhost]# apt-get install php4-imap

[root@localhost]# apt-get install mod_php4

Estes pacotes estão no cd número 2. [root@localhost]# apt-get install horde

[root@localhost]# apt-get install imp

Agora, configure seu servidor de email, e inicie o mesmo: [root@localhost]# cds (pressione ENTER)

[root@localhost]# ./postfix stop ; ./postfix start (ENTER)

Configure o Apache para habilitar o uso do PHP4, para isso proceda: [root@localhost]# mcedit /etc/httpd/conf/httpd.conf

e descomente as linhas sobre o php4: LoadModule php4_module modules/libphp4.so

AddModule mod_php4.c

DirectoryIndex index.php index.html index.wml index.php3

AddType application/x-httpd-php .php .php3

AddType application/x-httpd-php-source .phps

Salve o arquivo com F2 e saia com F10.

Agora edite o arquivo php.ini: [root@localhost]# mcedit /etc/php4/apache/php.ini

e descomente a linha: extension=imap.so

Verifique também (se suas configurações não usam LDAP, se o módulo para ldap está

descomentado, pois é necessário que o mesmo esta comentado, procure pela linha: extension=ldap.so

E comente a mesma, deixando assim: ;extension=ldap.so

Salve o arquivo com F2 e saia com F10.

Agora inicie seu apache:

Page 297: Servidores de Redes.pdf

[root@localhost]# cds (pressione ENTER)

[root@localhost]# ./httpd stop ; ./httpd start (pressione ENTER)

Agora configure seu servidor de email para aceitar imap, edite o arquivo inetd.conf: [root@localhost]# mcedit /etc/inetd.conf

e deixe a linha do imap como: imap stream tcp nowait root /usr/sbin/tcpd imapd

Salve o arquivo com F2 e saia com F10.

inicie o inet: [root@localhost]# cds (pressione ENTER)

[root@localhost]# ./inetd stop ; ./inetd start (pressione ENTER)

Agora configure seu horde: Acesse o diretório de instalação IMP: [root@localhost]# cd /home/httpd/html/horde

Execute o script install.sh: [root@localhost]# ./install.sh

Este script prepara o ambiente de configuração do IMP, criando arquivos de configuração

vazios.

Abra o Netscape e acesse a página http://localhost/horde/setup.php3 do Apache. A instalação

é gráfica e altera o arquivo /home/httpd/html/horde/imp/config/defaults.php3

Ao terminar a configuração acesse o diretório de instalação do IMP e execute: [root@localhost]# cd /home/httpd/html/horde

[root@localhost]# ./secure.sh

Este comando finaliza a instalação e protege o arquivo de configuraçao de acessos. Para

refazer as configurações será necessário refazer os passos novamente.

Agora teste sua configuração checando o email pelo webmail.

18.1.4. Como instalar webmail (IMP) no Servidor CL60? ### CL6.0 ###

INSTALAÇÃO

Inicialmente é necessário instalar os pacotes Horde e IMP.

Nas instruções abaixo estamos utilizando o apt-get para instalar os pacotes. Veja nossa

documentação para maiores informações sobre como configurar e utilizar esta ferramenta.

Instalando os pacotes : [root@localhost]# apt-get install imp horde horde-shm

imp ################################

horde ##############################

horde-shm ##########################

CONFIGURAÇÃO:

Page 298: Servidores de Redes.pdf

Configurar um servidor IMAP

1. Use o editor de sua preferência para abrir o arquivo /etc/inetd.conf Exemplo: [root@localhost]# mcedit /etc/inetd.conf

2. Você deve localizar as linhas correspondentes aos serviços POP-2, POP-3 e

IMAP e descomentá-las (retirando o " # " do início da linha). As linhas são

parecidas com: pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d

pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

imap stream tcp nowait root /usr/sbin/tcpd imapd

3. Reinicie o serviço o inetd: [root@localhost]# cds (pressione ENTER)

[root@localhost]# ./inetd stop ; ./inetd start (pressione ENTER)

Vale ressaltar que você deverá ter o Apache configurado com suporte à

linguagem PHP3. Consulte a documentação específica para maiores

informações.

Feito isso, você deve ainda garantir que a linguagem PHP3 tenha suporte a IMAP.

Para fazer isso siga os passos:

4. Instale os pacotes do PHP3: [root@localhost]# apt-get install php3-cgi-imap

php3-cgi

php3-cgi-imap ######################

php3-cgi ###########################

6. Use o editor de sua preferência para abrir o

arquivo /etc/php3/apache/php3.iniExemplo: [root@localhost]# mcedit /etc/php3/apache/php3.ini

Localize a seguinte linha: ;extension=imap.so

E retire o ponto-e-vírgula inicial para descomentar a linha. Salve e feche o

arquivo.

Configurar o Horde

1. Edite o arquivo /etc/httpd/conf/horde.conf [root@localhost]# mcedit /etc/httpd/conf/horde.conf

Comente as seguintes linhas (acrescente o símbolo " # " no início das linhas): # Configuration for PHP4 >= 4.0.2

AddType application/x-httpd-php .php .php3

php_value include_path '.:/home/httpd/horde-phplib'

php_value auto_prepend_file /home/httpd/horde-phplib/prepend.php3

php_flag magic_quotes_gpc off

php_flag track_vars on

Agora, na seção # Configuration for PHP <= 3.0.16

Page 299: Servidores de Redes.pdf

Descomente as seguintes linhas (retirando o " # " do início da linha):

# AddType application/x-httpd-php3 .php .php3

# php3_include_path '.:/home/httpd/horde-phplib'

# php3_auto_prepend_file /home/httpd/horde-phplib/prepend.php3

# php3_magic_quotes_gpc Off

# php3_track_vars On

2. Configurar o IMP

a. Acesse o diretório de instalação IMP: [root@localhost]# cd

/home/httpd/html/horde

b. Execute o script install.sh: [root@localhost]# ./install.sh

Este script prepara o ambiente de configuração do IMP, criando arquivos

de configuração vazios.

c. Abra o Netscape e acesse a página http://localhost/horde/setup.php3 do

Apache. A instalação é gráfica e altera o

arquivo/home/httpd/html/horde/imp/config/defaults.php3

d. Ao terminar a configuração acesse o diretório de instalação do IMP e

execute: [root@localhost]# cd /home/httpd/html/horde

[root@localhost]# ./secure.sh

I have made your configuration files, and libraries mode 0444 which is

read for everyone.

And setup.php3 and test.php3 are mode 0000 which is no access period.

Este comando finaliza a instalação e protege o arquivo de configuraçao

de acessos. Para refazer as configurações será necessário refazer os

passos novamente.

Para testar se a página está funcionando ou mesmo os usuários

acessarem suas contas, tem que entrar no seguinte endereço: http://IP_do_servidor/imp

irá abrir a página do IMP.

18.1.5. Como instalar webmail (IMP) no Servidor CL5.1? ### CL5.1 e CL5.0 ###

Inicialmente é necessário a instalação dos pacotes RPM.

Horde - Elementos básicos do Horde Web Application Suite

Imp - Programa de Mail via Web baseado no IMAP

[root@localhost]# mount /mnt/cdrom

Entre no diretório RPMS [root@localhost]# cd /mnt/cdrom/conectiva/RPMS

Execute o comando de instalação: [root@localhost]# rpm -ivh *php3*

Page 300: Servidores de Redes.pdf

[root@localhost]# rpm -ivh horde-1.2.3-6cl.noarch.rpm

[root@localhost]# rpm -ivh horde-shm-1.2.3-6cl.noarch.rpm

[root@localhost]# rpm -ivh imp*

Para configuração é necessário que o servidor httpd (Apache) esteja devidamente

configurado:

1. Configurações no apache

a. Configurando o apache

Editar o arquivo /etc/httpd/conf/httpd.conf, com seu editor favorito.

Descomente todas as linhas contendo php4, para descomentar as linhas basta

retirar "#" da linha desejada. #LoadModule php_module modules/mod_php.so

LoadModule php3_module modules/libphp3.so

#LoadModule php4_module modules/libphp4.so

#LoadModule perl_module modules/libperl.so

# Extra Modules

#AddModule mod_php.c

AddModule mod_php3.c

#AddModule mod_php4.c

#AddModule mod_perl.c

A linha "DirectoryIndex" deve conter a opcao "index.php" # For PHP3:

DirectoryIndex index.php3 index.html index.wml

# For PHP3:

AddType application/x-httpd-php3 .php3

AddType application/x-httpd-php3-source .phps

Caso não existam, inclua estas linhas:

Alias /horde "/home/httpd/html/horde/"

Alias /horde/ "/home/httpd/html/horde/"

Alias /imp "/home/httpd/html/horde/imp/"

Alias /imp/ "/home/httpd/html/horde/imp/"

b. Configuração do php3

Edite o arquivo /etc/php3/php3.ini e procure pelas linhas: ;extension=imap.so

;extension=ldap.so

;extension=mysql.so

;extension=pgsql.so

;extension=php3_mysql.dll

;extension=php3_imap4r2.dll

;extension=php3_ldap.dll

Modifique-as para que fiquem assim:

extension=imap.so

extension=ldap.so

extension=mysql.so

extension=pgsql.so

extension=php3_mysql.dll

Page 301: Servidores de Redes.pdf

extension=php3_imap4r2.dll

extension=php3_ldap.dll

c. Inicializando os Serviços de httpd [root@localhost]# cds (pressione ENTER)

[root@localhost init.d]# ./httpd stop ; ./httpd start (pressione ENTER)

2. Configuração do horde

Edite o arquivo /etc/httpd/conf/horde.conf

Comente as seguintes linhas: # Configuration for PHP4 >= 4.0.2

AddType application/x-httpd-php .php .php3

php_value include_path '.:/home/httpd/horde-phplib'

php_value auto_prepend_file /home/httpd/horde-phplib/prepend.php3

php_flag magic_quotes_gpc off

php_flag track_vars on

Agora, na seção

# Configuration for PHP <= 3.0.16

Descomente as seguintes linhas:

AddType application/x-httpd-php3 .php .php3

php3_include_path '.:/home/httpd/horde-phplib'

php3_auto_prepend_file /home/httpd/horde-phplib/prepend.php3

php3_magic_quotes_gpc Off

php3_track_vars On

3. Servidor IMAP

A seguinte linha no arquivo /etc/inetd.conf deve estar descomentada: imap stream tcp nowait root /usr/sbin/tcpd imapd

É necessário reiniciar o servidor inet: [root@localhost]# cds (pressione ENTER)

[root@localhost init.d]# ./inet stop ; ./inet start (pressione ENTER)

4. Configuração

Para configurar é necessário alterar as permissões do arquivo setup.php3

[root@localhost ]# cd /home/httpd/html/horde

[root@localhost /horde]# ./install.sh

Após digitado e se os parâmetros de instalação foram executados com sucesso,

apartir de seu browser (Nestcape) digite a URL:

http://127.0.0.1/horde/setup.php3

Obs: Esta instalação necessariamente deve ser feita em inglês.

A instalação é grafica e altera o

arquivo /home/httpd/html/horde/imp/config/defaults.php3

Para testar se a página está funcionando ou mesmo os usuários acessarem suas contas,

tem que entrar no seguinte endereço: http://IP_do_servidor/imp

Page 302: Servidores de Redes.pdf

irá abrir a página do IMP.

18.2. Como configurar o Webmail do CL60 com

php4? ### CL 6.0 ###

Instale o apache, sendmail e o imap. Para isso proceda:

Monte o primeiro cd do Conectiva Linux: [root@localhost]# mount /mnt/cdrom

[root@localhost]# rpm -ivh apache*

[root@localhost]# rpm -ivh sendmail*

[root@localhost]# rpm -ivh imap*

Agora, baixe do site da conectiva os pacotes de atualização do php4, imp e hord, o endereço

é:

ftp.conectiva.com.br/pub/atualizacoes/6.0/RPMS

e baixe os seguintes arquivos:

mod_php4-4.0.4pl1-1cl.i386.rpm

php4-imap-4.0.4pl1-1cl.i386.rpm

php4-4.0.4pl1-1cl.i386.rpm

horde-1.2.6-1U60_2cl.noarch.rpm

horde-shm-1.2.6-1U60_2cl.noarch.rpm

imp-2.2.6-1U60_2cl.noarch.rpm

e atualize os pacotes. [root@localhost]# rpm -Uvh nome-do-pacote

Agora, configure seu servidor de email, e inicie o mesmo: [root@localhost]# cds

Page 303: Servidores de Redes.pdf

[root@localhost]# ./sendmail start

Configure seu servidor de email, e inicie o mesmo: [root@localhost]# cds

[root@localhost]# ./sendmail start

Configure o Apache para habilitar o uso do PHP4, para isso proceda: [root@localhost]# mcedit /etc/httpd/conf/httpd.conf

e descomente as linhas sobre o php4: LoadModule php4_module modules/libphp4.so

AddModule mod_php4.c

DirectoryIndex index.php index.html index.wml index.php3

AddType application/x-httpd-php .php .php3

AddType application/x-httpd-php-source .phps

Salve o arquivo com F2 e saia com F10.

Agora edite o arquivo php.ini: [root@localhost]# mcedit /etc/php4/apache/php.ini

e descomente a linha: extension=imap.so

Verifique também (se suas configurações não usam LDAP, se o módulo para ldap está

descomentado, pois é necessário que o mesmo esta comentado, procure pela linha: extension=ldap.so

Page 304: Servidores de Redes.pdf

E comente a mesma, deixando assim: ;extension=ldap.so

Salve o arquivo com F2 e saia com F10.

Agora inicie seu apache: [root@localhost]# cds

[root@localhost]# ./httpd stop

[root@localhost]# ./httpd start

Agora configure seu servidor de email para aceitar imap, edite o arquivo inetd.conf: [root@localhost]# mcedit /etc/inetd.conf

e deixe a linha do imap como: imap stream tcp nowait root /usr/sbin/tcpd imapd

Salve o arquivo com f2 e saia com f10. e inicie o inet:

[root@localhost]# cds

[root@localhost]# ./inetd stop

[root@localhost]# ./inetd start

Agora configure seu horde: Acesse o diretório de instalação IMP: [root@localhost]# cd /home/httpd/html/horde

Execute o script install.sh: [root@localhost]# ./install.sh

Page 305: Servidores de Redes.pdf

Este script prepara o ambiente de configuração do IMP, criando arquivos de configuração

vazios.

Abra o Netscape e acesse a página http://localhost/horde/setup.php3 do Apache. A instalação

é gráfica e altera o arquivo/home/httpd/ html/horde/imp/config/defaults.php3

Ao terminar a configuração acesse o diretório de instalação do IMP e execute:

[root@localhost]# cd /home/httpd/html/horde

[root@localhost]# ./secure.sh

Este comando finaliza a instalação e protege o arquivo de configuraçao de acessos. Para

refazer as configurações será necessário refazer os passos novamente.

Agora teste sua configuração checando o email pelo webmail.

18.3. Erro na configuração do webmail: Para solucionar o problema do aplicativo de webmail imp, que apresenta a seguinte

mensagem ao tentar fazer login: "The document contain no data.

Try again, or contact the server administrator"

edite o arquivo /etc/php3/apache/php3.ini

[root@localhost /]# mcedit /etc/php3/apache/php3.ini

Localize as linhas: ;extension=imap.so

;extension=php3_imap4r2.dll

e descomente-as (retire o ";"),

para localizá-las mais facilmente pressione F7 e localize a palavra imap.

Pressione F2 para salvar e F10 para sair.

Reinicie o apache:

[root@localhost /]# cds

Page 306: Servidores de Redes.pdf

[root@localhost /]# ./httpd stop

[root@localhost /]# ./httpd start

Capítulo 19. SEGURANÇA

19.1. Como funciona um firewall? Objetivos desse Documento:

O objetivo principal desse documento é tentar elucidar os conceitos envolvidos e as técnicas

utilizadas na construção de um firewall.

Não nos responsabilizamos pelo perfeito funcionamento do seu firewall e pela segurança que

o mesmo irá prover para a sua rede.

Referências dos documentos Para elaborar esse documento foram utilizados os seguintes

documentos: IPCHAINS-HOWTO

Firewall-HOWTO

IP-Masquerade

http://www.olinux.com.br

Conceitos Iniciais

O firewall no linux é feito através da filtragem de pacotes. O tamanho de cada pacote é

definido de acordo com as características da sua rede, geralmente nas redes ethernet o

tamanho é de 1500 bytes. Então se por exemplo for feito um download de um arquivo de 1

MB, o que realmente estará acontecendo é que o seu computador receberá vários pequenos

pacotes (fragmentos) de 1500 bytes e no final irá agrupá-los para formar o arquivo original.

Um pacote é composto por duas partes:

- Header (cabeçalho): é nessa parte do pacote que o firewall vai atuar, possui informações

importantes como:

origem do pacote

destino do pacote

entre outras

- Body (corpo): é a parte que contêm os dados propriamente ditos.

Page 307: Servidores de Redes.pdf

Como explicado anteriormente é importante conhecer esses conceitos sobre pacotes pois o

firewall no linux irá atuar diretamente sobre eles fazendo a filtragem dos mesmos.

Ferramentas Utilizadas

Todo o controle de firewall (filtragem dos pacotes) é feito no kernel, porém algumas

ferramentas são utilizadas para controlar essas regras (controlar essas características). Nos

kernels das séries 2.0.x era utilizado o ipfwadm, porém o mesmo apresentava vários

problemas e falhas então uma nova versão foi implementada que se chama ipchains e é

utilizada atualmente nos kernels 2.2.x.

Para verificar se o seu kernel está apto a filtrar os pacotes basta verificar se existe o

arquivo /proc/net/ip_fwchains. Caso não exista então é necessário fazer a recompilação do

kernel e habilitar a opção de firewall (verificar em/usr/doc/HOWTO/IPCHAINS-HOWTO).

IP Masquerading

Masquerading funciona da seguinte maneira. Quando uma máquina da rede local faz uma

conexão com um host externo (Internet), passa antes por uma máquina gateway que vai re-

escrever o cabeçalho do pacote. Dessa forma quem faz o acesso ao host externo é a máquina

gateway. Quando o host externo responde enviando pacotes para aquela máquina que fez a

conexão, o masquerading sabe disso, e re-escreve novamente o cabeçalho do pacote, para

que ela o receba. Com isso, toda sua rede local fica conectada a Internet e sendo controlada

pela máquina gateway que irá fazer a ligação entre as redes.

Essa tecnologia permite que um conjunto de máquinas acesso transparente a internet atrás de

um sistema de gateway, que nesse caso é o único sistema que está ligado diretamente a

internet.

Páginas web, telnet funcionam perfeitamente utilizando IP-Masquerade. FTP, IRC e Real

Audio precisam de um tratamento especial, para isso devem trabalhar juntamente com

módulos específicos.

As regras de filtragem (firewall) podem ser aplicadas a todos computadores, e você precisa

manter a máquina gateway bem segura, por que é ela quem faz a ligação entre as duas redes,

e esta vulnerável aos ataques Internet. _ __ _

| \/ \/ |

/ Internet \

\_/\_/\_/\_/

|

|

| 200.10.15.1

| /

| /

__________

| |

| Firewall | <-- Gateway

| System |

|__________|

|\

| \

| 192.168.0.1

| 255.255.255.0

|

_____________________________________________

| | |

| | |

| | |

Page 308: Servidores de Redes.pdf

| | |

_____________ _____________ _____________

| | | | | |

| Workstation | | Workstation | | Workstation |

|_____________| |_____________| |_____________|

192.168.0.2 192.168.0.3 192.168.0.4

255.255.255.0 255.255.255.0 255.255.255.0

Como funcionam as regras de firewall

O kernel inicia-se com 3 listas de regras, essas regras são chamadas de firewall chains ou

apenas chains. Quando um pacote chega a placa de rede da sua máquina, o kernel usa as

regras de INPUT para decidir o que fazer. Se o pacote consegue atravessar as regras de

input, o kernel decide para onde enviar o pacote, isso chama-se roteamento do pacote. Se o

destino do pacote for outra máquina, estamos usando o chain chamado de FORWARD, e por

fim, os pacotes que saem da sua máquina usam as regras de OUTPUT chain.

Dá para perceber que cada chain é uma verificação de regras. Se a regra está definida, o

kernel sabe o que fazer com o pacote. Se nao existe definição para aquela espécie de pacote,

o kernel consulta o chain POLICY para decidir o que fazer, rejeitando ou aceitando o pacote

que não possuí uma específica. ----------------------------------------------------------------

| ACCEPT/ lo interface |

v REDIRECT |

--> C --> S --> ______ --> D --> ~~~~~~~~ --> local? -----> _______ -->

h -> a |input | e {Routing } __|____ |output |ACCEPT

e | n |Chain | m {Decision} |forward|---->|Chain |

c | i |______| a ~~~~~~~~ |Chain | ^ |_______|

k | t | s | ^ |_______| | |

s | y | q | | | | |

u | | v e v | | | v

m | | DENY/ r Local Process v | DENY/

| | v REJECT a | DENY/ | REJECT

| |DENY d | REJECT |

v | e -------+---------------------

DENY| |

------------------------------

Checksum:

É um teste feito para verificar se o pacote está corrompido de alguma forma. Caso esteja,

então ele é descartado (DENY).

Sanity:

Nesse estágio é feito testes de sanidade, se o pacote está mal formado ele pode confundir

uma regra de checagem então ele já é logo descartado (DENY).

input chain:

Esta é o primeiro conjunto de regras de controle do firewall. Os pacotes que chegarem a esta

regra serão testados, se os pacotes NÃO forem rejeitados (DENY) então ele prosseguirá

adiante.

Page 309: Servidores de Redes.pdf

Demasquerade:

Se o pacote em questão for um pacote previamente mascarado, ele será desmascarado e

então irá direto para o conjunto de regras output. E como ele sabe que é um pacote

mascarado ? Pois ele guarda em uma tabela quais pacotes saíram e que foram mascarados.

Se não foi utilizado IP Masquerading é possível mentalmente apagar este estágio do

diagrama acima.

Routing decision:

O campo destino do pacote é analisado pelo código de roteamento para decidir se o pacote é

destinado a um processo local (Local Process) ou é para ser repassado para uma máquina

remota.

Local process:

Um processo local é aquele que está sendo executado na sua máquina e pode receber pacotes

que já passaram pelo estágio de "routing decision". Também podem enviar pacotes que

passam novamente pelo estágio de "routing Decision" e depois pela conjunto de regras

output.

lo interface:

Se os pacotes provenientes de um processo local tem como destino um processo local, eles

irão através do conjunto de regras (chain) output com interface igual a 'lo', então eles

retornarão para a chain input também como interface 'lo'. A interface 'lo' é usualmente

chamada de inteface de loopback.

local:

Se o pacote não foi criado por um processo local, então o próximo passo do pacote será o

chain forward, caso contrário o pacote irá para o chain output.

forward chain:

Esse conjunto de regras é sempre acessada por todos os pacotes que estão passando por essa

máquina com o destino para uma outra.

output chain:

Esse conjunto de regras é sempre acessada por todos os pacotes que serão enviados para

outra máquina.

IPCHAINS

Abaixo segue um explicativo de utilização do ipchains, para maiores informações veja em

IPCHAINS-HOWTO ou em man ipchains.

Para listar todas as regras: [root@eclipse /root]# ipchains -L

Chain input (policy ACCEPT):

Chain forward (policy ACCEPT):

Chain output (policy ACCEPT):

(nesse exemplo não aparece nenhuma regra pois ainda não foi definida nenhuma).

Para criar uma nova regra: # ipchains -A input

output

forward

-p TCP

Page 310: Servidores de Redes.pdf

UDP

ICMP

ALL

-s IP/MASQ PORTA:PORTA

-d IP/MASQ PORTA:PORTA

-j REJECT

ACCEPT

DENY

MASQ

RETURN

-P input ACCEPT

output DENY

forward MASQ

REDIRECT

onde, A = significa que quer adicionar uma nova regra

p = especifica o protocolo a ser utilizado

s = especifica a origem do pacote

d = especifica o destino do pacote

j = especifica a ação a ser tomada

P = tipo de política(controla se o padrão vai ser proibído/liberado)

Valores possíveis para as opções 's','d': -s 192.168.0.0/255.255.255.0 ou

-s 192.168.255.0/24

(especificar todos os pacotes vindos de uma rede classe C)

-d www.conectiva.com.br

(especificartodos pacotes com destino para domínio conectiva)

-s ! localhost

(especificar todos os pacotes que não tenham vindo de localhost)

-d localhost 60000:61000

(especificar todos os pacotes com destino as portas 60.000 a 61.000 inclusive, da máquina

localhost)

-s 0.0.0.0/0 :1023

(especificar todos os pacotes vindos de portas entre 0 a 1023 inclusive de qualquer máquina)

-s 0.0.0.0/0 1023:

(especificar todos os pacotes vindos de portas entre 1023 a 65535 inclusive de qualquer

máquina)

-d ! 192.168.1.1 www

(especifica todos pacotes na porta www em qualquer máquina menos na 192.168.1.1)

-d 192.168.1.1 ! www

(especifica todos pacotes para qualquer porta (menos www) na máquina 192.168.1.1)

-d ! 192.168.1.1 ! www

(especifica todos pacotes para qualquer porta menos a www em qualquer máquina menos na

192.168.1.1)

Page 311: Servidores de Redes.pdf

Vamos criar uma situação, na qual você queira que sua máquina rejeite todos os pacotes

ICMP provenientes do endereço 127.0.0.1 (lo). A vantagem de usar o endereço loopback

127.0.0.1 é que qualquer um pode testar essas definições, mesmo que não esteja conectado a

uma rede. Os pacotes ICMP podem ser gerados com o programa PING. Um programa de

teste de comunicação entre máquinas.

testando primeiramente o ping sem nenhuma regra de firewall: # ping -c 1 127.0.0.1

PING 127.0.0.1 (127.0.0.1): 56 data bytes

64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.2 ms

--- 127.0.0.1 ping statistics ---

1 packets transmitted, 1 packets received, 0% packet loss

round-trip min/avg/max = 0.2/0.2/0.2 ms

- agora acrescentaremos uma regra e veremos o resultado: # ipchains -A input -s 127.0.0.1 -j DENY

# ipchains -L

Chain input (policy ACCEPT):

target prot opt source destination ports

DENY all ------ localhost anywhere n/a

Chain forward (policy ACCEPT):

Chain output (policy ACCEPT):

[root@eclipse /root]# ping -c 1 127.0.0.1

PING 127.0.0.1 (127.0.0.1): 56 data bytes

--- 127.0.0.1 ping statistics ---

1 packets transmitted, 0 packets received, 100% packet loss

^^^^^^

Essa regra adicionada diz para barrar (DENY) todos os pacotes vindos do endereço IP

127.0.0.1 e com destino para qualquer lugar. Neste exemplo fica claro que quando não se

especifica algum dos campos então ele pega os valores default.

Para apagar uma regra:

# ipchains -D input 1

Aqui estaremos apagando a primeira regra contida no chain input, neste exemplo estaremos

apagando a regra que foi criada acima.

Existe uma outra forma de apagar regras, simplesmente trocando o parâmetro -A por -D.

Abaixo segue um exemplo para facilitar a compreensão: # ipchains -D input

Para verificar as estatísticas de uma regra:

Por exemplo, se aquela regra acima (ipchains -A input -s 127.0.0.1 -j DENY) não estivesse

sido apagada, então para verificar as estatísticas é necessário executar:

Page 312: Servidores de Redes.pdf

# ipchains -L -v

Chain input (policy ACCEPT: 345756 packets, 343117380 bytes):

pkts bytes target prot opt tosa tosx ifname mark outsize source destination

ports

1 84 DENY all ------ 0xFF 0x00 any localhost anywhere

n/a

Chain forward (policy ACCEPT: 0 packets, 0 bytes):

Chain output (policy ACCEPT: 383055 packets, 350725853 bytes):

O mais importante de tudo é que:

essa regra foi válida somente para um pacote, ou seja, nesse caso negou somente um pacote,

pois somente executamos um ping: ping -c 1 127.0.0.1

o tamanho total de bytes foram 84

Para registrar log no sistema

Para que o sistema faça um log de todos as ações de suas regras basta acrescentar o

parâmetro -l na composição da regra, nesse nosso exemplo eu retirei todas as regras que

existiam e criei uma nova com esse comando: [root@eclipse /root]# ipchains -A input -s 127.0.0.1 -j DENY -l

[root@eclipse /root]# ipchains -L

Chain input (policy ACCEPT):

target prot opt source destination ports

DENY all ----l- localhost anywhere n/a

Chain forward (policy ACCEPT):

Chain output (policy ACCEPT):

Ao executar o comando : ping -c1 127.0.0.1 podemos verificar no arquivo

/var/log/messages o log que foi gerado e que segue abaixo:

Jun 29 16:44:24 eclipse kernel: Packet log: input DENY lo PROTO=1

127.0.0.1:8 127.0.0.1:0 L=84 S=0x00 I=29645 F=0x0000 T=64 (#1)

Obs.: Na Versão Conectiva Linux 5.0, para que se consiga fazer logs é necessário obter uma

atualização, que pode ser econtrada em: http://www.conectiva.com.br/suporte/atualizacoes

Para criar novas chains: # ipchains -N Test

# ipchains -L

Chain input (policy ACCEPT):

Chain forward (policy ACCEPT):

Chain output (policy ACCEPT):

Chain Test (0 references):

É para criar uma nova chain. As principais chains que já vem por padrão são: input, output,

forward.

Deletar uma chain vazia

Page 313: Servidores de Redes.pdf

# ipchains -X Test

Apagar todas as regras de uma chain: # ipchains -F input

Estamos apagando todas as regras contidas na chain input.

Um exemplo com um chain criado pelo usuário

Suponha esses dois conjuntos de regras, o chain input e um outro chain chamado 'Test'

definido pelo próprio usuário. `input' `Test'

---------------------------- ----------------------------

| Regra1: -p ICMP -j REJECT| | Regra1: -s 192.168.1.1 |

|--------------------------| |--------------------------|

| Regra2: -p TCP -j Test | | Regra2: -d 192.168.1.1 |

|--------------------------| ----------------------------

| Regra3: -p UDP -j DENY |

----------------------------

Considerando um pacote TCP vindo da máquina 192.168.1.1 e com destino para 1.2.3.4.

Primeiramente ele entra na chain input e a Regra1 é testada, como ela não se encaixa à Regra

1 então o pacote prossegue para a próxima regra.

Comparando com a segunda regra o pacote se encaixa pois o mesmo é um pacote tcp. Então

agora a regra diz para ele ir para o chain Test (TARGET) onde será submetido as regras lá

definidas.

Comparando agora com a Regra1 do chain Test o pacote também se encaixa pois tem como

origem a máquina 192.168.1.1, mas como não tem nenhum TARGET definido então ele

pula para a Regra2.

A Regra2 não se encaixa no perfil do pacote e nós chegamos ao fim do chain Test, então

agora retornaremos a Regra3 do input.

Como essa última regra (Regra3, input) também não se encaixa o pacote prossegue para o

próximo estágio.

Redirecionamento de portas.

É possível redirecionar uma porta da máquina firewall para dentro de sua rede, podendo por

tanto protejer além de suas máquinas, seus servidores de apache ou ftp.

Para redirecionar um pacote, primeiramente é necessário indicar o redirecionamento, como

por exemplo: ipmasqadm portfw -a -P tcp -L 10.0.0.1 23 -R 192.168.0.3 23 -p 10

onde: a adciona uma nova regra

d para deletar

P para especificar o protocolo

L para especificar o endereço de entrada de dados

R para especificar em que host e porta vai ser redirecionado

p especifica a preferência

Page 314: Servidores de Redes.pdf

E logo após deve ser incluída uma regra para que seja possível que a máquina interna acesse

a externa. Fazendo com isso que a máquina quando estiver retornando o pacote externo,

possa completar a comunicação. [root@localhost]# ipchains -P forward MASQ

19.2. O que é e como funciona um firewall

(básico)? Objetivos desse Documento:

O objetivo principal desse documento é tentar elucidar os conceitos envolvidos e as técnicas

utilizadas na construção de um firewall.

Conceitos Iniciais

O firewall no linux é feito através da filtragem de pacotes. O tamanho de cada pacote é

definido de acordo com as características da sua rede, geralmente nas redes ethernet o

tamanho é de 1500 bytes. Então se por exemplo for feito um download de um arquivo de 1

MB, o que realmente estará acontecendo é que o seu computador receberá vários pequenos

pacotes (fragmentos) de 1500 bytes e no final irá agrupá-los para formar o arquivo original.

Um pacote é composto por duas partes:

Header (cabeçalho): é nessa parte do pacote que o firewall vai atuar, possui informações

importantes como:

origem do pacote

destino do pacote

entre outras

Body (corpo): é a parte que contêm os dados propriamente ditos.

Como explicado anteriormente é importante conhecer esses conceitos sobre pacotes pois o

firewall no linux irá atuar diretamente sobre eles fazendo a filtragem dos mesmos.

1. Ferramentas Utilizadas

Todo o controle de firewall (filtragem dos pacotes) é feito no kernel, porém algumas

ferramentas são utilizadas para controlar essas regras (controlar essas características).

Nos kernels das séries 2.0.x era utilizado o ipfwadm, porém o mesmo apresentava

vários problemas e falhas então uma nova versão foi implementada que se chama

ipchains e é utilizada atualmente nos kernels 2.2.x.

2. IP Masquerading

O masquerading funciona da seguinte forma, em uma rede, o servidor possui um ip

válido na internet e um ip não válido que é o ip do servidor na rede interna. As demais

máquinas da rede possuem, cada uma delas, ips não válidos na internet, sendo esses

ips válidos apenas dentro da rede interna. Para que as máquinas da rede possam

acessar a internet através do servidor, é preciso que o mesmo tenha ativado, e esteja

funcionando, o IP masquerading. Como mostra a figura abaixo o servidor Linux

Page 315: Servidores de Redes.pdf

possui dois IP's, um deles é um IP válido na internet "200.10.15.1" e outro é um IP

frio, inválido para a internet "192.168.1.1". Os clientes da rede (Máquina 1....)

possuem endereços IP's 192.168.1.X formando uma rede da classe C.

Para que as máquinas da rede interna (192.168.1.X) possam acessar a internet através

do servidor é necessário que o IP Masquerading esteja configurado e ativado.

_ __ _

| \/ \/ |

/ Internet \

\_/\_/\_/\_/

|

|

| eth0 => 200.10.15.1

| /

| /

__________

| |

| Firewall | <-- Servidor

| System |

|__________|

|\

| \

| eth1 => 192.168.1.1

|

|

_____________________________________________

| | |

| | |

| | |

| | |

_____________ _____________ _____________

| | | | | |

| Máquina 1 | | Máquina 2 | | Máquina 3 |

|_____________| |_____________| |_____________|

192.168.1.2 192.168.1.3 192.168.1.4

Nesse caso temos um servidor com duas placas de rede, eth0 conectado na internet, e

eth1 conectado na rede interna, e mais 3 máquinas na rede conectadas ao servidor

para acessar a internet. Para que as máquinas internas da rede acessem a internet

precisaremos ativar o IP masquerading no servidor. A primeira providência é habilitar

o repasse (forwarding) de pacotes. Vamos criar um arquivo "firewall" localizado em

/etc/rc.d/init.d que será responsável pelo gerenciamento do firewall e adicionar as

configurações de firewall nele para que se torne automático no caso do servidor ser

reiniciado:

Primeiramente abra, com seu editor de textos preferido, o

arquivo /etc/init.d/firewall, caso ele não exista, será criado. [root@localhost]# mcedit /etc/rc.d/init.d/firewall

Em seguida adicione as seguintes linhas ao arquivo, elas serão responsáveis para que

o firewall seja habilitado no ntsysv, que será usado para ativar ou desativar a

Page 316: Servidores de Redes.pdf

inicialização automática do firewall no boot: OBS: As linhas marcadas com "*" não

devem ser incluídas no arquivo. #! /bin/sh

# Inicialização do firewall - ipchains

#

# description: Firewall

# chkconfig: 2345 80 30

# processname: firewall

# pidfile: /var/run/firewall.pid

. /etc/rc.d/init.d/functions

. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]

then

exit 0

fi

case "$1" in

start)

gprintf "Iniciando o serviço de %s: " "Firewall"

echo

Agora adicione as seguintes linhas para que todas as regras do firewall sejam

"limpas", para que, dessa forma, comecemos a partir do início a configurar nossas

regras de firewall:

# Limpando todas as regras de firewall antes de começar

ipchains -F input ipchains -F forward ipchains -F output ipchains -P input

ACCEPT ipchains -P forward ACCEPT ipchains -P output ACCEPT A partir de agora vamos realmente começar a configuração do firewall, inclua essas

linhas para que seja ativado o IP Masquerading no servidor e, dessa forma, as

máquinas internas da rede estejam aptas a acessar a internet através do servidor:

# Ativando repasse de pacotes echo 1 > /proc/sys/net/ipv4/ip_forward

# Carregando módulos necessários ao IP Masquerading /sbin/modprobe ip_masq_ftp

/sbin/modprobe ip_masq_quake

/sbin/modprobe ip_masq_irc

/sbin/modprobe ip_masq_user

/sbin/modprobe ip_masq_raudio

# Ativando o IP Masquerading ipchains -P forward DENY

ipchains -A forward -s 192.168.1.0/24 -j MASQ

Nesse ponto as máquinas da rede já estarão aptas a acessar a internet pois o servidor já

estará fazendo o mascaramento de IPs. A partir de agora vamos começar a definir as

regras de entrada do firewall, são aquelas que irão filtrar tudo que entra na rede vindo

da internet. Vamos começar bloqueando todo os pacotes icmp e também igmp vindos

da internet, isso evitará que sejam usados alguns tipos de scanports "contra" seu

sistema, scanports servem para saber quais portas estão abertas no servidor para serem

usadas em possíveis "ataques":

Page 317: Servidores de Redes.pdf

# Configurando regras de entrada

# Liberando acesso total ao servidor para a rede interna ipchains -A input -s 192.168.1.0/24 -d 192.168.1.1 -i eth1 -j ACCEPT

# Bloqueando protocolos icmp vindos da internet ipchains -A input -l -p icmp -d 200.10.15.1 -i eth0 -j REJECT

Vamos agora bloquear o acesso externo à serviços que utilizam protocolos udp e são

necessários apenas à rede interna, como não sabemos quais os serviços o servidor

estará rodando, pois isso depende da vontade do administrador, vamos especificar

uma faixa de portas que cobre todos eles:

# Bloqueando acesso externo à serviços udp internos ipchains -A input -l -p udp -d 200.10.15.1 :1023 -i eth0 -j REJECT

Daqui em diante entra a parte mais importantes do firewall, as regras que filtram os

serviços de protocolo tcp, mas as regras a serem inseridas a partir deste ponto depende

dos serviços que estarão rodando e, principalmente, do uso que se deseja fazer deles.

Aqui apresentaremos alguns exemplos, os quais devem ser adaptados, ou mesmo

excluídos, dependendo da necessidade:

Vamos supor que existam alguns serviços rodando no servidor, a título de exemplo,

vamos assumir que todos eles são _apenas_ para uso das máquinas da rede interna,

caso pretenda-se que algum serviço aceite conexões vindas da internet a regra para o

mesmo deve ser omitida. As regras são apresentadas na mesma ordem em que os

serviços serão, agora, listados, são eles: ftp, ssh, telnet, email (SMTP), servidor DNS,

servidor www, email (POP3), portmapper, servidor proxy (squid) e servidor de irc.

# Configurando regras de filtragem de protocolo tcp

# ftp ipchains -A input -l -p tcp -d 200.10.15.1 21 -i eth0 -j REJECT

# ssh ipchains -A input -l -p tcp -d 200.10.15.1 22 -i eth0 -j REJECT

ipchains -A input -l -p udp -d 200.10.15.1 22 -i eth0 -j REJECT

# telnet ipchains -A input -l -p tcp -d 200.10.15.1 23 -i eth0 -j REJECT

# SMTP (email) ipchains -A input -l -p tcp -d 200.10.15.1 25 -i eth0 -j REJECT

# Servidor DNS ipchains -A input -l -p udp -d 200.10.15.1 53 -i eth0 -j REJECT

ipchains -A input -l -p tcp -d 200.10.15.1 53 -i eth0 -j REJECT

# Servidor www ipchains -A input -l -p tcp -d 200.10.15.1 80 -i eth0 -j REJECT

# POP3 (email) ipchains -A input -l -p tcp -d 200.10.15.1 110 -i eth0 -j REJECT

# Portmapper ipchains -A input -l -p tcp -d 200.10.15.1 111 -i eth0 -j REJECT

# Servidor proxy (squid) ipchains -A input -l -p tcp -d 200.10.15.1 3128 -i eth0 -j REJECT

ipchains -A input -l -p udp -d 200.10.15.1 3128 -i eth0 -j REJECT

# X11 (não retire essa linha)

Page 318: Servidores de Redes.pdf

ipchains -A input -l -p tcp -d 200.10.15.1 6000 -i eth0 -j REJECT

# Servidor de irc ipchains -A input -l -p tcp -d 200.10.15.1 6667 -i eth0 -j REJECT

ipchains -A input -l -p udp -d 200.10.15.1 6667 -i eth0 -j REJECT

Agora vamos definir as regras de saída, no caso, liberando acesso total da rede para a

internet: ipchains -P output DENY

ipchains -A output -s 192.168.1.0/24 -d 0.0.0.0/0 -j ACCEPT

Pronto, as regras de firewall foram todas definidas, lembre-se para os serviços que

não se deseja filtrar apenas omita as linhas correspondentes. Agora vamos finalizar

nosso arquivo para que possamos utiliza-lo, adicione as seguintes linhas ao final do

arquivo: ;;

stop)

gprintf "Parando o serviço de %s: " "Firewall"

echo

/sbin/ipchains --flush

;;

*)

gprintf "Uso: firewall (start|stop)"

echo

;;

esac

exit 0

Agora salve o arquivo pressionando F2 e saia do mcedit pressionando F10.

Presisamos agora dar permissão de execução ao arquivo: [root@localhost]# cds

[root@localhost]# chmod +x firewall

Agora vamos ativá-lo para inicialização automática no boot da máquina: [root@localhost]# ntsysv

Procure por firewall, ative-o pressionando a barra de espaço, pressione TAB para

selecionar OK e pressione ENTER para sair.

Agora toda vez que a máquina for reiniciada o firewall será automaticamente

configurado, para ativá-lo agora execute: [root@localhost]# ./firewall start

Pronto seu firewall já está configurado e funcionando, mas, lembre-se:

Os IPs utilizados nesse exemplo devem ser substituídos pelos IPs utilizados em sua

rede, bem comos os devices de rede (eth0, eth1), também devem ser substituídos de

acordo com sua rede.

Esse exemplo representa a criação de _um_ arquivo, todas as informações que se

deseja utilizar devem ser incluídas no mesmo arquivo, e na mesma ordem

apresentada.

Agora vamos fazer um breve comentário a respeito das máquinas clientes, que

também devem ser configuradas para que acessem a internet através do servidor.

Configuração das Estações

Page 319: Servidores de Redes.pdf

A configuração das estações de trabalho para utilizar o IP Masquerading é bastante

simples tanto para estações Conectiva Linux quanto para estações Windows®.

Para configurar a estação Conectiva Linux a fim de utilizar o servidor com o objetivo

de conectar-se à Internet, execute os seguintes passos: [root@localhost]# linuxconf

Vá para Ambiente de Rede->Tarefas do cliente->Roteamento e Roteadores:

Selecione Padrões e informe o endereço de IP de seu servidor.

Deixe a opção Ative o roteamento desativada.

Saia do Linuxconf e ative a configuração. [root@localhost]# cds

[root@localhost]# ./network stop

[root@localhost]# ./network start

Estações Windows®

Para configurar uma estação Windows® para utilizar o servidor a fim de conectar-se à

Internet, siga os seguintes passos:

a. Vá para Iniciar->Configurações->Painel de Controle->Rede:

b. Clique em TCP/IP e pressione o botão Propriedades.

c. Clique em Configuração DNS

d. Clique em Ativar DNS e digite o nome de sua máquina no campo Host e o

domínio no campo Domínio. Especifique também o DNS do provedor onde

você esta se conectando.

e. Digite o endereço de IP de seu servidor em Ordem pesquisa servidor DNS e

clique em Adicionar.

f. Digite o nome do seu domínio em Ordem pesquisa sufixo domínio e clique em

Adicionar.

g. Clique em Gateway e informe o número ip do seu servidor.

h. Clique em Ok e saia da configuração de rede. Você terá de reinicializar o

computador. Para testar a configuração, tente acessar algum endereço da

Internet após ter reinicializado a máquina.

19.3. Como criar o arquivo ipchains para que

apareça a opção ipchains no ntsysv? Primeiramente acesse como superusuário o seguinte diretório: [root@localhost]# cd /etc/rc.d/init.d

Agora utilize eu editor favorito e crie o arquivo ipchains com o seguinte conteúdo:

Nota: As linhas como comentários com um "#" na frente também devem ser incluídas

exatamente igual abaixo. #! /bin/sh

# description: Inicializacao do ipchains

#

# chkconfig: 2345 80 30

# processname: ipchains

# pidfile: /var/run/ipchains.pid

. /etc/rc.d/init.d/functions

Page 320: Servidores de Redes.pdf

. /etc/sysconfig/network

if [ ${NETWORKING} = "no" ]

then

exit 0

fi

case "$1" in

start)

gprintf "Iniciando o serviço de %s: " "IPChains"

echo

echo 1 > /proc/sys/net/ipv4/ip_forward

/sbin/ipchains -P forward DENY

/sbin/ipchains -A forward -s 10.0.0.0/24 -j MASQ

/sbin/modprobe ip_masq_ftp

/sbin/modprobe ip_masq_quake

/sbin/modprobe ip_masq_irc

/sbin/modprobe ip_masq_user

/sbin/modprobe ip_masq_raudio

;;

stop)

gprintf "Parando o serviço de %s: " "IPChains"

echo

/sbin/ipchains --flush

;;

*)

gprintf "Uso: ipchains (start|stop)"

echo

;;

esac

exit 0

Após criar o arquivo ipchains é necessário dar permissões de execução para o

mesmo:

[root@localhost]# chmod +x /etc/rc.d/init.d/ipchains

19.4. Como configurar um firewall usando

Iptables? ###CL70 kernel 2.4.5###

A ferramenta iptables insere e retira regras da tabela de filtragem de pacotes do kernel. Para

que as regras não se percam no "reboot" da máquina, faz-se uso de scripts que são lidos a

cada reinicialização e atualizados durante a utilização da ferramenta, não havendo a

necessidade de reconfiguração da tabela de regras manualmente a cada vez que a máquina é

ligada.

Obs: um filtro de pacotes de uma rede não deve ser reinicializado constantemente,

principalmente em se tratando de Linux.

Iptables é, portanto, um substituto para as ferramentas ipfwadm e ipchains, com substanciais

recursos adicionados.

Page 321: Servidores de Redes.pdf

Para minimizar as restrições ao processo de migração por quem já utilizava os antigos

pacotes de filtragem, existem módulos de suporte a essas ferramentas no novo kernel.

Configurando Tabelas de Regras Permanentes

Como a configuração do firewall está armazenada no kernel e pode ser perdida em um

reboot, é necessária a criação de arquivos (scripts) como iptables-save e iptables-restore e

incorporados à inicialização da máquina (scripts de inicialização) para automatizar o

processo de inicialização do filtro de pacotes.

Implementação de filtro em conexão discada

Em uma conexão simples (PPP) para acesso à Internet, é possível impedir que algo "entre"

em sua rede ou máquina pessoal, durante a conexão utilizando um script baseado em

Netfilter/Iptables do tipo:

## Se você compilou como modulo o connection-tracking, descomente as linhas abaixo # insmod ip_conntrack

# insmod ip_conntrack_ftp

## Crie a 'chain' block para bloquear acessos de estranhos iptables -N block

iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT

iptables -A block -j DROP

## Direcione (jump) as 'chains' INPUT e FORWARD para sua chain block. iptables -A INPUT -j block

iptables -A FORWARD -j block

Funcionamento Interno

O kernel inicia com três listas de regras chamadas firewall, sendo elas: INPUT, OUTPUT e

FORWARD, que funcionam de forma diferente das ferramentas que utilizavam versões 2.0 e

2.2 do kernel. Incoming / \ Outgoing

-->[Routing ]--->|FORWARD|------->

[Decision] \_____/ ^

| |

| |

v ____

___ / \

/ \ |OUTPUT|

|INPUT| \____/

\___/ ^

| |

----> Local Process ----

No esquema acima, são representadas as três 'chains'. Quando um pacote atinge uma das

chains, esta examina o seu cabeçalho e, baseada em sua tabela de regras, decide o que fazer

com o pacote. Se a chain determina que seja bloqueado, o pacote é descartado neste

momento, caso contrário (ACCEPT) o pacote segue conforme o diagrama.

Usando iptables

O iptables é similar ao ipchais, só que com várias características incorporadas. As três

'chains' padrão permanecem (INPUT, OUTPUT e FORWARD). Estas chains não podem ser

apagadas, embora, como no iptables, novas chains podem ser criadas e apagadas.

As principais operações de manipulação de chains do iptables são :

-N Cria uma nova chain

Page 322: Servidores de Redes.pdf

-X Deleta uma chain (vazia)

-P Muda as regras para uma chain padrão

-L Lista as regras de uma chain

-F "Flush" as regras fora da chain

-Z Zera os pacotes e 'byte counters' de todas as regras de uma chain

Existem muitos meios de manipular regras dentro de uma chain:

-A Acrescenta uma nova regra a uma chain

-I Insere uma nova regra em alguma posição em uma chain

-R Substitui uma regra em alguma posição em uma chain

-D Apaga uma regra em alguma posição em uma chain

-D Apaga a primeira regra que comparar em uma chain

O iptables na inicialização da Máquina

O iptables pode ser um módulo, chamado ('iptable_filter.o'), que poderia ser carregado

automaticamente na primeira vez em que é rodado o iptables, ou também pode estar dentro

do kernel permanentemente (compilado junto com o kernel).

Antes de qualquer comando do iptables ser acionado (supondo que não esteja sendo

inicializado através dos scripts de inicialização da distribuição), não há regras em qualquer

chain. Todas as chains têm a política de aceitação (ACCEPT). Você pode alterar a política

default da chain FORWARD para prover a opção 'forward=0' para o módulo iptable_filter.

Manipulando Regras com Simplicidade

Cada regra especifica que condições o pacote precisa satisfazer, e para onde ele deve seguir.

Por exemplo, pode-se barrar todos os pacotes ICMP vindos do endereço IP 127.0.0.1: Condições :

protocolo = ICMP;

endereço IP de origem = 127.0.0.1

protocolo = ICMP;

endereço IP de origem = 127.0.0.1

Alvo (target) = 'DROP'

(127.0.0.1 é a interface 'loopback' (localhost)utilizada como exemplo.

Para testar utilize o 'ping' para gerar os pacotes (O ping simplesmente envia pacotes ICMP

tipo 8 [echo request] aguardando como resposta um pacote ICMP tipo 0 [echo reply]). [root@localhost /root]# ping -c 1 127.0.0.1

PING 127.0.0.1 (127.0.0.1): 56 data bytes

64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms

--- 127.0.0.1 ping statistics ---

1 packets transmitted, 1 packets received, 0% packet loss

round-trip min/avg/max = 0.2/0.2/0.2 ms

Aplicando a regra :

#iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP

Tem-se então como resposta :

[root@localhost /root]# ping -c 1 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes --- 127.0.0.1 ping statistics ---

1 packets transmitted, 0 packets received, 100% packet loss

[root@localhost /root]#

Antes de aplicarmos a regra do iptables, o ping (com o parâmetro -c 1, que se refere ao envio

de somente um pacote) foi bem sucedido, obtendo o echo reply. Quando foi adicionado o -A

Page 323: Servidores de Redes.pdf

à chain INPUT, a regra especificou que para pacotes vindos de 127.0.0.1 (-s 127.0.0.1) com

protoloco ICMP (-p icmp) deveriam saltar para o DROP (-j DROP).

Ao testar essa regra usando novamente o ping, há uma pausa (a solicitação espera por uma

resposta que nunca vem) e em seguida a mensagem de que o pacote foi perdido (100%

packet loss).

Essa regra pode ser apagada de duas maneiras. Ou deletando diretamente pelo número da

regra na chain INPUT:

# iptables -D INPUT 1

Ou substituindo o comando -A por -D na linha de inserção da regra :

# iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP

A sintaxe do -D tem exatamente as mesmas opções dos comandos -A, -I ou -R. Se existirem

muitas regras idênticas na mesma chain, somente a primeira será apagada.

Especificando a Filtragem

Há ainda outras opções que podem ser usadas para especificar características de uma regra

de filtragem de pacotes: * Origem (source)

-s

--source

--src

* Destino (destination)

-d

--destination

--dst

A origem ou o destino podem ser especificadas de quatro formas:

full name : como `localhost' ou `www.linuxhq.com'

Endereço IP : como `127.0.0.1'

Grupo de endereços IP : do tipo `199.95.207.0/24' ou `199.95.207.0/255.255.255.0'

Os dígitos após a barra '/' são a máscara de rede utilizada para definir os IP's que estão

englobados no grupo. '/32' ou '/255.255.255.255' representam o padrão. Para especificar

algum endereço IP entre todos, podemos usar '/0'.

[ OBS: `-s 0/0' é redundante aqui. ]

# iptables -A INPUT -s 0/0 -j DROP

Especificando uma Inversão (!)

Muitas flags, inclusive a -s e -d podem ter seus argumentos precedidos por (!) (pronucia-se

'not') para se referir a endereços diferentes (NOT equal) dos apresentados. Por exemplo:

'-s ! localhost' -> refere-se a todos os pacotes não vindos de localhost.

Especificando o Protocolo

O protocolo pode ser especificado com a flag `-p' (ou `--protocol'). O protocolo pode ser um

número (se você sabe o valor numérico do protocolo por IP), ou um nome para os casos

especiais de `TCP', `UDP' ou `ICMP'. O nome do protocolo também pode (como as flags

descritas acima) serem prefixados por um (!) , para invertê-lo. Por exemplo `-p ! TCP' para

especificar pacotes não TCP.

Especificando uma Interface Interface de Entrada `-i' (ou `--in-interface')

Page 324: Servidores de Redes.pdf

Interface de Saída `-o' (ou `--out-interface')

Obs.: Pacotes atravessando a chain INPUT não passam por uma interface de saída (output),

assim, qualquer regra usando -o nesta chain é inútil.

Obs2.: Igualmente, pacotes que atravessam a chain OUTPUT não passam por uma inteface

de entrada (input), assim, qualquer regra usando -i nesta chain é inútil.

Obs3.: Somente pacotes que atravessam a chain FORWARD passam por ambas as interfaces

(input e output).

Especificando Fragmentos

Algumas vezes um pacote é muito grande para ser enviado todo de uma vez. Quando isso

acontece, o pacote é dividido em fragmentos e enviados como múltiplos pacotes. No destino,

estes fragmentos são montados, reconstruindo o pacote original. O problema com

fragmentos é que o primeiro deles tem a informação completa do campo de cabeçalho (IP +

TCP, UDP e ICMP) para serem examinados, mas os pacotes seguintes somente tem uma

parte do cabeçalho (IP sem o campo de protocolo adicional).

Quando isso não acontece, as regras de filtragem procuram por informações sobre o pacote e

não encontram. Isso acontece porque o primeiro fragmento (com as informações completas)

é tratado como um pacote qualquer, já os demais fragmentos não. Nesses casos a regra -p

TCP --sport www especifica a porta de origem do 'www', o oposto desta regra seria -p TCP -

-sport ! www.

De outra torma, você pode especificar uma regra especificamente para fragmentos

posteriores, usando a flag `-f' (ou `--fragment'). Isto também é usado para inserir uma regra

que não se aplica aos fragmentos posteriores, usando a inversão '!' precedendo a flag '-f'

Como exemplo, veja uma regra para barrar (drop) fragmentos vindos de 192.168.1.1:

# iptables -A OUTPUT -f -d 192.168.1.1 -j DROP

Extensões ao iptables: Novas combinações

O pacote iptables é extensível, ou seja, os recursos incorporados ao kernel juntamente com a

ferramenta iptables, podem ser combinados para prover novas características.

Algumas destas extensões são triviais, e outras bem "exóticas". Extensões podem ser feitas

por outras pessoas e distribuídas separadamente para outros usuários.

As extensões do kernel normalmente estão situadas no subdiretório de módulos do kernel,

como em /lib/ modules/2.4.0/net. Estas extensões destão disponíveis para leitura se o

kernel foi compilado com o parâmetro CONFIG_KMOD marcado, para não precisar inserí-

lo manualmente.

Já as extensões do programa iptables são bibliotecas normalmente localizadas

em /usr/local/lib/iptables/, dependendo da distribuição, também poderiam estar

em /lib/iptables ou /usr/lib/iptables.

As extensões podem ser de dois tipos: novos alvos (targets) ou novas combinações

(matches). Alguns protocolos oferecem automaticamente novos testes que podem ser

implementados na linha de comando após a opção '-p', para ler a extensão equivalente ao

novo teste explicitado, com a opção '-m' responsável pela leitura da extensão.

Para visualizar o help de uma extensão, use a opção para lê-la (`-p', `-j' ou `-m') seguida de `-

h' ou `--help', por exemplo: # iptables -p tcp --help

Extensões TCP

Page 325: Servidores de Redes.pdf

As extensões TCP são automaticamente carregadas se a opção `-p tcp' é especificada. Em

seguida, então, pode-se adicionar as opções desejadas, detalhadas a seguir:

--tcp-flags Utilizada para filtrar flags específicas, (ou não, em caso de precedida de). A

primeira string de flags é a máscara lista de flags para examinar)e a segunda string sinaliza

qual(is) flags serão selecionadas, por exemplo :

# iptables -A INPUT --protocol tcp --tcp-flags ALL SYN,ACK -j DENY

# iptables -A INPUT --protocol tcp --tcp-flags ALL SYN,ACK -j DENY

Isto indica que todas as flags serão examinadas ('ALL' é equivalente a informar

'SYN,ACK,FIN,RST, URG,PSH'), mas somente SYN e ACK serão selecionadas. Existe

também o argumento 'NONE' para indicar nenhuma flag.

--syn Opcionalmente precedida por um '!', esta opção é a abreviação para `--tcp-flags

SYN,RST,ACK SYN'.

--source-port (ou -sport)

Opcionalmente precedida por um '!', utilizada para indicar uma porta TCP, ou uma lista de

portas. As portas podem ser indicadas por nomes, (indicadas em /etc/services , ou por seus

números equivalentes). A lista de portas deve ter seus nomes (ou números) separados por um

':'

--destination-port (ou -dport) De utilização semelhante ao anterior, só que especifica a(s)

porta(s) de destino ao invés de origem.

--tcp-option Precedido opcionalmente por um '!', e um número, compara um pacote com uma

opção TCP igual a um número. Um pacote que não tenha um cabeçalho TCP completo é

barrado (drop) automaticamente se esta opção estiver formulada para examinar esta situação.

Proteção contra Syn-floods # iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

Port scanners ocultos # iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m

limit --limit 1/s -j ACCEPT

"Ping da morte" # iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit

1/s -j ACCEPT

owner

Este módulo ajuda a localizar várias características do criador de pacotes gerados internamente.

Esta opção somente é válida para a chain OUTPUT, e detecta quando alguns pacotes (como

respostas a ping's ICMP) não possuem dono, e consequentemente nunca chegarão ao destino.

--uid-owner

userid

Ativa a regra se o pacote foi criado por um processo concebido efetivamente pelo (número) user

id.

--uid-owner

groupid

Ativa a regra se o pacote foi criado por um processo concebido efetivamente pelo (número) group

id.

--pid-owner

processid

Ativa a regra se o pacote foi criado por um processo concebido efetivamente pelo (número)

process id

--sid-owner

processid Ativa a regra se o pacote foi criado por um processo concebido pelo session group.

unclean Este módulo experimental pode ser explicitamente especificado com a opção `-m unclean ou `--

Page 326: Servidores de Redes.pdf

match unclean'. Ele realiza várias checagens aleatórias em pacotes. Este módulo não foi auditado,

e não poderia ser usado como um mecanismo de segurança (ainda pode conter bugs internos).

O Estado "Match"

A utilização mais conveniente para a opção 'match' é fornecida pela extensão 'state', que

interpreta a e analisa a conexão do módulo `ip_conntrack'. Ela é altamente recomendada.

Especificamente, a opção `-m state' aceita uma opção adicional `--state', que é uma lista de

estados de ativação separados por vírgula. (a flag '!' não indica a ativação deses estados).

Esses estados são:

NEW Um pacote que cria uma nova conexão.

ESTABLISHED Um pacote que pertence a uma conexão existente (isto é, um pacote de resposta).

RELATED

Um pacote que está relacionado com (mas não faz parte de) uma conexão existente, como um

ICMP error, ou (com o módulo FTP inserido), um pacote que estabelecido por uma conexão de

dados ftp.

INVALID

Um pacote que não poderia ser identificado por alguma razão: isto inclui execução fora da

memória e erros de ICMP que não correspondam a nenhuma conexão existente. Geralmente

estes pacotes devem ser barrados (drop).

Especificações de Alvos (TARGET's)

Após examinar um pacote, é necessário indicar um destino para o mesmo, caso seja ativada

alguma das regras. Isto é chamado de regra de alvo (rule's target). Os dois alvos mais

comumente utilizados em um filtro de pacotes são o DROP (para barrar o pacote) e o

ACCEPT (para aceitá-lo). Se uma regra é ativada e o alvo é um destes dois, nenhuma regra

mais é consultada.

Chains definidas pelo usuário

Uma das funções que o iptables herdou do ipchains é a possibilidade do usuário criar novas

chains, complementando as três chains padrão (INPUT, FORWARD and OUTPUT). Por

convenção, as chains definidas pelo usuários são compostas por letras minúsculas para

distingui-las. Mais adiante, as chains definidas pelo usuários serão mais detalhadas.

Quando um pacote ativa uma regra cujo alvo é uma chain definida pelo usuário, o pacote

segue atravessando a regra da chain definida pelo usuário. Se a chain não decide o destino

do pacote, então o pacote passará para a próxima regra da chain corrente.

Veja o exemplo gráfico a seguir. Consedere duas chains bem simples: INPUT (a chain

padrão) e test (uma chain definida pelo usuário) `INPUT' `test'

----------------------------- ----------------------------

| Regra1: -p ICMP -j DROP | | Regra1: -s 192.168.1.1

|---------------------------| |---------------------------|

| Regra2: -p TCP -j test | | Regra2: -d 192.168.1.|

|---------------------------| ----------------------------

| Regra3: -p UDP -j DROP |

-----------------------------

Page 327: Servidores de Redes.pdf

Extensões para iptables

Um outro tipo de alvo é uma extensão. Um alvo extensão consiste em um módulo do kernel,

uma extensão opcional para o iptables para prover novas opções de linhas de comando. Há

muitas extensões na distribuição padrão do netfilter:

LOG Este módulo provê o log (logging) a nível de kernel de pacotes que ativem regras de

filtragem. Existem algumas opções adicionais:

--log-level Seguido por um número de nível (level number) ou nome. Os nomes válidos são

(em minúsculas): `debug', `info', `notice', `warning', `err', `crit', `alert' e `emerg',

correspondendo aos números de 7 a 0. Veja a página de manual (man page) do syslog.conf

para um melhor detalhamento desses níveis.

--log-prefix Seguido por uma string de até 30 caracteres, esta mensagem é "impressa" no

início da mensagem de log, (para facilitar a identificação de mensagens emitidas pelo

iptables por parte de programas de tratamento de log, sem confundí-las com as de outros

serviços logados pelo syslog). Este módulo é muito usado após um alvo limite, porém,

cuidado para não inundar ("floodar") seus logs.

REJECT

Este módulo tem o mesmo efeito que o 'DROP', exceto pelo fato de que ele envia uma

mensagem de erro à origem do pacote (ICMP 'port unreachable').

OBS: A mensagem de ICMP error não será enviada se (mais detalhes na RFC 1122) :

- O pacote que está sendo filtrado contiver uma mensagem de erro ICMP no início, ou algum

tipo de ICMP desconhecido (unknown ICMP type);

- O pacote que está sendo filtrado for um fragmento que não pertence ao cabeçalho;

- Foram enviados muitos pacotes com mensagens de erro ICMP para este destino

recentemente.

REJECT também possui o argumento opcional `--reject-with' que altera a resposta ao pacote

(veja a página de manual para mais detalhes)

Alvos padrão Especiais

Existem 2 alvos padrão especiais:

RETURN tem o mesmo efeito de não-ativação ao final de uma chain: para uma regra de com

uma chain padrão, a política da chain é executada. Para uma regra definida pelo usuário,

retorna à chain anterior, obedecendo às regras após o alvo que implicou no salto para a regra

em questão.

QUEUE é um alvo especial, que enfileira (QUEUE) o pacote para um "userspace

processing". Para implementar isto, 2 componentes adicionais são requeridos:

- Uma "queue handler", que trabalhe conjuntamente com o atual mecanismo de passagem de

pacotes entre o kernel e o o "userspace" ; e

- Uma aplicação "userspace" para receber, (possivelmente manipular), e emitir um veredicto

sobre o pacote.

O modelo de "queue handler" para IPv4 iptables é o módulo ip_queue, que é distribuído com

o kernel e marcado como experimental (até a presente versão em desenvolvimento).

O status do ip_queue pode ser checado via: /proc/net/ip_queue O valor padrão para o comprimento máximo do queue é 1024. Sempre que este limite for

ultrapassado, novos pacotes serão barrados após o comprimento da queue atingir o seu

limite. Alguns protocolos como o TCP interpreta a barragem de pacotes como

Page 328: Servidores de Redes.pdf

congestionamento, e aguardará a queue retornar. Outras vezes, ele pode experimentar

determinar um comprimento máximo ideal da queue para uma próxima situação se o valor

padrão form muito pequeno.

Criando uma nova chain

Chamaremos nossa primeira chain de test. Para criá-la podemos utilizar a opção `-N' ou `--

new-chain': # iptables -N test

# iptables -N test

Pronto. Basta agora definir os detalhes da nova chain e as regras que irão utilizá-la.

** Para deletar uma chain podemos utilizar a opção `-X' ou `--delete-chain' # iptables -X test

Há um par de restrições para deletar chains: Não pode haver regras ativas que contenham

estas chains; e As chains não podem ser alvos de nenhuma regra.

OBS1: Você não pode deletar as 3 chains padrão.

OBS2: Se não for especificada a chain a deletar, todas as chains definidas pelo usuário serão

deletadas (se possível)

** Existe um simples caminho para descarregar todas as regras para fora de uma chain,

usando o comando `-F' (ou `--flush'). # iptables -F forward

Se não for especificada uma chain, todas as chains serão descarregadas.

** É possível listar todas as regras de uma chain usando o comando `-L' (ou `--list').

A `refcnt' listada por cada chain definida pelo usuário é o número de regras que têm esta

chain como alvo. Ela deve ter valor zero (e a chain estar vazia) antes desta chain ser

deletada. Se o nome da chain for omitido, todas as chains serão listadas, inclusive as vazias.

Existem 3 opções que podem acompanhar `-L':

** A opção (numérica) `-n' é muito usado para tentar fazer o iptables examinar o reverso do

endereço IP, que (se você estiver usando o DNS como muitas pessoas) causará longas

esperas (delays) se seu DNS não estiver configurado adequadamente, ou se houverem regras

de filtragem de saídas de requisições DNS. Isto também faz com que as portas TCP e UDP

sejam impressas como números antes dos nomes. # iptables -N test

** A opção '-v' exibe todos detalhes das regras, assim como os pacotes e os 'byte counters',

as comparações TOS, e as interfaces. Em alguns casos estes valores são omitidos. Os

pacotes e 'byte counters' são exibidos usando os sufixos `K', `M' ou `G' para abreviar 1.000,

1.000.000 e 1.000.000.000 respectivamente.

Mesclando NAT e Filtragem de Pacotes

É muito comum utilizar em um firewall recursos de NAT (Network Address Translation)

juntamente com filtragem de pacotes. O iptables realiza esta tarefa extremamente bem, sem

a necessidade de pacotes adicionais.

É possível implemenar a filtragem de pacotes ignorando completamente qualquer NAT, se

você desejar. As origens e destinos "enxergadas" pelos pacotes serão as origens e destinos

"reais".

Page 329: Servidores de Redes.pdf

Por exemplo, se você fez DNAT para enviar conexões direcionadas para o IP 1.2.3.4 porta

80 através do IP 10.1.1.1 porta 8080, o filtro de pacotes poderia enxergar os pacotes indo

para 10.1.1.1 porta 8080 (o destino real) e não para 1.2.3.4 porta 80.

Você pode utilizar a extensão 'state' sem trabalhar com o filtro de pacotes, desde que o NAT

solicite conexão de qualquer modo. A seguir, um exemplo simples de mascaramento

utilizando NAT para desabilitar qualquer nova conexão vindo da interface ppp0:

* Mascarando a saída pela interface ppp0 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

* Desabilitando solicitações novas (NEW) e inválidas (INVALID) ou pacotes enviados da

interface ppp0. iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP

iptables -A FORWARD -i ppp0 0 -m state --state NEW,INVALID -j DROP

# Habilitando o recurso de IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward

Diferenças entre iptables e ipchains

Primeiramente, a escrita dos nomes das chains padrão foram modificados de maiúsculas para

minúsculas, isso porque no novo pacote, as chains INPUT e OUTPUT somente são

utilizadas para destinos locais e pacotes gerados localmente, para visualizar todos os pacotes

que chegam e que saem respectivamente.

A flag '-i' agora indica a interface de entrada, e somente deve ser utilizada nas chains INPUT

e FORWARD. Regras das chains FORWARD (para saída) e OUTPUT que utilizavam '-i'

devem agora utilizar '-o'.

As portas TCP e UDP agora precisam ser descritas com as opções --source-port ou --sport

(ou --destination-port/--dport), e podem ser posicionadas após as opções `-p tcp' ou `-p udp'

que carregam as extensões TCP ou UDP respectivamente. * A flag TCP -y é agora --syn, e deve vir após a opção `-p tcp'.

* A flag TCP -y é agora --syn, e deve vir após a opção `-p tcp'.

* O alvo (target) DENY é agora DROP.

* REJECT e LOG são agora alvos extendidos, entendidos como módulos do kernel

separados.

* Os nomes das chains podem ter até 31 caracteres.

* MASQ é agora MASQUERADE e utiliza uma sintaxe diferente. REDIRECT, embora

tenha mantido o mesmo nome, também sofreu modificações de sintaxe.

* A opção -o não é mais utilizada para direcionar pacotes para dispositivos

'userspace'. Pacotes são agora enviados ao userspace via alvo QUEUE.

Conselhos sobre Implementação de Filtragem de Pacotes

A prática comum na filtragem de pacotes é o bloqueio de todos os serviços, e a abertura de

regras ncessárias. Este procedimento é o mais recomendável para obter um nível de

segurança maior. Não rode nenhum serviço que você não precisa rodar, se você não sabe pra

que serve, bloqueie o acesso a ele. Se você está criando um firewall dedicado, inicie sem

rodar nada, e bloqueie todos os pacotes, então adicione os serviços necessários. Outra

recomendação do texto-original é combinar tcp-wrappers, proxies, verificação de rotas e

Page 330: Servidores de Redes.pdf

filtragem de pacotes. Barrar, por exemplo, pacotes com endereços de origem internos vindos

de sua interface externa. Isto pode ser habilitado para uma interface (ppp0) como em: # echo 1 > /proc/sys/net/ipv4/conf/ppp0/rp_filter

Existem 3 sites oficiais tratando do assunto Netfilter/Iptables :

Filewatcher http://netfilter.filewatcher.org

The Samba Team and SGI http://www.samba.org/netfilter

Jim Pick http://netfilter.kernelnotes.org

Para a lista de discussão oficial sobre o assunto, veja informações em :

Samba's Listserver http://lists.samba.org

19.5. Como faço o mascaramento de minha rede

com iptables ? Primeiramente levante o módulo de seu kernel: [root@localhost]# modprobe iptable_nat

Agora faça o forward de pacotes de sua rede: [root@localhost]# echo 1 > /proc/sys/net/ipv4/ip_forward

Crie a regra: (para a conexão através da eth0)

[root@localhost]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ou, para ppp0 (conexão discada): [root@localhost]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

As regras serão perdidas na hora do boot de sua máquina, portanto salve-as:

[root@localhost]# iptables-save > /backup/regras

Insira no final do arquivo /etc/rc.local:

[root@localhost]# mcedit /etc/rc.local

As seguintes linhas:

modprobe iptable_nat

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables-restore /backup/regras

Pronto, agora em todo o boot suas regras serão inicializadas e suas máquinas da rede interna

estarão se conectando a internet por meio de mascaramento.

19.6. Firewall portas

Page 331: Servidores de Redes.pdf

Portas para o firewall:

Keyword Decimal Description References

# 0/tcp Reserved

# 0/udp Reserved Jon Postel [email protected]

tcpmux 1/tcp TCP Port Service Multiplexer

tcpmux 1/udp TCP Port Service Multiplexe Mark Lottor [email protected]

compressnet 2/tcp Management Utility

compressnet 2/udp Management Utility

compressnet 3/tcp Compression Process

compressnet 3/udp Compression Process Bernie Volz [email protected]

# 4/tcp Unassigned

# 4/udp Unassigned

rje 5/tcp Remote Job Entry

rje 5/udp "Remote Job Entry " Jon Postel [email protected]

# 6/tcp Unassigned

# 6/udp Unassigned

echo 7/tcp Echo

echo 7/udp Echo Jon Postel [email protected]

# 8/tcp Unassigned

# 8/udp Unassigned

discard 9/tcp Discard

discard 9/udp Discard Jon Postel [email protected]

# 10/tcp Unassigned

# 10/udp Unassigned

systat 11/tcp Active Users

systat 11/udp Active Users Jon Postel [email protected]

# 12/tcp Unassigned

# 12/udp Unassigned

daytime 13/tcp Daytime

daytime 13/udp Daytime Jon Postel [email protected]

# 14/tcp Unassigned

# 14/udp Unassigned

# 15/tcp Unassigned [was netstat]

# 15/udp Unassigned

# 16/tcp Unassigned

# 16/udp Unassigned

qotd 17/tcp Quote of the Day

qotd 17/udp "Quote of the Day " Jon Postel [email protected]

msp 18/tcp Message Send Protocol

msp 18/udp Message Send Protocol Rina Nethaniel

chargen 19/tcp Character Generator

chargen 19/udp Character Generator

ftp-data 20/tcp File Transfer [Default Data]

Page 332: Servidores de Redes.pdf

ftp-data 20/udp File Transfer [Default Data]

ftp 21/tcp File Transfer [Control]

ftp 21/udp File Transfer [Control] Jon Postel [email protected]

ssh 22/tcp SSH Remote Login Protocol

ssh 22/udp SSH Remote Login Protocol Tatu Ylonen [email protected]

telnet 23/tcp Telnet

telnet 23/udp Telnet Jon Postel [email protected]

# 24/tcp any private mail system

# 24/udp "any private mail system " Rick Adams [email protected]

smtp 25/tcp Simple Mail Transfer

smtp 25/udp Simple Mail Transfer Jon Postel [email protected]

# 26/tcp Unassigned

# 26/udp Unassigned

nsw-fe 27/tcp NSW User System FE

nsw-fe 27/udp NSW User System FE Robert Thomas [email protected]

# 28/tcp Unassigned

# 28/udp Unassigned

msg-icp 29/tcp MSG ICP

msg-icp 29/udp MSG ICP Robert Thomas [email protected]

# 30/tcp Unassigned

# 30/udp Unassigned

msg-auth 31/tcp MSG Authentication

msg-auth 31/udp MSG Authentication Robert Thomas [email protected]

# 32/tcp Unassigned

# 32/udp Unassigned

dsp 33/tcp Display Support Protocol

dsp 33/udp "Display Support Protocol " Ed Cain [email protected]

# 34/tcp Unassigned

# 34/udp Unassigned

# 35/tcp any private printer server

# 35/udp any private printer server Jon Postel [email protected]

# 36/tcp Unassigned

# 36/udp Unassigned

time 37/tcp Time

time 37/udp Time Jon Postel [email protected]

rap 38/tcp Route Access Protocol

rap 38/udp Route Access Protocol Robert Ullmann [email protected]

rlp 39/tcp Resource Location Protocol

rlp 39/udp Resource Location Protocol Mike Accetta [email protected]

# 40/tcp Unassigned

# 40/udp Unassigned

graphics 41/tcp Graphics

graphics 41/udp Graphics

nameserver 42/tcp Host Name Server

nameserver 42/udp Host Name Server

Page 333: Servidores de Redes.pdf

nicname 43/tcp Who Is

nicname 43/udp Who Is

mpm-flags 44/tcp MPM FLAGS Protocol

mpm-flags 44/udp MPM FLAGS Protocol

mpm 45/tcp Message Processing Module [recv]

mpm 45/udp Message Processing Module [recv]

mpm-snd 46/tcp MPM [default send]

mpm-snd 46/udp MPM [default send] Jon Postel [email protected]

ni-ftp 47/tcp NI FTP

ni-ftp 47/udp NI FTP Steve Kille [email protected]

auditd 48/tcp Digital Audit Daemon

auditd 48/udp Digital Audit Daemon Larry Scott [email protected]

bbn-login 49/tcp Login Host Protocol (TACACS)

bbn-login 49/udp Login Host Protocol (TACACS) Pieter Ditmars [email protected]

re-mail-ck 50/tcp Remote Mail Checking Protocol

re-mail-ck 50/udp Remote Mail Checking Protocol Steve Dorner [email protected]

la-maint 51/tcp IMP Logical Address Maintenance

la-maint 51/udp IMP Logical Address Maintenance Andy Malis [email protected]

xns-time 52/tcp XNS Time Protocol

xns-time 52/udp "XNS Time Protocol " Susie Armstrong Armstrong.wbst128@XEROX

domain 53/tcp Domain Name Server

domain 53/udp Domain Name Server Paul Mockapetris [email protected]

xns-ch 54/tcp XNS Clearinghouse

xns-ch 54/udp "XNS Clearinghouse " Susie Armstrong Armstrong.wbst128@XEROX

isi-gl 55/tcp ISI Graphics Language

isi-gl 55/udp ISI Graphics Language

xns-auth 56/tcp XNS Authentication

xns-auth 56/udp XNS Authentication Susie Armstrong Armstrong.wbst128@XEROX

# 57/tcp any private terminal access

# 57/udp any private terminal access Jon Postel [email protected]

xns-mail 58/tcp XNS Mail

xns-mail 58/udp XNS Mail Susie Armstrong Armstrong.wbst128@XEROX

# 59/tcp any private file service

# 59/udp "any private file service " Jon Postel [email protected]

# 60/tcp Unassigned

# 60/udp Unassigned

ni-mail 61/tcp NI MAIL

ni-mail 61/udp NI MAIL Steve Kille [email protected]

acas 62/tcp ACA Services

acas 62/udp ACA Services E. Wald [email protected]

whois++ 63/tcp whois++

whois++ 63/udp whois++ Rickard Schoultz [email protected]

covia 64/tcp Communications Integrator (CI)

covia 64/udp Communications Integrator (CI) """Tundra"" Tim Daneliuk [email protected]"

tacacs-ds 65/tcp TACACS-Database Service

Page 334: Servidores de Redes.pdf

tacacs-ds 65/udp TACACS-Database Service Kathy Huber [email protected]

sql*net 66/tcp Oracle SQL*NET

sql*net 66/udp Oracle SQL*NET Jack Haverty [email protected]

bootps 67/tcp Bootstrap Protocol Server

bootps 67/udp Bootstrap Protocol Server

bootpc 68/tcp Bootstrap Protocol Client

bootpc 68/udp Bootstrap Protocol Client Bill Croft [email protected]

tftp 69/tcp Trivial File Transfer

tftp 69/udp Trivial File Transfer David Clark [email protected]

gopher 70/tcp Gopher

gopher 70/udp Gopher Mark McCahill [email protected]

netrjs-1 71/tcp Remote Job Service

netrjs-1 71/udp Remote Job Service

netrjs-2 72/tcp Remote Job Service

netrjs-2 72/udp Remote Job Service

netrjs-3 73/tcp Remote Job Service

netrjs-3 73/udp Remote Job Service

netrjs-4 74/tcp Remote Job Service

netrjs-4 74/udp Remote Job Service Bob Braden [email protected]

# 75/tcp any private dial out service

# 75/udp any private dial out service Jon Postel [email protected]

deos 76/tcp Distributed External Object Store

deos 76/udp Distributed External Object Store Robert Ullmann [email protected]

# 77/tcp any private RJE service

# 77/udp any private RJE service Jon Postel [email protected]

vettcp 78/tcp vettcp

vettcp 78/udp vettcp Christopher Leong [email protected]

finger 79/tcp Finger

finger 79/udp Finger David Zimmerman [email protected]

http 80/tcp World Wide Web HTTP

http 80/udp World Wide Web HTTP

www-http 80/tcp World Wide Web HTTP

www-http 80/udp World Wide Web HTTP Tim Berners-Lee [email protected]

hosts2-ns 81/tcp HOSTS2 Name Server

hosts2-ns 81/udp HOSTS2 Name Server Earl Killian [email protected]

xfer 82/tcp XFER Utility

xfer 82/udp XFER Utility Thomas M. Smith [email protected]

mit-ml-dev 83/tcp MIT ML Device

mit-ml-dev 83/udp MIT ML Device David Reed

ctf 84/tcp Common Trace Facility

ctf 84/udp Common Trace Facility Hugh Thomas [email protected]

mit-ml-dev 85/tcp MIT ML Device

mit-ml-dev 85/udp MIT ML Device David Reed

mfcobol 86/tcp Micro Focus Cobol

mfcobol 86/udp Micro Focus Cobol Simon Edwards

Page 335: Servidores de Redes.pdf

# 87/tcp any private terminal link

# 87/udp any private terminal link Jon Postel [email protected]

kerberos 88/tcp Kerberos

kerberos 88/udp "Kerberos " B. Clifford Neuman [email protected]

su-mit-tg 89/tcp SU/MIT Telnet Gateway

su-mit-tg 89/udp SU/MIT Telnet Gateway Mark Crispin [email protected]

dnsix 90/tcp DNSIX Securit Attribute Token Map

dnsix 90/udp DNSIX Securit Attribute Token Map Charles Watt [email protected]

mit-dov 91/tcp MIT Dover Spooler

mit-dov 91/udp "MIT Dover Spooler " Eliot Moss [email protected]

npp 92/tcp Network Printing Protocol

npp 92/udp Network Printing Protocol Louis Mamakos [email protected]

dcp 93/tcp Device Control Protocol

dcp 93/udp Device Control Protocol Daniel Tappan [email protected]

objcall 94/tcp Tivoli Object Dispatcher

objcall 94/udp "Tivoli Object Dispatcher " Tom Bereiter

supdup 95/tcp SUPDUP

supdup 95/udp SUPDUP Mark Crispin [email protected]

dixie 96/tcp DIXIE Protocol Specification

dixie 96/udp DIXIE Protocol Specification Tim Howes [email protected]

swift-rvf 97/tcp Swift Remote Virtural File Protoco l

swift-rvf 97/udp Swift Remote Virtural File Protoco l Maurice R. Turcott

mailrus!uflorida!rm1!dnmrt%[email protected]

tacnews 98/tcp TAC News

tacnews 98/udp TAC News Jon Postel [email protected]

metagram 99/tcp Metagram Relay

metagram 99/udp Metagram Relay Geoff Goodfellow [email protected]

newacct 100/tcp [unauthorized use]

hostname 101/tcp NIC Host Name Server

hostname 101/udp NIC Host Name Server Jon Postel [email protected]

iso-tsap 102/tcp ISO-TSAP Class 0

iso-tsap 102/udp ISO-TSAP Class 0 Marshall Rose [email protected]

gppitnp 103/tcp Genesis Point-to-Point Trans Net

gppitnp 103/udp Genesis Point-to-Point Trans Net

acr-nema 104/tcp ACR-NEMA Digital Imag. & Comm. 300

acr-nema 104/udp ACR-NEMA Digital Imag. & Comm. 300 Patrick McNamee

csnet-ns 105/tcp Mailbox Name Nameserver

csnet-ns 105/udp Mailbox Name Nameserver Marvin Solomon [email protected]

3com-tsmux 106/tcp 3COM-TSMUX

3com-tsmux 106/udp 3COM-TSMUX Jeremy Siegel [email protected]

rtelnet 107/tcp Remote Telnet Service

rtelnet 107/udp Remote Telnet Service Jon Postel [email protected]

snagas 108/tcp SNA Gateway Access Server

snagas 108/udp SNA Gateway Access Server Kevin Murphy [email protected]

pop2 109/tcp Post Office Protocol - Version 2

Page 336: Servidores de Redes.pdf

pop2 109/udp Post Office Protocol - Version 2 Joyce K. Reynolds [email protected]

pop3 110/tcp Post Office Protocol - Version 3

pop3 110/udp Post Office Protocol - Version 3 Marshall Rose [email protected]

sunrpc 111/tcp SUN Remote Procedure Call

sunrpc 111/udp SUN Remote Procedure Call Chuck McManis [email protected]

mcidas 112/tcp McIDAS Data Transmission Protocol

mcidas 112/udp McIDAS Data Transmission Protocol Glenn Davis [email protected]

auth 113/tcp Authentication Service

auth 113/udp Authentication Service Mike St. Johns [email protected]

audionews 114/tcp Audio News Multicast

audionews 114/udp Audio News Multicast Martin Forssen [email protected]

sftp 115/tcp Simple File Transfer Protocol

sftp 115/udp Simple File Transfer Protocol Mark Lottor [email protected]

ansanotify 116/tcp ANSA REX Notify

ansanotify 116/udp ANSA REX Notify Nicola J. Howarth [email protected]

uucp-path 117/tcp UUCP Path Service

uucp-path 117/udp UUCP Path Service

sqlserv 118/tcp SQL Services

sqlserv 118/udp SQL Services Larry Barnes [email protected]

nntp 119/tcp Network News Transfer Protocol

nntp 119/udp Network News Transfer Protocol Hhil Lapsley [email protected]

cfdptkt 120/tcp CFDPTKT

cfdptkt 120/udp CFDPTKT John Ioannidis [email protected]

erpc 121/tcp Encore Expedited Remote Pro.Call

erpc 121/udp Encore Expedited Remote Pro.Call Jack O'Neil

smakynet 122/tcp SMAKYNET

smakynet 122/udp SMAKYNET Mike O'Dowd [email protected]

ntp 123/tcp Network Time Protocol

ntp 123/udp Network Time Protocol Dave Mills [email protected]

ansatrader 124/tcp ANSA REX Trader

ansatrader 124/udp ANSA REX Trader Nicola J. Howarth [email protected]

locus-map 125/tcp Locus PC-Interface Net Map Ser

locus-map 125/udp Locus PC-Interface Net Map Ser Eric Peterson [email protected]

unitary 126/tcp Unisys Unitary Login

unitary 126/udp Unisys Unitary Login [email protected]

locus-con 127/tcp Locus PC-Interface Conn Server

locus-con 127/udp Locus PC-Interface Conn Server Eric Peterson [email protected]

gss-xlicen 128/tcp GSS X License Verification

gss-xlicen 128/udp GSS X License Verification John Light [email protected]

pwdgen 129/tcp Password Generator Protocol

pwdgen 129/udp Password Generator Protocol Frank J. Wacho WANCHO@WSMR-

SIMTEL20.ARMY.MIL

cisco-fna 130/tcp cisco FNATIVE

cisco-fna 130/udp cisco FNATIVE

cisco-tna 131/tcp cisco TNATIVE

Page 337: Servidores de Redes.pdf

cisco-tna 131/udp cisco TNATIVE

cisco-sys 132/tcp cisco SYSMAINT

cisco-sys 132/udp cisco SYSMAINT

statsrv 133/tcp Statistics Service

statsrv 133/udp Statistics Service Dave Mills [email protected]

ingres-net 134/tcp INGRES-NET Service

ingres-net 134/udp INGRES-NET Service Mike Berrow

loc-srv 135/tcp Location Service

loc-srv 135/udp Location Service Joe Pato [email protected]

profile 136/tcp PROFILE Naming System

profile 136/udp PROFILE Naming System Larry Peterson [email protected]

netbios-ns 137/tcp NETBIOS Name Service

netbios-ns 137/udp NETBIOS Name Service

netbios-dgm 138/tcp NETBIOS Datagram Service

netbios-dgm 138/udp NETBIOS Datagram Service

netbios-ssn 139/tcp NETBIOS Session Service

netbios-ssn 139/udp NETBIOS Session Service Jon Postel [email protected]

emfis-data 140/tcp EMFIS Data Service

emfis-data 140/udp EMFIS Data Service

emfis-cntl 141/tcp EMFIS Control Service

emfis-cntl 141/udp EMFIS Control Service Gerd Beling [email protected]

bl-idm 142/tcp Britton-Lee IDM

bl-idm 142/udp Britton-Lee IDM "Susie Snitzer "

imap2 143/tcp Interim Mail Access Protocol v2

imap2 143/udp Interim Mail Access Protocol v2 Mark Crispin [email protected]

news 144/tcp NewS

news 144/udp NewS James Gosling [email protected]

uaac 145/tcp UAAC Protocol

uaac 145/udp UAAC Protocol David A. Gomberg [email protected]

iso-tp0 146/tcp ISO-IP0

iso-tp0 146/udp ISO-IP0

iso-ip 147/tcp ISO-IP

iso-ip 147/udp ISO-IP Marshall Rose [email protected]

cronus 148/tcp CRONUS-SUPPORT

cronus 148/udp CRONUS-SUPPORT Jeffrey Buffun [email protected]

aed-512 149/tcp AED 512 Emulation Service

aed-512 149/udp AED 512 Emulation Service Albert G. Broscius [email protected]

sql-net 150/tcp SQL-NET

sql-net 150/udp SQL-NET Martin Picard

hems 151/tcp HEMS

hems 151/udp HEMS Christopher Tengi [email protected]

bftp 152/tcp Background File Transfer Program

bftp 152/udp Background File Transfer Program Annette DeSchon [email protected]

sgmp 153/tcp SGMP

sgmp 153/udp SGMP Marty Schoffstahl [email protected]

Page 338: Servidores de Redes.pdf

netsc-prod 154/tcp NETSC

netsc-prod 154/udp NETSC

netsc-dev 155/tcp NETSC

netsc-dev 155/udp NETSC Sergio Heker [email protected]

sqlsrv 156/tcp SQL Service

sqlsrv 156/udp SQL Service Craig Rogers [email protected]

knet-cmp 157/tcp KNET/VM Command/Message Protocol

knet-cmp 157/udp KNET/VM Command/Message Protocol Gary S. Malkin

[email protected]

pcmail-srv 158/tcp PCMail Server

pcmail-srv 158/udp PCMail Server Mark L. Lambert [email protected]

nss-routing 159/tcp NSS-Routing

nss-routing 159/udp NSS-Routing Yakov Rekhter [email protected]

sgmp-traps 160/tcp SGMP-TRAPS

sgmp-traps 160/udp SGMP-TRAPS Marty Schoffstahl [email protected]

snmp 161/tcp SNMP

snmp 161/udp SNMP

snmptrap 162/tcp SNMPTRrAP

snmptrap 162/udp SNMPTRRAP Marshall Rose [email protected]

cmip-man 163/tcp CMIP/TCP Manager

cmip-man 163/udp CMIP/TCP Manager

cmip-agent 164/tcp CMIP/TCP Agent

smip-agent 164/udp CMIP/TCP Agent Amatzia Ben-Artzi

xns-courier 165/tcp Xerox

xns-courier 165/udp Xerox Susie Armstrong [email protected]

s-net 166/tcp Sirius Systems

s-net 166/udp Sirius Systems Brian Lloyd

namp 167/tcp NAMP

namp 167/udp NAMP Marty Schoffstahl [email protected]

rsvd 168/tcp RSVD

rsvd 168/udp RSVD Neil Todd [email protected]

send 169/tcp SEND

send 169/udp SEND William D. Wisner [email protected]

print-srv 170/tcp Network PostScript

print-srv 170/udp Network PostScript Brian Reid [email protected]

multiplex 171/tcp Network Innovations Multiplex

multiplex 171/udp Network Innovations Multiplex

cl/1 172/tcp Network Innovations CL/1

cl/1 172/udp Network Innovations CL/1 Kevin DeVault

xyplex-mux 173/tcp Xyplex

xyplex-mux 173/udp Xyplex Bob Stewart [email protected]

mailq 174/tcp MAILQ

mailq 174/udp MAILQ Rayan Zachariassen [email protected]

vmnet 175/tcp VMNET

vmnet 175/udp VMNET Christopher Tengi [email protected]

Page 339: Servidores de Redes.pdf

genrad-mux 176/tcp GENRAD-MUX

genrad-mux 176/udp GENRAD-MUX Ron Thornton [email protected]

xdmcp 177/tcp X Display Manager Control Protocol

xdmcp 177/udp X Display Manager Control Protocol Robert W. Scheifler [email protected]

nextstep 178/tcp NextStep Window Server

NextStep 178/udp NextStep Window Server Leo Hourvitz [email protected]

bgp 179/tcp Border Gateway Protocol

bgp 179/udp Border Gateway Protocol Kirk Lougheed [email protected]

ris 180/tcp Intergraph

ris 180/udp Intergraph Dave Buehmann [email protected]

unify 181/tcp Unify

unify 181/udp Unify Vinod Singh

audit 182/tcp Unisys Audit SITP

audit 182/udp Unisys Audit SITP Gil Greenbaum [email protected]

ocbinder 183/tcp OCBinder

ocbinder 183/udp OCBinder

ocserver 184/tcp OCServer

ocserver 184/udp OCServer Jerrilynn Okamura

remote-kis 185/tcp Remote-KIS

remote-kis 185/udp Remote-KIS

kis 186/tcp KIS Protocol

kis 186/udp KIS Protocol Ralph Droms [email protected]

aci 187/tcp Application Communication Interfac e

aci 187/udp Application Communication Interfac e Rick Carlos rick.ticipa.csc.ti.com

mumps 188/tcp Plus Five's MUMPS

mumps 188/udp Plus Five's MUMPS Hokey Stenn [email protected]

qft 189/tcp Queued File Transport

qft 189/udp Queued File Transport Wayne Schroeder [email protected]

gacp 190/tcp Gateway Access Control Protocol

cacp 190/udp Gateway Access Control Protocol C. Philip Wood [email protected]

prospero 191/tcp Prospero Directory Service

prospero 191/udp Prospero Directory Service B. Clifford Neuman [email protected]

osu-nms 192/tcp OSU Network Monitoring System

osu-nms 192/udp OSU Network Monitoring System Doug Karl [email protected]

STATE.EDU

srmp 193/tcp Spider Remote Monitoring Protocol

srmp 193/udp Spider Remote Monitoring Protocol Ted J. Socolofsky [email protected]

irc 194/tcp Internet Relay Chat Protocol

irc 194/udp Internet Relay Chat Protocol Jarkko Oikarinen [email protected]

dn6-nlm-aud 195/tcp DNSIX Network Level Module Audit

dn6-nlm-aud 195/udp DNSIX Network Level Module Audit

dn6-smm-red 196/tcp DNSIX Session Mgt Module Audit Red ir

dn6-smm-red 196/udp DNSIX Session Mgt Module Audit Red ir Lawrence Lebahn DIA3@PAXRV-

NES.NAVY.MIL

dls 197/tcp Directory Location Service

Page 340: Servidores de Redes.pdf

dls 197/udp Directory Location Service

dls-mon 198/tcp Directory Location Service Monitor

dls-mon 198/udp Directory Location Service Monitor Scott Bellew [email protected]

smux 199/tcp SMUX

smux 199/udp SMUX Marshall Rose [email protected]

src 200/tcp IBM System Resource Controller

src 200/udp IBM System Resource Controller Gerald McBrearty

at-rtmp 201/tcp AppleTalk Routing Maintenance

at-rtmp 201/udp AppleTalk Routing Maintenance

at-nbp 202/tcp AppleTalk Name Binding

at-nbp 202/udp AppleTalk Name Binding

at-3 203/tcp AppleTalk Unused

at-3 203/udp AppleTalk Unused

at-echo 204/tcp AppleTalk Echo

at-echo 204/udp AppleTalk Echo

at-5 205/tcp AppleTalk Unused

at-5 205/udp AppleTalk Unused

at-zis 206/tcp AppleTalk Zone Information

at-zis 206/udp AppleTalk Zone Information

at-7 207/tcp AppleTalk Unused

at-7 207/udp AppleTalk Unused

at-8 208/tcp AppleTalk Unused

at-8 208/udp AppleTalk Unused Rob Chandhok [email protected]

qmtp 209/tcp The Quick Mail Transfer Protocol

qmtp 209/udp The Quick Mail Transfer Protocol Dan Bernstein [email protected]

z39.50 210/tcp ANSI Z39.50

z39.50 210/udp ANSI Z39.50 Mark Needleman mhnur%[email protected]

914c/g 211/tcp Texas Instruments 914C/G Terminal

914c/g 211/udp Texas Instruments 914C/G Terminal Bill Harrell

anet 212/tcp ATEXSSTR

anet 212/udp ATEXSSTR Jim Taylor [email protected]

ipx 213/tcp "IPX "

ipx 213/udp IPX Don Provan [email protected]

vmpwscs 214/tcp VM PWSCS

vmpwscs 214/udp VM PWSCS Dan Shia [email protected]

softpc 215/tcp Insignia Solutions

softpc 215/udp Insignia Solutions Martyn Thomas

CAIlic 216/tcp Computer Associates Int'l License Server

CAIlic 216/udp Computer Associates Int'l License Server Chuck Spitz [email protected]

dbase 217/tcp dBASE Unix

dbase 217/udp dBASE Unix Don Gibsonsequent!aero!twinsun!ashtate.A-

[email protected]

mpp 218/tcp Netix Message Posting Protocol

mpp 218/udp Netix Message Posting Protocol Shannon Yeh [email protected]

uarps 219/tcp Unisys ARPs

Page 341: Servidores de Redes.pdf

uarps 219/udp Unisys ARPs Ashok Marwaha

imap3 220/tcp Interactive Mail Access Protocol v 3

imap3 220/udp Interactive Mail Access Protocol v 3 James Rice [email protected]

fln-spx 221/tcp Berkeley rlogind with SPX auth

fln-spx 221/udp Berkeley rlogind with SPX auth

rsh-spx 222/tcp Berkeley rshd with SPX auth

rsh-spx 222/udp Berkeley rshd with SPX auth

cdc 223/tcp Certificate Distribution Center

cdc 223/udp Certificate Distribution Center Kannan Alagappan [email protected]

# 224-241 Reserved Jon Postel [email protected]

# 242/tcp Unassigned

# 242/udp Unassigned

sur-meas 243/tcp Survey Measurement

sur-meas 243/udp Survey Measurement Dave Clark [email protected]

# 244/tcp Unassigned

# 244/udp Unassigned

link 245/tcp LINK

link 245/udp LINK

dsp3270 246/tcp Display Systems Protocol

dsp3270 246/udp Display Systems Protocol Weldon J. Showalter

[email protected]

# 247-255 Reserved Jon Postel [email protected]

# 256-343 Unassigned

pdap 344/tcp Prospero Data Access Protocol

pdap 344/udp Prospero Data Access Protocol B. Clifford Neuman [email protected]

pawserv 345/tcp Perf Analysis Workbench

pawserv 345/udp Perf Analysis Workbench

zserv 346/tcp Zebra server

zserv 346/udp Zebra server

fatserv 347/tcp Fatmen Server

fatserv 347/udp Fatmen Server

csi-sgwp 348/tcp Cabletron Management Protocol

csi-sgwp 348/udp Cabletron Management Protocol

# 349-370 Unassigned

clearcase 371/tcp Clearcase

clearcase 371/udp Clearcase Dave LeBlang [email protected]

ulistserv 372/tcp Unix Listserv

ulistserv 372/udp Unix Listserv Anastasios Kotsikonas [email protected]

legent-1 373/tcp Legent Corporation

legent-1 373/udp Legent Corporation

legent-2 374/tcp Legent Corporation

legent-2 374/udp Legent Corporation Keith Boyce

hassle 375/tcp Hassle

hassle 375/udp Hassle Reinhard Doelz [email protected]

nip 376/tcp Amiga Envoy Network Inquiry Proto

Page 342: Servidores de Redes.pdf

nip 376/udp Amiga Envoy Network Inquiry Proto Heinz Wrobel [email protected] Dale L. Larson

[email protected]

tnETOS 377/tcp NEC Corporation

tnETOS 377/udp NEC Corporation

dsETOS 378/tcp NEC Corporation

dsETOS 378/udp NEC Corporation Tomoo Fujita [email protected]

is99c 379/tcp TIA/EIA/IS-99 modem client

is99c 379/udp TIA/EIA/IS-99 modem client

is99s 380/tcp TIA/EIA/IS-99 modem server

is99s 380/udp TIA/EIA/IS-99 modem server Frank Quick [email protected]

hp-collector 381/tcp hp performance data collector

hp-collector 381/udp hp performance data collector

hp-managed-node 382/tcp hp performance data managed node

hp-managed-node 382/udp hp performance data managed node

hp-alarm-mgr 383/tcp hp performance data alarm manager

hp-alarm-mgr 383/udp hp performance data alarm manager Frank Blakely

[email protected]

arns 384/tcp A Remote Network Server System

arns 384/udp A Remote Network Server System David Hornsby [email protected]

ibm-app 385/tcp IBM Application

ibm-app 385/tcp IBM Application Lisa Tomita

asa 386/tcp ASA Message Router Object Def.

asa 386/udp ASA Message Router Object Def. Steve Laitinen [email protected]

aurp 387/tcp Appletalk Update-Based Routing Pro .

aurp 387/udp Appletalk Update-Based Routing Pro . Chris Ranch [email protected]

unidata-ldm 388/tcp Unidata LDM Version 4

unidata-ldm 388/udp Unidata LDM Version 4 Glenn Davis [email protected]

ldap 389/tcp Lightweight Directory Access Proto col

ldap 389/udp Lightweight Directory Access Proto col Tim Howes

[email protected]

uis 390/tcp UIS

uis 390/udp UIS Ed Barron

synotics-relay 391/tcp SynOptics SNMP Relay Port

synotics-relay 391/udp SynOptics SNMP Relay Port

synotics-broker 392/tcp SynOptics Port Broker Port

synotics-broker 392/udp SynOptics Port Broker Port Illan Raab [email protected]

dis 393/tcp Data Interpretation System

dis 393/udp Data Interpretation System Paul Stevens [email protected]

embl-ndt 394/tcp EMBL Nucleic Data Transfer

embl-ndt 394/udp EMBL Nucleic Data Transfer Peter Gad [email protected]

netcp 395/tcp NETscout Control Protocol

netcp 395/udp NETscout Control Protocol Anil Singhal ---none---

netware-ip 396/tcp Novell Netware over IP

netware-ip 396/udp Novell Netware over IP

mptn 397/tcp Multi Protocol Trans. Net.

Page 343: Servidores de Redes.pdf

mptn 397/udp Multi Protocol Trans. Net. Soumitra Sarkar [email protected]

kryptolan 398/tcp Kryptolan

kryptolan 398/udp Kryptolan Peter de Laval [email protected]

iso-tsap-c2 399/tcp ISO Transport Class 2 Non-Control over TCP

iso-tsap-c2 399/udp ISO Transport Class 2 Non-Control over TCP Yanick Pouffary

[email protected]

work-sol 400/tcp Workstation Solutions

work-sol 400/udp Workstation Solutions Jim Ward [email protected]

ups 401/tcp Uninterruptible Power Supply

ups 401/udp Uninterruptible Power Supply Guenther Seybold [email protected]

genie 402/tcp Genie Protocol

genie 402/udp Genie Protocol Mark Hankin

decap 403/tcp decap

decap 403/udp decap

nced 404/tcp nced

nced 404/udp nced

ncld 405/tcp ncld

ncld 405/udp ncld Richard Jones

imsp 406/tcp Interactive Mail Support Protocol

imsp 406/udp Interactive Mail Support Protocol John Myers [email protected]

timbuktu 407/tcp Timbuktu

timbuktu 407/udp Timbuktu Marc Epard [email protected]

prm-sm 408/tcp Prospero Resource Manager Sys. Man .

prm-sm 408/udp Prospero Resource Manager Sys. Man .

prm-nm 409/tcp Prospero Resource Manager Node Man .

prm-nm 409/udp Prospero Resource Manager Node Man . B. Clifford Neuman [email protected]

decladebug 410/tcp DECLadebug Remote Debug Protocol

decladebug 410/udp DECLadebug Remote Debug Protocol Anthony Berent

[email protected]

rmt 411/tcp Remote MT Protocol

rmt 411/udp Remote MT Protocol Peter Eriksson [email protected]

synoptics-trap 412/tcp Trap Convention Port

synoptics-trap 412/udp Trap Convention Port Illan Raab [email protected]

smsp 413/tcp SMSP

smsp 413/udp SMSP

infoseek 414/tcp InfoSeekinfoseek

# 414/udp InfoSeek Steve Kirsch [email protected]

bnet 415/tcp BNet

bnet 415/udp Bnet Jim Mertz [email protected]

silverplatter 416/tcp Silverplatter

silverplatter 416/udp Silverplatter Peter Ciuffetti [email protected]

onmux 417/tcp Onmux

onmux 417/udp Onmux Stephen Hanna [email protected]

hyper-g 418/tcp Hyper-G

hyper-g 418/udp Hyper-G Frank Kappe [email protected]

Page 344: Servidores de Redes.pdf

ariel1 419/tcp Ariel

ariel1 419/udp Ariel Jonathan Lavigne [email protected]

smpte 420/tcp SMPTE

smpte 420/udp SMPTE Si Becker [email protected]

ariel2 421/tcp Ariel

ariel2 421/udp Ariel

ariel3 422/tcp Ariel

ariel3 422/udp Ariel Jonathan Lavigne [email protected]

opc-job-start 423/tcp IBM Operations Planning and Contro l Start

opc-job-start 423/udp IBM Operations Planning and Contro l Start

opc-job-track 424/tcp IBM Operations Planning and Contro l Track

opc-job-track 424/udp IBM Operations Planning and Contro l Track Conny Larsson

[email protected]

icad-el 425/tcp ICAD

icad-el 425/udp ICAD Larry Stone [email protected]

smartsdp 426/tcp smartsdp

smartsdp 426/udp smartsdp Alexander Dupuy [email protected]

svrloc 427/tcp Server Location

svrloc 427/udp Server Location [email protected]

ocs_cmu 428/tcp OCS_CMU

ocs_cmu 428/udp OCS_CMU

ocs_amu 429/tcp OCS_AMU

ocs_amu 429/udp OCS_AMU Florence Wyman [email protected]

utmpsd 430/tcp UTMPSD

utmpsd 430/udp UTMPSD

utmpcd 431/tcp UTMPCD

utmpcd 431/udp UTMPCD

iasd 432/tcp IASD

iasd 432/udp IASD Nir Baroz [email protected]

nnsp 433/tcp NNSP

nnsp 433/udp NNSP Rob Robertson [email protected]

mobileip-agent 434/tcp MobileIP-Agent

mobileip-agent 434/udp MobileIP-Agent

mobilip-mn 435/tcp MobilIP-MN

mobilip-mn 435/udp MobilIP-MN Kannan Alagappan [email protected]

dna-cml 436/tcp DNA-CML

dna-cml 436/udp DNA-CML Dan Flowers [email protected]

comscm 437/tcp comscm

comscm 437/udp comscm Jim Teague [email protected]

dsfgw 438/tcp dsfgw

dsfgw 438/udp dsfgw Andy McKeen [email protected]

dasp 439/tcp dasp Thomas Obermair

dasp 439/udp dasp Thomas Obermair [email protected]

sgcp 440/tcp sgcp [email protected]

sgcp 440/udp sgcp mrshall Rose [email protected]

Page 345: Servidores de Redes.pdf

decvms-sysmgt 441/tcp decvms-sysmgt

decvms-sysmgt 441/udp decvms-sysmgt Lee Barton [email protected]

cvc_hostd 442/tcp cvc_hostd

cvc_hostd 442/udp cvc_hostd Bill Davidson [email protected]

https 443/tcp https MCom

https 443/udp https Mcom Kipp E.B. Hickman [email protected]

snpp 444/tcp Simple Network Paging Protocol

snpp 444/udp Simple Network Paging Protocol [RFC1568]

microsoft-ds 445/tcp Microsoft-DS

microsoft-ds 445/udp Microsoft-DS Arnold Miller [email protected]

ddm-rdb 446/tcp DDM-RDB

ddm-rdb 446/udp DDM-RDB

ddm-dfm 447/tcp DDM-RFM

ddm-dfm 447/udp DDM-RFM

ddm-byte 448/tcp DDM-BYTE

ddm-byte 448/udp DDM-BYTE Jan David Fisher [email protected]

as-servermap 449/tcp AS Server Mapper

as-servermap 449/udp AS Server Mapper Barbara Foss [email protected]

tserver 450/tcp TServer

tserver 450/udp Tserver Harvey S. Schultz [email protected]

sfs-smp-net 451/tcp Cray Network Semaphore server

sfs-smp-net 451/udp Cray Network Semaphore server

sfs-config 452/tcp Cray SFS config server

sfs-config 452/udp Cray SFS config server Walter Poxon [email protected]

creativeserver 453/tcp CreativeServer

creativeserver 453/udp CreativeServer

contentserver 454/tcp ContentServer

contentserver 454/udp ContentServer

creativepartnr 455/tcp CreativePartnr

creativepartnr 455/udp CreativePartnr Jesus Ortiz [email protected]

macon-tcp 456/tcp macon-tcp

macon-udp 456/udp macon-udp Yoshinobu Inoue [email protected]

scohelp 457/tcp scohelp

scohelp 457/udp scohelp Faith Zack [email protected]

appleqtc 458/tcp apple quick time

appleqtc 458/udp apple quick time Murali Ranganathan

[email protected]

ampr-rcmd 459/tcp ampr-rcmd

ampr-rcmd 459/udp ampr-rcmd Rob Janssen [email protected]

skronk 460/tcp skronk

skronk 460/udp skronk Henry Strickland [email protected]

datasurfsrv 461/tcp DataRampSrv

datasurfsrv 461/udp DataRampSrv

datasurfsrvsec 462/tcp DataRampSrvSec

datasurfsrvsec 462/udp DataRampSrvSec Diane Downie [email protected]

Page 346: Servidores de Redes.pdf

alpes 463/tcp alpes

alpes 463/udp alpes Alain Durand [email protected]

kpasswd 464/tcp kpasswd

kpasswd 464/udp kpasswd Theodore Ts'o [email protected]

ssmtp 465/tcp ssmtp

ssmtp 465/udp ssmtp John Hemming [email protected]

digital-vrc 466/tcp digital-vrc

digital-vrc 466/udp digital-vrc Dave Forster [email protected]

mylex-mapd 467/tcp mylex-mapd

mylex-mapd 467/udp mylex-mapd Gary Lewis [email protected]

photuris 468/tcp proturis

photuris 468/udp proturis Bill Simpson [email protected]

rcp 469/tcp Radio Control Protocol

rcp 469/udp Radio Control Protocol Jim Jennings +1-708-538-7241

scx-proxy 470/tcp scx-proxy

scx-proxy 470/udp scx-proxy Scott Narveson [email protected]

mondex 471/tcp Mondex

mondex 471/udp Mondex Bill Reding [email protected]

ljk-login 472/tcp ljk-login

ljk-login 472/udp ljk-login LJK Software, Cambridge, Massachusetts [email protected]

hybrid-pop 473/tcp hybrid-pop

hybrid-pop 473/udp hybrid-pop Rami Rubin [email protected]

tn-tl-w1 474/tcp tn-tl-w1

tn-tl-w2 474/udp tn-tl-w2 Ed Kress [email protected]

tcpnethaspsrv 475/tcp tcpnethaspsrv

tcpnethaspsrv 475/tcp tcpnethaspsrv Charlie Hava [email protected]

tn-tl-fd1 476/tcp tn-tl-fd1

tn-tl-fd1 476/udp tn-tl-fd1 Ed Kress [email protected]

ss7ns 477/tcp ss7ns

ss7ns 477/udp ss7ns Jean-Michel URSCH [email protected]

spsc 478/tcp spsc

spsc 478/udp spsc Mike Rieker [email protected]

iafserver 479/tcp iafserver

iafserver 479/udp iafserver

iafdbase 480/tcp iafdbase

iafdbase 480/udp iafdbase [email protected] Rick Yazwinski

ph 81/tcp Ph service

ph 481/udp Ph service Roland Hedberg [email protected]

bgs-nsi 482/tcp bgs-nsi

bgs-nsi 482/udp bgs-nsi Jon Saperia [email protected]

ulpnet 483/tcp ulpnet

ulpnet 483/udp ulpnet Kevin Mooney [email protected]

integra-sme 484/tcp Integra Software Management Enviro nment

integra-sme 484/udp Integra Software Management Enviro nment Randall Dow

[email protected]

Page 347: Servidores de Redes.pdf

powerburst 485/tcp Air Soft Power Burst

powerburst 485/udp Air Soft Power Burst [email protected]

avian 486/tcp avian

avian 486/udp avian Robert Ullmann Robert_Ullmann/CAM/[email protected]

saft 487/tcp saft

saft 487/udp saft Ulli Horlacher [email protected]

gss-http 488/tcp gss-http

gss-http 488/udp gss-http Doug Rosenthal [email protected]

nest-protocol 489/tcp nest-protocol

nest-protocol 489/udp nest-protocol Gil Gameiro [email protected]

micom-pfs 490/tcp micom-pfs

micom-pfs 490/udp micom-pfs David Misunas [email protected]

go-login 491/tcp go-login

go-login 491/udp go-login Troy Morrison [email protected]

ticf-1 492/tcp Transport Independent Convergence for FNA

ticf-1 492/udp Transport Independent Convergence for FNA

ticf-2 493/tcp Transport Independent Convergence for FNA

ticf-2 493/udp Transport Independent Convergence for FNA Mamoru Ito [email protected]

pov-ray 494/tcp POV-Ray

pov-ray 494/udp POV-Ray Chris Cason [email protected]

intecourier 495/tcp intecourier

intecourier 495/udp intecourier Steve Favor [email protected]

pim-rp-disc 496/tcp PIM-RP-DISC

pim-rp-disc 496/udp PIM-RP-DISC Dino Farinacci [email protected]

dantz 497/tcp dantz

dantz 497/udp dantz Dotty Yackle [email protected]

siam 498/tcp siam

siam 498/udp siam Philippe Gilbert [email protected]

iso-ill 499/tcp ISO ILL Protocol

iso-ill 499/udp ISO ILL Protocol Mark H. Needleman [email protected]

isakmp 500/tcp isakmp

isakmp 500/udp isakmp Mark Schertler [email protected]

stmf 501/tcp SMTF

stmf 501/udp SMTF Alan Ungar [email protected]

asa-appl-proto 502/tcp asa-appl-proto

asa-appl-proto 502/udp asa-appl-proto Dennis Dube [email protected]

intrinsa 503/tcp Intrinsa

intrinsa 503/udp Intrinsa Robert Ford [email protected]

citadel 504/tcp citadel

citadel 504/udp citadel Art Cancro [email protected]

mailbox-lm 505/tcp mailbox-lm

mailbox-lm 505/udp mailbox-lm Beverly Moody [email protected]

ohimsrv 506/tcp ohimsrv

ohimsrv 506/udp ohimsrv Scott Powell [email protected]

# 507-511 Unassigned

Page 348: Servidores de Redes.pdf

exec 512/tcp remote process execution authentication performed using passwords and UNIX loppgin

names

biff 512/udp used by mail system to notify user "s of new mail received; currently receives

messages only fromprocesses on the same machine"

login 513/tcp "remote login a la telnet aut" "omatic authentication performed based on priviledged port

numbers and distributed data bases which identify ""authentication domains"""

who 513/udp maintains data bases showing who's logged in to machines on a local net and the load

average of the machine

cmd 514/tcp like exec, but automatic authentication is performed as for login server

syslog 514/udp #

printer 515/tcp spooler

printer 515/udp spooler

# 516/tcp Unassigned

# 516/udp Unassigned

talk 517/tcp like tenex link, but across machin e unfortunately, doesn't use link protocol (this is actually

just a rendezvous port from which a tcp connection is established)

talk 517/udp like tenex link, but across machin e unfortunately, doesn't use link protocol (this is

actually just a rendezvous port from which a tcp connection is established)

ntalk 518/tcp #

ntalk 518/udp #

utime 519/tcp unixtime

utime 519/udp unixtime

efs 520/tcp extended file name server

router 520/udp "local routing process (on site);" uses variant of Xerox NS routing information

protocol

# 521-524 Unassigned

"timed " 525/tcp timeserver

timed 525/udp timeserver

tempo 526/tcp newdate

tempo 526/udp newdate

# 527-529 Unassigned

courier 530/tcp rpc

courier 530/udp rpc

conference 531/tcp chat

conference 531/udp chat

netnews 532/tcp readnews

netnews 532/udp readnews

"netwall " 533/tcp for emergency broadcasts

"netwall " 533/udp for emergency broadcasts

# 534-538 Unassigned

apertus-ldp 539/tcp Apertus Technologies Load Determin ation

apertus-ldp 539/udp Apertus Technologies Load Determin ation

uucp 540/tcp "uucpd "

uucp 540/udp "uucpd "

uucp-rlogin 541/tcp uucp-rlogin

Page 349: Servidores de Redes.pdf

uucp-rlogin 541/udp uucp-rlogiN Stuart Lynne [email protected]

# 542/tcp Unassigned

# 542/udp Unassigned

klogin 543/tcp

klogin 543/udp

"kshell " 544/tcp krcmd

"kshell " 544/udp krcmd

appleqtcsrvr 545/tcp appleqtcsrvr

appleqtcsrvr 545/udp appleqtcsrvr Murali Ranganathan [email protected]

dhcpv6-client 546/tcp DHCPv6 Client

dhcpv6-client 546/udp DHCPv6 Client

dhcpv6-server 547/tcp DHCPv6 Server

dhcpv6-server 547/udp DHCPv6 Server Jim Bound [email protected]

# 548/tcp Unassigned

# 548/udp Unassigned

# 549/tcp Unassigned

# 549/udp Unassigned

new-rwho 550/tcp new-who

new-rwho 550/udp new-who

cybercash 551/tcp cybercash

cybercash 551/udp cybercash Donald E. Eastlake 3rd [email protected]

deviceshare 552/tcp deviceshare

deviceshare 552/udp deviceshare Brian Schenkenberger [email protected]

pirp 553/tcp pirp

pirp 553/udp pirp D. J. Bernstein [email protected]

# 554/tcp Unassigned

# 554/udp Unassigned

dsf 555/tcp #

dsf 555/udp #

remotefs 556/tcp rfs server

remotefs 556/udp rfs server

openvms-sysipc557/tcp openvms-sysipc

openvms-sysipc557/udp openvms-sysipcAlan Potter [email protected]

sdnskmp 558/tcp SDNSKMP

sdnskmp 558/udp SDNSKMP

teedtap 559/tcp TEEDTAP

teedtap 559/udp TEEDTAP Mort Hoffman [email protected]

rmonitor 560/tcp rmonitord

rmonitor 560/udp rmonitord

monitor 561/tcp #

monitor 561/udp #

chshell 562/tcp chcmd

chshell 562/udp chcmd

snews 563/tcp snewssnews

# 563/udp snews Kipp E.B. Hickman [email protected]

Page 350: Servidores de Redes.pdf

9pfs 564/tcp plan 9 file service

9pfs 564/udp plan 9 file service

whoami 565/tcp whoami

whoami 565/udp whoami

streettalk 566/tcp streettalk

streettalk 566/udp streettalk

banyan-rpc 567/tcp banyan-rpc

banyan-rpc 567/udp banyan-rpc Tom Lemaire [email protected]

ms-shuttle 568/tcp microsoft shuttle

ms-shuttle 568/udp microsoft shuttle Rudolph Balaz [email protected]

ms-rome 569/tcp microsoft rome

ms-rome 569/udp microsoft rome Rudolph Balaz [email protected]

meter 570/tcp demon

meter 570/udp demon

"meter " 571/tcp udemon

"meter " 571/udp udemon

sonar 572/tcp sonar

sonar 572/udp sonar Keith Moore [email protected]

banyan-vip 573/tcp banyan-vip

banyan-vip 573/udp banyan-vip Denis Leclerc [email protected]

ftp-agent 574/tcp FTP Software Agent System

ftp-agent 574/udp FTP Software Agent System Michael S. Greenberg [email protected]

vemmi 575/tcp VEMMI Daniel Mavrakis [email protected]

# 576-599 Unassigned

ipcserver 600/tcp Sun IPC server

ipcserver 600/udp Sun IPC server

nqs 607/tcp nqs

nqs 607/udp nqs

urm 606/tcp Cray Unified Resource Manager

urm 606/udp Cray Unified Resource Manager Bill Schiefelbein [email protected]

sift-uft 608/tcp Sender-Initiated/Unsolicited File Transfer

sift-uft 608/udp Sender-Initiated/Unsolicited File Transfer Rick Troth [email protected]

npmp-trap 609/tcp npmp-trap

npmp-trap 609/udp npmp-trap

npmp-local 610/tcp npmp-local

npmp-local 610/udp npmp-local

npmp-gui 611/tcp npmp-gui

npmp-gui 611/udp npmp-gui John Barnes [email protected]

# 612-632 Unassigned

servstat 633/tcp Service Status update (Sterling So ftware)

servstat 633/udp Service Status update (Sterling So ftware) Greg Rose

[email protected]

ginad 634/tcp ginad

ginad 634/udp ginad Mark Crother [email protected]

# 635-665 Unassigned

Page 351: Servidores de Redes.pdf

mdqs "666/tcp "

mdqs "666/udp "

doom 666/tcp doom Id Software

doom 666/udp doom Id Software [email protected]

# 667-703 Unassigned

elcsd 704/tcp errlog copy/server daemon

elcsd 704/udp errlog copy/server daemon

entrustmanager 709/tcp EntrustManager

entrustmanager 709/udp EntrustManager Peter Whittaker [email protected]

netviewdm1 729/tcp IBM NetView DM/6000 Server/Client

netviewdm1 729/udp IBM NetView DM/6000 Server/Client

netviewdm2 730/tcp IBM NetView DM/6000 send/tcp

netviewdm2 730/udp IBM NetView DM/6000 send/tcp

netviewdm3 731/tcp IBM NetView DM/6000 receive/tcp

netviewdm3 731/udp IBM NetView DM/6000 receive/tcp Philippe Binet ([email protected])

netgw 741/tcp netGW

netgw 741/udp netGW

netrcs 742/tcp Network based Rev. Cont. Sys.

netrcs 742/udp Network based Rev. Cont. Sys. Gordon C. Galligher [email protected]

flexlm 744/tcp Flexible License Manager

flexlm 744/udp Flexible License Manager Matt Christiano globes@[email protected]

fujitsu-dev 747/tcp Fujitsu Device Control

fujitsu-dev 747/udp Fujitsu Device Control

ris-cm 748/tcp Russell Info Sci Calendar Manager

ris-cm 748/udp Russell Info Sci Calendar Manager

kerberos-adm 749/tcp kerberos administration

kerberos-adm 749/udp kerberos administration

"rfile " 750/tcp

loadav 750/udp

pump 751/tcp

pump 751/udp

qrh 752/tcp

qrh 752/udp

rrh 753/tcp

rrh 753/udp

tell 754/tcp send

tell 754/udp send

nlogin 758/tcp

nlogin 758/udp

con 759/tcp

con 759/udp

ns 760/tcp

ns 760/udp

rxe 761/tcp

rxe 761/udp

Page 352: Servidores de Redes.pdf

"quotad " 762/tcp

"quotad " 762/udp

cycleserv 763/tcp

cycleserv 763/udp

"omserv " 764/tcp

"omserv " 764/udp

"webster " 765/tcp

"webster " 765/udp

phonebook "767/tcp " phone

phonebook "767/udp " phone

vid 769/tcp

vid 769/udp

cadlock 770/tcp

cadlock 770/udp

rtip 771/tcp

rtip 771/udp

cycleserv2 772/tcp

cycleserv2 772/udp

"submit " 773/tcp

"notify " 773/udp

"rpasswd " 774/tcp

acmaint_dbd 774/udp

entomb 775/tcp

"acmaint_transd " 775/udp

wpages 776/tcp

wpages 776/udp

wpgs 780/tcp

wpgs 780/udp

concert 786/tcp Concert

concert 786/udp Concert Josyula R. Rao [email protected]

mdbs_daemon "800/tcp "

mdbs_daemon "800/udp "

device 801/tcp

device 801/udp

accessbuilder 888/tcp AccessBuilder

accessbuilder 888/udp AccessBuilder Steve Sweeney [email protected]

vsinet 996/tcp vsinet

vsinet 996/udp vsinet Rob Juergens [email protected]

maitrd 997/tcp

maitrd 997/udp

busboy 998/tcp

puparp 998/udp

garcon 999/tcp

applix 999/udp Applix ac

puprouter 999/tcp

Page 353: Servidores de Redes.pdf

puprouter 999/udp

cadlock 1000/tcp

ock 1000/udp

# 1023/tcp Reserved

# 1023/udp Reserved IANA [email protected]

# 1024/tcp "Reserved "

# 1024/udp Reserved IANA [email protected]

blackjack 1025/tcp network blackjack

blackjack 1025/udp network blackjack

iad1 1030/tcp BBN IAD

iad1 1030/udp BBN IAD

iad2 1031/tcp BBN IAD

iad2 1031/udp BBN IAD

iad3 1032/tcp BBN IAD

iad3 1032/udp BBN IAD Andy Malis [email protected]

nim 1058/tcp nim

nim 1058/udp nim

nimreg 1059/tcp nimreg

nimreg 1059/udp nimreg Robert Gordon [email protected]

instl_boots 1067/tcp Installation Bootstrap Proto. Serv .

instl_boots 1067/udp Installation Bootstrap Proto. Serv .

instl_bootc 1068/tcp Installation Bootstrap Proto. Cli.

instl_bootc 1068/udp Installation Bootstrap Proto. Cli. David Arko [email protected]

socks 1080/tcp Socks

socks 1080/udp Socks Ying-Da Lee [email protected]

ansoft-lm-1 1083/tcp Anasoft License Manager

ansoft-lm-1 1083/udp Anasoft License Manager

ansoft-lm-2 1084/tcp Anasoft License Manager

ansoft-lm-2 1084/udp Anasoft License Manager

nfsd-status 1110/tcp Cluster status info

nfsd-keepalive 1110/udp Client status info Edgar Circenis [email protected]

nfa 1155/tcp Network File Access

nfa 1155/udp Network File Access James Powell [email protected]

lupa 1212/tcp lupa

lupa 1212/udp lupa Barney Wolff [email protected]

nerv 1222/tcp SNI R&D network

nerv 1222/udp SNI R&D network Martin Freiss [email protected]

hermes 1248/tcp

hermes 1248/udp

alta-ana-lm 1346/tcp Alta Analytics License Manager

alta-ana-lm 1346/udp Alta Analytics License Manager

bbn-mmc 1347/tcp multi media conferencing

bbn-mmc 1347/udp multi media conferencing

"bbn-mmx " 1348/tcp multi media conferencing

"bbn-mmx " 1348/udp multi media conferencing

Page 354: Servidores de Redes.pdf

sbook 1349/tcp Registration Network Protocol

sbook 1349/udp Registration Network Protocol

editbench 1350/tcp Registration Network Protocol

editbench 1350/udp Registration Network Protocol Simson L. Garfinkel

[email protected]

equationbuilder 1351/tcp Digital Tool Works (MIT)

equationbuilder 1351/udp Digital Tool Works (MIT) Terrence J. Talbot [email protected]

lotusnote 1352/tcp Lotus Note

lotusnote 1352/udp Lotus Note Greg Pflaum [email protected]

relief 1353/tcp Relief Consulting

relief 1353/udp Relief Consulting John Feiler [email protected]

rightbrain 1354/tcp RightBrain Software

rightbrain 1354/udp RightBrain Software Glenn Reid [email protected]

intuitive edge 1355/tcp Intuitive Edge

intuitive edge 1355/udp Intuitive Edge Montgomery Zukowski [email protected]

cuillamartin 1356/tcp CuillaMartin Company

cuillamartin 1356/udp CuillaMartin Company

pegboard 1357/tcp Electronic PegBoard

pegboard 1357/udp Electronic PegBoard # Chris Cuilla [email protected]

connlcli 1358/tcp CONNLCLI

connlcli 1358/udp CONNLCLI

ftsrv 1359/tcp FTSRV

ftsrv 1359/udp FTSRV Ines Homem de Melo [email protected]

mimer 1360/tcp MIMER

mimer 1360/udp MIMER Per Schroeder [email protected]

linx 1361/tcp LinX

linx 1361/udp LinX Steffen Schilke

timeflies 1362/tcp TimeFlies

timeflies 1362/udp TimeFlies Doug Kent mouthers@[email protected]

ndm-requester 1363/tcp Network DataMover Requester

ndm-requester 1363/udp Network DataMover Requester

ndm-server 1364/tcp Network DataMover Server

ndm-server 1364/udp Network DataMover Server Toshio Watanabe

[email protected]

adapt-sna 1365/tcp Network Software Associates

adapt-sna 1365/udp Network Software Associates Jeffery Chiao 714-768-401

netware-csp 1366/tcp Novell NetWare Comm Service Platfo rm

netware-csp 1366/udp Novell NetWare Comm Service Platfo rm Laurie Lindsey [email protected]

dcs 1367/tcp DCS

dcs 1367/udp DCS Stefan Siebert [email protected]

screencast 1368/tcp ScreenCast

screencast 1368/udp ScreenCast Bill Tschumy [email protected]

gv-us 1369/tcp GlobalView to Unix Shell

gv-us 1369/udp GlobalView to Unix Shell

us-gv 1370/tcp Unix Shell to GlobalView

Page 355: Servidores de Redes.pdf

us-gv 1370/udp Unix Shell to GlobalView Makoto Mita [email protected]

fc-cli 1371/tcp Fujitsu Config Protocol

fc-cli 1371/udp Fujitsu Config Protocol

fc-ser 1372/tcp Fujitsu Config Protocol

fc-ser 1372/udp Fujitsu Config Protocol Ryuichi Horie [email protected]

chromagrafx 1373/tcp Chromagrafx

chromagrafx 1373/udp Chromagrafx Mike Barthelemy [email protected]

molly 1374/tcp EPI Software Systems

molly 1374/udp EPI Software Systems Jim Vlcek [email protected]

bytex 1375/tcp Bytex

bytex 1375/udp Bytex Mary Ann Burt [email protected]

ibm-pps 1376/tcp IBM Person to Person Software

ibm-pps 1376/udp IBM Person to Person Software Simon Phipps [email protected]

cichlid 1377/tcp Cichlid License Manager

cichlid 1377/udp Cichlid License Manager Andy Burgess [email protected]

elan 1378/tcp Elan License Manager

elan 1378/udp Elan License Manager Ken Greer [email protected]

dbreporter 1379/tcp Integrity Solutions

dbreporter 1379/udp Integrity Solutions Tim Dawson tdawson%[email protected]

telesis-licman 1380/tcp Telesis Network License Manager

telesis-licman 1380/udp Telesis Network License Manager Karl Schendel, Jr. [email protected]

apple-licman 1381/tcp Apple Network License Manager

apple-licman 1381/udp Apple Network License Manager Earl Wallace [email protected]

udt_os 1382/tcp

udt_os 1382/udp

gwha 1383/tcp GW Hannaway Network License Manage r

gwha 1383/udp GW Hannaway Network License Manage r J. Gabriel Foster [email protected]

os-licman 1384/tcp Objective Solutions License Manage r

os-licman 1384/udp Objective Solutions License Manage r Donald Cornwell

[email protected]

atex_elmd 1385/tcp Atex Publishing License Manager

atex_elmd 1385/udp Atex Publishing License Manager Brett Sorenson [email protected]

checksum 1386/tcp CheckSum License Manager

checksum 1386/udp CheckSum License Manager Andreas Glocker [email protected]

cadsi-lm 1387/tcp Computer Aided Design Software Inc LM

cadsi-lm 1387/udp Computer Aided Design Software Inc LM Sulistio Muljadi

objective-dbc 1388/tcp Objective Solutions DataBase Cache

objective-dbc 1388/udp Objective Solutions DataBase Cache Donald Cornwell

iclpv-dm 1389/tcp Document Manager

iclpv-dm 1389/udp Document Manager

iclpv-sc 1390/tcp Storage Controller

iclpv-sc 1390/udp Storage Controller

iclpv-sas 1391/tcp Storage Access Server

iclpv-sas 1391/udp Storage Access Server

iclpv-pm 1392/tcp Print Manager

Page 356: Servidores de Redes.pdf

iclpv-pm 1392/udp Print Manager

iclpv-nls 1393/tcp Network Log Server

iclpv-nls 1393/udp Network Log Server

iclpv-nlc 1394/tcp Network Log Client

iclpv-nlc 1394/udp Network Log Client

iclpv-wsm 1395/tcp PC Workstation Manager software

iclpv-wsm 1395/udp PC Workstation Manager software A.P. Hobson

[email protected]

dvl-activemail 1396/tcp DVL Active Mail

dvl-activemail 1396/udp DVL Active Mail

audio-activmail 1397/tcp Audio Active Mail

audio-activmail 1397/udp Audio Active Mail

video-activmail 1398/tcp Video Active Mail

video-activmail 1398/udp Video Active Mail Ehud Shapiro [email protected]

cadkey-licman 1399/tcp Cadkey License Manager

cadkey-licman 1399/udp Cadkey License Manager

cadkey-tablet 1400/tcp Cadkey Tablet Daemon

cadkey-tablet 1400/udp Cadkey Tablet Daemon Joe McCollough [email protected]

goldleaf-licman 1401/tcp Goldleaf License Manager

goldleaf-licman 1401/udp Goldleaf License Manager John Fox

prm-sm-np 1402/tcp Prospero Resource Manager

prm-sm-np 1402/udp Prospero Resource Manager

prm-nm-np 1403/tcp Prospero Resource Manager

prm-nm-np 1403/udp Prospero Resource Manager B. Clifford Neuman [email protected]

igi-lm 1404/tcp Infinite Graphics License Manager

igi-lm 1404/udp Infinite Graphics License Manager

ibm-res 1405/tcp IBM Remote Execution Starter

ibm-res 1405/udp IBM Remote Execution Starter

netlabs-lm 1406/tcp NetLabs License Manager

netlabs-lm 1406/udp NetLabs License Manager

dbsa-lm 1407/tcp DBSA License Manager

dbsa-lm 1407/udp DBSA License Manager Scott Shattuck [email protected]

sophia-lm 1408/tcp Sophia License Manager

sophia-lm 1408/udp Sophia License Manager Eric Brown [email protected]

here-lm 1409/tcp Here License Manager

here-lm 1409/udp Here License Manager David Ison [email protected]

hiq 1410/tcp HiQ License Manager

hiq 1410/udp HiQ License Manager Rick Pugh [email protected]

af 1411/tcp AudioFile

af 1411/udp AudioFile Jim Gettys [email protected]

innosys 1412/tcp InnoSys

innosys 1412/udp InnoSys

innosys-acl 1413/tcp Innosys-ACL

innosys-acl 1413/udp Innosys-ACL Eric Welch

ibm-mqseries 1414/tcp IBM MQSeries

Page 357: Servidores de Redes.pdf

ibm-mqseries 1414/udp IBM MQSeries Roger Meli rmmeli%[email protected]

dbstar 1415/tcp DBStar

dbstar 1415/udp DBStar Jeffrey Millman [email protected]

novell-lu6.2 1416/tcp Novell LU6.2

novell-lu6.2 1416/udp Novell LU6.2 Peter Liu

timbuktu-srv1 1417/tcp Timbuktu Service 1 Port

timbuktu-srv1 1417/tcp Timbuktu Service 1 Port

timbuktu-srv2 1418/tcp Timbuktu Service 2 Port

timbuktu-srv2 1418/udp Timbuktu Service 2 Port

timbuktu-srv3 1419/tcp Timbuktu Service 3 Port

timbuktu-srv3 1419/udp Timbuktu Service 3 Port

timbuktu-srv4 1420/tcp Timbuktu Service 4 Port

timbuktu-srv4 1420/udp Timbuktu Service 4 Port Marc Epard [email protected]

gandalf-lm 1421/tcp Gandalf License Manager

gandalf-lm 1421/udp Gandalf License Manager [email protected]

autodesk-lm 1422/tcp Autodesk License Manager

autodesk-lm 1422/udp Autodesk License Manager David Ko [email protected]

essbase 1423/tcp Essbase Arbor Software

essbase 1423/udp Essbase Arbor Software

hybrid 1424/tcp Hybrid Encryption Protocol

hybrid 1424/udp Hybrid Encryption Protocol Howard Hart [email protected]

zion-lm 1425/tcp Zion Software License Manager

zion-lm 1425/udp Zion Software License Manager David Ferrero [email protected]

sais 1426/tcp Satellite-data Acquisition System 1

sais 1426/udp Satellite-data Acquisition System 1 Bill Taylor [email protected]

mloadd 1427/tcp mloadd monitoring tool

mloadd 1427/udp mloadd monitoring tool Bob Braden [email protected]

informatik-lm 1428/tcp Informatik License Manager

informatik-lm 1428/udp Informatik License Manager Harald Schlangman [email protected]

muenchen.de

nms 1429/tcp Hypercom NMS

nms 1429/udp Hypercom NMS

tpdu 1430/tcp Hypercom TPDU

tpdu 1430/udp Hypercom TPDU Noor Chowdhury [email protected]

rgtp 1431/tcp Reverse Gossip Transport

rgtp 1431/udp Reverse Gossip Transport Ian Jackson [email protected]

blueberry-lm 1432/tcp Blueberry Software License Manager

blueberry-lm 1432/udp Blueberry Software License Manager Steve Beigel

[email protected] 1433/tcp Microsoft-SQL-Server

ms-sql-s 1433/udp Microsoft-SQL-Server

ms-sql-m 1434/tcp Microsoft-SQL-Monitor

ms-sql-m 1434/udp Microsoft-SQL-Monitor Peter Hussey [email protected]

ibm-cics 1435/tcp IBM CICS

ibm-cics 1435/udp IBM CICS Geoff Meacock [email protected]

saism 1436/tcp Satellite-data Acquisition System 2

Page 358: Servidores de Redes.pdf

saism 1436/udp Satellite-data Acquisition System 2 Bill Taylor [email protected]

tabula 1437/tcp Tabula

tabula 1437/udp Tabula Marcelo Einhorn KGUNE%[email protected]

eicon-server 1438/tcp Eicon Security Agent/Server

eicon-server 1438/udp Eicon Security Agent/Server

eicon-x25 1439/tcp Eicon X25/SNA Gateway

eicon-x25 1439/udp Eicon X25/SNA Gateway

eicon-slp 1440/tcp Eicon Service Location Protocol

eicon-slp 1440/udp Eicon Service Location Protocol Pat Calhoun [email protected]

cadis-1 1441/tcp Cadis License Management

cadis-1 1441/udp Cadis License Management

cadis-2 1442/tcp Cadis License Management

cadis-2 1442/udp Cadis License Management Todd Wichers [email protected]

ies-lm 1443/tcp Integrated Engineering Software

ies-lm 1443/udp Integrated Engineering Software David Tong [email protected]

marcam-lm 1444/tcp Marcam License Management

marcam-lm 1444/udp Marcam License Management Therese Hunt [email protected]

proxima-lm 1445/tcp Proxima License Manager

proxima-lm 1445/udp Proxima License Manager

ora-lm 1446/tcp Optical Research Associates Licens e Manager

ora-lm 1446/udp Optical Research Associates Licens e Manager

apri-lm 1447/tcp Applied Parallel Research LM

apri-lm 1447/udp Applied Parallel Research LM# Jim Dillon [email protected]

oc-lm 1448/tcp OpenConnect License Manager

oc-lm 1448/udp OpenConnect License Manager Sue Barnhill [email protected]

peport 1449/tcp PEport

peport 1449/udp PEport Qentin Neill [email protected]

dwf 1450/tcp Tandem Distributed Workbench Facil ity

dwf 1450/udp Tandem Distributed Workbench Facil ity Mike Bert [email protected]

infoman 1451/tcp IBM Information Management

infoman 1451/udp IBM Information Management Karen Burns

gtegsc-lm 1452/tcp GTE Government Systems License Man

gtegsc-lm 1452/udp GTE Government Systems License Man Mike Gregory

[email protected]

genie-lm 1453/tcp Genie License Manager

genie-lm 1453/udp Genie License Manager Paul Applegate [email protected]

interhdl_elmd 1454/tcp interHDL License Manager

interhdl_elmd 1454/tcp interHDL License Manager Eli Sternheim [email protected]

esl-lm 1455/tcp ESL License Manager

esl-lm 1455/udp ESL License Manager Abel Chou [email protected]

dca 1456/tcp DCA

dca 1456/udp DCA Jeff Garbers [email protected]

valisys-lm 1457/tcp Valisys License Manager

valisys-lm 1457/udp Valisys License Manager Leslie Lincoln [email protected]

nrcabq-lm 1458/tcp Nichols Research Corp.

Page 359: Servidores de Redes.pdf

nrcabq-lm 1458/udp Nichols Research Corp. Howard Cole [email protected]

proshare1 1459/tcp Proshare Notebook Application

proshare1 1459/udp Proshare Notebook Application

proshare2 1460/tcp Proshare Notebook Application

proshare2 1460/udp Proshare Notebook Application Robin Kar [email protected]

ibm_wrless_lan 1461/tcp IBM Wireless LAN

ibm_wrless_lan 1461/udp IBM Wireless LAN [email protected]

world-lm 1462/tcp World License Manager

world-lm 1462/udp World License Manager Michael S Amirault [email protected]

nucleus 1463/tcp Nucleus

nucleus 1463/udp Nucleus Venky Nagar [email protected]

msl_lmd 1464/tcp MSL License Manager

msl_lmd 1464/udp MSL License Manager Matt Timmermans

pipes 1465/tcp Pipes Platform

pipes 1465/udp Pipes Platform [email protected] Mark Farlin [email protected]

oceansoft-lm 1466/tcp Ocean Software License Manager

oceansoft-lm 1466/udp Ocean Software License Manager Randy Leonard [email protected]

csdmbase 1467/tcp CSDMBASE

csdmbase 1467/udp CSDMBASE

csdm 1468/tcp CSDM

csdm 1468/udp CSDM Robert Stabl [email protected]

aal-lm 1469/tcp Active Analysis Limited License M anager

aal-lm 1469/udp Active Analysis Limited License M anager David Snocken +44 (71)437-7009

uaiact 1470/tcp Universal Analytics

uaiact 1470/udp Universal Analytics Mark R. Ludwig [email protected]

csdmbase 1471/tcp csdmbase

csdmbase 1471/udp csdmbase

csdm 1472/tcp csdm

csdm 1472/udp csdm Robert Stabl [email protected]

openmath 1473/tcp OpenMath

openmath 1473/udp OpenMath Garth Mayville [email protected]

telefinder 1474/tcp Telefinder

telefinder 1474/udp Telefinder Jim White [email protected]

taligent-lm 1475/tcp Taligent License Manager

taligent-lm 1475/udp Taligent License Manager Mark Sapsford Mark_Sapsford@@taligent.com

clvm-cfg 1476/tcp clvm-cfg

clvm-cfg 1476/udp clvm-cfg Eric Soderberg [email protected]

ms-sna-server 1477/tcp ms-sna-server

ms-sna-server 1477/udp ms-sna-server

ms-sna-base 1478/tcp ms-sna-base

ms-sna-base 1478/udp ms-sna-base Gordon Mangione [email protected]

dberegister 1479/tcp dberegister

dberegister 1479/udp dberegister Brian Griswold [email protected]

pacerforum 1480/tcp PacerForum

pacerforum 1480/udp PacerForum Peter Caswell [email protected]

Page 360: Servidores de Redes.pdf

airs 1481/tcp AIRS

airs 1481/udp AIRS Bruce Wilson, 905-771-6161

miteksys-lm 1482/tcp Miteksys License Manager

miteksys-lm 1482/udp Miteksys License Manager Shane McRoberts [email protected]

afs 1483/tcp AFS License Manager

afs 1483/udp AFS License Manager Michael R. Pizolato [email protected]

confluent 1484/tcp Confluent License Manager

confluent 1484/udp Confluent License Manager James Greenfiel [email protected]

lansource 1485/tcp LANSource

lansource 1485/udp LANSource Doug Scott [email protected]

nms_topo_serv 1486/tcp nms_topo_serv

nms_topo_serv 1486/udp nms_topo_serv Sylvia Siu [email protected]

localinfosrvr 1487/tcp LocalInfoSrvr

localinfosrvr 1487/udp LocalInfoSrvr Brian Matthews [email protected]

docstor 1488/tcp DocStor

docstor 1488/udp DocStor Brian Spears [email protected]

dmdocbroker 1489/tcp dmdocbroker

dmdocbroker 1489/udp dmdocbroker Razmik Abnous [email protected]

insitu-conf 1490/tcp insitu-conf

insitu-conf 1490/udp insitu-conf Paul Blacknell [email protected]

anynetgateway 1491/tcp anynetgateway

anynetgateway 1491/udp anynetgateway Dan Poirier [email protected]

stone-design-1 1492/tcp stone-design-1

stone-design-1 1492/udp stone-design-1 Andrew Stone [email protected]

netmap_lm 1493/tcp netmap_lm

netmap_lm 1493/udp netmap_lm Phillip Magson [email protected]

ica 1494/tcp ica

ica 1494/udp ica John Richardson, Citrix Systems

cvc 1495/tcp cvc

cvc 1495/udp cvc Bill Davidson [email protected]

liberty-lm 1496/tcp liberty-lm

liberty-lm 1496/udp liberty-lm Jim Rogers [email protected]

rfx-lm 1497/tcp rfx-lm

rfx-lm 1497/udp rfx-lm Bill Bishop [email protected]

watcom-sql 1498/tcp Watcom-SQL

watcom-sql 1498/udp Watcom-SQL Rog Skubowius [email protected]

fhc 1499/tcp Federico Heinz Consultora

fhc 1499/udp Federico Heinz Consultora Federico Heinz [email protected]

vlsi-lm 1500/tcp VLSI License Manager

vlsi-lm 1500/udp VLSI License Manager Shue-Lin Kuo [email protected]

saiscm 1501/tcp Satellite-data Acquisition System 3

saiscm 1501/udp Satellite-data Acquisition System 3 Bill Taylor [email protected]

shivadiscovery 1502/tcp Shiva

shivadiscovery 1502/udp Shiva Jonathan Wenocur [email protected]

imtc-mcs 1503/tcp Databeam

Page 361: Servidores de Redes.pdf

imtc-mcs 1503/udp Databeam Jim Johnstone [email protected]

evb-elm 1504/tcp EVB Software Engineering License Manager

evb-elm 1504/udp EVB Software Engineering License Manager B.G. Mahesh

[email protected]

funkproxy 1505/tcp Funk Software, Inc.

funkproxy 1505/udp Funk Software, Inc. Robert D. Vincent [email protected]

utcd 1506/tcp Universal Time daemon (utcd)

utcd 1506/udp Universal Time daemon (utcd) Walter Poxon [email protected]

symplex 1507/tcp symplex

symplex 1507/udp symplex Mike Turley [email protected]

diagmond 1508/tcp diagmond

diagmond 1508/udp diagmond Pete Moscatelli [email protected]

robcad-lm 1509/tcp Robcad, Ltd. License Managerrobca d-lm

# 1509/udp Robcad, Ltd. License Manager Hindin Joseph hindin%[email protected]

mvx-lm 1510/tcp Midland Valley Exploration Ltd. L ic. Man.

mvx-lm 1510/udp Midland Valley Exploration Ltd. L ic. Man. Charles X. Chen

[email protected]

3l-l1 1511/tcp 3l-l1

3l-l1 1511/udp 3l-l1 Ian A. Young [email protected]

wins 1512/tcp Microsoft's Windows Internet Name Service

wins 1512/udp Microsoft's Windows Internet Name Service Pradeep Bahl [email protected]

fujitsu-dtc 1513/tcp Fujitsu Systems Business of Ameri ca, Inc

fujitsu-dtc 1513/udp Fujitsu Systems Business of Ameri ca, Inc

fujitsu-dtcns 1514/tcp Fujitsu Systems Business of Ameri ca, Inc

fujitsu-dtcns 1514/udp Fujitsu Systems Business of Ameri ca, Inc Charles A. Higgins

[email protected]

ifor-protocol 1515/tcp ifor-protocol

ifor-protocol 1515/udp ifor-protocol Dr. R.P. Alston [email protected]

vpad 1516/tcp Virtual Places Audio data

vpad 1516/udp Virtual Places Audio data

vpac 1517/tcp Virtual Places Audio control

vpac 1517/udp Virtual Places Audio control

vpvd 1518/tcp Virtual Places Video data

vpvd 1518/udp Virtual Places Video data

vpvc 1519/tcp Virtual Places Video control

vpvc 1519/udp Virtual Places Video control Ehud Shapiro [email protected]

atm-zip-office 1520/tcp atm zip office

atm-zip-office 1520/udp atm zip office Wilson Kwan wilsonk%[email protected]

ncube-lm 1521/tcp nCube License Manager

ncube-lm 1521/udp nCube License Manager Maxine Yuen [email protected]

rna-lm 1522/tcp Ricardo North America License Man ager

rna-lm 1522/udp Ricardo North America License Man ager [email protected]

cichild-lm 1523/tcp cichild

cichild-lm 1523/udp cichild Andy Burgess [email protected]

ingreslock 1524/tcp ingres

Page 362: Servidores de Redes.pdf

ingreslock 1524/udp ingres

orasrv 1525/tcp oracle

orasrv 1525/udp oracle

prospero-np 1525/tcp Prospero Directory Service non-pr iv

prospero-np 1525/udp Prospero Directory Service non-pr iv

pdap-np 1526/tcp Prospero Data Access Prot non-pri v

pdap-np 1526/udp Prospero Data Access Prot non-pri v B. Clifford Neuman [email protected]

tlisrv 1527/tcp oracle

tlisrv 1527/udp oracle

mciautoreg 1528/tcp micautoreg

mciautoreg 1528/udp micautoreg John Klensin [email protected]

coauthor 1529/tcp oracle

coauthor 1529/udp oracle

rap-service 1530/tcp rap-service

rap-service 1530/udp rap-service

rap-listen 1531/tcp rap-listen

rap-listen 1531/udp rap-listen Phil Servita [email protected]

miroconnect 1532/tcp miroconnect

miroconnect 1532/udp miroconnect Michael Fischer +49 531 21 13 0

virtual-places 1533/tcp Virtual Places Software

virtual-places 1533/udp Virtual Places Software Ehud Shapiro [email protected]

micromuse-lm 1534/tcp micromuse-lm

micromuse-lm 1534/udp micromuse-lm Adam Kerrison [email protected]

ampr-info 1535/tcp ampr-info

ampr-info 1535/udp ampr-info

ampr-inter 1536/tcp ampr-inter

ampr-inter 1536/udp ampr-inter Rob Janssen [email protected]

sdsc-lm 1537/tcp isi-lm

sdsc-lm 1537/udp isi-lm Len Wanger [email protected]

3ds-lm 1538/tcp 3ds-lm

3ds-lm 1538/udp 3ds-lm Keith Trummel [email protected]

intellistor-lm 1539/tcp Intellistor License Manager

intellistor-lm 1539/udp Intellistor License Manager Ron Vaughn [email protected]

rds 1540/tcp rds

rds 1540/udp rds

rds2 1541/tcp rds2

rds2 1541/udp rds2 Sudhakar Rajamannar [email protected]

gridgen-elmd 1542/tcp gridgen-elmd

gridgen-elmd 1542/udp gridgen-elmd John R. Chawner +1 817 354-1004

simba-cs 1543/tcp simba-cs

simba-cs 1543/udp simba-cs Betsy Alexander +1 604-681-4549

aspeclmd 1544/tcp aspeclmd

aspeclmd 1544/udp aspeclmd V. Balaji [email protected]

vistium-share 1545/tcp vistium-share

vistium-share 1545/udp vistium-share Allison Carleton [email protected]

Page 363: Servidores de Redes.pdf

abbaccuray 1546/tcp abbaccuray

abbaccuray 1546/udp abbaccuray John Wendt 614-261-2000

laplink 1547/tcp laplink

laplink 1547/udp laplink Michael Crawford [email protected]

axon-lm 1548/tcp Axon License Manager

axon-lm 1548/udp Axon License Manager Mark Pearce

Mark_A.._Pearce/[email protected]

shivahose 1549/tcp Shiva Hose

shivasound 1549/udp Shiva Sound Kin Chan [email protected]

3m-image-lm 1550/tcp Image Storage license manager 3M Company

3m-image-lm 1550/udp Image Storage license manager 3M Company J. C. Canessa

[email protected]

hecmtl-db 1551/tcp HECMTL-DB

hecmtl-db 1551/udp HECMTL-DB Maxime Belanger [email protected]

pciarray 1552/tcp pciarray

pciarray 1552/udp pciarray Ron Folk [email protected]

sna-cs 1553/tcp sna-cs

sna-cs 1553/udp sna-cs Tony Sowter [email protected]

caci-lm 1554/tcp CACI Products Company License Man ager

caci-lm 1554/udp CACI Products Company License Man ager Erik Blume [email protected]

livelan 1555/tcp livelan

livelan 1555/udp livelan [email protected] Kaynam Hedayat

ashwin 1556/tcp AshWin CI Tecnologies

ashwin 1556/udp AshWin CI Tecnologies Dave Neal [email protected]

arbortext-lm 1557/tcp ArborText License Manager

arbortext-lm 1557/udp ArborText License Manager David J. Wilson [email protected]

xingmpeg 1558/tcp xingmpeg

xingmpeg 1558/udp xingmpeg Howard Gordon [email protected]

web2host 1559/tcp web2host

web2host 1559/udp web2host Stephen Johnson [email protected]

asci-val 1560/tcp asci-val

asci-val 1560/udp asci-val Brian Schenkenberger [email protected]

facilityview 1561/tcp facilityview

facilityview 1561/udp facilityview Ed Green [email protected]

pconnectmgr 1562/tcp pconnectmgr

pconnectmgr 1562/udp pconnectmgr Bob Kaiser [email protected]

cadabra-lm 1563/tcp Cadabra License Manager

cadabra-lm 1563/udp Cadabra License Manager Arthur Castonguay [email protected]

pay-per-view 1564/tcp Pay-Per-View

pay-per-view 1564/udp Pay-Per-View Brian Tung [email protected]

winddlb 1565/tcp WinDD

winddlb 1565/udp WinDD Kelly Sims [email protected]

corelvideo 1566/tcp CORELVIDEO

corelvideo 1566/udp CORELVIDEO Ming Poon [email protected]

jlicelmd 1567/tcp jlicelmd

Page 364: Servidores de Redes.pdf

jlicelmd 1567/udp jlicelmd Christian Schormann [email protected]

tsspmap 1568/tcp tsspmap

tsspmap 1568/udp tsspmap Paul W. Nelson [email protected]

ets 1569/tcp ets

ets 1569/udp ets Carstein Seeberg [email protected]

orbixd 1570/tcp orbixd

orbixd 1570/udp orbixd Bridget Walsh [email protected]

rdb-dbs-disp 1571/tcp Oracle Remote Data Base

rdb-dbs-disp 1571/udp Oracle Remote Data Base [email protected]

chip-lm 1572/tcp Chipcom License Manager

chip-lm 1572/udp Chipcom License Manager Jerry Natowitz Jerry Natowitz

itscomm-ns 1573/tcp itscomm-ns

itscomm-ns 1573/udp itscomm-ns Rich Thompson [email protected]

mvel-lm 1574/tcp mvel-lm

mvel-lm 1574/udp mvel-lm David Bisset [email protected]

oraclenames 1575/tcp oraclenames

oraclenames 1575/udp oraclenames P.V.Shivkumar [email protected]

moldflow-lm 1576/tcp moldflow-lm

moldflow-lm 1576/udp moldflow-lm Paul Browne [email protected]

hypercube-lm 1577/tcp hypercube-lm

hypercube-lm 1577/udp hypercube-lm Michael Moller [email protected]

jacobus-lm 1578/tcp Jacobus License Manager

jacobus-lm 1578/udp Jacobus License Manager Tony Cleveland [email protected]

ioc-sea-lm 1579/tcp ioc-sea-lm

ioc-sea-lm 1579/tcp ioc-sea-lm Paul Nelson [email protected]

tn-tl-r1 1580/tcp tn-tl-r1

tn-tl-r2 1580/udp tn-tl-r2 Ed Kress [email protected]

vmf-msg-port 1581/tcp vmf-msg-port

vmf-msg-port 1581/udp vmf-msg-port Eric Whitehill [email protected]

tams-lm 1582/tcp Toshiba America Medical Systems

tams-lm 1582/udp Toshiba America Medical Systems Philip [email protected]

simbaexpress 1583/tcp simbaexpress

simbaexpress 1583/udp simbaexpress Betsy Alexander +1 604-681-4549

tn-tl-fd2 1584/tcp tn-tl-fd2

tn-tl-fd2 1584/udp tn-tl-fd2 Ed Kress [email protected]

intv 1585/tcp intv

intv 1585/udp intv Dermot Tynand [email protected]

ibm-abtact 1586/tcp ibm-abtact

ibm-abtact 1586/udp ibm-abtact Sandeep K. Singhal [email protected]

pra_elmd 1587/tcp pra_elmd

pra_elmd 1587/udp pra_elmd Dennis Mastin [email protected]

triquest-lm 1588/tcp triquest-lm

triquest-lm 1588/udp triquest-lm Nand Kumar [email protected]

vqp 1589/tcp VQP

vqp 1589/udp VQP Keith McCloghrie [email protected]

Page 365: Servidores de Redes.pdf

gemini-lm 1590/tcp gemini-lm

gemini-lm 1590/udp gemini-lm Tony Sawyer [email protected]

ncpm-pm 1591/tcp ncpm-pm

ncpm-pm 1591/udp ncpm-pm Ted Power [email protected]

commonspace 1592/tcp commonspace

commonspace 1592/udp commonspace Job Chandhok [email protected]

mainsoft-lm 1593/tcp mainsoft-lm

mainsoft-lm 1593/udp mainsoft-lm Anand Gangadharan [email protected]

sixtrak 1594/tcp sixtrak

sixtrak 1594/udp sixtrak Bob Rennie [email protected]

radio 1595/tcp radio

radio 1595/udp radio

radio-sm 1596/tcp radio-sm

radio-bc 1596/udp radio-bc Ken Chapman [email protected]

orbplus-iiop 1597/tcp orbplus-iiop

orbplus-iiop 1597/udp orbplus-iiop Robert A. Kukura [email protected]

picknfs 1598/tcp picknfs

picknfs 1598/udp picknfs John Lombardo [email protected]

simbaservices 1599/tcp simbaservices

simbaservices 1599/udp simbaservices Betsy Alexander +1 604-681-4549

issd 1600/tcp

issd 1600/udp

aas 1601/tcp aas

aas 1601/udp aas Andy Schweig [email protected]

inspect 1602/tcp inspect

inspect 1602/udp inspect Frank O'Neill [email protected]

picodbc 1603/tcp pickodbc

picodbc 1603/udp pickodbc John Lombardo [email protected]

icabrowser 1604/tcp icabrowser

icabrowser 1604/udp icabrowser Brad Pedersen [email protected]

slp 1605/tcp Salutation Manager (Salutation Pro tocol)

slp 1605/udp Salutation Manager (Salutation Pro tocol)

slm-api 1606/tcp Salutation Manager (SLM-API)

slm-api 1606/udp Salutation Manager (SLM-API) Tohru Mori [email protected]

stt 1607/tcp stt

stt 1607/udp stt Ryan Bolz [email protected]

smart-lm 1608/tcp Smart Corp. License Manager

smart-lm 1608/udp Smart Corp. License Manager Connie Qiu [email protected]

isysg-lm 1609/tcp isysg-lm

isysg-lm 1609/udp isysg-lm Adam Curtin [email protected]

taurus-wh 1610/tcp taurus-wh

taurus-wh 1610/udp taurus-wh Jeff Moffatt [email protected]

ill 1611/tcp Inter Library Loan

ill 1611/udp Inter Library Loan Niall Murphy [email protected]

netbill-trans 1612/tcp NetBill Transaction Server

Page 366: Servidores de Redes.pdf

netbill-trans 1612/udp NetBill Transaction Server

netbill-keyrep 1613/tcp NetBill Key Repository

netbill-keyrep 1613/udp NetBill Key Repository

netbill-cred 1614/tcp NetBill Credential Server

netbill-cred 1614/udp NetBill Credential Server

netbill-auth 1615/tcp NetBill Authorization Server

netbill-auth 1615/udp NetBill Authorization Server

netbill-prod 1616/tcp NetBill Product Server

netbill-prod 1616/udp NetBill Product Server Marvin Sirbu [email protected]

nimrod-agent 1617/tcp Nimrod Inter-Agent Communication

nimrod-agent 1617/udp Nimrod Inter-Agent Communication Charles Lynn [email protected]

skytelnet 1618/tcp skytelnet

skytelnet 1618/udp skytelnet Byron Jones [email protected]

xs-openbackup 1619/tcp xs-openbackup

xs-openbackup 1619/udp xs-openbackup XuiS Software Ltd. [email protected]

faxportwinport 1620/tcp faxportwinport

faxportwinport 1620/udp faxportwinport Chris Wells [email protected]

softdataphone 1621/tcp softdataphone

softdataphone 1621/udp softdataphone Dror Gill [email protected]

ontime 1622/tcp ontime

ontime 1622/udp ontime Keith Rhodes 810-559-5955

jaleosnd 1623/tcp jaleosnd

jaleosnd 1623/udp jaleosnd Christian Schormann [email protected]

udp-sr-port 1624/tcp udp-sr-port

udp-sr-port 1624/udp udp-sr-port Herb Jensen [email protected]

svs-omagent 1625/tcp svs-omagent

svs-omagent 1625/udp svs-omagent Alberto Berlen [email protected]

cncp 1636/tcp CableNet Control Protocol

cncp 1636/udp CableNet Control Protocol

cnap 1637/tcp CableNet Admin Protocol

cnap 1637/udp CableNet Admin Protocol

cnip 1638/tcp CableNet Info Protocol

cnip 1638/udp CableNet Info Protocol Damian Hamill [email protected]

cert-initiator 1639/tcp cert-initiator

cert-initiator 1639/udp cert-initiator

cert-responder 1640/tcp cert-responder

cert-responder 1640/udp cert-responder Tom Markson [email protected]

invision 1641/tcp InVision

invision 1641/udp InVision Christopher Davey [email protected]

isis-am 1642/tcp isis-am

isis-am 1642/udp isis-am

isis-ambc 1643/tcp isis-ambc

isis-ambc 1643/udp isis-ambc Ken Chapman [email protected]

saiseh 1644/tcp Satellite-data Acquisition System 4 Bill Taylor [email protected]

datametrics 1645/tcp datametrics

Page 367: Servidores de Redes.pdf

datametrics 1645/udp datametrics Jerry Jongerius [email protected]

sa-msg-port 1646/tcp sa-msg-port

sa-msg-port 1646/udp sa-msg-port Eric Whitehill [email protected]

rsap 1647/tcp rsap

rsap 1647/udp rsap Holger Reif [email protected]

concurrent-lm 1648/tcp concurrent-lm

concurrent-lm 1648/udp concurrent-lm Maggie Brinsford [email protected]

inspect 1649/tcp inspect

inspect 1649/udp inspect Frank da Cruz [email protected]

nkd 1650/tcp

nkd 1650/udp

shiva_confsrvr 1651/tcp shiva_confsrvr

shiva_confsrvr 1651/udp shiva_confsrvr Mike Horowitz [email protected]

xnmp 1652/tcp xnmp

xnmp 1652/udp xnmp Ali Saleh [email protected]

alphatech-lm 1653/tcp alphatech-lm

alphatech-lm 1653/udp alphatech-lm Joseph Hauk [email protected]

stargatealerts 1654/tcp stargatealerts

stargatealerts 1654/udp stargatealerts Tim Coppernoll [email protected]

dec-mbadmin 1655/tcp dec-mbadmin

dec-mbadmin 1655/udp dec-mbadmin

dec-mbadmin-h 1656/tcp dec-mbadmin-h

dec-mbadmin-h 1656/udp dec-mbadmin-h Nick Shipman

[email protected]

fujitsu-mmpdc 1657/tcp fujitsu-mmpdc

fujitsu-mmpdc 1657/udp fujitsu-mmpdc Katsumi Oomuro [email protected]

sixnetudr 1658/tcp sixnetudr

sixnetudr 1658/udp sixnetudr Bob Rennie [email protected]

sg-lm 1659/tcp Silicon Grail License Manager

sg-lm 1659/udp Silicon Grail License Manager William R Bishop [email protected]

skip-mc-gikreq 1660/tcp skip-mc-gikreq

skip-mc-gikreq 1660/udp skip-mc-gikreq Tom Markson [email protected]

netview-aix-1 1661/tcp netview-aix-1

netview-aix-1 1661/udp netview-aix-1

netview-aix-2 1662/tcp netview-aix-2

netview-aix-2 1662/udp netview-aix-2

netview-aix-3 1663/tcp netview-aix-3

netview-aix-3 1663/udp netview-aix-3

netview-aix-4 1664/tcp netview-aix-4

netview-aix-4 1664/udp netview-aix-4

netview-aix-5 1665/tcp netview-aix-5

netview-aix-5 1665/udp netview-aix-5

netview-aix-6 1666/tcp netview-aix-6

netview-aix-6 1666/udp netview-aix-6

netview-aix-7 1667/tcp netview-aix-7

Page 368: Servidores de Redes.pdf

netview-aix-7 1667/udp netview-aix-7

netview-aix-8 1668/tcp netview-aix-8

netview-aix-8 1668/udp netview-aix-8

netview-aix-9 1669/tcp netview-aix-9

netview-aix-9 1669/udp netview-aix-9

netview-aix-10 1670/tcp netview-aix-10

netview-aix-10 1670/udp netview-aix-10

netview-aix-11 1671/tcp netview-aix-11

netview-aix-11 1671/udp netview-aix-11

netview-aix-12 1672/tcp netview-aix-12

netview-aix-12 1672/udp netview-aix-12 Martha Crisson [email protected]

proshare-mc-1 1673/tcp Intel Proshare Multicast

proshare-mc-1 1673/udp Intel Proshare Multicast

proshare-mc-2 1674/tcp Intel Proshare Multicast

proshare-mc-2 1674/udp Intel Proshare Multicast Mark Lewis [email protected]

pdp 1675/tcp Pacific Data Products

pdp 1675/udp Pacific Data Products Gary Morton [email protected]

nefcomm1 1676/tcp netcomm1

nefcomm2 1676/udp netcomm2 Bulent Kasman [email protected]

groupwise 1677/tcp groupwise

groupwise 1677/udp groupwise Brent Bradshaw [email protected]

prolink 1678/tcp prolink

prolink 1678/udp prolink Brian Abramson [email protected]

darcorp-lm 1679/tcp darcorp-lm

darcorp-lm 1679/udp darcorp-lm [email protected]

microcom-sbp 1680/tcp "microcom-sbp "

microcom-sbp 1680/udp "microcom-sbp " Boris B. Maiden [email protected]

sd-elmd 1681/tcp sd-elmd

sd-elmd 1681/udp sd-elmd Bryan Otey [email protected]

lanyon-lantern 1682/tcp lanyon-lantern

lanyon-lantern 1682/udp lanyon-lantern Robin Lewis [email protected]

ncpm-hip 1683/tcp ncpm-hip

ncpm-hip 1683/udp ncpm-hip Ken Hearn [email protected]

snaresecure 1684/tcp SnareSecure

snaresecure 1684/udp SnareSecure Marty Batchelder [email protected]

n2nremote 1685/tcp n2nremote

n2nremote 1685/udp n2nremote Kin Chan [email protected]

cvmon 1686/tcp cvmon

cvmon 1686/udp cvmon Carol Ann Krug [email protected]

nsjtp-ctrl 1687/tcp nsjtp-ctrl

nsjtp-ctrl 1687/udp nsjtp-ctrl

nsjtp-data 1688/tcp nsjtp-data

nsjtp-data 1688/udp nsjtp-data Orazio Granato [email protected]

firefox 1689/tcp firefox

firefox 1689/udp firefox Mark S. Edwards [email protected]

Page 369: Servidores de Redes.pdf

ng-umds 1690/tcp ng-umds

ng-umds 1690/udp ng-umds Louis E. Simard [email protected]

empire-empuma 1691/tcp empire-empuma

empire-empuma 1691/udp empire-empuma Bobby Krupczak [email protected]

sstsys-lm 1692/tcp sstsys-lm

sstsys-lm 1692/udp sstsys-lm Yih-Wu Wang [email protected]

rrirtr 1693/tcp rrirtr

rrirtr 1693/udp rrirtr

rrimwm 1694/tcp rrimwm

rrimwm 1694/udp rrimwm

rrilwm 1695/tcp rrilwm

rrilwm 1695/udp rrilwm

rrifmm 1696/tcp rrifmm

rrifmm 1696/udp rrifmm

rrisat 1697/tcp rrisat

rrisat 1697/udp rrisat Allen Briggs [email protected]

rsvp-encap-1 1698/tcp RSVP-ENCAPSULATION-1

rsvp-encap-1 1698/udp RSVP-ENCAPSULATION-1

rsvp-encap-2 1699/tcp RSVP-ENCAPSULATION-2

rsvp-encap-2 1699/udp RSVP-ENCAPSULATION-2 Bob Braden [email protected]

mps-raft 1700/tcp mps-raft

mps-raft 1700/udp mps-raft Jason Leupen [email protected]

l2f 1701/tcp l2f

l2f 1701/udp l2f Andy Valencia [email protected]

deskshare 1702/tcp deskshare

deskshare 1702/udp deskshare Sarah Thompson [email protected]

hb-engine 1703/tcp hb-engine

hb-engine 1703/udp hb-engine Charles C.L. Chou [email protected]

bcs-broker 1704/tcp bcs-broker

bcs-broker 1704/udp bcs-broker Andy Warner [email protected]

slingshot 1705/tcp slingshot

slingshot 1705/udp slingshot Paul Groarke [email protected]

jetform 1706/tcp jetform

jetform 1706/udp jetform gdeinsta [email protected]

vdmplay 1707/tcp vdmplay

vdmplay 1707/udp vdmplay Vadim Lebedev [email protected]

gat-lmd 1708/tcp gat-lmd

gat-lmd 1708/udp gat-lmd Igor Zaoutine [email protected]

centra 1709/tcp centra

centra 1709/udp centra Drew Wolff [email protected]

impera 1710/tcp impera

impera 1710/udp impera Kirmo Wilen [email protected]

# 1709-1943 Unassigned

close-combat 1944/tcp close-combat

close-combat 1944/udp close-combat David Hua [email protected]

Page 370: Servidores de Redes.pdf

dialogic-elmd 1945/tcp dialogic-elmd

dialogic-elmd 1945/udp dialogic-elmd Roger Kay [email protected]

tekpls 1946/tcp tekpls

tekpls 1946/udp tekpls Brian Abramson [email protected]

hlserver 1947/tcp hlserver

hlserver 1947/udp hlserver Michael Zzunke [email protected]

eye2eye 1948/tcp eye2eye

eye2eye 1948/udp eye2eye Trevor Bell [email protected]

# 1949-1987 Unassigned

licensedaemon 1986/tcp cisco license management

licensedaemon 1986/udp cisco license management

tr-rsrb-p1 1987/tcp cisco RSRB Priority 1 port

tr-rsrb-p1 1987/udp cisco RSRB Priority 1 port

tr-rsrb-p2 1988/tcp cisco RSRB Priority 2 port

tr-rsrb-p2 1988/udp cisco RSRB Priority 2 port

tr-rsrb-p3 1989/tcp cisco RSRB Priority 3 port

tr-rsrb-p3 1989/udp cisco RSRB Priority 3 port

mshnet 1989/tcp MHSnet system

mshnet 1989/udp MHSnet system Bob Kummerfeld [email protected]

stun-p1 1990/tcp cisco STUN Priority 1 port

stun-p1 1990/udp cisco STUN Priority 1 port

stun-p2 1991/tcp cisco STUN Priority 2 port

stun-p2 1991/udp cisco STUN Priority 2 port

stun-p3 1992/tcp cisco STUN Priority 3 port

stun-p3 1992/udp cisco STUN Priority 3 port

ipsendmsg 1992/tcp IPsendmsg

ipsendmsg 1992/udp Ipsendmsg Bob Kummerfeld [email protected]

snmp-tcp-port 1993/tcp cisco SNMP TCP port

snmp-tcp-port 1993/udp cisco SNMP TCP port

stun-port 1994/tcp cisco serial tunnel port

stun-port 1994/udp cisco serial tunnel port

perf-port 1995/tcp cisco perf port

perf-port 1995/udp cisco perf port

tr-rsrb-port 1996/tcp cisco Remote SRB port

tr-rsrb-port 1996/udp cisco Remote SRB port

gdp-port 1997/tcp cisco Gateway Discovery Protocol

gdp-port 1997/udp cisco Gateway Discovery Protocol

x25-svc-port 1998/tcp cisco X.25 service (XOT)

x25-svc-port 1998/udp cisco X.25 service (XOT)

tcp-id-port 1999/tcp cisco identification port

tcp-id-port 1999/udp cisco identification port

callbook 2000/tcp

callbook 2000/udp

dc 2001/tcp

wizard 2001/udp curry

Page 371: Servidores de Redes.pdf

globe 2002/tcp

globe 2002/udp

"mailbox " 2004/tcp

emce 2004/udp CCWS mm conf

berknet 2005/tcp

oracle 2005/udp

invokator 2006/tcp

"raid-cc " 2006/udp raid

dectalk 2007/tcp

"raid-am " 2007/udp

conf 2008/tcp

terminaldb 2008/udp

news 2009/tcp

whosockami 2009/udp

search 2010/tcp

pipe_server 2010/udp

"raid-cc " 2011/tcp raid

servserv 2011/udp

"ttyinfo " 2012/tcp

"raid-ac " 2012/udp

"raid-am " 2013/tcp

"raid-cd " 2013/udp

troff 2014/tcp

raid-sf 2014/udp

cypress 2015/tcp

raid-cs 2015/udp

bootserver 2016/tcp

bootserver 2016/udp

cypress-stat 2017/tcp

bootclient 2017/udp

terminaldb 2018/tcp

rellpack 2018/udp

whosockami 2019/tcp

about 2019/udp

xinupageserver 2020/tcp

"xinupageserver " 2020/udp

servexec 2021/tcp

xinuexpansion1 2021/udp

down 2022/tcp

xinuexpansion2 2022/udp

"xinuexpansion3 " 2023/tcp

"xinuexpansion3 " 2023/udp

"xinuexpansion4 " 2024/tcp

"xinuexpansion4 " 2024/udp

ellpack 2025/tcp

Page 372: Servidores de Redes.pdf

xribs 2025/udp

scrabble 2026/tcp

scrabble 2026/udp

shadowserver 2027/tcp

shadowserver 2027/udp

submitserver 2028/tcp

submitserver 2028/udp

"device2 " 2030/tcp

"device2 " 2030/udp

blackboard 2032/tcp

blackboard 2032/udp

glogger 2033/tcp

glogger 2033/udp

scoremgr 2034/tcp

scoremgr 2034/udp

"imsldoc " 2035/tcp

imsldoc 2035/udp

"objectmanager " 2038/tcp

"objectmanager " 2038/udp

lam 2040/tcp

lam 2040/udp

interbase 2041/tcp

interbase 2041/udp

isis 2042/tcp isis

isis 2042/udp isis

isis-bcast 2043/tcp isis-bcast

isis-bcast 2043/udp isis-bcast Ken Chapman [email protected]

rimsl 2044/tcp

rimsl 2044/udp

cdfunc 2045/tcp

cdfunc 2045/udp

sdfunc 2046/tcp

sdfunc 2046/udp

dls 2047/tcp

dls 2047/udp

dls-monitor 2048/tcp

dls-monitor 2048/udp

shilp 2049/tcp

shilp 2049/udp

dlsrpn 2065/tcp Data Link Switch Read Port Number

dlsrpn 2065/udp Data Link Switch Read Port Number

dlswpn 2067/tcp Data Link Switch Write Port Number

dlswpn 2067/udp Data Link Switch Write Port Number

zephyr-srv 2102/tcp Zephyr server

zephyr-srv 2102/udp Zephyr server

Page 373: Servidores de Redes.pdf

zephyr-clt 2103/tcp Zephyr serv-hm connection

zephyr-clt 2103/udp Zephyr serv-hm connection

zephyr-hm 2104/tcp Zephyr hostmanager

zephyr-hm 2104/udp Zephyr hostmanager Greg Hudson [email protected]

ats 2201/tcp Advanced Training System Program

ats 2201/udp Advanced Training System Program

kali 2213/tcp Kali

kali 2213/udp Kali Jay Cotton [email protected]

unreg-ab1 2221/tcp Allen-Bradley unregistered port

unreg-abl 2221/udp Allen-Bradley unregistered port

unreg-ab2 2222/tcp Allen-Bradley unregistered port

unreg-ab2 2222/udp Allen-Bradley unregistered port

inreg-ab3 2223/tcp Allen-Bradley unregistered port

inreg-ab3 2223/udp Allen-Bradley unregistered port

ivs-video 2232/tcp IVS Video default

ivs-video 2232/udp IVS Video default Thierry Turletti [email protected]

ivsd 2241/tcp IVS Daemon

ivsd 2241/udp IVS Daemon Thierry Turletti [email protected]

pehelp 2307/tcp pehelp

pehelp 2307/udp pehelp Jens Kilian [email protected]

cvspserver 2401/tcp cvspserver

cvspserver 2401/udp cvspserver Jim Kingdon [email protected]

rtsserv 2500/tcp Resource Tracking system server

rtsserv 2500/udp Resource Tracking system server

rtsclient 2501/tcp Resource Tracking system client

rtsclient 2501/udp Resource Tracking system client Aubrey Turner

S95525ta%[email protected]

hp-3000-telnet 2564/tcp HP 3000 NS/VT block mode telnet

tqdata 2700/tcp tqdata

tqdata 2700/udp tqdata Al Guetzlaff [email protected]

www-dev 2784/tcp world wide web - development

www-dev 2784/udp world wide web - development

hlserver 3047/tcp Fast Security HL Server

hlserver 3047/udp Fast Security HL Server Michael Zunke [email protected]

pctrader 3048/tcp Sierra Net PC Trader

pctrader 3048/udp Sierra Net PC Trader Chris Hahn [email protected]

NSWS 3049/tcp

NSWS 3049/udp

vmodem 3141/tcp VMODEM

vmodem 3141/udp VMODEM Ray Gwinn [email protected]

ccmail 3264/tcp cc:mail/lotus

ccmail 3264/udp cc:mail/lotus

dec-notes 3333/tcp DEC Notes

dec-notes 3333/udp DEC Notes Kim Moraros [email protected]

mapper-nodemgr 3984/tcp MAPPER network node manager

Page 374: Servidores de Redes.pdf

mapper-nodemgr 3984/udp MAPPER network node manager

mapper-mapethd 3985/tcp MAPPER TCP/IP server

mapper-mapethd 3985/udp MAPPER TCP/IP server

mapper-ws_ethd 3986/tcp MAPPER workstation server

mapper-ws_ethd 3986/udp MAPPER workstation server John C. Horton

[email protected]

bmap 3421/tcp Bull Apprise portmapper

bmap 3421/udp Bull Apprise portmapper Jeremy Gilbert [email protected]

mira 3454/tcp Apple Remote Access Protocol Mike Alexander [email protected]

prsvp 3455/tcp RSVP Port

prsvp 3455/udp RSVP Port Bob Braden [email protected]

vat 3456/tcp VAT default data

vat 3456/udp VAT default data Van Jacobson [email protected]

vat-control 3457/tcp VAT default control

vat-control 3457/udp VAT default control Van Jacobson [email protected]

udt_os 3900/tcp Unidata UDT OS

udt_os 3900/udp Unidata UDT OS James Powell [email protected]

netcheque 4008/tcp NetCheque accounting

netcheque 4008/udp NetCheque accounting B. Clifford Neuman [email protected]

nuts_dem 4132/tcp NUTS Daemon

nuts_dem 4132/udp NUTS Daemon

nuts_bootp 4133/tcp NUTS Bootp Server

nuts_bootp 4133/udp NUTS Bootp Server Martin Freiss freiss.pad@sni.

rwhois 4321/tcp Remote Who Is

rwhois 4321/udp Remote Who Is Mark Kosters [email protected]

unicall 4343/tcp UNICALL

unicall 4343/udp UNICALL James Powell [email protected]

krb524 4444/tcp KRB524

krb524 4444/udp KRB524 B. Clifford Neuman [email protected]

nv-video 4444/tcp NV Video default

nv-video 4444/udp NV Video default Ron Frederick [email protected]

sae-urn 4500/tcp sae-urn

sae-urn 4500/udp sae-urn

urn-x-cdchoice 4501/tcp urn-x-cdchoice

urn-x-cdchoice 4501/udp urn-x-cdchoice Paul Hoffman [email protected]

rfa 4672/tcp remote file access server

rfa 4672/udp remote file access server

commplex-main 5000/tcp

"commplex-main " 5000/udp

"commplex-link " 5001/tcp

"commplex-link " 5001/udp

rfe 5002/tcp radio free ethernet

rfe 5002/udp radio free ethernet

claris-fmpro 5003/tcp Claris FileMaker Pro

claris-fmpro 5003/udp Claris FileMaker Pro Jon Thatcher [email protected]

Page 375: Servidores de Redes.pdf

avt-profile-1 5004/tcp avt-profile-1

avt-profile-1 5004/udp avt-profile-1

avt-profile-2 5005/tcp avt-profile-2

avt-profile-2 5005/udp avt-profile-2 Henning Schulzrinne [email protected]

telelpathstart 5010/tcp TelepathStart

telelpathstart 5010/udp TelepathStart

telelpathattack 5011/tcp TelepathAttack

telelpathattack 5011/udp TelepathAttack Helmuth Breitenfellner [email protected]

mmcc 5050/tcp multimedia conference control tool

mmcc 5050/udp multimedia conference control tool Steve Casner [email protected]

rmonitor_secure 5145/tcp

rmonitor_secure 5145/udp

aol 5190/tcp America-Online

aol 5190/udp America-Online Marty Lyons [email protected]

aol-1 5191/tcp AmericaOnline1

aol-1 5191/udp AmericaOnline1

aol-2 5192/tcp AmericaOnline2

aol-2 5192/udp AmericaOnline2

aol-3 5193/tcp AmericaOnline3

aol-3 5193/udp AmericaOnline3 Bruce Mackey [email protected]

padl2sim 5236/tcp

padl2sim 5236/udp

"hacl-hb " 5300/tcp # HA cluster heartbeat

hacl-hb 5300/udp # HA cluster heartbeat

"hacl-gs " 5301/tcp # HA cluster general services

hacl-gs 5301/udp # HA cluster general services

hacl-cfg 5302/tcp # HA cluster configuration

hacl-cfg 5302/udp # HA cluster configuration

hacl-probe 5303/tcp # HA cluster probing

hacl-probe 5303/udp # HA cluster probing

hacl-local 5304/tcp

hacl-local 5304/udp

hacl-test 5305/tcp

hacl-test 5305/udp Eric Soderberg [email protected]

proshareaudio 5713/tcp proshare conf audio

proshareaudio 5713/udp proshare conf audio

prosharevideo 5714/tcp proshare conf video

prosharevideo 5714/udp proshare conf video

prosharedata 5715/tcp proshare conf data

prosharedata 5715/udp proshare conf data

prosharerequest 5716/tcp proshare conf request

prosharerequest 5716/udp proshare conf request

prosharenotify 5717/tcp proshare conf notify

prosharenotify 5717/udp proshare conf notify [email protected]

x11 6000-/tcp X Window System

Page 376: Servidores de Redes.pdf

x11 6000-/udp X Window System Stephen Gildea [email protected]

softcm 6110/tcp HP SoftBench CM

softcm 6110/udp HP SoftBench CM

spc 6111/tcp HP SoftBench Sub-Process Control

spc 6111/udp HP SoftBench Sub-Process Control Scott A. Kramer [email protected]

dtspcd 6112/tcp dtspcd

dtspcd 6112/udp dtspcd Doug Royer [email protected]

meta-corp 6141/tcp Meta Corporation License Manager

meta-corp 6141/udp Meta Corporation License Manager Osamu Masuda

aspentec-lm 6142/tcp Aspen Technology License Manager

aspentec-lm 6142/udp Aspen Technology License Manager Kevin Massey [email protected]

watershed-lm 6143/tcp Watershed License Manager

watershed-lm 6143/udp Watershed License Manager David Ferrero [email protected]

statsci1-lm 6144/tcp StatSci License Manager - 1

statsci1-lm 6144/udp StatSci License Manager - 1

statsci2-lm 6145/tcp StatSci License Manager - 2

statsci2-lm 6145/udp StatSci License Manager - 2 Scott Blachowicz [email protected]

lonewolf-lm 6146/tcp Lone Wolf Systems License Manager

lonewolf-lm 6146/udp Lone Wolf Systems License Manager Dan Klein [email protected]

montage-lm 6147/tcp Montage License Manager

montage-lm 6147/udp Montage License Manager Michael Ubell [email protected]

ricardo-lm 6148/tcp Ricardo North America License Mana ger

ricardo-lm 6148/udp Ricardo North America License Mana ger M Flemming [email protected]

tal-pod 6149/tcp tal-pod

tal-pod 6149/udp tal-pod Steven Loomis [email protected]

skip-cert-recv 6455/tcp SKIP Certificate Receive

skip-cert-send 6456/tcp SKIP Certificate Send Tom Markson [email protected]

xdsxdm "6558/tcp "

xdsxdm "6558/udp "

vision_server 6672/tcp vision_server

vision_server 6672/udp vision_server

vision_elmd 6673/tcp vision_elmd

vision_elmd 6673/udp vision_elmd Chris Kramer [email protected]

acmsoda 6969/tcp acmsoda

acmsoda 6969/udp acmsoda Daniel Simms [email protected]

afs3-fileserver 7000/tcp file server itself

afs3-fileserver 7000/udp file server itself

afs3-callback 7001/tcp callbacks to cache managers

afs3-callback 7001/udp callbacks to cache managers

afs3-prserver 7002/tcp users & groups database

afs3-prserver 7002/udp users & groups database

afs3-vlserver 7003/tcp volume location database

afs3-vlserver 7003/udp volume location database

afs3-kaserver 7004/tcp AFS/Kerberos authentication service

afs3-kaserver 7004/udp AFS/Kerberos authentication service

Page 377: Servidores de Redes.pdf

afs3-volser 7005/tcp volume managment server

afs3-volser 7005/udp volume managment server

afs3-errors 7006/tcp error interpretation service

afs3-errors 7006/udp error interpretation service

afs3-bos 7007/tcp basic overseer process

afs3-bos 7007/udp basic overseer process

afs3-update 7008/tcp server-to-server updater

afs3-update 7008/udp server-to-server updater

afs3-rmtsye 7009/tcp remote cache manager service

afs3-rmtsys 7009/udp remote cache manager service

ups-onlinet 7010/tcp onlinet uninterruptable power supp lies

ups-onlinet 7010/udp onlinet uninterruptable power sup plies Brian Hammill

[email protected]

font-service 7100/tcp X Font Service

font-service 7100/udp X Font Service Stephen Gildea [email protected]

virprot-lm 7121/tcp Virtual Prototypes License Manage r

virprot-lm 7121/tcp Virtual Prototypes License Manage r Victor Galis

[email protected]

fodms 7200/tcp FODMS FLIP

fodms 7200/udp FODMS FLIP David Anthony [email protected]

dlip 7201/tcp DLIP

dlip 7201/udp DLIP Albert Manfredi [email protected]

cbt 7777/tcp cbt

cbt 7777/udp cbt Tony Ballardie [email protected]

npmp 8450/tcp npmp

npmp 8450/udp npmp Ian Chard [email protected]

cslistener 9000/tcp CSlistener

cslistener 9000/udp Cslistener David Jones [email protected]

man 9535/tcp

man 9535/udp

sd 9876/tcp Session Director

sd 9876/udp Session Director Van Jacobson [email protected]

distinct32 9998/tcp Distinct32

distinct32 9998/udp Distinct32

distinct 9999/tcp distinct

distinct 9999/udp distinct Anoop Tewari [email protected]

isode-dua 17007/tcp

isode-dua 17007/udp

biimenu 18000/tcp Beckman Instruments, Inc.

biimenu 18000/udp Beckman Instruments, Inc. R. L. Meyering

[email protected]

webphone 21845/tcp webphone

webphone 21845/udp webphone

info server 21846/tcp info server

info server 21846/udp info server

Page 378: Servidores de Redes.pdf

connect server 21847/tcp connect server

connect server 21847/udp connect server Shane D. Mattaway [email protected]

icl-twobase1 25000/tcp icl-twobase1

icl-twobase1 25000/udp icl-twobase1

icl-twobase2 25001/tcp icl-twobase2

icl-twobase2 25001/udp icl-twobase2

icl-twobase3 25002/tcp icl-twobase3

icl-twobase3 25002/udp icl-twobase3

icl-twobase4 25003/tcp icl-twobase4

icl-twobase4 25003/udp icl-twobase4

icl-twobase5 25004/tcp icl-twobase5

icl-twobase5 25004/udp icl-twobase5

icl-twobase6 25005/tcp icl-twobase6

icl-twobase6 25005/udp icl-twobase6

icl-twobase7 25006/tcp icl-twobase7

icl-twobase7 25006/udp icl-twobase7

icl-twobase8 25007/tcp icl-twobase8

icl-twobase8 25007/udp icl-twobase8

icl-twobase9 25008/tcp icl-twobase9

icl-twobase9 25008/udp icl-twobase9

icl-twobase10 25009/tcp icl-twobase10

icl-twobase10 25009/udp icl-twobase10 J. A. (Tony) Sever [email protected]

dbbrowse 47557/tcp Databeam Corporation

dbbrowse 47557/udp Databeam Corporation Cindy Martin [email protected]