Vous êtes sur la page 1sur 378

Servidores Captulo 1. APACHE 1.1. Quais so as opes de configurao do Apache pelo Linuxconf?

### 5.1 e anteriores ### A primeira coisa a se fazer verificar se o mdulo referente ao apache no linuxconf est ativado. Uma vez dentro do linuxconf entre em :
Arquivos de controle e sistemas --> Configurar os mdulos do Configurador Linux --> Marque o mdulo do apache Aceitar Sair Sair Ativar as Mudanas

Aps, entre novamente no linuxconf e v em:


Ambiente de rede --> Apache - servidor www --> Padres -->

Os campos mais importantes sero explicados abaixo:

Endereo email do administrador: Para


se houver irregularidades.

onde o mail ser enviado automaticamente

Domain IP address: endereo IP do dominio (do servidor principal) Nome do servidor: um nome vlido em DNS do servidor principal Diretrio raiz dos documentos: onde sero lidos os htmls do servidor principal Registros de transferncias, Registros de agentes, Registros de referncia: logs do
sistema, cujo caminho opcionalmente pode ser especificado aqui.

Escutando na porta: porta onde o servidor principal vai responder (padro Tempo mximo de espera da conexo: mesmo que "Timeout" mencionado durante
configuraes do httpd.conf

80) as

Funcionalidades: neste

encontram-se algumas opes que esto explicadas e podero ser marcadas de acordo com a necessidade.

Depois de sair desta seo aceitando as configuraes ou cancelando, voltamos a tela de menu que contem os campos. Entre em:
Domnios Virtuais --> Adicionar -->

Em:

Nome da mquina virtual: definimos


virtual ir rodar.

o nome do mquina virtual em que o servidor

Endereo email do administrador: para


anmalo ser mandado.

onde o mail avisando funcionamento

Domain IP address: O IP do Servidor Virtual. Diretrio raiz dos documentos: pasta onde os documentos

html estaro (no caso, foi anteriormente configurado no httpd.conf que seria em /vh). virtual

Nomes alternativos de servidor: seria um apelido para este servidor Funcionalidades: opes relativas a este servidor virtual. Depois de aceitar ou cancelar esta opes, voltamos ao menu do apache. Entre desta vez em :
Especificaes de subdiretrios -->

Aqui encontramos onde os documentos do servidor principal ficaro (inclui cones, htmls e cgis). Depois de Sair ou Aceitar estas opes, entre em:
Modules -->

Neste campo voc poder adicionar ou retirar mdulos relativos ao apache (aumentando as suas funes ou restringindo-as). Voltando ao menu principal do apache, v agora em:
Performance -->

Em:

Inicia servidores: nmero

de servidores que iniciam logo no boot do httpd (um exemplo e uma explicao sobre isso foi passada anteriormente quando foi configurado o httpd.conf)

Nm mx de clientes por servidores, Nm mx de req. por processo filho, Nm mn de serv. aguardando conexo, Nm mx de serv. aguardando conexo: 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

seo pode-se ligar ou desligar o suporte a este recurso, o maximo de pedidos e quanto aps quanto tempo o mesmo expira.

Tempo mximo de espera da conexo: Seria


nas configuraes do httpd.conf.

o "timeout" explicado anteriormente

Depois de todos estes campos configurados, saia do linuxconf ativando as mudanas. Os teste para saber se o mesmo est funcionando so os mesmos mencionados anteriormente quando terminamos de editar o arquivo httpd.conf. ### CL 6.0 ### A primeira coisa a se fazer verificar se o mdulo referente ao Apache no linuxconf est instalado. Em um terminal como usurio root, digite:
[root@localhost /root]# rpm -q linuxconf-apache linuxconf-apache-1.21r8-7cl

Caso no esteja instalado, preciso instalar o mdulo de configurao. 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

Caso no funcione, seja mais especfico:


[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 diretrio do CD, para poder desmont-lo. Digite, antes de desmontar, o comando:
[root@localhost /RPMS]# cd

e digite ento o comando:


[root@localhost /root]# umount /mnt/cdrom

Agora, preciso verificar se o mdulo est ativo no linuxconf (aqui, considera-se a configurao em modo grfico): 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 mdulos do Linuxconf --> Marque o mdulo do apache Aceitar Fechar Sair Ativar as Mudanas

Configurando um domnio Entre no linuxconf e v em:


Configurao --> Ambiente de rede --> Tarefas de servidor Apache - servidor Web --> Padres -->

Os campos mais importantes sero explicados abaixo: 1. Aba "Bsico"

Endereo email do administrador: Para onde o mail ser mandado automaticamente se houver irregularidades no funcionamento do Apache. O endereo padro root@localhost. Endereo IP de domnio: endereo IP do domnio, no caso, do servidor principal.
Ex.: 123.456.789.0

Nome do servidor: um nome vlido, em DNS, do servidor principal


Ex. servidor.dominio.com.br

Diretrio raiz dos documentos: onde sero lidos os arquivos .html do servidor principal. O valor padro "/home/httpd/html". 2. Aba "Registros" Registros de erro: log de erros do sistema, cujo caminho opcionalmente pode ser especificado aqui. O valor padro logs/error_log. Registros de transferncias, Registros de agentes, Registros de referncia: logs do sistema, cujo caminho opcionalmente pode ser especificado aqui. 3. Aba "Ajustes"

Escutando na porta: porta na qual o servidor principal vai responder (padro 80) Arquivo de identificao de processo: O servidor web armazena os PID de seus processos principais neste arquivo. O arquivo padro /var/run/httpd.pid Tempo de espera: Quantos segundos o servidor web espera por um pedido a ser enviado aps a conexo de um cliente ao servidor. Caso um cliente se conecte mas no envie nenhum pedido, este ser desconectado

decorrido o tempo aqui definido, liberando os recursos que so ocupados por este usurio. O valor padro 300 4. Aba "Funcionalidades" Nesta seo, encontram-se algumas opes que esto explicadas e podero ser marcadas de acordo com a necessidade. [ ] Incluses relativas ao servidor: Se habilitado, os arquivos com a extenso .shtml so processados para expandir tags de incluses relativas ao servidor antes dos resultados serem retornados ao cliente. [ ] IncludesNOEXEC: Tambm habilita incluses relativas ao servidor, mas a tag SSI #exec e #include:ing CGI-scripts so desabilitadas. [ ] Pode executar programas CGI: Permite execuo de scripts CGI. Normalmente habilitada apenas no sub-diretrio spec para o diretrio CGI. [ ] ndices: Quando acessada uma URL terminando em um diretrio, o arquivo index.html neste diretrio retornado. Se este arquivo no existir e esta opo estiver habilitada uma lista de diretrios retornada. Caso esta opo esteja desabilitada uma mensagem "404 Not Found" ento retornada. [ ] Pode seguir links simblicos: Caso um diretrio ou arquivo acessado seja um link simblico, o acesso ser apenas permitido se esta caracterstica estiver habilitada. [ ] Seguir links simb. de mesmo dono: Como na descrio acima, porm o dono do link simblico e seu arquivo alvo devem ser os mesmos. Isto permite que usurios possuam links simblicos para seus prprios arquivos, mas no para os arquivos mais sensveis do sistema, por exemplo /etc/passwd. [ ] Vises mltiplas: 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 vrias imagens e formatos de dados em arquivos com certas extenses e ento habilitar multivises. Com esta configurao j possvel disponibilizar pginas em seu servidor Apache principal. J existe por padro um arquivo index.html no diretrio /home/httpd/html e para testar se sua configurao est correta, saia do linuxconf ativando as mudanas. Caso tenha sido alterado o diretrio raiz dos documentos, coloque algum documento html neste diretrio (lembrando que este deve ter a permisso de acesso 755, ou seja, toda a rvore deve possuir tal permisso). Por exemplo, considerando que o diretrio raiz /dominio/webpage/html, basta definir as permisses de todos os diretrios desta rvore. Para tanto, em um terminal como usurio root, digite:
[root@localhost /root]# chmod 755 -R /dominio

Agora inicie o servio httpd:


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

Para saber se o mesmo est funcionando, digite em um browser (por exemplo):


http://servidor.dominio.com.br

Configurao de um domnio virtual Novamente no linuxconf, v em:


Configurao --> Ambiente de rede --> Tarefas de servidor Apache - servidor Web --> Dominios Virtuais --> Adicionar -->

Em:
o

Nome da mquina virtual: definimos o nome da mquina virtual em que o servidor virtual ir rodar.
Ex.: host_virtual.com.br

Na aba: 2. "Bsico" informe:

Endereo email do administrador: para onde o mail avisando funcionamento anmalo ser enviado.
Ex.: Admin@dominio.com.br

Domain IP address: O IP do Servidor Virtual.


Ex.: 192.168.0.0

Diretrio raiz dos documentos: pasta onde os documentos .html estaro.


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 transferncias, Registros de agentes, Registros de referncia: logs do sistema, cujo caminho opcionalmente pode ser especificado aqui. Nomes alternativos de servidor: seria um apelido para este servidor virtual 4. "Funcionalidades" As opes relativas a este servidor virtual so idnticas s opes do servidor principal, j explicadas anteriormente. Depois de aceitar ou cancelar estas opes, voltamos ao menu do Apache. Entre desta vez em:
Especificaes de subdiretrios -->

Aqui encontramos onde os documentos do servidor principal ficaro (inclui cones, htmls e CGI's). Depois de Sair ou Aceitar estas opes, entre em:
Mdulos -->

Neste campo possvel adicionar ou retirar mdulos relativos ao Apache (aumentando as suas funes ou restringindo-as). Voltando ao menu de configurao do Apache, v agora em:
Performance -->

Em: Servidores iniciais: nmero de servidores que iniciam logo na inicializao do Apache (httpd). Valor padro 2. Nm. mx. de clientes por servidores: O nmero mximo de processos filho. Cada conexo de um cliente utiliza um processo filho, ento 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 no derrube todo o sistema com isto caso algum deva ser mandado para fora do servidor. O valor padro 150. Nm. mx. de req. por processo filho: Um processo filho sair aps fornecer este nmero de acessos. Isto feito como uma proteo falha contra possveis vazamentos de memria. O valor padro 500. Nm mn de serv. aguardando conexo: O Apache certifica-se de que sempre h poucos processos filho ociosos para que seja possvel a manipulao de picos de carga. Caso menos do que este nmero de processos estejam ociosos, mais sero inicializados. O valor padro 2. Nm mx de serv. aguardando conexo: O Apache tambm se certifica nunca h mais do que este nmero de processos filho ociosos. Caso haja mais, alguns destes devem ser finalizados. O valor padro 4. Keeps Alive: Para reduzir a largura da banda utilizada para trfego na Internet HTTP foi extendido para tornar possvel se fazer mais de um pedido dentro de uma nica conexo. Isto chamado de persistent connection, ou ainda de kept alive. O padro desabilitado. Tempo de espera do keep alive: O nmero de segundos a se esperar pelo prximo pedido em uma persistent connection. Caso este tempo seja excedido a conexo fechada. O valor padro 10. Agora, necessrio informar ao sistema que o mesmo precisa responder num outro endereo IP (192.168.0.0, por exemplo), alm do IP verdadeiro, pois um virtual host no 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 endereo definido aqui deve ser o mesmo que fora definido no servidor Apache virtual. Vamos utilizar ento o linuxconf para adicionar este IP "falso" (tcnica chamada de IP ALIAS, anteriormente mencionada).

Entre como root no linuxconf:


[root@localhost]# linuxconf

V em:
Configurao --> Ambiente de Rede --> Tarefas de servidor --> Apelidos de IP para mquinas virtuais --> eth0 -->

Configure o IP virtual (em nosso caso, seria 192.168.0.0) e sua mscara. Depois:
Aceitar Fechar Fechar Sair Ativar as mudanas

Confirme se o novo IP est realmente online usando o comando ping:


[root@localhost]# ping 192.168.0.0

Coloque algum documento html no diretrio /virtual/html (que de acordo com a configurao feita, a pasta do server virtual, podendo ter subpastas dentro desta) todos com as devidas permisses 755 previamente mencionadas. Depois de todos estes campos configurados, saia do linuxconf ativando as mudanas. Para saber se o mesmo est funcionando, digite em um browser (por exemplo):
http://host_virtual.com.br (nome do virtual host)

Estes so os tpicos bsicos do servidor http Apache pois o mesmo possui ainda outros recursos como SSL (conexo segura) entre outros, mas as configuraes detalhadas neste documento j so suficientes para execut-lo. Habilitando uma pgina hospedada no home de usurios Para habilitar acesso a pginas pessoais de usurios, o Apache disponibiliza uma opo por padro. Para tanto, eles precisaro criar um diretrio public_html em seus home e colocar algum arquivo .html al, podendo ser acessado por um browser:
http://nome.da.maquina/~nome-do-usurio.

IMPORTANTE: ESTE E TODOS OS DIRETRIO ANTERIORES PRECISAM TER PERMISSES 755 A FIM DE GARANTIR ACESSO. Caso se queira alterar o nome do diretrio, preciso editar o arquivo /etc/httpd/conf/httpd.conf e informar o novo nome de diretrio, no qual o usurio ir armazenar os arquivos .html Estes so os tpicos bsicos do servidor http apache pois o mesmo possui ainda outros recursos como ssl (conexo segura) entre outros, mas as configuraes detalhadas neste documento j so suficientes para execut-lo.

1.2. Quais so as opes do arquivo de configurao do Apache? (httpd.conf)


O servidor httpd Apache tem a funo de servir pginas 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 "patchevel" ("patchy" em ingls, logo o nome Apache veio de "a

patchy server") extendendo suas capacidades iniciais por fazer uso de mdulos diversos. Estes, adicionam o suporte a php, cgi e outros, e so de suma importncia para um servidor http seguro e verstil. A configurao bsica abordada neste documento, tem 3 sees importantes:
Configurao do servidor principal Configurao de um servidor em um domnio virtual Habilitao de uma pgina hospedada no home de usurios

Configurao principal (editando o arquivo de configurao) Os arquivos responsveis por toda a configurao do httpd so trs (acess.conf, srm.conf e httpd.conf), mas apenas um deles importa realmente (httpd.conf), sendo os outros dois consideredos dispensveis, j que possvel colocar tudo que poderia estar nestes, no principal. Obs.: Na verso Conectiva Linux 8, os diretrios onde as pginas ficam armazenadas mudam de /html para /var/www/default. As opes neste arquivo j esto comentadas mas mesmo assim aqui vai uma descrio das mesmas. As principais so:
# ServerType is either inetd, or standalone. # on # Unix platforms. # ServerType standalone Inetd mode is only supported

Diz ao sistema se o httpd vai ser rodado via script prprio (standalone), ou a partir do arquivo inetd.conf (inetd). (em "inetd" o httpd fica ocioso, enquanto o inetd fica monitorando as requisies, quando houver alguma, ele avisa e o servio comea 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 diretrio onde iro ficar os arquivos de configurao. Pode ser mudado se necessrio.
# # Timeout: The number of seconds before receives and sends time out. # Timeout 300

Tempo mximo (em segundos) que o servidor esperar, mantendo uma conexo aberta com o cliente. Se o limite for excedido, ele ter de criar uma nova conexo com o mesmo.
# # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. #

KeepAlive On

Diretamente ligado com a opo acima, define se o processo de manter a conexo com o cliente est ativo ou no.
# # 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

Nmero mximo de conexes mantidas, sem necessidade de renovao. Quanto mais alto o nmero, 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

Mximo (de segundos) a espera de nova requisio.


# # Number of servers to start initially --- should be a reasonable ballpark # figure. # StartServers 10

Nmero de servers iniciais, ou seja, logo no incio do processo, o httpd poderia responder a 10 conexes simultneas 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

Nmero mximo de conexes 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 alm de seu ip normal (o da prpria mquina))
# # # # # 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.

# 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 alm. Para cada virtual host, necessria uma entrada "BindAddress e um nmero 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. the order below without expert advice. Don't change

# 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 alm, AddModule)

Descomentando quaisquer das linhas que comecem com LoadModule ou AddModule, valida o carregamento de mdulos feito na inicializao do httpd. Estes funcionam como opes, por exemplo, habilitar ou no 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 endereo 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

# 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, no ir adiantar. O modo de cham-lo seria http://nome mas se o mesmo no estiver em nenhum DNS, coloque o ip (seria http://numero-ip para cham-lo ento, 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 estaro os arquivos html do servidor __principal__. IMPORTANTE: o diretrio deve estar com permisso 755 (chmod 755, sendo leitura, escrita e execuo para o dono, leitura e execuo para grupo e outros que no 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 opes que os diretrios onde contm documentos htmls a serem acessados iro ter. A primeira "# This should.." deve conter o mesmo diretrio que o "DocumentRoot" tem (o /html). IMPORTANTE: TODAS ESTAS DEVERO 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 associao mais alm), voc ter de ter

as entradas <Directory "/vh"> e todas as abaixo desta, nem que sejam apenas copiadas, abaixo do trmino 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 opo bem til. Cuida de qual diretrio o usurio ter de fazer, se quiser ter uma pgina em seu home. No caso, como est configurado, ele precisar criar um diretrio 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-usurio. IMPORTANTE: COMO MENCIONADO ANTERIORMENTE, ESTE E TODOS OS DIRETRIO ANTERIORES PRECISAM TER PERMISSES 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 opo coordena os direitos de acesso ao diretrio public_html dos usurios e vem por padro, comentada. No caso voc deve descoment-la e modific-la de acordo com o diretrio home de seus usurios (por exemplo, o campo <Directory /home/*/public_html> diz que, no diretrio /home, todos que existem dentro dele e que tenham public_html vo ser passveis 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 tambm pois determina quais nomes de arquivos sero vlidos para realizar-se a abertura dos mesmos em um browser http. No caso da configurao 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.

# 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 vlida. Se desligada, ele no 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 nvel o httpd ir rodar. A recomendada a warn pois no causa acmulo 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 definio deste que voc no precisa ter vrios computadores rodando http servers neles, com apenas um voc pode ter www.teste.com e www.teste1.com, cada um abrindo uma pgina diferente (em diferentes diretrios do cpu) e cada um possuindo um ip (mas ambos apontaro 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 webmaster@host.some_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 webmaster@host.some_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 no menos importante das configuraes bsicas do apache. Ela cuida do servidor virtual e de suas configuraes, sendo que o que est comentado (com um # na frente) d um exemplo do que dever ser feito (as linhas descomentadas no esto escritas por padro, 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 webmaster@host.some_domain.com

Se o sistema detectar algo de anmalo, um mail ser enviado a webmaster@host.some_domain.com

DocumentRoot /vh

Designa a pasta onde os arquivos html do servidor virtual sero colocados (LEMBRANDO QUE ESTA DEVER TER PERMISSES 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 relatrio de erros do servidor virtual vai ser escrito em logs/host.some_domain.comerror_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 configurao do virtual host. IMPROTANTE: DEPOIS DE QUALQUER MODIFICAO NESTE ARQUIVO (INCLUSIVE NA PRIMEIRA), O HTTPD DEVER SER REINICIADO DIGITANDO COMO ROOT:
[root@localhost /root]# cds

e aps:
[root@localhost /init.d]# ./httpd stop [root@localhost /init.d]# ./httpd start

Depois, necessrio informar ao sistema que o mesmo precisa responder num outro ip (192.168.255.108 como definido nas configuraes do virtual host) alm do ip verdadeiro (pois um virtual host no 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 ento o linuxconf para adicionar este ip "falso" (tcnica chamada de IP ALIAS, anteriormente mencionada). Entre como root no linuxconf:
[root@localhost]# linuxconf

V em:
Ambiente de Rede --> Apelidos de IP para mquinas virtuais --> eth0 --> configure o ip virtual (no caso do nosso, seria 192.168.255.108) e sua mscara. Depois: Aceitar Sair Sair Sair Ativar as mudanas

Confirme se o novo ip est realmente online usando o comando ping: [root@localhost]# ping 192.168.255.108 Coloque algum documento html no diretrio /html (que de acordo com a configurao feita, a pasta do server principal, podendo ter subpastas dentro desta) e em /vh (configurada para

o virtualhost "teste" e que tambm pode ter subpastas), todas com as devidas permisses 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 vlido na pasta /html e o segundo na /vh. Para uma pgina no home do usurio, digite (aps o usurio ter criado a pasta public_html em seu home e ter dado permisses 755 para a mesma).
http://nome-da-maquina/~nome-do-usurio

deve responder no html do diretrio /home/nome-do-usurio/public_html

1.3. Como fao para o apache abrir um diretrio, sem conter o index.html?
Basta editar o arquivo de configurao do apache /etc/httpd/conf/httpd.conf, que pode ser aberto com o comando:
[root@localhost]# mcedit /etc/httpd/conf/httpd.conf

Inclua a opo Indexes, conforme o exemplo abaixo:


<Directory "/html"> Options Indexes FollowSymLinks Includes </Directory>

1.4. Como fao para executar arquivos .asp no apache?


O Servidor Apache no 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 necessrios para a instalao do mdulo PHP3
apache-1.3.6-15cl ==> servidor web Apache mod_php3-3.0.9-5cl ==> mdulo php3 mod_php3-doc-3.0.9-5cl ==> Documentao para o PHP3 mod_php3-pgsql-3.0.9-5cl ==> Biblioteca PHP para acesso ao banco de dados PostgreSQL

Existem ainda outros pacotes responsveis pelo uso de outras bibliotecas, ou para o uso do PHP como CGI.

Configurao do Apache

Edite o arquivo /etc/httpd/conf/httpd.conf e descomente as seguintes linhas: (obs.: descomentar as linhas significa remover o sinal "#" do incio da linha)
# Extra Modules #LoadModule php_module LoadModule php3_module #LoadModule perl_module ClearModuleList AddModule mod_php3.c #No 5.0 descomente tambm a linha abaixo: AddType application/x-httpd-php3 .php3 modules/mod_php.so modules/libphp3.so modules/libperl.so

OBS: Verifique que a opo do AddModule mod_php3 deve ficar aps a linha ClearModuleList. Esses arquivos so responsveis pela carga do mdulo 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 responsvel pelas configuraes 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 mdulo php dever estar ativo. Pacotes rpm necessrios para a Instalao 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 funes

Configurao 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 ento o parmetros -i deixando -a assim:

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 conexes TCP/IP Reinicie o servidor:
[root@localhost]# /etc/rc.d/init.d/postgresql restart

Torne-se o usurio postgres:


[root@localhost]# su - postgres

Adicione o usurio nobody (usurio em qual o apache executado) na lista de usurios 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 documentao e muitos links. http://br.php.net => Espelho do site no Brasil http://www.allfinder.com.br/php => Site da lista de discusses Brasileira http://phpbuilder.com/ => Artigos e tutoriais http://www.horde.org => Webmail escrito em PHP3 http://webdev.berber.co.il/ => Vrios scripts, com sistema de busca.

1.6. Como configurar o servidor apache para interpretar scripts PHP4?


### CL 6.0 e posteriores ### Primeiramente ser necessrio verificar se os pacotes do php4 esto instalados, para isto execute:
[root@localhost]# rpm -qa |grep php4

Devero estar listados:


php4-verso do pacote mod_php4-verso do pacote

Caso no esteja instalados:


[root@localhost]# apt-get install php4 mod_php4

OBS: o apt-get deve estar devidamente configurado. Caso no esteja verifique nossa documentao 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 LoadModule php4_module #LoadModule perl_module #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 possvel visualizar tanto arquivos .php como .php3 # For PHP4: AddType application/x-httpd-php .php .php3 AddType application/x-httpd-php-source .phps modules/libphp3.so modules/libphp4.so modules/libperl.so

Salve e feche o arquivo Pronto agora basta reiniciar o servidor apache:


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

Pacotes rpm necessrios para a Instalao do PostgreSQL:


postgresql-verso do pacote ==> Servidor de banco de dados postgresql-clients-verso do pacote ==> Clientes para acesso ao servidor postgresql-lib-verso do pacote ==> Biblioteca compartilhada de funes

Configurao 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 ento o parmetros -i deixando -a assim:


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 conexes TCP/IP Reinicie o servidor:
[root@localhost]# /etc/rc.d/init.d/postgresql restart

Torne-se o usurio postgres:


[root@localhost]# su - postgres

Adicione o usurio nobody (usurio em qual o apache executado) na lista de usurios 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 necessrios para a Instalao do PostgreSQL:


postgresql-verso do pacote ==> Servidor de banco de dados postgresql-clients-verso do pacote ==> Clientes para acesso ao servidor postgresql-lib-verso do pacote ==> Biblioteca compartilhada de funes

Configurao 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 ento o parmetros -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 conexes TCP/IP Reinicie o servidor:
[root@localhost]# /etc/rc.d/init.d/postgresql restart

Torne-se o usurio postgres:


[root@localhost]# su - postgres

Adicione o usurio nobody (usurio em qual o apache executado) na lista de usurios 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

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 documentao e muitos links. http://br.php.net => Espelho do site no Brasil http://www.allfinder.com.br/php => Site da lista de discusses Brasileira http://phpbuilder.com/ => Artigos e tutoriais http://www.horde.org => Webmail escrito em PHP3 http://webdev.berber.co.il/ => Vrios 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 produo) no existindo a necessidade de se fazer um registro ou taxa adicional. Porm quando o servidor apache est utilizando suporte a SSL ento primeiramente deve-se fazer o registro do servidor SSL em empresas devidamente credenciadas. Existem diversas empresas que fazem este tipo de servio, uma delas esta:http://www.thawte.com Para fazer a configurao do SSL no servidor APACHE consulte a documentao existente em: http://www.apache.org

1.8. Como configurar domnios virtuais no Apache?


Existem dois casos possveis utilizando domnio virtual, uma que configurar os domnios virtuais no mesmo endereo IP e a outra forma configurar utilizando endereos IP's diferentes. Abaixo seguem os dois formatos: O arquivo onde as informaes devem ser adicionadas o : /etc/httpd/conf/httpd.conf Neste arquivo procure pela seo # VirtualHost example Obs.: Na verso Conectiva Linux 8, os diretrios onde as pginas ficam armazenadas mudam de /html para /var/www/default.

Configurando 3 domnios 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>

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 configurao 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 domnios 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 configurao 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 domnios virtuais no Apache via linuxconf?


### CL 60 e anteriores ###

Primeira parte: Configurao da rede Entre no linuxconf


[root@localhost]# linuxconf

V em Rede Nome da mquina e dispositivos ip de rede Indidique o nome: server.intranet Selecione Ativo Manual Primeiro nome + domnio: server.intranet Apelidos: server Endereo IP: 192.168.0.1 Mascara: 255.255.255.0 Dispositivo de rede: eth0 Mdulo do kernel: (que no modo texto pode ser selecionado com Ctrl+X) Saia Saia E aceite as alteraes.

[root@localhost]# [root@localhost]#

cds ./network stop && ./network start

Segunda parte: DNS Entre no


linuxconf

[root@localhost]#

linuxconf

V em Rede DNS - especificao do servidor de nomes [X] em operaes normais, DNS necessrio domnio padro: intranet IP do servidor de nomes 1: 127.0.0.1 procurar domnio 1: intranet

Aceitar Fechar

V em: Apelidos de IP para mquinas virtuais eth0 Apelidos ou faixas de IP: 10.0.0.1 Mscara (opc): 255.255.255.0 Apelidos ou faixas de IP: 10.0.0.2 Mscara (opc): 255.255.255.0 Aceitar Fechar

V em: DNS - servidor de nomes de domnios Configurar domnios Adicionar Domnio: lala Servidor Principal: server.intranet Servidores de nome (NS): server.intranet Servidores de correio (MX): server.intranet Aceitar Adicionar Domnio: mala Servidor Principal: server.intranet Servidores de nome (NS): server.intranet Servidores de correio (MX): server.intrane Aceitar Fechar mapas de IPs reversos Adicionar Nmero de rede: 192.168.0 Servidor principal: server.intranet Servidores de nomes (NS): server.intranet Aceitar Adicionar Nmero de rede: 10.0.0 Servidor principal: server.intranet Servidores de nomes (NS): server.intranet Aceitar Fechar Adicionar/Editar informaes de mquinas por domnio lala Adicionar www.lala Endereos IP: 10.0.0.1 Servidores de nome (NS): server.intranet Servidores de correio (MX): server.intranet Aceitar

Cancelar Fechar mala Adicionar www.mala Endereos 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 mquina que foi cadastrada, nesse caso a mquina 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 informaes sobre o domnio intranet:


intranet Server: localhost Address: 127.0.0.1 intranet intranet intranet nameserver = server.intranet preference = 5, mail exchanger = server.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: Configurao do Apache Abra o


linuxconf

[root@localhost]#

linuxconf

V em:
Rede

Apache - servidor Web Padres Endereo IP de domnio: 192.168.0.1 Nome do Servidor: server.intranet Diretrio raiz dos documentos: /var/httpd/html Aceitar Domnios virtuais Adicionar Nome da mquina virtual: 10.0.0.1:80 Nome do servidor: www.lala Diretrio raiz dos documentos: /var/httpd/lala Aceitar Adicionar Nome da mquina virtual: 10.0.0.2:80 Nome do servidor: www.mala Diretrio raiz dos documentos: /var/httpd/mala Aceitar Fechar Fechar Fechar Sair

[root@localhost]# [root@localhost]#

cds ./httpd stop && ./httpd start

Abra um navegador e digite


www.lala Ou www.mala

Se tudo sair corretamente vc estar vendo as pginas dos dois domnios. ### CL 70 ### Entre como root e Digite: OBS.: Todos os valores e nomes so exemplos Passo 1
[root@localhost]# linuxconf

V em:

rede Nome da mquina e dispositivos IP de rede Nome da Mquina + Domnio: nome.intranet [X] Ativo Modo de Configurao: (o) Manual Primeiro nome + Domnio: nome.intranet Apelidos (opc): nome endereo ip: 192.168.0.10 Mscara (opc): 255.255.255.0 Dispositivo de rede: eth0 Mdulo do kernel: Caracterstica da placa de rede do Sr. (Selecione pressionando <ctrlx>) aceitar sim fechar sair aceite as alteraes

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 - Especificao do servidor de nomes uso do DNS: [X] em operaes normais, DNS necessrio domnio padro: intranet IP do servidor de nomes 1: 127.0.0.1 (Esse endereo para loopback local, caso o seu servidor de nomes tenha outro endereo por favor coloca-lo no local do mesmo) procurar domnio 1 (opc): intranet aceitar

Passo 3 V em:
Roteamento e roteadores Definir Padres Roteador padro: 10.0.0.1 [X] Ative o roteamento aceitar fechar

Passo 4
V em: Apelidos de IP para mquinas virtuais V at eth0 e pressione "enter" Apelidos ou faixas de IP: 192.168.0.11 Mscara (opc): 255.255.255.0 aceitar fechar

Passo 5
V em: DNS - servidor Configurar clique em Domnio: Servidor aceitar fechar de nomes e domnios domnios adicionar lala (Nome do domnio que o Sr. deseja) principal: nome.intranet. (Note que o mesmo nome do Passo 1)

(Se o Sr. desejar clique em adicionar para um novo domnio, lembre-se que o Sr. deve ter para cada domnio um IP para mquinas virtuais, passo 4)
Configurar mapas de IPs reversos clique em adicionar Nmero 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)

servidor de nome (NS): nome.intranet. aceitar fechar Adicionar/Editar Informaes de Mquinas por Domnio pressione <enter> escreva www antes do .lala <enter> clique em adicionar mquina ou sub-domnio: www.lala (ou www.nome que o Sr. colocou, passo 5) Endereo IP: 192.168.0.11 (note que o mesmo do passo 4) aceitar fechar fechar fechar fechar Sair aceite as alteraes

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

passo 6 V em:
Rede Apache - servidor Web Padres Endereo IP de domnio: 192.168.0.10 (o mesmo do passo 1) Nome do servidor: nome.intranet. Diretrio raiz dos documentos: "/html" (pode colocar o diretrio que o Sr. desejar para a alocao) aceitar Domnios virtuais: 192.168.0.11:80 nome do servidor: www.lala (ou www.nome que o Sr. escolheu) Diretrio raiz dos documentos: /html/lala (ou outro diretrio da escolha do Sr.) aceitar fechar fechar fechar sair aceite as alteraes

Digite:
[root@localhost]# cds

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

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

### VERSO 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)

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 mquina (no caso do exemplo = bravo):

[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 A A A 192.168.0.11 nome.intranet

;; QUESTION SECTION: ;www.lala 43200 IN ;; ANSWER SECTION: www.lala. 43200 IN

;; AUTHORITY SECTION: lala. 43200 IN

Received 69 bytes from 127.0.0.1#53 in 5 ms

Esta mensagem contm 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 pgina www.lala (ou o nome que o senhor escolheu) que se encontra no diretrio /var/httpd/html (ou o diretrio que o senhor escolheu no passo 6), digite:
[root@localhost]# cd /html/lala (diretrio 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

Entre em um ambiente grfico 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 no funcionam com a verso 4 do php, como instalo a verso 3?
Verifique os pacotes do PHP que esto 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 instalao da verso 3 do PHP: Caso no 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

no esquea de incluir o diretrio onde esto os pacotes baixados do ftp no sources.list. e faa a configurao do apache:

1.11. Como fao para Autenticar usurios no apache?


Primeiramente crie um arquivo .htaccess no diretrio 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 diretrio onde ficar restrito pelo apache, crie um usurio e senha com o comando:
[root@localhost root]# htpasswd -c .htpasswd nomedousurio

Obs.: o parmetro -c usado somente no primeiro cadastro para a criao 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 pginas atravs 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 possvel ser feito o direcionamento crie um domnio virtual incluindo a entrada Redirect Permanent. Desta forma quando for acessado o endereo desta pgina ele far automaticamente o redirecionamento para o outro endereo 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 entrada ErrorLog /var/log/apache/error_log CustomLog /var/log/apache/access_log common </VirtualHost >

#insira esta

Pressione F2 para salvar e F10 para sair. Recarregue o servio do apache com os comandos:
[root@localhost]#cds ; ./httpd stop ; ./httpd start

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

1.13. Como configurar o apache usando SSL?


Em muitos casos precisamos de uma conexo segura pginas 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 mquina passe a usar ssl. Para efetuar tal configurao ser necessrio ter instaldo em seu equipamento os pacotes abaixo:
apache openssl openssl-progs

Para verificar se os pacotes esto 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 no esto instalados. Para instalar os pacotes necessrios pode-se usar o apt-get.
[root@localhost]# apt-get install apache openssl openss-progs

Iniciando o processo de configurao Primeiramente edite o arquivo de configurao 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

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 configurao do servidor. Localize mais acima no arquivo a seguinte entrada:
<VirtualHost _default_:443>

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

preciso alterar tambm as informaes abaixo:


# General setup for the virtual host DocumentRoot "/srv/www/default/html" ServerName new.host.name:443 ServerAdmin you@your.address ErrorLog /var/log/apache/error_log TransferLog /var/log/apache/access_log

Onde:
DocumentRoot ServerName ServerAdmin ErrorLog TransferLog -> -> -> -> -> onde esto armazenadas as pginas que o apache ir servir o nome do seu servidor (hostname) o e-mail do administrador do servidor onde sero armazenados os logs de erro onde sero armazenados os logs de acesso

Alterando deve ficar parecido com o exemplo abaixo:


DocumentRoot "/srv/www/default/html" ServerName bravo.conectiva:443

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 no apareceu essa mensagem porque provavelmente j existia uma chave e um certificado na sua mquina, porm com as alteraes feitas ser necessrio gera-los novamente. Antes faa 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.

[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

Se a conexo 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 atravs do navegador basta acessar o endereo do site criado com ssl utilizando a opo de https: https://nome_do_servidor Ser mostrada uma tela pedindo a confirmao sobre a utilizao do certificado.

1.14. Como configurar o apache para utilizar pginas .shtml?


### CL 9 ### Para trabalhar com pginas com contedo em .shtml, voc dever configurar o apache da seguinte maneira: Como administrador da mquina, (usurio 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 mquina SSI (Serve-Side Includes) do apache funcione:
# The Options directive is both complicated and important. Please see

# http://httpd.apache.org/docs-2.0/mod/core.html#options # for more information. # Options Indexes FollowSymLinks Includes -> Adicionando Includes.

Tambm teremos que adicionar na entrada DirectoryIndex, o index para pginas .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 . Aps editado o arquivo de configuraao, pare e ligue novamente o servio de pginas 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 opo do apache, para a autenticao de usurios. Isso quer dizer, se voc est precisando autenticar usurios para pginas de internet, esta pode ser uma boa opo. Para configurarmos, primeiramente instalamos o pacote apache-htpasswd, utilizando o seguinte comando, como administrador da mquina (usurio root), abaixo:
[root@localhost]# apt-get install apache-htpasswd

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

Aps a instalao do pacote, iremos fazer as configuraes necessrias para a utilizaao do htaccess. Para isso, crie um arquivo .htaccess no diretrio 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 diretrio principal do apache, isso quer dizer que ele far a verificao para toda e qualquer pgina que esteja dentro deste diretrio. 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 padro de autenticao. 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 no esta sendo utilizado. Require valid-user -> Faz a verificao por um usurio vlido 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 diretrio /etc, o usurio teste, e a senha para este usurio. Voc poder criar vrios usurios para a utilizao deste servio, para faz-lo,

simplesmente repita o comando acima retirando a opo -c e logicamente alterando o nome de usurio, da seguinte forma:
[root@localhost]# htpasswd /etc/senhas teste2

Depois de criado o usurio e senha para a utilizao do htaccess, temos que fazer algumas alteraes no arquivo /etc/apache/conf/httpd.conf:
[root@localhost]# mcedit /etc/apache/conf/httpd.conf

Dentro do arquivo de configurao 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 #.

Aps 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 . Aps editado o arquivo de configuraao, pare e ligue novamente o servio de pginas WEB, com os seguintes comandos:
[root@localhost]# service httpd stop

[root@localhost]# service httpd start

Captulo 2. BACKUP 2.1. Qual a importncia do backup?


BACKUP O backup existe como forma de prevenir que os arquivos sejam apagados acidentalmente, seja por falha fsica, ou por falha humana. O backup garante a integriadade dos dados, de configuraes, bancos de dados, arquivos de usurios. Mas para um backup ser funcional deve-se ter em mente duas coisas:

1. Um sistema de backup 2. Uma mdia confivel Na primeira parte, vamos considerar primeiro o volume de backup a ser empreendido. Caso o sistema seja pequeno, pode-se considerar um mtodo pequeno, de backups 'full', ou seja, que tudo seja copiado todo o dia, e que garante um pequeno nmero de mdia. O incoveniente a demora do backup. Mas numa grande empresa, precisamos colocar este sistema de uma maneira funcional, onde no pode-se perder grande tempo com o backup, e alm do mais, muitas empresas no investem em quantidades de mdia. Por isso uma estratgia 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 ms Backup 'FULL' da semana Backup incremental da Segunda Backup incremental da Tera Backup incremental da Quarta Backup incremental da Quinta Backup incremental da Sexta

Nesta tabela, utilizamos 7 mdias para efetuar o bakcup do sistema, e no caso de algum problema, restauramos a ltima cpia full e os backups incrementais que satisfaam a nossa necessidade. A vantagem deste sistema a economia de mdias. Pois se fizessemos backups completos todos os dias poderiamos utilizar mais de uma mdia por dia. Na segunda parte temos a questo de mda 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 no deixar para descobrir que ele ineficiente quando perdemos todos os dados.

2.2. Quais so as ferramentas para backup disponveis ?


1. Utilizao do aplicativo tar para criao de backups Por que usar o tar para backup? O mtodo 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 diretrios especficos. Utilizando o tar em conjunto com os compactadores gzip (opco z) ou bzip2(opco I), possvel armazenar e compactar os arquivos ao mesmo tempo em um nico tarfile. A criao de backups utilizando o tar fornece flexibilidade e simplicidade de uso. Parmetros principais:
-c : criar um novo arquivo tar -x : extrai arquivos de um arquivo tar -t : lista o contedo de um arquivo tar -f : usar o arquivo file ou o dispositivo F (padro /dev/rmt0) -z : filtra os arquivos atravs de gzip -I : filtra os arquivos atravs de Bzip2 -v : mostra a lista dos arquivos processados -M : cria/lista/extrai arquivos multivolumes

2. Fazendo backups de fita utilizando o tar Para criao 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 diretrio /home e /etc do sistema, utilizando da compactaco do gzip. Obs.: Para utilizar do backup em fita, necessrio que o mdulo referente fita esteja ativado no sistema para reconhecimento do dispositivo. Normalmente necessrio, e recomendvel, a leitura da fita para verificao 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 espao disponvel em fita, ser necessrio rebobinar a fita. Para isto, execute o seguinte comando:
[root@localhost]# mt -f /dev/rft0 rewind

Caso no 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

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

Obs.: Os procedimentos acima consideram /dev/rft0 como padro de dispositivo de fita. Verifique em seu sistema qual dispositivo est sendo utilizado. 3. Como fazer backup em disquete Para criao de backups em disquete, utilizado o mesmo comando anterior, modificando somente o dispositivo em questo:
[root@localhost]# tar -cvf /dev/fd0 /home

Mltiplos volumes Como o disquete ou fita tem uma capacidade bem limitada de armazenamento, possvel criar armazenamento em _mltiplos volumes_. Fornecendo a opo M ao tar, ser solicitado um novo volume para continuao doarmazenamento em questo, apenas atentando para a ordem de criaco dos mltiplos volumes:
[root@localhost]# tar cvMf /dev/fd0 /home /etc

Outra opco utilizar do comando split para fragmentar o arquivo em questo e do comando cat para restaurar ao arquivo original. Exemplo: Considerando um arquivo chamado teste.tar.gz j criado e presente no diretrio teste:
[root@localhost teste]# total 204 drwxr-xr-x 2 root drwxr-x--- 24 root -rw-r--r-1 root l root root root 4096 Jun 4096 Jun 194041 Jun 5 16:51 ./ 5 16:49 ../ 5 16:46 teste.tar.gz

Tamanho relativo ao diretrio teste:


[root@localhost teste]# du -hs 200k

Fragmentar o arquivo em vrios pedaos 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 drwxr-x--- 24 root root -rw-r--r-1 root root -rw-r--r-1 root root -rw-r--r-1 root root -rw-r--r-1 root root -rw-r--r-1 root root

4096 4096 194041 50000 50000 50000 44041

Jun Jun Jun Jun Jun Jun Jun

5 5 5 5 5 5 5

16:51 16:49 16:46 16:51 16:51 16:51 16:51

./ ../ teste.tar.gz xaa xab xac 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 sequncia criada para restauraco do arquivo original. 4. Criar backups agendados utilizando o cron Caso seja necessrio criar backups periodicamente, pode-se combinar o servidor de comandos agendados cron com o comando ou script.

Simplesmente programe a data no cron para execuo do determinado comando de criao de backup. No exemplo abaixo, o cron est agendado para executar o backup dos diretrios /home e /etc s duas horas da manh:
0 2 * * * root tar cvf /dev/rft0 /home /etc

Maiores informaces:
[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 utilizaco de um script de backup. Os arquivos so gravados diariamente e enviados via email para uma ou mais mquinas ou pessoas, onde so gravados em um arquivo em disco. A automatizao via cron, pode ser criada atravs da incluso 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 explicaes detalhadas sobre os passos seguidos: #!/bin/sh # # Script para realizao de backup de arquivos de # configurao # 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 configurao que se deseja salvar. A lista dos # arquivos deve ser # criada em conjunto com todos os usurios e # administradores da mquina # Observar que o arquivo criado com diretrios # relativos, ou seja, # iniciados em "." para facilitar a expanso do # arquivo tar em qualquer # localizao. # O arquivo tar criado compactado utilizando-se o # programa gzip # e redirecionado para o arquivo # /tmp/machine.config.tar.gz cd / tar cvf - \

./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 transferncia 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) mquinas # de destino # onde dever ser criado um alias que se encarregar # de realizar # a gravao no local apropriado. Incluir na(s) # mquina(s) de destino, # no arquivo /etc/aliases, uma linha do tipo: # backup: "|/usr/local/bin/deliver -b # /usr/local/doc/backups/machine # # Recomenda-se tambm a encriptao da mensagem para # aumentar # a segurana deste esquema visto que informaes # confidenciais # estaro sendo enviadas. # O programa deliver de domnio pblico e serve # para fazer a sincronizao # de gravao 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 usurio para o alias backup na mquina # domnio.com.br.

mail -s "Configuracao `date +%d/%m` (machine)" usurio backup@domnio.com.br < /tmp/machine.config.tar.gz.uu # Finalmente, os arquivos temporrios gerados devem # ser removidos rm /tmp/machine.config.* 6. ** Script retirado da lista Dicas-L Mais informaces sobre crontab:
[root@localhost]# man crontab [root@localhost]# man 5 crontab

7. Utilizao do aplicativo cpio para criao de backups O comando cpio copia arquivos para ou de um arquivo em formato cpio ou tar, o qual um arquivo que contm outros arquivos e informaes sobre estes, tais como seu nome, dono, data de atualizao e permisses de acesso. No modo cpia de entrada, o cpio l uma lista de nome de arquivos, um em cada linha, na entrada padro ou de um prprio arquivo, e grava-os em um arquivo maior na sada padro. Uma forma tpica de gerar uma lista de arquivos pelo comandofind devendo-se informar o parmetro -depth para minimizar os problemas com permisses em diretrios que no podem ser gravados ou pesquisados. Sintaxe do modo de cpia de entrada:
cpio -o [parmetros] < arquivo > sada

No modo cpia de sada, o cpio l da entrada padro um arquivo criado com o cpio (modo cpia de entrada) e retira dele aqueles cujo nome combina com o padro. Sintaxe do modo de cpia de sada:
cpio -i [parmetros] [padro] < entrada

Para listar o contedo 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 diretrio /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 diretrios referentes a cada arquivo:
[root@localhost]# cpio -if lista < backup_home

Utilizando o formato tar, tambm possvel extrair da seguinte maneira:


[root@localhost]# tar -xvf backup_home

Mais informaces sobre o cpio:


[root@localhost]# man cpio

8. Utilizaco do aplicativo dump para criaco 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, possvel fazer backup em disco, fita ou outro dispositivo para armazenamento.

Um arquivo dump que ocupa um espaco maior do que o disponvel no dispositivo de entrada quebrado em mltiplos volumes. Na maioria das mdias, o arquivo dump ter o tamanho mximo relativo ao final da mdia, quando este parmetro retornado. Em mdias que no retornam o seu ponto de final de mdia, os arquivos dump iro possuir um tamanho previamente determinado pelo tamanho da mdia. Por padro, todos os arquivos dump de mesma origem de backup possuem o mesmo nome. possvel tambm utilizar o dump para realizar backup redirecionando este arquivo para uma mquina remota. Opces gerais:
-f: [09] : Realiza backup em arquivo, podendo ser dispositivo de fita, disquete ou arquivo em si. Dump levels - Nvel 0 caracteriza um backup completo de todo o sistema de arquivos em questo. Um nvel superior a 0 caracteriza backup incremental, relativo a cpia de todos os arquivos novos ou modificados desde o ltimo dump de nvel inferior. Atualiza o arquivo /etc/dumpdates aps a finalizao. Arquivo que contm a data o -u: sistema de arquivos e o nvel de dump realizado no sistema.

Exemplos No exemplo abaixo, foi feito um backup do diretrio / 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 mquina remota. Neste caso, certifique-se que o servio sshd est ativo nas duas mquinas e se a mquina remota permite conexo como root.Em seguida,emita o comando abaixo, fazendo a modificaes necessrias:
[root@localhost]# dump 0fb - 64 [filesystem] | ssh [mquina remota] '(cd [diretrio destino];dd of=[arquivo destino] obs=64b)'

Exemplo:
[root@localhost /root]# dump 0fb - 64 /home /backups ; dd of=becape.bck obs=64b)' | ssh mquina_remota '(cd

No exemplo acima, foi feito um backup do diretrio /home utilizando a mquina remota para gravar no diretrio /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 opco, 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 compactao:


[root@localhost]# gzip -dc /backups/root.bck | restore -rvf -

Mais informaces sobre dump:


[root@localhost]# man dump

Obs.:

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 usurio local para obter privilgios de administrador (root). Alm disso ainda restava um problema onde a mquina poderia deixar de responder por alguns segundos ao executar o restore com certos parmetros. Pacotes: i386/dump-0.4b18-1cl.i386.rpm e i386/rmt-0.4b18-1cl.i386.rpm Todos os usurios deste programa devem fazer a atualizao deste pacote na pgina de atualizaes: http://www.conectiva.com.br/atualizaes

2.3. Como posso fazer um backup usando o taper?


BACKUP USANDO TAPER Recomendado para backup de sistema de arquivos pequenos e sem muita variao. O taper se apresenta de forma simples e amigvel para o usurio final. Instale o pacote:
[root@localhost]# rpm -ivh taper-*

Para utilizar o taper, chama-se como superusrio no prompt de comandos:


[root@localhost]# taper -T <dispositivo> <opes>

Para a escolha do dispositivo usa-se:


taper taper taper taper taper taper -f file -n file -b file - c num -F -g -l -m -t -? file name file num name -T -T -T -T -T -T SCSI (taper -T ftape (taper -T zftape (taper -T removable (taper file (taper -T l) ide (taper -T i) s) f) z) -T r)

E as opes uso do taper so:


(--rewinding-device) (--non-rewinding-device) (--both-devices) (--compress-type) (--exclude-files) (--volume-title) (--log-file) (--log-level) (--archive-title) (--help) usar arquivos com a opo de rebobinar usar arquivos com a opo de no-rebobinar usa arquivos com as dua opes Tipo de compresso (0 nenhum, 1 e gzip, 2 int comp, 3 int gzip, 4 fast comp) arquivos que no sero includos no backup titulo do volume nome do arquivo de log nivel do log (0=none..4=all) titulo do backup ajuda

Aps chamar o taper, este apresenta um menu bsico, nas opes principais, pode-se utilizar para fazer o backup, restaurar, testar integridade, editar preferncias. Aps se definir qual mtodo para backup, usamos a opo de backup, ao iniciar, o taper pede um nome para o backup, e um para o volume, em seguida mostra uma arvore de diretrios, no qual fazemos a escolha dos arquivos pressionando a tecla I, e ao finalizar a escolha, usamos atecla f para inciar a cpia 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 diretrio onde quer que seja restaurado, a seguir, selecioa-se os arquivos para restauraco com a tecla I, e usa-se a tecla F inicar o restore.

Dentro do taper, pode-se pressionar a barra de espao, para verificar quais os comandos vlidos.
i ou I f ou F u ou U q Seleciona arquivos Inicia o processo retira arquivo da lista Aborta

2.4. Como fazer backup usando amanda?


O software amanda utilizado para backup, de toda a rede, inclusive de parties windows, rodando em estaes windows (para isso necessita-se do SAMBA rodando na mquina servidora de backup). O amanda trabalha em uma mquina que tenha a unidade de fita, chamado de Host server tape, e nas mquinas clientes precisa-se do amanda-client. O primeiro passo instalar o amanda, para isso monte o cd nmero 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

Aps a instalao, precisam ser feitas algumas configuraes: Resumo do que deve ser feito:

Crie o usurio amanda, e verifique as permisses. Crie o arquivo amanda.conf Crie o arquivo disklist Cheque as configuraoes com amcheck Crie o nome das fitas com o amlabel Agende no crontab a execuo de backup 2.4.1. Configurando o Amanda Primeiro, verifique se o Usurio amanda foi criado no sistema, e d a ele direitos de utilizar os diretrios de configurao e de acesso ao devices de disco e fita. No arquivo /etc/inetd.conf devem ser acrescentadas as seguintes linhas:
#amanda configurao 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

Aps isso, crie um diretrio amanda dentro de /etc , e dentro deste diretrio, montar as configuraes de bakcup. Por exemplo: se quisermos criar uma configurao de backup da rede MASTER, devemos criar um diretrio master dentro do /etc/amanda. Nesse diretrio master, dever conter dois arquivo:
amanda.conf Arquivo de configurao do amanda

disklist

Arquivo contendo as mquinas que devero fazer parte do bakcup.

Para criar o diretrio use:


[root@localhost]# mkdir /etc/amanda

Entre no diretrio:
[root@localhost]# cd /etc/amanda

E crie o diretrio para a sua configurao:


[root@localhost]# mkdir master

Dentro deste diretrio 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 contedo do arquivo descrito abaixo, e altere-o conforme sua necessidade: 2.4.2. Um exemplo do arquivo amanda.conf
org "sistema" mailto "usurio" dumpuser "root" dumpcycle 4 # Nome que aparece no subject quando manda o email # de resumo das operaes (report) # Para quem ir o email de Report # O usurio que pode utilizar o sistema # # # # # # # # # # # # 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, sero 1 full e trs incrementais dos ltimos arquivos alterados nos prximos dias. Aps a terceira incremental, o prximo ser full novamente, gerando ciclos. Nmero de tapes por ciclo utilizado, no backup

tapecycle 1 tapes runtapes 1 tapedev "/dev/st0"

# nmero de fitas usados dentro de um ciclo de amdump # Device da Fita

changerfile "/etc/amanda/lista/changer" labelstr "LALA[0-9][0-9]" # # # # # # # label que ser usado na fita

A opo Holding disk, usada para uma cpia temporria do backup ante de ser passado para a fita, usamos principalmente quando a cpia demorada na fita, e no 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 diretrio ir ficar

use 290 Mb }

# Tamanho em MB/GB # Diretrio de logs do amanda # Lista dos tapes usados

logdir "/var/log/amanda/" tapelist "/etc/amanda/lista"

# tapetypes # Define o tipo do tape que ser usado, seu tamanho e velocidade. tapetype QIC-60 # Configuraes da Unidade de fita

define tapetype QIC-60 { comment "Archive Viper" length 56 mbytes # # # filemark 100 kbytes # speed 366 kbytes # }

nico valor a ser alterado correspondendo a capacidade da da fita. valor ideal velocidade

# dumptypes = isto usado para definies de prioridades, # tipo de compactao, que ser usado no arquivo disklist # # # comment - Comentrio # compress - Define o tipo de compresso (compactao) usada : # "none" - nenhuma compresso # "client best" - Ser feita a compresso na mquina cliente, # usando um algortimo de alta compresso, porm # demorado. # "client fast" - usando uma compresso menor - mais rpido # "server best" - Usando compresso no servidor, na hora de # passar para a fita. # "server fast" - Usando compresso menor # Recomendado: [compress client fast] # exclude - especifica os diretrios que sero excludos na hora do # backup. # Os valores so: # list "filename" - arquivo com a lista dos diretrios excludos # sendo um por linha. # holdingdisk - Refere-se se este dumptye utiliizar holdingdisk # opo holdingdisk yes # priority - prioridade de execuo, os parmetros so "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 # so"DUMP" e "GNUTAR". Default: [program "DUMP"]. # strategy - seta a estratgia 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 definico global, que podem ser usadas para implementar # outras estratgias de backup. }

# a seguir, so vrios tipos de definies de dumptype define dumptype root-tar { global - usar as configuraes 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 compactao dump " compress client fast priority low } # # # # # Interfaces de rede Estas so definies que sero usadas pelo arquivo disklist, e o principal a definio da banda de transmisso 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 Seo 2.4.1 e da Seo 2.4.2 crie o arquivo disklist:
[root@localhost]# mcedit disklist

E adicione no arquivo o contedo descrito abaixo:


# # O formato do arquivo : # # nome_da_mquina partio # no arquivo amanda.conf # Backup Mquina lala lala hdb5 comp-root # Exemplo de backup de uma mquina que tenha um sistema ms-dos # montado em /msdos # joespc /msdos root-tar

dumptype nome definido no dumptye

2.4.4. Configurando os clientes Nas mquinas linux cliente mounte o CD1 de seu Conectiva Linux:
[root@localhost]# mount /mnt/cdrom

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 execuo do amanda amanda dgram udp tcp wait amanda /usr/lib/amanda/amanda amandad

Salve o arquivo e reinicie o servio inetd:


[root@localhost]# cds [root@localhost]# ./inet stop [root@localhost]# ./inet start

Crie o usurio amanda e crie o arquivo .amandahosts no home dele: Para criar o usurio use:
[root@localhost]# adduser amanda

E dentro do diretrio /home/amanda crie o arquivo:


[root@localhost]# mcedit .amandahosts maquina.dominio usuario \______________/\_______/ | | | |-------> | | |-------------------->

Nome do usurio amanda do servidor, onde est a fita nome do servidor amanda onde est a fita

2.4.5. Testando a Configurao Teste sua configurao com o comando amcheck, no servidor onde est a fita:
# amchek <nome_do_diretrio_de_configurao>

2.4.6. Agendando no crontab a execuo de backup. Para agendar o amanda, coloque o uma linha no crontab do servidor de backup: Por exemplo, para fazer um backup dirio as 23:00 hs, e recomendvel 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_configurao> 0 23 * * * amanda amdump <nome_da_configurao>

Aps a execuo de backups o amanda envia um mail confirmando e relatando o backup. Aps isto crie as fitas com o comando:
[root@localhost]# amlabel <nome_da_fita>

No esquea que o nome tem que corresponder com o especificado no arquivo amanda.conf na opo labelstr Sempre que houver algum erro de execuo do amdump, necessrio rodar o arquivo amclean, caso contrrio o amdump no ser executado novamente.
[root@localhost]# amclean <nome_da_configurao>

2.4.7. Restaurando Backups


[root@localhost]# amrestore <dispositivo_de_fita> <nome_do_diretrio_de_configurao>

Existem muitas outras opes de configuraes, que pode ser consultada pelas pginas de manual do amanda:
[root@localhost]# man amanda

2.5. Como usar o tar com volumes mltiplos?


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 mltiplos |+------------------------ detalhado +------------------------- criar

Para descompactar:

2.6. Como configurar o amanda para backup pelo mdulo do linuxconf do Conectiva 6.0?
### CL 6.0 ### Primeiramente, verifique se o sr. tem o mdulo de configurao para o amanda instalado na mquina, 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 no esteja, instale os pacotes montando o cd da conectiva e execute:


[root@localhost]# rpm -ivh <nome_do_pacote>

Aps isso, como root, crie o diretrio onde as configuraes sero adicionadas, que ser em /etc/amanda, para isso proceda:
[root@localhost]# mkdir /etc/amanda

APs as instalao, inicie o linuxconf:


[root@localhost]# linuxconf

Agora entre na opo:


-----------> Servios diversos --------------Configurador Amanda

Aparecera uma tela pedindo para adcionar um grupo de configurao para fazer seus backups; pea adicionar e digite um nome para sua configurao, por exemplo: teste Aps 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 explicao de cada menu e dos principais pontos para a configurao.

No menu que aparece, entre na primeria opo chamada Geral. Aparecer uma janela de configurao como descrita abaixo:
============================ Outro ==================== Descrio de config: (nome descritivo identificando sua configurao) Enviar relatrios a: ( email para receber os avisos do amanda) Ciclo de despejo : (coloque aqui o ciclo de tapecycles, a string ser dia, dias, semana, semanas) Execues por ciclo: (Quantia de ciclos, por exemplo se for escolhido semana, coloque o valor 5) Ciclo da fita : (Nmero de fitas que sero usados no ciclo, nessa caso seriam 5) Usurio do despejo : (O nome de login que o Amanda usa para executar os backups. As mquinas backup dos clientes devem permitir acesso a partir do servidor de fitas como este usurio via .rhosts ou .amandahosts.) Executar fitas : (numero de fitas usado a ca backup, ou seja, se voc no 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 prxima mquina) Uso da rede: (Valor de banda utilizada, em kb/s) Mx. de backups paralelos: (nmero de backups executados em paralelo) Mx. de backups paralelos por mquina: (quantos backups parelelos na mquina podem ser executados) Incremento: (Icrementos de utilizao, caso seja verificado que o dump atual no utiliza toda a banda Mult. de incremento (flut.): Dias para incremento: Espao de HD reservado (%): (caso ocorra algum problema em backups incrementais , ele podero ser gravados em disco temporariamente at serem transferidos para a fita) --------------------- dispositivo de fita -------------------------Rtulos de fita (reg exp): (nome das fitas criadas pelo comando amlabel, por ex; DIA[0-9][0-9]) Tipo de fita : (Aqui colocado a informao 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 mquinas para backup) Arquivo info.: (diretrio onde estaro os arquivos de informaes, pode ser /etc/amanda/<nome_Configurao> Diretrios dos relatrios: (diretrio onde estaro os arquivos de relatrios pode ser /etc/amanda/<nome_Configurao> Diretrio dos arquivos de ndice: (diretrio onde estaro os arquivos de ndices pode ser /etc/amanda/<nome_Configurao>

Lista de arqvs. de fitas ativas: (diretrio onde estaro os arquivos de fitas usadas,pode ser /etc/amanda/<nome_Configurao>

Confirme, e agora monte seu arquivo lista, ou seja quais mquinas e quais servios devero ser usados:
----------> Lista de discos

clique em adicionar, e coloque as informaes:


Nome da mquina : (Nome da mquina na rede) Dispositivo de disco: (Partio 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 reteno (holdingdisk) no caso de falha da fita:
-----------> Discos de reteno

Clique em adicionar e coloque um nome para a configurao:


# # # # # # A opo Holding disk, usada para uma cpia temporria do backup antes de ser passado para a fita, usamos principalmente quando a cpia demorada na fita, e no 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.

Comentrio : (ALgum comentrio necessrio) Diretrio : (Diretrio a ser usado) Espao a usar: (Tamanho em MB)

Confirme, agora configure o Tipos de despejo, que sero utilizados pelo arquivo disklist, no meu lista de discos:
------->Tipos de despejo

Defina um nome para cada tipo, e pea adicionar: Na janela existem vrias configuraes que podero ser utilizadas, vejamos as principais:
Tipo de aut. Comentrio Tipo de compresso cliente, usando um algortimo de alta compresso, porm demorado. "client fast" - usando uma compresso menor - mais rpido "server best" - Usando compresso no servidor, na hora de passar para a fita. "server fast" - Usando compresso menor Ciclo de dump: (O opo zero define que a cada backup seja full, copiando todos os dados da partuo) Usar disco de reteno : (Define aqui qual disco de retenso a ser usado, do menu Discos de Reteno.) : : (comentrio para identificao) : Define o tipo de compresso (compactao) usada : "none" - nenhuma compresso "client best" - Ser feita a compresso na mquina

Esses so os valores mais necessrios, deixe o resto como padro.


---------> Tipos de fitas

Defina um nome para a configurao do tipo de sua fite e pea adicionar. Ser criado uma entrada com o nome da fita, selecione-a e pressione enter:
Comentrio : Marca de arquivo: Comprimento : Velocidade : <comentrio <tamanho de <Capacidade <velocidade identificador> cada marca, valor default 100 kbytes > da fita, em bytes ou mbytes.> da fita, caso no saiba coloque 366 kbytes>

---------> Interfaces

Estas so definies que sero usadas pelo arquivo disklist, e o principal a definio da banda de transmisso dos dados. Pea pela opo adicionar e digite um nome que identifique a opo:
Comentrio Velocidade :<comentrio que identifique> :<valor em byte, mbytes>

Pronto confirme at sair do linuxconf, agora configure as mquinas cliente: CONFIGURAO DOS CLIENTES Nas mquinas 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 execuo do amanda amanda dgram udp tcp wait amanda /usr/lib/amanda/amanda amandad

Salve o arquivo e reinicie o servio inetd. Reinicie o inetd.


[root@localhost]# cds [root@localhost]# ./inet stop [root@localhost]# ./inet start

Crie o usurio amanda e crie o arquivo .amandahosts no home dele: Para criar o usurio use:
[root@localhost]# adduser amanda

E dentro do diretrio /home/amanda crie o arquivo:


[root@localhost]# mcedit .amandahosts maquina.dominio usuario \______________/\_______/ | | | |-------> | | | |-------> | | |-------------------->

Nome do usurio amanda do servidor, onde est Nome do usurio amanda do servidor, onde est a fita nome do servidor amanda onde est a fita

TESTANDO A CONFIGURAO Agora teste sua configurao com o comando amcheck, no servidor onde est a fita:

# amchek <nome_do_diretrio_de_configurao>

Para agendar o amanda, coloque o uma linha no crontab do servidor de backup: Por exemplo, para fazer um backup dirio as 23:00 hs, e recomendvel 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_configurao> 0 23 * * * amanda amdump <nome_da_configurao>

Aps a execuo de backups o amanda envia um mail confirmando e relatando o backup. Aps isto crie as fitas com o comando:
[root@localhost]# amlabel <nome_da_fita>

No esquea que o nome tem que corresponder com o especificado no arquivo amanda.conf na opo labelstr Sempre que houver algum erro de execuo do amdump, necessrio rodar o arquivo amclean, caso contrrio o amdump no ser executado novamente.
[root@localhost]# amclean <nome_da_configurao>

RESTAURANDO BACKUPS
[root@localhost]# amrestore <dispositivo_de_fita> <nome_do_diretrio_de_configurao>

Existem muitas outras ope de configuraes, que pode ser consultada pelas pginas de manual do amanda:
[root@localhost]# man amanda

Captulo 3. BANCO DE DADOS 3.1. No 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 documentao. Algo como:
[root@localhost]# 2>&1 & [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# /usr/sbin/mysqld -Sg --log=/var/log/mysql.log > /dev/null sleep 3 mysqladmin create mysql mysql mysql < /var/lib/mysql/mysql-db.init mysqladmin create test mysqladmin shutdown

isso ir criar um banco de dados bsico.

Captulo 4. BOOT REMOTO 4.1. Como configurar o linux para uma soluo de boot remoto?
Basicamente as solues para Boot Remoto em Linux utilizam os seguintes softwares: Etherboot, Tftp, NFS, NIS, Bootp ou Dhcpd.

O diferencial da soluo aqui apresentada a ferramenta para configurao do servidor, da criao de disquetes das estaes e do gerenciamento dos pacotes para o servidor via Linuxconf. Existe tambm a possibilidade, que no o objetivo desse documento, da gravao de uma EPROM de boot remoto, dispensando assim a utilizao de um disquete para a inicializao da mquina, bem como aumentando a confiabilidade da soluo. PR REQUISITOS Para a instalao dessa soluo os seguintes pr-requisitos mnimos devem ser atendidos:

Deve ter a disposio disquetes em nmero suficiente para atender a todas as estaes criadas (Um para cada estao). Todavia os disquetes podem ser criados aps a instalao do servidor, a qualquer tempo. Nenhum outro servidor DHCP pode estar rodando na mesma subrede do Servidor de Boot Remoto. Caso isso acontea, haver conflito entre os servidores DHCP. As estaes 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 soluo de boot remoto ser instalada atende aos requisitos, atuais, para a sua instalao. So elas:
o

O servidor dever possuir apenas uma interface ethernet instalada e configurada. o As estaes clientes da soluo de boot remoto e seu servidor devem compartilhar a mesma subrede. o O Servidor de Boot Remoto, quando instalado, ir configurar e ativar o servio 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 instalao serem iniciados. o Se sua rede no possuir um servidor DNS, sua mquina dever s-lo ESPAO EM DISCO: Todos os arquivos para o Servidor de Boot Remoto sero efetuados no diretrio /tftpboot. No necessrio, mas recomendado que o diretrio /tftpboot esteja em uma partio prpria. A instalao padro do cliente 5.0, incluindo aqui o StarOffice, ocupa aproximadamente 750MB, no incluindo o espao destinado a instalao dos clientes. A criao de cada cliente consome aproximadamente 22MB. Lembre-se tambm de reservar espao para a instalao de novos pacotes. Ex:
Espao requeridos pelo servidor: 750MB 20 estaes ocupando 10MB cada: 200MB Espao extra, sugerido, para instalao de novos pacotes: 400MB Espao Total: 1350MB

4.1.1. Como configurar um boot remoto no servidor CL8 INSTALAO Para a verso CL8 h a necessidade de se instalar dois pacotes que esto no ftp da conectiva ou em seus mirrors: kernel-rbc(verso do pacote) e o pacote linuxconf-cnc_rbc(verso do pacote) Para instalar o pacote, utilize o apt-get atravs do ftp da conectiva ou dos mirrors:
[root@localhost]# apt-get update [root@localhost]# apt-get install kernel-rbc linuxconf-cnc_rbc

A diferena do boot remoto da verso CL8, para as demais verses esta ligada ao fato de no precisar de uma verso anterior para copiar os pacotes que sero utilizados pelas estaes e no kernel adaptado para trabalhar com este servio. Acesse o diretrio /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 opo para a verso mais recente.

Quando o sistema for carregado novamente a entrada do boot remoto ser mostrada e escolhida por padro Acesse o sistema como root e em seguida: Insira o cd nmero 1 (um) e utilize o comando:
[root@localhost]# mount /mnt/cdrom

CONFIGURAO BSICA DO SERVIDOR OBS:Os servidores DNS e NIS ja devem estar configurados para facilitar a configurao do boot remoto.
[root@localhost]# linuxconf

Uma vez que o linuxconf esteja rodando, selecione as seguintes opes: Rede-> Servios de Inicializao-> Remote Boot Um menu com as seguinte opes ser apresentado:
Instalao do servidor de Boot Remoto Gerenciamento de pacotes do Servidor de Boot Remoto Gerenciamento das Estaes de Trabalho Criao de Disquetes de Boot para Estaes Criao de Disquete com a Imagem para gravao na EPROM

Clique em: Instalao do Servidor de Boot Remoto Preencha os campos de acordo com as observaes ao lado, tendo como base uma rede com as seguintes caractersticas:
IP do servidor : 192.168.0.1 Mscara da rede: 255.255.255.0 Nmero da rede : 192.168.0.0 Broadcast : 192.168.0.255 Quantidade de clientes boot remoto: 10 Nome do domnio NIS. # # # # Aqui deve ser especificado o nome do domnio que ser criado para a autenticao das estaes. Ex: empresaxyz

Nome do Domnio DNS.

# Especificar o nome do domnio DNS para as # estaes de trabalho, geralmente vem preenchido # automticamente. # Digitar senha do superusurio para as estaes # Confirme a senha do root para as estaes

Senha do Root Confirmao da senha

Primeiro IP da Faixa. # Primeiro IP da faixa de mquinas clientes # de boot remoto que sero criadas. # Ex: 192.168.0.2 ltimo IP da Faixa. # # # # # ltimo IP da faixa de mquinas clientes de boot remoto que sero criadas. OBS. O nmero de clientes criados ser igual ao nmero de IPs disponveis. Obedecendo as faixas Primeiro IP e

# ltimo IP. # Ex: 192.168.0.11 Netmask. # # # # # # # # # # # # # # # # # # # # # Mscara de endereamento IP da subrede conectada a placa Ethernet do servidor. Provavelmente seja preenchida automaticamente pelo script atravs de informaes coletadas em arquivos de configurao como o /etc/sysconfig/network. Caso esse campo no seja preenchido corretamente edite-o colocando a informao correta. Ex: 255.255.255.0 Indica a networkreferente a subrede conectada a Ethernet do servidor. Assim como o Netmask deve ser preenchida de automaticamente. Corrija os dados caso seja necessrio. Ex: 192.168.0.0 Indica o Broadcast da subrede assim como Netmask e Network deve ser preenchido automaticamente. Corrija os dados caso seja necessrio. Ex: 192.168.0.255

Network.

Broadcast.

Gateway das estaes DNS.

# IP do gateway # Ex: 192.168.0.1 # # # # # # # # # Corresponde ao IP do servidor de DNS utilizado pelas estaes. Se no existir um servidor DNS na rede coloque o ip desta mquina. Ex: 192.168.0.1 Define o prefixo utilizado pela estao de trabalho. O prefixo sugerido dhcp-. Ex: dhcp-1, dhcp-2 ... dhcp-20: Ex: maq-2,maq-3 ... maq-10:

Prefixo da Estao.

Servidor de NFS Lista de RPMs

# Ip do servidor NFS # Ex: 192.168.0.1 # # # # # # Arquivo com a lista de pacotes padro para a instalao no Servidor de Boot Remoto. Corresponde ao diretrio onde se encontram os pacotes RPM que sero utilizados pelas mquinas clientes Boot Remoto. Ex: /usr/lib/linuxconf/shellmodules/rbc/rpmlist

Pacotes RPM (PATH)

# Diretrio onde se encontra os RPMS para # instalao. # normalmente /mnt/cdrom/conectiva/RPMS # Indica a verso do kernel em que foi configurado # o servidor de boot remoto.

Kernel

** Selecione as opes conforme abaixo [X] Inicializa o servidor DHCP durante o boot [X] Inicializa o servidor NFS durante o boot

[X] [X] [X] [X] [X] [ ]

Inicializa o servidor INETD durante o boot Inicializa o PORTMAP durante o boot. Inicializa o servidor NIS (YPSERV) durante o boot. Inicializa o YPPASSWD durante o boot. Remove instalao anterior dos pacotes RPM Restringe o acesso ao tftpe portmap as estaes

Clique em Aceitar e a instalao do servidor Boot Remoto ser iniciada. Clique nos OK's que aparecero em sua tela, estes indicam a progresso da instalaco. Terminada a instalao recomendado que sua mquina seja reiniciada. Se isto no for possvel, Reinicie os seguintes servios OBS: Para a verso CL8 o inet dever ser utilizado apesar do programa padro ser o xinet
portmap inet tftp unfs dhcpd ypserv yppasswd

De preferncia nesta ordem. Para reiniciar um servio, proceda da seguinte maneira:


[root@localhost]# cds [root@localhost]# ./(nome_do_servio) stop [root@localhost]# ./(nome_do_servio) start

Troque (nome_do_servio) pelos servios da lista acima. Pronto, seu servidor de Boot Remoto est configurado. Observaes: Antes de instalar os clientes de boot remoto, verifique se o seu hardware compatvel: A placa de rede das estaes devero 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 INSTALAO 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

[root@localhost]# rpm -ihv linuxconf-cnc_rbc-0.7-11cl [root@localhost]# rpm -ivh dhcp-*

A diferena do boot remoto da verso CL70, para as demais verses esta ligada ao fato de no mais precisar de uma verso anterior para copiar os pacotes que sero utilizados pelas estaes. Para iniciar o processo de configurao insira o cd nmero 1 (um) e em seguida utilize o comando:
[root@localhost]# mount /mnt/cdrom

CONFIGURAO BSICA DO SERVIDOR


[root@localhost]# linuxconf

Uma vez que o linuxconf esteja rodando, selecione as seguintes opes: Rede-> Servios de Inicializao-> Remote Boot Um menu com as seguinte opes ser apresentado:
Instalao do servidor de Boot Remoto Gerenciamento de pacotes do Servidor de Boot Remoto Gerenciamento das Estaes de Trabalho Criao de Disquetes de Boot para Estaes Criao de Disquete com a Imagem para gravao na EPROM

Clique em: Instalao do Servidor de Boot Remoto Preencha os campos de acordo com as observaes ao lado, tendo como base uma rede com as seguintes caractersticas:
IP do servidor : 192.168.0.1 Mscara da rede: 255.255.255.0 Nmero da rede : 192.168.0.0 Broadcast : 192.168.0.255 Quantidade de clientes boot remoto: 10 Nome do domnio NIS. # # # # Aqui deve ser especificado o nome do domnio que ser criado para a autenticao das estaes. Ex: empresaxyz

Nome do Domnio DNS.

# Especificar o nome do domnio DNS para as # estaes de trabalho, geralmente vem preenchido # automticamente. # Digitar senha do superusurio para as estaes # Confirme a senha do root para as estaes

Senha do Root Confirmao da senha

Primeiro IP da Faixa. # Primeiro IP da faixa de mquinas clientes # de boot remoto que sero criadas. # Ex: 192.168.0.2 ltimo IP da Faixa. # # # # ltimo IP da faixa de mquinas clientes de boot remoto que sero criadas. OBS. O nmero de clientes criados ser igual ao nmero de IPs disponveis.

# Obedecendo as faixas Primeiro IP e # ltimo IP. # Ex: 192.168.0.11 Netmask. # # # # # # # # # # # # # # # # # # # # # Mscara de endereamento IP da subrede conectada a placa Ethernet do servidor. Provavelmente seja preenchida automaticamente pelo script atravs de informaes coletadas em arquivos de configurao como o /etc/sysconfig/network. Caso esse campo no seja preenchido corretamente edite-o colocando a informao correta. Ex: 255.255.255.0 Indica a networkreferente a subrede conectada a Ethernet do servidor. Assim como o Netmask deve ser preenchida de automaticamente. Corrija os dados caso seja necessrio. Ex: 192.168.0.0 Indica o Broadcast da subrede assim como Netmask e Network deve ser preenchido automaticamente. Corrija os dados caso seja necessrio. Ex: 192.168.0.255

Network.

Broadcast.

Gateway das estaes DNS.

# IP do gateway # Ex: 192.168.0.1 # # # # # # # # # Corresponde ao IP do servidor de DNS utilizado pelas estaes. Se no existir um servidor DNS na rede coloque o ip desta mquina. Ex: 192.168.0.1 Define o prefixo utilizado pela estao de trabalho. O prefixo sugerido dhcp-. Ex: dhcp-1, dhcp-2 ... dhcp-20: Ex: maq-2,maq-3 ... maq-10:

Prefixo da Estao.

Servidor de NFS Lista de RPMs

# Ip do servidor NFS # Ex: 192.168.0.1 # # # # # # Arquivo com a lista de pacotes padro para a instalao no Servidor de Boot Remoto. Corresponde ao diretrio onde se encontram os pacotes RPM que sero utilizados pelas mquinas clientes Boot Remoto. Ex: /usr/lib/linuxconf/shellmodules/rbc/rpmlist

Pacotes RPM (PATH)

# Diretrio onde se encontra os RPMS para # instalao. # normalmente /mnt/cdrom/conectiva/RPMS abaixo servidor DHCP durante o boot servidor NFS durante o boot servidor INETD durante o boot PORTMAP durante o boot.

** Selecione as opes conforme [X] Inicializa o [X] Inicializa o [X] Inicializa o [X] Inicializa o

[X] [X] [X] [ ]

Inicializa o servidor NIS (YPSERV) durante o boot. Inicializa o YPPASSWD durante o boot. Remove instalao anterior dos pacotes RPM Restringe o acesso ao tftpe portmap as estaes

Clique em Aceitar e a instalao do servidor Boot Remoto ser iniciada. Clique nos OK's que aparecero em sua tela, estes indicam a progresso da instalaco. Terminada a instalao recomendado que sua mquina seja reiniciada. Se isto no for possvel, Reinicie os seguintes servios
portmap inet tftp unfs dhcpd ypserv yppasswd

De preferncia nesta ordem. Para reiniciar um servio, proceda da seguinte maneira:


[root@localhost]# cds [root@localhost]# ./(nome_do_servio) stop [root@localhost]# ./(nome_do_servio) start

Troque (nome_do_servio) pelos servios da lista acima. Pronto, seu servidor de Boot Remoto est configurado. Observaes: Antes de instalar os clientes de boot remoto, verifique se o seu hardware compatvel: A placa de rede das estaes devero 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 INSTALAO Para instalar o pacote, primeiramente monte o CD1 do Conectiva Linux 6.0. Insira o cd no drive e digite:
[root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# mount /mnt/cdrom cd /mnt/cdrom/conectiva/RPMS rpm -ihv linuxconf-cnc_rbc-0.6-5cl.noarch.rpm rpm -ivh dhcp-*

Os pacotes instalados para as estaes boot remoto, devem ser necessriamente das verses 5.0 ou 5.1. Caso no possua essas distribuies voc poder fazer o download do seguinte endereo: ftp://ftp.conectiva.com.br/pub/conectiva/iso Agora para continuar com a configurao 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

CONFIGURAO BSICA DO SERVIDOR


[root@localhost]# linuxconf

Uma vez que o linuxconf esteja rodando, selecione as seguintes opes: Ambiente de Rede-> Servios de Inicializao-> Remote Boot Um menu com as seguinte opes ser apresentado:
Instalao do servidor de Boot Remoto Gerenciamento de pacotes do Servidor de Boot Remoto Gerenciamento das Estaes de Trabalho Criao de Disquetes de Boot para Estaes

Clique em: Instalao do Servidor de Boot Remoto Preencha os campos de acordo com as observaes ao lado, tendo como base uma rede com as seguintes caractersticas:
IP do servidor : 192.168.0.1 Mscara da rede: 255.255.255.0 Nmero da rede : 192.168.0.0 Broadcast : 192.168.0.255 Quantidade de clientes boot remoto: 10 Nome do domnio NIS. # # # # Aqui deve ser especificado o nome do domnio que ser criado para a autenticao das estaes. Ex: empresaxyz

Nome do Domnio DNS.

# Especificar o nome do domnio DNS para as # estaes de trabalho, geralmente vem preenchido # automticamente. # Digitar senha do superusurio #

Senha do Root Confirmao da senha

Primeiro IP da Faixa. # Primeiro IP da faixa de mquinas clientes # de boot remoto que sero criadas. # Ex: 192.168.0.2 ltimo IP da Faixa. # # # # # # # ltimo IP da faixa de mquinas clientes de boot remoto que sero criadas. OBS. O nmero de clientes criados ser igual ao nmero de IPs disponveis. Obedecendo as faixas Primeiro IP e ltimo IP. Ex: 192.168.0.11

Netmask.

# # # # # # # # # # # # # # # # # # # # #

Mscara de endereamento IP da subrede conectada a placa Ethernet do servidor. Provavelmente seja preenchida automaticamente pelo script atravs de informaes coletadas em arquivos de configurao como o /etc/sysconfig/network. Caso esse campo no seja preenchido corretamente edite-o colocando a informao correta. Ex: 255.255.255.0 Indica a networkreferente a subrede conectada a Ethernet do servidor. Assim como o Netmask deve ser preenchida de automaticamente. Corrija os dados caso seja necessrio. Ex: 192.168.0.0 Indica o Broadcast da subrede assim como Netmask e Network deve ser preenchido automaticamente. Corrija os dados caso seja necessrio. Ex: 192.168.0.255

Network.

Broadcast.

Gateway das estaes DNS.

# IP do gateway # Ex: 192.168.0.1 # # # # # Corresponde ao IP do servidor de DNS utilizado pelas estaes. Se no existir um servidor DNS na rede coloque o ip desta mquina. Ex: 192.168.0.1

Prefixo da Estao.

# Define o prefixo utilizado pela estao de # trabalho. O prefixo sugerido dhcp-. # Ex: dhcp-1, dhcp-2 ... dhcp-20 # Ip do servidor NFS # Ex: 192.168.0.1 # # # # # # Arquivo com a lista de pacotes padro para a instalao no Servidor de Boot Remoto. Corresponde ao diretrio onde se encontram os pacotes RPM que sero utilizados pelas mquinas clientes Boot Remoto. Ex: /usr/lib/linuxconf/shellmodules/rbc/rpmlist

Servidor de NFS Lista de RPMs

Pacotes RPM (PATH)

# Diretrio onde se encontra os RPMS para # instalao.

** Selecione as opes 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 instalao anterior dos pacotes RPM [ ] Restringe o acesso ao tftpe portmap as estaes

Clique em Aceitar e a instalao do servidor Boot Remoto ser iniciada. Clique nos OK's que aparecero em sua tela, estes indicam a progresso da instalaco. Terminada a instalao recomendado que sua mquina seja reinicada. Se isto no for possvel, Reinicie os seguintes servios
portmap inet tftp unfs dhcpd ypserv yppasswd

De preferncia nesta ordem. Para reiniciar um servio, proceda da seguinte maneira:


[root@localhost]# cds [root@localhost]# ./(nome_do_servio) stop [root@localhost]# ./(nome_do_servio) start

Troque (nome_do_servio) pelos servios da lista acima. Pronto, seu servidor de Boot Remoto est configurado. Observaes: Antes de instalar os clientes de boot remoto, verifique se o seu hardware compatvel: A placa de rede das estaes devero 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 INSTALAO Para instalar o servidor de Boot Remoto, necessrio 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*

necessrio que o pacote do ypserv seja atualizado. Baixe a ltima verso do endereo 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

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 opes: Ambiente de Rede-> Servios de Inicializao-> Remote Boot Um menu com as seguinte opes ser apresentado:
Instalao do servidor de Boot Remoto Gerenciamento de pacotes do Servidor de Boot Remoto Gerenciamento das Estaes de Trabalho Criao de Disquetes de Boot para Estaes

Clique em: Instalao do Servidor de Boot Remoto Preencha os campos de acordo com as observaes ao lado
Nome do Aqui deve ser especificado o nome do domnio que ser criado para a autenticao das estaes. domnio NIS. Ex: empresaxyz Primeiro IP Primeiro IP da faixa de mquinas clientes de boot remoto que sero criadas. da Faixa. ltimo IP da faixa de mquinas clientes de boot remoto que sero criadas. OBS. O nmero de ltimo IP da clientes criados ser igual ao nmero de IPs disponveis. Obedecendo as faixas Primeiro IP e ltimo Faixa. IP. Mscara de endereamento IP da subrede conectada a placa Ethernet do servidor. Provavelmente seja preenchida automaticamente pelo script atravs de informaes coletadas em arquivos de configurao como o /etc/sysconfig/network. Caso esse campo no seja preenchido corretamente edite-o colocando a informao correta. 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 necessrio. Indica o Broadcast da subrede assim como Netmask e Network deve ser preenchido automaticamente. Corrija os dados caso seja necessrio. Corresponde ao IP do servidor de DNS utilizado pelas estaes. Se no existir um servidor DNS na rede coloque o ip desta mquina. Define o prefixo utilizado pela estao de trabalho. O prefixo sugerido dhcp-. Ex: dhcp-1, dhcp-2 ... dhcp-20 Arquivo com a lista de pacotes padro para a instalao no Servidor de Boot Remoto. Corresponde ao diretrio onde se encontram os pacotes RPM que sero utilizados pelas mquinas clientes Boot Remoto. Ex. /mnt/cdrom/conectiva/RPMS. No esquea de montar o cdrom antes.

Netmask

Network Broadcast DNS Prefixo da Estao Lista de RPMs

Deixe marcadas todas as opes 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 instalao anterior dos pacotes RPM

Clique em _Aceitar_ e a instalao do servidor Boot Remoto ser iniciada. Clique nos OK's que aparecero em sua tela, estes indicam a progresso da instalaco. Instale o pacote kernel-2.2.14-14cl.i386.rpm atravs das opes: Ambiente de rede>Remote boot->Gerenciamento de pacotes RPM para as estaes 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 opo: 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 especificao do loopback 127.0.0.1 localhost localhost.localdomain insira a entrada do seu servidor como no exemplo abaixo:
192.168.0.1 maquina.domnio maquina

Onde maquina o nome do servidor e dominio o domnio criado. Verifique tambm se os domnios foram colocados corretamente nas mquinas clientes neste mesmo arquivo. Nas mquinas clientes dever ser configurado o portmap e o ypbind para serem carregados na inicializao. Utilize o aplicativo ntsysv em modo texto para acrescentar os servios acima na inicializao.
[root@localhost root]# ntsysv

Terminada a instalao e a configurao recomendado que sua mquina seja reiniciada. Se isto no for possvel, Reinicie os seguintes servios:
- portmap - inet - tftp - unfs

- dhcpd - ypserv - yppasswd

De preferncia nesta ordem. Para reiniciar um servio, proceda da seguinte maneira:


[root@localhost]# cds [root@localhost]# ./(nome_do_servio) stop [root@localhost]# ./(nome_do_servio) start

Troque(nome_do_servio) pelos servios da lista acima. Pronto, seu servidor de Boot Remoto est configurado.

4.2. No consigo criar disco de boot remoto para placa de rede 3Com905x(3Com900b)
Primeiramente entre como root no diretrio onde encontram-se as imagens:
[root@localhost]# cd /usr/lib/etherboot/uncompressed

Para criaco 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 vrias placas de rede com a descrio 3c905, talvez seja necessrio 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 especfica para o seu modelo de placa.

4.3. Estou com problemas na configurao do boot remoto, o que fazer?


1. Primeiramente certifique-se que todos os servios abaixo esto ativos no servidor:

[root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]#

cds ./portmap status ./inet status ./tftp status ./unfs status ./dhcpd status ./ypserv status ./yppasswd status

Caso alguns dos servios acima esteja parado, para ativ-lo:


[root@localhost]# cds [root@localhost]# ./nome_servio start

Troque <nome_do_servio> pelos servios da lista acima. 2. Tento ativar o UNFS e aparece uma mensagem [FALHOU]? O servidor boot remoto utiliza o UNFS e no o NFS, certifique-se que o NFS esteja parado, caso contrrio 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 diretrio para as estaes, edite o arquivo /etc/exports:
[root@localhost]# mcedit /etc/exports

O contedo dever ser parecido com abaixo, levando em conta a quantidade de estaes 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 inicializao de minhas estaes aparece um erro referente ao kernel. O que fao? Provavelmente o kernel no foi instalado em suas estaes, e ser necessrio 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 > Instalao de pacotes RPM para as estaes Nesta tela especifique o caminho onde esto os pacotes. Por exemplo:
/mnt/cdrom/conectiva/RPMS

Na prxima tela digite


kernel-2

e pressione a tecla OK. Aparecer na tela a relao dos kernel's que podem ser instalados, selecione o com final .i386.rpm e pressione (ENTER)

Saia do Linuxconf e reinicie uma mquina boot-remoto e verifique que todos os processos de inicializao passam normalmente.

4.4. Minhas mquinas 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 diretrio temporrio, 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 mquina cliente e lig-la.

4.5. Como configurar as estaes de trabalho de boot remoto?


CONFIGURANDO AS ESTAES DE TRABALHO Nas estaes de trabalho devem ser configurados os servios a serem inicializados como o tipo de teclado, mouse, placa de som, placa de vdeo e monitor. A configurao desses hardwares feita utilizando o comando:
[root@localhost]# /usr/sbin/setup

No prompt da estao.

4.6. Problemas na impresso com boot remoto


Foram detectados alguns problemas com relao ao NFS, mandando imprimir em uma estao boot remoto. Esse problema causa erros e ou corte de parte do relatrio que enviado para o spool. At que esse problema seja resolvido informamos que somente ser possvel imprimir em uma estao se a mesma possuir hd. Voc poder acompanhar nossas atualizaes em http://www.conectiva.com.br/suporte/atualizacoes Agradecemos sua compreenso.

Captulo 5. DHCP 6.1. Como fao para configurar meu DNS (bind)?
O DNS (domain name system) converte endereos IP's em nmeros IP's e vice-versa, por exemplo: o endereo IP www.conectiva.com.br tem o seu equivalente ao nmero

200.250.58.156. Isto evita ter que decorar uma sequncia grande de nmeros IP's. A operao inversa (transformar nmeros IP's em um endereo IP) chamado de DNS reverso. Parece no haver muito sentido em executar tal operao mas existem aplicativos que se utilizam deste servio como o irc (internet relay chat). 6.1.1. Configurao bsica da mquina. Vamos primeiro configurar os tens bsicos do servidor, como nome, domnio. Para isto ser utilizado o aplicativo linuxconf.
[root@localhost]# linuxconf

Nota: Neste exemplo configuraremos o domnio chamado intranet e o nome do servidor DNS se chamar server e uma rede classe C (mscara 255.255.255.0). Aqui esto somente as configuraes obrigatrias, entretanto para este procedimento funcionar a placa de rede deve estar funcionando corretamente, caso contrrio configure-o antes de continuar. Ambiente de rede->Informao bsica da mquina
Nome da mquina: Apelidos (opc): Mscara: server.intranet server 255.255.255.0 Primeiro nome + domnio: server.intranet

Aceitar->Sair->Sair->Ativar Mudanas Agora reinicie o seu computador. 6.1.2. Configurao do DNS. Entre novamente no linuxconf e siga os passos: Configurar um domnio Ambiente de rede->DNS - servidor de nomes de domnio->Configurar: domnios >Adicionar
domnio: servidor principal: Divulgando o DNS: Divulgando o EMAIL: intranet server.intranet. server.intranet. server.intranet.

email do administrador: pode colocar qualquer email

Nota: o ponto tambm faz parte da configurao (server.intranet.) Cadastrar as workstations que fazem parte do domnio. Ambiente de rede->DNS - servidor de nomes de domnio->Informaes de mquinas por domnio->Selecione o domnio 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 mquina qualquer)->Aceitar Endereos IPs: 192.168.255.xxx Sair->Sair Dever ser configurada quais as interfaces que o servidor dever escutar. Para configur-las acesse a opo Segurana->Controle de acesso

Ser apresentado o nmero 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 mquinas 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 domnio->Mapas de IPs reversos Obs 1: como pode ser observado j existe um endereo reverso configurado que se refere ao endereo local (loopback). Agora vamos acrescentar o endereo reverso do nosso domino. Adicionar->Nmero de rede: 192.168.255->Aceitar->Sair 6.1.4. Configurar mquinas virtuais Neste exemplo estamos criando um atalho da mquina www.intranet para a maquina1.intranet, ou seja, a mquina1.intranet responde por todas as requisies feitas www.intranet. Ambiente de rede->DNS - servidor de nomes de domnio->Informaes de mquinas por domnio Selecione o domnio desejado e aperte ENTER Adicionar www.intranet (nome da mquina) OBS: Note que o domnio j aparece sendo necessrio apenas colocar o nome da mquina Aceitar um apelido para: mquina1.intranet Aceitar->Sair->Sair 6.1.5. Configurar o arquivo /etc/resolv.conf (importantssimo) Este o arquivo que geralmente gera muitos erros, por isso tome muita ateno pois no arquivo /etc/resolv.conf deve-se colocar qual o seu servidor de DNS (que no seu caso a sua prpria mquina), porm nunca coloque o seu endereo IP mas sim o endereo de loop back.
search intranet nameserver 127.0.0.1

Ambiente de rede->DNS - especificao do servidor de nomes


[X] em operaes normais, DNS necessrio Domnio padro: intranet Servidor de nomes 1: 127.0.0.1 Procurar domnio 1 (opc.): intranet

Aceitar->Sair->Sair->Ativar Mudanas 6.1.6. Iniciando o servio DNS Agora para "levantar" o servidor (server.intranet) basta digitar o seguinte comando:
[root@localhost]# cds [root@localhost]# ./named start

para parar o servio:


[root@localhost]# ./named stop

para reiniciar o servio:


[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 mquina que foi cadastrada, nesse caso a mquina 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 informaes sobre o domnio intranet:


> intranet Server: localhost Address: 127.0.0.1 intranet intranet intranet nameserver = server.intranet preference = 5, mail exchanger = server.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 informaes sobre os Hosts da Internet e Intranet, em seus DNS (domain names server). Estas informaes so ou nomes dos hosts ou seus nmeros (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

dino.conectiva.com.br has address 200.250.58.152

No exemplo acima o host o apelido da mquina responsvel (dino.conectiva.com.br), e seu no. de endereo (200.250.58.152). * Opes do Host Para maiores informaes a respeito dos servidores e hosts, usa-se algumas opes para saber informaes especficas, tais como: -l => para uma listagem completa dos hosts no domnio especificado; -t mx => para uma listagem servidores de e-mail; -d => para detalhes sobre o host e seus servidores de nome; Exemplo:
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 [root@localhost]

No exemplo acima os servidores de e-mail do conectiva.com.br so 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 mquina (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 contm 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 esto em funcionamento. Para maiores informaes, digite:
[root@localhost]# man host

6.2. Como configurar um DNS secundrio?


Uma funo chave do sistema de DNS a habilidade de manter uma cpia da informao de seu domnio. A informao colocada no DNS primrio de um domnio e copiada para DNSs secundrios (cpia de segurana). A informao no copiada para o primrio, mas ao invs disso, puxada pelos secundrios. As regras so definidas pelo primrio. Resumindo, o administrador do DNS secundrio tem que dizer ao seu DNS para agir como um secundrio para um dado domnio, mas o primrio quem o dir como! Alguns conceitos:

1. Nmero serial O secundrio conversar regularmente (como dito pelo primrio) com o primrio e checar o nmero serial (nmero de reviso) do domnio. Se o nmero serial for o mesmo da cpia que ele possui, ou menor, nenhuma cpia ser feita. Um erro bem comum esquecer-se de atualizar o nmero serial (registro SOA). O secundrio no copiar a informao nova e isso pode gerar comportamentos estranhos. O Configurador Linux gerencia nmeros seriais automaticamente! 2. Configurao A especificao do secundrio simples. D um nome de domnio e o nmero IP do DNS primrio para o domnio, seguido opcionalmente pelos nmeros IP alternativos caso o primeiro falhe. s isso. O Configurador Linux toma conta de definir um arquivo para que uma cpia de segurana seja guardada. 3. A quem devo contar? Algum tem que dizer ao outro que o seu DNS o secundrio de um dado domnio. Se isso no for feito, ento seu DNS trabalhar intilmente: ele no receber requisio alguma para aquele domnio. Este trabalho deve ser feito nas especificaes do primrio (veja divulgao do DNS). Ento isso no da sua conta &:) O primrio tem que nomear explicitamente os secundrios. Alm disso, ele tem que registrar esta informao no DNS de seu domnio pai. Isso freqentemente esquecido. Configurao na mquina DNS Primrio:
[root@localhost]# linuxconf

Ambiente de rede/DNS -> servidor de nomes de domnios -> Configurar Domnios > Adicionar
domnio: 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

Nota: o ponto tambm faz parte da configurao (server.intranet.) Configurao na mquina DNS Secundrio: DNS-servidor de nomes de domnios/Secundrios
Adicionar --> Domnio: server.intranet Endereo Ip do Servidor: IP_DO_server.intranet Aceitar.

O resto das configuraes so normais. Obs: O diretrio /var/named/sec/ criado com o dono e com o grupo errados. Com isso ao iniciar o named aparece uma mesagem de erro de "Permisso Negada". As propriedades do diretrio esto:
[root@spiderman named]# l /var/named/

total 24 drwxr-xr-x drwxr-xr-x drwxr-x---rw-r--r--rw-r--r-drwxr-xr-x

4 29 2 1 1

root root named root root

root root named root root root ^^^^

4096 4096 4096 2769 422

Dec 21 10:41 ./ Nov 16 13:03 ../ Nov 2 07:39 dump/ Nov 2 07:39 named.ca Nov 2 07:39 named.local

2 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 servio named executado com o usurio named. Para alterar as propriedades entre no sistema como root e faa o seguinte:
[root@localhost]# cd /var/named/

[root@localhost]#

chown named.named sec

Captulo 7. E-Commerce 7.1. Quais os passos para se criar uma loja virtual no E-Commerce?

O Tallyman possui um instalador baseado na linguagem Perl, escrito para simplificar a instalao de sistemas de comrcio virtual baseado em Tallyman. Para iniciar o script de instalao execute como super usurio:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. su -l root cd /usr/local/tallyman/tools ./install.pl Leia as instrues iniciais e pressione ENTER. Escolha a opo S (configure software). Base directory of the software: /usr/local/tallyman Escolha a opo 1 (mod_perl / Apache) Escolha a opo c (create a new store) Escolha a opo d (configure database) Escolha a opo 2 (postgreSQL). Enter the database username: demo Enter the database password: demo Enter DBI connect string [dbi:Pg]: Pressione ENTER Should I try to create the user ? yes Should I try to drop the user ? no Postgres privileged user account: postgres Postgres privileged user password: minhasenha Should I try to create the tables ? yes Escolha a opo r (Configure store directories). 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 opo 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 opes 21,23,24,25,26 deve ser substitudo pelo domnio real do site. Deve ser um domnio vlido e j registrado. Para fins de teste, pode ser utilizado um domnio interno de uma intranet, nesse caso colocamos o endereo IP da mquina 10.0.2.16 (endereo localhost).
27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. Escolha a opo m (Configre miscellaneous). Enter you store name: Loja Demonstrao Enter a store id: demo Do you want to create sample store datea ? yes Do you want to import UPS zone-based shippng data ? no Enter the origin zipcode of your store: 00000-000 Enter the administrator's email address: informar o email do administrador de sistemas. Enter the bouceback email address: informar o email para mensagens de erro Enter the shopping basket from email address: informar o email da loja Escolha a opo f (Use this store configuration as a globas default). Escolha a opo a (For this session and future sessions). Pressione ENTER. Escolha a opo i (Install store). Leia a mensagem. Pressione ENTER para avanar para a prxima pgina. Escolha a opo q (quit) duas vezes para sair do instalador.

42. exit

Caso queira um detalhamento de todas essas opes verifique no manual a seo 128-138. A instalao da loja demonstrao est completa, o prximo passo configurar os aspectos de segurana e o arquivo de configurao do Apache (httpd.conf), bem como gerar os arquivos HTML da loja. Utilizando a conta do root, siga as instrues 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 diretrios 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 tambm as permisses corretas dos arquivos e diretrios:
[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 contedo definidos na pgina de administrao da loja. Para gerar a loja, inicie o navegador e aponte-o para:

http://10.0.2.16/demo/admin/index.epl (nesse caso estamos apontando para o endereo IP da mquina que est sendo configurada, ajuste esse exemplo ao seu caso). Ele ir pedir um usurio, digite ento 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 pgina de administrao primeiramente clique em Regenerate para criar reconstruir todo o site. A rotina de regenerao deve ser executada sempre qeu mudanas ocorrerem no site, ou aps a criao de um site novo. Novos arquivos HTML sero gerados em substituio aos antigos (se existirem) e todas as pginas onde o mesmo produto ou contedo aparecem sero atualizadas automaticamente. Sero apresentadas mensagens para cada objeto qeu estiver sendo regenerado. Caso ocorra algum erro, ser apresentada uma mensagem na cor vermelha. Essas mensagens em vermelho so importantes para a depurao de possveis falhas na estrutura do site. Quando a loja estiver completamente criada, o regenerador apresentar a mensagem Regen Finished e informar o tempo de regenerao da loja. Esse tempo depende da plataforma de hardware, velocidade da conexo, 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 endereo IP da mquina que est sendo configurada, ajuste esse exemplo ao seu caso).

7.2. Como proceder a instalao do ecommerce em uma mquina limpa?


Se no existe ainda nenhum sistema instalado no seu computador ento para fazer a instalao basta colocar o CD do ecommerce e proceder normalmente com a instalao. Depois de efetuada a instalao deve-se partir para o prximo passo que a configurao do banco de dados.

7.3. Como fao para atualizar o meu sistema que est rodando o Conectiva Linux 5.0 para utilizar o ecommerce?
Recomendamos fortemente que, ao invs de atualizar um sistema existente, seja reservada uma mquina exclusiva para hospedar o servidor de comrcio eletrnico. Entretando, caso seja estritamente necessrio devido a necessidades especficas de cada empresa, podem ser utilizados sistemas j existentes em funcionamento. Primeiramente altamente recomendvel 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:

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 atualizao) como usurios postgres, utilizando o comando:
[root@localhost]# su -l postgres

e faa 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 servio postgres com o comando (como super usurio):
[postgres@localhost]$ cds [root@localhost]# ./postgresql stop

e renomeie o diretrio 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 diretrio base vazio com o comando:


[root@localhost]# mkdir base

e determine as mesmas permisses do diretrio original, com o comando:


[root@localhost]# chown postgress.postgres base

e determine as mesmas permisses do diretrio original, com o comando:


[root@localhost]# chmod 700 base

Se achar necessrio, faa cpias de segurana dos arquivos pg_hba.conf e pg_passwd. Para finalizar, apague o arquivo PG_VERSION. Depois de feito todo o backup necessrio agora o prximo passo fazer a atualizao do sistema. Primeiro faa 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 diretrio onde fica a imagem, insira um disquete formatado e o CD da Conectiva nmero 1, logo aps 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 diretrio onde foi feito o download e atravs de um terminal digite o comando:
[root@localhost /root]# dd if=mi-1.1.0u1-ecommerce.img of=/dev/fd0

Agora entre na instalao do linux normalmente e quando aparecer a mensagem Bem vindo ao Conectiva Linux" ento digite:
boot: linux updates

O instalador ir pedir o disquete de atualizaes. Insira-o no drive, e continue a atualizao normalmente.

No momento que for feita a pergunta: Would you like to change the list of packages to upgrade? responda no e prossiga com a atualizao. Depois de feita a atualizao hora de restaurar o backup das suas bases de dados do postgreSQL (caso tenha sido feito o backup). Primeiro observe se na primeira inicializao do sistema se o servio 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 usurio postgres (su -l postgres) e execute o comando para importar os dados de sua base antiga para a nova base recm criada pelo Postgres. Isso ir recriar todas as suas tabelas e os dados contidos nelas. Em caso de dvidas, consulte a rea relevante na documentao do PostgreSQL.
[postgres@localhost]$ psql template1 -f database.out

O prximo passo fazer a configurao do banco de dados.

7.4. Como configurar o Banco de Dados no Ecommerce?


[root@localhost]# chkconfig --add postgresql [root@localhost]# ntsysv

7.4.1. Configurao do postgreSQL O banco de dados postgreSQL deve ser configurado para iniciar nos nveis 3,4,5 e parar no nvel 2. Para isso execute como super usurio:
E marque a opo:
[*] postgresql

Agora execute os seguintes comandos:


[root@localhost]# cds [root@localhost]# ./postgresql stop [root@localhost]# ./postgresql start

Nesse ponto necessrio criar um banco de dados mestre. Este ser administrado por um superusurio que ter direitos de criao dos bancos de dados das lojas. Para isso necessrio entrar como super usurio do sistema e em seguida entrar como usurio 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; (No esquea 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 configurao do Tallyman.

Agora edite o arquivo pg_hba.conf, para isso siga as seguintes instrues:


[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.

Salve (F2) e saia do arquivo (F10). Em seguida execute:


[root@localhost]# chmod 400 pg_hba.conf

Agora reinicie o servio do postgreSQL:


[postgres@localhost]$ exit [root@localhost]# cds [root@localhost]# ./postgresql restart

O nome do usurio postgres uma sugesto de fcil memorizao. Outros nomes que atendam melhor a necessidades ou gostos individuais podem ser utilizados. 7.4.2. Configurao do Apache Para garantir a segurana das URLs de administrao do Tallyman, deve-se proteger os diretrios para os quais as URLs do Tallyman apontam. O roteiro abaixo define um usurio e uma senha para todas as URLs administrativas do Tallyman. Essas definies estaro armazenadas no arquivo tallyman_passwd, no diretrio /usr/local/tallyman/secret. prudente criar um usurio para cada pessoa que acessar o site, entretanto, por motivos didticos trabalharesmo apenas um usurio 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 usurio chamado admin, que possuir direitos para configurao do Tallyman. Para que o Apache reconhea o cdigo 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 incio 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 incio da linha.

Salve F2 e saia do arquivo F10. Agora execute o seguinte comando como super usurio:
[root@localhost]# cd /usr/local/tallyman/tallyman [root@localhost]# cat apache_modperl.conf >> /etc/httpd/conf/httpd.conf

Agora reinicie o apache:

[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 no tenha sado na sua tela ento alguma configurao no arquivo httpd.conf no est correta, e todas as modificaes 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 endereo IP da mquina que est sendo configurada, ajuste esse exemplo ao seu caso). O prximo passo agora criar uma loja virtual.

7.5. O que fao 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 --> Informao Bsica da mquina --> Nome da Mquina + domnio: server.intranet Aceitar Apache - servidor Web --> Padres --> Nome do servidor: minha-maquina.conectiva Aceitar Sair Sair Ativar Mudanas

Nesse caso server.intranet um nome de exemplo, adapte este exemplo ao seu caso. Em seguida execute os seguintes comandos para que a alteraes 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 no est sendo instalado na MBR?

Essa dificuldade gerada normalmente em HD's de grande capacidade porque o lilo tenta gravar a linha lba32 para tirar aquela limitao do /boot ser instalado acima do cilindro 1024. Como a verso no e-commerce(lilo-0.21) no apresenta suporte a esta funcionalidade a soluo seria editar o lilo.conf e retirar a linha lba32. Para isso execute novamente a instalao 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 parties 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 partio /, em seguida execute:


[root@localhost]# mount /dev/hda3 /tmp

Nesse exemplo, supe-se que o / est na partio hda3.


[root@localhost]# chroot /tmp

Se no momento da instalao foi criada uma partio /boot em separado ento localize-a e execute:
[root@localhost]# mount /dev/hda1 /boot

Nesse exemplo o /boot se encontrava na partio 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 alteraes funcionaram.

7.7. Escrevi ou esqueci a senha no Banco de dados, como fao para colocar uma nova?
Lembre-se que ao executar o comando abaixo toda a sua base de dados e o contedo do usurio postgres ser perdida, por isso &eacutar o comando abaixo toda ate;vel que se faa um BACKUP DOS ARQUIVOS IMPORTANTES antes de prosseguir. Execute os seguintes comandos como root:
[root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# rm -rf ~postgres mkdir /var/lib/pgsql chown postgres.postgres /var/lib/pgsql cds ./postgres stop

[root@localhost]# ./postgres start

E ento agora continue com os procedimentos de criar novo banco de dados e trocar a senha do usurio postgres.

7.8. Fiz a instalao do ecommerce, porm no 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 mquina+domnio 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 --> Informao bsica da mquina --> Nome da Mquina: servidor.conectiva Aceitar Apache - servidor Web --> Padres --> Nome do servidor: servidor.conectiva Aceitar Sair Sair Sair Ativar Mudanas

Nesse exemplo servidor.conectiva o nome da mquina+domnio, 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 prximo passo configurar o banco de dados.

7.9. Porque e como utilizar o disco de updates do instalador?


Para os seguintes problemas:

Correo do bug do `xserver=' no syslinux, que impedia a utilizao de um servidor X alternativo na instalao grfica. Isso deve corrigir o problema das "S3 Savage4" e outras placas de vdeo que "desligavam" o monitor (xserver=VGA16). Correo do bug do lba32 no lilo.conf, que impedia que o LILO fosse instalado corretamente. Utilize o disco de updates da seguinte maneira: Primeiro faa 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 diretrio 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 nmero 1, logo aps 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 diretrio onde foi feito o download e atravs de um terminal digite o comando:
[root@localhost /root]# dd if=mi-1.1.0u1-ecommerce.img of=/dev/fd0

Agora entre na instalao do linux normalmente e quando aparecer a mensagem eBem vindo ao Conectiva Linux ento digite:
boot: linux updates

OBS. Caso seja necessrio entrar no modo expert de instalao, digite:


boot: linux expert updates

O instalador ir pedir o disquete de atualizaes. Insira-o no drive, e continue a atualizao normalmente.

7.10. Erros comuns na configurao do bando de dados dbi


DBI->connect failed: connectDB() -- connect() failed: Conexo recusada ...Unix socket '5432'? at inst_db.pm line 356 Error in database access: connectDB() -- connect() failed: Conexo 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.

Soluo: Verifique se sua rede est funcionando.


[root@localhost]# cds @localhost]# ./network status

Caso ela no estaja funcionando edite o arquivo network


[root@snake sysconfig]# vi /etc/sysconfig/network

e na opo NETWORKING deixe-a da seguinte maneira:


NETWORKING=yes

Aps isto inicialize a rede:


[root@localhost]# cds [root@localhost]# ./network start

Caso isso no 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 smbolo #. Todas elas devem ter este smbolo com excesso das duas ltimas linhas com a palavra crypt. Ou se preferir faa 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 host all all 127.0.0.1 255.255.255.255 crypt crypt

Clique em F2 para salvar e F10 para sair. Altere a permisso:


[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 contedo do usurio postgres ser perdida, por isso altamente recomendvel que faa 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 fao para atualizar o meu sistema que est rodando o Conectiva Linux 5.0 ou 5.1 para utilizar o ecommerce ?
Recomendamos fortemente que, ao invs de atualizar um sistema existente, seja reservada uma mquina exclusiva para hospedar o servidor de comrcio eletrnico. Entretando, caso seja estritamente necessrio devido a necessidades especficas de cada empresa, podem ser utilizados sistemas j existentes em funcionamento.

Primeiramente altamente recomendvel 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 atualizao) como usurios postgres, utilizando o comando:
[root@localhost]# su -l postgres

e faa 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 servio postgres com o comando (como super usurio):
[postgres@localhost]$ cds [root@localhost]# ./postgresql stop

e renomeie o diretrio 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 diretrio base vazio com o comando:


[root@localhost]# mkdir base

e determine as mesmas permisses do diretrio original, com o comando


[root@localhost]# chown postgress.postgres base

e determine as mesmas permisses do diretrio original, com o comando:


[root@localhost]# chmod 700 base

Se achar necessrio, faa cpias de segurana dos arquivos pg_hba.conf e pg_passwd. Para finalizar, apague o arquivo PG_VERSION. Depois de feito todo o backup necessrio agora o prximo passo fazer a atualizao 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 verso 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 verso 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 atualizao hora de restaurar o backup das suas bases de dados do postgreSQL (caso tenha sido feito o backup). Primeiro observe se na primeira inicializao do sistema se o servio 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 usurio 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 dvidas, consulte a rea relevante na documentao do PostgreSQL.
[postgres@localhost]$ psql template1 -f database.out

O prximo passo fazer a configurao do banco de dados.

7.12. Por que meu e-commerce no carrega a pgina 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 mltiplas 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 instrues iniciais e pressione ENTER. 5. Escolha a opo S (configure software). 6. Base directory of the software: /usr/local/tallyman 7. Escolha a opo 1 (mod_perl / Apache) 8. Escolha a opo c (create a new store) 9. Escolha a opo d (configure database) 10. Escolha a opo 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

17. Postgres privileged user password: minhasenha 18. Should I try to create the tables ? yes 19. Escolha a opo 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 opo 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 opes 21,23,24,25,26 deve ser substitudo pelo domnio real do site. Deve ser um domnio vlido e j registrado. Para fins de teste, pode ser utilizado um domnio interno de uma intranet, nesse caso colocamos o endereo IP da mquina 10.0.2.16 (endereo localhost). 27. Escolha a opo 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 opo f (Use this store configuration as a globas default). 37. Escolha a opo a (For this session and future sessions). 38. Pressione ENTER. 39. Escolha a opo i (Install store). 40. Leia a mensagem. Pressione ENTER para avanar para a prxima pgina. 41. Escolha a opo q (quit) duas vezes para sair do instalador. 42. exit Caso queira um detalhamento de todas essas opes verifique no manual a seo 128-138. A instalao da loja demonstrao est completa, o prximo passo configurar os aspectos de segurana e o arquivo de configurao do Apache (httpd.conf), bem como gerar os arquivos HTML da loja. Utilizando a conta do root, siga as instrues 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 demonstrao

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 varivel TALLYMAN_SID:


# URL da loja demonstrao 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 varivel.


# URL da loja demonstrao 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 demonstrao s seja informado ao Tallyman se uma das URLs dessa loja for acessada. 5.
Crie novos aliases para a loja teste. O TALLYMAN_SYD tambm 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 demonstrao 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>

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 tambm as permisses corretas dos arquivos e diretrios:
[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 contedo definidos na pgina de administrao 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 endereo IP da mquina que est sendo configurada, ajuste esse exemplo ao seu caso). Ele ir pedir um usurio, digite ento 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 pgina de administrao primeiramente clique em Regenerate para criar reconstruir todo o site. A rotina de regenerao deve ser executada sempre qeu mudanas ocorrerem no site, ou aps a criao de um site novo. Novos arquivos HTML sero gerados em substituio aos antigos (se existirem) e todas as pginas onde o mesmo produto ou contedo aparecem sero atualizadas automaticamente. Sero apresentadas mensagens para cada objeto qeu estiver sendo regenerado. Caso ocorra algum erro, ser apresentada uma mensagem na cor vermelha. Essas mensagens em vermelho so importantes para a depurao de possveis falhas na estrutura do site. Quando a loja estiver completamente criada, o regenerador apresentar a mensagem Regen Finished e informar o tempo de regenerao da loja. Esse tempo depende da plataforma de hardware, velocidade da conexo, 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/teste (nesse caso estamos apontando para o endereo IP da mquina que est sendo configurada, ajuste esse exemplo ao seu caso).

Captulo 8. FRESWAN 8.1. Como fao para configurar o Freesswan


O Conectiva Linux 5.1 Ed. Servidor j tem kernel preparado para freeswan 1.3. Se a verso instalada ainda no for esta, ento faa o upgrade do pacote RPM do kernel para o pacote que vem com a 5.1 Aps ter o kernel correto, certifique-se que o pacote freeswan-1.3-2cl tambm est instalado.Se no tiver, instale-o. Para isso, monte o primeiro cd do conectiva 5.1, 4.2 ou o cd 2 do conectiva 5.0. Outras verses do conectiva precisam baixar o pacote em: ftp://ftp.conectiva.com.br/pub/conectiva/5.1/cd1/conectiva/RPMS/freeswan-1.47cl.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 contm tudo o que extra-kernel (utilitrios e daemons) e instalado separadamente.Tenha certeza que a configurao do kernel est ok. A parte de rede deve estar funcionando perfeitamente antes de iniciar a instalao. Verifique se o arquivo contm 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 contm
[root@localhost]# mcedit RP_FILTER=0 /etc/sysconfig/cl-firewall

Este parmetro quando setado para 2 (como est originalmente) impede o link de ser estabelecido com sucesso. Nenhuma configurao ser necessria nas estaes, apenas nos gateways. Toda a configurao baseada em apenas dois arquivos:
/etc/ipsec.conf e /etc/ipsec.secrets

Estes arquivos (ambos) devem ter permisses 600 por questes de segurana. O dono e o grupo deve ser "root:root". O arquivo ipsec.conf O primeiro guarda as configuraes 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:

+~~~~~~~~~~~~+ +==| 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 configurao que serviria para a rede acima. Observe que o arquivo de configurao original muito mais completo, e aqui s foram mostradas as partes relevantes. O restante do arquivo pode ser deixado intacto, salvo nota especfica.
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 seco temos config setup que especifica a seco geral de configurao do ipsec. Esta seco normalmente no ser modificada. Cuide para que pelo menos as linhas listadas existam e estejam corretas. Logo aps, temos conn %default. Esta seco no indica uma conexo especfica, mas serve para que voc possa listar quaisquer parmetros que voc queira que sejam vlidos para todas as conexes. Listar alguma opo aqui o mesmo que list-la repetidas vezes dentro de cada uma das conexes.

No caso acima esto listadas duas keywords interessantes (as outras podem ser deixadas como esto no original). esp=3des-md5-96 indica o tipo de criptografia que queremos usar. 3des-md5-96 uma boa opo, sugerido como default. authby=rsasig indica que queremos usar autenticao e criptografia do tipo RSA (chaves pblicas e privadas). As opes so secret (defaut) para PSK (pre shared keys) e rsasig para chaves RSA. Por ltimo, conn con123 a conexo que estamos tentando estabelecer. Podem existir vrias conexes, basta repetir esta parte com novos parmetros. Antes de irmos para os nmeros em si, uma breve explicao do significado de left e right. Eles representam "os dois lados" da conexo. No faz diferena quem qual, apenas que os dois lados estejam listados. O freeswam descobre sozinho qual ele mesmo e qual o outro lado, atravs do IP indicado. Agora vejamos as keywords usadas no exemplo, uma a uma: left=192.168.6.1 indica o IP da mquina 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 "atrs" do gateway, cujos pacotes sero protegidos. Deve-se indicar a netmask em conjunto com o endereo de rede. leftnexthop= indica qual o IP do gateway que est acima do GATEWAY A. Normalmente este endereo ser obtido automaticamente atravs da rota do gateway padro (exatamente por isso existe aquela instruo interfaces=%defaultroute na primeira seco. Nesses casos comuns pode-se deixar as instrues "nexthop" comentadas, como no exemplo. leftrsasigkey=0x01039d827220755... indica a chave pblica RSA do outro lado. Mais sobre isso adiante, no item do arquivo ipsec.secrets. leftfirewall=yes indica que a mquina firewall no est fazendo masquerading para a rede que ela est protegendo, e esta rede tem IPs no roteveis que no devem ser repassados para o lado de fora. Normalmente no ser usada. Todos estes conceitos so igualmente aplicveis ao outro lado, apenas substituindo "left" por "right". auto=start indica que esta conexo deve ser iniciada durante o boot do micro. Outra opo seria auto=add para apenas adicionar a conexo na lista de conexes mas no inici-la no boot. Ela poder ser iniciada mais tarde manualmente(pouco usado). O arquivo ipsec.secrets Agora necessrio configurar as chaves que sero usadas para a criptografia e autenticao. Em primeiro lugar voc deve escolher qual o tipo de chave a ser usada, PSK ou RSA. Como j foi dito, deve-se dar preferncia para o tipo RSA. Por vrios motivos. Vejamos:

1. Nenhum problema de transmisso 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 pblica/privada, voc transmite para o outro lado apenas a chave pblica. O sistema foi desenvolvido para que no importe caso algum pegue sua chave pblica, nada poder ser feito com ela (para descriptografar o que foi

criptografado com a chave pblica, necessria a chave privada que no foi transmitida. 3. Fcil manuteno. Se voc tiver mais de uma conexo, com mais de um gateway diferente, pode deixar sua chave pblica em um lugar conhecido e todos pegarem. No 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. No requer que os IPs das pontas sejam fixos, pois a chave ir garantir a autenticidade da outra mquina. Isto usado para redes virtuais privadas com IPs mveis, e no ser alvo deste documento. Para maiores informaes 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 gerao rpida, mas para 1024 pode levar at alguns minutos dependendo da mquina em que est sendo executado o comando. Usamos 128 aqui para um exemplo ilustrativo. A sada 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 exceo dos comentrios, e da linha que inicia com #pubkey (que tambm est comentada), todo o resto a chave privada. Aquele nmero contido na linha #pubkey deve ser repassado para a outra mquina gateway, para ser inserido no arquivo de configurao ipsec.conf na keyword "leftrsasigkey=0x01039ef..." (ou right, conforme o caso). Todo o restante dever ser inserido no arquivo ipsec.secrets da mquina local (que gerou a chave) como sendo sua prpria chave privada. O arquivo de configurao 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 contm exatamente a tag de abertura (primeira linha) e em seguida deve ser colado o contedo EXATO das chaves geradas com o comando mencionado anteriormente, e por ltimo, o tag de fechamento.

Na primeira linha, os IPs so 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). Tambm deixe sempre espaos entre as tags (por exemplo ":RSA{" no 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 pblica para ser acrescentada no arquivo ipsec.conf do lado de c. Finalmente, para tudo isto funcionar, habilite a autenticao via RSA no .conf de cada um, com a instruo authby=rsasig j mostrada anteriormente. No se assuste com o tamanho dos nmero, eles realmente sero enormes. O exemplo de 128 bits apenas ilustrativo, as chaves de 1024 podero ter at 4 ou 5 linhas de texto numa janela texto de 80 colunas. Mantenha estes nmeros sempre numa linha s, cada um deles, nunca deixe o editor quebrar a linha em vrias. Acrescente "alias ipsec0 ipsec" no arquivo /etc/conf.modules. Ao final, d um reboot na mquina, e deixe que ela carregue tudo automaticamente. Observe se houve alguma mensagem de erro durante o carregamento do "pluto". Testes Ps-Instalao Durante a fase de testes, talvez seja interessante manter a conexo como "auto=add" no arquivo .conf ao invs de "auto=start", pois assim voc poder startar e parar a conexo na mo quantas vezes quiser. Ao final, mude novamente para "auto=start" dos dois lados para que as coisas voltem a ser autoticas. LINKS TEIS PARA CONSULTA Lista de discusso 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/ ### VERSO 6.0 ### Siga os mesmos procedimentos apenas troque o nome do arquivo /etc/conf.modules por /etc/modules.conf

Captulo 9. FTP 9.1. Como fao para habilitar o acesso ftp em minha mquina?
Primeiramente verifique se os seguintes pacotes esto instalados:
[root@localhost]# rpm -q wu-ftpd e/ou [root@localhost]# rpm -q proftpd

Caso no estejam instalados, para instal-los: Coloque o CD 1 do Conectiva Linux no drive de CDROM Monte-o:

[root@localhost]# mount /dev/cdrom /mnt/cdrom

V at o diretrio das RPMs


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

Execute o comando de instalao:


[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 mudanas:
[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?


### Verso 7.0 e posteriores ### Instalar pacotes: proftpd: O ProFTPD um servidor ftp altamente configurvel para sistemas operacionais unix. A documentao completa est disponvel em http://www.proftpd.org, incluindo o manual de referncia para as diretivas de configurao do servidor. anonftp: Contm os arquivos necessrios para permitir acesso ftp annimo a sua mquina. Isso deixa qualquer usurio pegar arquivos de sua mquina sem ter uma conta, o que um meio popular de tornar programas disponveis na Internet. Aps instalar, verifique se existe a linha: =---------------------- ftp 21/tcp =---------------------no arquivo /etc/services, pois onde est sendo definida a porta de ftp. E tambm, verificar se a linha abaixo, do arquivo /etc/inetd.conf est descomentada/habilitada. =---------------------- ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd e no ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a =---------------------Caso no esteja, basta descomentar e reinicializar o servio inet:
[root@localhost]# /etc/rc.d/init.d/inet stop

[root@localhost]# /etc/rc.d/init.d/inet start

Para maiores configuraes, deve-se utilizar-se dos seguintes arquivos : =---------------------1-) /etc/proftpd.conf <-------- Configuraes gerais do servidor (+importante) Este arquivo configurvel estilo um arquivo .html, com a sintaxe <opo> </opo> e comandos "dentro" deles.

O arquivo padro da instalao o seguinte :


# Configurao do ProFTPD # ServerName ServerType DefaultServer ScoreboardPath DeferWelcome ServerAdmin ServerName SyslogFacility "ProFTPD - Instalao Default" inetd on /var/run on root@localhost "Servidor FTP" AUTH

# Umask 022 um bom padro para prevenir que novos diretrios e # arquivos sejam gravveis pelo grupo ou outros usurios Umask 022 # Usurio e grupo para o servidor User nobody Group nobody <Directory /*> AllowOverwrite </Directory> no

# Configurao bsica para ftp annimo, sem diretrio para recepo # de arquivos <Anonymous ~ftp> User ftp Group ftp DirFakeUser on DirFakeGroup on # ftp = anonymous UserAlias anonymous ftp

# nmero mximo de logins annimos MaxClients 10 "Nmero mximo de clientes, tente mais tarde." # No mximo duas conexes por cliente

MaxClientsPerHost simultneas."

2 "Voc j est com muitas conexes

# welcome.msg mostrado na conexo e .message mostrado para cada # diretrio acessado. DisplayLogin welcome.msg DisplayFirstChdir .message AccessGrantMsg "Acesso annimo aceito para %u." # Limite gravao no chroot annimo <Limit WRITE> DenyAll </Limit> </Anonymous>

------------- Explicao das opes mais importantes/relevantes --------Em ordem alfabtica : AccessGrantMsg Sintaxe: AccessGrantMsg mensagem Padro: 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 aps a autenticao, com uma mensagem padro indicando que o usurio est logado ou que o acesso do usurio annimo foi efetuado com sucesso. Esta mensagem pode ser configurada com esta opo (AccessGrantMsg). No parmetro mensagem pode ser utilizado %u que ser substitudo pelo nome do usurio. Exemplo: AccessGrantMsg "Acesso annimo aceito para %u." _________________________________________________________________ Allow Sintaxe: Allow ["from"] "all"|"none"|host|network[,host|network[,...]] Padro: Allow from all Pode ser usado: <Limit> Compatibilidade: 0.99.0pl6 and later utilizada sempre entre <Limit> e </Limit> para as excesses que houverem sobre as condies do limit. host e network podem ser passados por nome ou nmero. Por motivos de segurana recomenda-se utilizar sempre nmeros. Para especificar uma rede inteira, com nmeros utiliza-se 10.0.0 (por exemplo) e com nomes .proftpd.net (por exemplo). Exemplo: <Limit LOGIN> Order Allow,Deny

Allow from 128.44.26.,128.44.26.,myhost.mydomain.edu,.trusted-domain.org Deny from all </Limit> _________________________________________________________________ AllowAll Sintaxe: AllowAll Padro: No muito utilizado por permitir acesso a todos Pode ser usado: <Director>, <Anonymous>, <Limit>, .ftpaccess Compatibilidade: 0.99.0 and later A opo permite acesso a aos blocos <Directory>, <Anonymous> ou <Limit> a todos os usurios. _________________________________________________________________ AllowFilter Sintaxe: AllowFilter regular-expression Padro: Nenhum (no 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 expresses regulares. Se h espaos em branco, deve-se utilizar aspas. Exemplo: # Somente permite caracteres alfa-numricos e espaos em branco AllowFilter ".*/[a-zA-Z0-9 ]+$" Veja mais em: DenyFilter _________________________________________________________________ AllowGroup Sintaxe: AllowGroup group-expression Padro: 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 Padro: Nenhum Pode ser usado: <Limit> Compatibilidade: 1.1.7 and later Basicamente igual ao AllowGroup, s que para permitir o acesso de usurios.

Exemplo: AllowUser ftp,nobody Veja mais em: DenyUser, DenyGroup, AllowGroup _________________________________________________________________ AllowOverwrite Sintaxe: AllowOverwrite on|off Padro: AllowOverwrite off Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>, <Global>, .ftpaccess Compatibilidade: 0.99.0 and later Permite ou no sobrescrever arquivos localizados no servidor. Utilizado normalmente para diretrios de upload, onde deve ser possvel a sobrescrita de arquivos. _________________________________________________________________ AnonRequirePassword Sintaxe: AnonRequirePassword on|off Padro: AnonRequirePassword off Pode ser usado: <Anonymous> Compatibilidade: 0.99.0 and later Com esta opo, para acessar como annimo necessrio utilizar-se da senha do usurio que o servio de usurio annimo utiliza (definido com a opo User). Exemplo:

<Anonymous ~roger> User roger AnonRequirePassword on </Anonymous> Ento, para acessar como annimo s ser possvel se for digitada a senha do usurio roger. _________________________________________________________________ AllowRetrieveRestart Sintaxe: AllowRetrieveRestart on|off Padro: AllowRetrieveRestart on Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>, <Global>, .ftpaccess Compatibilidade: 0.99.0 and later Permite que os usurios possam baixar os arquivos de "pedao a pedao" ao invs de o arquivo inteiro de uma vez. _________________________________________________________________ AllowStoreRestart

Sintaxe: AllowStoreRestart on|off Padro: AllowStoreRestart off Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>, <Global>, .ftpaccess Compatibilidade: 0.99.0 and later Permite que o usurio envie arquivos ao servidor de "pedao a pedao" ao invs do arquivo inteiro. Pode ser til para diretrios de upload, mas no recomendvel utilizar devido ao fato de que podem ocorrer problemas em uma das transmisses e perder-se o arquivo inteiro. _________________________________________________________________

<Anonymous> Sintaxe: <Anonymous diretrio-raiz> Padro: None Pode ser usado: server config,<VirtualHost>, <Global> Compatibilidade: 0.99.0 and later O bloco de configurao <Anonymous> utilizado para criar uma sesso de acesso para um usurio annimo no servidor ftp. O parmetro diretrio-raiz qual ser o diretrio raiz do usurio ao acessar o servidor. Exemplo de configurao bsica de acesso para ftp annimo:
<Anonymous /home/ftp> User ftp # Aps o acesso annimo, o servio roda com o usurio ftp. Group ftp # Aps o acesso annimo, o servio roda com o grupo ftp. UserAlias anonymous ftp # Cliente loga como annimo e recebe apelido de ftp. # No permite escrita em nenhum dos diretrios abaixo o raiz. # O padro permitir a leitura, portanto no necessrio usar um. <Limit> #para permitir. <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> <Directory incoming> <Limit READ WRITE> DenyAll </Limit> <Limit STOR> AllowAll </Limit> </Directory> </Anonymous>

_________________________________________________________________

AnonymousGroup Sintaxe: AnonymousGroup group-expression Padro: None Pode ser usado: server config, <VirtualHost>, <Global> Compatibilidade: 1.1.3 and later utilizado para definir os grupos de usurios que quando acessarem o servidor sero considerados como usurios annimos. Caso acesse com um usurio que esteja neste grupo, o raiz do mesmo ser passado para o home do usurio. Veja mais em: DefaultRoot _________________________________________________________________ AuthGroupFile Sintaxe: AuthGroupFile path Padro: 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 configurao de domnios virtuais, para que possa utilizar grupos diferentes ou iguais e no haver confuso. _________________________________________________________________ AuthUserFile Sintaxe: AuthUserFile path Padro: 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 usurios. Utiliza o mesmo formato que o /etc/passwd. Tambm pode ser utilizado para domnios virtuais. _________________________________________________________________ CDPath Sintaxe: CDPath diretrio Padro: nenhum Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.2.0pre2 and later Adiciona diretrios como na varivel PATH do usurio no sistema. _________________________________________________________________ CommandBufferSize Sintaxe: CommandBufferSize tamanho Padro: Nenhum Pode ser usado: server config, <VirtualHost>, <Global> Compatibilidade: 1.2.0pre7 and later

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 vrios ataques (Denial of Service ou resource-consumption). _________________________________________________________________ DefaultChdir Sintaxe: DefaultChdir directory [group-expression] Padro: ~ Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.2.0pre2 and later Determina o diretrio padro que o usurio ir acessar (equivalente ao home do usurio). Caso no seja determinado, utilizado, por padro, o home do usurio. NOTE: Caso seja especificado um diretrio no existente, o usurio no conseguir acessar. _________________________________________________________________ DefaultRoot Sintaxe: DefaultRoot directory [group-expression] Padro: DefaultRoot / Pode ser usado: server config, <VirtualHost>, <Global> Compatibilidade: 0.99.0pl7 and later Especifica qual ser o diretrio raiz utilizado pelo usurio que est acessando o servidor e para quais grupos isto vlido ou no (colocando "!" antes do nome do grupo). Pode ser utilizado "~" para definir o home de um usurio. _________________________________________________________________ DefaultServer Sintaxe: DefaultServer on|off Padro: DefaultServer off Pode ser usado: server config,<VirtualHost> Compatibilidade: 0.99.0pl6 and later Controla qual servidor ser utilizado por padro quando uma conexo destinada para um IP que no seja o do IP primrio ou nenhum dos definidos em um bloco <VirtualHost>. _________________________________________________________________ DefaultTransferMode Sintaxe: DefaultTransferMode ascii|binary Padro: DefaultTransferMode ascii Pode ser usado: server config, <VirtualHost>, <Global> Compatibilidade: 1.2.0pre9 and later Configura o padro de transmisso dos arquivos binrio ou ascii, o padro ascii. _________________________________________________________________ Deny

Sintaxe: Deny ["from"] "all"|"none"|host|network[,host|network[,...]] Padro: None Pode ser usado: <Limit> Compatibilidade: 0.99.0pl6 and later Ao contrrio do Allow, usa-se o Deny para no permitir acesso de certas redes/mquinas. Veja mais em: Allow and Order. _________________________________________________________________ DenyAll Sintaxe: DenyAll Padro: Nenhum Pode ser usado: <Directory>, <A Sintaxe: DenyAll Padro: 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 usurio. O DenyAll pode ser "sobrescrito" pelo AllowAll. _________________________________________________________________

DenyFilter Sintaxe: DenyFilter regular-expression Padro: Nenhum Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.2.0pre7 and later Semelhante ao AllowFilter. No permite que certos comandos que se paream com a expresso regular definida no sejam aceitos pelo servidor. Caso o comando no 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 Padro: Nenhum Pode ser usado: <Limit> Compatibilidade: 1.1.1 and later Utilizado para barrar o acesso de determinados grupos de usurios. Caso utilize-se o ! este grupo poder acessar.

Exemplo: DenyGroup users,nobody,ftp,!admin Veja mais em: AllowGroup, AllowUser, DenyUser _________________________________________________________________ DenyUser Sintaxe: DenyUser user-expression Padro: Nenhum Pode ser usado: <Limit> Compatibilidade: 1.1.7 and later Utilizado para barrar o acesso de determinados usurios. Caso utilize-se o ! este usurio poder acessar. Exemplo: DenyUser root,!nobody,!ftp Veja mais em: AllowUser, DenyGroup, AllowGroup _________________________________________________________________

<Directory> Sintaxe: <Directory pathname> Padro: Nenhum Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 0.99.0 and later Utilizado para criar um bloco de configurao de um diretrio e seus respectivos sub-diretrios. O bloco inicia com <Directory /caminho/do/diretrio> e termina com </Directory> Exemplo: <Directory /home/*> HideNoAccess </Directory> Caso se utilize uma mscara, o diretrio atual no sofrer as configuraes (em nosso caso, o diretrio /home), apenas os sub-diretrios. Note que deve ser utilizado o caminho absoluto dos diretrios, a no ser se localizado em um bloco <Anonymous>, e tambm no podem ser utilizados "links" simblicos para o bloco <Directory>. _________________________________________________________________ DirFakeGroup Sintaxe: DirFakeGroup On|Off [groupname] Padro: DirFakeGroup Off Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.1.5

DirFakeGroup e seu companheiro, DirFakeUser, podem ser usados para esconder o grupo e usurio propietrios de certo arquivo na listagem do diretrio. Caso no seja especificado nenhum grupo, ser mostrado o ftp por padro. Pode-se utilizar de grupos e usurios no existentes no sistema. _________________________________________________________________ DirFakeMode Sintaxe: DirFakeMode octal-mode Padro: Nenhum Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>, <Global> Compatibilidade: 1.1.6 Configura o modo (ou permisses) que ser mostrado _todos_ os diretrios e arquivos na listagem. utilizado da mesma forma que o DirFakeUser e DirFakeGroup: "apenas cosmticos". Por exemplo: DirFakeMode 0640 Resultar em: -rw-r----- ... arquivo drwxr-x--- ... diretrio _________________________________________________________________ DirFakeUser Sintaxe: DirFakeUser On|Off [username] Padro: DirFakeUser Off Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.1.5 Veja DirFakeGroup _________________________________________________________________ DisplayConnect Sintaxe: DisplayConnect filename Padro: Nenhum Pode ser usado: server config, <VirtualHost>, <Global> Compatibilidade: 1.2.0pre2 and later Configura um arquivo ascii que ser mostrado antes de o usurio efetuar o acesso ao servidor. Pode-se utilizar de um conjunto de "magic cookies" para facilitar na configurao do arquivo, que tambm utilizado pelas opes DisplayLogin e DisplayFirstChdir: %T, %F, %R, %L e %u (detalhes na documentao de DisplayFirstChdir). _________________________________________________________________

DisplayFirstChdir

Sintaxe: DisplayFirstChdir filename Padro: 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, aps o usurio entrar em um certo diretrio, ser mostrado o contedo do arquivo definido. Para o caso de um acesso annimo, o arquivo dever estar em algum diretrio a partir da raiz definida no bloco <Anonymous>. DisplayFirstChdir, DisplayConnect, DisplayLogin, DisplayQuit, tem suporte para as seguintes "magic cookies" (somente a partir da verso 0.99.0pl10), que so substitudas por seus respectivos valores : %T %F %C %R %L %u %U %M %N %E hora corrente espao disponvel diretrio corrente nome do servidor nome do cliente Usurio Usurio usado para acessar o servidor Nmero mximo de conexes Nmero de conexes ativas Email do administrador _________________________________________________________________

DisplayGoAway Sintaxe: DisplayGoAway filename Padro: 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 usurio de uma classe tentar acessar o servidor e esta classe j possuir o nmero mximo de clientes acessando o servidor. Tambm pode-se utilizar as "magic cookies". Veja mais em: DisplayFirstChdir _________________________________________________________________ DisplayLogin Sintaxe: DisplayLogin filename Padro: None Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 0.99.0 and later Especifica um arquivo texto que ser mostrado ao usurio no incio do acesso. O nome do arquivo pode ser absoluto ou relativo, caso seja relativo, o arquivo ser procurado a partir do diretrio inicial que o usurio acessou (home do usurio ou home annimo). Note que ser necessrio o arquivo estar localizado abaixo da raiz do usurio annimo.

DisplayLogin tambm suporta as "magic cookies" _________________________________________________________________ DisplayQuit Sintaxe: DisplayQuit filename Padro: Nenhum Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.2.0pre8 and later Especifica um arquivo texto que ser mostrado ao usurio quando o mesmo terminar sua sesso. Quanto a localizao do arquivo, vale o mesmo que a do item anterior. DisplayQuit tambm suporta as "magic cookies" _________________________________________________________________

DisplayReadme Sintaxe: DisplayReadme filename Padro: None Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.2.0pre8 and later Module: mod_readme Notifica o usurio da data da ltima alterao 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] Padro: None Pode ser usado: server config, <VirtualHost>, <Anonymous> <Global> Compatibilidade: 1.1.6pl1 and later Utilizado para definir quais comandos sero guardados pelos logs e se em mais de um arquivo ou no. Classes vlidas: * NONE Nenhum comando * AUTH Comandos de autenticao (USER, PASS) * INFO Comandos de informao (PWD, SYST, etc)

* DIRS Comandos de diretrio (LIST, CWD, MKD, etc) * READ Leitura de arquivos (RETR) * WRITE Gravao de arquivos ou diretrios * MISC Comandos variados (SITE, etc) * ALL Todos os comandos (padro) Se o argumento format-nickname for fornecido, ExtendedLog usar o formato de log prdefinido (criado por LogFormat). Seno, o formato padro: "%h %l %u %t \"%r\" %s %b" utilizado. Por exemplo, para registrar todas as operaes de escrita e leitura para o arquivo /var/log/ftp.log (usando o formato padro): ExtendedLog /var/log/ftp.log read,write Veja mais em: LogFormat, TransferLog _________________________________________________________________

<Global> Sintaxe: <Global> Padro: None Pode ser usado: server config, <VirtualHost> Compatibilidade: 1.1.6 and later Este bloco usado para criar um conjunto de opes que sero aplicadas para toda a configurao do servidor e para todas as configuraes de virtualhosts. A maioria das opes podem ser utilizadas por este bloco, mas no todas. Vrios blocos <Global> podem ser criados. Em tempo de execuo, todos os blocos so fundidos e finalmente passados para a configurao do servidor. O bloco terminado com </Global> _________________________________________________________________ Group Sintaxe: Group groupid Padro: None Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 0.99.0 and later Configura qual grupo o servio ir ser executado. Veja mais em User para maiores detalhes. _________________________________________________________________ GroupOwner Sintaxe: GroupOwner groupid Padro: None

Pode ser usado: <Anonymous>, <Directory>, .ftpaccess Compatibilidade: 0.99.0 and later Especifica o grupo que ser dono de todos os novos diretrios e arquivos que sero criados. _________________________________________________________________ GroupPassword Sintaxe: GroupPassword groupid hashed-password Padro: 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 usurios utilize-se apenas da mesma. O parmetro hashed-password a senha (em modo texto) passada pela funo crypt(). Veja mais em: UserPassword _________________________________________________________________ HiddenStor Sintaxe: HiddenStor on|off Padro: HiddenStor off Pode ser usado: <Directory>, <Anonymous>, <VirtualHost>, <Global> Compatibilidade: 1.2.0pre5 and later Ao mandar arquivos ao servidor, os arquivos sero renomeados para .in.arquivo e aps o upload se completar, renomeado para arquivo. _________________________________________________________________

HideGroup Sintaxe: HideGroup groupid Padro: None Pode ser usado: <Directory>, <Anonymous> Compatibilidade: 0.99.0 and later Configura um bloco directory ou anonymous para esconder os diretrios e arquivos possudos pelo grupo especificado, a no ser que o usurio que esteja acessando seja do grupo. Os arquivos e diretrios apenas no so listados pelo comando ls, mas caso queira-se entrar no diretrio, apagar ou qualquer outro procedimento, possvel. Veja mais em: HideUser, HideNoAccess, IgnoreHidden _________________________________________________________________ HideNoAccess Sintaxe: HideNoAccess Padro: None Pode ser usado: <Directory>, <Anonymous> Compatibilidade: 0.99.0 and later

Configura os blocos para que sejam escondidas todas as entradas de diretrio quando for listar o seu contedo para o usurio que estiver acessando o servidor e o mesmo no ter acesso para o diretrio. _________________________________________________________________ HideUser Sintaxe: HideUser userid Padro: None Pode ser usado: <Directory>, <Anonymous> Compatibilidade: 0.99.0 and later Configura um bloco anonymous ou directory para esconder todas as entradas de diretrio possudas pelo usurio definido, a no ser que o usurio que esteja acessando seja o dono do diretrio. Os arquivos/diretrios s no so listados, mas caso queira-se apag-los, entrar no diretrio, ou qualquer outro procedimento, possvel. Veja mais em: HideGroup, HideNoAccess, IgnoreHidden _________________________________________________________________ IdentLookups Sintaxe: IdentLookups on|off Padro: 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 Padro: IgnoreHidden off Pode ser usado: <Limit> Compatibilidade: 0.99.0 and later Normalmente, arquivos/diretrios que so escondidos com as opes HideNoAccess, HideUser ou HideGroup aceitam/so utilizados por qualquer outro comando que no os de listagem de diretrios. Caso seja utilizado o IgnoreHidden, ser retornada a mensagem de "No such file or directory", como se realmente, o diretrio/arquivo no existisse. _________________________________________________________________

<Limit> Sintaxe: <Limit command|command-group [command2 ..]> Padro: None Pode ser usado: server config, <VirtualHost>, <Directory>, <Anonymous>, <Global>, .ftpaccess Compatibilidade: 0.99.0 and later

Este bloco de configurao utilizado para definir regras de acesso para o servidor. Pode-se usar dos seguintes comandos para permitir ou no a utilizao dos mesmos: * CWD (troca de diretrio de trabalho) Utilizado pelo cliente para acessar outros diretrios. Note que as limitaes para este comando s podem ser feitas caso se queira subir na rvore de diretrios existente. * MKD (criao de diretrio) Utilizado pelo cliente para a criao de diretrios. * RNFR (renomear de), RNTO (renomear para) mandado para o servidor como um par de comandos para renomear um arquivo/diretrio. * DELE (remover) Mandado pelo cliente para apagar um arquivo. * RMD (remover diretrio) Mandado pelo cliente para remover um diretrio. * RETR (recuperar) Transferir um arquivo do servidor para o cliente. * STOR (armazenar) Transferir um arquivo do cliente para o servidor. Alm desses, os prximos grupos de comandos so aceitvies : * READ * WRITE * DIRS Permisso para a "verificao de existncia" de arquivos no diretrio (comandos, ls, nlst) * ALL O mesmo que os trs acima juntos. Finally, a special command is allowed which can be used to control login access: Finalmente, para controlar o acesso dos usurios : * LOGIN Define se possvel ou no a conexo ao servidor. As restries determinadas no bloco <Limit> no devem ser confudidas com acesso a diretrios/arquivos. Veja mais em: IgnoreHidden _________________________________________________________________ Sintaxe: LDAPDoAuth on|off "auth-base-prefix" Padro: LDAPDoAuth off Pode ser usado: server config, <VirtualHost>, <Global> Compatibilidade: 1.2.0pre10 and later Ativa a autenticao LDAP. O segundo parmetro o prefixo LDAP a ser usado para a autenticao. _________________________________________________________________ Sintaxe: LDAPHomedirOnDemand on|off Padro: LDAPHomedirOnDemand off Pode ser usado: server config, <VirtualHost>, <Global> Compatibilidade: 1.2.0pre10 and later Ativa a criao de diretrios home para o usurio, caso no exista um

diretrio existente para a utilizao deste. O grupo e o usurio proprietrios do arquivo sero os mesmos com que o proftpd est sendo executado (verifique User e Group). _________________________________________________________________ Sintaxe: LDAPServer "hostname" Padro: LDAPServer "localhost" Pode ser usado: server config, <VirtualHost>, <Global> Compatibilidade: 1.2.0pre9 and later Permite que seja definido o nome da mquina que ser o servidor LDAP. _________________________________________________________________ LogFormat Sintaxe: LogFormat nickname "format-string" Padro: 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 %f %{FOOBAR}e %h %a %l %p %v %P %r %t %{format}t %T %s %u Bytes enviados por pedido Nome do arquivo enviado ou recebido Contedo da varivel de ambiente FOOBAR Nome da mquina remota Endereo ip da mquina remota Usurio remoto Nmero da porta do servidor Nome do servidor PID do processo Linha inteira de comando recebida pelo cliente Hora/date corrente Hora/date corrente formatada (no formato strftime(3)) Tempo, em segundos, para receber/enviar o arquivo cdigo de status do servidor id do usurio local

Veja mais em: ExtendedLog, TransferLog _________________________________________________________________

LsDefaultOptions Sintaxe: LsDefaultOptions "options string" Padro: None Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.1.6 and later Opes do comando ls que sero utilizadas por padro. LsDefaultOptions "-a" _________________________________________________________________ MaxClients

Sintaxe: MaxClients number|none message Padro: MaxClients none Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global> Compatibilidade: 0.99.0 and later Define o nmero mximo 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 nmero mximo de clientes conectados (%m)" _________________________________________________________________ MaxClientsPerHost Sintaxe: MaxClientsPerHost number|none message Padro: MaxClientsPerHost none Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global> Compatibilidade: 1.1.7 and later Define o nmero mximo de usurios por cliente/mquina. Funciona como o MaxClients. _________________________________________________________________ Order Sintaxe: Order allow,deny|deny,allow Padro: Order allow,deny Pode ser usado: <Limit> Compatibilidade: 0.99.0pl6 and later Configura a ordem em que as opes Allow e Deny sero checadas em um bloco <Limit>. Pelo fato de a opo Allow ser utilizada para permitir e a Deny para restringir, a ordem em que essas opes so examinadas podem alter significativamente as formas de segurana. Se a configurao padro (allow,deny) est sendo utilizada, ento os acessos "permitidos" so primeiramente verificados. Quando a opo Order utilizada com o parmetro "deny,allow", os acessos "restringidos" so verificados antes. Para maior esclarecimento, caso seja utilizado : Order allow,deny 1. Verifica as opes Allow. Se uma ou mais se aplicam ao caso, o resultado ser : ALLOW (ok, tem permisso de acesso) 2. Verifica as opes Deny. Se uma ou mais se aplicam ao caso, o resultado ser : DENY (no tem acesso) 3.O resultado final ser ALLOW (acesso permitido) Order deny,allow 1. Verifica as opes Deny. Se uma ou mais se aplicam ao caso, o resultado ser : DENY (no tem acesso) 2. Verifica as opes Allow. Se uma ou mais se aplicam ao caso, o resultado ser : ALLOW (ok, tem permisso de acesso)

3.O resultado final ser DENY (acesso negado) _________________________________________________________________

PersistentPasswd Sintaxe: PersistentPasswd on|off Padro: Platform dependent Pode ser usado: server config Compatibilidade: 1.1.5 and later Esta opo utilizada para permitir o acesso apenas para usurios que possuam seu nome e senha no arquivo /etc/passwd. No caso da utilizao de NIS ou NIS+, deve ser desabilitada esta opo. Note que no utilizado o arquivo /etc/shadow por motivos de segurana. _________________________________________________________________

Port Sintaxe: Port port-number Padro: 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 Padro: 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. _________________________________________________________________

RateReadFreeBytes Sintaxe: RateReadFreeBytes number of bytes Padro: 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 aps ultrapassar certa quantidade que ser estipular um limite. _________________________________________________________________

RateReadHardBPS Sintaxe: RateReadHardBPS on/off Padro: off Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>, <Global> Compatibilidade: 1.2.0 and later RateReadHardBPS fora o limite de RateReadBPS depois que a quantidade de RateReadFreeBytes for transferida. Isto significa que se o usurio tiver a banda enorme e tenha baixado a quantidade "livre" rapidamente, HardBPS parar a transferncia at que a mdia v para baixo do limite dado. Se a quantidade de FreeBytes for elevada e o ReadBPS baixo ento o usurio pode esperar perodos de tempo prolongados at que transferncia continue. _________________________________________________________________

RateWriteBPS Sintaxe: RateWriteBPS byte_per_sec-number Padro: 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 no significa nenhum limite de banda. (veja RateWriteFreeBytes para limitar a banda somente aps alguma quantidade de bytes uploaded). O lugar usual para esta diretriz orientadora est no bloco <VirtualHost> ou <Directory>. _________________________________________________________________

RateWriteFreeBytes Sintaxe: RateWriteFreeBytes number of bytes Padro: 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 opo voc pode definir a banda cheia para arquivos pequenos ao limitar grandes. _________________________________________________________________

RateWriteHardBPS Sintaxe: RateWriteHardBPS on/off Padro: off Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Directory>, <Global> Compatibilidade: 1.2.0 and later RateWriteHardBPS fora a banda ao valor dado de RateWriteBPS depois que a quantidade de RateWriteFreeBytes de arquivos foi transferida. Isto significa que se o usurio tiver a banda enorme e mandou a quantidade "livre" de arquivos rapidamente, HardBPS parar transferncia at que a mdia v para baixo ao limite dado. Se a quantidade de FreeBytes for elevada e o WriteBPS baixo ento o usurio pode esperar perodos de tempo prolongados at que transferncia continue. _________________________________________________________________

RequireValidShell Sintaxe: RequireValidShell on|off Padro: RequireValidShell on Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 0.99.0 and later Configura o acesso ao servidor "principal", virtual ou annimo para permitir ou negar o acesso de usurios que no tm listado no arquivo /etc/shells um "tipo de login" (shell) binrio. Por padro, o proftpd desabilita o acesso de usurios que no tem seu shell em /etc/shells. Se o arquivo no for encontrado, todos so considerados vlidos. _________________________________________________________________

RootLogin Sintaxe: RootLoginl on|off Padro: RootLogin off Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 1.1.5 and later Normalmente, o acesso do super usurio 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 usurio pode acessar o sevidor sem restrio alguma. _________________________________________________________________

ServerAdmin Sintaxe: ServerAdmin "admin-email-address" Padro: 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] Padro: 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 padro "[nome_da_mquina] FTP server ready". _________________________________________________________________

ServerName

Sintaxe: ServerName "name" Padro: 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 Padro: ServerType standalone Pode ser usado: server config Compatibilidade: 0.99.0 and later Configura o modo de funcionamento do servio proftpd. Pode-se assumir os valores : * inetd : o servio espera para ser utilizado. Primeiramente o pedido passado pelo inetd e ento depois para o proftpd. * standalone : o servio inicializa e fica "escutando" a porta aguardando por conexes. As novas conexes resultaro em processos filhos que sero dedicados para todas os pedidos do novo cliente. _________________________________________________________________

ShowDotFiles Sintaxe: ShowDotFiles on|off Padro:ShowDotFiles Off Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 0.99.0pl6 and later -- Deprecated Se habilitado esta configurao, arquivos iniciados por ponto "." iro ser listados ao digitar-se comandos para mostrar o contedo de diretrios. _________________________________________________________________

ShowSymlinks Sintaxe: ShowSymlinks on|off Padro: (versions previous to 1.1.5) Off for anonymous logins, On for

normal logins Padro: (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 ligaes simblicas sero ou no mostradas ao ser feita a listagem de diretrios. _________________________________________________________________

SystemLog Sintaxe: SystemLog filename|NONE Padro: None Pode ser usado: server config Compatibilidade: 1.1.6pl1 and later Define um arquivo para os registros das transmisses de ftp realizadas no servidor. Pode-se usar NONE para desabilitar qualquer maneira de registrar as transmisses de toda a configurao do servidor. _________________________________________________________________

TimeoutIdle Sintaxe: TimeoutIdle seconds Padro: TimeoutIdle 600 Pode ser usado: server config Compatibilidade: 0.99.0 and later Configura o nmero mximo de segundos que o proftpd permite que os usurios fiquem conectado sem receber nenhum dado no controle quanto na conexo de dados. Se algum dado recebido em qualquer conexo, o temporizador zerado. Configurando o TimeoutIdle para 0, ele desabilitado. Veja mais em: TimeoutLogin, TimeoutNoTransfer _________________________________________________________________

TimeoutLogin Sintaxe: TimeoutLogin seconds Padro: TimeoutLogin 300 Pode ser usado: server config Compatibilidade: 0.99.0 and later

Tempo mximo, em segundos, que o cliente deve fornecer seu usurio e senha. Veja mais em: TimeoutIdle, TimeoutNoTransfer _________________________________________________________________

TimeoutNoTransfer Sintaxe: TimeoutNoTransfer seconds Padro: TimeoutNoTransfer 600 Pode ser usado: server config Compatibilidade: 0.99.0 and later Configura o tempo mximo, em segundos, que o cliente no utiliza-se de nenhum comando que resulte e uma conexo 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 Padro: TimeoutStalled 0 Pode ser usado: server config Compatibilidade: 1.1.6 and later Configura o tempo mximo, em segundos, que a conexo fica paralisada (no se digita nada) mas continua ativa. Se definido para 0, no h limitao. _________________________________________________________________

TransferLog Sintaxe: TransferLog filename|NONE Padro: 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.

Veja mais em: ExtendedLog, LogFormat _________________________________________________________________

Umask Sintaxe: Umask file octal-mask [directory octal-mask] Padro: None Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Directory>, <Global>, .ftpaccess Compatibilidade: 0.99.0 and later Especifica a permisso que ser definida para qualquer novo arquivo ou diretrio. Devem ser utilizados nmeros octais no formato 0xxx. _________________________________________________________________

UseFtpUsers Sintaxe: UseFtpUsers on|off Padro: UseFtpUsers on Pode ser usado: server config, <Anonymous>, <VirtualHost>, <Global> Compatibilidade: 0.99.0 and later Servidores FTP legados, geralmente verificam um arquivo de autorizao (/etc/ftpusers) quando um cliente tenta se autenticar no servidor. Se o nome desse usurio estiver no arquivo /etc/ftpusers, o acesso via ftp para o mesmo ser negado. _________________________________________________________________

UseReverseDNS Sintaxe: UseReverseDNS on|off Padro: UseReverseDNS on Pode ser usado: server config Compatibilidade: 1.1.7 and later Devido ao fato de no ser possvel, para os usurios annimos e alguns convidados, a verificao do arquivo /etc/hosts ento utilizado o DNS. Caso ocorram problemas com o DNS, a conexo pode ficar paralisada (stall) at que seja retornado "timeout". Desabilitando esta opo impede-se a tentativa de conexo de dados com endereos IP reversos. _________________________________________________________________

User Sintaxe: User userid Padro: None Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 0.99.0 and later Especifica o usurio que o servio proftpd ir ser executado. Por padro, o proftpd executado como root que considerado indesejvel em todos mas o mais confiante em configurao de redes. _________________________________________________________________

UserDirRoot Sintaxe: UserDirRoot on|off Padro: off Pode ser usado: <Anonymous> Compatibilidade: 1.2.0pre2 and later Quando habilitado, caso o usurio teste efetuar conexo, seu diretrio raiz ser o sub-diretrio com nome do usurio 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 Padro: None Pode ser usado: server config, <VirtualHost>, <Anonymous>, <Global> Compatibilidade: 0.99.0 and later Habilita que certos usurios remotos, quando acessarem o servidor, sejam automaticamente definidos como usurios reais. Note que caso seja utilizado como apelido um usurio real do sistema, o mesmo no poder efetuar acesso, pois apenas ter direitos iguais ao usurio que estar definido. _________________________________________________________________

UserPassword Sintaxe: UserPassword userid hashed-password Padro: 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 funo crypt(). Ao invs de utilizar-se de grupos para acesso, atravs do UserAlias.

Veja mais em: GroupPassword _________________________________________________________________


<VirtualHost> Sintaxe: <VirtualHost address> Padro: None Pode ser usado: server config Compatibilidade: 0.99.0 and later

Este bloco utilizado para realizar uma configurao independente do servidor padro aplicadas a um servidor particular ou a um endereo IP. Frequentemente utilizado em conjunto com IP aliasing e dummy network a nvel de sistema afim de estabelecer um ou mais servidores virtuais que rodam na mesma mquina. O bloco termina com </VirtualHost>. possvel utilizar-se de portas diferentes para cada servidor, mas no vlido para quando o servidor do tipo inetd (ServerType inetd).
Quando inicializa-se o proftpd, as conexes virtuais so feitas de duas formas, dependendo da configurao de ServerType: * inetd: O servio verifica o endereo de destino e a porta da conexo requerida pelo inetd. Caso seja referente a algum dos servidores virtuais a conexo ser baseada nesta configurao. Caso no seja referente a nenhum dos servidores virtuais e nem ao principal informado ao cliente de que no h nenhum servidor disponvel. * standalone: Aps analisar o arquivo de configurao, o servio fica "escuta" de todas as portas configuradas, executando a quantidade necessria de processos filhos para prover conexes seguras para o servidor principal e para cada servidor virtual. _________________________________________________________________

=---------------------- WtmpLog =---------------------Sintaxe: WtmpLog on|off|NONE Padro: 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 usurios seja feito no arquivo de sistema wtmp (/var/log/wtmp), pois alguns comandos utilizam este arquivo (exemplo, last). =----------------------

Esta documentao 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 esto no arquivo tem acesso negado no ftp.

9.4. Como configurar o wuftp pelo linuxconf e no arquivo?


### Verso 7.0 ### A primeira coisa a fazer verificar se os pacotes necessrios esto 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 trs pacotes. Se algum deles no aparecer, ento ser necessrios 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 esto 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. Aps 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 no est comentada (tire o # da frente da linha, se este caracter existir). E tambm, 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 no esteja, basta descomentar e reinicializar o servio inet:


[root@localhost]# [root@localhost]# [root@localhost]# cds ./inet stop ./inet start

Pronto, seu servidor de ftp est em funcionamento, com as configuraes bsicas (padres). Agora preciso executar o linuxconf para configurar/personalizar o servidor de ftp:
[root@localhost]# linuxconf

V em: Configurao+Ambiente de rede+Wu-ftp - servidor de ftp+Configurao bsica Na aba "Diversos" existe as seguintes opes: "Email do administrador": endereo de correio eletrnico do administrador do sistema.

"Grupo de convidados": aqui voc pode informar o grupo do Linux ao qual o usurio anonymous pertencer. Se este campo no for preenchido, o grupo nobody ser utilizado. "Arquivo de banner": o contedo do arquivo de banner ser mostrado aos usurios no momento em que os mesmos acessarem com sucesso o seu servidor. "Mensagem de encerramento": se o arquivo informado existir, sempre que um usurio tentar acessar o servidor, seu contedo ser mostrado e o servidor ir fechar a conexo. "Permitir acesso annimo": aqui voc pode permitir ou proibir os acessos annimos (por isso o pacote anonftp-3.0-4cl deve estar instalado). Agora, na aba "Controles de acesso" existe trs classes de usurios: "Usurios reais": controle de acesso dos usurios reais do seu sistema. Esses so os usurios que tm contas em sua rede. "Usurios convidados": controle de acesso a usurios convidados. "Annimos": controle de acesso de usurios que se conectam anonimamente. As opes disponveis para cada grupo so idnticas. As opes disponveis so: "pode requisitar arquivos comprimidos": define se o usurio pode requisitar que seus arquivos sejam compactados. O WU-FTPD permite a compactao de arquivos durante a transmisso. "pode requisitar arquivos tar": especifica se o usurio tem permisso de solicitar o arquivamento de arquivos transmitidos com o tar. "pode usar chmod para arquivos":especifica se o usurio pode modificar as permisses de arquivos localizados no servidor FTP. "pode excluir arquivos": define se o usurio tem permisso de apagar arquivos localizados no servidor FTP. "pode atualizar arquivos": define se o usurio pode sobrescrever arquivos no servidor. "pode renomear arquivos": especifica se o usurio pode modificar o nome dos arquivos localizados no servidor. "registrar transferncias recebidas": especifica se o servidor deve manter um registro de arquivos recebidos. "registrar transferncias expedidas": especifica se o servidor deve manter um registro de arquivos enviados. Na aba "Vrios tempos de espera" pode-se deixar os tempos padres ou alterar conforme o necessrio. Clique em "Aceitar" e saia do linuxconf. Servidores Virtuais =================== Para a criao de domnios virtuais (Virtual hosts) necessrio que o seu servidor deve estar com seu nome cadastrado como vlido no servidor de nomes (DNS).
[root@localhost]# linuxconf

V em: Configurao -> Ambiente de rede -> Wu-ftp - servidor de ftp -> Mquinas virtuais Clique em adicionar. Nos campos: "Mquina virtual": digite o nome da mquina (virtual machine). "Caminho do arquivamento": diretrio 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. Caso seja necessria alguma outra configurao especfica que no exista no linuxconf, pode-se editar diretamente o arquivo de configurao. Primeiramente faa a checagem dos pacotes instalados e inet configurado e startado conforme indicado no incio deste documento. Depois disso, o seu servidor de ftp est em funcionamento, com as configuraes bsicas (padres). -------------------------------------------------------------------------Aqui vo as descries de algumas opes mais relevantes que so adicionadas ao arquivo /etc/ftpaccess (arquivo mais importante) que podem ser encontradas na documentao (man ftpaccess). Para maiores configuraes, deve-se utilizar-se dos seguintes arquivos : =---------------------########################################################################## ################## /etc/ftpaccess < -------- Configuraes gerais do servidor. Exemplo: # Define uma classe de usurios: reais, convidados e annimos
class all real,guest,anonymous class rmtusers guest,anonymous class local real =---------------------=---------------------* * *

# Para restringir o acesso de usurios reais, basta retirar o real da linha anterior # Para restringir o acesso de usurios convidados, basta retirar o guest da linha anterior # Para restringir o acesso de usurios annimos, basta retirar o anonymous da linha anterior # possvel restringir o acesso de tipos de usurios de um certo domnio : class renegados real !*.domnio.com.br # O "!" funciona como negao e renegados = o nome da classe # Para limitar o nmero mximo de usurios conectados simultaneamente, por # classe: # Onde < class > a classe na qual deseja-se limitar # < n > o nmero mximo de usurios # < arquivo_de_mensagem > a mensagem a ser exibida caso a conexo seja # negada limit < class > < n > Any < arquivo_de_mensagem > # Probe qualquer mquina do domnio conectiva.com.br de efetuar login e # exibe o arquivo /etc/wu-ftpd/access_deny_msg deny *.conectiva.com.br /etc/wuftpd/access_deny_msg # Probe que as mquinas/domnios 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/wuftpd/access_deny_msg # Definio de grupos de convidados, mesmo sendo um usurio real, caso o # grupo do mesmo esteja na lista de guestgroup a sesso de ftp dele ser

# automaticamente passada para uma sesso annima guestgroup users # Define um usurio convidado. No /etc/passwd deve estar definido o seu # diretrio root e tambm o $HOME deste usurio ao utilizar o ftp. Esses # diretrios devem ser separados por "/./", por exemplo: # convidado:senha:id:gid:Conta de FTP - convidado:/ftp/./incoming:/etc/ftponly guestuser convidado # Definio de grupos/usurios reais, por exemplo, caso se tenha utiizado a # opo guestgroup * mas ainda deseja-se que os usurios do grupo suporte # queiram acessar como reais: realgroup suporte realuser usuario # Toda vez que um usurio 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 servio espera pela vinda de uma conexo PASV timeout accept 120 # Segundos que o servio espera para realizar a conexo de dados com a porta timeout connect 120 # Segundos que o servio espera por atividades na conexo de dados timeout data 1200 # Segundos que o servio espera pelo prximo comando timeout idle 900 # Segundos que o servio espera pelo prximo comando (valor mximo, no pode # ultrapassar). Caso o timeout idle ultrapasse o valor do maxidle, sempre # vlido o maxidle timeout maxidle 1200 # Segundos que o servio disponibiliza para toda a conversao RFC931: # http://andrew2.andrew.cmu.edu/rfc/rfc931.html timeout RFC931 10 # Quantidade de arquivos mxima que um usurio da classe <class > pode # transferir, onde < tipo > pode ser um dos seguintes: # [raw] total: total de arquivos (entrada + sada) # [raw] out: sada # [raw] in: entrada # No caso de especificar raw, ser considerado o trfego total, e no # apenas os arquivos transferidos file-limit < tipo > < valor > < class > Ex: file-limit total 10 all Especifica um mximo de 10 arquivos transferidos para os usurios da classe "all". file-limit raw total 15 all Especifica um mximo de 15 arquivos transferidos (total, includos os arquivos de avisos do sistema) para os usurios da classe "all" # Quantidade de bytes mxima que um usurio da classe < class > pode # transferir, onde < tipo > pode ser um dos seguintes: # [raw] total total de arquivos (entrada + sada) # [raw] out sada # [raw] in entrada # No caso de especificar raw, ser considerado o trfego total, e no # apenas os arquivos transferidos data-limit < tipo > < valor > < class >

# Tempo mximo (em minutos) da conexo para usurios convidados, annimos e ou os dois: # limit-time guest 60 # limit-time anonymous 60 # limit-time * 60 # Por esta opo, usurios reais no possuem tempo mximo de conexo limit-time guest 10 # No permite a transferncia de arquivos. # Sintaxe: noretrieve [absolute|relative] [class=< classname >] ... [-] < filename > < filename >noretrieve class=rmtusers /home/*/.bashrc # Aps 3 tentativas de acesso sem sucesso, guardado no log informaes de # que aps 3 tentativas no foi possvel o acesso e terminada a conexo loginfails 3 # Define o modo da mensagem de "boas-vindas" ao se conectar: # full: exibe o nome do servidor e qual servio utiliza # (proftpd/wu-ftpd/etc) # brief: exibe apenas o nome da mquina # terse: exibe apenas a mensagem: "FTP server ready" greeting full # Define uma mensagem padro de conexo - NOTE: caso seja definido o tipo de # mensagem (acima), o texto abaixo no ir aparecer greeting text Servidor de FTP # Logo aps entrar com usurio e senha (com sucesso) ser mostrado o # contedo do arquivo. banner /etc/ftp/banner # Define o nome padro do servidor ftp - pode ser acessado atravs de %L, # caso seja um servidor virtual, este valor no utilizado hostname lilica # Define o email do administrador do servidor - pode ser acessado por %E email administrador@servidorftp.com.br # Exibe o contedo do arquivo < path > quando o usurio acessar o servidor # < LOGIN > ou quando entrar em algum diretrio < 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 espao livre na partio (kbytes) [no suportado em todos] # %C diretrio local (equivale ao pwd) # %E email do administrador # %R nome da mquina que est acessando o servidor # %L nome do servidor # %u nome do usurio determinado via autenticao RFC931 # %U nome do usurio que est logado (que foi digitado) # %M nmero mximo de usurios permitidos nesta classe # %N nmero de usurios correntes desta classe # %B nmero absoluto em blocos de disco alocados # %b limite preferido em blocos de disco # %Q Contagem de bloco corrente # %I nmero mximo de inodes alocados (+1) # %i limite de inode preferido # %q nmero corrente de inodes alocados

# %H limite de tempo para uso excessivo de disco # %h limite de tempo para arquivos excessivos # readme < path > {< when > {< class >}} # Exibe uma indicao de que o usurio deve verificar um certo arquivo # < path >readme /home/ftp/README LOGIN all # Guarda o log dos comandos dos usurios, dividido por tipos, real, guest, # anonymous e separados por vrgulas log commands guest,anonymous # Guarda o log das transferncias de arquivos de usurios annimos, # convidados e/ou reais. # inbound = arquivos enviados ao servidor # oubound = arquivos baixados do servidor log transfers real,anonymous,guest inbound # Guarda o log das violaes das regras de segurana para usurios reais, # annimos ou convidados. log security anonymous,guest # Redireciona os avisos de transferncias de arquivos para o syslog, sem isso, # ir para xferlog log syslog # Redireciona os avisos de transferncias de arquivos para o syslog e # xferlog log syslog+xferlog # Permite utilizar-se de apelidos para diretrios alias atualizacoes /pub/conectiva/atualizacoes # Isto define um diretrio de busca que seja usado ao mudar diretrios. cdpath /pub/conectiva/atualizacoes cdpath /pub/conectiva/beta # O sistema ir verificar todo o tempo se o servidor ser desligado, caso # sim, o usurio que estiver acessando o servidor ser avisado, novos # acessos no sero permitidos antes de certo tempo (definido no arquivo de # configurao) de o servidor ser desligado. shutdown /etc/ftp_shutdown # Parmetros para o arquivo: # < ano > < ms > < dia > < hora < minuto > <hora1 > < hora2 > # < texto > # onde # < ano > qualquer ano > 1970 # < ms > 0-11 # < hora > 0-23 # < minuto > 0-59 # < hora1 > e < hora2 > no formato HHMM, definem a hora em que os usurios sero # avisados do desligamento do servidor e quando ser realizado o # desligamento automtico de usurios. # < texto > Segue o mesmo padro da tag "message" com as opes : # %s hora em que o servidor ser desligado # %r hora em que conexes no sero mais permitidas # %d hora em que as conexes sero desligadas # Para a criao de domnios virtuais (Virtual hosts) necessrio que o seu # servidor deve estar com seu nome cadastrado como vlido 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

# Define os usurios que podem ou no 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 usurios annimos em domnios # virtuais, com a opo a seguir, retirada esta permisso. virtual ftp.suporte private # Define os usurios que podem ou no ter acesso ao servidor de ftp. defaultserver allow usuario defaultserver deny * # Geralmente, permitido o acesso de usurios annimos em servidores ftp, # com a opo a seguir, retirada esta permisso. defaultserver private # passive address < externalip > < cidr > # Permite que certos intervalos de ip's acessem um certo servidor ao invs # do padro. 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 notificao de "uploads". So aceitos vrios servidores, onde # o servio de ftp ir mandar mensagens at que um dos servidores definidos # aceite a mensagem. mailserver mail.conectiva.com.br mailserver mail.domnio.com.br mailserver www.emails.com # Define o email de quem ir receber informaes sobre os "uploads" # annimos. Pode-se definir mais de um email, todos sero notificados. Caso # no seja definido nenhum email, no haver avisos. incmail usuario@conectiva.com.br incmail usuario@hotmail.com # Define o email de quem ir receber informaes sobre os "uploads" annimos # do domnio virtual. Caso no seja definido, sero enviadas notificaes # para o email geral. virtual ftp.suporte incmail usuario@ftp.suporte # Define o email de quem ir receber informaes sobre os "uploads" # annimos no servidor padro (excluindo os virtuais). defaultserver incmail usuario@conectiva.com.br # Define o email do usurio que enviar a mensagem mailfrom anonftp@conectiva.com.br # Define o email do usurio que enviar a mensagem para o servidor virtual virtual ftp.suporte mailfrom anonftp@ftp.suporte # Define o email geral do usurio que enviar a mensagem (apenas do servidor # padro) defaultserver mailfrom anonftp@conectiva.com.br # Permite ou no executar a especificada funo. Por padro, todas so # permitidas. Pode-se utilizar classes de usurios, 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 nvel de checagem das senhas do usurio annimo. # passwd-check < none|trivial|rfc822 > (< enforce|warn >) # none, no realiza checagem alguma # trivial, deve haver "@"

# rfc822, a senha deve ser compatvel com a regra rfc822: # http://www.faqs.org/rfcs/rfc822.html # enforce, caso a senha no seja aceita, no realiza o acesso # warn, caso a senha no seja aceita, apenas avisa o usurio e ento acessa passwd-check rfc822 enforce # Define as senhas que no sero aceitas (depender da configurao acima se # o usurio poder ou no acessar o servidor) deny-email usuario@conectiva.com.br denyemail info@conectiva.com.br deny-email suporte@conectiva.com.br # Define se um diretrio tem ou no permisso 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 diretrio raiz do usurio, e /incoming e # /incoming/gifs so diretrios contidos dentro da raiz. # nodirs no permite a criao de diretrios. # No permitir upload upload /var/ftp * no # Permitir upload no diretrio incoming upload /var/ftp /incoming yes * * 0666 # Permitir upload e criao de subdiretrios no diretrio incoming/gifs upload /var/ftp /incoming/gifs yes jlc guest 0600 nodirs # Define a taxa mxima de transferncia para determinados arquivos, caso # utilize-se "*" vlido como todos os arquivos do diretrio definido throughput /e/ftp * * oo - * # Taxa de transferncia mxima para todos os arquivos localizados no # diretrio /e/ftp throughput /e/ftp /sw* * 1024 0.5 * # Taxa de transferncia mxima = 1024 bps para todos os arquivos localizados # em /e/ftp/sw throughput /e/ftp /sw* README oo - * # Taxa de transferncia mxima para arquivos chamados README throughput /e/ftp /sw* * oo - *.foo.com # Taxa de transferncia mxima para usurios do domnio foo.com # Os caraceteres "oo" significam que no h restrio e "-","0.5" so os # fatores por qual ser multiplicado o valor de bps definido para cada nova # transferncia realizada no diretrio indicado # Define o diretrio raiz (/) de usurios annimos, onde real e rmtusers so # classes de usurios anonymous-root /home/ftp/uploads real anonymous-root /home/ftp/pub rmtusers # Define o diretrio raiz de usurios convidados, pode ser passado o # parmetro de um intervalo de id's dos usurios guest-root /home/users # Define para todos os usurios o diretrio raiz = /home/users guest-root /home/staff %100999 usuario # Define para os usurios com id >= 100 e <= 900 e o usurio usuario a raiz # = /home/staff guest-root /home/users/barea/ftp barea # Define para o usurio barea o diretrio raiz = /home/users/barea # Permite ou no o acesso de usurios atravs de seus id's, gid's ou nome # (usurio e grupo) deny-gid %-99 %65535 deny-uid %-99 %65535 allow-gid ftp allow-uid ftp

# Permite ou no o acesso de determinados usurios alm de seu home restricted-uid < usuario >>unrestricted-gid < usuario > # Onde < usuario> pode ser * (todos) -----------------------------------------------------------------------------------------/etc/ftphosts < ----- Arquivo que contm regras para o login de usurios/mquinas # Example host access file # Everything after a '#' is treated as comment, # empty lines are ignored # Habilita o login das mquinas addrglob com apenas o usurio X # allow < username > < addrglob > [< addrglob > ...] allow gonzalez 192.168.255.0:255.255.255.0 # Desabilita o login de qualquer mquina que utilize-se do usurio X # deny < username > < addrglob > [< addrglob > ...] deny luciano 192.168.255.0:255.255.255.0 -----------------------------------------------------------------------------------------/etc/ftpusers < -------- Arquivo que contm o nome dos usurios que no 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 necessrios esto 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 trs pacotes. Se algum deles no aparecer, ento ser necessrios 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 esto 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. Aps 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 no est comentada (tire o # da frente da linha, se este caracter existir). E tambm, 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 no esteja, basta descomentar e reinicializar o servio inet:
[root@localhost]# cds [root@localhost]# ./inet stop [root@localhost]# ./inet start

Pronto, seu servidor de ftp est em funcionamento, com as configuraes bsicas (padres). 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 Configurao bsica

Na aba "Diversos" existe as seguintes opes: "Email do administrador": endereo de correio eletrnico do administrador do sistema. "Grupo de convidados": aqui voc pode informar o grupo do Linux ao qual o usurio anonymous pertencer. Se este campo no for preenchido, o grupo nobody ser utilizado. "Arquivo de banner": o contedo do arquivo de banner ser mostrado aos usurios no momento em que os mesmos acessarem com sucesso o seu servidor. "Mensagem de encerramento": se o arquivo informado existir, sempre que um usurio tentar acessar o servidor, seu contedo ser mostrado e o servidor ir fechar a conexo. "Permitir acesso annimo": aqui voc pode permitir ou proibir os acessos annimos (por isso o pacote anonftp-3.0-4cl deve estar instalado). Agora, na aba "Controles de acesso" existe trs classes de usurios: "Usurios reais": controle de acesso dos usurios reais do seu sistema. Esses so os usurios que tm contas em sua rede. "Usurios convidados": controle de acesso a usurios convidados. "Annimos": controle de acesso de usurios que se conectam anonimamente. As opes disponveis para cada grupo so idnticas. As opes disponveis so: "pode requisitar arquivos comprimidos": define se o usurio pode requisitar que seus arquivos sejam compactados. O WU-FTPD permite a compactao de arquivos durante a transmisso.

"pode requisitar arquivos tar": especifica se o usurio tem permisso de solicitar o arquivamento de arquivos transmitidos com o tar. "pode usar chmod para arquivos":especifica se o usurio pode modificar as permisses de arquivos localizados no servidor FTP. "pode excluir arquivos": define se o usurio tem permisso de apagar arquivos localizados no servidor FTP. "pode atualizar arquivos": define se o usurio pode sobrescrever arquivos no servidor. "pode renomear arquivos": especifica se o usurio pode modificar o nome dos arquivos localizados no servidor. "registrar transferncias recebidas": especifica se o servidor deve manter um registro de arquivos recebidos. "registrar transferncias expedidas": especifica se o servidor deve manter um registro de arquivos enviados. Na aba "Vrios tempos de espera" pode-se deixar os tempos padres ou alterar conforme o necessrio. Clique em "Aceitar" e saia do linuxconf. Servidores Virtuais Para a criao de domnios virtuais (Virtual hosts) necessrio que o seu servidor deve estar com seu nome cadastrado como vlido no servidor de nomes (DNS).
[root@localhost]# linuxconf

V em:
Ambiente de rede Wu-ftp - servidor de ftp Mquinas virtuais

Clique em adicionar. Nos campos: "Mquina virtual": digite o nome da mquina (virtual machine). "Caminho do arquivamento": diretrio 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.

Captulo 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 estaes e demais servidores enxerguem-no como servidor Netware. J quanto a administrao do servidor (contas de usurios, permisses etc.), muita coisa tem de ser feita pelo Linux, pois

as ferramentas de administrao do Netware (SYSCON, FCONSOLE...) no so eficazes com o Mars. Afinal, um emulador, no um sistema operacional. 1. Algumas noes 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 sesso feito por outros protocolos empilhados sobre dele. No caso dos servios Netware, o protocolo de sesso o NCP. Em mquinas que usam TCP/IP, h necessidade de especificar o nmero IP de cada uma delas. J no IPX, isso no precisa ser feito. O "nmero IPX" de cada mquina o prprio nmero Ethernet de 48 bits da placa de rede. Tambm no suportado, no IPX, o conceito de netmask. O nmero de rede um campo separado, de 32 bits, do cabealho do pacote IPX. Cada rede local deve ter um nmero unvoco. Desta forma, o protocolo IPX rotevel, tal como o TCP/IP. Adicionalmente, servidores Netware nativos e tambm o Mars desempenham automaticamente a funo 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 dinmica. Tambm possvel especificar rotas estticas para IPX, mas dificilmente isso necessrio (um possvel uso de rota esttica a interligao de redes via WAN). O protocolo de auto-descoberta de rotas denominado RIP, e seu modo de operao anlogo ao protocolo homnimo RIP para TCP/IP. O kernel do Linux permite criar uma rede interna no prprio kernel. Se voc for usar o Mars-NWE, no use esse recurso. O prprio Mars encarrega-se de criar a rede interna e no vai funcionar se o kernel j o tiver feito; Os utilitrios ipx_configure e ipx_interface configuram interfaces de rede para funcionarem com IPX. Eles so teis quando voc precisa montar volumes Netware remotos (com ncpmount) e NO estiver usando o Mars no computador-cliente. Ainda, o ipx_interface permitir que voc atribua a interface primria a uma placa de rede (como j foi dito, uma das interfaces tem de ser a primria). Alias, voc ser obrigado a configurar a primeira interface de rede como primria se utilizar o ipx_interface; Como o Mars cria sua prpria rede interna e atribui a rede primria a ela, est claro que ele no funcionar se as interfaces IPX tiverem sido previamente configuradas com o ipx_interface. Assim, NO 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 configurao, o que elimina qualquer necessidade residual de utilizar o ipx_interface. 2. Autenticao de usurios Como foi visto no arquivo de configurao, a cada usurio Netware corresponde um usurio Unix, que deve estar cadastrado no arquivo /etc/passwd. Porm, a autenticao da senha no feita com base na senha do /etc/passwd ou /etc/shadow. A primeira senha do usurio pode ser colocada no prprio arquivo /etc/nwserv.conf. Quando o Mars l o arquivo de configurao e detecta que h novos usurios no arquivo (ou seja, que ainda no esto cadastrados no bindery) ele cadastra-os como objetos de bindery, com as senhas especificadas. A especificao de senhas para usurios no arquivo /etc/nwserv.conf no obrigatria nem recomendada. O ideal cadastrar o usurio sem senha, atribuir uma senha qualquer com o

passwd (DOS) ou nwpasswd (utilitrios Netware para Linux), e deixar o prprio usurio redefinir sua senha a gosto. Os usurios UNIX devem ser cadastrados em grupos condizentes com os grupos de trabalho. Por exemplo, se voc tem usurios do setor de recursos humanos, contas a receber e cho de fbrica, e cada um desses grupos deve ter acesso restrito aos respectivos arquivos, devem ser criados trs grupos UNIX (o script groupadd pode ser til), e os usurios devem ser membros desses grupos. Se determinados usurios pertencem a mais de um grupo de trabalho, isso no constitui problema. No Unix, cada usurio pertence a um nico grupo primrio, mas fcil atribuir grupos secundrios ao usurio, atravs de interveno manual do arquivo /etc/group. 3. Bindery Desde a verso 0.99pl9, o Mars-NWE capaz de armazenar objetos de bindery. Programas que dependam dessa capacidade funcionaro todos. Porm, o Mars no honra objetos de configurao do prprio servidor, tais como trustees e limitaes de horrio. Voc pode at criar trustess com o SYSCON, eles ficaro corretamente armazenados, mas no tero o efeito prtico. As permisses de usurios devem ser controladas pelo arquivo de configurao e pelo prprio Linux. Os nicos objetos de bindery que o Mars honra so as senhas dos usurios, que podem ento ser configuradas pelo SYSCON. Assim, cada usurio pode configurar sua senha sem interveno do administrador do sistema. Os objetos de bindery, por padro, ficam armazenados no diretrio /var/mars_nwe/*, portanto importante fazer cpia de segurana desses diretrios, alm dos diretrios dos volumes. 4. Login scripts Os login scripts ficam armazenados no diretrio SYS:MAIL\, tal como num servidor Netware. Alm disso, voc ser capaz de criar/alterar esses arquivos via SYSCON. s vezes o SYSCON no consegue gravar o login script; ele grava um arquivo LOGIN.BAK no diretrio do usurio e no consegue renome-lo para LOGIN. Geralmente isso problema de permisso em diretrios ou arquivos velhos. Renomeie manualmente no Linux e atribua as permisses do usurio. certo que isso no 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 diretrio como /home/netware/sys ou coisa parecida. Muito bem, interessante que, uma vez feita a cpia, voc apague os subdiretrios do diretrio SYS:MAIL. Se voc no o fizer, ali ficaro os diretrios antigos, criados pelo servidor Netware. E certo que os nmeros de usurio atribudos pelo Netware (que so justamente os nomes dos diretrios) no vo bater com os nmeros criados pelo Mars; e voc ter de ficar descobrindo '"quem quem" e atribuir as permisses corretas com chown e chmod etc... Apague tudo; assim que voc iniciar o Mars, todos os diretrios sero criados automaticamente. S ento preencha os login scripts dos usurios. 5. Permisses dos usurios Como os trustees no so honrados pelo Mars, necessrio estabelecer as permisses no prprio Linux atravs dos comandos chmod, chgrp e chown. J vimos que o arquivo de configurao do Mars estabelece uma relao entre usurios Netware e usurios UNIX. Os comandos citados acima trabalham apenas com usurios

UNIX, portanto as permisses tem de ser "pensadas" em termos de usurios UNIX. ( certo que se os usurios UNIX tiverem os mesmos nomes dos usurios Netware, fica tudo mais fcil ...) O usurio Unix associado ao "supervisor" pode ser o root, ou um usurio comum. Se for um usurio comum, ele deve ter um grupo primrio s seu, e tambm deve participar de todos os grupos onde haja usurios Unix associados com usurios Netware. Isso garante que o supervisor possa de fato ler e gravar qualquer arquivo dos volumes exportados. melhor associar o supervisor a um usurio Unix comum. Basicamente, os seguintes pontos tem de ser observados:
Os diretrios e arquivos SYS:SYSTEM, SYS:PUBLIC e SYS:LOGIN devem ser possudos por root:root (ou outro usurio:grupo que foi especificado como sendo supervisor), e com permisses de leitura para todo mundo; O diretrio SYS:MAIL deve ser possudo por root:root mas com permisso de leitura a todo mundo; Os demais diretrios e arquivos devem ser possudos pelos respectivos usurios:grupos; As permisses de todos os diretrios devem ser: 2775 se legveis a todos os usurios; e 2770 se legveis apenas aos usurios do grupo. O dgito "2" aciona o bit SGID do diretrio; assim quaisquer arquivos e diretrios novos criados dentro do diretrio sero possudos pelo usurios que os criaram, mas o grupo ser sempre o mesmo do diretrio-me. Assim, os demais usurios do grupo tambm tero acesso garantido aos novos arquivos e diretrios. Note que isso complementa a configurao das mscaras de permisso do arquivo /etc/nwserv.conf; O diretrio-raiz de cada volume (como no arquivo-exemplo, o diretrio /home/netware/sys) deve ter permisses 775 e ser possudo por root:root (ou outro usurio:grupo que foi especificado como sendo supervisor), salvo se os usurios tenham permisso de criar arquivos/diretrios no diretrio-raiz do volume, caso em que as permisses devem ser 777; Os diretrios MAIL/ devem ser possudos pelos respectivos usurios e grupos primrios. Os arquivos LOGIN podem ser possudos pelo usurio ou ainda possudos pelo root (neste ltimo caso o arquivo est protegido contra tentativas de alterao que partam do prprio usurio). Note apenas que o arquivo e o diretrio precisam ser ao menos legveis pelo usurio, bem como o diretrio MAIL; Ainda com referncia aos subdiretrios de SYS:MAIL, se voc deixou o Mars cri-los sozinho, as permisses j estaro todas corretas; Diretrios que determinado usurio no tenha permisso de leitura lhe aparecero como vazios; Se por exemplo, um usurio precisa ter acesso ao arquivo VOLUME:DIR1\DIR2\DIR3\DIR4\DIR5\ARQUIVO, ele precisar ter, pelo menos, acesso de leitura ao diretrio-raiz de VOLUME, bem como a todos os diretrios do caminho. Se no puder ler o diretrio, o usurio no enxergar subdiretrios e arquivos.

Uma maneira ainda mais "limpa" de configurar permisses aos grupos separar os dados em diversos volumes. Cada usurio tem acesso restrito ao(s) volume(s) do(s) grupo(s) a que pertence. 6. Diretrio SYS:LOGIN Esse diretrio acessvel para leitura toda e qualquer conexo, identificada ou annima. O fim dessa permisso permitir o boot remoto e o processo de login. 7. Utilitrios DOS Muitas operaes (cadastro de usurios, senhas etc.) podem ser feitas atravs do prprio Linux com os utilitrios /usr/bin/nw*. Mas certo que voc precisar de um ou outro utilitrio da Novell (IPX20, SYSCON, LOGIN, SLIST etc.) Existem umas poucas verses gratuitas de alguns desses utilitrios (LOGIN e SLIST), o que insuficiente para uma rede com estaes DOS. Ser difcil constituir uma rede Novell-like totalmente livre de software comercial. Se voc tem um Netware licenciado, simplesmente copie os diretrios SYS:PUBLIC e SYS:SYSTEM para o servidor Mars e desative o servidor Netware. Como existe uma tendncia forte de as estaes DOS desaparecerem em favor das estaes Windows 95/98, e estas ltimas incluem um cliente para redes Netware que no depende de nenhum utilitrio DOS, voc ser capaz de constituir uma rede totalmente livre de software comercial Netware se todas as suas estaes forem Windows. Se suas estaes forem todas Linux, tambm no haver necessidade dos utilitrios DOS. (Se bem que o prprio Mars-NWE no tem muita razo 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 rpido (10-15%) que o Netware 3.12 para operaes comuns em arquivos (leitura e gravao de pequenos trechos etc.). Porm, o Mars 50% mais lento em operaes de leitura/escrita de grandes trechos, como por exemplo um COPY do DOS. Provavelmente devido ao "Packed Burst". Um outro possvel problema que o Mars no vai carregar/executar suas NLMs preferidas. Uma extenso eventualmente encontrada em servidores Netware 3 o BTrieve. J existe BTrieve para Linux, porm um produto comercial, e, principalmente, o processo de substituio 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 estaes e demais servidores enxerguem-no como servidor Netware. J quanto a administrao do servidor (contas de usurios, permisses etc.), muita coisa tem de ser feita pelo Linux, pois as ferramentas de administrao do Netware (SYSCON, FCONSOLE...) no so eficazes com o Mars. Afinal, um emulador, no 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

[root@localhost]# rpm -ivh mars-nwe-*.i386.rpm [root@localhost]# rpm -ivh ncpfs*.i386.rpm [root@localhost]# rpm -ivh ipxutils*

Para fazer as configuraes do mars, edite o arquivo /etc/nwserv.conf;


[root@localhost]# mcedit /etc/nwserv.conf

2. Arquivo de configurao comentado:


#----------------------------------------------------------------# Incio do arquivo do mars # /etc/nwserv.conf # comentrios PRECEDEM os comandos # # # # # # # # # # # # # # # # # # # # # # 1 1 Volumes do servidor. Os parmetros so especificados na seguinte ordem: NOME DO VOLUME DIRETRIO UNIX (real) DO VOLUME FLAGS. Os flags interessantes so: k: permite o uso de nomes em letras minsculas no Linux; sero convertidos automaticamente para maisculas para estaes DOS.A falta desse flag implica em que os nomes TENHAM de ser mausculos tambm no Linux para que as estaes os enxerguem. o: Especifica que todos os subdiretrios e arquivos do diretrio Unix esto contidos num mesmo sistema de arquivos. Isso permite ao Mars otimizar certas operaes em determinados Unixes. No use esse flag se, por exemplo, voc mapear a raiz do Unix num volume Netware. UMASK PARA DIRETRIOS: os diretrios sero criados com essa mscara de permisso. UMASK PARA ARQUIVOS: os arquivos sero criados com essas permisses. A presena do volume SYS obrigatria. SYS SUPORTE /home/netware/sys /home/netware/suporte ko ko 775 775 775 775

# Nome do servidor Netware 2 suporte # # # # # # 3 # # # # # # Rede interna. A opo "auto" faz com que o Mars escolha automaticamente o nmero de rede interna - ele simplesmente utiliza o nmero IP da interface de rede. Isso funciona bem pois (espera-se que) dentro de uma instalao o nmero IP de cada interface nico, e assim tambm ser unvoco o nmero da rede interna. auto Placas de rede. Os parmetros so: nmero da rede, interface de rede, padro 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 parmetro usado para fins de roteamento quando h links redundantes; use sempre 1 para placas de rede.

# # # # # # # # # 4 # # # # 5 # # # # # # # # # 6 # # # # # # # # # # # 7 # # # # # # # # # # # # # # #

Assim como nos servidores Netware, cada rede tem de ter um nmero unvoco. NOTA I: O padro de empacotamento tem de ser condizente com as estaes. Procure usar o que j est em uso na sua rede atual. Se for comear a usar IPX agora, os empacotamentos apropriados so 802.2 e ethernet_ii. O boot remoto Netware exige 802.3; NOTA II: Todas as interfaces de rede TEM DE TER NMEROS IP, mesmo que voc no use comunicao TCP/IP nela(s). 0x0 * AUTO 1

Se esta opo 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 opo. 0x0 Verso do Netware que o Mars alega servir. Alguns softwares s vo funcionar se o Mars alegar ser um Netware 3.12. Os parmetros so os seguintes: VERSO: 0=2.15, 1=3.11, 2=3.12 PACKET BURST: 0x0=desabilitado, 0x1 se habilitado. Note que, para usar o Packet Burst, a verso alegada tem de ser 3.12, e o Mars tem de ser recompilado com o Packet Burst habilitado no config.h. Note tambm que o Packet Burst ainda recurso EXPERIMENTAL do Mars. 1 0x0

Operao das senhas de clientes DOS 0: forar encriptao de todas as senhas trafegadas (padro) 1: idem 0 porm aceita a verso no-encriptada da rotina de mudana de senha. 7: permite senhas no encriptadas porm no permite senhas vazias. 8: permite senhas no encriptadas bem como senhas vazias 9: permite apenas senhas no encriptadas (no funciona com clientes OS/2) Use o padro. 0 Segurana de arquivos ao login As opes podem ser *somadas*, se mais de uma for necessria. 0: Clientes em processo de boot remoto ou login podem acessar apenas o diretrio SYS:LOGIN (padro e recomendvel) 1: Permitir acesso a outros arquivos/diretrios na fase de login, sujeito porm s permisses Linux 2: Modo "extico" de compatibilidade: se o cliente tenta abrir um arquivo para escrita porm o arquivo apenas-leitura, permite a abertura, porm em modo somente-leitura (no falha, como seria normal) 4: Aceitar renomear diretrios atravs chamada NCP "renomear arquivo", que normalmente s funcionaria com arquivos 8: Ignorar restries de estao/tempo no caso do supervisor (isso no dia que o Mars honrar os objetos de bindery!)

# 16: Permite apagar um arquivo mesmo que esteja sendo usado # por outro usurio # 32: [verificar o que significa e traduzir] # 64: Limitar o espao livre alegado em 2GB. Alguns clientes # (DOS antigo) precisam disso. 8 0x0

# Aqui define como os diretrios so criados # # # # # # 10 11 # # # # # # # # # 12 # 3 # # # # # # # # # # # # # # # # # # # # # # # # # # Nmero do usurio e do grupo do "hspede". essa a permisso que o Mars dar a clientes em fase de boot remoto e login, portanto verifique se o usurio UNIX correspondente tem permisses de leitura nos arquivos essenciais (SYS:LOGIN\LOGIN.EXE e eventualmente SYS:LOGIN\NET$DOS.SYS) O mais comumente usado 99:99 (nobody:nobody) 99 99 Usurios com poder de supervisor. Os parmetros vm na seguinte ordem: nome Netware, usurio Unix correspondente (para efeito de permisses) e senha. Normalmente utilizado o usurio root, mas voc pode utilizar um usurio Unix comum, desde que este tenha permisses suficientes. interessante dar um chmod 770 no arquivo /etc/nwserv.conf, para que ningum possa descobrir a senha de supervisor consultando este arquivo! SUPERVISOR root banana Usurios comuns. Note que os usurios novos tem de ser cadastrados 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 parmetro, ou ento cadastradas via SYSCON pelo supervisor. A ltima opo certamente a mais "limpa" pois, uma vez que receba uma senha provisria, o usurio pode escolher por si a senha definitiva. A ordem dos parmetros : usurio Netware, usurio Unix e senha (opcional). Note que perfeitamente lcito usar um mesmo usurio Unix para diversos usurios Netware (fica inclusive mais fcil implementar a segurana). Se voc optar por cadastrar todos os usurios no Linux, crie grupos e atribua cada usurio ao grupo de trabalho correto. Se um usurio participar de mais um grupo, adicione o usurio no(s) grupo(s) a que ele deve ter acesso por meio de interveno manual no /etc/group. Por exemplo, o usurio LALA tem de ter permisses em todos os grupos. Ele tem seu prprio usurio Unix (la) e grupo (la, homnimo ao nome) mas est includo em cada um dos grupos de trabalho (mala, ocs,adm e pessoal) Os usurios de exemplo deste arquivo fazem parte de uma instalao REAL, e esto cadastrados no Linux desta forma

# # # # # # # # # # # # # # # # # # # # # # # # # # # 13 13 13 13 13 13 13 13 13 13 13

(formato usurio:grupo primrio): mala:mala ocs:ocs la:la pessoal:pessoal angela:adm adm:adm cesar:adm No arquivo /etc/group, o usurio "mala" tambm faz parte do grupo "ocs", portanto os usurios IDALICE, CLARA E SERGIO tem acesso aos arquivos do grupo de trabalho "ocs", embora o usurio FICHAS no tenha acesso aos dados do grupo de trabalho "mala". O usurio "la" tambm faz parte dos grupos "mala", "ocs", "pessoal" e "adm", e por isso tem acesso a todos os arquivos do servidor. Exceto os possudos pelo root. (Pode ser uma boa idia colocar o root como dono dos arquivos dos diretrios SYS:PUBLIC e SYS:SYSTEM, como proteo adicional.) Os diretrios com permisses 2775 garantem que o grupo de trabalho sempre ter acesso a qualquer arquivo novo, mesmo que o grupo primrio do usurio criador seja diverso. (O dgito "2" o SGID, que em diretrios tem o efeito de atribuir o grupo do diretrio a qualquer arquivo novo ali criado) CLARA IDALICE FICHAS SERGIO LALA MAURICIO IRENA ANGELA ANGELO CARLOS CESAR mala mala ocs mala la pessoal pessoal angela adm adm cesar

# Parmetro que permite mapeamento automtico dos usurios do arquivo # /etc/passwd para usurios Netware. No recomendo o uso dessa opo; # o parmetro 0 mantm esse recurso desligado. 15 0 # Testar a presena de diretrios essenciais, como MAIL, diretrios de # usurios etc. ao iniciar. O Mars criar os diretrios que no # encontrar, de modo que uma opo bastante recomendvel. 16 1

# Se 0x1, oferece a novos usurios um login script vazio, se no # existir um. Altamente recomendvel pois evita o problema do SYSCON # no conseguir gravar o primeiro login script. 17 0x1 # Desliga incondicionalmente o banner de impressso. Tambm # altamente recomendvel pois clientes Windows 95 antigos no tm opo

# eficaz de desligamento de banner. 18 0x1 # Filas de impresso (opcional) # Cada fila deve ser descrita em uma linha, e a seqncia de # parmetros a seguinte: # # NOME DA FILA: o nome "Netware", visvel pelos clientes, e # no o nome da fila do Unix. # DIRETRIO DA FILA: diretrio (que DEVE existir, o Mars no # cria sozinho) onde as tarefas de impresso sero acumuladas # antes de repassadas ao servio de impresso Unix. NO deve # ser um diretrio de fila de impresso Unix (/var/spool/lpd/*) # COMANDO DE IMPRESSO: comando utilizado para impresso 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>

############################################################ # # CONFIGURAES AVANADAS 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 101 102 103 104 105 106 0 1 0 0 0 0 1 # # # # # # # debug debug debug debug debug debug debug IPX KERNEL (0 | 1) NWSERV NCPSERV NWCONN (start) NWCLIENT NWBIND NWROUTED

# Sections 200-202: logging of "nwserv" # 200 1 # 0 = no logfile and dont daemonize # nwserv/nwrouted # 1 = daemonize nwserv/nwrouted and # use logfile /var/log/mars_nwe.log # filename of logfile 0 # 1=creat new logfile, 0=append # to logfile

201 202

# Sections 210,211: timing 210 1 # 1 .. 600 (default 10) seconds # after server

211

60

# # # #

really goes down after a down command 10 .. 600 (default 60) broadcasts every x seconds

# Controle de logging de informaes de roteamento 300 1 # > 0 print routing info to file # every x broadcasts.

301 302

# ( normally minutes ) /var/run/mars_nwe.routes # filename of logfile 1 # 1 = creat new routing info file # 0 = append to this file

# Watchdogs (desenvolver explanao) 310 7 # # # # send wdog's only to device net < x ticks. 0 = allways send wdogs. < 0 = never send wdogs

# Estaes com "tratamento especial" # Para sintaxe do arquivo /etc/nwserv.stations, veja o exemplo # que normalmente est presente no prprio diretrio /etc 400 # # # # # # # # # /etc/nwserv.stations

Configurao da resposta requisies "get nearest server" So requisies que estaes em processo de login ou carga de boot remoto fazem para obter o diretrio de login ou a imagem do boot. 0=ignorar linha 400, resposta sempre ativada 1=lista da linha 400 so estaes que se deve ignorar (padro=ativado) 2=lista da linha 400 so estaes a que se deve responder (padro=desativado)

401 1 # FIm do arquivo #------------------------------------------------------------

Agora necessrio 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 sada do comando ser algo parecido como descrito abaixo:


eth0 Encapsulamento do Link: Ethernet Endereo de HW 00:E0:7D:8F:58:26 inet end.: 10.0.2.72 Bcast:10.0.7.255 Masc:255.255.248.0 Endereo IPX/Ethernet 802.3:000001AF:00E07D8F5826 UP BROADCASTRUNNING MULTICAST MTU:1500 Mtrica:1 Pacotes RX:121758 erros:0 descartados:0 sobreposies:0 frame:0 Pacotes TX:48491 erros:0 descartados:0 sobreposies:0 portadora:0 colises:0 txqueuelen:100 IRQ:12 Endereo de E/S:0x9000

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

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 estaes.

CONFIGURANDO AS ESTAES LINUX Este procedimento a seguir, apenas para ilustrar como as estaes linux podem se conectar a um servidor Novell ou MARS, acessando os volumes, e utilizando as impressoras do servidor. PAra maiores detalhes verifique a documentao do pacote ipxutils em /usr/doc/ Para configurar uma estao utilizando o linux, necessrio a isntalao 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 configurao 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 sada do comando ser algo parecido como descrito abaixo:


eth0 Encapsulamento do Link: Ethernet Endereo de HW 00:E0:7D:8F:58:26 inet end.: 10.0.2.72 Bcast:10.0.7.255 Masc:255.255.248.0 Endereo IPX/Ethernet 802.3:000001AF:00E07D8F5826 UP BROADCASTRUNNING MULTICAST MTU:1500 Mtrica:1 Pacotes RX:121758 erros:0 descartados:0 sobreposies:0 frame:0 Pacotes TX:48491 erros:0 descartados:0 sobreposies:0 portadora:0 colises: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 <usurio> -V <volume> /tmp

Nesse caso, ser montado o volume especificado no diretrio /tmp, ao executar o comando ser pedido o nome do usurio. Para utilizar uma impressora de um servidor MARS ou novell, adcione a impressora normalmente, apenas atente para escolher para utilizar Impressoras Netware, e informe alm da configuraes normais, o nome de seu servidor Novell, nome da fila de impresso, e o nome e senha do usurio.

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 usurio Lista de usurios Adicionar Login Netware: coloque o login do usurio em MAISCULAS Login do sistema: coloque o nome do usurio Senha (opc.): digite uma senha para o usurio [ ] Senha fixa --esta opo impede a alterao de senha. Aceitar Opes de contas Neste item configura-se as opes das contas dos usurios Opes do supervisor Nome de usurio do servidor: Geralmente o login SUPERVISOR Usurio do sistema: o usurio que ter poderes de SUPERVISOR Senha: Digite a senha do usurio Aceitar Volumes e servidor de arquivos Volumes - so os diretrios "montados" pelo sistema Adicionar Nome do volume: o nome do diretrio a ser montado. Escreva em MAIUSCULAS. Diretrio: digite o caminho completo deste diretrio. Aceitar Fechar Opes do servidor de impresso Modo de criao padro para diretrios: permisso do diretrio de impresso. recomendvel que no se altere este valor. Modo de criao padro para arquivos: permisso dos arquivos para impresso. recomendvel que no se altere este valor. Aceitar Servios de impresso Filas de impresso Adicionar Nome da fila: coloque o nome da fila em MAISCULAS Diretrio: o diretrio da fila de impresso Comando de impresso: comando para o envio de impresso. Aceitar Fechar Servidores de impresso Adicionar Nome do servidor de impresso: coloque o nome do servidor em MAISCULAS

Nome da fila: Tecle F4 para selecionar a fila Aceitar Fechar Opes dos servios de impresso Diretrio de spool: o diretrio para onde vo os arquivos a serem impressos. Aceitar Fechar Dispositivos de rede (IPX) Dispositivos IPX Nmero de rede: Este nmero determinado pelo roteador da rede fsica qual voc est conectado Dispositivo: a interface de rede Tipo de quadro: o tipo do quadro de pacotes que iro trafegar na rede. Recomenda-se utilizar os valores padro. Aceitar Fechar Opes de rede Rede interna: coloque o numero da rede interna. (p.e.: 192.168.0) Configurao automtica: coloque sim, se no tiver certeza do nmero de rede. Aceitar Fechar Outras opes neste tpico configuram-se as opes 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

Captulo 11. NIS 11.1. Como configurar o NIS ?


A grande utilidade do NIS possuir todos os usurios em uma nica mquina facilitando a administrao. * Configurando o Servidor Verifique se os pacotes ypserv, ypbind e yptools esto instalados:
[root@localhost root]# rpm -qa | grep ypbind [root@localhost root]# rpm -qa | grep ypserv

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

Caso no, 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 esto presentes, caso no 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 domnio NIS:


[root@localhost root]# linuxconf Ambiente de rede -> NIS - sistema de informao de rede ->

Preencha os campos:
Domnio NIS [nome_do_domnio] Servidor NIS [prprio_ip_da_mquina]

Selecione "Aceitar", "Sair", "Sair", "Ativar mudanas" Marque o daemon responsvel ( ypserv e yppasswdd )
[root@localhost root]# ntsysv [*] yppasswdd [*] ypserv Reinicie a mquina.

Aps reinicar a mquina verifque se o dominio est ativo digitando:


[root@localhost root]# nisdomainname

Basta agora adiconar os usurios localmente. Toda vez que for adiconado ou excluido usurios, necessrio recriar os mapas NIS para realizar essa tarefa siga os passos abaixo: Entre no diretrio /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 responsvel ( ypbind ):
[root@localhost root]# ntsysv [*] ypbind

Digite o seguinte comando:


[root@localhost root]# authconfig

Em tipo de autenticao, marque a opo

(*) NIS

Adicione o nome do domnio:


Domnio NIS: [nome_do_domnio] Pedido via anncio [*]

Tente efetuar login como um usurio 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 usurios em uma nica mquina facilitando a administrao. * Configurando o Servidor Verifique se os pacotes ypserv, ypbind, yp-tools e linuxconf-nisconf esto instalados:
[root@localhost root]# rpm -qa | grep ypbind [root@localhost root]# rpm -qa | grep ypserv [root@localhost root]# rpm -qa | grep yp-tools

Caso no, 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 esto presentes, caso no 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 domnio NIS:


[root@localhost root]# linuxconf Rede -> Network Information System (NIS)

Preencha os campos:
Domnio NIS [nome_do_domnio] Servidor NIS [prprio_ip_da_mquina]

Selecione "Aceitar", "Fechar" e "Sair" Marque o daemon responsvel (ypserv)


[root@localhost root]# ntsysv [*] ypserv

Inicie o servio:
[root@localhost]# cds

[root@localhost]# ./ypserv

Aps iniciar o servio verifique se ele est ativo usando o comando abaixo:
[root@localhost root]# nisdomainname

Basta agora adiconar os usurios localmente. Toda vez que for adiconado ou excluido usurios, necessrio recriar os mapas NIS para realizar essa tarefa siga os passos abaixo: Entre no diretrio /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 responsvel (ypbind):
[root@localhost root]# ntsysv [*] ypbind

Para configurar o NIS digite o seguinte comando:


[root@localhost root]# authconfig

Em tipo de autenticao, marque a opo


[*] Usar NIS

Informe o nome do domnio:


Domnio: [nome_do_domnio]

Selecione "Avanar" Agora marque as opes:


[*] Usar senhas Shadow

[*] Usar Senhas MD5

Selecione "OK" Tente efetuar login como um usurio 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?

### CL 5.1 #### O servico ypserv presente na distribuico no funciona como devido, retornando sempre RPC time-out quando tentava estabelecer uma conexo. O erro decorrente da utilizao do gcc stack-guard na compilao do pacote. Para solucionar tal problema, atualize o pacote ypserv o qual encontra-se disponvel 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 diretrio onde foi salvo:
[root@localhost]# rpm -Uvh ypserv-1.3.11-2cl.i386.rpm

Captulo 12. NFS 12.1. Como configurar o NFS ?


O NFS um servio de rede que usa RPC (Chamada de Procedimento Remoto), e que permite o compartilhamento de arquivos e diretrios. simples e fcil 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 mquinas Linux. Funciona permitindo as "mquinas" acessar arquivos em mquinas remotas, como se estivesse em um diretrio da mquina local. Se o NFS for instalado junto ao NIS - Network Information System (Sistema de informao de Rede), os "usurios" 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-NISHOWTO.html A maneira como o NFS trabalha, rapidamente, podemos dizer que quando d-se a linha de comando:
# mount -t nfs <servidor>:/<caminho_diretrio> /<diretrio_local> [opes]

O servidor ir verificar se a mquina tem permisso para acessar os dados daquele diretrio, 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 mquina servidora, nesta so enviados os parmetros, descritor de arquivos, o nome do arquivo, o identificador de usurio e grupo, usados para controle. As funcionalidades do NFS no Linux so implementadas em nvel kernel, o VFS (sistema de arquivo virtual) integrado no kernel. Estes pacotes, na maioria das vezes j so instalados por default, mas caso no tenham sido instalados, os pacotes so estes: # Marumbi
# rpm -ivh nfs-server-2.2beta29-2.i386.rpm nfs-server-clients-2.2beta292.i386.rpm

# Servidor 3.0
# rpm -ivh nfs-server-2.2beta40-1cl.i386.rpm nfs-server-clients-2.2beta401cl.i386.rpm

# Guaran 3.0
# rpm -ivh nfs-server-2.2beta37-2cl.i386.rpm nfs-server-clients-2.2beta372cl.i386.rpm

# 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 servio.


[X] [X] [X] [X] [X] netfs network nfs nfslock portmap

Pode-se tambem habilitar um por um, s dar, como root, o comando:


# cds

e habilitar os servios
./<servio> start

Para configurar o NFS, temos, primeiramente que ter certeza que o Kernel tem suporte a NFS e que os servios estejam funcionando, nos kernels modernos podemos verificar isto dando o seguinte comando:
# cat /proc/filesystems nodev nodev nodev ext2 proc iso9660 devpts nfs

<------

Observar a existncia deste.

Caso no exista, poder ser necessrio recompilar o kernel e habilitar o suporte a NFS. Em kernels mais antigos a maneira mais simples de saber se est habilitado o servio de NFS totalmente emprica, tente montar um diretrio, se o comando mount no funcionar e apresentar uma mensagem do tipo "tipo de sistema de arquivos nfs no suportado pelo kernel", ser necessrio compilar e habilit-lo. Ex: (como root)
# mount localhost:/tmp /mnt

Nota: O aparecimento da opo nodev nfs no arquivo /proc/filesystems no necessariamente obrigatria para indicar que existe suporte a NFS no kernel utilizado. Portanto, o teste acima indicado necessrio para verificao de tal suporte. Montando um Volume NFS Para montar volumes NFS, usado o comando mount com o seguinte formato:
# mount -t nfs <mquina_remota>:/<diretrio_remoto> /<diretrio_local> [opes] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Volume NFS

Cabe notar que os parmetros "-t nfs" no so necessrios, pois por ser a notao prpria do sistema de arquivos NFS, ele interpreta por default. Existem opes adicionais que podem ser especificadas com o comando mount. Elas pode ser informadas depois da opo -o na linha de comando, ou no campo de opes de arquivo /etc/fstab, em ambos casos, as multiplas opes devem ser separadas por vrgulas. Tenha-se em conta que as opes dadas na linha de comando tem precedencia pelas opes dadas no arquivo /etc/fstab. Exemplo de entrada do arquivo /etc/fstab:
Volume NFS 192.168.255.220:/wb 192.168.255.2:/d 192.168.255.122:/home 192.168.255.122:/faq 192.168.255.122:/faq-es 192.168.255.122:/suporte Diretrio Local /wb /d /home /faq /es /suporte Tipo nfs nfs nfs nfs nfs nfs Opes Verifica a partio 0 0 0 0 0 0 0 0 0 0 0 0

soft,bg,nosuid noauto,soft,bg soft,bg,nosuid,nolock soft,bg,nosuid soft,bg,nosuid soft,bg,nosuid

OPES
rsize=n O nmero de bytes que NFS usar ao ler arquivos de um servidor NFS. O valor padro depende do kernel e normalmente de 1.024 bytes (ainda que a velocidade de acesso cresa substancialmente ao se informar rsize=8192). O nmero de bytes que NFS usar ao gravar arquivos em um servidor NFS. O valor padro depende do kernel e normalmente de 1.024 bytes (ainda que a velocidade de acesso cresa substancialmente ao se informar wsize=8192). O nmero de dcimos de segundo antes de enviar a primeira retransmisso aps findo o tempo de espera de uma RPC. O valor padro de 7 dcimos de segundo. Aps a primeira espera, o tempo dobrado aps cada espera sem respostas, at um mximo de 60 segundos ou um nmero mximo de retransmisses ser atingido. Ento, caso o sistema de arquivos esteja montado com a opo hard, cada novo tempo de espera comea com o dobro do tempo da anterior, novamente dobrando a cada retransmisso. O tempo mximo 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 trfego, utilizando-se servidores lentos ou usando o sistema atravs de diversos roteadores e gateways. O nmero de tempo limite e retransmisses que devem ocorrer antes que um alarme de tempo de resposta seja acionado. O padro de 3 ocorrncias. Quando um alarme de tempo de espera maior ocorre, a operao interrompida ou uma mensagem de "servidor no est respondendo" apresentada na console. O tempo mnimo em segundos que os atributos de um arquivo normal devem estar em memria cache antes de solicitar novas informaes para o servidor. O padro de 3 segundos. O tempo mximo em segundos que os atributos de um arquivo normal devem estar em memria cache antes de solicitar novas informaes para o servidor. O padro de 60 segundos. O tempo mnimo em segundos que os atributos de um diretrio

wsize=n

timeo=n

retrans=n

acregmin=n

acregmax=n

acdirmin=n

devem estar em memria cache antes de solicitar novas informaes para o servidor. O padro de 30 segundos. acdirmax=n O tempo mximo em segundos que os atributos de um diretrio devem estar em memria cache antes de solicitar novas informaes para o servidor. O padro de 60 segundos. Utilizando-se actimeo, os parmetros acregmin, acregmax, acdirmin, e acdirmax recebem o mesmo valor. No h valor padro. O nmero de minutos na tentativa de executar operaes de montagem NFS em primeiro ou segundo plano antes de desistir definitivamente. O valor padro de 10.000 minutos, o que quase uma semana. Quando um servidor NFS no suporta a verso 2 do protocolo de montagem RPC, esta opo pode ser usada para especificar o tamanho mximo do nome de arquivos que suportado pelo sistema de arquivos remoto. Esta opo usada para suportar as funes pathconf do POSIX. O padro de 255 caracteres. O nmero da porta para conexo no servidor NFS. Caso esta porta seja igual a 0 (o padro), ento ser perguntado ao programa mapeador de portas do servidor, qual o nmero a ser usado. Caso o servidor NFS no esteja registrado no programa mapeador, a porta padro NFS 2039 ser usada.

actimeo=n retry=n

namlen=n

port=n

mountport=n O nmero da porta de mountd. mounthost=nome O nome do servidor executando mountd. mountprog=n Nmero de programa RPC alternativo para contatar o servidor mount no servidor remoto. Esta opo til para servidores que podem rodar mltiplos servidores NFS. O valor padro 100.005, o qual o padro para o nmero do servidor mount. mountvers=n Verso alternativa do RPC usado para contatar o servidor mount no servidor remoto. Esta opo til para servidores que podem executar mltiplos servidores NFS. O valor padro verso 1. nfsprog=n Nmero alternativo do programa RPC usado para contatar o servidor NFS no servidor remoto. Esta opo til para servidores que podem executar mltiplos servidores NFS. O valor padro 100.003 para o nmero do servidor NFS. Verso alternativa do RPC usado para contatar o servidor NFS no servidor remoto. Esta opo til para servidores que podem executar mltiplos servidores NFS. O valor padro verso 2. Caso a primeira tentativa de montagem NFS no ocorra dentro do tempo de espera definido, tenta a montagem em segundo plano. Aps a transferncia para segundo plano da operao de montagem, todas as tentativas subseqentes no mesmo servidor NFS sero transferidas para segundo plano automaticamente, sem a primeira tentativa de montagem em primeiro plano. Um ponto de montagem no encontrado tratado como a ultrapassagem do tempo de espera, para permitir montagens NFS encadeadas. Caso a primeira tentativa de montagem ultrapasse o tempo de espera, tenta novamente a montagem, porm em primeiro plano. Isso complementa a opo bg, e o comportamento padro.

nfsvers=n

bg

fg

soft

Caso uma operao NFS ultrapasse o tempo de espera, ento relata um erro de E/S a o programa que a acionou. O padro continuar tentando a operao indefinidamente. Caso uma operao NFS ultrapasse o tempo de espera, ento apresenta a mensagem "servidor no responde" na console e continua indefinidamente. Este o padro. Se uma operao NFS ultrapassar o tempo de espera e estiver montada com a opo hard, permite o envio de sinais de interrupo da operao e provoca um retorno EINTR para o programa de origem. O padro no permitir que as operaes sejam interrompidas. Monta o sistema de arquivos usando a semntica POSIX. Isso permite que um sistema de arquivos NFS suporte adequadamente o comando POSIX pathconf atravs da solicitao de informaes ao servidor sobre o tamanho mximo de um nome de arquivo. Para fazer isso, o servidor remoto deve suportar a verso 2 do protocolo de montagem RPC. Muitos servidores NFS suportam somente a verso 1. Suprime a recuperao de novos atributos na criao de um arquivo. 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 razoveis ao utilizar ativamente um sistema de arquivos comum para gravao no servidor. Monta o sistema de arquivos usando o protocolo TCP ao invs do protocolo padro UDP. Muitos servidores NFS suportam somente UDP. Monta o sistema de arquivos NFS usando o protocolo UDP. Este o padro.

hard

intr

posix

nocto noac

tcp

udp

Manipulao do Arquivo exports O arquivo exports o arquivo que contm os diretrios que sero exportados pelo servidor para a(s) mquina(s) remota(s) da rede; pois por default o mount no permite que ningum acesse seus diretrios, assim, aqueles diretrios que se desejam exportar, tem que estar relacionados no arquivo: /etc/exports Exemplo de arquivo exports:
Volume a ser exportado /tmp/sol /home/bugs /home/slowly /home/skippy /usr /mnt Mquina(s) remota(s)(opo(es)) 192.168.255.202(rw,no_root_squash) 192.168.255.14(rw,no_root_squash) 192.168.255.13(rw,no_root_squash) 192.168.255.102(rw,no_root_squash) *.conectiva(ro,no_root_squash) administrador(rw) cliente(rw)

Cada vez que seja necessrio acrescentar algum diretrio, mquina ou alguma modificao for feita no /etc/exports, necessrio "restartar" o servio de nfs do servidor para que as mudans tenham efeito, para fazer isto faa, no servidor e como root:
# cds

# ./nfsd restart

OPES
insecure unix-rpm Permite o acesso no autenticado a partir desta mquina. Requer autenticao RPC (domnio UNIX) para esta mquina. Isto requerido somente para as requisies originadas a partir de uma porta reservada Internet (isto , portas com nmeros menor que 1024). Esta opo est ativa por padro. Requer autenticao segura RPC para esta mquina. Isto ainda no foi implementado. Veja a documentao da Sun em ``Secure RPC''. Requer autenticao Kerberos para acesso desta mquina. Isto ainda no est implementado. Veja a documentao do MIT sobre sistemas de autenticao Kerberos.

secure-rpc kerberos

root_squash Esta uma caracterstica de segurana que probe que o superusurio dos servidores especificados tenha qualquer direito de acesso especial a partir de sua identificao igual a 0 no cliente, que ser alterada no servidor para 65534 (-2). Esta identificao deve ser associada ao usurio nobody. no_root_squash No mapeia requisies do usurio com identificao 0. Esta opo ativada por padro. ro rw Monta hierarquicamente os arquivos, somente para leitura. Esta opo usada por padro. Monta hierarquicamente os arquivos, com autorizaes para leitura e gravao.

link_relativa Converte ligaes simblicas absolutas (onde a ligao comea com uma barra) em ligaes relativas colocando os prefixos ../ que sejam necessrios para obter a rota do diretrio que contm a ligao para a raiz no servidor. Esta opo somente faz sentido quanto montado um sistema de arquivos completo de uma mquina, onde algumas ligaes podem apontar para arquivos invlidos, ou pior, para arquivos que nunca deveriam ser apontados. Esta opo usada por padro. link_absolute Deixa todas as ligaes simblicas inalteradas ( a opo normal dos servidores NFS da Sun). map_identity A opo map_identity indica ao servidor para assumir que o cliente usa as mesmas identificaes de usurio e grupos que o servidor. Esta opo usada por padro. map_daemon Esta opo avisa o servidor NFS para assumir que o cliente e o servidor no compartilham a mesma identificao de usurios e grupos. O servidor nfsd ir ento construir uma lista da identificao de mapas entre cliente e servidor, atravs da chamada ao servidor ugidd na mquina cliente.

Para montar um servidor NFS para outras mquinas, antes de nada, deve ser executado o programa nfsd e o servidor mountd nas mquinas 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

12.2. Como exportar um volume pela rede usando o nfs?


Vamos supor que fosse necessrio compartilhar o cdrom da mquina 1 (192.168.1.10). Para isso primeiramente monte o cdrom:
[root@localhost]# mount /dev/cdrom

Agora exporte (compartilhe) esse diretrio:


[root@localhost]# linuxconf Ambiente de rede --> NFS - sistemas de arquivos exportados --> Adicionar --> Caminho para exportar: /mnt/cdrom Aceitar Sair Sair Sair Ativar Mudanas

Lembrando que essas essa uma configurao bsica funcional, para configuraes mais avanadas, como permitir que somente algumas mquinas possam acessar esses diretrios exportados, aconselhvel ler o menu de "ajuda" que est dentro de ambiente de rede, nfs, adicionar. Inicie o servio 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 mquina 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 Mudanas

Lembrando novamente que est uma configurao bsica funcional, para configuraes avanadas veja no menu ajuda. Algumas observaes a serem feitas sobre as opes acima configuradas: servidor: a mquina que contm os diretrios remotos

volume: o diretrio que se gostaria de importar, note que o diretrio aqui especificado o mesmo que foi exportado na mquina remota. Ponto de montagem: um diretrio qualquer no seu sistema de arquivos na qual ser montado esse diretrio remoto. Certifique-se que esse diretrio existe na sua mquina local antes de executar esse ltimo procedimento. Depois disso, na prxima vez que o sistema for iniciado esse diretrio remoto (192.168.1.10) ser montado automaticamente na mquina 192.168.1.12. Se os sistema no ativar as mudanas ento para no ser necessrio reiniciar o computador execute o seguinte comando na mquina 192.168.1.12:
[root@localhost]# mount 192.168.1.10:/mnt/cdrom /mnt/cdrom-remoto

12.3. Como fao 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 mquina, primeiro d o seguinte comando:
[root@localhost]# cat /proc/filesystems

deve dar um resultado como:


nodev nodev nodev ext2 proc devpts nfs iso9660

<-- Prestar ateno neste tem

Caso no aparea o nfs como no exemplo acima, d o comando:


[root@localhost]# lsmod

deve sair como resultado uma lista de mdulos levantados, caso no aparea o do nfs, como no exemplo abaixo, levante-o usando o modprobe
Module nfs lockd sunrpc 8139too agpgart esssolo1 soundcore Size 46272 43760 58672 11744 18640 21552 2608 Used by 3 (autoclean) <-- veja se aparece aqui 1 (autoclean) [nfs] 1 (autoclean) [nfs lockd] 1 (autoclean) 0 (unused) 0 4 [esssolo1]

No exemplo acima aparece o nfs, mas se no aparecer, ter que levant-lo usando o comando abaixo:
[root@localhost]# modprobe nfs

Para que o mdulo levante sempre na sua mquina, ser necessario acrecent-lo ao rc.local, para isto faa:
[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 refaa os procedimentos novamente para ver se levantou o mdulo e siga o procedimento que est no documento das perguntas e respostas: http://www.conectiva.com/suporte/pr/pr-72.html#ss72.1

Captulo 13. POSTFIX 13.1. Configurao de domnio no Postfix


Para fazer a sua configurao abra o linuxconf e acesse a opo de configurao do Postfix dentro do linuxconf:
[root@localhost]# linuxconf

Rede -> Postfixconf ->

Os parmetros para uma configurao bsica so os seguintes: Informao bsica -> Diretrio de fila: Esta opo especifica a localizao da fila do Postfix. -> Diretrio de comando: Esta opo especifica a localizao de todos os comandos post.

-> Diretrio de daemon: Esta opo especifica a localizao de todos os programas daemon do Postfix (isto , programas listados no arquivo master.cf). Este diretrio deve ser propriedade do root. -> Proprietrio do mail: Esta opo especifica o proprietrio da fila do Postfix e da maioria dos "processos daemon Postfix". No deve ser especificado que compartilha um grupo com outras contas ou uma conta que seja proprietria de outros arquivos ou processos. No utilize o usurio daemon ou nobody. -> Privilgios padro: Esta opo especifica os direitos padres utilizados pelo agente de entrega local para entrega a um arquivo ou comando externo. No se deve especificar o um usurio com privilgios ou o usurio proprietio do Postfix. -> Nome da mquina: Esta opo especifica o "nome internet da mquina" deste sistema de mail. O padro usar o contedo de "Nome da mquina", sem colocar o domnio da mquina. -> Domnio: Esta opo especifica o nome de domnio local de internet. O padro usar o contedo de "Nome da mquina" menos o primeiro componente. -> Origem: Esta opo especifica o domnio de onde os mails postados localmente parecero ter vindo. O padro anexar "Nome da mquina". -> Interfaces de rede: Esta opo especifica os endereos de interface de rede pelos quais este sistema de mail receber mail. Por padro, o software requisita todas interfaces ativas na mquina. -> Destino: Esta opo especifica a lista de domnios que esta mquina considera como sendo o destino final. Isso no inclui domnios que so hospedados nesta mquina. O padro "nomedaminhamquina + mquinalocal.$meudomnio". Especifique os nomes atravs da opo "Encaminhar domnios" em "Programa servidor Smtp -> Controles UCE adicionais". possvel especificar uma lista de mquinas ou nomes de domnios, padres /arquivo/nome ou tipo:tabela, separados por vrgulas e/ou espaos em branco. Um padro /arquivo/nome substitudo por seus contedos; um tipo:tabela comparado quando um nome coincide com uma chave de busca. No se deve listar domnios virtuais neste campo. Ele ser listado em "tem Virtual" em "Tabela" -> Mapas de destinatrios locais: Esta opo especifica tabelas de busca opcionais com todos os usurios que so locais. Se este parmetro est definido, o servidor SMTP ir rejeitar mail de usurios locais desconhecidos. Para que esse parametro no especifique domnios virtuais no campo domnio. Neste campo devero apenas serem listados os domnios no virtuais. -> Nvel de depurao: Esta opo especifica o nvel de depurao de login detalhando quando um cliente SMTP ou um nome de mquina servidora ou endereo coincide com um padro na opo "Lista de domnios". -> Lista de domnios: Esta opo especifica uma lista opcional de domnios ou padres de rede, padres /arquivo/nome ou tabelas tipo:nome. -> Comando do depurador: Esta opo especifica o comando externo que executado quando um programa daemon Postfix executado com a opo -D. Programa cliente Smtp -> Melhor transporte mx: Esta opo utilizada para especificar um agente de entrega das mensagens. Por padro, 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.

-> Encaminhamento secundrio: Esta opo especifica zero ou mais mquinas ou domnios para manipular a entrega de mail caso um destino no seja encontrado ou esteja temporriamente fora de alcance. Por padro o mail devolvido quando um destino no encontrado. -> Ignorar erro de busca mx: Esta opo controla o que acontece quando um servidor de nomes falha ao responder a um pedido de busca MX. Por padro o Postfix tenta entregar o mail novamente aps algum tempo. -> Omitir saudao Smtp 4xx: Esta opo controla o que acontece quando um servidor SMTP nos sada com um cdigo de status 4XX. Por padro, Postfix tenta novamente. Especifique "sim" para mover para o prximo processador de mail. -> Omitir resposta quit Smtp: Esta opo controla se o cliente SMTP deve esperar por uma resposta de sada do servidor. O padro no esperar. Controle de entrega local -> Transporte local: Esta opo define o nome do servio que ir entregar as mensagens aos destinos que coincidem com as opes "Destino" ou "interface de Rede". -> Shell de comandos local: Esta opo define qual ser a shell usada para entrega a comandos externos. Deve-se definir um shell diferente caso seja necessrio executar a partir de arquivos .foward, por exemplo. -> Rota de encaminhamento: Esta opo especifica um arquivo que ir possuir uma lista de busca para destinatrios, diretrio home de destinatrios, endereo completo do destinatrio e domnio do destinatrio. -> Permitir mail para comandos: Esta opo ir restringir a entrega das mensagens a comandos externos. -> Permitir mail para arquivos: Esta opo ir restringir a entrega de mail a arquivos externos. -> Limite de destinatrios de destino local: Esta opo limita o nmero de destinatrios em cada mensagem local. -> Inserir cabealho de entrega: Esta opo define quando o Postfix ir inserir no comeo da mensagem um cabealho "Entregue a". Controles de Spam -> Delimitador de destinatrio: Esta opo define qual ser o separador entre nomes de usurios e extenses de endereo. -> Verificao de cabealho: Esta opo especifica o que poder ser apresentado nos cabealhos da mensagens. -> Verificao de corpo: Esta opo especifica uma tabela opcional com padres que cada linha do corpo da mensagem. As linhas so comparadas uma de cada vez e quando encontrada alguma coincidncia e a ao associada REJECT a mensagem descartada. -> Redes: Esta opo indica quais sero as redes locais para o servidor de Postfix. Ela ir identificar quais so os clientes locais e os externos. Pode-se especificar uma lista de padres de rede ou especificar o caminho completo de um arquivo de padro em vez de listar os padres aqui. -> Permitir roteamento de clientes no confiveis: Esta opo ir especificar se o Postfix dever encaminhar um mail enfiado por um cliente no confivel(no cadastrado) com roteamento especfico do remetente.

-> Mapear domnios rbl: Esta opo especifica uma lista de domnios que publicam os endereos de rede de hosts que esto na "lista negra" (blacklisted). Ele rejeita servio caso o host esteja listado entre os domnios da lista. -> Encaminhar domnios: Esta opo controla quais sero os domnios e subdomnios que tero seus mails encaminhados e restringir os dominios e subdomnios de destino dos mails. Por padro sero encaminhadas as mensagens especificadas na opo "Encaminhar domnios" e seus subdomnios, os destinos que coincidirem com a opo "Destino" e com "Mapas Virtuais. Pode-se especificar uma lista de mquinas ou domnios e por uma tabela de busca. -> Encaminhar mquina: Esta opo indica qual ser a mquina padro 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 domnio inteno. Caso no possua um servidor MX em seu DNS especifique o nome da mquina gateway da internet.

13.2. Como configurar o Postfix?


### CL70 e posteriores ### Este procedimento auxilia nas configuraes bsicas do postfix, como habilitar relay, como configurar domnios 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), esto configurados e funcionando corretamente. - Primeiro verifique se os pacotes do postifx esto instalados na mquina:
[root@localhost]# rpm -qa |grep postfix

O resultado dever ser: postfix-doc-20010228pl02-6cl linuxconf-postfixconf-1.25r3-24cl postfix-20010228pl02-6cl Caso no aparea, instale os pacotes: postfix-20010228pl02-6cl
[root@localhost]# mount /mnt/cdrom

[root@localhost]# rpm -ivh postfix*

Antes de iniciar o processo de configurao aconselha-se a fazer uma cpia do arquivo original onde sero feitas as alteraes, pois se for necessrio refazer a configurao desde o incio por algum motivo de erro no ser preciso reinstalar os pacotes. Para fazer a cpia do arquivo original utilize o comando:
[root@localhost root]#cp /etc/postfix/main.cf /tmp

Configurando o Postfix - editando os arquivos -------------------------------------------------------------

Abra o arquivo de confgiurao, digitando:


[root@localhost]# mcedit /etc/postfix/main.cf

Os primeiros passos para configurar o bsico 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 domnio:


mydomain = dominio.com.br

Esta opo especifica como ficar a terminao do e-mail aps o smbolo de @, basta descomentar a opo: myorigin = $mydomain Agora cadastre o domnio que seu servidor de email reponsvel:
mydestination = $myhostname, localhost.$mydomain, $mydomain, \ mail.$mydomain, www.$mydomain, dominio.com.br

Caso tenha diversos domnios, pode se informar um arquivo com a listagem de domnios que voc possui, coloque os domnios, um seguido do outro separados por vrgula. No coloque os domnios virtuais nesta parte!
mydestination = $myhostname, localhost.$mydomain, /etc/postfix/dominios

Informe tambm 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: teste@teste.com.br.teste.com.br insira aentrada abaixo no fim do arquivo main.cf append_dot_mydomain=no

Salve o arquivo com F2 e saia com F10. Pronto, esse o bsico para que seu servidor de email funcione. - Configurando Relay no Postfix -----------------------------------------------------------------Pelo padro do postfix ele permite relay de e-mails das redes informadas na opo mynetworks, e de seus domnios. Caso seja necessrio habilitar o relay de outras redes, basta adicionar as seguintes linhas no final do arquivo de configurao 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 mquina da nossa rede retire a opo 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 mquina que se deseja bloquear

Como foi visto, o Postfix, por padro, permite o relay de e-mails que esto cadastrados como destino final, para permitir relay de outros domnios, basta adicionar o seguinte parmetro 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 usurio receba emails com outro nome, para administrao 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 usurio real admin joao,jose,manuel

Este exemplo informa ao postfix que ao receber uma mensagem para admin@dominio.com.br 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 Domnios Virtuais de E-mails -----------------------------------------------------------------Na configurao do postfix, os domnios virtuais s funcionam para usurios cadastrados neste domnio, ao contrrio de outros servidores de email que basta ter o usurio cadastrado no sistema. Inclua os domnios virtuais no arquivo /etc/postfix/virtual, para isso edite o arquivo :
[root@localhost]# mcedit /etc/postfix/virtual

e coloque os domnios virtuais de seu sistema da seguinte forma:


# /etc/postfix/virtual virtual.com.br Emails do domnio virtual mala@virtual.com.br jose

OBS- A estrutura do arquivo simples, a primeira linha informa que o nome do domnio virtual seguido de um comentrio qualquer. A segunda linha informa o email do usurio virtual seguido do usurio 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 domnios com o comando:


[root@localhost]# postmap /etc/postfix/virtual

- Configurando o pop-3 -----------------------------------------------------------------CL7.0

Para os usurios receberem os emails pelo seus programas clientes (netscape, outlook, etc..) necessrio 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 servio do inetd:


[root@localhost]# cds

[root@localhost]# ./inet stop

[root@localhost]# ./inet start

CL8 Para os usurios receberem os emails pelo seus programas clientes (netscape, outlook, etc..) necessrio carregar o servio 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 = socket_type = protocol = wait = user = server = }

REUSE stream tcp no root /usr/sbin/ipop3d

Salve o arquivo pressionando F2 e saia com F10.

Inicie o servio do xinetd:


[root@localhost]# cds

[root@localhost]# ./xinet stop

[root@localhost]# ./xinet start

- Iniciando o Servidor. ------------------------------------------------------------------------Aps as configuraes 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 esto sendo enviadas corretamente, pelo comando:
[root@localhost]# tmm

13.3. Problemas com Postfix, conecta durante algum tempo e a conexo 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 mudana faz que o servidor no desconecte quando muitos usurios o acessem simultaneamente.

Pressione F2 para salvar e F10 para sair do arquivo. Utilize o comando abaixo para iniciar o servio 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 grfico 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 servio, para isso execute:
[root@localhost]# cds

e em seguida
[root@localhost init.d]# ./postfix stop ; ./postfix start

Feito isso o postfix ir redirecionar os e-mails corretamente.

Captulo 14. SAMBA 14.1. Conceitos sobre o servidor Samba?


ESTE FAQ REFERE-SE VERSO 2.0.6 DO SAMBA. Quais as limitaes do Samba na integrao com Windows NT? A grande limitao do Samba no poder FILIAR-SE, como SERVIDOR, a um DOMNIO, pois tal faculdade depende do protocolo SAM, cujo modus operandi no divulgado pela Microsoft. Especificamente, o Samba no pode:

Ser BDC de um domnio NT, pois para ser BDC o Samba teria de ter acesso ao SAM do PDC; Possuir BDCs. Ser um servidor agregado, cujos recursos e permisses so gerenciados de forma centralizada no PDC (vide: O que so domnios ?). 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 no tenha de interagir com outros servidores WINS. Dar suporte a logons ao domnio (9x/NT). Dar suporte a roaming profiles (9x/NT). Autenticar a senha de um usurio junto a outro servidor Samba ou NT, seja ou no 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 no oferece interoperabilidade com Windows nesses protocolos. Quando o Samba pretende melhorar o suporte a domnios? A prxima grande reviso do Samba, cognominada TNG (que corresponder verso 2.1.0 ou 3.0.0) deve trazer suporte mais ou menos completo ao DCE/RPC, e com isso traz de roldo uma melhor integrao com domnios NT.

No obstante, a verso estvel do Samba (2.0.x) tem incorporado algum suporte a domnios a cada reviso, portanto possvel que algumas limitaes citadas caiam bem antes do lanamento da verso TNG. O que significam essas siglas: NetBIOS, SMB, CIFS, DCE/RPC, SAM, PDC, BDC?

NetBIOS: Um protocolo desenvolvido nos anos 80 para suporte a integrao de diversos computadores, numa rede no-hierrquica. Suas principais caractersticas so:
simplicidade de implementao; no precisa de servidor dedicado; acesso aos diversos ns por nomes ao invs de endereos numricos; resoluo de nomes para endereos de rede atravs de tcnicas de broadcast; suporte muito fraco a inter-redes(*).

(*) inter-redes: diversas redes locais, agregadas por roteadores. Note que muitas das caractersticas que tornam esse protocolo simples acabam sendo limitantes na hora de implement-lo em uma planta de grandes propores. Para isso que existem as extenses :) 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 to simples, no rotevel, ou seja, no pode ser facilmente usado em inter-redes. Esse protocolo de transporte caiu em desuso, em favor do TCP/IP, que rotevel. SMB: Novo nome dado ao protocolo NetBIOS, j bastante estendido. O SMB inversamente compatvel com computadores NetBIOS, e esfora-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 mquinas para endereos IP. WINS: protocolo de resoluo de nomes para endereos IP. a mais importante extenso ao protocolo SMB, pois permite uma operao "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 administrao de domnio, inclusive gerenciamento remoto do servidor. transportado por um "pipe" do SMB. Portanto, no exatamente uma extenso do SMB, e sim um protocolo empilhado sobre ele. De qualquer forma, pelo uso massivo do DCE/RPC em domnios NT, torna-se mandatrio implementar esse protocolo em conjuno ao SMB. SAM: Banco de dados + protocolo de gerenciamento de domnios.

O banco de dados armazena as mais diversas informaes sobre um domnio, a maioria delas geralmente relacionada com permisses de usurios. 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 primrio de domnio. O banco de dados SAM mantido por este computador o "que vale" para todo o domnio. Os BDCs consultam periodicamente este computador para obter dele o SAM e/ou as ltimas alteraes. BDC: Backup domain controller - controlador reserva. Como j foi dito, o BDC duplica o SAM do PDC periodicamente. O BDC tem duas funes numa rede:
Tomar provisoria ou definitivamente o lugar do PDC caso este ltimo falhe (o BDC tomar automaticamente o lugar do PDC, porm a promoo definitiva para PDC tem de ser manual) Atender a usurios de uma rede local que esteja "distante" do PDC. Exemplo: uma filial ligada matriz por um link muito lento.

O que so workgroups (grupos de trabalho)? Um grupo de trabalho uma coleo de mquinas que implementam o protocolo NetBIOS. No existe hierarquia de mquinas dentro de um grupo de trabalho. Cada computador dono e responsvel por seus prprios recursos. No existe gerenciamento centralizado de usurios, senhas, ou permisses. claro que podemos exigir autenticao por usurio/senha no acesso a um recurso. Mas no existe nada que impea, por exemplo, um usurio de liberar totalmente o acesso aos recursos de sua mquina. Uma forma de melhorar um pouco a segurana delegar toda a autenticao de usurios/senhas a um nico computador da rede - o 'security = remote' do Samba. Tambm pode-se rotular alguns computadores como "servidores" e garantir sua segurana fsica, de modo que ningum possa alterar seus esquemas de autenticao. Note que voc quem est dizendo quais so os servidores - o protocolo continua no distinguindo essas mquinas das demais. Um aspecto interessante acerca dos workgroups so as listas de navegao, aquelas que aparecem no smbclient e no Ambiente de Rede. A lista das mquinas de CADA workgroup mantida por apenas UM computador da rede. O computador responsvel pela lista escolhido automaticamente (essa "eleio" faz parte do protocolo NetBIOS). Como esse processo acontece por broadcast, no funciona muito bem se houver duas ou mais redes caso em que voc precisar dos DOMNIOS. O que so domnios, no jargo do SMB ? No que um domnio diferente de um grupo de trabalho (workgroup)? Domnios so workgroups onde existe alguma hierarquia, ou separao entre "clientes" e "servidores", sendo que essa hierarquia garantida pelo protocolo. A primeira adio ao paradigma dos workgroups o NAVEGADOR-MESTRE DE DOMNIO. 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 funo costuma ser acumulada com a de PDC, sendo que no Windows NT essa acumulao compulsria. (No Samba, falcultativa.)

Quando o mestre de domnio ligado, ele registra-se no servidor WINS, informando explicitamente a ele que um mestre de domnio. Cada navegador local deve contactar o mestre de domnio 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 domnio XYZ ?" e o WINS responde de acordo. Portanto, o paradigma de domnio torna possvel o funcionamento do protocolo SMB em uma planta com inter-redes. Outro aspecto dos domnios o logon de domnio. Isso faz mais sentido quando as mquinas-clientes so Windows. Para entrar no domnio, o usurio *precisa* digitar um usurio/senha vlido, do contrrio no ter acesso a nenhum servidor NetBIOS/SMB, e talvez nem sua prpria mquina (isso depende de configurao). Note como isso diferente de um workgroup, onde basta digitar um par usurio/senha aleatrio no Windows, que o usurio ter acesso a todas as outras mquinas (sujeito, claro, s exigncias particulares de autenticao de cada uma delas). Outro aspecto do logon de domnio o profile (perfil), que pode ficar armazenado no servidor de domnio. Seja qual for a mquina em que o usurio esteja logado, receber seu prprio ambiente de trabalho, com as letras e cores do seu gosto e com as restries impostas pelo administrador. (Isso vale mesmo que o cidado esteja logando-se de um laptop via Internet!) O domnio permite a agregao de servidores com administrao centralizada. Ou seja, um computador pode ser definido como servidor pertencente ao domnio. O acesso dos usurios aos recursos do mesmo cadastrado no PDC, e no mais no prprio servidor. Esse ltimo recurso, no suportado ainda pelo Samba, permite a segregao dos recursos em duas classes principais:
a) recursos do domnio ("seguros", sob controle do administrador); b) recursos dos computadores de usurios (inseguros, os usurios compartilham como bem entendem).

O que um servidor WINS ? No protocolo NetBIOS/SMB padro, a resoluo de nomes feita com pacotes de broadcast. uma soluo simples e dispensa configurao, porm no se presta a plantas com interredes. No WINS, cada mquina, ao ser ligada, REGISTRA seu nome, funo e endereo IP junto ao servidor WINS. Se todas as mquinas fizerem isso, o servidor WINS ter uma lista de nomes e endereos de todas as mquinas da rede. Esse registro independe do workgroup ou domnio a que pertena a mquina. Deve haver apenas um servidor WINS em toda a inter-rede (vide: Um servidor WINS no muito pouco ?). Quando um computador precisa descobrir o endereo IP de outro, no precisa ficar procurando com broadcasts; consulta diretamente o servidor WINS. Note que o servidor WINS no trata de nenhum aspecto referente a grupos de trabalho ou domnios. A nica coisa que ele sabe fazer traduzir nomes SMB para endereos IP.

Note tambm que, embora seja comum o PDC ou BDC acumular a funo de servidor WINS, essa concentrao de servios no obrigatria. Quando for configurar o Samba e sua rede usar WINS, voc deve especificar exclusivamente uma ou outra das seguintes opes (nunca as duas ao mesmo tempo):
wins support = yes wins server = <endereo IP>

A segunda linha indica que o servidor WINS est no <endereo IP>. A primeira linha diz que o prprio Samba o servidor WINS da rede. Um servidor WINS para toda a rede no muito pouco? Como fica a questo da alta disponibilidade? O Samba ainda no suporta o conceito de vrios servidores WINS trabalhando de forma redundante e cooperativa. Existe uma opo. Se uma empresa tem diversas plantas interligadas, mas no precisa que e.g. os usurios da planta A enxerguem os usurios da planta B, atribui-se um domnio e um servidor WINS separado para cada planta. (Obviamente, esta no uma soluo, e sim uma sada a la Leo da Montanha :) Posso passar sem servidor WINS numa inter-rede? Em tese, pode. O problema bsico assegurar que os navegadores locais (ou mestres locais, ou local master browsers, tudo a mesma coisa) consigam descobrir onde est o mestre de domnio. Um esquema possvel :
a) assegurar que o Samba ser o mestre local; b) introduzir um remote announce para a rede do mestre de domnio. c) introduzir, no Samba mestre de domnio, remote announce para todas as redes onde possam haver navegadores locais. d) fazer alguns outros pequenos ajustes para que essa "dana" funcione.

Essa soluo aumentaria bastante o trfego inter-redes, o que pode se tornar um problema caso haja links de baixa velocidade no caminho. Se no puder usar o WINS, tente essa soluo, mas faa uma boa anlise de trfego antes de dar o caso por encerrado :) Como especificar o modo de resoluo de nomes NetBIOS? Atravs da diretiva "name resolve order", que pode conter qualquer um dos seguintes modos de resoluo especificados, em ordem de preferncia:
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

Se os nomes DNS das mquinas no coincidem com seus nomes NetBIOS, interessante deixar a opo "host" de fora, pois ela pode causar uma consulta ao DNS que costuma ser demorada...) Ideal seria usar apenas o WINS, porm, se o servidor WINS falhar, a rede NetBIOS pra por completo. Mantendo o broadcast como segunda opo, a procura fica mais lenta mas pelo menos continua funcionando. O que so as senhas encriptadas? RESPOSTA CURTA. Ao invs de transmitir as senhas exatamente como so, elas so encriptadas primeiro. Isso evita "sniffing" de senhas. Como no existe (AFAIK) forma de um cliente dizer ao servidor que "olhe, estou transmitindo uma senha encriptada", necessrio que cliente e servidor estejam corretamente configurados para usarem, ambos, o mesmo tipo de senha. Por isso que, no Samba, necessrio especificar "encrypt passwords = yes/no", pois ele no tem como adivinhar que tipo de senha as demais mquinas da rede esto usando. Implementaes mais antigas (Windows for Workgroups, primeiro Windows 95) ainda usam senhas em texto puro. Todas as implementaes mais novas (Windows 95 OSR2, Windows 98/NT/2000) usam senhas encriptadas por padro, embora isso possa ser mudado pela edio de uma chave no Registro. O diretrio /usr/doc/samba tem arquivos .reg para converso dos diversos sabores do Windows para modo texto. RESPOSTA LONGA No protocolo NetBIOS/SMB original, as senhas so transmitidas em texto puro, ou seja, exatamente como so, atravs da rede. Com a difuso das ferramentas de "sniffing", qualquer usurio pode captar os pacotes de rede, filtrar aqueles destinados autenticao e coletar as senhas dos usurios. A simples encriptao da senha no resolve o problema, apenas eleva um pouco a dificuldade de invaso, do ponto de vista de um usurio comum, pois basta sniffar/armazenar/transmitir a verso encriptada. O protocolo SMB evita esse problema usando simultaneamente a encriptao 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 nmero aleatrio de 64 bits. (n) O cliente gera um "hash" da senha com o nmero aleatrio. Esse hash ser o "desafio". (c * n) O cliente transmite o nmero aleatrio e o desafio ao servidor. O servidor, que tambm tem uma verso encriptada da senha (c'), gera novamente o "hash" baseado na sua senha mais o nmero aleatrio gerado pelo cliente. (c' * n) Se os dois "hashes" coincidirem, significa que o cliente sabe a senha, pois se (c * n) == (c' * n), ento c == c'.

Como a operao "*", nesse caso, um hash (no estilo MD5) e no uma multiplicao, a igualdade acima indica que MUITO PROVAVELMENTE c == c', mas sempre existe a (pequenssima) chance de o cliente estar num dia de sorte e ter "chutado" a senha correta.

Note que usar senhas encriptadas envolve muito mais passos na autenticao. O esquema acima evita a transmisso da senha em qualquer situao, seja a verso pura ou encriptada. Infelizmente, o protocolo DCE/RPC abre algumas brechas no esquema, que permitem uma deduo facilitada da senha encriptada, e ento 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 dgitos 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 bero". Ambos so relativamente pouco resistentes inverso (i.e. achar a senha original a partir da encriptada.) Como devo cadastrar os usurios no servidor Samba? Em primeiro lugar, cada usurio NetBIOS deve corresponder a um usurio UNIX, porque deste ltimo que dependem as permisses de acesso. Ento, o primeiro passo cadastrar os usurios Unix, com adduser ou coisa parecida. Se sua rede usa senhas em texto puro (acho improvvel :) e os nomes dos usurios NetBIOS correspondem exatamente aos usurios Unix em nome e nmero, 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 usurio em /etc/smbpasswd, com smbadduser <usurio UNIX>:<usurio NetBIOS>. Exemplos:


[root@localhost]# smbadduser epx:elvisp [root@localhost]# smbadduser joao:joao

Note que aqui voc tem uma oportunidade de cadastrar usurios cujo nome NetBIOS seja diferente do nome UNIX. Cadastrar a senha encriptada do usurio, com smbpasswd. Esse utilitrio funciona de forma semelhante ao passwd, mas preencher apenas as senhas encriptadas em /etc/smbpasswd. Se voc tem vrios usurios NetBIOS que devem ser mapeados como um nico usurio UNIX, voc deve editar o arquivo /etc/smbusers. Esse arquivo tem diversas linhas no formato
<usurio UNIX> = <usurio NetBIOS> <usurio NetBIOS> ...

Exemplos:
root = administrator epx = elvis elvisp epx

Crie a relao entre usurios UNIX e NetBIOS no mesmo padro. Depois, certifique-se de que o arquivo /etc/smb.conf esteja com a seguinte diretiva implementada e descomentada:
username map = /etc/smbusers

AFAIK tambm ser necessrio reiniciar o servidor SAMBA aps fazer esta ltima alterao (a maioria das alteraes em /etc/smb.conf assumida pelo servidor sem necessidade de reinici-lo.):
[root@localhost]# /etc/rc.d/init.d/smb restart

Como administrar as permisses dos usurios usando grupos? Eu gostaria de administrar as permisses dos usurios usando grupos UNIX, e tenho usurios que esto em diversos grupos. Porm, quando um usurio cria um novo arquivo via servidor Samba, o grupo desse arquivo sempre o grupo primrio do usurio. Como fazer com que os arquivos criados sejam possudos pelo grupo que eu definir? fcil. Se, por exemplo, todos os arquivos criados no diretrio /home/samba/hercules devem ser possudos pelo grupo "contabil", basta tornar o grupo dono desse diretrio 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 parmetros de permisso:
force create mode = 775 force directory mode = 2775

Note que isso NO modificar as permisses dos arquivos e diretrios 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 permisses estveis. (ao invs 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 mquinas? (Muitas das recomendaes a seguir no so mandatrias, porm vo resultar em uma rede mais estvel e mais facilmente escalvel.)

Tenha um mestre de domnio. Se voc j tiver um computador NT como PDC, provavelmente vai continuar com ele. Do contrrio, escolha um dos servidores Samba para a tarefa. Esse computador dever ser um "servidor", ou seja, um computador no sujeito a ser desligado/religado a toda hora. No Samba, o comando "domain master = yes" define o mesmo como mestre de domnio, ou PDC. Eleja o mestre de domnio como navegador-mestre local, de forma explcita, de forma a que os diversos Samba e/ou Windows NT no fiquem brigando pela funo. Um Windows NT que seja PDC ganha automaticamente essa funo. No Samba que faa papel de PDC, use a diretiva "os level = 254" para garantir que ele ganhe a eleio. (Talvez um nmero bem menor que esse j basta, mas melhor no facilitar :) JAMAIS promova o Samba a mestre de domnio ou coloque um OS level muito alto se o PDC for outro computador - em particular se for o Windows NT, do contrrio haver "guerra" pela funo. O servidor NT, que seja PDC, no aceita perder a eleio

para navegador, convoca nova eleio, perde de novo, convoca nova eleio... gerando um grande e desnecessrio trfego de rede. Procure usar senhas encriptadas. Alguns recursos mais novos como logons de domnio exigem o uso de senhas encriptadas, ento melhor acostumar-se com elas desde j. Se voc possuir computadores com a primeira verso do Windows 95 ou 3.1x, atualize-os com os patches da Microsoft para senhas encriptadas. Todas as verses mais recentes do Windows usam senhas encriptadas por padro. AFAWK clientes MS-DOS ou Lan Manager no 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 encriptao de senhas nas diversas verses do Windows. Use WINS. Defina um dos servidores como servidor WINS. (No precisa ser o PDC. importante apenas que seja um computador ligado o tempo todo, e com endereo IP fixo.) Se escolher um computador Samba como servidor WINS, habilite esse recurso com a clusula "wins support = yes". Nos demais computadores, no esquea de indicar-lhes qual o nmero IP do servidor WINS. No Windows, isso se configura nos folders do TCP/IP. Nos computadores Samba, use a clusula "wins server = a.b.c.d", e indique a ordem de resoluo de nomes com "name resolve order = wins bcast". Se voc usa DHCP, configure-o com o nmero 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 domnio ou grupo de trabalho, naturalmente haver um PDC ou mestre de domnio, por domnio :) No entanto, o servidor WINS dever ser nico na rede (*). (*) A no ser que voc deliberadamente queira que os usurios de um domnio no enxerguem outro(s) domnio(s). Eu tenho vrias redes interligadas. O que mais preciso observar? (Assumindo que voc j observou os pontos da pergunta anterior)

Defina qual ser o mestre de domnio, ou PDC, para toda a planta. (Se houver mais de um domnio, defina quais sero 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 usurios do domnio. Defina qual ser o servidor WINS, para toda a planta. A no ser que voc queria mesmo segregar usurios, o servidor WINS ser um s para todos os domnios. Nas redes em que houver um servidor samba, configure-o com um OS level alto para que ele seja o navegador daquela rede. No esquea de configur-lo, e a todas as mquinas da planta, com o endereo IP do servidor WINS.

Tome especial cuidado para que no haja coincidncia em nomes de mquinas. Particularmente problemtico um computador com o mesmo nome do mestre de domnio. A troca de dados entre os navegadores locais e o mestre de domnio automtica. Pois, quando o PDC ativado, registra-se com essa funo 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 usurio de uma rede perimetral pode demorar at 36 minutos para enxergar outro usurio em outra rede perimetral. (Isso pode ser provado atravs de um pequeno exerccio de lgica - e de qualquer forma lembre-se que "se aconteceu, tem de ser possvel" :). Tenho duas placas de rede no meu servidor, mas apenas os usurios ligados a uma das redes enxerga o Samba. Qual o problema? O Samba, por padro, 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 configurao abre uma possibilidade no muito bvia. Poderamos rodar vrias instncias separadas do Samba em um mesmo computador, desde que cada instncia ligue-se a uma interface separada. (Nada que no pudesse ser aproximado com a macro %L, mas ...) Como o Linux pode ser *cliente* do protocolo SMB?

smbclient. uma espcie de "canivete suo", em modo texto. Permite a navegao em volumes no estilo FTP, impresso, remessa de mensagens, consulta a recursos de servidores etc. Alguns utilitrios smbprint, smbtar) so meros scripts que chamam alguma funo do smbclient. Sua principal vantagem ser verstil. A principal desvantagem no ser uma ferramenta adequada para o usurio final, e s vezes nem mesmo para o usurio experimentado. nmblookup. Apenas lista as mquinas NetBIOS da rede. smbmount. Aliado a um mdulo do kernel, permite montar volumes SMB como diretrios do UNIX. Sua principal vantagem a transparncia. Uma vez montado, o volume pode ser tratado como qualquer outra rvore de diretrios do sistema. Desvantagens: compatvel apenas com Linux e tambm no palatvel ao usurio 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 diretrios (/smb/<servidor>/<volume>/...), de modo que tanto o shell quanto os programas executados a partir dele "pensam" que esto acessando arquivos comuns, mas na verdade essas chamadas so interceptadas e satisfeitas via SMB. Vantagens: compatvel com diversos Unixes, no envolve processo de montagem e, como mapeia a rede NetBIOS como diretrios comuns, torna-se acessvel ao usurio final atravs de outras ferramentas. A pricipal desvantagem no funcionar direito.

Outra desvantagem no suportar todas as chamadas de sistema passveis de lidar com arquivos (e.g. mmap). navegadores no estilo "Ambiente de Rede". Existem alguns (kruiser, gnomba, xsmbbrowser), nenhum suficientemente bom ou estvel. De todos, o kruiser o que mais perto chega de ser til. Mas a principal desvantagem de outra natureza: fraca integrao com o ambiente grfico. Pouco adianta enxergar volumes/arquivos dentro de um utilitrio, se voc no enxerga esses mesmos objetos em nenhum outro programa ! smbtree. um conjunto de utilitrios em estgio inicial de desenvolvimento pela Conectiva. uma espcie de integrador dos recursos existentes (smbclient, nmblookup, smbmount) com objetivo semelhante ao smbwrapper: manter uma rvore de diretrios anloga estrutra da rede NetBIOS. Suas principais vantagens sero: a transparncia do smbmount (pois realmente montar os volumes que o usurio quer acessar), a casualidade do smbwrapper (pois a estrutura de diretrios ser dinmica) e a transparncia, pois qualquer programa que consiga ler uma rvore de diretrios, enxergar a rede NetBIOS. Apesar de usar como apoio os utilitrios smbmount, smbclient e nmblookup, tentarse- eliminar a necessidade da presena do arquivo /etc/smb.conf, problema que afeta todos os demais utilitrios. (Pelo menos numa workstation, parece estranho ter de configurar o servidor para se ser cliente, no ?) Ter como desvantagens a pouca ou nenhuma compatibilidade com sistemas noLinux, e (por enquanto) no suportar filas de impresso remotas, obrigando ao uso do smbprint. Como posso montar um drive do Windows como um subdiretrio do Linux? No Samba 2.0.6:
smbmount //servidor/volume /diretorio -o username=usuario%senha ^^^^^^^^ ^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^

As setas apontam os parmetros 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 parmetros mais importantes so:
encrypt passwords wins server wins support name resolver order (vide "Como especificar a ordem de resoluo de nomes NetBIOS?)

A forma de especificar usurio e senha nas verses 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 recuperao (i.e. se a conexo fechada, ele tenta abr-la novamente, tal qual faria um cliente Windows). Porm, devido a um bug no sistema de log, o smbmount aborta ao tentar reabrir a conexo. A verso 2.0.6 do Samba, que distribuda com o Conectiva Linux 5.0, est devidadamente "patcheada", porm fique atento a verses mais antigas e mais novas !

Como devo proceder para mandar jobs de impresso para uma impressora ligada a um servidor Windows? A opo fcil usar o printtool, um utilitrio grfico que tambm pode ser acessado a partir do control panel. A configurao muito fcil, mas observe que seu arquivo /etc/smb.conf deve estar minimamente configurado, tal como no caso do smbmount. (Tudo fica mais fcil se voc for acessar a impressora como guest, ou seja, sem usurio/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 mquina, usurio e senha. O smbprint um script que varia ligeiramente conforme a distribuio; verifique seu contedo para determinar o nome exato das variveis que voc dever preencher. Se tiver dvidas e o modo grfico estiver funcionando em seu (ou em outro) computador, crie uma impressora via printtool e verifique o contedo de /etc/printcap e /var/spool/lpd/<fila>/.config, para "pegar o erro". Se tiver dvidas e o modo grfico estiver funcionando em seu (ou em outro) computador, crie uma impressora via printtool e verifique o contedo de /etc/printcap e /var/spool/lpd/<fila>/.config, para "pegar o erro". Existe algum utilitrio 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 servio corrente (se houver/fizer sentido) %P -> o diretrio-raiz do servio corrente %u -> usurio UNIX (efetivo) %g -> grupo primrio UNIX correspondente a %u %U -> usurio NetBIOS (que pode ser diferente de %u) %G -> grupo primrio de %U %H -> Diretrio-base do usurio %u. %v -> Verso do Samba. %h -> Nome DNS da mquina em que o Samba est rodando. %m -> Nome NetBIOS do cliente. %L -> Nome NetBIOS do servidor. (*) %M -> O nome DNS da mquina-cliente. %I -> O nmero IP da mquina-cliente. %R -> Nvel de protocolo negociado. (CORE[PLUS]?, LANMAN{1,2}, NT1) %d -> O nmero do processo (PID) do servidor corrente.

%a -> Arquitetura da mquina-cliente. (**) %T -> Data e hora correntes.

(*) Como um servidor pode ter diversos apelidos NetBIOS alm do nome primrio, 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 auxlio da diretiva include, ter-se diversos "servidores virtuais", "diferentes", num nico computador e rodando uma nica instncia do Samba. (**) No 100% confivel e informa apenas Samba, WfWg, WinNT e Win95. Qualquer outro tipo de cliente ser UNKNOWN. As macros so interpretadas da seguinte maneira. Quando um usurio conecta-se a um servidor, uma nova cpia do processo smbd iniciada. Essa cpia 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 especfico) para cada usurio ! A diretiva include no 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 configurao do Samba deve conter uma diretiva semelhante a:
logon script = %U.bat

O diretrio-base dos logon scripts o volume [netlogon]. No exemplo, se o diretrio do volume netlogon for igual a /home/samba/netlogon, o script do usurio "roberto" seria procurado em /home/samba/netlogon/roberto.bat. Nada impede que se introduza um subdiretrio na diretiva logon script, como em
logon script = profiles/%U.bat

Dois detalhes muito importantes:

Verifique as permisses do usurio: as permisses do volume [netlogon] em si, as permisses UNIX do usurio para com o(s) diretrio(s) desse volume, e finalmente permisso de leitura do usurio 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 padro do DOS, o logon script NO funcionar. O que so volumes "home"? O volume [homes] do Samba na verdade um falso volume, que mapeado para o diretriobase do usurio UNIX ("home"), correspondente ao usurio que logou-se no servidor. Como cada usurio tem esse volume mapeado para seu prprio diretrio-base, uma forma fcil e rpida de criar volumes "privativos" dos usurios. Conforme veremos em seguida, esses volumes so *necessrios* para armazenar profiles. Como usar roaming profiles?

WINDOWS 95/98

No folder Painel de Controle / Senhas / Perfis de Usurio, o Windows deve estar configurado para usar profiles (perfis) separados por usurio. O padro usar um nico perfil para todos os usurios da mquina. Nesse mesmo folder voc pode configurar tambm se cones do desktop e menus fazem ou no parte do profile. Se voc no usava profiles antes, interessante apagar os usurios j cadastrados no folder Painel de Controle / Usurios, suas senhas em cache (\WINDOWS\*.PWL) e seus profiles locais (\WINDOWS\PROFILES\*). O Windows NO pergunta ao PDC onde esto os profiles - ele assume que esto no diretrio-base do usurio ("home"). Isso significa, para o Samba, que a clusula "logon path" deve existir mas ser incua; 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 polticas de funcionamento (FIXME: Imagino que ali podemos dizer que o profile est em outro lugar que no o "home" do usurio). Infelizmente, o CONFIG.POL no um arquivo-texto comum, e seu formato no 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 contrrio o Windows 95 recusar-se-ia a gravar os profiles no "home" do usurio. No confirmamos a necessidade disso; porm, existem vrias sub-verses do Windows 95, e pode ser que alguma delas exija essas coisitas. Parece que o comportamento de jogar os profiles no diretrio home particular do Samba 2.0.6, enquanto os Sambas anteriores obedeciam ao logon path. Vide este email 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

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

Tambm deve ser configurado para usar perfis; Ao contrrio do 95, ele l/grava o profile na localizao apontada pelo PDC; portanto, a diretiva "logon path" deve ser corretamente configurada. Costuma ser recomendada a criao de um volume apenas para os profiles. A desvantagem desse mtodo que o diretrio de cada usurio tem de ser criado manualmente. Uma sada possvel fazer
logon path = \\%N\%U\profile (*)

e modificar o script "adduser" de modo que esse ~/profile seja criado no momento da criao do usurio. (Um FAQ sugeriu que o Windows tenta criar automaticamente quaisquer subdiretrios, o que tornaria desnecessria a alterao em adduser. Sujeito a verificao !!!) (*) %N o nome do prprio servidor e %U o nome do usurio NetBIOS. \\%N\%U resulta no prprio volume "home" do usurio -- desde que o volume [homes] exista ! O NT tambm l o arquivo CONFIG.POL, se ele existir. Como posso fazer o profile ser individual por MQUINA (no por usurio, como mais comum) e fixo (somente-leitura)? Use a seguinte linha:

logon path = %systemroot%\profiles\%u

onde %systemroot% simboliza um diretrio LOCAL da mquina-cliente de logon, e %u o usurio. A partir disso, pode-se configurar as polticas da mquina para obter o profile padro a partir de um "default user", eliminar profiles de novos usurios assim que eles vo embora (til num ambiente de laboratrio, onde muitssimas pessoas usam as mquinas espordica e aleatoriamente, e no faz sentido manter profile de cada um). <completar com os detalhes da configurao no Windows> Quais so as solues de HA (alta disponibilidade) para Samba? O protocolo SMB estabelece o conceito de "cliente bem-comportado". O aspecto desse bom comportamento que interessa questo 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 usurio). Portanto, um esquema simples de HA que envolva start/stop do Samba em duas ou mais mquinas tende a funcionar bem. Outro aspecto importante do SMB que o acesso s mquinas feito pelo nome, e no pelo endereo 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 conexo. (Essa ltima funcionalidade no funcionar to bem caso a rede use um servidor WINS. Como qualquer esquema decente de HA envolve takeover de IP, no constitui empecilho real para a implementao de HA). O servios mais facilmente portados para HA so os "stateless". Stateless significa que o servidor no retm informaes sobre o cliente. Infelizmente, o Samba no stateless. Como o cliente refaz automaticamente a conexo, isso no faz mossa... Mas, e se o cliente tiver locks sobre um arquivo ? Bem, a faz mossa. Por esse ltimo fator (locks mantidos na memria do processo-servidor), a dificuldade de constituir um servidor Samba-HA varia enormemente DE ACORDO COM O TIPO DE APLICAO QUE OS CLIENTES RODAM. O pior caso seria um programa com banco de dados multiusurio no-SQL. O melhor caso seria o mero armazenamento de textos e planilhas, com atualizao espordica. 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 mquinas com o mesmo nome NetBIOS, e talvez at com o mesmo IP. Essa mensagem ajudou um dia a descobrir um problema de no-localizao do PDC. Uma das mquinas Windows tinha o mesmo nome que o PDC, a... :( Para que serve a clusula "only user"?

Para assegurar que apenas os usurios que estejam na lista definida pela clusula "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 usurio dono do diretrio home. Habilitar essa diretiva ter como nica conseqncia indisponibilizar o volume a usurios perfeitamente legtimos. Para outros volumes, seu uso vlido (em conjuno com user list = ...) porm uma poltica de segurana baseada em usurios/grupos/permisses UNIX seria mais indicada.

14.2. Como configurar o Servidor Samba pelo Linunxconf


possvel fazer essa configurao pelo linuxconf. Abaixo ser explicado como chegar e qual a funo de seu respectivo tem.
[root@localhost ]# linuxconf

Ambiente de Rede->Samba - servidor de arquivos->Padres: Contm configuraes globais do samba

SMB account management: Seleciona


Not managed: Sem controle Acct. & passwords: Pela conta e senha Acct. only: Somente pela conta

o tipo do gerenciamento de senhas.

Synchronise Linux from SMB passwords: Quando


ser alterado no sistema Unix

o samba alterar a senha tambm

Descrio do Servidor:

a descrio que aparecer quando no existir uma especfica do compartilhamento.

Grupo de Trabalho: o nome workgroup. Netbios Name: e Netbios Name aliases: Permite
outros nomes netbios.

que sua mquina responda por

Senha criptografada necessria: Se Authentication mode: Modo

selecionado, ele criptografar a senha para se comunicar com o windows98 e nt mais novos. de autenticao:

User: Ter uma verificao dos usurios locais Server: Tentar obter a senha de um outro servidor Domain: Procurar o servidor do domnio Share: No necessrio usar usurios, pois ele requisitar somente a senha.

Map to Guest: Mapear


senha invlida.

ou no para Visitante, quando existir um usurio ou uma o nome do servidor de senha, caso a autenticao

Servidor de Senha: Solicita


seja pelo modo server.

Nvel de senha: Ser

o nmero de combinaes entre maisculas e minsculas que o sistema tentar. Zero significa que sero tentadas somente as todas as letras em masculas e todas em minsculas.

Programa de senha: o programa Permite mquinas: Permite que a

usado para sincronizar as senhas. mquina listada, acesse o sistema

Probe Mquinas: Probe que a mquina listada, acesse o sistema Nvel de OS: o nvel que o sistema ter para a eleio do mestre de domnio. Mestre preferencial: Caso exista mais de uma mquina com o mesmo nmero de OS
esse ter uma preferncia.

Anuncio remoto: Possibilita

que uma mquina fique em um segundo grupo de trabalho, para isso apenas inclua o ip da rede seguido do domnio: 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 mquina. Add user script: Script que ser usado para adicionar o usurio no linux. Delete user script: Script usado para retirar uma conta do linux Conta convidado: o nome do usurio que ser responsavel pela conta visitante Tempo limite de inatividade: o tempo em que a mquina vai verificar se as
mquinas windows no respondem mais, usado para travamentos do windows.

Nvel de depurao: o nvel em que ser Servio padro: Este parmetro especifica
no seja pedido nenhum.

criado o log o nome do servio que ser usado caso

Comando WinPopup:
mensagem WinPopup.

o comando que ser executado quando o linux receber uma

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-> Opes do diretrio HOME de usurios:

Comentrio/descrio: Comentrio do compartilhamento Este servio est ativo: significa que ele pode ser usado. Navegvel: Permite que se entre nos sub-diretorios. Acesso pblico: Permite acessar sem possuir uma senha Lista de usurios: usado apenas quando o servidor de compartilhamento Apenas o usurio pode conectar: somente
compartilhamento os listados podem conectar ao

no obtem o nome do usurio, ento ele deve procurar a senha nos seguintes usurios

Lista de escrita: Ser

permitido aos usurios que esto nesta lista, quese conectem com permisso de escrita no importando o estado da opo "gravavel".

Usurios vlidos e invlidos: So


ocompartilhamento.

usurios que so vlidos ou no para o nmero mximo de compartilhamentos que podem

Nmero mximo de conexes:


existir.

Ambiente de Rede->Samba - servidor de arquivos->Opes de Impressoras

Este servio 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 pblico: Permite acessar sem possuir uma senha. Netlogon setup: Netlogon permite que um script seja executado
se loga.

quando o usurio

Ambiente de Rede->Samba - servidor de arquivos->Compartilhamento de disco:

Nome do compartilhamento:
servio

o nome que ser mostrado para uma conexo a esse

Comentrio: a descrio do servio. Este servio est ativo: Este compartilhamento


selecionado.

pode ser usado, caso esteja

Navegvel: possvel navegar entre os diretrios. Herdar opes do compartilhamento: copia as configuraes
compartilhamento

de outro

Diretrio para exportar: Diretrio, o qual ser exportado. Acesso pblico: Se ativo no necessrio ter uma senha. Acesso pblico apenas: somente o usurio visitante pode acessar
compartilhamento

o dados. servidor se

Gravvel: Permite que os usurios deste compartilhamento gravem Permite e probe as mquinas: No deixa as mquinas conectarem no
estiverem proibdas

Lista de usurios:

usado apenas quando o servidor de compartilhamento no obtem o nome do usurio, ento ele deve procurar a senha nos seguintes usurios.

Apenas os usurios podem conectar: Caso


usurio estiver listado.

esteja ativado conecta somente se o

Usurios de administrao: so
compartilhamento.

usurios que tem permisso de root sobre esse

Lista de Escrita:

uma lista de usurios que podem gravar dados, no importando a especificao de "gravavel =".

Usurios vlidos: a lista de usurios que podem acessar o compartilhamento. Usurios invlidos: guarda a lista de usurios que no podem conectar o
compartilhamento.

Usurios sem permisso de escrita: so


leitura.

os usurios que s possuem permisso de

Comando de pr-conexo:

um comando que ser executado quando estiver se conectando ao compartilhamento.

Comando de pr-conexo(super-usurio): Comando de ps-conexo: Fora usurio: Manda Fora o grupo: Manda

um comando que tambm ser executado quando se estiver logando, embora seja executado como root um comando que ser executado quando quando o servio esteja sendo desconectado. o compartilhamento conectar com o usurio especificado. o compartilhamento conectar com o grupo espeficicado.

No recursivo: especifica quais os diretrios que devem aparecer em branco Conta convidado (este compart.): a conta convidado, especificamente para esse
compartilhamento

Nmero mximo de conexes:


compartilhamento.

o nmero mximo de conexes para esse o estado

Ambiente de Rede->Samba - servidor de arquivos->Samba Status Server:Mostra


do samba

14.3. Como configurar o servidor Samba direto pelo arquivo de configurao?


Antes de editar o arquivo de configurao, recomendamos que faa uma cpia de segurana, para isso digite:
[root@localhost ]# cp /etc/smb.conf /etc/smb.conf.original

possvel verificar se a configurao 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 explicao do arquivo /etc/smb.conf, onde fica a maioria das configuraes do samba, e onde possvel usar as citadas acima. Obs.: Os # e ; so comentrios.
[global] # A Seo [global] significa que a configurao especificada abaixo, # aplicam-se ao servidor ou so gerais. Enfim a base para o funcionamento # do samba # Especifica a quantidade de memria do servidor SAMBA # quanto mais melhor, mas 10MB j bastante # para umas 5 a 10 estaes. ;shared mem size = 1048576 # Nome o workgroup que as estaes Windows iro apontar workgroup = MYGROUP # Observao que ir aparecer sobre o computador, e caso a observao do # compartilhamento esteja vazio o compartilhamento usar essa observao. server string = Servidor de Samba %h - Verso %v # # # ; Especifica o tipo de servidor nmbd (Servidor de Nomes NetBIOS) que ser divulgado na rede. O padro igual a Windows NT. As opes vlidas so "NT", "NT Server", "NT Workstation", "Win95" ou "WfW" . Exemplo: announce as = NT Server

# O diretrio-base dos logon scripts o volume [netlogon]. No exemplo, se o # diretrio de compartilhamento netlogon for igual a "/home/samba/netlogon", # o script do usurio "roberto" seria procurado em # /home/samba/netlogon/roberto.bat ;logon script = %U.bat # # # # # Este parmetro define o conjunto de mquinas que podem acessar o servidor samba. Pode-se utilizar o nome ou o endereo IP da mquina. possvel, 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

# parmetro "EXCEPT" para excluir-se alguma(s) mquina(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 parmetro anterior, j que aqui podem ser # listadas todas as mquinas que no devem ter acesso aos servios. ;hosts deny = 150.203.5. minha_mquina.domnio.com.br # Carrega a configurao das impressoras que esto # instaladas no servidor samba printcap name = /etc/printcap load printers = yes # Seleciona o tipo de impresso padro, caso no funcione normalmente. # bsd, sysv, plp, lprng, aix, hpux, qnx ; printing = bsd # Transforma todos os usurios que de algum modo foram indicados como # visitantes em usurio guest ; guest account = guest # Criar um arquivo de log para cada usurio. Ex. log.renato # possvel usar %m para obter logs por maquinas log file = /var/log/samba/log.%u # Tamanho mximo permitido para um log. max log size = 50 # Nvel do log, enquanto maior mais detalhes so mostrados. recomendado # usar at 2 e o nvel 0 representa nenhum. debug level = 1 # Mquinas Windows tendem a travar de tempos em tempos. Este # parmetro utilizado para verificar o estado da conexo, a cada 20 # segundos. keepalive = 20 # # # # # # # # # # # # # # # # # # # # Autenticao de usurios - Modalidade de segurana "security=share": Sem segurana. Todo e qualquer usurio ser aceito. As operaes de arquivo e impresso sero executadas com as permisses do usurio UNIX associado ao hspede (guest account = ...). Se voc escolher essa modalidade, verifique se o usurio UNIX ter permisses suficientes para acessar arquivos e, se for o caso, imprimir. Assim senhas de acesso so solicitadas por recurso compartilhado e no por usurio. Ou seja cada diretrio ou impressora poder ter uma senha nica conhecida por todos os usurios autorizados. "security=user": Segurana por usurio, local. A senha do usurio reduzida a letras minsculas e confrontada com a senha UNIX. Essa modalidade de segurana obriga que os usurios sejam cadastrados no Linux, e suas senhas sejam atribudas corretamente. As operaes sobre arquivos e de impresso sero feitas com a permisso do respectivo usurio UNIX. Todavia, pode-se abrir aos hspedes o acesso a determinados volumes ou impressoras - para esses objetos, a segurana operar no estilo SHARE. "security=server": Segurana por usurio, remota. O Samba pega o nome de

# usurio e a senha, e autentica junto a outro servidor, que poder ser # outro Linux rodando Samba, ou um Windows NT. Apesar da autenticao ser # remota, ainda necessrio criar os usurios UNIX localmente em # determinados casos. # # "security=domain": Segurana por usurio, remota. Praticamente idntica # modalidade SERVER, porm convive com instalaes mais complexas onde # existem computadores NT operando como PDCs (primary domain controllers) e # BDCs (backup domain controllers). Nesse modo, mais de um servidor de # autenticao pode ser especificado na linha password server do arquivo de # configurao. (O suporte do Samba a domnios do NT ainda incompleto e # deve estar pronto na verso 2.1; por ora, a modalidade DOMAIN no difere # muito da modalidade SERVER.) security = user # Quando tentarem efetuar um login, e o usurio ou a senha no sejam # vlidos, ser repassado para o usurio visitante: # Onde so vlidos: "Bad User" (mau usurio), "bad password" (m senha) # ou "never" (no ser repassado para o usurio visitante). map to guest = Bad User # Servidor de senhas, ou seja, o nome NetBIOS da mquina junto a qual # o Samba vai autenticar os usurios. ;password server = Senhs_server # Especifica o nome do servidor de usurios e senhas, quando especificado # security = server ; password server = <NT-Server-Name> # Quando a senha no for vlida tente 8 modos diferentes. Ex.: Para uma # senha ou usurio abcdefgh, tente # abcdefgh Abcdefgh aBcdefgh ... ABCDEFGh ABCDEFGH ; password level = 8 ; username level = 8 # # # # ; ; O Windows 98, bem como verses mais recentes do Windows NT Workstation, transmitem senhas criptografadas no processo de autenticao. Como no possvel usar o mesmo padro de criptografia, necessrio executar o programa smbpasswd para a criao de senhas criptografadas. encrypt passwords = yes smb passwd file = /etc/smbpasswd

# usado para sincronizar a alterao 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* # Usurios UNIX no precisam necessariamente ter o mesmo nome dos # usurios NetBIOS. A tabela /etc/smbusers permite estabelecer # equivalncias entre nomes dessemelhantes. ; username map = /etc/smbusers # Esta opo 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 # estaes, normalmente melhor deixar tudo com 16Kb # em se tratando de interfaces de rede tipo NE2000

;max xmit = 16384 # Esta opo indicara para as mquinas da rede 192.168.2.255, que esta # mquina estar no grupo de trabalho CONECTIVA, alm do grupo original. ; remote announce = 192.168.2.255/CONECTIVA # Est opo 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 so guardados os nomes das mquinas que existem na rede # windows. # Configure a seguinte opo como 'no' se voc no quiser que o Samba # torne-se um mestre local. Do contrrio, as regras normais de eleio # que valero. (ou seja, local master = yes NO garante que o Samba # seja o mestre local) local master = yes # Nvel do sistema operacional, que determina sua preferncia em # tornar-se mestre local. Quanto maior o nmero, maior a chance de o # servidor tornar-se um mestre. O padro do windows nt 32. Evite colocar o # mesmo nmero que alguma mquina windows, pois a mesma no gosta de perder # eleies para mquinas linux que tenham o mesmo nmero. os level = 33 ## Se a seguinte linha for configurada como 'yes', o Samba ser o # navegador-mestre do DOMNIO. No use esta opo se voc j tem um # servidor NT que seja o PDC. ; domain master = yes # Esta opo fora uma eleio para mestre local quando o Samba # acionado, e lhe d uma pequena vantagem na disputa. # # NO habilite esta opo em mais de uma mquina, do contrrio # os diversos 'preferred masters' vo ficar promovendo eleies # para mestre o tempo todo; isso causar trfego intil de rede # e pode prejudicar a qualidade das listas de navegao i.e. elas # podero no conter todas as mquinas da rede e no ficar to lento, se # tudo estiver configurado corretamente. preferred master = yes # Use somente se existe um nt server em sua rede, configurado para ser o # primeiro domnio de controle ; domain controller = <NT-Domain-Controller-SMBName> # Caso seja habilitado, tornar o linux um domnio de login, para estaes # windows 95 ; domain logons = yes # sicroniza a data do sevidor para as estaes. # interessante para ter controle sobre data/hora # de criao de arquivos e coisas do genero # E em sua mquina windows/dos digite para configurar a hora: # net time /set /yes time server = True # a forma de como ser procurada a mquina: # As opes so: "lmhosts", "host", "wins" e "bcast" # lmhosts - Tenta usar um arquivo de configurao do samba

# 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 mquina por Broadcast # # recomendvel 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 comunicao inter-redes # wins grava as informaes repassadas pelos servidores masters de cada rede # e possibilita que uma rede converse com outra # Ao retransmitir essas informaes do mestre de domnio, o mestre obtem a # lista de servidores mestres do servidor wins, essa retransmisso demora # em mdia 15 minutos, e usa endereos ip. ; wins support = yes # # # # ; Indique aqui o IP do servidor WINS da instalao. Se o computador for ele mesmo o servidor WINS (a linha 'wins support = yes' est ativa), no use esta opo, pois do contrrio 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 transmisso em nome de outras #mquinas. Voc pode necessitar ajustar este a " sim " para alguns clientes mais velhos. ; wins proxy = yes # Diz ao samba se ou no 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 minsculas como # minsculas. ;short preserve case = yes # Se a mquina possuir mais de uma placa de rede, necessrio estabelecer # em que interface(s) o Samba vai atuar. Note que isto NO suficiente # para evitar conexes originrias 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 configurao de segurana. # # No exemplo abaixo, a mquina tem 2 intefaces, cujos nmeros IP e # netmasks esto bem bvios. ;interfaces = 168.1.1.1/24 10.120.1.24/16 # A seo [homes], epecifica que deve ser ativado um servio que permite o #acesso aos diretrio pessoais de seus respectivos usurios. Isto permite #que os usurios acessem seu home. [homes] comment = Diretrios Pessoais # Evita que os diretrios pessoais sejam vistos por outros usurios browseable = no # Samba probe por padro a gravao em recursos exportados.

# O parmetro a seguir permite que os usurios possam gravar em # seus diretrios pessoais. read only = no # Permite que apenas o hspede(convidado) tenha acesso ao volume ou # impressora que contiver o parmetro 'guest only = yes' guest only = no # writeable parecido com o writable, e permite que exista gravao no # compartilhamento writeable = yes

# A seo [printers] especifica como se configura uma impressora, para ser #usada pelo samba, ou faz o sistema ler as configuraes do printcap. # # A configurao abaixo far com que os usurios das # estaes Windows vejam todas as impressoras do # servidor. [printers] #Este parmetro define o nome da impressora para a qual os servios de #impresso sero enviados. Exemplo: ;printer name = laserwriter comment = Spool de Impressao path = /var/spool/samba # Controla se o compartilhamento ser visualizado na lista de recursos # disponveis. O padro browseable = no # Caso este parmetro seja definido como 'yes' para um servio, ento # nenhuma senha ser solicitada ao usurio. Os privilgios sero iguais # aos definidos para a conta "guess account" definida no parmetro # anterior. Exemplo: guest ok = no #Caso este parmetro seja definido como "no", no ser permitida a #criao ou modificao de arquivos no diretrio compartilhado. #Note-se que o parmetro "printable = yes" sempre permitir a gravao #atravs de operaes de gerao de arquivos temporrios de impresso. # Exemplos: ;read only = no ;writeable = yes ;write ok = yes # So iguais printable = yes # caso public seja = yes no necessrio possuir uma senha para entrar no # compartilhamento public = no read only = yes # Este parmetro permite que a seo atual seja uma cpia de qualquer seo # anterior. Caso haja necessidade de alterar um parmetro, basta inform-lo na # seo atual. # Esta funcionalidade muito til para a criao de modelos que podem ser # replicados e rapidamente alterados para todos os recursos compartilhados. [hom]

copy = homes guest ok = yes read only = yes # Especifica o diretrio ao qual o usurio do servio ter acesso. No # caso de impressoras, ser o diretrio de arquivos temporrios de # impresso. Exemplo: [PUBLICO] comment = Diretorio Publico path = /home/samba public = yes guest ok = yes printable = no #Permite configurar o nmero mximo de conexes simultneas a esse #servio. Exemplo: ;max connections = 10 # Permite definir um limite aparente da rea em disco que pode ser # utilizada pelo compartihamento. A unida padro igual a Mb # (megabytes). Exemplo: ;max disk size = 250 # Para compartilhar o CD-ROM do servidor nas estaes # Usa o mesmo princpio do diretorio PUBLICO [CDROM] comment = CD-Rom SAMBA path = /mnt/cdrom read only = yes public = yes # Permite a gravao no spool printable = no guest ok = yes browseable = yes #Permite definir os usurios que tero privilgios de administrao do #compartilhamento, ou seja tero poderes de superusurio. E pode ser usado a #qualquer seo de compartilhamentos. Exemplo: ;admin users = renato, teste # Descomentando, os seguintes cram o diretrio do netlogon para login's de # uma sesso do domnio. ; [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 sero colocados # no diretrio home, usado somente por fred. Abaixo o usurio ter acesso de # gravao para o diretrio spool ;[fredsprn] ; comment = Fred's Printer # Valid users usado para especificar quais os usurios que podem usar o # servio. E invlid users, expecifca quais no tem acesso. Caso deseje # trabalhar com um grupo use @ ; invalid users = @user

; ; ; ; ; ;

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 permisses: ;force create mode = 775 ;force directory mode = 2775 # no compartilhamento abixo, cada mquina ter um compartilhamento # diferente. # Pode ser usado uma configurao por usurios, 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 atravs do SWAT?


Esse documento abrange apenas as configuraes bsicas, caso queira configuraes avanadas, verifique as opes de help presente para cada tem e a pgina de manual do smb.conf, voc poder encontrar um tutorial no seguinte endereo:http://revistalinux.com.br/ed/01/samba.php3 ### VERSO 6.0 ### necessrio 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 diretrio das RPMs:


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

Execute o comando de instalao:


[root@localhost]# rpm -ivh samba-swat-2.0.7-10cl.i386.rpm

Primeiramente como superusurio estando no X abra um terminal, e edite o arquivo /etc/inetd.


[root@localhost]# mcedit /etc/inetd

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 preferncia, e digite:


http://localhost:901

Dever aparecer uma tela solicitando usurio e senha, entre com superusurio e a senha. A partir de agora iremos configurar o bsico para o funcionamento da rede samba, selecione a opo [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: descrio do servidor Security: deve ser configurado como USER Encrypt Password: at a verso do windows95/WFW no era utilizado senhas criptografadas na autenticao, isso era chamado de "plain-text password" e por default o mtodo de autenticao do SAMBA. Mas a partir da verso OSR2 do Windows95 foi implementado a autenticao de senhas criptografadas. O Linux pode trabalhar com qualquer um dos tipos, porm se estabelecermos "no" em "Encrypt Password", deve ser alterada o register do windows da verso OSR2 ou Superior para "plain-text password". Agora se voc possuir windows95 OSR2 ou posterior e quiser utilizar a autenticao de senhas criptografadas, voc deve selecionar "Ecripty password" no SWAT para "yes", no precisando fazer nenhuma alterao do register do windows. Note que a criptografia de autenticao que o Windows utiliza diferente da usada pelo Unix, isto implica em ter que compatibilizar os usurios do Linux com os usurios do Samba. Veja mais a frente na opo "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 minsculos. Com o "Password Level" podemos fazer com que o Samba teste a senha recebida em minsculo com uma combinao de "n" caracteres maisculos. Exemplo: Se "n" for fixado para 2 em Password Level, significa que uma senha recebida como "jonas" ser testada com at dois caracteres maisculos assim: JOnas, JonAs e JonaS. Para no haver teste de combinao "n" tem que ser setado para 0 (zero). Os demais valores devem permanecer como default. Agora clique no boto [Commit Changes] para efetuar as alteraes. Nota: Como mencionamos anteriormente, esse documento abrange apenas as configuraes bsicas, caso queira uma configurao mais avanada, verifique as opes de help presente para cada tem. O prximo 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 boto [Create Share] para confirmar, depois clique no boto "Advanced View" e preencha os seguinte campos: Comment: Apenas um comentrio sobre este compartilhamento. Path: especifique aqui o diretrio a ser compartilhado, certifique-se que esse diretrio est com as permisses desejadas para o compartilhamento. Read Only: estabelecendo "no" para esta opo voc estar disponibilizando o compartilhamento para escrita e leitura. Os demais valores tambm devem ser deixados como default, clique no boto "Commit Changes" para efetuar as alteraes. Agora iremos configurar alguns usurios para permitir o acesso ao samba, clique no cone [Password] e preencha os campos: User Name: com o login do novo usurio. New Password: com a senha do novo usurio. Ret-Type New Password: confirme a senha do novo usurio. Para concluir o cadastro clique no boto [Add New User]. Pronto seu usurio j estar cadastrado. Para iniciar o servio de rede Samba, clique no cone [Status] e depois clique nos dois botes [Restart smbd] e [Restart nmbd], certifique-se que o status esteja em "running". Ou atravs do xterm:
[root@localhost]# cds

[root@localhost]# ./smb stop

[root@localhost]# ./smb start

14.5. Como configurar o samba atravs do SWAT?

Esse documento abrange apenas as configuraes bsicas, caso queira configuraes avanadas, verifique as opes de help presente para cada tem e a pgina de manual do smb.conf. ### CL9 ### necessrio instalar o pacote samba-swat do cd 2, para instalar use o apt-get.
[root@localhost ]# apt-get install samba-swat

Primeiramente como superusurio 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 preferncia, e digite:


http://localhost:901

Dever aparecer uma tela solicitando usurio e senha, entre com superusurio e a senha. A partir de agora iremos configurar o bsico para o funcionamento da rede samba, selecione a opo [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: descrio do servidor Security: deve ser configurado como USER

Encrypt Password: at a verso do windows95/WFW no era utilizado senhas criptografadas na autenticao, isso era chamado de "plain-text password" e por default o mtodo de autenticao do SAMBA. Mas a partir da verso OSR2 do Windows95 foi implementado a autenticao de senhas criptografadas. O Linux pode trabalhar com qualquer um dos tipos, porm se estabelecermos "no" em "Encrypt Password", deve ser alterada o register do windows da verso OSR2 ou Superior para "plain-text password". Agora se voc possuir windows95 OSR2 ou posterior e quiser utilizar a autenticao de senhas criptografadas, voc deve selecionar "Ecripty password" no SWAT para "yes", no precisando fazer nenhuma alterao do register do windows. Note que a criptografia de autenticao que o Windows utiliza diferente da usada pelo Unix, isto implica em ter que compatibilizar os usurios do Linux com os usurios do Samba. Veja mais a frente na opo "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 minsculos. Com o "Password Level" podemos fazer com que o Samba teste a senha recebida em minsculo com uma combinao de "n" caracteres maisculos. Exemplo: Se "n" for fixado para 2 em Password Level, significa que uma senha recebida como "jonas" ser testada com at dois caracteres maisculos assim: JOnas, JonAs e JonaS. Para no haver teste de combinao "n" tem que ser setado para 0 (zero). Os demais valores devem permanecer como default. Agora clique no boto [Commit Changes] para efetuar as alteraes. Nota: Como mencionamos anteriormente, esse documento abrange apenas as configuraes bsicas, caso queira uma configurao mais avanada, verifique as opes de help presente para cada tem. O prximo 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 boto [Create Share] para confirmar, depois clique no boto "Advanced View" e preencha os seguinte campos: Comment: Apenas um comentrio sobre este compartilhamento. Path: especifique aqui o diretrio a ser compartilhado, certifique-se que esse diretrio est com as permisses desejadas para o compartilhamento. Read Only: estabelecendo "no" para esta opo voc estar disponibilizando o compartilhamento para escrita e leitura. Os demais valores tambm devem ser deixados como default, clique no boto "Commit Changes" para efetuar as alteraes. Agora iremos configurar alguns usurios para permitir o acesso ao samba, clique no cone [Password Management] e preencha os campos: User Name: com o login do novo usurio. New Password: com a senha do novo usurio. Ret-Type New Password: confirme a senha do novo usurio. Para concluir o cadastro clique no boto [Add New User]. Pronto seu usurio j estar cadastrado. Para iniciar o servio de rede Samba, clique no cone [Status] e depois clique nos dois botes [Restart smbd] e [Restart nmbd], certifique-se que o status esteja em "running". Ou atravs do xterm:

[root@localhost]# cds

[root@localhost]# ./smb stop

[root@localhost]# ./smb start

14.6. Como criar um usuro para acessar o servidor Samba?


Recomendamos que seja criado um grupo em comum para todos os usurios samba. Para criar um grupo unix, digite:
[root@localhost ]# groupadd samba

E para criar um usurio unix:


[root@localhost ]# adduser -g <grupo> <nomedousurio>

Para que seu usurio funcione no samba ainda necessrio que seja adcionado ao samba, com o comando: [root@localhost ]# smbadduser <nomedousurio_linux>:<nomedousurio_samba> Para criar usurios com senhas criptografadas, use o comando:
[root@localhost ]# smbpasswd <nomedousurio_samba>

14.7. Como utilizar o Samba como Cliente?


[root@localhost ]# smbclient -L <nome_netbios_do_servidor> Password: (Em branco)

14.7.1. Como listar os compartilhamentos acessveis? Caso deseje saber quais os diretrios que esto sendo compartilhados em seu servidor, digite:
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 servio listado pelo comando -L, proceda da seguinte maneira:
[root@localhost ]# smbcliente //<nome_netbios_da_mquina>/servio

Caso deseje especificar mais detalhes, use:


-U <usurio> -I <Nmero Ip da mquina> -R <Servidor de resoluo de nomes> -N (no pede senha) -D <diretrio a iniciar> -d <nmero do nvel do log> -l <nome do arquivo de log> -p <porta para conexo>

-n <especifica o meu nome netbios>

14.7.3. Como usar o WINPOPUP para a Comunicao entre Mquinas Windows? possvel uma comunicao entre as mquinas windows, desde que o programa winpopup esteja sendo executado. O linux tambm permite essa opo Para enviar uma mensagem winpopup para outra mquina, basta digitar:
[root@localhost ]# smbclient -M host

Caso a mquina para a qual ser enviada a mensagem seja linux, ento ser necessrio configurar o Winpopup citado na configurao via Linuxconf na mquina que receber a informao. 14.7.4. Como utilizar o Samba como sistema de arquivos remotos? Para montar um diretrio compartilhado, execute:
[root@localhost ]# smbmount //<nome_da_mquina(netbios)>/<compartilhamento> /<ponto de montagem>

E caso deseje, possivel acrescentar depois do ponto de montagem: -o <opo1, opco2...>, so elas:
username=<nome do usurio samba que ser usado> password=<senha do usurio samba que ser usado> netbiosname=<Nome netbios> port=<especifica a porta de comunicao do samba> debug=<Especifica o nvel do log> ip=<Especifica o ip de destino> workgroup=<Especifica o nome do workgroup a ser usado> guest (No pea senha) ro (Monta en somente leitura) rw (Monta em leitura e escrita)

14.7.5. Como acessar uma impressora Windows A partir de uma mquina Linux possvel enviar uma tarefa de impresso para uma mquina Windows. Para configurar proceda da seguinte maneira: Abra dentro do modo grfico, 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 contm a impressora> Print name : <nome do compartilhamento de impresso> User : <nome do usurio 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?

Configure o NT para comunicar com o protocolo TCP/IP e desabilite a criptao no registro.

14.9. Servidores Samba Diretorio Publico


Como crio um diretrio para que todos os usurios da rede samba possam acess-lo? O que preciso fazer criar um diretrio comum a todos os usurios, e este diretrio deve ser exportado para a rede, a partir da s dar as permisses certas para que quando algum grave ou crie um arquivo/diretrio, todos tenham acesso a estes. O procedimento : Crie o diretrio /publico da seguinte maneira, no servidor Linux:
[root@localhost]# mkdir /publico

Agora vamos mudar as permisses deste diretrio para que todos possam acess-lo:
[root@localhost]# chmod -R 777 /publico

Aps isto, edite o arquivo /etc/smb.conf e modifique as sees 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 mquinas com IP 10.0.2.x tero acesso os level = 0 preferred master = no domain master = no wins support = no

dead time = 0 #======================= Share Definitions =========================== [suporte] comment = Diretrio Pblico available = yes browseable = yes path = /publico <-- diretrio 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 servio do samba para ativar as mudanas, da seguinte maneira:


[root@localhost root]# cds

[root@localhost]# ./smb stop

[root@localhost]# ./smb start

Desta forma, todos os usurios da rede enxergaro este diretrio /publico e podero gravar nele os arquivos, sendo que podero ser lidos por todos os usurios da rede.

14.10. Acesso pblico ao samba (configurao pelo Linuxconf)

O que preciso fazer criar um diretrio comum a todos os usurios, e este diretrio deve ser exportado para a rede, a partir da s dar as permisses certas para que quando algum grave ou crie um arquivo/diretrio, todos tenham acesso a estes. O procedimento : Crie o diretrio /publico da segue maneira, no servidor Linux:
[root@localhost]# mkdir /publico

Agora vamos mudar as permisses deste diretrio para que todos possam acess-lo:
[root@localhost]# chmod -R 777 /publico

Agora execute o Linuxconf:


[root@localhost]# linuxconf Rede Samba - servidor de arquivos Padres:

----------Configurao Base---------Gerenciador de contas do SMB: (o) No gerenciado ( ) Contas e senhas ( ) Somente contas [ ] Sincroniza Linux com senhas do SMB

Descrio do servidor: Samba Server (comentrio sobre o servidor) Grupo de trabalho: suporte (grupo de trabalho qual sua mquina windows pertence) Nome do Netbios (opc): servidor Linux (nome que o windows ir encontrar) Apelidos do Netbios (opc): (Deixar em branco)
----------Senhas----------[ ] senha criptografada necessria Modo de autenticao: ( ) Usurio ( ) Servidor ( ) Domnio (o) Compartilha Mapear para guest: (o) Nunca ( ) Usurio invlido ( ) Senha invlida Servidor de senha: (Deixar em branco) Nvel de senha: 0 Programa passwd: (Deixar em branco) [X] Permite contas sem senha Permite mquinas: (ip das mquinas que tero acesso ao servidor, pode ser uma faixa de ips, por exemplo: 10.0.2.*) Probe mquinas: (ip das mquinas que no tero acesso ao servidor) ----------Colocando em rede---------Nvel de OS: 0 [ ] Mestre preferencial [ ] Mestre de domnio Anncio remoto: (Deixar em branco) Navegadores remotos sncronos: (Deixar em branco) [ ] Habilita samba como um servidor WINS Servidor WINS: (Deixar em branco) Interfaces: (Deixar em branco) Ordem de resoluo de nome: (Deixar em branco)

----------Contas automticas----------Adiciona script do usurio: (Deixar em branco) Apaga script do usurio: (Deixar em branco) ----------Caractersticas----------Conta convidado: (Deixar em branco) Tempo limite de inatividade: 0 Nvel de depurao: 1 Servio padro: (Deixar em branco) [X] Mostre as impressoras disponveis

Escolha Aceitar. Agora escolha Compartilhamento de disco:


Nome do compartilhamento: (nome que ir aparecer no compartilhamento) Comentrio/descrio: (comentrio qualquer sobre o compartilhamento) ----------Informaes bsicas----------[X] Este servio est ativo [X] Navegvel

Herdar opes do compartilhamento: (Deixar em branco) Diretrio para exportar: /publico(Diretrio a ser exportado) ----------Acesso----------[X] Acesso pblico [ ] Somente acesso ao convidado [X] Gravvel Permite mquinas: 10.0.2.134 (Mquinas que podero acessar o compartilhamento, pode ser uma faixa de ips.) Probe mquinas: (Mquinas que no podero acessar o compartilhamento.)

As outras opes do servio de compartilhamento podemos deixar em branco. Aps feitas as mudanas:
Aceitar Fechar Fechar Fechar Sair

Agora digite:
[root@localhost] mcedit /etc/smb.conf

e adicione logo aps o nome do compartilhamento as linhas:

force create mode = 777 force directory mode = 2777

Conforme exemplo abaixo:


[suporte] comment = Diretrio Pblico 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 servio do samba para ativar as mudanas, da seguinte maneira:


[root@localhost root]# cds [root@localhost]# ./smb stop [root@localhost]# ./smb start

Desta forma, todos os usurios da rede enxergaro este diretrio /publico e podero gravar nele os arquivos, sendo que podero ser lidos por todos os usurios da rede.

14.11. Como fao para meus usurios samba acessarem com senha?
### CL70 e anteriores ### Os passos descritos abaixo servem de guia para a criao 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 criao de grupos varia de acordo com a distribuio 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 necessrio criar os usurios que faro parte deles. Os usurio devero ser criados no sistema linux e depois associados ao servio samba. Cada usurio criado poder fazer parte de um grupo ou simplesmente ser um usurio samba. Para criar um usurio associando este a um grupo utilize o comando:
[root@localhost root]# adduser -g (grupo) usurio (pressione enter)

Ex:
[root@localhost root]# adduser -g admins carlos ou [root@localhost root]# adduser -g suporte junior ou [root@localhost root]# adduser -g comercial joao (pressione enter) (pressione enter) (pressione enter)

Para criar um usurio sem pertencer a nenhum grupo utilize o comando:


[root@localhost root]# adduser (nome do usuario)

Ex:
[root@localhost root]# adduser pedro

Aps a criao dos usurios deve-se cadastrar uma senha para eles utilizando o comando:
[root@localhost root]# passwd usurio (pressione enter)

Ser necessrio cadastrar uma senha e em seguida confirm-la. Ex:


[root@localhost root]# passwd junior Insira uma senha (pressione enter) em seguida Confirme a senha (presione enter) (pressione enter)

OBS: Repita este procedimento para todos os usurios criados. Criados os usurios no sistema linux estes devem ser associados a usurios samba. Para criar usurios 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 usurio samba junior


Insira a senha identica a cadastrada no sistema (pressione enter) em seguida Confirme a senha (pressione enter)

OBS: Apartir da verso windows 95B, a senha passa a ser criptografada. Feita a criao dos grupos e usurios o prximo passo ser a criao dos compartilhamentos que sero utilizados pelos usurios. Para criar um diretrio utilize o comando:
[root@localhost root]#mkdir (nome do diretorio) (pressione enter)

Ex:
[root@localhost root]#mkdir /suporte [root@localhost root]#mkdir /publico (pressione enter) (pressione enter)

[root@localhost root]#mkdir /comercial (pressione enter)

Criado o diretrio ser necessrio setar as permisses. Para colocar a permisses utilize o comando:
[root@localhost root]# chmod -R 777 (nome do diretrio)

Ex:
[root@localhost root]# chmod -R 777 /suporte

OBS: A opo -R indica que a permisso setada valer para todos os subdiretrios abaixo do /suporte, a permisso 777 da acesso total ao usurio, grupo e outros.

Feita a criao dos grupos, usurios e os compartilhamentos o prximo passo ser a alterao do arquivo smb.conf que se encontra no diretrio /etc. Antes de alterar este arquivo aconselha-se guardar uma cpia deste no diretrio /tmp caso ocorra algum erro de configurao e seja necessrio 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 no constam todos as opes do samba, somente as necessrias para o funcionamento do acesso do samba por senha.
#======================= Global Settings ===================================== [global] #Grupo de trabalho das mquinas windows workgroup = intranet # Nome do servidor que aparecer na rede windows server string = Samba Server netbios name = Linux # Carrega as impressoras configuradas na mquina printcap name = /etc/printcap load printers = yes # Tipo de servidor de impresso printing = lprng # Local onde ficar agravado o Log log file = /var/log/samba/log.%m # Tamanho do mximo do log em Mb max log size = 50 # Nvel de depurao do log debug level = 2 # Modo de acesso security = user # Combinao entre tamanhos de usurios e senhas password level = 8 username level = 8 # Especifica se a sennha ser encriptada ou no # Para verses 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 # Fora o servidor linux ser o master da rede

os level = 200 # Especifca que o samba no precisar resolver nomes via DNS dns proxy = no #============================ Share Definitions ============================== # Diretrio particular de cada usurio [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 cpia e escrita [publico] path = /publico #caminho do diretrio na mquina linux public = yes #Todos podem visuallizar este diretrio only guest = yes writable = yes #permite que todos possam gravar neste printable = no # diretrio # O compartilhamento estar visvel mas s poder gravar o usurio que # pertencer ao grupo suporte [suporte] path = /suporte only guest = yes printable = no write list = @suporte #permisso de gravao somente para quem pertencer #ao grupo suporte # O compartilhamento estar visvel mas s poder gravar o usurio que # pertencer ao grupo comercial [comercial] path = /comercial only guest = yes printable = no write list = @comercial #permisso de gravao somente para quem # pertencer ao grupo comercial # S poder gravar neste copartilhamento quem pertencer ao grupo admins os # outros usurios s podero ver e copiar os arquivos. [docs] path = /docs only guest = yes printable = no write list = @admins #permisso de gravao somente para quem pertencer #ao grupo admins

# Faz o compartilhamento do cdrom para que todo os usurios possam acessar

[cdrom] path = /mnt/cdrom public = yes only guest = yes writable = no printable = no

Pressione F2 para salvar e F10 para sair. Feito isso a configurao do samba estar completa, faltando apenas levantar o servidor samba para que ele passe a ser visto pelas mquinas windows da rede. Para levantar o servidor samba utilize os comandos:
[root@localhost /root]cds (pressione enter) (pressione enter)

em seguida
[root@localhost /inet.d]./smb start

Feito isto o servidor samba ja estar sendo visto pelas mquinas windows.

14.12. Como fao para o windows mapear em unidades de rede os compartilhamentos do linux.
### CL70 e posteriores ### Os passos descritos abaixo servem de guia para a criao de um acesso por logon de domnio. 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 criao de grupos varia de acordo com a distribuio 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 necessrio criar os usurios que faro parte deles. Os usurio devero ser criados no sistema linux e depois associados ao servio samba. Cada usurio criado poder fazer parte de um grupo ou simplesmente ser um usurio samba. Para criar um usurio associando este a um grupo utilize o comando:
[root@localhost root]# adduser -g (grupo) usurio (pressione enter) (pressione enter) (pressione enter)

Ex:
[root@localhost root]# adduser -g admins carlos ou [root@localhost root]# adduser -g suporte junior [root@localhost root]# adduser (nome do usuario)

Para criar um usurio sem pertencer a nenhum grupo utilize o comando: Ex:
[root@localhost root]# adduser pedro

Aps a criao dos usurios deve-se cadastrar uma senha para eles utilizando o comando:
[root@localhost root]# passwd usurio (pressione enter)

Ser necessrio cadastrar uma senha e em seguida confirm-la. Ex:


[root@localhost root]# passwd junior Insira uma senha (pressione enter) em seguida Confirme a senha (presione enter) (pressione enter)

OBS: Repita este procedimento para todos os usurios criados. Criados os usurios no sistema linux estes devem ser associados a usurios samba. Para criar usurios 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 usurio samba junior


Insira a senha identica a cadastrada no sistema (pressione enter) em seguida Confirme a senha (pressione enter)

OBS: Apartir da verso windows 95B, a senha passa a ser criptografada. Feita a criao dos grupos e usurios o prximo passo ser a criao dos compartilhamentos que sero utilizados pelos usurios. Para criar um diretrio utilize o comando:
[root@localhost root]#mkdir (nome do diretorio) (pressione enter)

Ex:
[root@localhost root]#mkdir /home/netlogon (pressione enter)

OBS: para este diretrio no sero alteradas as permisses somente o root dever ter acesso ou o usurio que for selecionado como administrador.
[root@localhost root]#mkdir /suporte (pressione enter)

Criado o diretrio ser necessrio setar as permisses. Para colocar a permisses utilize o comando:
[root@localhost root]# chmod -R 777 (nome do diretrio)

Ex:
[root@localhost root]# chmod -R 777 /suporte

OBS: A opo -R indica que a permisso setada valer para todos os subdiretrios abaixo do /suporte, a permisso 777 da acesso total ao usurio, grupo e outros. Feita a criao dos grupos, usurios e os compartilhamentos o prximo passo ser a alterao do arquivo smb.conf que se encontra no diretrio /etc. Antes de alterar este arquivo aconselha-se guardar uma cpia deste no diretrio /tmp caso ocorra algum erro de configurao e seja necessrio 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 no constam todos as opes do samba, somente as necessrias para o funcionamento do acesso por netlogon.
#======================= Global Settings ===================================== # Seo do arquivo que seta as configuraes que sero utilizadas por todos # os usurios [global] workgroup = intranet netbios name = linux #grupo de trabalho #nome da mquina que aparecer nas mquinas #windows server string = Samba Server printcap name = /etc/printcap load printers = yes printing = lprng # carrega as caracteristicas das # impressoras disponveis # carregar impressoras #sistema de impresso #logs de acesso

log file = /var/log/samba/log.%m max log size = 50 debug level = 2 security = user password level = 8 username level = 8 encrypt passwords = yes

#tamanho mximo do log #nvel do log a ser feito #tipo de acesso # tamanho mximo para a senha # tamanho mximo para o usurio

#utilizao de senhas criptografadas #(win95B/win98) smb passwd file = /etc/smbpasswd socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 local master = yes os level = 34 # Servidor master

# Define quem o servidor master da rede inteira # Indica se ele ser o servidor master de domnio #da rede inteira

domain master = yes

preferred master = yes # Fora a eleio do servidor samba como master domain logons = yes logon script = %U.bat dns proxy = no #============================ Share Definitions ============================== # Diretrio particular de cada usurio. [homes] comment = Home Directories browseable = no writable = yes #Efetua o logon de mquinas win95/win98 #carrega os compartilhamento de cada usurio

# Local onde ficaro os scripts dos usurios [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 cpia e escrita [publico] path = /publico #caminho do diretrio na mquina linux public = yes #Todos podem visuallizar este diretrio only guest = yes writable = yes #permite que todos possam gravar neste diretrio 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 usurios s podero ver e copiar os arquivos. [docs] path = /docs only guest = yes writable = yes printable = no write list = @admins #permisso de gravao somente para quem pertencer #ao grupo admins # Faz o compartilhamento do cdrom para que os usurios possam acessar [cdrom] path = /mnt/cdrom public = yes only guest = yes writable = no printable = no

Pressione F2 para salvar e F10 para sair.

At este ponto o servidor ja encontra-se parcialmente configurado, faltando apenas os scripts serem modificados conforme a permisso de acesso a cada diretrio. Abaixo segue um exemplo de script que faz o mapeamento dos compartilhamentos dos diretrios 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 usurios 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

Comentrios sobre o script: Este arquivo deve ser gerado em uma mquina windows com a extenso .bat . Ex: junior.bat pedro.bat carlos.bat Para que ele execute os comandos dever ser copiado para o diretrio /home/netlogon criado anteriormente. O nome linux vem da opo "netbios name" colocada no incio da seo global do arquivo smb.conf. O diretrio particular do usurio (home) tambm ser mostrado conforme a opo: net use G: /HOME ( no windows aparecer como a unidade de rede X) Os diretrios que podero ser vistos por este usurio sero os seguintes: net use I: \\linux\suporte (onde o usurio ter permisso de escrita ) net use J: \\linux\cdrom (nesta opo o cdrom do servidor tambm estar disponvel para este usurio)

Feitas estas alteraes o servidor samba esta pronto para ser testado e inicializado utilizando os seguintes comandos: Para testar a consistncia do arquivo smb.conf utilize o comando:
[root@localhost root]#testparm (pressione enter)

Se no aparecer nehum erro de consistncia 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. Configuraes das mquinas clientes (windows) Para configurar as mquinas windows 95/98/Me acesse a opo rede em: Iniciar-> configuraes-> painel de controle. Clique no cone rede. Ser apresentado os protocolos instalados na mquina. Selecione a opo Clientes para a rede microsoft Marque a opo Efetuar logon de domnio do Windows NT Na opo domnio do windows NT, insira o workgroup utilizado na configurao do aqruivo smb.conf . Neste procedimento o workgroup utilizado foi o intranet. Salve as configuraes e reinicie o seu computador. Quando o sistema voltar a opo domnio ser mostrada no momento do login, para ter acesso aso compartilhamentos criados basta acessar ao sistema com o nome do usurio e a senha cadastrados anteriormente. OBS: Este procedimento assume que ambas as mquinas windows e linux esto com suas placas de rede funcionando e conseguindo efetuar o comando ping entre elas. Para configurar as mquinas windows XP / 2000 acesse a opo Ferramentas Administrativas: Iniciar->configuraes-> painel de controle->Ferramentas Administrativas Para o WinXP Para incluir a mquina com WinXp no domnio criado siga os passos abaixo: Cadastre uma senha para o root no samba
smbpasswd -a root

Cadastre a mquina com o winxp no samba ( conta de mquina). OBS:A conta que ser criada dever ter um shell invlido e um home apontando para /dev/null paraq ue nenhum usurio 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"

Ser mostrada uma tela onde dever ser selecionadas as opes: Diretivas Locais->opes de segurana Altere as opes abaixo de forma a deix-las desativadas:
Membro do domnio: assinar digitalmente canal seguro (quando possvel) Membro do domnio: criptografar digitalmente dados do canal seguro (quando for possvel) Membro do domnio: 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 mquina ao domnio informando o usurio e a senha do root quando solicitado Para o Win 2000 Ser mostrada uma tela onde dever ser selecionadas as opes: Diretivas de segurana local->Diretivas Locais->opes de segurana Altere as opes abaixo de forma a deix-las desativadas:
Canal Seguro: assinar digitalmente canal seguro (quando possvel) Canal Seguro: criptografar digitalmente dados do canal seguro (quando for possvel) Canal Seguro: criptografar ou assinar digitalmente os dados do canal seguro (quando for possvel)

Inclua a mquina no domnio criado utilizando o usurio root. Reinicie o computador e em seguida acesse com o usurio desejado. Para o WinNT CLique com o boto direito do mouse no cone Meu Computador, e escolha a opo de rede, clique em propriedades e defina logar por domnio.

Ser pedido um usurio e senha, digite root e a senha do root que foi cadastrada no Samba. Aps a confirmao, reincie o Windows e logue como algum usurio cadastrado no linux. OBS: Este procedimento assume que ambas as mquinas windows e linux esto com suas placas de rede funcionando e conseguindo efetuar o comando ping entre elas.

14.13. Meu banco de dados no permite que muitos usurios acessem o mesmo arquivo.
Problemas com locking, certamente. preciso fazer testes com as opes de locking do Samba. A primeira coisa que se deve tentar usar a opo:
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 opo 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 nmero de mensagens, como existiro vria requisies de gravao no disco e ao syslod, a performance ir diminuir. A opo 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 reincio para um valor de buffer mais alto que o do sistema operacional. As opes read raw e write raw permitem ao samba usar gravao e leitura de arquivos grandes, acima de 64kb em uma nica requisio samba. A opo oplocks permite aos clientes fazer cache dos arquivos localmente. Esta opo habilitada por padro. Arquivos de Banco de dados nunca devem ser colocados em cache, para que quando sejam feitas mudanas nos arquivos do servidor, sejam visveis no cliente. Esta opo prov um considervel aumento na performance. o oplocks pode ser ativado ou desativado em compartilhamentos especficos. 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 diretrio corrente, evitando grandes leituras na rvore de diretrios para descobr-lo.

14.15. O que pode ser feito quando aparece a mensagem: A senha esta incorreta?

Se voc est obtendo o erro 'A senha est incorreta, tente novamente' provavelmente as duas mquinas no esto se comunicando da mesma forma. A partir da verso 98, o Windows tem como padro mandar senhas encriptadas pela rede, enquanto o samba espera senhas em texto puro (padro no Windows 95). Soluo 1: Usar senhas encriptadas no samba. Utilize o linuxconf para configurar o samba. Caso seu linuxconf no apresente esta opo, consulte o tpico relacionado sobre mdulos adicionais. Soluo 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 opo 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 contm:
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 satlites), a transferncia pode ser menor do que a esperada e o nmero de pacotes retransmitidos pode ser altamente desnecessrio. Aparentemente este erro ocorre em uma rede com Win9x (todas as verses) pois existe um bug no clculo do RTT (round trip time) do TCP que pode causar retransmisso prematura dos pacotes e perda de performance de velocidade. Os patches para correo das estaes Win9X (exceto NT) esto disponveis em um artigo da Microsoft em: support.microsoft.com/support/kb/articles/ No foram realizados testes utilizando estas correes sugeridas e por isso ainda no conseguimos montar um comparativo de performance. Se por acaso voc executar os passos de correo e for observado aumento da velocidade na rede, envie um e-mail para<info@conectiva.com.br>

14.17. O smb ao iniciar o servio mostra smb falhou.


Primeiramente verifique se a configurao da rede est correta, logo em seguida verifique sua configurao de dns. O nmb falhou. Verifique se o nome da mquina est corretamente configurada pelo linuxconf, e contm os 2 nomes e o apelido, correto.

14.18. Existe algum programa estilo "Ambiente de Rede" para o samba?

Para facilitar a visualizao de compartilhamentos do windows em mquinas linux rodando samba, existe um front end grfico 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 Aps o download, instale o pacote:
[root@localhost]# rpm -ivh xsmbrowser-2.4.0-1.noarch.rpm

Aps a instalao, execute o programa no ambiente grfico, 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 mquinas existentes na rede, em seguida clica-se na mquina que ele exibir os compartilhamentos da mquina. Pode-se clicar no boto mount para montar o compartilhamento num diretrio no linux.

14.19. Como montar um diretrio que est em uma mquina windows para que todos os usurios tenham permisso de leitura, escrita e execuo ?
### CL 4.0 e posteriores ### Tomando como exemplo uma mquina windows chamada bugs e um diretrio chamado temp, fazemos o seguinte, para montar o diretrio com todas as permisses para todos os usurios:
[root@localhost]# smbmount //bugs/temp /temp -o fmask=777 dmask=777

Logicamente j tendo criado o diretrio /temp com permisses recursivas para 777. Para criar o diretrio /temp em uma mquina linux, faa o seguinte: Crie o diretrio /temp da seguinte maneira, no servidor Linux:
[root@localhost]# mkdir /temp

Agora vamos mudar as permisses deste diretrio para que todos possam acess-lo:
[root@localhost]# chmod -R 777 /temp

14.20. Como habilito o mdulo do samba no linuxconf?


Para habilitar o mdulo do samba, execute:
[root@localhost]# linuxconf

Arquivos de controle e sistemas Configurar os mdulos do Linuxconf samba [X] [X] configurao do servidor SAMBA Aceitar Sair Sair Ativar Mudanas

14.21. Para adicionar uma impressora remota utilizando Samba


Primeiro, entre em um terminal como root. Verifique se os pacotes do servidor de impresso esto 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 no estiver instalado, ser preciso instalar o pacote: Coloque o CD do Conectiva Linux no drive de CD-ROM:
[root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# mount /mnt/cdrom rpm -ivh /mnt/cdrom/conectiva/RPMS/LPR* rpm -ivh /mnt/cdrom/conectiva/RPMS/linuxconf-printer* rpm -ivh /mnt/cdrom/conectiva/RPMS/rhs-printfilters* umount /mnt/cdrom

Agora execute o aplicativo linuxconf em modo texto. Se voc estiver dando boot em modo grfico pressione as teclas CTRL+ALT+F2 para ir para um terminal em modo texto:
[root@localhost]# linuxconf

V em: Configurao -> Servios diversos -> Impressora -> Adicionar/Editar impressoras Clique no boto "Adicionar". Em "Nome da impressora" d um nome para a sua impressora ou deixe o nome padro. Em "Conectada a" escolha a opo "Impressora SMB/Windows". Clique no boto "Aceitar". Na caixa de dilogo "Impressora criada com sucesso" clique em "OK". Agora, selecione a impressora que voc acabou de criar para editar suas configuraes.

Em "Usurio", digite um usurio vlido cadastrado no servidor. Em "Senha", digite a senha do usurio. Em "Mquina", digite corretamente o nome da mquina windows onde a impressora est conectada. Em "Impressora", digite corretamente o nome do compartilhamento da impressora remota. Em "IP da mquina", digite o endereo IP da mquina remota. Este campo opcional. Em "Grupo", digite o nome do grupo de trabalho no qual a mquina windows onde est a impressora faz parte. Clique no boto "Selecionar filtro" e selecione o filtro para a sua impressora. Se ela no estiver listada verifique com o fabricante se existe compatibilidade com alguma impressora da lista. As trs opes a seguir variam muito de impressora para impressora. Tente deixar todas as opes marcadas. Se no funcionar tente mudar estas opes at que a impressora responda de maneira satisfatria.
[X] Enviar EOF [X] Consertar efeito escada (CR+lf) [X] Sada ASCII rpida

Clique em aceitar e saia do linuxconf Se o linuxconf tentar executar algum servio no deixe, escolha a opo para ele no fazer nada. Agora verifique se o loopback est funcionando:
[root@localhost]# lo ifconfig Encapsulamento do Link: Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 UP LOOPBACKRUNNING MTU:3924 Mtrica:1 Pacotes RX:270 erros:0 descartados:0 sobreposies:0 frame:0 Pacotes TX:270 erros:0 descartados:0 sobreposies:0 portadora:0 colises:0 txqueuelen:0

Dever aparecer pelo menos a interface lo (loopback). Se no aparecer a interface lo, ento ser preciso levant-la:
[root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# ifdown lo ifup lo cds ./lpd stop ./lpd start

Agora necessrio levantar/reinicar o servio de impresso lpd:

Veja se o servio 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]# [root@localhost]# lpr teste.txt lpr teste.ps

Se no funcionar verifique se ao mandar um teste, o mesmo no fica no spoll (fila de impresso) com o comando:
[root@localhost]# lpq

Caso aparea, necessrio ativar a fila com o comando de impresso:


[root@localhost]# lpc start all

Agora inicie o servio lpd para a inicializao do sistema:


[root@localhost]# ntsysv

Procure pela opo lpd na lista e deixe-a marcada. Clique em OK e pronto. OBS: Toda vez que alguma configurao do servio de impresso for alterada ser necessrio reiniciar o servio de impresso.
[root@localhost]# [root@localhost]# [root@localhost]# cds ./lpd stop ./lpd start

14.22. Com quais outros clientes eu posso acessar os compartilhamentos do Servidor?

DOS e Windows 3.1 O programa necessrio para que mquinas 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 verso j traz o suporte a SMB, porm 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 extrao automtica. Windows 9X Estas verses j trazem o suporte a TCP/IP. Para configur-lo deve-se utilizar o Painel de Controle.

14.23. Quais as variveis utilizadas pelo servidor Samba?


possvel utilizar algumas variveis no lugar de textos fixos. Dentre diversas variveis disponveis, apresentamos a seguir as mais significativas:
Descrio Nome da mquina (host) Mostra a verso do samba Nome do servio (compartihamento) atual. Nome do usurio Nome do grupo. Nome do diretrio pessoal do usurio. Nome da mquina cliente fornecido pelo NetBIOS. Nome do servidor NetBIOS. Permite que a configurao seja alterada com base no cliente que est acessando o sistema. Nome Internet da mquina cliente. O endereo IP da mquina cliente. Data e horrio. Varivel %h %v %S %u %g %H %m %L %M %i

Sistema operacional da mquina remota. So reconhecidos os seguintes valores: WfW, WinNT e Win95. %a

14.24. O que fazer quando o samba no carrega?


Como root execute o comando: [root@localhost]$ hostname ser apresentado o nome da mquina e domnio, ex:
maquina.dominio

abra o linuxconf e acesse os menus: Ambiente de rede-> Tarefas de cliente-> Informaes bsicas da mquina No campo "Nome da mquina + domnio" especifique o nome apresentado na sada do comando "hostname" (conforme o exemplo maquina.dominio) No campo "Primeiro nome + domnio" especifique maquina.dominio (conforme exemplo) No campo "Apelidos (opc)" especifique maquina (exemplo)
-> Aceitar -> Sair -> Sair

Reinicie os servios:
# # # # # cds ./network stop ./network start ./smb stop ./smb start

Verifique se o samba est ativo:


# ./smb status

14.25. Como configurar o samba para autenticar os usurio no Windows 2000?


### Conectiva 8 ### Considera-se que o Servidor Windows 2000 que autenticar os usurios seja o PDC (Primary Domain Controller) da rede e que a configurao bsica do samba j esta realizada. Para obter informaes sobre as configuraes genricas 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 boto Direito -> New -> Computer.-> Computer Name: <nome do servidor linux que far a autenticao no Windows 2000> ->Habilite a opo 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 sees e altere-as conforme indicado:
workgroup = conectiva

altere conforme o domnio (workgroup) de sua rede windows


security = domain

isto far o samba autenticar em domnio (se estiver como share ou user altere para domain, caso seja alterado para server a autenticao ser por servidor independente de ser PDC de rede ou no)
password server = w2k.conectiva

indique o servidor que ir autenticar os usurios, caso seja usado um "*" (sem aspas) em vez do nome de uma mquina, ele ir procurar pelo PDC da rede.
encrypt passwords = yes

faz com que o samba use senhas criptografadas, necessrio 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 domnio do nome do usurio com o caractere "+". Pode ser usado tambm 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 no 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 /]#

Em nossa simulao, o ltimo uid foi o 107, ento poderamos usar na opo 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 numerao de usurios e grupos para as chamadas de sistema. Em ambientes grandes, aconselhvel desabilitar esta numerao (com a flag no), mas alguns aplicativos podem deixar de funcionar apropriadamente. Salve o arquivo e saia. Devemos adicionar o servidor linux no domnio do Windows 2000, para isto usaremos o comando smbpasswd conforme exemplo abaixo:
[root@localhost /]# smbpasswd -r <nome do pdc> -j <dominio>

Considerando que a mquina com Windows 2000 e PDC da rede tenha o nome de w2k e o domnio 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: group: files nisplus nis files nisplus nis

e altere-as para:
passwd: group: files winbind files winbind

Edite o arquivo /etc/pam.d/samba e as linhas:


auth required account required /lib/security/pam_unix.so nullok shadow /lib/security/pam_unix.so

devem ser removidas (aconselha-se apenas comentar as linhas ou fazer uma cpia de segurana 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 seo:


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 seo 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 ;;

O mesmo dever ser feito nas sees 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

Ento, teste a configurao executando:


[root@localhost /]# smbclient <//nomedamaquina/compartilhamento> -U <dominio+usuario>

Considerando que o nome da mquina linux seja samba, o compartilhamento seja usr, o domnio seja conectiva e o usurio 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: \>

Captulo 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

Para adicionar o mdulo do configurador do Sendmail Arquivos de controle e sistema Configurar os mdulos do Configurador Linux Escolha a opo: mailconf [X] configurao do servidor de mail (Sendmail) Pea pela opo aceitar e sair. Na parte: Ambiente de Rede Sendmail - sistema de envio de emails Nas opes de bsico, entre na opo: Informaes bsicas Veja as opes: (Cada linha, est comentada de suas funes)
Apresentar seu sistema como : <domnio> [X]Aceitar email para <domnio> Servidor de email : Roteador de email : Protocolo roteador de email : smtp

(Mesmo que o email venha de mquinas diferentes de sua empresa, voc pode querer esconder esse fato e apresentar os emails como se eles tivessem vindo de apenas uma mquina ou domnio. Se voc est configurando o servidor principal de uma empresa, voc deve selecionar aceitar email para dominio. No Servidor de email, coloque a mquina+domino que ser o servidor de email, e em protocolo a mesma mquina. Se sua configurao for simples deixe em branco)
funcionalidades [ ] confirmar nomes completos de usurios [X] Ativar controle de envio (spammers) Tamanho mximo das mensagens:( )no limite ____________ [ ] No tentar enviar imediatamente Processar consulta a cada(min):( ) manual 1 ( ) Usar a shell especial smrsh Maximum recipients per msg (o) Defaults _____________

(Habilite a opo de Ativar controle de envio, evitando assim que usem o servidor smtp para spam. No tamanho das mensagens coloque o valor mximo que as mensagens iro ter. na prxima opo evita que o sendmail envie imediatamente as mensagens, e na opo seguinte qual ser o tempo de intervalo de envio.)
Funcionalidades por DNS [ ] Esperar pelo DNS [ ] no usar DNS

(O Sendmail faz um uso pesado do DNS. Mquinas sem conexo direta com a Internet (mesmo atrs de um firewall) podem querer desativar o uso do DNS. Por outro lado, mquinas com uma conectividade normal do DNS devem forar o uso do DNS)
Diversos [X] No usar batch para email UUCP Tamanho mx para mensagens UUCP: 20000 Entrega Local para usurios : root No mascara origem de: : root Usurios Autorizados : root daemon uucp Banco de roteamento especiais : [ ]

Formato do banco de roteamentos: hash Agente de entrega local : [ ]Suporte a Cliente Bogus(HELO)

(Quando usa-se UUCP repetidamente, as mensagens so normalmente requisitadas e entregues em intervalos regulares. Marque para process-las imediatamente, recomendado para trfego pouco intenso) Entrega para usurios locais: Coloque o nome dos usurios para quem quer ignorar a definio de Servidor de email. As mensagens sempre sero guardadas localmente para estes usurios. Essa funcionalidade normalmente usada para pseudousurios administrativos (root por exemplo). A opo no mascara usa-se para saber qual o usurio e de qual mquina ele mandou. O Agente de entrega refere-se a utilitrios de entrega, ex: Procmail. use a opo deixar o linuxconf localizar. Deixe o resto em branco)
Apelidos do domnio Apelidos para o seu sistema:

( Coloque nesta opo outros domnios que o sr. quer que seu sistema aceite) Confirme. Para uma configurao bsica do Sendmail, s os primeiros itens so necessrio, com isso seu sistema j estar trabalhando, faltando apenas descomentar o pop no intetd e startar o inet e o sendmail. A seguir, instrues das outras opes do Sendmail: Opo ---> Roteamento especial (domnio) Adicionar
Destino Repetidor : : [ ]Gerenciar subdomnio da mesma forma Transporte : (Em muitos sistemas, til habiltar para informar ao sendmail qual a rota de envio das mensagens)

Opo --->Roteamento complexo (usurio) Adicionar


[ ] esta regra est ativa Para: Original : PAra: Novo : Reenviar para servidor(opc) : Transporte : smtp Comentrio :

(Serve para apontar um email de usurio@dominio para <outrosusrio@outrodomnio>) Opo --->Regras de mascaramento Adicionar
De: Original De: Novo Comentrio [ ] esta regra est ativa : : :

(Voc pode definir regras de transformao simples que sero aplicadas a todos os emails enviados pelo sendmail. No geral, voc especifica um De: e como este De: deve ser convertido.) Opo --->Domnio Virtual de Email Adicionar
Domnio Virtual Destino de retorno : :

Alocar UID de : Limitar a caixa do usurio para (kb): [ ] Match User full name Filter program + args (opc): Arquivos de Aplelidos:

Apelidos opcionais (Domnios virtuais de email so um jeito de se gerenciar listas independentes de usurios no mesmo servidor. Cada domnio virtual tem seu prprio arquivo de senhas, seu prprio diretrio de email e seu prprio arquivo de apelidos. Para cada domnio virtual de email, o Configurador Linux ir definir:
* * * * * /etc/vmail/passwd.domnio_virtual /etc/vmail/shadow.domnio_virtual /etc/vmail/aliases.domnio_virtual /var/spool/vmail/domnio_virtual/ /vhome/domnio_virtual/

onde domnio_virtual um domnio, como foo.com.br por exemplo.) Opo --->Apelidos Para usurio Adicionar (Nesta opo definimos apelidos para os usurios ex: Usurio - <Teste@conectiva> e queremos que o mesmo tenha um outro email: <teste2@conectiva>. Usamos o apelido para acrescentar o teste2, e o usurio receber as mensagens enviadas para teste2. Pode ser usada para pequenas listas de mail.) E por fim, pea a opo gerar o arquivo CF. Aps esta criao, saia do configurador linux e edite o inetd.conf para habilitar as funes 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 Configurao Filtros Anti-SPAM Nas Configuraes anti-spam, veja as opes:

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 nmeros IP (mquinas ou redes) para quem seu servidor poder repetir os emails. Repetir para por nome Aqui voc informa uma lista de nomes de mquina e domnios para quem seu servidor poder repetir os emails.

Repetir para mquinas 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 mdulo do configurador do Sendmail Arquivos de controle e sistema->Configurar os mdulos do Configurador Linux Escolha a opo: mailconf [X] configurao do servidor de mail (Sendmail) Pea pela opo aceitar e fechar. Em: Ambiente de Rede-> Sendmail - sistema de envio de emails Nas opes de bsico, entre na opo: Informaes bsicas Veja as opes: (Cada linha, est comentada de suas funes)
#Apresentar seu sistema como : domnio # [X]Aceitar email para domnio #Servidor de email : #Roteador de email : #Protocolo do roteador de email : smtp #---------------------------------------------------------(Mesmo que o email venha de mquinas diferentes de sua empresa, voc pode querer esconder esse fato e apresentar os emails como se eles tivessem vindo de apenas uma mquina ou domnio. Se voc est configurando o servidor principal de uma empresa, voc deve selecionar aceitar email para dominio. No Servidor de email, coloque a mquina+domino que ser o servidor de email, e em protocolo a mesma mquina. Se sua configurao for simples deixe em branco) #-------------------funcionalidades--------------------------# [ ] confirmar nome completo # do usurio # [X] Ativar controle de envio # (spammers) # [ ] usar RealTime Blackhole List (RBL) # [ ] Habilitar o comando VERIFY SMTP # [ ] Habilitar o comando EXPN SMTP # #------------------------entrega------------------------------# #Tamanho mximo das mensagens: ( )sem limite ____________ # [X] No tentar enviar # imediatamente #Processar consulta a cada(min): ( ) manual 1 # [ ] Usar o shell especial smrsh #Mx de destinatrios por msg. (o) Padres _____________ (Habilite a opo de Ativar controle de envio, evitando assim que usem o servidor smtp para spam. No tamanho das mensagens coloque o valor mximo que as mensagens iro ter. na prxima

opo evita que o sendmail envie imediatamente as mensagens, e na opo seguinte qual ser o tempo de intervalo de envio.) #_-------------------Funcionalidades por DNS--------------# [ ] Esperar pelo DNS # [ ] No usar DNS (O Sendmail faz um uso pesado do DNS. Mquinas sem conexo direta com a Internet (mesmo atrs de um firewall) podem querer desativar o uso do DNS. Por outro lado, mquinas com uma conectividade normal do DNS devem forar o uso do DNS) #-------------------Diversos--------------------------# [X] No usar batch para email UUCP #Tamanho mx para mensagens UUCP: 20000 #Entrega Local para usurios : root #No mascara origem de: : root #Usurios 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 so normalmente requisitadas e entregues em intervalos regulares. Marque para process-las imediatamente, recomendado para trfego pouco intenso) Entrega para usurios locais: Coloque o nome dos usurios para quem quer ignorar a definio de Servidor de email. As mensagens sempre sero guardadas localmente para estes usurios. Essa funcionalidade normalmente usada para pseudo-usurios administrativos (root por exemplo). A opo no mascara usa-se para saber qual o usurio e de qual mquina ele mandou. O Agente de entrega refere-se a utilitrios de entrega, ex: Procmail. use a opo deixar o linuxconf localizar. Deixe o resto em branco) #--------------------Apelidos do domnio-------------------# Apelidos para o seu sistema: ( Coloque nesta opo outros domnios que o sr. quer que seu sistema aceite) Confirme. Para uma configurao bsica do Sendmail, s os primeiros itens so necessrio, com isso seu sistema j estar trabalhando, faltando apenas descomentar o pop no intetd e startar o inet e o sendmail. A seguir, instrues das outras opes do Sendmail: Opo ---> Roteamento especial (domnio) -----> Adicionar #-------------------------------------------------#Destino : #Repetidor : # [ ]Gerenciar subdomnio da mesma forma

#Transporte : (Em muitos sistemas, til habiltar para informar ao sendmail qual a rota de envio das mensagens) #--------------------------------------------------Opo --->Roteamento complexo (usurio) -------> Adicionar #-------------------------------------------------# [ ] esta regra est ativa #Para: Original : #Para: Novo : #Reenviar para servidor(opc) : #Transporte : smtp #Comentrio : (Serve para apontar um email de usurio@dominio para outrosusrio@outrodomnio) Opo --->Regras de mascaramento -------> Adicionar #-------------------------------------------------# [ ] esta regra est ativa #De: Original : #De: Novo : #Comentrio : #-------------------------------------------------(Voc pode definir regras de transformao simples que sero aplicadas a todos os emails enviados pelo sendmail. No geral, voc especifica um De: e como este De: deve ser convertido.)

Opo --->Domnio Virtual de Email -------> Adicionar #---------------------------------------------------------#Domnio Virtual (fdqn) : #-----------------Informaes bsicas---------------------#Destino de retorno (opc) : #Alocar UID de : #Limitar a caixa do usurio para (k): (o) Sem limite ______ #-------------------Funcionalidades-----------------------#Nmero mximo de usurios : (o) Sem limite ______ # [ ] Iguais ao nome completo #Filtro programa + arg (opc) : #Travar domnio [ ] Mails que chegam so rejeitados # [ ] Usurios no podem resgatar suas mensagens #--------------Arquivos de apelidos extra-----------------#Caminho do arquivo (absoluto) : #-------------------Apelidos do domnio-------------------# # (Domnios virtuais de email so um jeito de se gerenciar listas independentes de usurios no mesmo servidor. Cada domnio virtual tem seu prprio arquivo de senhas, seu prprio diretrio de email e seu prprio arquivo de apelidos. Para cada domnio virtual de email, o Configurador Linux ir definir: * /etc/vmail/passwd.domnio_virtual * /etc/vmail/shadow.domnio_virtual

* /etc/vmail/aliases.domnio_virtual * /var/spool/vmail/domnio_virtual/ * /vhome/domnio_virtual/ onde domnio_virtual um domnio, como foo.com.br por exemplo.) Opo --->Apelidos Para usurio -------> Adicionar #-------------------------------------------------(Nesta opo definimos apelidos para os usurios ex: Usurio - Teste@conectiva e queremos que o mesmo tenha um outro email: teste2@conectiva. Usamos o apelido para acrescentar o teste2, e o usurio receber as mensagens enviadas para teste2. Pode ser usada para pequenas listas de mail.)

E por fim, pea a opo gerar o arquivo CF. Aps esta criao, saia do configurador linux e edite o inetd.conf para habilitar as funes 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

Configurao Filtros Anti-SPAM Nas Configuraes anti-spam, veja as opes:

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 nmeros IP (mquinas ou redes) para quem seu servidor poder repetir os emails. Repetir para 'por nome' Aqui voc informa uma lista de nomes de mquina e domnios para quem seu servidor poder repetir os emails. Repetir para mquinas Aqui voc informa uma lista de servidores de email os quais usam o seu servidor como roteador.

15.2. Como configurar o meu domnio virtual de email?

Criao de IP's Virtuais A primeira coisa que deve ser feita, a criao 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 mquinas virtuais ->Selecione o dispositivo eth0->Apelidos ou faixas de IP 10.0.2.80-81->Aceitar->Sair->Sair->Sair->Ativar as mudanas No nosso exemplo, adicionamos os endereos IP virtuais: 10.0.2.80 e 10.0.2.81 sendo que a nossa mquina tem o endereo 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 configurao, basta executarmos o comando: [root@localhost]# ifconfig

A saida, no nosso exemplo seria:


[root@localhost]# ifconfig eth0 Encapsulamento do Link: Ethernet Endereo 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 Mtrica:1 Pacotes RX:11600 erros:0 descartados:0 sobreposies:0 frame:0 Pacotes TX:7024 erros:5 descartados:0 sobreposies:0 portadora:5 colises:633 txqueuelen:100 IRQ:12 Endereo de E/S:0x9000 eth0:0 Encapsulamento do Link: Ethernet Endereo 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 Mtrica:1 IRQ:12 Endereo de E/S:0x9000 eth0:1 Encapsulamento do Link: Ethernet Endereo 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 Mtrica:1 IRQ:12 Endereo de E/S:0x9000 lo Encapsulamento do Link: Loopback Local

inet end.: 127.0.0.1 Masc:255.0.0.0 UP LOOPBACKRUNNING MTU:3924 Mtrica:1 Pacotes RX:92 erros:0 descartados:0 sobreposies:0 frame:0 Pacotes TX:92 erros:0 descartados:0 sobreposies:0 portadora:0 colises:0 txqueuelen:0 [root@localhost]#

Onde pode-se ver, temos criados 2 IP's virtuais que iro responder pelos dominios virtuais de e-mail. Criao 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->domnio virtual de email->Adicionar->Domnio virtual (fqdn) dominio1.com.br->Aceitar+Adicionar>Domnio virtual (fqdn) dominio2.com.br->Aceitar ->Sair->Sair->Sim->Ok->Sair>Sair->Ativar as mudanas 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 Configurao 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 domnios->Configurar domnios>Adicionar->Domnio: dominio1.com.br->IPs padro: 10.0.2.80->Aceitar>Adicionar->Domnio: dominio2.com.br->IPs padro: 10.0.2.81->Aceitar>Sair+mapas de IPs reversos->Nmero de rede: 10.0.2->Aceitar->Sair->Sair->Sair>Sair->Ativar as mudanas 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

Tambm temos que configurar o nosso dns para apontar para a nossa mquina 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 mquina. Criar usurios virtuais Para a criao de usurios nestes dominios virtuais, basta entrar no linuxconf:

[root@localhost]# linuxconf

Entre em: Contas de usurios->Contas POP virtuais (somente email) dominio1.com.br>Adicionar->Nome da conta: teste1->Nome completo: Conta de teste->Aceitar>Senha: teste1->Confirmao: teste1->Aceitar->Ok->Sair->dominio2.com.br>Adicionar->Nome da conta: teste2->Nome completo: Conta de teste->Aceitar>Senha: teste2->Confirmao: teste2->Aceitar->Ok->Sair->Sair->Sair->Sair->Ativar as mudanas Neste exemplo, criamos os emails <teste1@dominio1.com.br> e <teste2@dominio2.com.br> 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 servio inet com os comandos:


[root@localhost]# cds [root@localhost]# ./inet stop [root@localhost]# ./inet start

Enviando um e-mail para teste Feitas estas configuraes, podemos enviar um e-mail para testar as configuraes. Para isto utilizaremos o programa mail:
[root@localhost]# mail -s "Teste" <teste1@dominio1.com.br> 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 teste1@dominio1.com.br; 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: teste1@dominio1.com.br Subject: Teste teste de dominio virtual de email [root@localhost]#

15.3. Estou recebendo uma mensagem de erro de relay denied. Como resolver?
Este erro se deve mquina utilizada para enviar e-mail no ter permisso de RELAY, ou seja, transmitir a mensagem via seu servidor de e-mail. Para resolver este problema, realize os seguintes passos para dar permisso a estas mquinas: 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 mquina 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) mquina(s) utilizada(s) para enviar e-mail tero permisso de RELAY em seu servidor de e-mail.

15.4. Como adicionar um usurio pop ao sistema:


GERENCIAMENTO DE USURIOS COMO ADICIONAR USURIOS: Utilizando o linuxconf: Contas de usurios 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 Diretrio HOME (opc.):opcional Interpretador de comandos (opc.): opcional ID do usurio (opc.): opcional Aceitar Ser necessrio entrar com a senha do usurio adicionado. Sair Sair Sair Ativar Mudanas

Grupo (opc.): Se nenhum grupo for definido, ento ser gerado um novo grupo automaticamente Grupos suplementares: Se o usurio tambm pertencer a um outro grupo, o nome do mesmo deve estar referenciado neste campo Diretrio HOME (opc.): se nenhum for especificado ento ser criado no diretrio /home/nome_da_conta Interpretador de comandos (opc.): se nenhum for selecionado ento ser adotado o shell padro (/bin/bash) ID do usurio (opc.): se nenhum for especificado ento o sistema criar um ID automaticamente para o usurio

15.5. Como configurar o Sendmail pelo m4?


### Verso 6.0 e anteriores ###

Insira o CD nmero 1 do seu Conectiva Linux no drive. Monte o seu cdrom:


[root@localhost]# mount /mnt/cdrom

Acesse o diretrio 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 configurao dele baseia-se no arquivo /etc/sendmail.cf onde esto quase todos os itens necessrios para o correto funcionamento do programa. Pode-se configurar o /etc/sendmail.cf atravs das macros m4. V at o diretrio /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 faa esta sequencia de comandos:


[root@localhost]# m4 sendmail.mc > sendmail.cf [root@localhost]# cds [root@localhost]# ./sendmail restart

O arquivo do sendmail.cf j foi criado, agora basta somente voc adicionar os usurios 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 configuraes somente pessoas, domains ou IPs autorizados podero mandar email, evitando que terceiros no 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 suaempresa.com.br 200.200.221 localhost.localhost all aliases for your machine here. RELAY ---> Seu Domain Name aqui. RELAY ---> O IP da sua rede interna aqui RELAY

Se o sendmail.cw no for configurado, voc vai receber uma mensagem de RELAY DENIED. Configurado o sendmail.cw o segundo passo seria criar o arquivo relaydomains. Coloque o domain name da sua empresa, e o IP da sua rede interna:
[root@localhost]# mcedit /etc/relay-domains 192.168.0 200.200.200 domain.com.br RELAY RELAY RELAY

Significa que qualquer endereo 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 no estejam neste alcance use o seu servidor para SPAM. Voc tambm pode usar nomes de email [ <alguem@empresa.com.br> ] que voc quer bloquear:
192.168.0 200.200.200 domain.com.br span@span.org RELAY RELAY RELAY DENY

Lembre-se que os espaos so TABs, depois de tudo configurado, de mais um restart no sendmail:
[root@localhost]# cds [root@localhost]# ./sendmail restart

### Verso 7.0 e posteriores ### O Script na verso 7.0 deve ser criado da seguinte maneira: Deve-se alterar a ordem das opes MAILER(procmail) e MAILER(smtp) para MAILER(smtp) e MAILER(procmail). Aps estas alteraes, 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')

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 conexo para o cliente SMTP ou POP, descobrir via DNS qual o nome da mquina 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 no possui conectividade com a Internet, ou ento este IP de um servidor no que no roda DNS, ou de um IP no alcanvel (ou fora do ar). Sugestes:

1. para o servidor SMTP (Sendmail), existe uma configurao para que este no 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 segurana aos servios. 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 no fazer hostname lookups no servidor. A ltima soluo (que automaticamente resolveria a do sendmail), seria tirar a linha nameserver do /etc/resolv.conf

15.7. Meu sendmail fica demorando na inicializao


Execute o comando:
[root@localhost]# echo '$=w' | sendmail -bt

Para ver quais endereos o sendmail est tentando resolver. Verifique se esses endereos constam no arquivo /etc/hosts caso no constem, coloque uma entrada para cada um deles.

15.8. O que significa o arquivo BOGUS criado no sendmail?


Normalmente um arquivo .procmailrc ou que est dentro dele, que est com permisses erradas, por isso criado um BOGUS.usurio, no diretrio 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 esto funcionando corretamente, no cabe nesse documento discutir estas configuraes, e que elas precisam estar funcionando. Imaginemos uma rede com um servidor Linux, e estaes (que podem ser com Linux, windows, etc...) que fazem acesso a internet por meio do servidor Linux. Cada usurio pode mandar e receber mails para a internet usando sua prpria conta interna. No papel de servidor de email da intranet temos o Sendmail configurado, que gerenciar estas mensagens. Quanto a conexo com internet estiver ativa, ele descarregar a fila de mails para internet. Agora, queremos pegar os mails da internet e distribuir para cada usurio de nossa rede interna, quem far este trabalho ser o fetchmail. At agora tudo tranqilo, mas temos um e_mail na empresa chamado vendas@empresa.com.br e que temos trs vendedores que atendem esse mail. Aps um contato preliminar com o cliente, o mesmo comeara a enviar os e-mails com o subject algo como: a/c vendedor1 Como filtrar estes mails? Uma sada 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 vendas@empresa.com.br que no foram filtrados, e desta forma algum ter que receb-los para verificar qual destino devem seguir. Certo, agora vamos configurar estes servios para que realizem o que falamos acima: Instalando os pacotes necessrios Programas necessrios: - Sendmail (Servidor de mails) - Fetchmail (para pegar e-mails da internet) - Procmail (Para fazer filtros de mensagens) Estes programas encontram-se na distribuio 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*

Configurando o Sendmail Primeiro, vamos configurar o Sendmail, o mesmo pode ser configurado de vrias 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 opes de bsico, entre na opo:


--------> Informaes bsicas

E deixe configurado da seguinte forma:


#-------------------------------------------------------------------------#Apresentar seu sistema como : [seu servidor] # [X]Aceitar email para [domnio] #Servidor de email :[nome_do_servidor_local] #Roteador de email : #Protocolo roteador de email : smtp #-------------------funcionalidades----------------------------------------# [ ] confirmar nomes completos # de usurios # [X] Ativar controle de envio # (spammers) #Tamanho mximo das mensagens:( )no limite ____________ # [*] No 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:


Opo --->Regras de mascaramento -------> Adicionar #--------------------------------------------------------------------------# [*] esta regra est ativa #De: Original :[email_interno] #De: Novo :[email_externo] #Comentrio : #---------------------------------------------------------------------------

Desta forma, ser garantido que seus email sairo com um endereo para reply vlido, que ser sua conta no provedor. Crie uma regra para cada usurio que envie mails para a internet. Confirme e pea para gerar o arquivo de sendmail.cf Saia do linuxconf, agora vamos configurar quais mquinas podero enviar e_mail pelo seu servidor, e evitar que outros utilizem seu servidor durante a conexo: 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 suaempresa.com.br 200.200.221 localhost.localhost all aliases for your machine here. RELAY ---> Seu Domain Name aqui. RELAY ---> O IP da sua rede interna aqui RELAY

- Se o sendmail.cw no 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 domain.com.br RELAY -->seu ip interno de rede RELAY -- nome de seu servidor

OBS: Os espaos entre o ip e a palavra Relay so TABs, caso contrrio, seu arquivo no funcionar. Salve, e edite o inetd.conf para habilitar as funes 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 usurios internos que tero conta de email, uma maneira simples com o comando adduser, proceda da seguinte forma: [root@localhost]# adduser [usuario] grave uma senha para o usurio: [root@localhost]# passwd [usuario] Verifique se seu servidor est operacional, configurando o leitor de email da estao, colocando as informaes do usurio, 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_usurio_vc_criou]

Mande uma mensagem para seu prprio usurio 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 usurio que far este servio. A estrutura do arquivo algo parecido com o exemplo abaixo:
#----incio do arquivo .fetchmailrc -------------------------set logfile "/var/log/fetchmaillog" set postmaster "" set daemon 123 set bouncemail poll [provedor_internet] proto POP3 user [usurio] password "[senha]" is [usurio_local] here #--- fim do arquivo -------------------------------------------

A opo set daemon a que ser utilizada para os intervalos de checagem dos emails, o valor em segundos. A opo 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 expresso [provedor_internet] coloque o endereo do servidor pop de seu provedor em [usurio] e [senha] coloque a conta com a senha da conta a internete na expresso [usurio_local] coloque quem o usurio de seu servidor. Crie quantas forem necessrias.

Agora, necessrio rodar o fetchmail para que ele baixe as mensagens de seu provedor e envie para seu servidor local para que seus usurios possam pegar as mensagens. Uma maneira simples agendar no crontab do usurio que executa o fetchmail, e informa de quanto em quanto tempo o fetchmail ser rodado. (para isso tire a opo set daemon de sua configurao. 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 trs vendedores utilizarem o mail externo vendas@empresa.com.br, 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 usurio que chama o fetchmail. Configurando o Procmail O arquivo de configurao algo parecido com:
-----------nicio do arquivo .procmail ------------PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin INBOX=/home/[usurio]/mail/INBOX MAILDIR=/home/[usurio]/mail DEFAULT=$MAILDIR/INBOX LOGFILE=var/log/procmaillog :0 * ^Subject:.*vendedor1* ! vendedor1@servidor.intranet :0 * ^Subject:.*vendedor2* ! vendedor2@servidor.intranet

# 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:.vendas@empresa.com.br ! geral@servidor.intranet # # # # Esta ltima regra no caso de alguma mensagem no ser pega pelos filtros acima seja mandada para uma conta denominada geral@. necessrio que algum verifique esta conta, para dar destina a estas mensagens.

#no final do arquivo coloque estas linhas: :0 $INBOX

Pronto, agora temos uma soluo de servidor de email interno funcionando, bastar configurar no seu script por discagem por demanda chamar o comando: sendmail -q Para que a cada conexo, sua fila de emails a serem enviados seja despachada.

Agora basta que seus usurios baixem as contas recebidas que esto 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 vrus nas mensagens?
Com o servidor de email Sendmail, pode-se utilizar o programa Amavis. Existe um tutorial de instalao e configurao do mesmo em: http://www.linuxsecurity.com.br/article.php3?sid=96

Captulo 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, porm aqui nos limitaremos aos objetos HTTP e FTP. Sero tambm dados exemplos de listas de controle de acesso, (as famosas access lists). O benefcio o fato de um servidor Proxy poder compartihar uma conexo Internet entre vrios ou mesmo todos os usurios 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 usurios que revisitam estes sites. Possui apenas um arquivo de configurao, o qual auto-explicativo. A princpio, pode parecer complicado, pois existem vrias opes disponveis para configurar, mas apenas algumas precisam necessariamente ser especificadas. Estas sero abordadas mais frente. Recomenda-se que a mquina onde ser instalado o servidor possua uma boa quantidade de memria (128MB se possvel) e um winchester SCSI, para um acesso mais rpido dos clientes aos arquivos cacheados. Pacote necessrio:
squid-verso.rpm

Para instalar o pacote; Primeiramente monte o cd.

[root@localhost]# mount /mnt/cdrom

Entre no diretrio das RPMs.


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

Execute o comando de instalao:


[root@localhost]# rpm -ivh squid-verso.rpm

Configurando o Servidor O arquivo /etc/squid/squid.conf, este arquivo contm todas as configuraes do servidor Squid. Aqui descreverei as configuraes necessrias. Este arquivo possui vrias opes para se configurar o servidor. A maioria destas opes esto comentadas, e apenas algumas so realmente necessrias. Caso alguma opo precise ser modificada, descomente a linha referente (retire o caracter "#" frente da opo). Editando o arquivo:
[root@localhost]# mcedit /etc/squid/squid.conf

http_port - A porta na qual o Squid ir atender as requisies feitas a ele. O default 3128, caso precise alterar este valor, descomente a linha e troque-o por alguma porta que no esteja sendo utilizada. Ex:http_port 3000 cache_mem - O squid utiliza bastante memria por razes de performance. Ele leva muito tempo para ler algo do disco rgido, por isso o faz diretamente da memria. recomendado colocar no mximo 1/4 da quantidade de RAM de sua mquina neste campo, se no for um servio dedicado desta mquina. Se a mquina roda apenas o squid, pode-se colocar metade da memria para seu uso. Por exemplo, em uma mquina com 64MB de memria:
cache_mem 32 MB

cache_swap_low , cache_swap_high - estes valores definem os valores mnimo e mximo para reposio de objetos armazendados. Estes valores so expressos em porcentagem. Quando mais prximo ao valor mximo, mais objetos so 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 mximo dos arquivos a serem cacheados. Quaisquer objetos maiores do que este tamanho _no_ so salvos no disco. O default 4MB.
maximum_object_size 4096 KB

cache_dir - diretrios de cache no servidor. Pode-se especificar mltiplas linhas cache_dir para dividir a cache entre diferentesparties do winchester. a sintaxe desta linha :
cache_dir Tipo Path MB N1 N2

Onde: Tipo: especifica o tipo de sistema de alocao que ser usado. Geralmente do tipo "ufs".

Path: especifica o diretrio onde os arquivos sero armazenados. O Squid no cria este diretrio, ele deve existir. Note que, caso nenhuma entrada cache_dir for especificada, o sistema utilizar o diretrio /var/spool/squid; Obs.: Nas verses Conectiva Linux 7.0, o diretrio de cache do squid : /var/cache/squid; MB: a quantidade mxima de espao a ser utilizado neste diretrio. N1: especifica o nmero mximo de subdiretrios que podero ser criados abaixo do diretrio de cache; N2: especifica o nmero mximo de subdiretrios que podero ser criados abaixo dos subdiretrios criados em N1. Ex:
cache_dir ufs /var/spool/squid 300 16 256

Com isto, dizemos para o squid utilizar o diretrio /var/spool/squid, at 300MB, criando 16 sub-diretrios e 256 sub-diretrios 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 so guardadas informaes gerais sobre o comportamento da cache. O default /var/log/squid/cache.log cache_log /var/log/squid/cache.log Autenticando usurios

autenthicate_program - comum os administradores restringirem o acesso ao Proxy aos seus clientes. Para isto, pode-se pedir usurio e senha ao usurio para poder navegar utilizando o Proxy. Este servio 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 executvel do ncsa_auth est no diretrio /usr/doc/squid-verso . prefervel copi-lo para um diretrio de arquivos binrios (/usr/bin por exemplo). Uma linha tpica de configurao 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 no utilizado. Se voc utilizar o ncsa_auth (ou algum outro autenticador), deve existir uma access list do tipo proxy_auth para permitir ou no o acesso. Access lists so detalhadas abaixo. Opes de Segurana A grande maioria dos administradores de sistemas provavelmente iro desejar definir uma poltica de segurana no Squid, isto , definir quem ir acessar e o que poder ser acessado.

O primeiro passo para a definio de controle de acesso ao proxy do Squid a criao de listas de acesso (acl). As listas de acesso meramente do nomes a objetos. Estes objetos podem ser domnios de origem, domnios de destino, endereos 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: situaes que partiram da rede. OBJ1 e OBJ2: podem ser domnios de origem, domnios de destino, endereos IP, etc., exemplo:
acl localhost src 127.0.0.1/255.255.255.255

Especifica uma lista de acesso chamada _localhost_ definida como requisies vindas da mquina local (127.0.0.1) dst: especifica um IP/mscara de destino, ou seja, entram nesta categoria as requisie quele par IP/mscara; srcdomain: especifica um domnio de origem, ou seja, entram nesta categoria as requisies que partiram do domnio especificado; dstdomain: especifica um domnio de destino, ou seja, entram nesta categoria as requisies de objetos localizados naquele domnio; time: especifica uma expresso descrevendo "tempo". formado por uma expresso de data, que uma lista de abreviaes dos dias da semana ( S - Domingo, M - Segunda-feira, T - Tera-feira, W - Quarta-feira H Quinta-feira, F - Sexta-feira e A - Sbado), seguida por um intervalo de datas no formato hh1:mm1-hh2:mm2. ident: especifica um ou mais nomes de usurio. O Squid define access lists padres, as quais esto 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 especfico, neste caso o protocolo "cache_object". Poderia ser os protocolos FTP ou HTTP. Se voc no conhece o protocolo "cache_object", no se preocupe um protocolo apenas do Squid que retorna informao 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 mquina localhost, e recebe o mesmo nome.


acl acl acl acl acl acl SSL_ports port 443 563 Safe_ports port 80 21 443 563 70 210 1025-65535 Safe_ports port 280 # http-mgmt Safe_ports port 488 # gss-http Safe_ports port 591 # filemaker Safe_ports port 777 # multiling http

Estas acls contm as portas consideradas seguras para o proxy. Todas as outras portas so consideradas inseguras, e o acesso negado.
acl CONNECT method CONNECT

Acl contendo o mtodo de acesso aos arquivos na rede (GET,POST). O mtodo CONNECT vale tanto por GET (receber) como por POST (enviar). Exemplo prtico de acl para rejeitar conexo com determinados domnios.
acl bad_sites dstdom_regex "/etc/squid/bad_sites"

Defini o arquivo bad_sites com domnios que sero rejeitados. Vamos definir aqui tambm a access list referente ao controle de acesso dos usurios ao proxy:
acl password proxy_auth REQUIRED

Password o nome da access list, a access list do tipo proxy_auth (autenticao de usurios). O campo REQUIRED informa ao squid para procurar o nome/senha do usurio com todos os nomes/senhas existentes no arquivo /etc/squid/squid_passwd, descrito anteriormente. Pode-se tambm colocar um a um os nomes de usurios 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 no permitido. O campo http_access responsvel por esta tarefa. Configuraes padro do campo http_access so:

1. http_access allow manager localhost D acesso ao protocolo cache_object apenas para o prprio servidor (localhost). 2. http_access deny manager Nega o acesso ao protocolo cache_object para qualquer outra mquina. 3. http_access deny !Safe_ports Nega o acesso a qualquer outra porta alm 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 so uma das formas possveis de se "floodar" (lotar) nossos mailboxes. Para prevenir o relay de emails, o Squid nega requisies quando o nmero da porta da URL 25 (porta SMTP). Outras portas tambm so bloqueadas. A regra 3 informa ao Squid para negar o acesso a qualquer porta que no esteja na lista Safe_ports. A regra 4 nega qualquer conexo que no seja referente s portas seguras. O padro do Squid negar acesso a tudo a todos. Para permitir a utilizao do proxy do Squid, voc deve configur-lo para permitir o acesso. Normalmente, apenas insere-se uma regra a mais:
http_access allow all

Porm, isto no restringe nem um pouco o acesso ao seu proxy. Pelo contrrio, permite o acesso ao proxy a partir de qualquer mquina na Internet. Para restringir o acesso apenas a usurios do seu sistema, voc pode inserir a seguinte instruo:
http_access allow password

Isso vai exigir que os usurios forneam 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 seo. Seguindo o exemplo da acl bad_sites agora vamos proibir o acesso.
http_access deny bad_sites # probe o acesso a url que contenham as palavras # existentes no arquivo bad_sites

Seo ADMINISTRATIVE PARAMETERS Esta seo bem pequena, porm importante.

cache_mgr : Endereo 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 questes de segurana. Geralmente se muda o UID/GID abaixo para nobody.
cache_effective_user nobody cache_effective_group nobody

visible_hostname : possvel apresentar um hostname "especial" em mensagens de erro e outras mensagens, especificando aqui o "hostname". Se no for especificado, usado o valor de retorno de gethostbyname(), (normalmente o prprio hostname do servidor Proxy).
visible_hostname proxy.Suporte.Conectiva

Seo HTTPD-ACCELERATOR OPTIONS Se desejar rodar o Squid como acelerador web ou proxy transparente,deve-se alterar os valores das opes desta seo, para os seguintes:
httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on

Nota: alm 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 3128 0/0 80 -j REDIRECT

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

Resumindo: Todo o trafego da rede 192.168.1.0 na porta 80 vai ser redirecionado para porta 3128 do squid, lgico que a mquina onde for utilizada essa configurao, dever ser o gateway da rede. Seo MISCELLANEOUS Como o prprio nome diz, esta seo oferece opes extras, como configurar as mensagens de erro de acesso que aparecem para os clientes, testes de DNS, configurao do diretrio de cones e de arquivos de mensagens de erro do squid, entre outras. Nenhuma opo precisa ser modificada. A opo cachemgr_passwd interessante. Existe um programa CGI chamado cachemgr, que o pacote rpm do squid instala no diretrio /usr/bin. Pode-se utilizar este programa para gerenciar vrios recursos do proxy via Web, inclusive desligar/reiniciar o servidor. Isto no ser tratado aqui, pois inclui alteraes na configurao do servidor Web. No FAQ do Squid, existe uma seo inteira referente ao gerenciador de cache. Seo DELAY POOL PARAMETERS Esta seo trata sobre Multicast e Cache Digest. Embora no utilizemos estes recursos, interessante saber do que se tratam. Multicast a capacidade de enviar um pacote IP para mltiplos destinatrios ao mesmo tempo. utilizado por exemplo em sistemas de vdeoconferncia. Cache Digest um sumrio dos componentes de um servidor de cache. Contm, em um formato comprimido, uma indicao se determinada URL est ou no na cache. Deve ser utilizado em conjunto com caches irms/pais (hierarquia de caches). Servidores proxy periodicamente trocam seus "digests" entre si. O funcionamento simples: quando uma requisio para uma URL recebida de um cliente, o servidor cache, caso no possua o arquivo requisitado, pode enviar "digests" para as outras caches definidas em sua hierarquia, afim de descobrir se alguma delas contm o objeto. O servidor cache pode ento requisitar o objeto da cache mais prxima. Configurando a Estao Como mencionado anteriormente, apenas o navegador tem de ser configurado para utilizao do servidor proxy. Infelizmente, cada um tem seu prprio procedimento de configurao. Vamos cobrir o netscape, para informaes sobre como configurar outros navegadores, consulte a documentao do mesmo. Voc deve clicar em Editar-> Preferncias-> Avanado-> 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 endereos que no sero acessados via proxy, como por exemplo servidores locais rede do cliente. Para isto, deve-se inserir os domnios ou intervalos de endereos IP/netmask, no campo "No utilizar proxy para:" Testes Ps-Instalao Aps configurado o arquivo squid.conf, podemos inicializar o servidor, rodando o script do squid a partir do diretrio /etc/rc.d/init.d
[root@localhost]# cds

[root@localhost]# ./squid start

Para inicializar o squid sempre durante o boot da mquina, execute o comando:


[root@localhost]# ntsysv

selecione o squid. Quando o servidor inicializado, os seguintes processos entram em execuo:


/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 pgina acessada abaixo do diretrio /var/spool/squid (ou outro diretrio que foi especificado na opo cache_dir do squid.conf). Repita o procedimento em outra mquina da rede, configurada com o proxy. A pgina acessada ir baixar bem mais rapidamente, pois j est cacheada no servidor proxy.

16.2. Como fao 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, autenticaes ou acesso liberado. O procedimento descrito assume que a sua mquina linux j esta configurada na rede local onde ser o servidor para as demais e conectada a internet. Este procedimento no prev envio e recebimento de mensagens atravs do servio de proxy. As configuraes 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 atravs do comando:
[root@localhost root]# rpm -qa |grep squid

Sero apresentados os seguintes pacotes para a verso CL7.0:


squid-(verso do pacote) linuxconf-squid-(verso do pacote) squid-doc-(verso do pacote) squid-auth-(verso do pacote) squid-templates-(verso do pacote)

Para a verso Cl60 e anteriores ser apresentado apenas os pacotes:


squid-(verso do pacote) linuxconf-squid-(verso do pacote)

Caso os pacotes no apaream utilize o aplicativo apt-get ou o rpm para instalar os pacotes. Antes de iniciar o processo de configurao aconselha-se a fazer uma cpia do arquivo original onde sero feitas as alteraes, pois se for necessrio refazer a configurao desde o incio por algum motivo de erro no ser preciso reinstalar os pacotes.

Para fazer a cpia 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 servio de proxy. Segue abaixo alguns exemplos de permisso de acesso no squid 16.2.1. Acesso livre para todas as mquinas da rede: Esta a forma mais simples de configurao do servidor squid, para que todas as mquinas da rede tenham acesso a internet, ser criada uma regra (acl) para dar acesso a somente mquinas que pertenam a rede . Edite o arquivo de configurao:
[root@localhost root]#mcedit /etc/squid/squid.conf

No arquivo de configurao do squid procure a seguinte entrada: Na sequncia 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 configurao a liberao 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 servio do squid.
[root@localhost root]# service squid stop ; service squid start

Nas mquinas clientes configure o programa de navegao para procurar pelo servidor proxy, informando o ip da mquina servidor e a porta de comuicao. OBS: A porta de comunicao no foi alterada sendo assim o servio responder na porta 3128.

16.2.2. Acesso atravs da autenticao do usurio: Esta forma de acesso permite que somente usurios cadastrados no servidor proxy podero utiliz-lo para navegao. Quando for feito um pedido no navegador ele mostrar uma tela pedindo login e senha para acesso: OBS: O usurio e o login no precisam ser necessariamente os mesmos do usurio real. Para autenticar os usurios ser necessrio um programa que verifique se as informaes esto corretas ou no, neste exemplo utilizaremos o ncsa_auth que esta no diretrio /usr/lib/squid. Copie o arquivo para dentro do diretrio /usr/bin/ com o comando:
[root@localhost root]#cp /usr/lib/squid/ncsa_auth /usr/bin/

Aps a cpia do arquivo crie o arquivo onde ficaro a senhas dos usurios . 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 confirmao. Para inserir os outros usurios que tero acesso, ser necessrio retirar a opo -c e alterar o nome do usurio. Ex:
[root@localhost]# htpasswd /etc/squid/squid_passwd pedro

Feita a criao do arquivo onde ficaro 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 usurios. Na sequncia 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

acl acl acl acl acl acl acl acl acl acl acl acl acl acl

localhost src 127.0.0.1/255.255.255.255 SSL_ports port 443 563 Safe_ports port 80 # http Safe_ports port 21 # ftp Safe_ports port 443 563 # https, snews Safe_ports port 70 # gopher Safe_ports port 210 # wais Safe_ports port 1025-65535 # unregistered ports Safe_ports port 280 # http-mgmt Safe_ports port 488 # gss-http Safe_ports port 591 # filemaker Safe_ports port 777 # multiling http CONNECT method CONNECT password proxy_auth REQUIRED <- insira esta linha.

O ltimo passo a ser especificado para este tipo de configurao a liberao do acesso atravs 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 configuraes necessrias para que o servidor squid requisite senhas j esta pronto. Utilize os comandos abaixo para iniciar o servio do squid.
[root@localhost root]# service squid stop ; service squid start

OBS: Quando o navegador for carregado e algum endereo for pedido, ser apresentada um tela pedindo o login e a senha, somente os usurios cadastrados no servidor proxy tero acesso. 16.2.3. Restries para rede, endereos, palavras e horrios. Este tipo de restrio utilizada por administradores de rede para que os usurios que precisem utilizar a internet como meio e comunicao ou pesquisa faam o uso dela apenas profissionalmente e no para assuntos que no estejam ligados as suas funes dentro do seu trabalho. 16.2.4. Restrio para rede Este exemplo refere-se a restrio de apenas algumas mquinas 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 sequncia 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

acl acl acl acl acl acl acl acl acl acl acl acl

Safe_ports port 21 # ftp Safe_ports port 443 563 # https, snews Safe_ports port 70 # gopher Safe_ports port 210 # wais Safe_ports port 1025-65535 # unregistered ports Safe_ports port 280 # http-mgmt Safe_ports port 488 # gss-http Safe_ports port 591 # filemaker Safe_ports port 777 # multiling http CONNECT method CONNECT rede_interna src 192.168.0.0 <- insira esta linha. proibir_ip src 192.168.0.1 192.168.0.2 <- insira esta linha.

O ltimo passo a ser especificado para este tipo de configurao a restrio 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 mquinas devem ser adaptados para a rede em que se esta implantando o servio. As configuraes necessrias para que o servidor squid faa a restrio dos IPs j esta pronta. Utilize os comandos abaixo para iniciar o servio do squid.
[root@localhost root]# service squid stop ; service squid start

16.2.5. Restrio para endereos www e ftp Este exemplo refere-se a restrio de endereos especficos iniciados por www ou ftp. Neste tipo de configurao pode ser criado um arquivo para que todos os endereo a serem restringidos possam ser arquivados. Crie o arquivo atravs do comando:
[root@localhost root]#touch /etc/squid/sites

Dentro deste arquivo insira os endereos que no devero 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 sequncia do arquivo insira as acls acl rede_interna src 192.168.0.0

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 configurao a restrio de acesso para os endereos 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 configuraes necessrias para que o servidor squid faa a restrio dos endereos cadastrados no arquivo sites j esta pronto. Utilize os comandos abaixo para iniciar o servio do squid.
[root@localhost root]# service squid stop ; service squid start

16.2.6. Restrio a palavras especficas Este exemplo refere-se a restrio de acesso atravs da consulta de palavras que no devam ser pesquisadas. Neste tipo de configurao pode ser criado um arquivo para que todas as palavras a serem restringidas possam ser arquivados. Crie o arquivo atravs do comando:
[root@localhost root]#touch /etc/squid/palavras

Dentro deste arquivo insira os endereos que no devero ser acessados: Ex:
[root@localhost root]#mcedit /etc/squid/palavras mp3 povo cone

Pressione F2 para salvar e F10 para sair OBS: Este exemplo difere do anterior por rejeitar qualquer palavra cadastrada no arquivo. Quando um endereo for digitado no navegador ele procurar a ocorrncia da palavra em todo o endereo digitado: Ex: Se o endereo http://www.conectiva.com.br fosse solicitado o mesmo no 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 sequncia 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 configurao a restrio de acesso para os endereos 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 configuraes necessrias para que o servidor squid faa a restrio dos endereos cadastrados no arquivo sites j esta pronto. Utilize os comandos abaixo para iniciar o servio do squid.
[root@localhost root]# service squid stop ; service squid start

16.2.7. Restrio a horrios. Este exemplo refere-se a restrio de acesso atravs de horrios programados. Este tipo de configurao deve ser utilizada em casos onde o acesso a internet feito pelos usurios somente em horrio de trabalho.

Edite o arquivo squid.conf com o comando:


[root@localhost root]#mcedit /etc/squid/squid.conf

Na sequncia 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 mquinas iro acessar o servidor squid de segunda a sexta somente das 09 s 18 horas. Caso seja necessrio liberar acesso para somente algumas mquinas alm do horrio especificado crie novas regras se baseando neste exemplo, alterando a rede para os ips especficos das mquinas e os horrios de acesso. OBS: O nome das regras dever ser diferente. O ltimo passo a ser especificado para este tipo de configurao a restrio de acesso para o horrio. 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 configuraes necessrias para que o servidor squid faa a restrio de acesso por horrio j esta pronto. Utilize os comandos abaixo para iniciar o servio do squid.
[root@localhost root]# service squid stop ; service squid start

16.3. Estou utilizando o proxy (squid) mas os clientes da minha rede no esto conseguindo receber nem enviar emails, o que fazer ?

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 esto conseguindo acessar a internet normalmente atravs do squid (proxy), porm no conseguem receber e enviar email. Isso acontece pois o squid trabalha somente com os protocolos http e ftp e no conseguem retransmitir outros protocolos como os de email (POP3 e SMTP). Para resolver esse problema habilita-se na mquina 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]# MASQ ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 25 -j

[root@localhost]# MASQ

ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 110 -j

Elas basicamente dizem para repassar todos os pacotes vindos de qualquer porta de qualquer mquina da rede 192.168.1.0 e com a mscara 24 (255.255.255.0), com destino para as portas 25 ou 110 de qualquer mquina (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 MASQ tcp ------ 192.168.1.0/24 MASQ tcp ------ 192.168.1.0/24 Chain output (policy ACCEPT):

destination anywhere anywhere

ports any -> smtp any -> pop-3

Agora para que essas regras sejam sempre lidas na inicializao 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 instrues abaixo: 1. V para o diretrio /etc/rc.d/init.d. 2. Use o editor de textos de sua preferncia e crie um arquivo chamado ipchains com o seguinte contedo:
#! /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 servio 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

;; stop) gprintf "Parando o servio de %s: " "IPChains" echo /sbin/ipchains --flush ;; *) gprintf "Uso: ipchains (start|stop)" echo ;; esac exit 0

3. D permisses de execuo ao arquivo recm 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

Configurao das Estaes A configurao das estaes de trabalho para utilizar o IP Masquerading (mascaramento) bastante simples tanto para estaes Conectiva Linux quanto para estaes Windows. Para configurar a estao Conectiva Linux, execute os seguintes passos:

[root@localhost]# linuxconf

V para Ambiente de Rede->Tarefas do cliente->Roteamento e Roteadores: Selecione Padres e informe o endereo de IP de seu servidor. Selecione Padres e informe o endereo de IP de seu servidor. Deixe a opo Ative o roteamento desativada. Saia do Linuxconf e ative a configurao.
[root@localhost]# cds

[root@localhost]# ./network stop

[root@localhost]# ./network start

### Kernel verso 2.4 ### Para sistemas que utilizam kernel da verso 2.4 , para utilizar do ipchains necessrio habilitar o mdulo 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 prxima inicializao do sistema tal modulo seja habilitado automaticamente juntamente com as regras:
... /sbin/modprobe ipchains /sbin/ipchains -P forward DENY ...

Iptables Primeiramente levante o mdulo de seu kernel:


[root@localhost]# modprobe iptable_nat

Faa o forward de pacotes de sua rede:


[root@localhost]# echo 1 > /proc/sys/net/ipv4/ip_forward

Crie a regra: (para a conexo atravs da eth0)


[root@localhost]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ou, para ppp0 (conexo discada):


[root@localhost]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

As regras sero perdidas na hora do boot de sua mquina, 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 sero inicializadas e suas mquinas da rede interna estaro se conectando a internet por meio de mascaramento. Estaes Windows Para configurar uma estao Windows, siga os seguintes passos: 1. V para Iniciar->Configuraes->Painel de Controle->Rede: 2. Clique em TCP/IP e pressione o boto Propriedades. 3. Clique em Configurao DNS 4. Clique em Ativar DNS e digite o nome de sua mquina no campo Host e o domnio no campo Domnio. Especifique tambm o DNS do provedor onde voc esta se conectando.

5. Digite o endereo de IP de seu servidor em Ordem pesquisa servidor DNS e clique em Adicionar. 6. Digite o nome do seu domnio em Ordem pesquisa sufixo domnio e clique em Adicionar. 7. Clique em Gateway e informe o nmero ip do seu servidor. 8. Clique em Ok e saia da configurao de rede. Voc ter de reinicializar o computador. Para testar a configurao, tente acessar algum endereo da Internet aps ter reinicializado a mquina.

16.4. Aps alguns minutos depois de ativar o squid o mesmo para de funcionar?
1. Verifique se o diretrio de cache est com as permisses corretas: Edite o arquivo /etc/squid/squid.conf:
[root@localhost]# mcedit /etc/squid/squid.conf

Procure pela linha que comea com cache_dir, exemplo: cache_dir ufs /var/spool/squid 100 16 256 No exemplo o diretrio de cache /var/spool/squid, agora verifique se as permisses do diretrio esto corretas:
[root@localhost]# l /var/spool drwxr-xr-x 18 nobody nobody 4096 Dec 11 12:49 squid/

Essas so as permisses corretas, caso o dono ou grupo no 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 diretrio de cache:


[root@localhost]# rm -rf /var/spool/squid/*

Apenas altere o /var/spool/squid pelo diretrio utilizado para cache do squid.

16.5. Como Configurar o sarg no CL9


### CL9 ### Este procedimento orientar na configurao do servio SARG (Squid Analysis Report Generator), onde ser possvel verificar diariamente o que os usurios da rede esto acessando atravs do proxy. OBS: O procedimento assume que o servio de proxy(squid) e web (apache) esto 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 no seja mostrado nenhum pacote instale o pacote atravs do aplicativo apt-get:

[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 repositrios disponibilizados na internet. Faa uma cpia de segurana do arquivo de configurao.
[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 opes que sero utilizadas neste exemplo:
#Lngua que ser utilizada; language Portuguese #Arquivo onde o sarg far a busca de informaes; access_log /var/log/squid/access.log # Ttulo da pgina que ser mostrada em HTML title "SARG - Relatrio Dirio de acesso" # As entradas abaixo so referentes a cores e fontes onde podero ser # personalizadas a gosto do administrador. # Para este procedimento foram deixados os valores padres. 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 # Diretrio Temporrio onde ficaro os dados temporary_dir /tmp # Diretrio onde as pginas sero armazenadas e postreiormente acessadas. output_dir /var/www/html/squid

OBS:Para o Cl9 dever ser criado um link simblico dentro do diretrio /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)

# Opo que indica em qual ordem ser mostrada a seo Topuser # opes:USER/CONNECT/BYTES/TIME topuser_sort_field BYTES reverse # Opo que indica em qual ordem ser mostrada a seo User # opes:SITE/CONNECT/BYTES/TIME user_sort_field BYTES reverse # Arquivo que possui os usurios que no devem aparecer nos relatrios exclude_users /etc/sarg/exclude.users

# Arquivo que possui os hosts que no devem estar nos relatrios 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 # Opo para remover arquivos temporrios. remove_temp_files yes # Opo para cria o index.html principal index yes # Opo que indica sobrescrever o relatrio caso ele j exista overwrite_report yes # Opo para registros sem nome de usurio opes:(ignore/ip/everybody) records_without_userid ignore # Opo que indica a quantidade de sites mais acessados que ser # mostrada na pgina do relatrio topsites_num 100 # Opo que indica o critrio de classificao no tem topsites opes:CONNECT/BYTES A/D # Neste exemplo esta sendo utilizado o critrio conexo em forma decrescente. topsites_sort_order CONNECT D # Esta opo indica que os cdigos HTTP devero ser ignorados no relatrio exclude_codes /etc/sarg/exclude_codes # Tempo para checagem max_elapsed 28800000 # Opes que podero ser escolhidas para gerar o relatrio # topsites --- Indica o site, conexo e bytes # sites_users --- Indica quais usurios estavam acessando um determinado site site # users_sites --- Indica os sites acessados por cada usurio # 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 autentificao report_type topsites sites_users users_sites date_time denied auth_failures # Opo para exibir endereos 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 traduo do tpico no relatrio possa ser feita completa pois sem estas entradas no ser possvel gerar os relatrios de de falhas de autenticao e de sites mais acessados.
[root@localhost]#mcedit /etc/sarg/languages/Portuguese (pressione ENTER)

Insira as entradas abaixo no fim do arquivo:


"Negado" "Topsites"

Pressione F2 para salvar e F10 para sair Para que o relatrio seja gerado diriamente incluindo todos os acessos desde o incio da utilizao insira a linha abaixo no cron do usurio 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 relatrio ser gerado todos os dias as 23:55 Caso queira gerar o relatrio somente do dia corrente utilize o seguinte procedimento: Crie o arquivo abaixo dentro do diretrio /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 permisso de execuo ao script:
[root@localhost]# chmod +x /etc/sarg/sargdia.sh (pressioneENTER)

Insira a linha que chamar o script no crontab do usurio root


[root@localhost]# crontab -e (pressione ENTER) 55 23 * * * /etc/sarg/sargdia.sh

Pressione "ESC" em seguida :x Desta forma o relatrio ser gerado todos os dias as 23:55

Captulo 17. TELNET 17.1. Como permitir o acesso remoto ao usurio root atravs do telnet?
Por medida de segurana no aconselhvel permitir acesso remoto ao usurio root atravs do telnet. De qualquer maneira, caso seja necessrio, edite o arquivo /etc/securetty e insira as seguintes linhas ao final deste:
[root@localhost]# mcedit /etc/securetty Insira algumas linhas, conforme exemplo:

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 atravs do telnet para o root. Caso no deseje ter conexes simultneas com o usurio root atravs do telnet, insira apenas uma linha. ##### Servidor 5.1 Para o caso do servidor 5.1 liberar acesso telnet para usurios root, ao invs de colocar apenas os nmeros como no primeiro caso acrescente as linhas como no exemplo abaixo (o princpio o mesmo):
pts/0 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6

Neste caso sero liberados at 7 acessos como superusurio (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 usurio root.

17.2. Como limitar o acesso via telnet em um servidor a apenas algumas mquinas?
Considerando-se que o servio telnet j est em funcionamento, ser nescessrio a utilizao dos arquivos hosts.denny e hosts.allow, para restringir o acesso para as mquinas desejadas. Edite primeiro o hosts.denny e bloqueie para todos o servio 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

E coloque as mquinas que pode acessar o servio:


in.telnetd:10.0.2.15

Nesta linha liberada a mquina 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 fao para mandar e verificar emails atravs do modo texto utilize o comando telnet?
[root@localhost root]# telnet ip do servidor 25

Digite: Helo Pressione ENTER mailfrom: seu endereo 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 contedo 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 usurio (pressione enter) Pressione ENTER pass senha do usurio (pressione enter) Pressione ENTER para listar as mensagens utilize a opo list. Pressione ENTER para ler alguma das mensagens recebidas utilize o comando: Pressione ENTER retr nmero da mensagem (pressione enter) Pressione ENTER para sair da sua caixa postal utilize quit. Pressione ENTER

Captulo 18. WEBMAIL 18.1. Como instalar webmail (IMP) no Servidor?


APRESENTAO Muitas vezes interessante para a empresa permitir que seus funcionrios possam acessar suas contas de email fora da empresa sem a necessidade de configuraes complexas.

Com o Webmail, possvel acessar a conda de email sem qualquer configurao de clientes de email. O usurio 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 soluo apresenta a instalao e configurao do IMP utilizando o Apache e o mod_php3 ou mod_php4. Consulte a documentao para informaes 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 documentao do apache para maiores informaes. que a linguagem PHP3 ou PHP4 esteja com suporte a IMAP habilitado. Maiores informaes sobre como fazer isso adiante, neste documento. desejvel: browser capaz de reconhecer Javascript e tabelas. 18.1.1. Como instalar webmail (IMP) no Servidor CL9? ### Verso 9.0 ### 1 VERIFICAES NECESSRIAS 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 Domnio : 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 so a nivel de demostrao. 1.2 PACOTES NECESSRIOS PARA A INSTALAO:
apache-(nmero da verso) php-(nmero da verso) php-ldap-(nmero da verso) php-imap-(nmero da verso) sendmail-(nmero da verso) imap-(nmero da verso) horde-(nmero da verso) imp-(nmero da verso)

1.2.1 Utilize os comandos abaixo para verificar se os pacotes necessrios para o funcionamento do webmail esto instalados:
[root@localhost]#rpm -qa | grep apache [root@localhost]#rpm -qa | grep php

[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 no 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

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 webmaster@dummy-host.example.com # 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 administrador@servidor.com.br 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:

$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 sero usadas. Neste exemplo a liguagem padro ser Portugus Brasileiro = pt_BR, e precisamos tambm 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 no sero 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'] = 'Espaol'; #$nls['languages']['et_EE'] = 'Eesti'; #$nls['languages']['fr_FR'] = 'Franais'; #$nls['languages']['el_GR'] = 'Greek'; #$nls['languages']['it_IT'] = 'Italiano'; #$nls['languages']['ja_JP'] = 'Japanese'; #$nls['languages']['ko_KR'] = 'Korean'; #$nls['languages']['lv_LV'] = 'Latvieu'; #$nls['languages']['lt_LT'] = 'Lietuviskas'; #$nls['languages']['hu_HU'] = 'Magyar'; #$nls['languages']['nl_NL'] = 'Nederlands'; #$nls['languages']['nb_NO'] = 'Norsk bokml'; #$nls['languages']['nn_NO'] = 'Norsk nynorsk'; #$nls['languages']['pl_PL'] = 'Polski'; #$nls['languages']['pt_PT'] = 'Portugus'; $nls['languages']['pt_BR'] = 'Portugus Brasileiro'; #$nls['languages']['ro_RO'] = 'Romana'; #$nls['languages']['ru_RU'] = 'Russian (Windows)';

#$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 no poderam ser comentadas.
Neste caso so: $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 padro 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:

$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',

'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. Referncia 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:

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

Aps 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 esto no cd nmero 1.


[root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# apt-get apt-get apt-get apt-get apt-get apt-get install install install install install install postfix apache imap php4 php4-imap mod_php4

Estes pacotes esto no cd nmero 2.


[root@localhost]# apt-get install horde [root@localhost]# apt-get install imp

Configure seu servidor de email, e carregue o servio:


[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

e descomente a linha:
extension=imap.so

Verifique tambm (se suas configuraes no usam LDAP, se o mdulo para ldap est descomentado, pois necessrio 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 verso CL8 deve se utilizar o xinetd para que o imap seja carregado, edite o arquivo abaixo: Por padro a opo disable vem com a entrada yes habilitada fazendo com que o servio no seja carregado, altere o arquivo para que esta opo 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)

[root@localhost]# ./inetd stop ; ./inetd start (pressione Enter)

Agora configure o horde: Acesse o diretrio de instalao IMP:


[root@localhost]# cd /var/www/default/horde

Execute o script install.sh:


[root@localhost]# ./install.sh

Este script prepara o ambiente de configurao do IMP, criando arquivos de configurao vazios. Abra o Netscape e acesse a pgina http://localhost/horde/setup.php3 do Apache. A instalao grfica e altera o arquivo/var/www/default/horde/imp/config/defaults.php3 Ao terminar a configurao acesse o diretrio de instalao do IMP e execute:
[root@localhost]# cd /var/www/default/horde [root@localhost]# ./secure.sh

Este comando finaliza a instalao e protege o arquivo de configuraao de acessos. Para refazer as configuraes ser necessrio refazer os passos novamente (./install.sh em diante). Agora teste sua configurao checando o email pelo webmail atravs do endereo:
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

Aps comentar, salve o arquivo com F2 e saia com F10 Edite o arquivo de configurao 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

Aps 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:

Estes pacotes esto no cd nmero 1.


[root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# [root@localhost]# apt-get apt-get apt-get apt-get apt-get apt-get install install install install install install postfix apache imap php4 php4-imap mod_php4

Estes pacotes esto no cd nmero 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 tambm (se suas configuraes no usam LDAP, se o mdulo para ldap est descomentado, pois necessrio 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:

[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 diretrio de instalao IMP:


[root@localhost]# cd /home/httpd/html/horde

Execute o script install.sh:


[root@localhost]# ./install.sh

Este script prepara o ambiente de configurao do IMP, criando arquivos de configurao vazios. Abra o Netscape e acesse a pgina http://localhost/horde/setup.php3 do Apache. A instalao grfica e altera o arquivo /home/httpd/html/horde/imp/config/defaults.php3 Ao terminar a configurao acesse o diretrio de instalao do IMP e execute:
[root@localhost]# cd /home/httpd/html/horde [root@localhost]# ./secure.sh

Este comando finaliza a instalao e protege o arquivo de configuraao de acessos. Para refazer as configuraes ser necessrio refazer os passos novamente. Agora teste sua configurao checando o email pelo webmail. 18.1.4. Como instalar webmail (IMP) no Servidor CL60? ### CL6.0 ### INSTALAO Inicialmente necessrio instalar os pacotes Horde e IMP. Nas instrues abaixo estamos utilizando o apt-get para instalar os pacotes. Veja nossa documentao para maiores informaes sobre como configurar e utilizar esta ferramenta. Instalando os pacotes :
[root@localhost]# apt-get install imp horde horde-shm imp ################################ horde ############################## horde-shm ##########################

CONFIGURAO:

Configurar um servidor IMAP 1. Use o editor de sua preferncia para abrir o arquivo /etc/inetd.conf Exemplo:
[root@localhost]# mcedit /etc/inetd.conf

2. Voc deve localizar as linhas correspondentes aos servios POP-2, POP-3 e IMAP e descoment-las (retirando o " # " do incio da linha). As linhas so parecidas com:
pop-2 pop-3 imap stream stream stream tcp tcp tcp nowait nowait nowait root root root /usr/sbin/tcpd ipop2d /usr/sbin/tcpd ipop3d /usr/sbin/tcpd imapd

3. Reinicie o servio 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 documentao especfica para maiores informaes. 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 preferncia 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-vrgula 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 smbolo " # " no incio 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 seo
# Configuration for PHP <= 3.0.16

Descomente as seguintes linhas (retirando o " # " do incio 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 diretrio de instalao IMP:


[root@localhost]# cd /home/httpd/html/horde

b. Execute o script install.sh:


[root@localhost]# ./install.sh

Este script prepara o ambiente de configurao do IMP, criando arquivos de configurao vazios. c. Abra o Netscape e acesse a pgina http://localhost/horde/setup.php3 do Apache. A instalao grfica e altera o arquivo/home/httpd/html/horde/imp/config/defaults.php3 d. Ao terminar a configurao acesse o diretrio de instalao 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 instalao e protege o arquivo de configuraao de acessos. Para refazer as configuraes ser necessrio refazer os passos novamente. Para testar se a pgina est funcionando ou mesmo os usurios acessarem suas contas, tem que entrar no seguinte endereo:
http://IP_do_servidor/imp

ir abrir a pgina do IMP. 18.1.5. Como instalar webmail (IMP) no Servidor CL5.1? ### CL5.1 e CL5.0 ### Inicialmente necessrio a instalao dos pacotes RPM.
Horde - Elementos bsicos do Horde Web Application Suite Imp - Programa de Mail via Web baseado no IMAP
[root@localhost]# mount /mnt/cdrom

Entre no diretrio RPMS


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

Execute o comando de instalao:


[root@localhost]# rpm -ivh *php3*

[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 configurao necessrio que o servidor httpd (Apache) esteja devidamente configurado: 1. Configuraes 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 LoadModule php3_module #LoadModule php4_module #LoadModule perl_module # Extra Modules #AddModule mod_php.c AddModule mod_php3.c #AddModule mod_php4.c #AddModule mod_perl.c modules/mod_php.so modules/libphp3.so modules/libphp4.so modules/libperl.so

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 no existam, inclua estas linhas:


Alias Alias Alias Alias /horde "/home/httpd/html/horde/" /horde/ "/home/httpd/html/horde/" /imp "/home/httpd/html/horde/imp/" /imp/ "/home/httpd/html/horde/imp/"

b. Configurao 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

extension=php3_imap4r2.dll extension=php3_ldap.dll

c. Inicializando os Servios de httpd


[root@localhost]# cds (pressione ENTER) [root@localhost init.d]# ./httpd stop ; ./httpd start (pressione ENTER)

2. Configurao 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 seo
# 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

necessrio reiniciar o servidor inet:


[root@localhost]# cds (pressione ENTER) [root@localhost init.d]# ./inet stop ; ./inet start (pressione ENTER)

4. Configurao Para configurar necessrio alterar as permisses do arquivo setup.php3


[root@localhost ]# cd /home/httpd/html/horde [root@localhost /horde]# ./install.sh

Aps digitado e se os parmetros de instalao foram executados com sucesso, apartir de seu browser (Nestcape) digite a URL:
http://127.0.0.1/horde/setup.php3

Obs: Esta instalao necessariamente deve ser feita em ingls. A instalao grafica e altera o arquivo /home/httpd/html/horde/imp/config/defaults.php3 Para testar se a pgina est funcionando ou mesmo os usurios acessarem suas contas, tem que entrar no seguinte endereo:
http://IP_do_servidor/imp

ir abrir a pgina 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 atualizao do php4, imp e hord, o endereo : 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

[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 tambm (se suas configuraes no usam LDAP, se o mdulo para ldap est descomentado, pois necessrio 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:
[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 diretrio de instalao IMP:


[root@localhost]# cd /home/httpd/html/horde

Execute o script install.sh:


[root@localhost]# ./install.sh

Este script prepara o ambiente de configurao do IMP, criando arquivos de configurao vazios. Abra o Netscape e acesse a pgina http://localhost/horde/setup.php3 do Apache. A instalao grfica e altera o arquivo/home/httpd/ html/horde/imp/config/defaults.php3 Ao terminar a configurao acesse o diretrio de instalao do IMP e execute:
[root@localhost]# cd /home/httpd/html/horde [root@localhost]# ./secure.sh

Este comando finaliza a instalao e protege o arquivo de configuraao de acessos. Para refazer as configuraes ser necessrio refazer os passos novamente. Agora teste sua configurao checando o email pelo webmail.

18.3. Erro na configurao 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

[root@localhost /]# ./httpd stop

[root@localhost /]# ./httpd start

Captulo 19. SEGURANA 19.1. Como funciona um firewall?


Objetivos desse Documento: O objetivo principal desse documento tentar elucidar os conceitos envolvidos e as tcnicas utilizadas na construo de um firewall. No nos responsabilizamos pelo perfeito funcionamento do seu firewall e pela segurana que o mesmo ir prover para a sua rede. Referncias 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 atravs da filtragem de pacotes. O tamanho de cada pacote definido de acordo com as caractersticas da sua rede, geralmente nas redes ethernet o tamanho de 1500 bytes. Ento se por exemplo for feito um download de um arquivo de 1 MB, o que realmente estar acontecendo que o seu computador receber vrios pequenos pacotes (fragmentos) de 1500 bytes e no final ir agrup-los para formar o arquivo original. Um pacote composto por duas partes: - Header (cabealho): nessa parte do pacote que o firewall vai atuar, possui informaes importantes como:

origem do pacote destino do pacote entre outras - Body (corpo): a parte que contm 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. Ferramentas Utilizadas Todo o controle de firewall (filtragem dos pacotes) feito no kernel, porm algumas ferramentas so utilizadas para controlar essas regras (controlar essas caractersticas). Nos kernels das sries 2.0.x era utilizado o ipfwadm, porm o mesmo apresentava vrios problemas e falhas ento uma nova verso 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 no exista ento necessrio fazer a recompilao do kernel e habilitar a opo de firewall (verificar em/usr/doc/HOWTO/IPCHAINS-HOWTO). IP Masquerading Masquerading funciona da seguinte maneira. Quando uma mquina da rede local faz uma conexo com um host externo (Internet), passa antes por uma mquina gateway que vai reescrever o cabealho do pacote. Dessa forma quem faz o acesso ao host externo a mquina gateway. Quando o host externo responde enviando pacotes para aquela mquina que fez a conexo, o masquerading sabe disso, e re-escreve novamente o cabealho do pacote, para que ela o receba. Com isso, toda sua rede local fica conectada a Internet e sendo controlada pela mquina gateway que ir fazer a ligao entre as redes. Essa tecnologia permite que um conjunto de mquinas acesso transparente a internet atrs de um sistema de gateway, que nesse caso o nico sistema que est ligado diretamente a internet. Pginas web, telnet funcionam perfeitamente utilizando IP-Masquerade. FTP, IRC e Real Audio precisam de um tratamento especial, para isso devem trabalhar juntamente com mdulos especficos. As regras de filtragem (firewall) podem ser aplicadas a todos computadores, e voc precisa manter a mquina gateway bem segura, por que ela quem faz a ligao entre as duas redes, e esta vulnervel aos ataques Internet.
_ __ _ | \/ \/ | / Internet \ \_/\_/\_/\_/ | | | 200.10.15.1 | / | / __________ | | | Firewall | <-- Gateway | System | |__________| |\ | \ | 192.168.0.1 | 255.255.255.0 | _____________________________________________ | | | | | | | | |

| _____________ | | | Workstation | |_____________| 192.168.0.2 255.255.255.0

| _____________ | | | Workstation | |_____________| 192.168.0.3 255.255.255.0

| _____________ | | | Workstation | |_____________| 192.168.0.4 255.255.255.0

Como funcionam as regras de firewall O kernel inicia-se com 3 listas de regras, essas regras so chamadas de firewall chains ou apenas chains. Quando um pacote chega a placa de rede da sua mquina, 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 mquina, estamos usando o chain chamado de FORWARD, e por fim, os pacotes que saem da sua mquina usam as regras de OUTPUT chain. D para perceber que cada chain uma verificao de regras. Se a regra est definida, o kernel sabe o que fazer com o pacote. Se nao existe definio para aquela espcie de pacote, o kernel consulta o chain POLICY para decidir o que fazer, rejeitando ou aceitando o pacote que no possu uma especfica.
---------------------------------------------------------------| 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, ento ele descartado (DENY). Sanity: Nesse estgio feito testes de sanidade, se o pacote est mal formado ele pode confundir uma regra de checagem ento ele j logo descartado (DENY). input chain: Esta o primeiro conjunto de regras de controle do firewall. Os pacotes que chegarem a esta regra sero testados, se os pacotes NO forem rejeitados (DENY) ento ele prosseguir adiante.

Demasquerade: Se o pacote em questo for um pacote previamente mascarado, ele ser desmascarado e ento ir direto para o conjunto de regras output. E como ele sabe que um pacote mascarado ? Pois ele guarda em uma tabela quais pacotes saram e que foram mascarados. Se no foi utilizado IP Masquerading possvel mentalmente apagar este estgio do diagrama acima. Routing decision: O campo destino do pacote analisado pelo cdigo de roteamento para decidir se o pacote destinado a um processo local (Local Process) ou para ser repassado para uma mquina remota. Local process: Um processo local aquele que est sendo executado na sua mquina e pode receber pacotes que j passaram pelo estgio de "routing decision". Tambm podem enviar pacotes que passam novamente pelo estgio 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 iro atravs do conjunto de regras (chain) output com interface igual a 'lo', ento eles retornaro para a chain input tambm como interface 'lo'. A interface 'lo' usualmente chamada de inteface de loopback. local: Se o pacote no foi criado por um processo local, ento o prximo passo do pacote ser o chain forward, caso contrrio o pacote ir para o chain output. forward chain: Esse conjunto de regras sempre acessada por todos os pacotes que esto passando por essa mquina com o destino para uma outra. output chain: Esse conjunto de regras sempre acessada por todos os pacotes que sero enviados para outra mquina. IPCHAINS Abaixo segue um explicativo de utilizao do ipchains, para maiores informaes 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 no aparece nenhuma regra pois ainda no foi definida nenhuma). Para criar uma nova regra:
# ipchains -A input output forward -p TCP

UDP ICMP ALL -s IP/MASQ -d IP/MASQ -j REJECT ACCEPT DENY MASQ RETURN ACCEPT DENY MASQ REDIRECT PORTA:PORTA PORTA:PORTA

-P input output forward

onde,

A p s d j P

= = = = = =

significa que quer adicionar uma nova regra especifica o protocolo a ser utilizado especifica a origem do pacote especifica o destino do pacote especifica a ao a ser tomada tipo de poltica(controla se o padro vai ser proibdo/liberado)

Valores possveis para as opes '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 domnio conectiva) -s ! localhost (especificar todos os pacotes que no tenham vindo de localhost) -d localhost 60000:61000 (especificar todos os pacotes com destino as portas 60.000 a 61.000 inclusive, da mquina localhost) -s 0.0.0.0/0 :1023 (especificar todos os pacotes vindos de portas entre 0 a 1023 inclusive de qualquer mquina) -s 0.0.0.0/0 1023: (especificar todos os pacotes vindos de portas entre 1023 a 65535 inclusive de qualquer mquina) -d ! 192.168.1.1 www (especifica todos pacotes na porta www em qualquer mquina menos na 192.168.1.1) -d 192.168.1.1 ! www (especifica todos pacotes para qualquer porta (menos www) na mquina 192.168.1.1) -d ! 192.168.1.1 ! www (especifica todos pacotes para qualquer porta menos a www em qualquer mquina menos na 192.168.1.1)

Vamos criar uma situao, na qual voc queira que sua mquina rejeite todos os pacotes ICMP provenientes do endereo 127.0.0.1 (lo). A vantagem de usar o endereo loopback 127.0.0.1 que qualquer um pode testar essas definies, mesmo que no esteja conectado a uma rede. Os pacotes ICMP podem ser gerados com o programa PING. Um programa de teste de comunicao entre mquinas. 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 DENY all ------ localhost 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

destination anywhere

ports n/a

--- 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 endereo IP 127.0.0.1 e com destino para qualquer lugar. Neste exemplo fica claro que quando no se especifica algum dos campos ento 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 parmetro -A por -D. Abaixo segue um exemplo para facilitar a compreenso:
# ipchains -D input

Para verificar as estatsticas de uma regra: Por exemplo, se aquela regra acima (ipchains -A input -s 127.0.0.1 -j DENY) no estivesse sido apagada, ento para verificar as estatsticas necessrio executar:

# 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 vlida 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 faa um log de todos as aes de suas regras basta acrescentar o parmetro -l na composio 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 DENY all ----l- localhost anywhere Chain forward (policy ACCEPT): Chain output (policy ACCEPT):

ports n/a

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 Verso Conectiva Linux 5.0, para que se consiga fazer logs necessrio obter uma atualizao, 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 padro so: input, output, forward. Deletar uma chain vazia

# 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 usurio Suponha esses dois conjuntos de regras, o chain input e um outro chain chamado 'Test' definido pelo prprio usurio.
`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 mquina 192.168.1.1 e com destino para 1.2.3.4. Primeiramente ele entra na chain input e a Regra1 testada, como ela no se encaixa Regra 1 ento o pacote prossegue para a prxima regra. Comparando com a segunda regra o pacote se encaixa pois o mesmo um pacote tcp. Ento 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 tambm se encaixa pois tem como origem a mquina 192.168.1.1, mas como no tem nenhum TARGET definido ento ele pula para a Regra2. A Regra2 no se encaixa no perfil do pacote e ns chegamos ao fim do chain Test, ento agora retornaremos a Regra3 do input. Como essa ltima regra (Regra3, input) tambm no se encaixa o pacote prossegue para o prximo estgio. Redirecionamento de portas. possvel redirecionar uma porta da mquina firewall para dentro de sua rede, podendo por tanto protejer alm de suas mquinas, seus servidores de apache ou ftp. Para redirecionar um pacote, primeiramente necessrio 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 d P L R p adciona uma nova regra para deletar para especificar o protocolo para especificar o endereo de entrada de dados para especificar em que host e porta vai ser redirecionado especifica a preferncia

E logo aps deve ser includa uma regra para que seja possvel que a mquina interna acesse a externa. Fazendo com isso que a mquina quando estiver retornando o pacote externo, possa completar a comunicao.
[root@localhost]# ipchains -P forward MASQ

19.2. O que e como funciona um firewall (bsico)?


Objetivos desse Documento: O objetivo principal desse documento tentar elucidar os conceitos envolvidos e as tcnicas utilizadas na construo de um firewall. Conceitos Iniciais O firewall no linux feito atravs da filtragem de pacotes. O tamanho de cada pacote definido de acordo com as caractersticas da sua rede, geralmente nas redes ethernet o tamanho de 1500 bytes. Ento se por exemplo for feito um download de um arquivo de 1 MB, o que realmente estar acontecendo que o seu computador receber vrios pequenos pacotes (fragmentos) de 1500 bytes e no final ir agrup-los para formar o arquivo original. Um pacote composto por duas partes: Header (cabealho): nessa parte do pacote que o firewall vai atuar, possui informaes importantes como:

origem do pacote destino do pacote entre outras Body (corpo): a parte que contm 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, porm algumas ferramentas so utilizadas para controlar essas regras (controlar essas caractersticas). Nos kernels das sries 2.0.x era utilizado o ipfwadm, porm o mesmo apresentava vrios problemas e falhas ento uma nova verso 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 vlido na internet e um ip no vlido que o ip do servidor na rede interna. As demais mquinas da rede possuem, cada uma delas, ips no vlidos na internet, sendo esses ips vlidos apenas dentro da rede interna. Para que as mquinas da rede possam acessar a internet atravs do servidor, preciso que o mesmo tenha ativado, e esteja funcionando, o IP masquerading. Como mostra a figura abaixo o servidor Linux

possui dois IP's, um deles um IP vlido na internet "200.10.15.1" e outro um IP frio, invlido para a internet "192.168.1.1". Os clientes da rede (Mquina 1....) possuem endereos IP's 192.168.1.X formando uma rede da classe C. Para que as mquinas da rede interna (192.168.1.X) possam acessar a internet atravs do servidor necessrio que o IP Masquerading esteja configurado e ativado.
_ __ _ | \/ \/ | / Internet \ \_/\_/\_/\_/ | | | eth0 => 200.10.15.1 | / | / __________ | | | Firewall | <-- Servidor | System | |__________| |\ | \ | eth1 => 192.168.1.1 | | _____________________________________________ | | | | _____________ | | | Mquina 1 | |_____________| 192.168.1.2 | | | | _____________ | | | Mquina 2 | |_____________| 192.168.1.3 | | | | _____________ | | | Mquina 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 mquinas na rede conectadas ao servidor para acessar a internet. Para que as mquinas internas da rede acessem a internet precisaremos ativar o IP masquerading no servidor. A primeira providncia habilitar o repasse (forwarding) de pacotes. Vamos criar um arquivo "firewall" localizado em /etc/rc.d/init.d que ser responsvel pelo gerenciamento do firewall e adicionar as configuraes de firewall nele para que se torne automtico no caso do servidor ser reiniciado: Primeiramente abra, com seu editor de textos preferido, o arquivo /etc/init.d/firewall, caso ele no exista, ser criado.
[root@localhost]# mcedit /etc/rc.d/init.d/firewall

Em seguida adicione as seguintes linhas ao arquivo, elas sero responsveis para que o firewall seja habilitado no ntsysv, que ser usado para ativar ou desativar a

inicializao automtica do firewall no boot: OBS: As linhas marcadas com "*" no devem ser includas no arquivo.
#! /bin/sh # Inicializao 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 servio 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 incio a configurar nossas regras de firewall: # Limpando todas as regras de firewall antes de comear 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 comear a configurao do firewall, inclua essas linhas para que seja ativado o IP Masquerading no servidor e, dessa forma, as mquinas internas da rede estejam aptas a acessar a internet atravs do servidor: # Ativando repasse de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward

# Carregando mdulos necessrios ao IP Masquerading


/sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe ip_masq_ftp ip_masq_quake ip_masq_irc ip_masq_user 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 mquinas da rede j estaro aptas a acessar a internet pois o servidor j estar fazendo o mascaramento de IPs. A partir de agora vamos comear a definir as regras de entrada do firewall, so aquelas que iro filtrar tudo que entra na rede vindo da internet. Vamos comear bloqueando todo os pacotes icmp e tambm igmp vindos da internet, isso evitar que sejam usados alguns tipos de scanports "contra" seu sistema, scanports servem para saber quais portas esto abertas no servidor para serem usadas em possveis "ataques":

# 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 servios que utilizam protocolos udp e so necessrios apenas rede interna, como no sabemos quais os servios o servidor estar rodando, pois isso depende da vontade do administrador, vamos especificar uma faixa de portas que cobre todos eles: # Bloqueando acesso externo servios 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 servios de protocolo tcp, mas as regras a serem inseridas a partir deste ponto depende dos servios que estaro rodando e, principalmente, do uso que se deseja fazer deles. Aqui apresentaremos alguns exemplos, os quais devem ser adaptados, ou mesmo excludos, dependendo da necessidade: Vamos supor que existam alguns servios rodando no servidor, a ttulo de exemplo, vamos assumir que todos eles so _apenas_ para uso das mquinas da rede interna, caso pretenda-se que algum servio aceite conexes vindas da internet a regra para o mesmo deve ser omitida. As regras so apresentadas na mesma ordem em que os servios sero, agora, listados, so 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 (no retire essa linha)

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 sada, 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 servios que no 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 servio 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 permisso de execuo ao arquivo:
[root@localhost]# cds [root@localhost]# chmod +x firewall

Agora vamos ativ-lo para inicializao automtica no boot da mquina:


[root@localhost]# ntsysv

Procure por firewall, ative-o pressionando a barra de espao, pressione TAB para selecionar OK e pressione ENTER para sair. Agora toda vez que a mquina 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 substitudos pelos IPs utilizados em sua rede, bem comos os devices de rede (eth0, eth1), tambm devem ser substitudos de acordo com sua rede. Esse exemplo representa a criao de _um_ arquivo, todas as informaes que se deseja utilizar devem ser includas no mesmo arquivo, e na mesma ordem apresentada. Agora vamos fazer um breve comentrio a respeito das mquinas clientes, que tambm devem ser configuradas para que acessem a internet atravs do servidor. Configurao das Estaes

A configurao das estaes de trabalho para utilizar o IP Masquerading bastante simples tanto para estaes Conectiva Linux quanto para estaes Windows. Para configurar a estao 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 Padres e informe o endereo de IP de seu servidor. Deixe a opo Ative o roteamento desativada. Saia do Linuxconf e ative a configurao.
[root@localhost]# cds [root@localhost]# ./network stop [root@localhost]# ./network start

Estaes Windows Para configurar uma estao Windows para utilizar o servidor a fim de conectar-se Internet, siga os seguintes passos: a. b. c. d. V para Iniciar->Configuraes->Painel de Controle->Rede: Clique em TCP/IP e pressione o boto Propriedades. Clique em Configurao DNS Clique em Ativar DNS e digite o nome de sua mquina no campo Host e o domnio no campo Domnio. Especifique tambm o DNS do provedor onde voc esta se conectando. Digite o endereo de IP de seu servidor em Ordem pesquisa servidor DNS e clique em Adicionar. Digite o nome do seu domnio em Ordem pesquisa sufixo domnio e clique em Adicionar. Clique em Gateway e informe o nmero ip do seu servidor. Clique em Ok e saia da configurao de rede. Voc ter de reinicializar o computador. Para testar a configurao, tente acessar algum endereo da Internet aps ter reinicializado a mquina.

e. f. g. h.

19.3. Como criar o arquivo ipchains para que aparea a opo ipchains no ntsysv?
Primeiramente acesse como superusurio o seguinte diretrio:
[root@localhost]# cd /etc/rc.d/init.d

Agora utilize eu editor favorito e crie o arquivo ipchains com o seguinte contedo: Nota: As linhas como comentrios com um "#" na frente tambm devem ser includas 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

. /etc/sysconfig/network if [ ${NETWORKING} = "no" ] then exit 0 fi case "$1" in start) gprintf "Iniciando o servio 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 /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe ip_masq_ftp ip_masq_quake ip_masq_irc ip_masq_user ip_masq_raudio

;; stop) gprintf "Parando o servio de %s: " "IPChains" echo /sbin/ipchains --flush ;; *) gprintf "Uso: ipchains (start|stop)" echo ;; esac exit 0 Aps criar o arquivo ipchains necessrio dar permisses de execuo 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 no se percam no "reboot" da mquina, faz-se uso de scripts que so lidos a cada reinicializao e atualizados durante a utilizao da ferramenta, no havendo a necessidade de reconfigurao da tabela de regras manualmente a cada vez que a mquina ligada. Obs: um filtro de pacotes de uma rede no deve ser reinicializado constantemente, principalmente em se tratando de Linux. Iptables , portanto, um substituto para as ferramentas ipfwadm e ipchains, com substanciais recursos adicionados.

Para minimizar as restries ao processo de migrao por quem j utilizava os antigos pacotes de filtragem, existem mdulos de suporte a essas ferramentas no novo kernel. Configurando Tabelas de Regras Permanentes Como a configurao do firewall est armazenada no kernel e pode ser perdida em um reboot, necessria a criao de arquivos (scripts) como iptables-save e iptables-restore e incorporados inicializao da mquina (scripts de inicializao) para automatizar o processo de inicializao do filtro de pacotes. Implementao de filtro em conexo discada Em uma conexo simples (PPP) para acesso Internet, possvel impedir que algo "entre" em sua rede ou mquina pessoal, durante a conexo 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 iptables iptables iptables -N -A -A -A block block -m state --state ESTABLISHED,RELATED -j ACCEPT block -m state --state NEW -i ! ppp0 -j ACCEPT 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 trs listas de regras chamadas firewall, sendo elas: INPUT, OUTPUT e FORWARD, que funcionam de forma diferente das ferramentas que utilizavam verses 2.0 e 2.2 do kernel.
Incoming / \ Outgoing -->[Routing ]--->|FORWARD|-------> [Decision] \_____/ ^ | | | | v ____ ___ / \ / \ |OUTPUT| |INPUT| \____/ \___/ ^ | | ----> Local Process ----

No esquema acima, so representadas as trs 'chains'. Quando um pacote atinge uma das chains, esta examina o seu cabealho 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 contrrio (ACCEPT) o pacote segue conforme o diagrama. Usando iptables O iptables similar ao ipchais, s que com vrias caractersticas incorporadas. As trs 'chains' padro permanecem (INPUT, OUTPUT e FORWARD). Estas chains no podem ser apagadas, embora, como no iptables, novas chains podem ser criadas e apagadas. As principais operaes de manipulao de chains do iptables so : -N Cria uma nova chain

-X Deleta uma chain (vazia) -P Muda as regras para uma chain padro -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 posio em uma chain -R Substitui uma regra em alguma posio em uma chain -D Apaga uma regra em alguma posio em uma chain -D Apaga a primeira regra que comparar em uma chain O iptables na inicializao da Mquina O iptables pode ser um mdulo, chamado ('iptable_filter.o'), que poderia ser carregado automaticamente na primeira vez em que rodado o iptables, ou tambm pode estar dentro do kernel permanentemente (compilado junto com o kernel). Antes de qualquer comando do iptables ser acionado (supondo que no esteja sendo inicializado atravs dos scripts de inicializao da distribuio), no h regras em qualquer chain. Todas as chains tm a poltica de aceitao (ACCEPT). Voc pode alterar a poltica default da chain FORWARD para prover a opo 'forward=0' para o mdulo iptable_filter. Manipulando Regras com Simplicidade Cada regra especifica que condies o pacote precisa satisfazer, e para onde ele deve seguir. Por exemplo, pode-se barrar todos os pacotes ICMP vindos do endereo IP 127.0.0.1:
Condies : protocolo = ICMP; endereo IP de origem = 127.0.0.1 protocolo = ICMP; endereo 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 ento 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 parmetro -c 1, que se refere ao envio de somente um pacote) foi bem sucedido, obtendo o echo reply. Quando foi adicionado o -A

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 solicitao 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 nmero da regra na chain INPUT: # iptables -D INPUT 1 Ou substituindo o comando -A por -D na linha de insero da regra : # iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP A sintaxe do -D tem exatamente as mesmas opes dos comandos -A, -I ou -R. Se existirem muitas regras idnticas na mesma chain, somente a primeira ser apagada. Especificando a Filtragem H ainda outras opes que podem ser usadas para especificar caractersticas 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' Endereo IP : como `127.0.0.1' Grupo de endereos IP : do tipo `199.95.207.0/24' ou `199.95.207.0/255.255.255.0' Os dgitos aps a barra '/' so a mscara de rede utilizada para definir os IP's que esto englobados no grupo. '/32' ou '/255.255.255.255' representam o padro. Para especificar algum endereo IP entre todos, podemos usar '/0'. [ OBS: `-s 0/0' redundante aqui. ] # iptables -A INPUT -s 0/0 -j DROP Especificando uma Inverso (!) Muitas flags, inclusive a -s e -d podem ter seus argumentos precedidos por (!) (pronucia-se 'not') para se referir a endereos diferentes (NOT equal) dos apresentados. Por exemplo: '-s ! localhost' -> refere-se a todos os pacotes no vindos de localhost. Especificando o Protocolo O protocolo pode ser especificado com a flag `-p' (ou `--protocol'). O protocolo pode ser um nmero (se voc sabe o valor numrico do protocolo por IP), ou um nome para os casos especiais de `TCP', `UDP' ou `ICMP'. O nome do protocolo tambm pode (como as flags descritas acima) serem prefixados por um (!) , para invert-lo. Por exemplo `-p ! TCP' para especificar pacotes no TCP. Especificando uma Interface
Interface de Entrada `-i' (ou `--in-interface')

Interface de Sada

`-o' (ou `--out-interface')

Obs.: Pacotes atravessando a chain INPUT no passam por uma interface de sada (output), assim, qualquer regra usando -o nesta chain intil. Obs2.: Igualmente, pacotes que atravessam a chain OUTPUT no passam por uma inteface de entrada (input), assim, qualquer regra usando -i nesta chain intil. 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 mltiplos pacotes. No destino, estes fragmentos so montados, reconstruindo o pacote original. O problema com fragmentos que o primeiro deles tem a informao completa do campo de cabealho (IP + TCP, UDP e ICMP) para serem examinados, mas os pacotes seguintes somente tem uma parte do cabealho (IP sem o campo de protocolo adicional). Quando isso no acontece, as regras de filtragem procuram por informaes sobre o pacote e no encontram. Isso acontece porque o primeiro fragmento (com as informaes completas) tratado como um pacote qualquer, j os demais fragmentos no. 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 tambm usado para inserir uma regra que no se aplica aos fragmentos posteriores, usando a inverso '!' 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

Extenses ao iptables: Novas combinaes O pacote iptables extensvel, ou seja, os recursos incorporados ao kernel juntamente com a ferramenta iptables, podem ser combinados para prover novas caractersticas. Algumas destas extenses so triviais, e outras bem "exticas". Extenses podem ser feitas por outras pessoas e distribudas separadamente para outros usurios. As extenses do kernel normalmente esto situadas no subdiretrio de mdulos do kernel, como em /lib/ modules/2.4.0/net. Estas extenses desto disponveis para leitura se o kernel foi compilado com o parmetro CONFIG_KMOD marcado, para no precisar inserlo manualmente. J as extenses do programa iptables so bibliotecas normalmente localizadas em /usr/local/lib/iptables/, dependendo da distribuio, tambm poderiam estar em /lib/iptables ou /usr/lib/iptables. As extenses podem ser de dois tipos: novos alvos (targets) ou novas combinaes (matches). Alguns protocolos oferecem automaticamente novos testes que podem ser implementados na linha de comando aps a opo '-p', para ler a extenso equivalente ao novo teste explicitado, com a opo '-m' responsvel pela leitura da extenso. Para visualizar o help de uma extenso, use a opo para l-la (`-p', `-j' ou `-m') seguida de `h' ou `--help', por exemplo:
# iptables -p tcp --help

Extenses TCP

As extenses TCP so automaticamente carregadas se a opo `-p tcp' especificada. Em seguida, ento, pode-se adicionar as opes desejadas, detalhadas a seguir: --tcp-flags Utilizada para filtrar flags especficas, (ou no, em caso de precedida de). A primeira string de flags a mscara lista de flags para examinar)e a segunda string sinaliza qual(is) flags sero 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 sero examinadas ('ALL' equivalente a informar 'SYN,ACK,FIN,RST, URG,PSH'), mas somente SYN e ACK sero selecionadas. Existe tambm o argumento 'NONE' para indicar nenhuma flag. --syn Opcionalmente precedida por um '!', esta opo a abreviao 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 nmeros equivalentes). A lista de portas deve ter seus nomes (ou nmeros) separados por um ':' --destination-port (ou -dport) De utilizao semelhante ao anterior, s que especifica a(s) porta(s) de destino ao invs de origem. --tcp-option Precedido opcionalmente por um '!', e um nmero, compara um pacote com uma opo TCP igual a um nmero. Um pacote que no tenha um cabealho TCP completo barrado (drop) automaticamente se esta opo estiver formulada para examinar esta situao. Proteo 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 mdulo ajuda a localizar vrias caractersticas do criador de pacotes gerados internamente. Esta opo somente vlida para a chain OUTPUT, e detecta quando alguns pacotes (como respostas a ping's ICMP) no possuem dono, e consequentemente nunca chegaro ao destino.

--uid-owner Ativa a regra se o pacote foi criado por um processo concebido efetivamente pelo (nmero) user userid id. --uid-owner Ativa a regra se o pacote foi criado por um processo concebido efetivamente pelo (nmero) group groupid id. --pid-owner Ativa a regra se o pacote foi criado por um processo concebido efetivamente pelo (nmero) processid process id --sid-owner Ativa a regra se o pacote foi criado por um processo concebido pelo session group. processid unclean Este mdulo experimental pode ser explicitamente especificado com a opo `-m unclean ou `--

match unclean'. Ele realiza vrias checagens aleatrias em pacotes. Este mdulo no foi auditado, e no poderia ser usado como um mecanismo de segurana (ainda pode conter bugs internos).

O Estado "Match" A utilizao mais conveniente para a opo 'match' fornecida pela extenso 'state', que interpreta a e analisa a conexo do mdulo `ip_conntrack'. Ela altamente recomendada. Especificamente, a opo `-m state' aceita uma opo adicional `--state', que uma lista de estados de ativao separados por vrgula. (a flag '!' no indica a ativao deses estados). Esses estados so:
NEW Um pacote que cria uma nova conexo. Um pacote que est relacionado com (mas no faz parte de) uma conexo existente, como um ICMP error, ou (com o mdulo FTP inserido), um pacote que estabelecido por uma conexo de dados ftp. Um pacote que no poderia ser identificado por alguma razo: isto inclui execuo fora da memria e erros de ICMP que no correspondam a nenhuma conexo existente. Geralmente estes pacotes devem ser barrados (drop). ESTABLISHED Um pacote que pertence a uma conexo existente (isto , um pacote de resposta). RELATED

INVALID

Especificaes de Alvos (TARGET's) Aps examinar um pacote, necessrio 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 so 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 usurio Uma das funes que o iptables herdou do ipchains a possibilidade do usurio criar novas chains, complementando as trs chains padro (INPUT, FORWARD and OUTPUT). Por conveno, as chains definidas pelo usurios so compostas por letras minsculas para distingui-las. Mais adiante, as chains definidas pelo usurios sero mais detalhadas. Quando um pacote ativa uma regra cujo alvo uma chain definida pelo usurio, o pacote segue atravessando a regra da chain definida pelo usurio. Se a chain no decide o destino do pacote, ento o pacote passar para a prxima regra da chain corrente. Veja o exemplo grfico a seguir. Consedere duas chains bem simples: INPUT (a chain padro) e test (uma chain definida pelo usurio)
`INPUT' ----------------------------| Regra1: -p ICMP -j DROP | |---------------------------| | Regra2: -p TCP -j test | |---------------------------| | Regra3: -p UDP -j DROP | ----------------------------`test' ---------------------------| Regra1: -s 192.168.1.1 |---------------------------| | Regra2: -d 192.168.1.| ----------------------------

Extenses para iptables Um outro tipo de alvo uma extenso. Um alvo extenso consiste em um mdulo do kernel, uma extenso opcional para o iptables para prover novas opes de linhas de comando. H muitas extenses na distribuio padro do netfilter: LOG Este mdulo prov o log (logging) a nvel de kernel de pacotes que ativem regras de filtragem. Existem algumas opes adicionais: --log-level Seguido por um nmero de nvel (level number) ou nome. Os nomes vlidos so (em minsculas): `debug', `info', `notice', `warning', `err', `crit', `alert' e `emerg', correspondendo aos nmeros de 7 a 0. Veja a pgina de manual (man page) do syslog.conf para um melhor detalhamento desses nveis. --log-prefix Seguido por uma string de at 30 caracteres, esta mensagem "impressa" no incio da mensagem de log, (para facilitar a identificao de mensagens emitidas pelo iptables por parte de programas de tratamento de log, sem confund-las com as de outros servios logados pelo syslog). Este mdulo muito usado aps um alvo limite, porm, cuidado para no inundar ("floodar") seus logs. REJECT Este mdulo 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 no ser enviada se (mais detalhes na RFC 1122) : - O pacote que est sendo filtrado contiver uma mensagem de erro ICMP no incio, ou algum tipo de ICMP desconhecido (unknown ICMP type); - O pacote que est sendo filtrado for um fragmento que no pertence ao cabealho; - Foram enviados muitos pacotes com mensagens de erro ICMP para este destino recentemente. REJECT tambm possui o argumento opcional `--reject-with' que altera a resposta ao pacote (veja a pgina de manual para mais detalhes) Alvos padro Especiais Existem 2 alvos padro especiais: RETURN tem o mesmo efeito de no-ativao ao final de uma chain: para uma regra de com uma chain padro, a poltica da chain executada. Para uma regra definida pelo usurio, retorna chain anterior, obedecendo s regras aps o alvo que implicou no salto para a regra em questo. QUEUE um alvo especial, que enfileira (QUEUE) o pacote para um "userspace processing". Para implementar isto, 2 componentes adicionais so requeridos: - Uma "queue handler", que trabalhe conjuntamente com o atual mecanismo de passagem de pacotes entre o kernel e o o "userspace" ; e - Uma aplicao "userspace" para receber, (possivelmente manipular), e emitir um veredicto sobre o pacote. O modelo de "queue handler" para IPv4 iptables o mdulo ip_queue, que distribudo com o kernel e marcado como experimental (at a presente verso em desenvolvimento). O status do ip_queue pode ser checado via:
/proc/net/ip_queue

O valor padro para o comprimento mximo do queue 1024. Sempre que este limite for ultrapassado, novos pacotes sero barrados aps o comprimento da queue atingir o seu limite. Alguns protocolos como o TCP interpreta a barragem de pacotes como

congestionamento, e aguardar a queue retornar. Outras vezes, ele pode experimentar determinar um comprimento mximo ideal da queue para uma prxima situao se o valor padro form muito pequeno. Criando uma nova chain Chamaremos nossa primeira chain de test. Para cri-la podemos utilizar a opo `-N' ou `-new-chain':
# iptables -N test # iptables -N test

Pronto. Basta agora definir os detalhes da nova chain e as regras que iro utiliz-la. ** Para deletar uma chain podemos utilizar a opo `-X' ou `--delete-chain'
# iptables -X test

H um par de restries para deletar chains: No pode haver regras ativas que contenham estas chains; e As chains no podem ser alvos de nenhuma regra. OBS1: Voc no pode deletar as 3 chains padro. OBS2: Se no for especificada a chain a deletar, todas as chains definidas pelo usurio sero deletadas (se possvel) ** Existe um simples caminho para descarregar todas as regras para fora de uma chain, usando o comando `-F' (ou `--flush').
# iptables -F forward

Se no for especificada uma chain, todas as chains sero descarregadas. ** possvel listar todas as regras de uma chain usando o comando `-L' (ou `--list'). A `refcnt' listada por cada chain definida pelo usurio o nmero de regras que tm 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 sero listadas, inclusive as vazias. Existem 3 opes que podem acompanhar `-L': ** A opo (numrica) `-n' muito usado para tentar fazer o iptables examinar o reverso do endereo IP, que (se voc estiver usando o DNS como muitas pessoas) causar longas esperas (delays) se seu DNS no estiver configurado adequadamente, ou se houverem regras de filtragem de sadas de requisies DNS. Isto tambm faz com que as portas TCP e UDP sejam impressas como nmeros antes dos nomes.
# iptables -N test

** A opo '-v' exibe todos detalhes das regras, assim como os pacotes e os 'byte counters', as comparaes TOS, e as interfaces. Em alguns casos estes valores so omitidos. Os pacotes e 'byte counters' so 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. possvel implemenar a filtragem de pacotes ignorando completamente qualquer NAT, se voc desejar. As origens e destinos "enxergadas" pelos pacotes sero as origens e destinos "reais".

Por exemplo, se voc fez DNAT para enviar conexes direcionadas para o IP 1.2.3.4 porta 80 atravs 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 no para 1.2.3.4 porta 80. Voc pode utilizar a extenso 'state' sem trabalhar com o filtro de pacotes, desde que o NAT solicite conexo de qualquer modo. A seguir, um exemplo simples de mascaramento utilizando NAT para desabilitar qualquer nova conexo vindo da interface ppp0: * Mascarando a sada pela interface ppp0
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

* Desabilitando solicitaes novas (NEW) e invlidas (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

Diferenas entre iptables e ipchains Primeiramente, a escrita dos nomes das chains padro foram modificados de maisculas para minsculas, isso porque no novo pacote, as chains INPUT e OUTPUT somente so 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 sada) e OUTPUT que utilizavam '-i' devem agora utilizar '-o'. As portas TCP e UDP agora precisam ser descritas com as opes --source-port ou --sport (ou --destination-port/--dport), e podem ser posicionadas aps as opes `-p tcp' ou `-p udp' que carregam as extenses TCP ou UDP respectivamente.
* A flag TCP -y agora --syn, e deve vir aps a opo `-p tcp'. * A flag TCP -y agora --syn, e deve vir aps a opo `-p tcp'. * O alvo (target) DENY agora DROP.

* REJECT e LOG so agora alvos extendidos, entendidos como mdulos 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, tambm sofreu modificaes de sintaxe. * A opo -o no mais utilizada para direcionar pacotes para dispositivos 'userspace'. Pacotes so agora enviados ao userspace via alvo QUEUE.

Conselhos sobre Implementao de Filtragem de Pacotes A prtica comum na filtragem de pacotes o bloqueio de todos os servios, e a abertura de regras ncessrias. Este procedimento o mais recomendvel para obter um nvel de segurana maior. No rode nenhum servio que voc no precisa rodar, se voc no 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, ento adicione os servios necessrios. Outra recomendao do texto-original combinar tcp-wrappers, proxies, verificao de rotas e

filtragem de pacotes. Barrar, por exemplo, pacotes com endereos 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 discusso oficial sobre o assunto, veja informaes em : Samba's Listserver http://lists.samba.org

19.5. Como fao o mascaramento de minha rede com iptables ?


Primeiramente levante o mdulo de seu kernel:
[root@localhost]# modprobe iptable_nat

Agora faa o forward de pacotes de sua rede:


[root@localhost]# echo 1 > /proc/sys/net/ipv4/ip_forward

Crie a regra: (para a conexo atravs da eth0)


[root@localhost]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ou, para ppp0 (conexo discada):


[root@localhost]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

As regras sero perdidas na hora do boot de sua mquina, 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 sero inicializadas e suas mquinas da rede interna estaro se conectando a internet por meio de mascaramento.
19.6. Firewall portas

Portas para o firewall: Keyword Decimal Description References # 0/tcp Reserved # 0/udp Reserved Jon Postel postel@isi.edu tcpmux 1/tcp TCP Port Service Multiplexer tcpmux 1/udp TCP Port Service Multiplexe Mark Lottor MKL@nisc.sri.com compressnet 2/tcp Management Utility compressnet 2/udp Management Utility compressnet 3/tcp Compression Process compressnet 3/udp Compression Process Bernie Volz VOLZ@PROCESS.COM # 4/tcp Unassigned # 4/udp Unassigned rje 5/tcp Remote Job Entry rje 5/udp "Remote Job Entry " Jon Postel postel@isi.edu # 6/tcp Unassigned # 6/udp Unassigned echo 7/tcp Echo echo 7/udp Echo Jon Postel postel@isi.edu # 8/tcp Unassigned # 8/udp Unassigned discard 9/tcp Discard discard 9/udp Discard Jon Postel postel@isi.edu # 10/tcp Unassigned # 10/udp Unassigned systat 11/tcp Active Users systat 11/udp Active Users Jon Postel postel@isi.edu # 12/tcp Unassigned # 12/udp Unassigned daytime 13/tcp Daytime daytime 13/udp Daytime Jon Postel postel@isi.edu # 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 postel@isi.edu 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]

ftp-data 20/udp File Transfer [Default Data] ftp 21/tcp File Transfer [Control] ftp 21/udp File Transfer [Control] Jon Postel postel@isi.edu ssh 22/tcp SSH Remote Login Protocol ssh 22/udp SSH Remote Login Protocol Tatu Ylonen ylo@cs.hut.fi telnet 23/tcp Telnet telnet 23/udp Telnet Jon Postel postel@isi.edu # 24/tcp any private mail system # 24/udp "any private mail system " Rick Adams rick@UUNET.UU.NET smtp 25/tcp Simple Mail Transfer smtp 25/udp Simple Mail Transfer Jon Postel postel@isi.edu # 26/tcp Unassigned # 26/udp Unassigned nsw-fe 27/tcp NSW User System FE nsw-fe 27/udp NSW User System FE Robert Thomas BThomas@F.BBN.COM # 28/tcp Unassigned # 28/udp Unassigned msg-icp 29/tcp MSG ICP msg-icp 29/udp MSG ICP Robert Thomas BThomas@F.BBN.COM # 30/tcp Unassigned # 30/udp Unassigned msg-auth 31/tcp MSG Authentication msg-auth 31/udp MSG Authentication Robert Thomas BThomas@F.BBN.COM # 32/tcp Unassigned # 32/udp Unassigned dsp 33/tcp Display Support Protocol dsp 33/udp "Display Support Protocol " Ed Cain cain@edn-unix.dca.mil # 34/tcp Unassigned # 34/udp Unassigned # 35/tcp any private printer server # 35/udp any private printer server Jon Postel postel@isi.edu # 36/tcp Unassigned # 36/udp Unassigned time 37/tcp Time time 37/udp Time Jon Postel postel@isi.edu rap 38/tcp Route Access Protocol rap 38/udp Route Access Protocol Robert Ullmann ariel@world.std.com rlp 39/tcp Resource Location Protocol rlp 39/udp Resource Location Protocol Mike Accetta MIKE.ACCETTA@CMU-CS-A.EDU # 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

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 postel@isi.edu ni-ftp 47/tcp NI FTP ni-ftp 47/udp NI FTP Steve Kille S.Kille@isode.com auditd 48/tcp Digital Audit Daemon auditd 48/udp Digital Audit Daemon Larry Scott scott@zk3.dec.com bbn-login 49/tcp Login Host Protocol (TACACS) bbn-login 49/udp Login Host Protocol (TACACS) Pieter Ditmars pditmars@BBN.COM re-mail-ck 50/tcp Remote Mail Checking Protocol re-mail-ck 50/udp Remote Mail Checking Protocol Steve Dorner s-dorner@UIUC.EDU la-maint 51/tcp IMP Logical Address Maintenance la-maint 51/udp IMP Logical Address Maintenance Andy Malis malis_a@timeplex.com 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 PVM@ISI.EDU 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 postel@isi.edu 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 postel@isi.edu # 60/tcp Unassigned # 60/udp Unassigned ni-mail 61/tcp NI MAIL ni-mail 61/udp NI MAIL Steve Kille S.Kille@isode.com acas 62/tcp ACA Services acas 62/udp ACA Services E. Wald ewald@via.enet.dec.com whois++ 63/tcp whois++ whois++ 63/udp whois++ Rickard Schoultz schoultz@sunet.se covia 64/tcp Communications Integrator (CI) covia 64/udp Communications Integrator (CI) """Tundra"" Tim Daneliuk tundraix!tundra@clout.chi.il.us" tacacs-ds 65/tcp TACACS-Database Service

tacacs-ds 65/udp TACACS-Database Service Kathy Huber khuber@bbn.com sql*net 66/tcp Oracle SQL*NET sql*net 66/udp Oracle SQL*NET Jack Haverty jhaverty@ORACLE.COM 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 Croft@SUMEX-AIM.STANFORD.EDU tftp 69/tcp Trivial File Transfer tftp 69/udp Trivial File Transfer David Clark ddc@LCS.MIT.EDU gopher 70/tcp Gopher gopher 70/udp Gopher Mark McCahill mpm@boombox.micro.umn.edu 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 Braden@ISI.EDU # 75/tcp any private dial out service # 75/udp any private dial out service Jon Postel postel@isi.edu deos 76/tcp Distributed External Object Store deos 76/udp Distributed External Object Store Robert Ullmann ariel@world.std.com # 77/tcp any private RJE service # 77/udp any private RJE service Jon Postel postel@isi.edu vettcp 78/tcp vettcp vettcp 78/udp vettcp Christopher Leong leong@kolmod.mlo.dec.com finger 79/tcp Finger finger 79/udp Finger David Zimmerman dpz@RUTGERS.EDU 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 timbl@W3.org hosts2-ns 81/tcp HOSTS2 Name Server hosts2-ns 81/udp HOSTS2 Name Server Earl Killian EAK@MORDOR.S1.GOV xfer 82/tcp XFER Utility xfer 82/udp XFER Utility Thomas M. Smith tmsmith@esc.syr.ge.com 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 thomas@oils.enet.dec.com 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

# 87/tcp any private terminal link # 87/udp any private terminal link Jon Postel postel@isi.edu kerberos 88/tcp Kerberos kerberos 88/udp "Kerberos " B. Clifford Neuman bcn@isi.edu su-mit-tg 89/tcp SU/MIT Telnet Gateway su-mit-tg 89/udp SU/MIT Telnet Gateway Mark Crispin MRC@PANDA.COM dnsix 90/tcp DNSIX Securit Attribute Token Map dnsix 90/udp DNSIX Securit Attribute Token Map Charles Watt watt@sware.com mit-dov 91/tcp MIT Dover Spooler mit-dov 91/udp "MIT Dover Spooler " Eliot Moss EBM@XX.LCS.MIT.EDU npp 92/tcp Network Printing Protocol npp 92/udp Network Printing Protocol Louis Mamakos louie@sayshell.umd.edu dcp 93/tcp Device Control Protocol dcp 93/udp Device Control ProtocolDaniel Tappan Tappan@BBN.COM objcall 94/tcp Tivoli Object Dispatcher objcall 94/udp "Tivoli Object Dispatcher " Tom Bereiter supdup 95/tcp SUPDUP supdup 95/udp SUPDUP Mark Crispin MRC@PANDA.COM dixie 96/tcp DIXIE Protocol Specification dixie 96/udp DIXIE Protocol Specification Tim Howes Tim.Howes@terminator.cc.umich.edu 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%rmatl@uunet.UU.NET tacnews 98/tcp TAC News tacnews 98/udp TAC News Jon Postel postel@isi.edu metagram 99/tcp Metagram Relay metagram 99/udp Metagram Relay Geoff Goodfellow Geoff@FERNWOOD.MPK.CA.U newacct 100/tcp[unauthorized use] hostname 101/tcpNIC Host Name Server hostname 101/udp NIC Host Name Server Jon Postel postel@isi.edu iso-tsap102/tcpISO-TSAP Class 0 iso-tsap102/udp ISO-TSAP Class 0 Marshall Rose mrose@dbc.mtview.ca.us gppitnp 103/tcpGenesis Point-to-Point Trans Net gppitnp 103/udp Genesis Point-to-Point Trans Net acr-nema 104/tcpACR-NEMA Digital Imag. & Comm. 300 acr-nema 104/udp ACR-NEMA Digital Imag. & Comm. 300 Patrick McNamee csnet-ns 105/tcpMailbox Name Nameserver csnet-ns 105/udp Mailbox Name Nameserver Marvin Solomon solomon@CS.WISC.EDU 3com-tsmux 106/tcp3COM-TSMUX 3com-tsmux 106/udp 3COM-TSMUX Jeremy Siegel jzs@NSD.3Com.COM rtelnet 107/tcpRemote Telnet Service rtelnet 107/udp Remote Telnet Service Jon Postel postel@isi.edu snagas 108/tcpSNA Gateway Access Server snagas 108/udp SNA Gateway Access Server Kevin Murphy murphy@sevens.lkg.dec.com pop2 109/tcpPost Office Protocol - Version 2

pop2 109/udp Post Office Protocol - Version 2 Joyce K. Reynolds jkrey@isi.edu pop3 110/tcpPost Office Protocol - Version 3 pop3 110/udp Post Office Protocol - Version 3 Marshall Rose mrose@dbc.mtview.ca.us sunrpc 111/tcpSUN Remote Procedure Call sunrpc 111/udp SUN Remote Procedure Call Chuck McManis cmcmanis@sun.com mcidas 112/tcpMcIDAS Data Transmission Protocol mcidas 112/udp McIDAS Data Transmission Protocol Glenn Davis davis@unidata.ucar.edu auth 113/tcpAuthentication Service auth 113/udp Authentication Service Mike St. Johns stjohns@arpa.mil audionews 114/tcpAudio News Multicast audionews 114/udp Audio News Multicast Martin Forssen maf@dtek.chalmers.se sftp 115/tcpSimple File Transfer Protocol sftp 115/udp Simple File Transfer Protocol Mark Lottor MKL@nisc.sri.com ansanotify 116/tcpANSA REX Notify ansanotify 116/udp ANSA REX Notify Nicola J. Howarth njh@ansa.co.uk uucp-path 117/tcpUUCP Path Service uucp-path 117/udp UUCP Path Service sqlserv 118/tcpSQL Services sqlserv 118/udp SQL Services Larry Barnes barnes@broke.enet.dec.com nntp 119/tcpNetwork News Transfer Protocol nntp 119/udp Network News Transfer Protocol Hhil Lapsley phil@UCBARPA.BERKELEY.EDU cfdptkt 120/tcpCFDPTKT cfdptkt 120/udp CFDPTKT John Ioannidis ji@close.cs.columbia.ed erpc 121/tcpEncore Expedited Remote Pro.Call erpc 121/udp Encore Expedited Remote Pro.Call Jack O'Neil smakynet 122/tcpSMAKYNET smakynet 122/udp SMAKYNET Mike O'Dowd odowd@ltisun8.epfl.ch ntp 123/tcpNetwork Time Protocol ntp 123/udp Network Time Protocol Dave Mills Mills@HUEY.UDEL.EDU ansatrader 124/tcpANSA REX Trader ansatrader 124/udp ANSA REX Trader Nicola J. Howarth njh@ansa.co.uk locus-map 125/tcpLocus PC-Interface Net Map Ser locus-map 125/udp Locus PC-Interface Net Map SerEric Peterson lcc.eric@SEAS.UCLA.EDU unitary 126/tcpUnisys Unitary Login unitary 126/udp Unisys Unitary Login feil@kronos.nisd.cam.unisys.com locus-con 127/tcpLocus PC-Interface Conn Server locus-con 127/udp Locus PC-Interface Conn Server Eric Peterson lcc.eric@SEAS.UCLA.EDU gss-xlicen 128/tcpGSS X License Verification gss-xlicen 128/udp GSS X License Verification John Light johnl@gssc.gss.com pwdgen 129/tcpPassword Generator Protocol pwdgen 129/udp Password Generator Protocol Frank J. Wacho WANCHO@WSMRSIMTEL20.ARMY.MIL cisco-fna 130/tcpcisco FNATIVE cisco-fna 130/udp cisco FNATIVE cisco-tna 131/tcpcisco TNATIVE

cisco-tna 131/udp cisco TNATIVE cisco-sys 132/tcpcisco SYSMAINT cisco-sys 132/udp cisco SYSMAINT statsrv 133/tcpStatistics Service statsrv 133/udp Statistics Service Dave Mills Mills@HUEY.UDEL.EDU ingres-net 134/tcpINGRES-NET Service ingres-net 134/udp INGRES-NET Service Mike Berrow loc-srv 135/tcpLocation Service loc-srv 135/udp Location Service Joe Pato apollo!pato@EDDIE.MIT.EDU profile 136/tcpPROFILE Naming System profile 136/udp PROFILE Naming System Larry Peterson llp@ARIZONA.EDU netbios-ns 137/tcpNETBIOS Name Service netbios-ns 137/udp NETBIOS Name Service netbios-dgm 138/tcpNETBIOS Datagram Service netbios-dgm 138/udp NETBIOS Datagram Service netbios-ssn 139/tcpNETBIOS Session Service netbios-ssn 139/udp NETBIOS Session Service Jon Postel postel@isi.edu emfis-data 140/tcpEMFIS Data Service emfis-data 140/udp EMFIS Data Service emfis-cntl 141/tcpEMFIS Control Service emfis-cntl 141/udp EMFIS Control Service Gerd Beling GBELING@ISI.EDU bl-idm 142/tcpBritton-Lee IDM bl-idm 142/udp Britton-Lee IDM "Susie Snitzer " imap2 143/tcpInterim Mail Access Protocol v2 imap2 143/udp Interim Mail Access Protocol v2 Mark Crispin MRC@PANDA.COM news 144/tcpNewS news 144/udp NewS James Gosling JAG@SUN.COM uaac 145/tcpUAAC Protocol uaac 145/udp UAAC Protocol David A. Gomberg gomberg@GATEWAY.MITRE.ORG iso-tp0 146/tcpISO-IP0 iso-tp0 146/udp ISO-IP0 iso-ip 147/tcpISO-IP iso-ip 147/udp ISO-IP Marshall Rose mrose@dbc.mtview.ca.us cronus 148/tcpCRONUS-SUPPORT cronus 148/udp CRONUS-SUPPORT Jeffrey Buffun jbuffum@APOLLO.COM aed-512 149/tcpAED 512 Emulation Service aed-512 149/udp AED 512 Emulation Service Albert G. Broscius broscius@DSL.CIS.UPENN.EDU sql-net 150/tcpSQL-NET sql-net 150/udp SQL-NET Martin Picard hems 151/tcpHEMS hems 151/udp HEMS Christopher Tengi tengi@Princeton.EDU bftp 152/tcpBackground File Transfer Program bftp 152/udp Background File Transfer Program Annette DeSchon DESCHON@ISI.EDU sgmp 153/tcpSGMP sgmp 153/udp SGMP Marty Schoffstahl schoff@NISC.NYSER.NET

netsc-prod 154/tcpNETSC netsc-prod 154/udp NETSC netsc-dev 155/tcpNETSC netsc-dev 155/udp NETSC Sergio Heker heker@JVNCC.CSC.ORG sqlsrv 156/tcpSQL Service sqlsrv 156/udp SQL Service Craig Rogers Rogers@ISI.EDU knet-cmp 157/tcpKNET/VM Command/Message Protocol knet-cmp 157/udp KNET/VM Command/Message Protocol Gary S. Malkin GMALKIN@XYLOGICS.COM pcmail-srv 158/tcpPCMail Server pcmail-srv 158/udp PCMail Server Mark L. Lambert markl@PTT.LCS.MIT.EDU nss-routing 159/tcpNSS-Routing nss-routing 159/udp NSS-Routing Yakov Rekhter Yakov@IBM.COM sgmp-traps 160/tcpSGMP-TRAPS sgmp-traps 160/udp SGMP-TRAPS Marty Schoffstahl schoff@NISC.NYSER.NET snmp 161/tcpSNMP snmp 161/udp SNMP snmptrap 162/tcpSNMPTRrAP snmptrap 162/udp SNMPTRRAP Marshall Rose mrose@dbc.mtview.ca.us cmip-man 163/tcpCMIP/TCP Manager cmip-man 163/udp CMIP/TCP Manager cmip-agent 164/tcpCMIP/TCP Agent smip-agent 164/udp CMIP/TCP Agent Amatzia Ben-Artzi xns-courier 165/tcpXerox xns-courier 165/udp Xerox Susie Armstrong Armstrong.wbst128@XEROX.COM s-net 166/tcpSirius Systems s-net 166/udp Sirius Systems Brian Lloyd namp 167/tcpNAMP namp 167/udp NAMP Marty Schoffstahl schoff@NISC.NYSER.NET rsvd 168/tcpRSVD rsvd 168/udp RSVD Neil Todd mcvax!ist.co.uk!neil@UUNET.UU.NET send 169/tcpSEND send 169/udp SEND William D. Wisner wisner@HAYES.FAI.ALASKA.EDU print-srv 170/tcpNetwork PostScript print-srv 170/udp Network PostScript Brian Reid reid@DECWRL.DEC.COM multiplex 171/tcpNetwork Innovations Multiplex multiplex 171/udp Network Innovations Multiplex cl/1 172/tcpNetwork Innovations CL/1 cl/1 172/udp Network Innovations CL/1 Kevin DeVault xyplex-mux 173/tcpXyplex xyplex-mux 173/udp Xyplex Bob Stewart STEWART@XYPLEX.COM mailq 174/tcpMAILQ mailq 174/udp MAILQ Rayan Zachariassen rayan@AI.TORONTO.EDU vmnet 175/tcpVMNET vmnet 175/udp VMNET Christopher Tengi tengi@Princeton.EDU

genrad-mux 176/tcpGENRAD-MUX genrad-mux 176/udp GENRAD-MUX Ron Thornton thornton@qm7501.genrad.com xdmcp 177/tcpX Display Manager Control Protocol xdmcp 177/udp X Display Manager Control Protocol Robert W. Scheifler RWS@XX.LCS.MIT.EDU nextstep 178/tcpNextStep Window Server NextStep 178/udp NextStep Window Server Leo Hourvitz leo@NEXT.COM bgp 179/tcpBorder Gateway Protocol bgp 179/udp Border Gateway Protocol Kirk Lougheed LOUGHEED@MATHOM.CISCO.COM ris 180/tcpIntergraph ris 180/udp Intergraph Dave Buehmann ingr!daveb@UUNET.UU.NET unify 181/tcpUnify unify 181/udp Unify Vinod Singh audit 182/tcpUnisys Audit SITP audit 182/udp Unisys Audit SITP Gil Greenbaum gcole@nisd.cam.unisys.com ocbinder 183/tcpOCBinder ocbinder 183/udp OCBinder ocserver 184/tcpOCServer ocserver 184/udp OCServer Jerrilynn Okamura remote-kis 185/tcpRemote-KIS remote-kis 185/udp Remote-KIS kis 186/tcpKIS Protocol kis 186/udp KIS Protocol Ralph Droms rdroms@NRI.RESTON.VA.US aci 187/tcpApplication Communication Interfac e aci 187/udp Application Communication Interfac e Rick Carlos rick.ticipa.csc.ti.com mumps 188/tcpPlus Five's MUMPS mumps 188/udp Plus Five's MUMPS Hokey Stenn hokey@PLUS5.COM qft 189/tcpQueued File Transport qft 189/udp Queued File Transport Wayne Schroeder schroeder@SDS.SDSC.EDU gacp 190/tcpGateway Access Control Protocol cacp 190/udp Gateway Access Control Protocol C. Philip Wood cpw@LANL.GOV prospero 191/tcpProspero Directory Service prospero 191/udp Prospero Directory Service B. Clifford Neuman bcn@isi.edu osu-nms 192/tcpOSU Network Monitoring System osu-nms 192/udp OSU Network Monitoring System Doug Karl KARL-D@OSU-20.IRCC.OHIOSTATE.EDU srmp 193/tcpSpider Remote Monitoring Protocol srmp 193/udp Spider Remote Monitoring Protocol Ted J. Socolofsky Teds@SPIDER.CO.UK irc 194/tcpInternet Relay Chat Protocol irc 194/udp Internet Relay Chat Protocol Jarkko Oikarinen jto@TOLSUN.OULU.FI dn6-nlm-aud 195/tcpDNSIX Network Level Module Audit dn6-nlm-aud 195/udp DNSIX Network Level Module Audit dn6-smm-red 196/tcpDNSIX Session Mgt Module Audit Red ir dn6-smm-red 196/udp DNSIX Session Mgt Module Audit Red ir Lawrence Lebahn DIA3@PAXRVNES.NAVY.MIL dls 197/tcpDirectory Location Service

dls 197/udp Directory Location Service dls-mon 198/tcpDirectory Location Service Monitor dls-mon 198/udp Directory Location Service Monitor Scott Bellew smb@cs.purdue.edu smux 199/tcpSMUX smux 199/udp SMUX Marshall Rose mrose@dbc.mtview.ca.us src 200/tcpIBM System Resource Controller src 200/udp IBM System Resource Controller Gerald McBrearty at-rtmp 201/tcpAppleTalk Routing Maintenance at-rtmp 201/udp AppleTalk Routing Maintenance at-nbp 202/tcpAppleTalk Name Binding at-nbp 202/udp AppleTalk Name Binding at-3 203/tcpAppleTalk Unused at-3 203/udp AppleTalk Unused at-echo 204/tcpAppleTalk Echo at-echo 204/udp AppleTalk Echo at-5 205/tcpAppleTalk Unused at-5 205/udp AppleTalk Unused at-zis 206/tcpAppleTalk Zone Information at-zis 206/udp AppleTalk Zone Information at-7 207/tcpAppleTalk Unused at-7 207/udp AppleTalk Unused at-8 208/tcpAppleTalk Unused at-8 208/udp AppleTalk Unused Rob Chandhok chandhok@gnome.cs.cmu.edu qmtp 209/tcpThe Quick Mail Transfer Protocol qmtp 209/udp The Quick Mail Transfer Protocol Dan Bernstein djb@silverton.berkeley.edu z39.50 210/tcpANSI Z39.50 z39.50 210/udp ANSI Z39.50 Mark Needleman mhnur%uccmvsa.bitnet@cornell.cit.cornell.edu 914c/g 211/tcpTexas Instruments 914C/G Terminal 914c/g 211/udp Texas Instruments 914C/G Terminal Bill Harrell anet 212/tcpATEXSSTR anet 212/udp ATEXSSTR Jim Taylor taylor@heart.epps.kodak.com ipx 213/tcp"IPX " ipx 213/udp IPX Don Provan donp@xlnvax.novell.com vmpwscs 214/tcpVM PWSCS vmpwscs 214/udp VM PWSCS Dan Shia dset!shia@uunet.UU.NET softpc 215/tcpInsignia Solutions softpc 215/udp Insignia Solutions Martyn Thomas CAIlic 216/tcpComputer Associates Int'l License Server CAIlic 216/udp Computer Associates Int'l License Server Chuck Spitz spich04@cai.com dbase 217/tcpdBASE Unix dbase 217/udp dBASE Unix Don Gibsonsequent!aero!twinsun!ashtate.AT.COM!dong@uunet.UU.NET mpp 218/tcpNetix Message Posting Protocol mpp 218/udp Netix Message Posting Protocol Shannon Yeh yeh@netix.com uarps 219/tcpUnisys ARPs

uarps 219/udp Unisys ARPs Ashok Marwaha imap3 220/tcpInteractive Mail Access Protocol v 3 imap3 220/udp Interactive Mail Access Protocol v 3 James Rice RICE@SUMEX-AIM.STANFORD.EDU fln-spx 221/tcpBerkeley rlogind with SPX auth fln-spx 221/udp Berkeley rlogind with SPX auth rsh-spx 222/tcpBerkeley rshd with SPX auth rsh-spx 222/udp Berkeley rshd with SPX auth cdc 223/tcpCertificate Distribution Center cdc 223/udp Certificate Distribution Center Kannan Alagappan kannan@sejour.enet.dec.com # 224-241 Reserved Jon Postel postel@isi.edu # 242/tcpUnassigned # 242/udp Unassigned sur-meas 243/tcpSurvey Measurement sur-meas 243/udp Survey Measurement Dave Clark ddc@LCS.MIT.EDU # 244/tcpUnassigned # 244/udp Unassigned link 245/tcpLINK link 245/udp LINK dsp3270 246/tcpDisplay Systems Protocol dsp3270 246/udp Display Systems Protocol Weldon J. Showalter Gamma@MINTAKA.DCA.MIL # 247-255 Reserved Jon Postel postel@isi.edu # 256-343 Unassigned pdap 344/tcpProspero Data Access Protocol pdap 344/udp Prospero Data Access Protocol B. Clifford Neuman bcn@isi.edu pawserv 345/tcpPerf Analysis Workbench pawserv 345/udp Perf Analysis Workbench zserv 346/tcpZebra server zserv 346/udp Zebra server fatserv 347/tcpFatmen Server fatserv 347/udp Fatmen Server csi-sgwp 348/tcpCabletron Management Protocol csi-sgwp 348/udp Cabletron Management Protocol # 349-370 Unassigned clearcase 371/tcpClearcase clearcase 371/udp Clearcase Dave LeBlang leglang@atria.com ulistserv 372/tcpUnix Listserv ulistserv 372/udp Unix Listserv Anastasios Kotsikonas tasos@cs.bu.edu legent-1 373/tcpLegent Corporation legent-1 373/udp Legent Corporation legent-2 374/tcpLegent Corporation legent-2 374/udp Legent Corporation Keith Boyce hassle 375/tcpHassle hassle 375/udp Hassle Reinhard Doelz doelz@comp.bioz.unibas.ch nip 376/tcpAmiga Envoy Network Inquiry Proto

nip 376/udp Amiga Envoy Network Inquiry Proto Heinz Wrobel heinz@iam.com Dale L. Larson dale@iam.com tnETOS 377/tcpNEC Corporation tnETOS 377/udp NEC Corporation dsETOS 378/tcpNEC Corporation dsETOS 378/udp NEC Corporation Tomoo Fujita tf@arc.bs1.fc.nec.co.jp is99c 379/tcpTIA/EIA/IS-99 modem client is99c 379/udp TIA/EIA/IS-99 modem client is99s 380/tcpTIA/EIA/IS-99 modem server is99s 380/udp TIA/EIA/IS-99 modem server Frank Quick fquick@qualcomm.com hp-collector 381/tcphp performance data collector hp-collector 381/udp hp performance data collector hp-managed-node 382/tcphp performance data managed node hp-managed-node 382/udp hp performance data managed node hp-alarm-mgr 383/tcphp performance data alarm manager hp-alarm-mgr 383/udp hp performance data alarm manager Frank Blakely frankb@hpptc16.rose.hp.com arns 384/tcpA Remote Network Server System arns 384/udp A Remote Network Server System David Hornsby djh@munnari.OZ.AU ibm-app 385/tcpIBM Application ibm-app 385/tcpIBM Application Lisa Tomita asa 386/tcpASA Message Router Object Def. asa 386/udp ASA Message Router Object Def. Steve Laitinen laitinen@brutus.aa.ab.com aurp 387/tcpAppletalk Update-Based Routing Pro . aurp 387/udp Appletalk Update-Based Routing Pro . Chris Ranch cranch@novell.com unidata-ldm 388/tcpUnidata LDM Version 4 unidata-ldm 388/udp Unidata LDM Version 4 Glenn Davis davis@unidata.ucar.edu ldap 389/tcpLightweight Directory Access Proto col ldap 389/udp Lightweight Directory Access Proto col Tim Howes Tim.Howes@terminator.cc.umich.edu uis 390/tcpUIS uis 390/udp UIS Ed Barron synotics-relay 391/tcpSynOptics SNMP Relay Port synotics-relay 391/udp SynOptics SNMP Relay Port synotics-broker 392/tcpSynOptics Port Broker Port synotics-broker 392/udp SynOptics Port Broker Port Illan Raab iraab@synoptics.com dis 393/tcpData Interpretation System dis 393/udp Data Interpretation System Paul Stevens pstevens@chinacat.Metaphor.COM embl-ndt 394/tcpEMBL Nucleic Data Transfer embl-ndt 394/udp EMBL Nucleic Data Transfer Peter Gad peter@bmc.uu.se netcp 395/tcpNETscout Control Protocol netcp 395/udp NETscout Control Protocol Anil Singhal ---none--netware-ip 396/tcpNovell Netware over IP netware-ip 396/udp Novell Netware over IP mptn 397/tcpMulti Protocol Trans. Net.

mptn 397/udp Multi Protocol Trans. Net. Soumitra Sarkar sarkar@vnet.ibm.com kryptolan 398/tcpKryptolan kryptolan 398/udp Kryptolan Peter de Laval pdl@sectra.se iso-tsap-c2 399/tcpISO Transport Class 2 Non-Control over TCP iso-tsap-c2 399/udp ISO Transport Class 2 Non-Control over TCP Yanick Pouffary pouffary@taec.enet.dec.com work-sol 400/tcpWorkstation Solutions work-sol 400/udp Workstation Solutions Jim Ward jimw@worksta.com ups 401/tcpUninterruptible Power Supply ups 401/udp Uninterruptible Power Supply Guenther Seybold gs@hrz.th-darmstadt.de genie 402/tcpGenie Protocol genie 402/udp Genie Protocol Mark Hankin decap 403/tcpdecap decap 403/udp decap nced 404/tcpnced nced 404/udp nced ncld 405/tcpncld ncld 405/udp ncld Richard Jones imsp 406/tcpInteractive Mail Support Protocol imsp 406/udp Interactive Mail Support Protocol John Myers jgm+@cmu.edu timbuktu 407/tcpTimbuktu timbuktu 407/udp Timbuktu Marc Epard marc@waygate.farallon.com prm-sm 408/tcpProspero Resource Manager Sys. Man . prm-sm 408/udp Prospero Resource Manager Sys. Man . prm-nm 409/tcpProspero Resource Manager Node Man. prm-nm 409/udp Prospero Resource Manager Node Man. B. Clifford Neuman bcn@isi.edu decladebug 410/tcpDECLadebug Remote Debug Protocol decladebug 410/udp DECLadebug Remote Debug Protocol Anthony Berent anthony.berent@reo.mts.dec.com rmt 411/tcpRemote MT Protocol rmt 411/udp Remote MT Protocol Peter Eriksson pen@lysator.liu.se synoptics-trap 412/tcpTrap Convention Port synoptics-trap 412/udp Trap Convention Port Illan Raab iraab@synoptics.com smsp 413/tcpSMSP smsp 413/udp SMSP infoseek 414/tcpInfoSeekinfoseek # 414/udp InfoSeek Steve Kirsch stk@infoseek.com bnet 415/tcpBNet bnet 415/udp Bnet Jim Mertz JMertz+RV09@rvdc.unisys.com silverplatter 416/tcpSilverplatter silverplatter 416/udp Silverplatter Peter Ciuffetti petec@silverplatter.com onmux 417/tcpOnmux onmux 417/udp Onmux Stephen Hanna hanna@world.std.com hyper-g 418/tcpHyper-G hyper-g 418/udp Hyper-G Frank Kappe fkappe@iicm.tu-graz.ac.at

ariel1 419/tcpAriel ariel1 419/udp Ariel Jonathan Lavigne BL.JPL@RLG.Stanford.EDU smpte 420/tcpSMPTE smpte 420/udp SMPTE Si Becker 71362.22@CompuServe.COM ariel2 421/tcpAriel ariel2 421/udp Ariel ariel3 422/tcpAriel ariel3 422/udp Ariel Jonathan Lavigne BL.JPL@RLG.Stanford.EDU opc-job-start 423/tcpIBM Operations Planning and Contro l Start opc-job-start 423/udp IBM Operations Planning and Contro l Start opc-job-track 424/tcpIBM Operations Planning and Contro l Track opc-job-track 424/udp IBM Operations Planning and Contro l Track Conny Larsson cocke@VNET.IBM.COM icad-el 425/tcpICAD icad-el 425/udp ICAD Larry Stone lcs@icad.com smartsdp 426/tcpsmartsdp smartsdp 426/udp smartsdp Alexander Dupuy dupuy@smarts.com svrloc 427/tcpServer Location svrloc 427/udp Server Location veizades@ftp.com ocs_cmu 428/tcpOCS_CMU ocs_cmu 428/udp OCS_CMU ocs_amu 429/tcpOCS_AMU ocs_amu 429/udp OCS_AMU Florence Wyman wyman@peabody.plk.af.mil utmpsd 430/tcpUTMPSD utmpsd 430/udp UTMPSD utmpcd 431/tcpUTMPCD utmpcd 431/udp UTMPCD iasd 432/tcpIASD iasd 432/udp IASD Nir Baroz nbaroz@encore.com nnsp 433/tcpNNSP nnsp 433/udp NNSP Rob Robertson rob@gangrene.berkeley.edu mobileip-agent 434/tcpMobileIP-Agent mobileip-agent 434/udp MobileIP-Agent mobilip-mn 435/tcpMobilIP-MN mobilip-mn 435/udp MobilIP-MN Kannan Alagappan kannan@sejour.lkg.dec.com dna-cml 436/tcpDNA-CML dna-cml 436/udp DNA-CML Dan Flowers flowers@smaug.lkg.dec.com comscm 437/tcpcomscm comscm 437/udp comscm Jim Teague teague@zso.dec.com dsfgw 438/tcpdsfgw dsfgw 438/udp dsfgw Andy McKeen mckeen@osf.org dasp 439/tcpdasp Thomas Obermair dasp 439/udp dasp Thomas Obermair tommy@inlab.m.eunet.de sgcp 440/tcpsgcp tommy@inlab.m.eunet.de sgcp 440/udp sgcp mrshall Rose mrose@dbc.mtview.ca.us

decvms-sysmgt 441/tcpdecvms-sysmgt decvms-sysmgt 441/udp decvms-sysmgt Lee Barton barton@star.enet.dec.com cvc_hostd 442/tcpcvc_hostd cvc_hostd 442/udp cvc_hostd Bill Davidson billd@equalizer.cray.com https 443/tcphttps MCom https 443/udp https Mcom Kipp E.B. Hickman kipp@mcom.com snpp 444/tcpSimple Network Paging Protocol snpp 444/udp Simple Network Paging Protocol [RFC1568] microsoft-ds 445/tcpMicrosoft-DS microsoft-ds 445/udp Microsoft-DS Arnold Miller arnoldm@microsoft.com ddm-rdb 446/tcpDDM-RDB ddm-rdb 446/udp DDM-RDB ddm-dfm 447/tcpDDM-RFM ddm-dfm 447/udp DDM-RFM ddm-byte 448/tcpDDM-BYTE ddm-byte 448/udp DDM-BYTE Jan David Fisher jdfisher@VNET.IBM.COM as-servermap 449/tcpAS Server Mapper as-servermap 449/udp AS Server Mapper Barbara Foss BGFOSS@rchvmv.vnet.ibm.com tserver 450/tcpTServer tserver 450/udp Tserver Harvey S. Schultz hss@mtgzfs3.mt.att.com sfs-smp-net 451/tcpCray Network Semaphore server sfs-smp-net 451/udp Cray Network Semaphore server sfs-config 452/tcpCray SFS config server sfs-config 452/udp Cray SFS config server Walter Poxon wdp@ironwood.cray.com creativeserver 453/tcpCreativeServer creativeserver 453/udp CreativeServer contentserver 454/tcpContentServer contentserver 454/udp ContentServer creativepartnr 455/tcpCreativePartnr creativepartnr 455/udp CreativePartnr Jesus Ortiz jesus_ortiz@emotion.com macon-tcp 456/tcpmacon-tcp macon-udp 456/udp macon-udp Yoshinobu Inoue Shin@hodaka.mfd.cs.fujitsu.co.jp scohelp 457/tcpscohelp scohelp 457/udp scohelp Faith Zack faithz@sco.com appleqtc 458/tcpapple quick time appleqtc 458/udp apple quick time Murali Ranganathan murali_ranganathan@quickmail.apple.com ampr-rcmd 459/tcpampr-rcmd ampr-rcmd 459/udp ampr-rcmd Rob Janssen rob@sys3.pe1chl.ampr.org skronk 460/tcpskronk skronk 460/udp skronk Henry Strickland strick@yak.net datasurfsrv 461/tcpDataRampSrv datasurfsrv 461/udp DataRampSrv datasurfsrvsec 462/tcpDataRampSrvSec datasurfsrvsec 462/udp DataRampSrvSec Diane Downie downie@jibe.MV.COM

alpes 463/tcpalpes alpes 463/udp alpes Alain Durand Alain.Durand@imag.fr kpasswd 464/tcpkpasswd kpasswd 464/udp kpasswd Theodore Ts'o tytso@MIT.EDU ssmtp 465/tcpssmtp ssmtp 465/udp ssmtp John Hemming JohnHemming@Mkn.co.uk digital-vrc 466/tcpdigital-vrc digital-vrc 466/udp digital-vrc Dave Forster forster@marvin.enet.dec.com mylex-mapd 467/tcpmylex-mapd mylex-mapd 467/udp mylex-mapd Gary Lewis GaryL@hq.mylex.com photuris 468/tcpproturis photuris 468/udp proturis Bill Simpson Bill.Simpson@um.cc.umich.edu rcp 469/tcpRadio Control Protocol rcp 469/udp Radio Control Protocol Jim Jennings +1-708-538-7241 scx-proxy 470/tcpscx-proxy scx-proxy 470/udp scx-proxy Scott Narveson sjn@cray.com mondex 471/tcpMondex mondex 471/udp Mondex Bill Reding redingb@nwdt.natwest.co.uk ljk-login472/tcpljk-login ljk-login472/udp ljk-loginLJK Software, Cambridge, Massachusetts support@ljk.com hybrid-pop 473/tcphybrid-pop hybrid-pop 473/udp hybrid-pop Rami Rubin rami@hybrid.com tn-tl-w1 474/tcptn-tl-w1 tn-tl-w2 474/udp tn-tl-w2 Ed Kress eskress@thinknet.com tcpnethaspsrv 475/tcptcpnethaspsrv tcpnethaspsrv 475/tcptcpnethaspsrv Charlie Hava charlie@aladdin.co.il tn-tl-fd1 476/tcptn-tl-fd1 tn-tl-fd1 476/udp tn-tl-fd1 Ed Kress eskress@thinknet.com ss7ns 477/tcpss7ns ss7ns 477/udp ss7ns Jean-Michel URSCH ursch@taec.enet.dec.com spsc 478/tcpspsc spsc 478/udp spsc Mike Rieker mikea@sp32.com iafserver 479/tcpiafserver iafserver 479/udp iafserver iafdbase 480/tcpiafdbase iafdbase 480/udp iafdbase ricky@solect.com Rick Yazwinski ph 81/tcp Ph service ph 481/udp Ph service Roland Hedberg Roland.Hedberg@umdac.umu.se bgs-nsi 482/tcpbgs-nsi bgs-nsi 482/udp bgs-nsi Jon Saperia saperia@bgs.com ulpnet 483/tcpulpnet ulpnet 483/udp ulpnet Kevin Mooney kevinm@bfs.unibol.com integra-sme 484/tcpIntegra Software Management Enviro nment integra-sme 484/udp Integra Software Management Enviro nment Randall Dow rand@randix.m.isr.de

powerburst 485/tcpAir Soft Power Burst powerburst 485/udp Air Soft Power Burst gary@airsoft.com avian 486/tcpavian avian 486/udp avian Robert Ullmann Robert_Ullmann/CAM/Lotus.LOTUS@crd.lotus.com saft 487/tcpsaft saft 487/udp saft Ulli Horlacher framstag@rus.uni-stuttgart.de gss-http 488/tcpgss-http gss-http 488/udp gss-http Doug Rosenthal rosenthl@krypton.einet.net nest-protocol 489/tcpnest-protocol nest-protocol 489/udp nest-protocol Gil Gameiro gil_gameiro@novell.com micom-pfs 490/tcpmicom-pfs micom-pfs 490/udp micom-pfs David Misunas DMisunas@micom.com go-login 491/tcpgo-login go-login 491/udp go-login Troy Morrison troy@graphon.com ticf-1 492/tcpTransport Independent Convergence for FNA ticf-1 492/udp Transport Independent Convergence for FNA ticf-2 493/tcpTransport Independent Convergence for FNA ticf-2 493/udp Transport Independent Convergence for FNA Mamoru Ito Ito@pcnet.ks.pfu.co.jp pov-ray 494/tcpPOV-Ray pov-ray 494/udp POV-Ray Chris Cason Chris.Cason@oaks.com.au intecourier 495/tcpintecourier intecourier 495/udp intecourier Steve Favor sfavor@tigger.intecom.com pim-rp-disc 496/tcpPIM-RP-DISC pim-rp-disc 496/udp PIM-RP-DISC Dino Farinacci dino@cisco.com dantz 497/tcpdantz dantz 497/udp dantz Dotty Yackle dotty_yackle@dantz.com siam 498/tcpsiam siam 498/udp siam Philippe Gilbert pgilbert@cal.fr iso-ill 499/tcpISO ILL Protocol iso-ill 499/udp ISO ILL Protocol Mark H. Needleman Mark.Needleman@ucop.edu isakmp 500/tcpisakmp isakmp 500/udp isakmp Mark Schertler mjs@tycho.ncsc.mil stmf 501/tcpSMTF stmf 501/udp SMTF Alan Ungar aungar@farradyne.com asa-appl-proto 502/tcpasa-appl-proto asa-appl-proto 502/udp asa-appl-proto Dennis Dube ddube@modicon.com intrinsa 503/tcpIntrinsa intrinsa 503/udp Intrinsa Robert Ford robert@intrinsa.com citadel 504/tcpcitadel citadel 504/udp citadel Art Cancro ajc@uncnsrd.mt-kisco.ny.us mailbox-lm 505/tcpmailbox-lm mailbox-lm 505/udp mailbox-lm Beverly Moody Beverly_Moody@stercomm.com ohimsrv 506/tcpohimsrv ohimsrv 506/udp ohimsrv Scott Powell spowell@openhorizon.com # 507-511 Unassigned

exec 512/tcpremote 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/tcplike exec, but automatic authentication is performed as for login server syslog 514/udp # printer 515/tcpspooler printer 515/udp spooler # 516/tcpUnassigned # 516/udp Unassigned talk 517/tcplike 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/tcpunixtime utime 519/udp unixtime efs 520/tcpextended file name server router 520/udp "local routing process (on site);" uses variant of Xerox NS routing information protocol # 521-524 Unassigned "timed " 525/tcptimeserver timed 525/udp timeserver tempo 526/tcpnewdate tempo 526/udp newdate # 527-529 Unassigned courier 530/tcprpc courier 530/udp rpc conference 531/tcpchat conference 531/udp chat netnews 532/tcpreadnews netnews 532/udp readnews "netwall " 533/tcpfor emergency broadcasts "netwall " 533/udp for emergency broadcasts # 534-538 Unassigned apertus-ldp 539/tcpApertus Technologies Load Determin ation apertus-ldp 539/udp Apertus Technologies Load Determin ation uucp 540/tcp"uucpd " uucp 540/udp "uucpd " uucp-rlogin 541/tcpuucp-rlogin

uucp-rlogin 541/udp uucp-rlogiN Stuart Lynne sl@wimsey.com # 542/tcpUnassigned # 542/udp Unassigned klogin 543/tcp klogin 543/udp "kshell " 544/tcpkrcmd "kshell " 544/udp krcmd appleqtcsrvr 545/tcpappleqtcsrvr appleqtcsrvr 545/udp appleqtcsrvr Murali Ranganathan Murali_Ranganathan@quickmail.apple.com dhcpv6-client 546/tcpDHCPv6 Client dhcpv6-client 546/udp DHCPv6 Client dhcpv6-server 547/tcpDHCPv6 Server dhcpv6-server 547/udp DHCPv6 Server Jim Bound bound@zk3.dec.com # 548/tcpUnassigned # 548/udp Unassigned # 549/tcpUnassigned # 549/udp Unassigned new-rwho 550/tcpnew-who new-rwho 550/udp new-who cybercash 551/tcpcybercash cybercash 551/udp cybercash Donald E. Eastlake 3rd dee@cybercash.com deviceshare 552/tcpdeviceshare deviceshare 552/udp deviceshare Brian Schenkenberger brians@advsyscon.com pirp 553/tcppirp pirp 553/udp pirp D. J. Bernstein djb@silverton.berkeley.edu # 554/tcpUnassigned # 554/udp Unassigned dsf 555/tcp# dsf 555/udp # remotefs 556/tcprfs server remotefs 556/udp rfs server openvms-sysipc557/tcpopenvms-sysipc openvms-sysipc557/udp openvms-sysipcAlan Potter potter@movies.enet.dec.com sdnskmp 558/tcpSDNSKMP sdnskmp 558/udp SDNSKMP teedtap559/tcpTEEDTAP teedtap559/udp TEEDTAP Mort Hoffman hoffman@mail.ndhm.gtegsc.com rmonitor 560/tcprmonitord rmonitor 560/udp rmonitord monitor 561/tcp# monitor 561/udp # chshell 562/tcpchcmd chshell 562/udp chcmd snews 563/tcpsnewssnews # 563/udp snews Kipp E.B. Hickman kipp@netscape.com

9pfs 564/tcpplan 9 file service 9pfs 564/udp plan 9 file service whoami 565/tcpwhoami whoami 565/udp whoami streettalk 566/tcpstreettalk streettalk 566/udp streettalk banyan-rpc 567/tcpbanyan-rpc banyan-rpc 567/udp banyan-rpc Tom Lemaire toml@banyan.com ms-shuttle 568/tcpmicrosoft shuttle ms-shuttle 568/udp microsoft shuttle Rudolph Balaz rudolphb@microsoft.com ms-rome 569/tcpmicrosoft rome ms-rome 569/udp microsoft rome Rudolph Balaz rudolphb@microsoft.com meter 570/tcpdemon meter 570/udp demon "meter " 571/tcpudemon "meter " 571/udp udemon sonar 572/tcpsonar sonar 572/udp sonar Keith Moore moore@cs.utk.edu banyan-vip 573/tcpbanyan-vip banyan-vip 573/udp banyan-vip Denis Leclerc DLeclerc@banyan.com ftp-agent 574/tcpFTP Software Agent System ftp-agent 574/udp FTP Software Agent System Michael S. Greenberg arnoff@ftp.com vemmi 575/tcpVEMMI Daniel Mavrakis mavrakis@mctel.fr # 576-599 Unassigned ipcserver 600/tcpSun IPC server ipcserver 600/udp Sun IPC server nqs 607/tcpnqs nqs 607/udp nqs urm 606/tcpCray Unified Resource Manager urm 606/udp Cray Unified Resource ManagerBill Schiefelbein schief@aspen.cray.com sift-uft 608/tcpSender-Initiated/Unsolicited File Transfer sift-uft 608/udp Sender-Initiated/Unsolicited File Transfer Rick Troth troth@rice.edu npmp-trap 609/tcpnpmp-trap npmp-trap 609/udp npmp-trap npmp-local 610/tcpnpmp-local npmp-local 610/udp npmp-local npmp-gui 611/tcpnpmp-gui npmp-gui 611/udp npmp-gui John Barnes jbarnes@crl.com # 612-632 Unassigned servstat 633/tcpService Status update (Sterling So ftware) servstat 633/udp Service Status update (Sterling So ftware) Greg Rose Greg_Rose@sydney.sterling.com ginad 634/tcpginad ginad 634/udp ginad Mark Crother mark@eis.calstate.edu # 635-665 Unassigned

mdqs "666/tcp " mdqs "666/udp " doom 666/tcpdoom Id Software doom 666/udp doom Id Software ddt@idcube.idsoftware.com # 667-703 Unassigned elcsd 704/tcperrlog copy/server daemon elcsd 704/udp errlog copy/server daemon entrustmanager 709/tcpEntrustManager entrustmanager 709/udp EntrustManager Peter Whittaker pww@bnr.ca netviewdm1 729/tcpIBM NetView DM/6000 Server/Client netviewdm1 729/udp IBM NetView DM/6000 Server/Client netviewdm2 730/tcpIBM NetView DM/6000 send/tcp netviewdm2 730/udp IBM NetView DM/6000 send/tcp netviewdm3 731/tcpIBM NetView DM/6000 receive/tcp netviewdm3 731/udp IBM NetView DM/6000 receive/tcp Philippe Binet (phbinet@vnet.IBM.COM) netgw 741/tcpnetGW netgw 741/udp netGW netrcs 742/tcpNetwork based Rev. Cont. Sys. netrcs 742/udp Network based Rev. Cont. Sys. Gordon C. Galligher gorpong@ping.chi.il.us flexlm 744/tcpFlexible License Manager flexlm 744/udp Flexible License Manager Matt Christiano globes@matt@oliveb.atc.olivetti.com fujitsu-dev 747/tcpFujitsu Device Control fujitsu-dev 747/udp Fujitsu Device Control ris-cm 748/tcpRussell Info Sci Calendar Manager ris-cm 748/udp Russell Info Sci Calendar Manager kerberos-adm 749/tcpkerberos 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/tcpsend 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

"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 entomb775/tcp "acmaint_transd " 775/udp wpages 776/tcp wpages 776/udp wpgs 780/tcp wpgs 780/udp concert 786/tcpConcert concert 786/udp ConcertJosyula R. Rao jrrao@watson.ibm.com mdbs_daemon "800/tcp " mdbs_daemon "800/udp " device 801/tcp device 801/udp accessbuilder 888/tcpAccessBuilder accessbuilder 888/udp AccessBuilder Steve Sweeney Steven_Sweeney@3mail.3com.com vsinet 996/tcpvsinet vsinet 996/udp vsinet Rob Juergens robj@vsi.com maitrd 997/tcp maitrd 997/udp busboy 998/tcp puparp 998/udp garcon 999/tcp applix 999/udp Applix ac puprouter 999/tcp

puprouter 999/udp cadlock 1000/tcp ock 1000/udp # 1023/tcp Reserved # 1023/udp Reserved IANA iana@isi.edu # 1024/tcp "Reserved " # 1024/udp Reserved IANA iana@isi.edu 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 malis_a@timeplex.com nim 1058/tcp nim nim 1058/udp nim nimreg 1059/tcp nimreg nimreg 1059/udp nimreg Robert Gordon rbg@austin.ibm.com 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 darko@hpfcrn.fc.hp.com socks 1080/tcp Socks socks 1080/udp Socks Ying-Da Lee ylee@syl.dl.nec.com 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 ec@hpfclj.fc.hp.com nfa 1155/tcp Network File Access nfa 1155/udp Network File Access James Powell james@mailhost.unidata.com lupa 1212/tcp lupa lupa 1212/udp lupa Barney Wolff barney@databus.com nerv 1222/tcp SNI R&D network nerv 1222/udp SNI R&D network Martin Freiss freiss.pad@sni.de 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

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 simsong@next.cambridge.ma.us equationbuilder 1351/tcp Digital Tool Works (MIT) equationbuilder 1351/udp Digital Tool Works (MIT) Terrence J. Talbot lexcube!tjt@bu.edu lotusnote 1352/tcp Lotus Note lotusnote 1352/udp Lotus Note Greg Pflaum iris.com!Greg_Pflaum@uunet.uu.net relief 1353/tcp Relief Consulting relief 1353/udp Relief Consulting John Feiler relief!jjfeiler@uu2.psi.com rightbrain 1354/tcp RightBrain Software rightbrain 1354/udp RightBrain Software Glenn Reid glann@rightbrain.com intuitive edge 1355/tcp Intuitive Edge intuitive edge 1355/udp Intuitive Edge Montgomery Zukowski monty@nextnorth.acs.ohio-state.edu cuillamartin 1356/tcp CuillaMartin Company cuillamartin 1356/udp CuillaMartin Company pegboard 1357/tcp Electronic PegBoard pegboard 1357/udp Electronic PegBoard # Chris Cuilla balr!vpnet!cuilla!chris@clout.chi.il.us connlcli 1358/tcp CONNLCLI connlcli 1358/udp CONNLCLI ftsrv 1359/tcp FTSRV ftsrv 1359/udp FTSRV Ines Homem de Melo sidinf@brfapesp.bitnet mimer 1360/tcp MIMER mimer 1360/udp MIMER Per Schroeder Per.Schroder@mimer.se linx 1361/tcp LinX linx 1361/udp LinX Steffen Schilke timeflies 1362/tcp TimeFlies timeflies 1362/udp TimeFlies Doug Kent mouthers@slugg@nwnexus.wa.com 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 watanabe@godzilla.rsc.spdd.ricoh.co.j 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 llindsey@novell.com dcs 1367/tcp DCS dcs 1367/udp DCS Stefan Siebert ssiebert@dcs.de screencast 1368/tcp ScreenCast screencast 1368/udp ScreenCast Bill Tschumy other!bill@uunet.UU.NET gv-us 1369/tcp GlobalView to Unix Shell gv-us 1369/udp GlobalView to Unix Shell us-gv 1370/tcp Unix Shell to GlobalView

us-gv 1370/udp Unix Shell to GlobalView Makoto Mita mita@ssdev.ksp.fujixerox.co.jp 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 horie@spad.sysrap.cs.fujitsu.co.jp chromagrafx 1373/tcp Chromagrafx chromagrafx 1373/udp Chromagrafx Mike Barthelemy msb@chromagrafx.com molly 1374/tcp EPI Software Systems molly 1374/udp EPI Software Systems Jim Vlcek vlcek@epimbe.com bytex 1375/tcp Bytex bytex 1375/udp Bytex Mary Ann Burt bytex!ws054!maryann@uunet.UU.NET ibm-pps 1376/tcp IBM Person to Person Software ibm-pps 1376/udp IBM Person to Person Software Simon Phipps sphipps@vnet.ibm.com cichlid 1377/tcp Cichlid License Manager cichlid 1377/udp Cichlid License Manager Andy Burgess aab@cichlid.com elan 1378/tcp Elan License Manager elan 1378/udp Elan License Manager Ken Greer kg@elan.com dbreporter 1379/tcp Integrity Solutions dbreporter 1379/udp Integrity Solutions Tim Dawson tdawson%mspboss@uunet.UU.NET telesis-licman 1380/tcp Telesis Network License Manager telesis-licman 1380/udp Telesis Network License Manager Karl Schendel, Jr. wiz@telesis.com apple-licman 1381/tcp Apple Network License Manager apple-licman 1381/udp Apple Network License Manager Earl Wallace earlw@apple.com 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 fop@gwha.com os-licman 1384/tcp Objective Solutions License Manage r os-licman 1384/udp Objective Solutions License Manage r Donald Cornwell don.cornwell@objective.com atex_elmd 1385/tcp Atex Publishing License Manager atex_elmd 1385/udp Atex Publishing License Manager Brett Sorenson bcs@atex.com checksum 1386/tcp CheckSum License Manager checksum 1386/udp CheckSum License Manager Andreas Glocker glocker@sirius.com 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

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 A.P.Hobson@bra0112.wins.icl.co.uk 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 udi@wisdon.weizmann.ac.il 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 joe@cadkey.com 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 bcn@isi.edu 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 ss@dbsa.com sophia-lm 1408/tcp Sophia License Manager sophia-lm 1408/udp Sophia License Manager Eric Brown sst!emerald!eric@uunet.UU.net here-lm1409/tcp Here License Manager here-lm1409/udp Here License Manager David Ison here@dialup.oar.net hiq 1410/tcp HiQ License Manager hiq 1410/udp HiQ License Manager Rick Pugh rick@bilmillennium.com af 1411/tcp AudioFile af 1411/udp AudioFile Jim Gettys jg@crl.dec.com 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

ibm-mqseries 1414/udp IBM MQSeries Roger Meli rmmeli%winvmd@vnet.ibm.com dbstar 1415/tcp DBStar dbstar 1415/udp DBStar Jeffrey Millman jcm@dbstar.com 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 marc@waygate.farallon.com gandalf-lm 1421/tcp Gandalf License Manager gandalf-lm 1421/udp Gandalf License Manager gilmer@gandalf.ca autodesk-lm 1422/tcp Autodesk License Manager autodesk-lm 1422/udp Autodesk License Manager David Ko dko@autodesk.com 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 hch@hybrid.com zion-lm 1425/tcp Zion Software License Manager zion-lm 1425/udp Zion Software License Manager David Ferrero david@zion.com sais 1426/tcp Satellite-data Acquisition System 1 sais 1426/udp Satellite-data Acquisition System 1 Bill Taylor sais@ssec.wisc.edu mloadd 1427/tcp mloadd monitoring tool mloadd 1427/udp mloadd monitoring tool Bob Braden braden@isi.edu informatik-lm 1428/tcp Informatik License Manager informatik-lm 1428/udp Informatik License Manager Harald Schlangman schlangm@informatik.unimuenchen.de nms 1429/tcp Hypercom NMS nms 1429/udp Hypercom NMS tpdu 1430/tcp Hypercom TPDU tpdu 1430/udp Hypercom TPDU Noor Chowdhury noor@hypercom.com rgtp 1431/tcp Reverse Gossip Transport rgtp 1431/udp Reverse Gossip Transport Ian Jackson iwj@cam-orl.co.uk blueberry-lm 1432/tcp Blueberry Software License Manager blueberry-lm 1432/udp Blueberry Software License Manager Steve Beigel ublueb!steve@uunet.uu.netms-sql-s 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 peterhus@microsoft.com ibm-cics 1435/tcp IBM CICS ibm-cics 1435/udp IBM CICS Geoff Meacock gbibmswl@ibmmail.COM saism 1436/tcp Satellite-data Acquisition System 2

saism 1436/udp Satellite-data Acquisition System 2 Bill Taylor sais@ssec.wisc.edu tabula 1437/tcp Tabula tabula 1437/udp Tabula Marcelo Einhorn KGUNE%HUJIVM1.bitnet@taunivm.tau.ac.il 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 CALHOUN@admin.eicon.qc.ca 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 twichers@csn.org ies-lm 1443/tcp Integrated Engineering Software ies-lm 1443/udp Integrated Engineering Software David Tong David_Tong@integrated.mb.ca marcam-lm 1444/tcp Marcam License Management marcam-lm 1444/udp Marcam License Management Therese Hunt hunt@marcam.com 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 jed@apri.com oc-lm 1448/tcp OpenConnect License Manager oc-lm 1448/udp OpenConnect License Manager Sue Barnhill snb@oc.com peport 1449/tcp PEport peport 1449/udp PEport Qentin Neill quentin@ColumbiaSC.NCR.COM dwf 1450/tcp Tandem Distributed Workbench Facil ity dwf 1450/udp Tandem Distributed Workbench Facil ity Mike Bert BERG_MIKE@tandem.com 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 Gregory_Mike@msmail.iipo.gtegsc.com genie-lm 1453/tcp Genie License Manager genie-lm 1453/udp Genie License Manager Paul Applegate p.applegate2@genie.geis.com interhdl_elmd 1454/tcp interHDL License Manager interhdl_elmd 1454/tcp interHDL License Manager Eli Sternheim eli@interhdl.com esl-lm 1455/tcp ESL License Manager esl-lm 1455/udp ESL License Manager Abel Chou abel@willy.esl.com dca 1456/tcp DCA dca 1456/udp DCA Jeff Garbers jgarbers@netcom.com valisys-lm 1457/tcp Valisys License Manager valisys-lm 1457/udp Valisys License Manager Leslie Lincoln leslie_lincoln@valisys.com nrcabq-lm 1458/tcp Nichols Research Corp.

nrcabq-lm 1458/udp Nichols Research Corp. Howard Cole hcole@tumbleweed.nrcabq.com 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 Robin_Kar@ccm.hf.intel.com ibm_wrless_lan 1461/tcp IBM Wireless LAN ibm_wrless_lan 1461/udp IBM Wireless LAN flanne@vnet.IBM.COM world-lm 1462/tcp World License Manager world-lm 1462/udp World License Manager Michael S Amirault ambi@world.std.com nucleus 1463/tcp Nucleus nucleus 1463/udp Nucleus Venky Nagar venky@fafner.Stanford.EDU 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 mfarlin@peerlogic.com Mark Farlin mfarlin@peerlogic.com oceansoft-lm 1466/tcp Ocean Software License Manager oceansoft-lm 1466/udp Ocean Software License Manager Randy Leonard randy@oceansoft.com csdmbase 1467/tcp CSDMBASE csdmbase 1467/udp CSDMBASE csdm 1468/tcp CSDM csdm 1468/udp CSDM Robert Stabl stabl@informatik.uni-muenchen.de 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 Mark-Ludwig@uai.com csdmbase 1471/tcp csdmbase csdmbase 1471/udp csdmbase csdm 1472/tcp csdm csdm 1472/udp csdm Robert Stabl stabl@informatik.uni-muenchen.de openmath 1473/tcp OpenMath openmath 1473/udp OpenMath Garth Mayville mayville@maplesoft.on.ca telefinder 1474/tcp Telefinder telefinder 1474/udp Telefinder Jim White Jim_White@spiderisland.com 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 seric@cup.hp.com 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 gordm@microsoft.com dberegister 1479/tcp dberegister dberegister 1479/udp dberegister Brian Griswold brian@dancingbear.com pacerforum 1480/tcp PacerForum pacerforum 1480/udp PacerForum Peter Caswell pfc@pacvax.pacersoft.com

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 mcroberts@miteksys.com afs 1483/tcp AFS License Manager afs 1483/udp AFS License Manager Michael R. Pizolato michael@afs.com confluent 1484/tcp Confluent License Manager confluent 1484/udp Confluent License Manager James Greenfiel jim@pa.confluent.com lansource 1485/tcp LANSource lansource 1485/udp LANSource Doug Scott lansourc@hookup.net nms_topo_serv 1486/tcp nms_topo_serv nms_topo_serv 1486/udp nms_topo_serv Sylvia Siu Sylvia_Siu@Novell.CO localinfosrvr 1487/tcp LocalInfoSrvr localinfosrvr 1487/udp LocalInfoSrvr Brian Matthews brian_matthews@ibist.ibis.com docstor 1488/tcp DocStor docstor 1488/udp DocStor Brian Spears bspears@salix.com dmdocbroker 1489/tcp dmdocbroker dmdocbroker 1489/udp dmdocbroker Razmik Abnous abnous@documentum.com insitu-conf 1490/tcp insitu-conf insitu-conf 1490/udp insitu-conf Paul Blacknell paul@insitu.com anynetgateway 1491/tcp anynetgateway anynetgateway 1491/udp anynetgateway Dan Poirier poirier@VNET.IBM.COM stone-design-1 1492/tcp stone-design-1 stone-design-1 1492/udp stone-design-1 Andrew Stone andrew@stone.com netmap_lm 1493/tcp netmap_lm netmap_lm 1493/udp netmap_lm Phillip Magson philm@extro.ucc.su.OZ.AU ica 1494/tcp ica ica 1494/udp ica John Richardson, Citrix Systems cvc 1495/tcp cvc cvc 1495/udp cvc Bill Davidson billd@equalizer.cray.com liberty-lm 1496/tcp liberty-lm liberty-lm 1496/udp liberty-lm Jim Rogers trane!jimbo@pacbell.com rfx-lm 1497/tcp rfx-lm rfx-lm 1497/udp rfx-lm Bill Bishop bil@rfx.rfx.com watcom-sql 1498/tcp Watcom-SQL watcom-sql 1498/udp Watcom-SQL Rog Skubowius rwskubow@ccnga.uwaterloo.ca fhc 1499/tcp Federico Heinz Consultora fhc 1499/udp Federico Heinz Consultora Federico Heinz federico@heinz.com vlsi-lm 1500/tcp VLSI License Manager vlsi-lm 1500/udp VLSI License Manager Shue-Lin Kuo shuelin@mdk.sanjose.vlsi.com saiscm 1501/tcp Satellite-data Acquisition System 3 saiscm 1501/udp Satellite-data Acquisition System 3 Bill Taylor sais@ssec.wisc.edu shivadiscovery 1502/tcp Shiva shivadiscovery 1502/udp Shiva Jonathan Wenocur jhw@Shiva.COM imtc-mcs 1503/tcp Databeam

imtc-mcs 1503/udp Databeam Jim Johnstone jjohnstone@databeam.com evb-elm 1504/tcp EVB Software Engineering License Manager evb-elm 1504/udp EVB Software Engineering License Manager B.G. Mahesh mahesh@sett.com funkproxy 1505/tcp Funk Software, Inc. funkproxy 1505/udp Funk Software, Inc. Robert D. Vincent bert@willowpond.com utcd 1506/tcp Universal Time daemon (utcd) utcd 1506/udp Universal Time daemon (utcd) Walter Poxon wdp@ironwood.cray.com symplex 1507/tcp symplex symplex 1507/udp symplex Mike Turley turley@symplex.com diagmond 1508/tcp diagmond diagmond 1508/udp diagmond Pete Moscatelli moscat@hprdstl0.rose.hp.com robcad-lm 1509/tcp Robcad, Ltd. License Managerrobca d-lm # 1509/udp Robcad, Ltd. License Manager Hindin Joseph hindin%robcad@uunet.uu.net 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 charles@mvel.demon.co.uk 3l-l1 1511/tcp 3l-l1 3l-l1 1511/udp 3l-l1 Ian A. Young iay@threel.co.uk wins 1512/tcp Microsoft's Windows Internet Name Service wins 1512/udp Microsoft's Windows Internet Name Service Pradeep Bahl pradeepb@microsoft.com 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 75730.2257@compuserve.com ifor-protocol 1515/tcp ifor-protocol ifor-protocol 1515/udp ifor-protocol Dr. R.P. Alston robin@gradient.com 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 udi@ubique.co.il atm-zip-office 1520/tcp atm zip office atm-zip-office 1520/udp atm zip office Wilson Kwan wilsonk%toronto@zip.atm.com ncube-lm 1521/tcp nCube License Manager ncube-lm 1521/udp nCube License Manager Maxine Yuen maxine@hq.ncube.com rna-lm 1522/tcp Ricardo North America License Man ager rna-lm 1522/udp Ricardo North America License Man ager MFlemming@aol.com cichild-lm 1523/tcp cichild cichild-lm 1523/udp cichild Andy Burgess aab@cichlid.com ingreslock 1524/tcp ingres

ingreslock 1524/udp orasrv 1525/tcp oracle orasrv 1525/udp oracle prospero-np 1525/tcp prospero-np 1525/udp pdap-np 1526/tcp pdap-np 1526/udp tlisrv 1527/tcp oracle tlisrv 1527/udp oracle mciautoreg 1528/tcp mciautoreg 1528/udp coauthor 1529/tcp coauthor 1529/udp rap-service 1530/tcp rap-service 1530/udp rap-listen 1531/tcp rap-listen 1531/udp miroconnect 1532/tcp miroconnect 1532/udp virtual-places 1533/tcp virtual-places 1533/udp micromuse-lm 1534/tcp micromuse-lm 1534/udp ampr-info 1535/tcp ampr-info 1535/udp ampr-inter 1536/tcp ampr-inter 1536/udp sdsc-lm 1537/tcp isi-lm sdsc-lm 1537/udp isi-lm 3ds-lm 1538/tcp 3ds-lm 3ds-lm 1538/udp 3ds-lm intellistor-lm 1539/tcp intellistor-lm 1539/udp rds 1540/tcp rds rds 1540/udp rds rds2 1541/tcp rds2 rds2 1541/udp rds2 gridgen-elmd 1542/tcp gridgen-elmd 1542/udp simba-cs 1543/tcp simba-cs 1543/udp aspeclmd 1544/tcp aspeclmd 1544/udp vistium-share 1545/tcp vistium-share 1545/udp

ingres

Prospero Directory Service non-pr Prospero Directory Service non-pr Prospero Data Access Prot non-pri Prospero Data Access Prot non-pri

iv iv v v B. Clifford Neuman bcn@isi.edu

micautoreg micautoreg John Klensin klensin@MAIL1.RESTON.MCI.NET oracle oracle rap-service rap-service rap-listen rap-listen Phil Servita meister@ftp.com miroconnect miroconnect Michael Fischer +49 531 21 13 0 Virtual Places Software Virtual Places Software Ehud Shapiro udi@ubique.co.il micromuse-lm micromuse-lm Adam Kerrison adam@micromuse.co.uk ampr-info ampr-info ampr-inter ampr-inter Rob Janssen rob@sys3.pe1chl.ampr.org Len Wanger lrw@sdsc.edu Keith Trummel ktrummel@autodesk.com Intellistor License Manager Intellistor License Manager Ron Vaughn rv@intellistor.com

Sudhakar Rajamannar mobius1@cerfnet.com gridgen-elmd gridgen-elmd John R. Chawner +1 817 354-1004 simba-cs simba-cs Betsy Alexander +1 604-681-4549 aspeclmd aspeclmd V. Balaji balaji@aspec.com vistium-share vistium-share Allison Carleton acarleto@naper1.napervilleil.ncr.com

abbaccuray 1546/tcp abbaccuray abbaccuray 1546/udp abbaccuray John Wendt 614-261-2000 laplink 1547/tcp laplink laplink 1547/udp laplink Michael Crawford MichaelC@dev.travsoft.com axon-lm 1548/tcp Axon License Manager axon-lm 1548/udp Axon License Manager Mark Pearce Mark_A.._Pearce/AXON_Networks_Inc..@notes.axon.com shivahose 1549/tcp Shiva Hose shivasound 1549/udp Shiva Sound Kin Chan kchan@shiva.com 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 jccanessa@mmm.com hecmtl-db 1551/tcp HECMTL-DB hecmtl-db 1551/udp HECMTL-DB Maxime Belanger R173@hec.ca pciarray 1552/tcp pciarray pciarray 1552/udp pciarray Ron Folk rfolkes@avl.com sna-cs 1553/tcp sna-cs sna-cs 1553/udp sna-cs Tony Sowter ts@datcon.co.uk caci-lm 1554/tcp CACI Products Company License Man ager caci-lm 1554/udp CACI Products Company License Man ager Erik Blume erikb@caciasl.com livelan 1555/tcp livelan livelan 1555/udp livelan khedayat@roadrunner.pictel.com Kaynam Hedayat ashwin 1556/tcp AshWin CI Tecnologies ashwin 1556/udp AshWin CI Tecnologies Dave Neal daven@ashwin.com arbortext-lm 1557/tcp ArborText License Manager arbortext-lm 1557/udp ArborText License Manager David J. Wilson djw@arbortext.com xingmpeg 1558/tcp xingmpeg xingmpeg 1558/udp xingmpeg Howard Gordon hgordon@system.xingtech.com web2host 1559/tcp web2host web2host 1559/udp web2host Stephen Johnson sjohnson@mindspring.com asci-val 1560/tcp asci-val asci-val 1560/udp asci-val Brian Schenkenberger brians@advsyscon.com facilityview 1561/tcp facilityview facilityview 1561/udp facilityview Ed Green egreen@pmeasuring.com pconnectmgr 1562/tcp pconnectmgr pconnectmgr 1562/udp pconnectmgr Bob Kaiser BKaiser@palindrome.com cadabra-lm 1563/tcp Cadabra License Manager cadabra-lm 1563/udp Cadabra License Manager Arthur Castonguay arthurc@doe.carleton.ca pay-per-view 1564/tcp Pay-Per-View pay-per-view 1564/udp Pay-Per-View Brian Tung brian@isi.edu winddlb 1565/tcp WinDD winddlb 1565/udp WinDD Kelly Sims kellys@garnet.wv.tek.com corelvideo 1566/tcp CORELVIDEO corelvideo 1566/udp CORELVIDEO Ming Poon mingp@corel.ca jlicelmd 1567/tcp jlicelmd

jlicelmd 1567/udp jlicelmdChristian Schormann 100410.3063@compuserve.com tsspmap 1568/tcp tsspmap tsspmap 1568/udp tsspmap Paul W. Nelson nelson@thursby.com ets 1569/tcp ets ets 1569/udp ets Carstein Seeberg case@boole.no orbixd 1570/tcp orbixd orbixd 1570/udp orbixd Bridget Walsh bwalsh@iona.ie rdb-dbs-disp 1571/tcp Oracle Remote Data Base rdb-dbs-disp 1571/udp Oracle Remote Data Base mackin@us.oracle.com 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 richt@watson.ibm.com mvel-lm 1574/tcp mvel-lm mvel-lm 1574/udp mvel-lm David Bisset dbisset@mvel.demon.co.uk oraclenames 1575/tcp oraclenames oraclenames 1575/udp oraclenames P.V.Shivkumar PSHIVKUM@us.oracle.com moldflow-lm 1576/tcp moldflow-lm moldflow-lm 1576/udp moldflow-lm Paul Browne browne@moldflow.com.au hypercube-lm 1577/tcp hypercube-lm hypercube-lm 1577/udp hypercube-lm Michael Moller moller@hyper.hyper.com jacobus-lm 1578/tcp Jacobus License Manager jacobus-lm 1578/udp Jacobus License Manager Tony Cleveland tony.cleveland@jacobus.com ioc-sea-lm 1579/tcp ioc-sea-lm ioc-sea-lm 1579/tcp ioc-sea-lm Paul Nelson paul@ioc-sea.com tn-tl-r1 1580/tcp tn-tl-r1 tn-tl-r2 1580/udp tn-tl-r2 Ed Kress eskress@thinknet.com vmf-msg-port 1581/tcp vmf-msg-port vmf-msg-port 1581/udp vmf-msg-port Eric Whitehill eawhiteh@itt.com tams-lm 1582/tcp Toshiba America Medical Systems tams-lm 1582/udp Toshiba America Medical Systems Philip Scottpks@smtp.orasis.com 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 eskress@thinknet.com intv 1585/tcp intv intv 1585/udp intv Dermot Tynand dtynan@claddagh.ie ibm-abtact 1586/tcp ibm-abtact ibm-abtact 1586/udp ibm-abtact Sandeep K. Singhal singhal@CS.Stanford.EDU pra_elmd 1587/tcp pra_elmd pra_elmd 1587/udp pra_elmd Dennis Mastin dennis@tasmania.platte.com triquest-lm 1588/tcp triquest-lm triquest-lm 1588/udp triquest-lm Nand Kumar nkumar@triquest-da.com vqp 1589/tcp VQP vqp 1589/udp VQP Keith McCloghrie kzm@cisco.com

gemini-lm 1590/tcp gemini-lm gemini-lm 1590/udp gemini-lm Tony Sawyer tonys@gemtech.com ncpm-pm 1591/tcp ncpm-pm ncpm-pm 1591/udp ncpm-pm Ted Power tedp@hpinpcb.cup.hp.com commonspace 1592/tcp commonspace commonspace 1592/udp commonspace Job Chandhok chandhok@within.com mainsoft-lm 1593/tcp mainsoft-lm mainsoft-lm 1593/udp mainsoft-lm Anand Gangadharan anand@goa.mainsoft.com sixtrak 1594/tcp sixtrak sixtrak 1594/udp sixtrak Bob Rennie rjrennie@wizvax.net radio 1595/tcp radio radio 1595/udp radio radio-sm 1596/tcp radio-sm radio-bc 1596/udp radio-bc Ken Chapman kchapman@isis.com orbplus-iiop 1597/tcp orbplus-iiop orbplus-iiop 1597/udp orbplus-iiop Robert A. Kukura kukura@apollo.hp.com picknfs 1598/tcp picknfs picknfs 1598/udp picknfs John Lombardo johnl@picksys.com 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 aes@npr.legent.com inspect 1602/tcp inspect inspect 1602/udp inspect Frank O'Neill frank@morse.ilo.dec.com picodbc 1603/tcp pickodbc picodbc 1603/udp pickodbc John Lombardo johnl@picksys.com icabrowser 1604/tcp icabrowser icabrowser 1604/udp icabrowser Brad Pedersen bradp@citrix.com 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 tmori@VNET.IBM.COM stt 1607/tcp stt stt 1607/udp stt Ryan Bolz ryanbo@microsoft.com smart-lm 1608/tcp Smart Corp. License Manager smart-lm 1608/udp Smart Corp. License Manager Connie Qiu connie@scdb.com isysg-lm 1609/tcp isysg-lm isysg-lm 1609/udp isysg-lm Adam Curtin adam.curtin@isysg.com taurus-wh 1610/tcp taurus-wh taurus-wh 1610/udp taurus-wh Jeff Moffatt jeff@taurus.com ill 1611/tcp Inter Library Loan ill 1611/udp Inter Library Loan Niall Murphy niallm@orca.ucd.ie netbill-trans 1612/tcp NetBill Transaction Server

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 sirbu+@andrew.cmu.edu nimrod-agent 1617/tcp Nimrod Inter-Agent Communication nimrod-agent 1617/udp Nimrod Inter-Agent Communication Charles Lynn clynn@bbn.com skytelnet 1618/tcp skytelnet skytelnet 1618/udp skytelnet Byron Jones BJONES@admiss.msmail.miami.edu xs-openbackup 1619/tcp xs-openbackup xs-openbackup 1619/udp xs-openbackup XuiS Software Ltd. 100322.2376@compuserve.com faxportwinport 1620/tcp faxportwinport faxportwinport 1620/udp faxportwinport Chris Wells chris_wells@lansource.com softdataphone 1621/tcp softdataphone softdataphone 1621/udp softdataphone Dror Gill drorgi@VNET.IBM.COMn ontime 1622/tcp ontime ontime 1622/udp ontime Keith Rhodes 810-559-5955 jaleosnd 1623/tcp jaleosnd jaleosnd 1623/udp jaleosnd Christian Schormann 100410.3063@compuserve.com udp-sr-port 1624/tcp udp-sr-port udp-sr-port 1624/udp udp-sr-port Herb Jensen HWJensen@nfsrv.avionics.itt.com svs-omagent 1625/tcp svs-omagent svs-omagent 1625/udp svs-omagent Alberto Berlen aberlen@VNET.IBM.COM 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 damian@cablenet.net 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 markson@osmosys.incog.com invision 1641/tcp InVision invision 1641/udp InVision Christopher Davey niallocl@quay.ie 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 kchapman@isis.com saiseh 1644/tcp Satellite-data Acquisition System 4 Bill Taylor sais@ssec.wisc.edu datametrics 1645/tcp datametrics

datametrics 1645/udp datametrics Jerry Jongerius jerryj@datametrics.com sa-msg-port 1646/tcp sa-msg-port sa-msg-port 1646/udp sa-msg-port Eric Whitehill eawhiteh@itt.com rsap 1647/tcp rsap rsap 1647/udp rsap Holger Reif Holger.Reif@prakinf.tu-ilmenau.de concurrent-lm 1648/tcp concurrent-lm concurrent-lm 1648/udp concurrent-lm Maggie Brinsford mjb@concurrent.co.uk inspect 1649/tcp inspect inspect 1649/udp inspect Frank da Cruz fdc@watsun.cc.columbia.edu nkd 1650/tcp nkd 1650/udp shiva_confsrvr 1651/tcp shiva_confsrvr shiva_confsrvr 1651/udp shiva_confsrvr Mike Horowitz mah@Shiva.COM xnmp 1652/tcp xnmp xnmp 1652/udp xnmp Ali Saleh scomm@cerf.net alphatech-lm 1653/tcp alphatech-lm alphatech-lm 1653/udp alphatech-lm Joseph Hauk joseph.hauk@alphatech.com stargatealerts 1654/tcp stargatealerts stargatealerts 1654/udp stargatealerts Tim Coppernoll Tim_Coppernoll@ccm.jf.intel.com 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 Nick.Shipman@mrmog.reo.dec.com fujitsu-mmpdc 1657/tcp fujitsu-mmpdc fujitsu-mmpdc 1657/udp fujitsu-mmpdc Katsumi Oomuro NAE01421@niftyserve.or.jp sixnetudr 1658/tcp sixnetudr sixnetudr 1658/udp sixnetudr Bob Rennie rjrennie@wizvax.net sg-lm 1659/tcp Silicon Grail License Manager sg-lm 1659/udp Silicon Grail License Manager William R Bishop wrb@world.std.com skip-mc-gikreq 1660/tcp skip-mc-gikreq skip-mc-gikreq 1660/udp skip-mc-gikreq Tom Markson markson@osmosys.incog.com 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

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 CRISSON@ralvm12.vnet.ibm.com 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 Mark_Lewis@ccm.jf.intel.com pdp 1675/tcp Pacific Data Products pdp 1675/udp Pacific Data Products Gary Morton mortong@pacdata.com nefcomm1 1676/tcp netcomm1 nefcomm2 1676/udp netcomm2 Bulent Kasman BKasman@symantec.com groupwise 1677/tcp groupwise groupwise 1677/udp groupwise Brent Bradshaw bbradshaw@novell.com prolink 1678/tcp prolink prolink 1678/udp prolink Brian Abramson brianab@soul.tv.tek.com darcorp-lm 1679/tcp darcorp-lm darcorp-lm 1679/udp darcorp-lm DARcorp@aol.com microcom-sbp 1680/tcp "microcom-sbp " microcom-sbp 1680/udp "microcom-sbp " Boris B. Maiden Boris_Maiden@smtp.microcom.com sd-elmd 1681/tcp sd-elmd sd-elmd 1681/udp sd-elmd Bryan Otey bwo@softdesk.com lanyon-lantern 1682/tcp lanyon-lantern lanyon-lantern 1682/udp lanyon-lantern Robin Lewis robin.lewis@lanyon.com ncpm-hip 1683/tcp ncpm-hip ncpm-hip 1683/udp ncpm-hip Ken Hearn hearn@hpindacx.cup.hp.com snaresecure 1684/tcp SnareSecure snaresecure 1684/udp SnareSecure Marty Batchelder marty@capres.com n2nremote 1685/tcp n2nremote n2nremote 1685/udp n2nremote Kin Chan kchan@net2net.com cvmon 1686/tcp cvmon cvmon 1686/udp cvmon Carol Ann Krug carolann@hpmfas3.cup.hp.com 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 og@wsbgrd01.italy.hp.com firefox 1689/tcp firefox firefox 1689/udp firefox Mark S. Edwards marke@firefox.co.uk

ng-umds 1690/tcp ng-umds ng-umds 1690/udp ng-umds Louis E. Simard 76400.3371@compuserve.com empire-empuma 1691/tcp empire-empuma empire-empuma 1691/udp empire-empuma Bobby Krupczak rdk@empiretech.com sstsys-lm 1692/tcp sstsys-lm sstsys-lm 1692/udp sstsys-lm Yih-Wu Wang sstsys@ix.netcom.com 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 briggs@access.rrinc.com 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 braden@isi.edu mps-raft 1700/tcp mps-raft mps-raft 1700/udp mps-raft Jason Leupen Jleupen@aol.com l2f 1701/tcp l2f l2f 1701/udp l2f Andy Valencia vandys@vandys-lap.cisco.com deskshare 1702/tcp deskshare deskshare 1702/udp deskshare Sarah Thompson sarah@telergy.com hb-engine 1703/tcp hb-engine hb-engine 1703/udp hb-engine Charles C.L. Chou cchou@zoom.com bcs-broker 1704/tcp bcs-broker bcs-broker 1704/udp bcs-broker Andy Warner andyw@knoware.nl slingshot 1705/tcp slingshot slingshot 1705/udp slingshot Paul Groarke paulg@quay.ie jetform 1706/tcp jetform jetform 1706/udp jetform gdeinsta gdeinsta@jetform.com vdmplay 1707/tcp vdmplay vdmplay 1707/udp vdmplay Vadim Lebedev vadim@magic.fr gat-lmd 1708/tcp gat-lmd gat-lmd 1708/udp gat-lmd Igor Zaoutine igor@global-tech.com centra 1709/tcp centra centra 1709/udp centra Drew Wolff dwolff@centra.net impera 1710/tcp impera impera 1710/udp impera Kirmo Wilen kwilen@cst.fi # 1709-1943 Unassigned close-combat 1944/tcp close-combat close-combat 1944/udp close-combat David Hua dhua@microsoft.com

dialogic-elmd 1945/tcp dialogic-elmd dialogic-elmd 1945/udp dialogic-elmd Roger Kay r.kay@nz.dialogic.com tekpls 1946/tcp tekpls tekpls 1946/udp tekpls Brian Abramson brianab@vnd.tek.com hlserver 1947/tcp hlserver hlserver 1947/udp hlserver Michael Zzunke mzunke@fast-ag.de eye2eye 1948/tcp eye2eye eye2eye 1948/udp eye2eye Trevor Bell Trevor@iguana.iosoftware.com # 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 bob@sarad.cs.su.oz.au 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 bob@sarad.cs.su.oz.au 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

globe 2002/tcp globe 2002/udp "mailbox " 2004/tcp emce 2004/udp CCWS mm conf berknet2005/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 rellpack2018/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

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 kchapman@isis.com 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

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 zephyr-bugs@mit.edu ats 2201/tcp Advanced Training System Program ats 2201/udp Advanced Training System Program kali 2213/tcp Kali kali 2213/udp Kali Jay Cotton JAY@calc.vet.uga.edu 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 Thierry.Turletti@sophia.inria.fr ivsd 2241/tcp IVS Daemon ivsd 2241/udp IVS Daemon Thierry Turletti Thierry.Turletti@sophia.inria.fr pehelp 2307/tcp pehelp pehelp 2307/udp pehelp Jens Kilian jensk@hpbeo82.bbn.hp.com cvspserver 2401/tcp cvspserver cvspserver 2401/udp cvspserver Jim Kingdon kingdon@harvey.cyclic.com 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%etsuacad.bitnet@ETSUADMN.ETSU.EDU hp-3000-telnet 2564/tcp HP 3000 NS/VT block mode telnet tqdata 2700/tcp tqdata tqdata 2700/udp tqdata Al Guetzlaff aeg@teamquest.com 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 mzunke@fast-ag.de pctrader 3048/tcp Sierra Net PC Trader pctrader 3048/udp Sierra Net PC Trader Chris Hahn chrish@sierra.net NSWS 3049/tcp NSWS 3049/udp vmodem 3141/tcp VMODEM vmodem 3141/udp VMODEM Ray Gwinn p00321@psilink.com 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 moraros@via.enet.dec.com mapper-nodemgr 3984/tcp MAPPER network node manager

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 jch@unirsvl.rsvl.unisys.com bmap 3421/tcp Bull Apprise portmapper bmap 3421/udp Bull Apprise portmapper Jeremy Gilbert J.Gilbert@ma30.bull.com mira 3454/tcp Apple Remote Access Protocol Mike Alexander mta@um.cc.umich.edu prsvp 3455/tcp RSVP Port prsvp 3455/udp RSVP Port Bob Braden Braden@isi.edu vat 3456/tcp VAT default data vat 3456/udp VAT default data Van Jacobson van@ee.lbl.gov vat-control 3457/tcp VAT default control vat-control 3457/udp VAT default control Van Jacobson van@ee.lbl.gov udt_os 3900/tcp Unidata UDT OS udt_os 3900/udp Unidata UDT OS James Powell james@mailhost.unidata.com netcheque 4008/tcp NetCheque accounting netcheque 4008/udp NetCheque accounting B. Clifford Neuman bcn@isi.edu 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 markk@internic.net unicall 4343/tcp UNICALL unicall 4343/udp UNICALL James Powell james@enghp.unidata.comp krb524 4444/tcp KRB524 krb524 4444/udp KRB524 B. Clifford Neuman bcn@isi.edu nv-video 4444/tcp NV Video default nv-video 4444/udp NV Video default Ron Frederick frederick@parc.xerox.com 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 phoffman@proper.com 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 jon_thatcher@qm.claris.com

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 schulzrinne@fokus.gmd.de telelpathstart 5010/tcp TelepathStart telelpathstart 5010/udp TelepathStart telelpathattack 5011/tcp TelepathAttack telelpathattack 5011/udp TelepathAttack Helmuth Breitenfellner hbreitenf@vnet.imb.com mmcc 5050/tcp multimedia conference control tool mmcc 5050/udp multimedia conference control tool Steve Casner Casner@isi.edu rmonitor_secure 5145/tcp rmonitor_secure 5145/udp aol 5190/tcp America-Online aol 5190/udp America-Online Marty Lyons marty@aol.com 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 BAMackey@aol.com 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 seric@hposl102.cup.hp 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 gunner@ibeam.intel.com x11 6000-/tcp X Window System

x11 6000-/udp X Window System Stephen Gildea gildea@expo.lcs.mit.edu 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 sk@tleilaxu.sde.hp.com dtspcd 6112/tcp dtspcd dtspcd 6112/udp dtspcd Doug Royer Doug.Royer@eng.sun.com 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 massey@aspentec.com watershed-lm 6143/tcp Watershed License Manager watershed-lm 6143/udp Watershed License Manager David Ferrero david@zion.com 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 scott@statsci.com lonewolf-lm 6146/tcp Lone Wolf Systems License Manager lonewolf-lm 6146/udp Lone Wolf Systems License Manager Dan Klein dvk@lonewolf.com montage-lm 6147/tcp Montage License Manager montage-lm 6147/udp Montage License Manager Michael Ubell michael@montage.com ricardo-lm 6148/tcp Ricardo North America License Mana ger ricardo-lm 6148/udp Ricardo North America License Mana ger M Flemming mflemming@aol.com tal-pod 6149/tcp tal-pod tal-pod 6149/udp tal-pod Steven Loomis srl@taligent.com skip-cert-recv 6455/tcp SKIP Certificate Receive skip-cert-send 6456/tcp SKIP Certificate Send Tom Markson markson@osmosys.incog.com 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 CKramer@gis.shl.com acmsoda 6969/tcp acmsoda acmsoda 6969/udp acmsoda Daniel Simms dsimms@acm.uiuc.edu 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

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 hamill@dolphin.exide.com font-service 7100/tcp X Font Service font-service 7100/udp X Font Service Stephen Gildea gildea@expo.lcs.mit.edu virprot-lm 7121/tcp Virtual Prototypes License Manage r virprot-lm 7121/tcp Virtual Prototypes License Manage r Victor Galis galis@satchmo.virtualprototypes.ca fodms 7200/tcp FODMS FLIP fodms 7200/udp FODMS FLIP David Anthony anthony@power.amasd.anatcp.rockwell.com dlip 7201/tcp DLIP dlip 7201/udp DLIP Albert Manfredi manfredi@engr05.comsys.rockwell.com cbt 7777/tcp cbt cbt 7777/udp cbt Tony Ballardie A.Ballardie@cs.ucl.ac.uk npmp 8450/tcp npmp npmp 8450/udp npmp Ian Chard ian@tanagra.demon.co.uk cslistener 9000/tcp CSlistener cslistener 9000/udp Cslistener David Jones djones@cincom.com man 9535/tcp man 9535/udp sd 9876/tcp Session Director sd 9876/udp Session Director Van Jacobson van@ee.lbl.gov distinct32 9998/tcp Distinct32 distinct32 9998/udp Distinct32 distinct 9999/tcp distinct distinct 9999/udp distinct Anoop Tewari anoop@next.distinct.com isode-dua 17007/tcp isode-dua 17007/udp biimenu 18000/tcp Beckman Instruments, Inc. biimenu 18000/udp Beckman Instruments, Inc. R. L. Meyering RLMEYERING@BIIVAX.DP.BECKMAN.COM webphone 21845/tcp webphone webphone 21845/udp webphone info server 21846/tcp info server info server 21846/udp info server

connect server connect server icl-twobase1 icl-twobase1 icl-twobase2 icl-twobase2 icl-twobase3 icl-twobase3 icl-twobase4 icl-twobase4 icl-twobase5 icl-twobase5 icl-twobase6 icl-twobase6 icl-twobase7 icl-twobase7 icl-twobase8 icl-twobase8 icl-twobase9 icl-twobase9 icl-twobase10 icl-twobase10 dbbrowse dbbrowse

21847/tcp 21847/udp 25000/tcp 25000/udp 25001/tcp 25001/udp 25002/tcp 25002/udp 25003/tcp 25003/udp 25004/tcp 25004/udp 25005/tcp 25005/udp 25006/tcp 25006/udp 25007/tcp 25007/udp 25008/tcp 25008/udp 25009/tcp 25009/udp 47557/tcp 47557/udp

connect server connect server Shane D. Mattaway heidi@gate.net icl-twobase1 icl-twobase1 icl-twobase2 icl-twobase2 icl-twobase3 icl-twobase3 icl-twobase4 icl-twobase4 icl-twobase5 icl-twobase5 icl-twobase6 icl-twobase6 icl-twobase7 icl-twobase7 icl-twobase8 icl-twobase8 icl-twobase9 icl-twobase9 icl-twobase10 icl-twobase10 J. A. (Tony) Sever J.A.Sever@bra0119.wins.icl.co.uk Databeam Corporation Databeam Corporation Cindy Martin cmartin@databeam.com