30 outubro 2008

Utilitários de Redes

No windows existem alguns utilitários de rede disponíveis através da janela DOS. Os utilitários que serão vistos neste post são programas que usam a linha de comando e são baseados em programas originados do unix, com a mesma função. Os utilitários mostrados são idênticos aos do Unix com excessão do traceroute que no windows tem o nome de tracert devido a limitaçào antiga de 8 caracteres para nomes de programas do DOS.

 
O utilitário ping

O utilitário ping (analogia com o jogo de ping-pong) serve para verificar a resposta de um outro servidor na rede até a camada de rede. O ping envia pacotes ICMP (Internet Control Message Protocol) requisitando uma resposta do servidor remoto. A resposta do servidor normalmente é o mesmo pacote enviado. Ou seja, a máquina remota simplesmente devolve os dados que ela recebeu. O objetivo é testar se além da rede estar funcionando corretamente até a camada de rede, a mesma não está fazendo nenhuma tradução nos bytes enviados.

A sintaxe básica do ping é (gerada pelo próprio ping!):

Uso: ping [-t] [-a] [-n num] [-l tamanho] [-f] [-i TTL] [-v TOS]
[-r num] [-s num] [[-j lista_hosts] | [-k lista_hosts]]
[-w tempo_limite] lista_destino

Opções:
-t Dispara contra o host especificado até ser interrompido.
Para ver estatísticas e continuar, pressione CTRL-Break;
para terminar, pressione CRTL-C.
-a Resolve endereços para nomes de host.
-n num Número de requisições de eco a enviar. O valor padrão é 4.
-l tamanho Envia o tamanho do buffer.
-f Ativa o sinalizador de não-fragmentação no pacote.
-i TTL Define o tempo de vida.
-v TOS Define o tipo de serviço.
-r num Rota dos pacotes para <num> saltos.
-s num Data e hora para <num> saltos.
-j lista_hosts Rota ampliada de origens definida em <lista_hosts>.
-k lista_hosts Rota restrita de origens definida em <lista_hosts>.
-w tempo_limite Tempo limite em milissegundos


Essa sintaxe varia um pouco para o unix. Experimente executar o ping apontando-o para um endereço conhecido. Tente pingar a máquina servidora de WWW da Embratel (www.embratel.net.br). Veja abaixo um exemplo da saída de um ping para este endereço:



C:\WINDOWS>ping www.embratel.net.br

Disparando contra www.embratel.net.br [200.255.125.213] com 32 bytes de dados:

Resposta de 200.255.125.213:bytes=32 tempo=28ms Tempo de vida=245
Resposta de 200.255.125.213:bytes=32 tempo=14ms Tempo de vida=245
Resposta de 200.255.125.213:bytes=32 tempo=27ms Tempo de vida=245
Resposta de 200.255.125.213:bytes=32 tempo=27ms Tempo de vida=245

Estatísticas do Ping para 200.255.125.213:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Tempos aproximados de ida e volta em milissegundos:
Mínimo = 14ms, Máximo = 28ms, Média = 24ms


O ping mostra uma série de informações interessantes, como por exemplo, o endereço IP de destino, a quantidade de bytes enviados, o tempo de resposta de cada pacote e o TTL (Time To Live ou Tempo de Vida) do pacote. O ping default do windows sempre manda 4 pacotes, no unix, ao contrário o ping funciona indefinidamente até o usuário cancelar com control-C.



Agora, use o comando ping para pingar os diversos servidores abaixo:




  1. Yahoo: www.yahoo.com


  2. Moseu do Louvre: www.louvre.fr


  3. Casa Branca: www.whitehouse.gov


O (TTL) Time To Live é um campo do pacote IP e é utilizado para limitar o número de roteadores por onde um determinado pacote pode passar. Cada roteador por onde um determinado pacote IP trafega decrementa o número do campo TTL antes de passá-lo para frente. Se o valor do campo TTL chegar a zero, o roteador não envia mais o pacote IP, e sim um outro pacote ICMP para a origem avisando que o pacote IP original teve o seu TTL=0 e por isso não pôde ser mais transmitido.

Esse mecanismo serve para evitar que em uma rede mal configurada e com algum loop de endereçamento, a quantidade de pacotes trafegada estoure a capacidade da rede por causa de retransmissões entre os mesmos roteadores. Por exemplo, se do ponto A os pacotes IP são roteados para o ponto B, e do ponto B (por causa de um erro) são roteados de volta para o ponto A, um pacote IP poderia ficar indo e voltando indefinidamente se não possuísse o mecanismo do TTL.



 


O utilitário traceroute


O utilitário traceroute serve para nos mostrar por onde um pacote IP trafega quando é enviado. Esse utilitário é tão útil quanto o ping e no windows está disponível com o nome de tracert.



A sintaxe do tracert no windows é:



Uso: tracert [-d] [-h nmax_saltos] [-j lst_hosts] [-w tempo_limite] destino

Opções:
-d Não resolver endereços para nomes de hosts.
-h nmax_saltos Número máximo de saltos para a procura do destino.
-j lst_hosts Rota ampliada de origens usada com a lista lst_hosts.
-w tempo_limite Tempo de espera em milissegundos para cada resposta.


Não existe nenhum mecanismo disponível nos roteadores para informar o trajeto de um pacote IP pela Internet. Mas sem usar nenhum artifício adicional, o autor do traceroute conseguiu fazer este programa muito bem bolado. Ele aproveitou o campo TTL do pacote IP para transmitir pacotes com TTL a partir de 1 até alcançar o destino. Assim, cada vez que um pacote "morre" no caminho até o destino, o traceroute é avisado e assim consegue traçar a rota.



Veja um exemplo de saída de um traceroute para o endereço www.sdsc.edu:



C:\WINDOWS>tracert www.sdsc.edu

Rastreando a rota para www.sdsc.edu [198.202.75.101]
com no máximo 30 saltos:

1 <10 ms <10 ms <10 ms tebas.i2.com.br [200.238.196.62]
2 2 ms 2 ms 1 ms hardwick.i2.com.br [200.238.196.97]
3 194 ms 148 ms 210 ms i2-gw.pop-mg.rnp.br [200.17.183.49]
4 473 ms 561 ms 666 ms arrozdoce.pop-mg.com.br [200.236.165.199]
5 416 ms * 156 ms casadinho-a3.pop-mg.rnp.br [200.17.183.209]
6 234 ms 198 ms 362 ms bb2.pop-mg.rnp.br [200.131.1.1]
7 1080 ms 1093 ms 939 ms border1-serial2-2.NewYork.cw.net [204.70.44.101]
8 1032 ms 1167 ms 1161 ms core1-fddi-0.NewYork.cw.net [204.70.2.17]
9 1914 ms 2432 ms 2190 ms core1-hssi-3.WestOrange.cw.net [204.70.10.14]
10 1342 ms 1198 ms 891 ms 204.70.10.145
11 872 ms 857 ms 932 ms atm5-0-1.nyc-bb9.cerf.net [134.24.32.161]
12 700 ms * 985 ms pos3-0-622M.nyc-bb8.cerf.net [134.24.33.158]
13 601 ms 619 ms 850 ms pos5-0-622M.chi-bb4.cerf.net [134.24.32.213]
14 1040 ms 964 ms 912 ms so4-0-0-622M.dfw-bb2.cerf.net [134.24.46.81]
15 1057 ms 1148 ms 1287 ms pos2-0-622M.lax-bb4.cerf.net [134.24.29.77]
16 683 ms 673 ms 687 ms atm1-0-2-622M.san-bb6.cerf.net [134.24.32.61]
17 * 630 ms 656 ms pos10-0-0-155M.san-bb1.cerf.net [134.24.29.129]
18 655 ms 628 ms 633 ms sdsc-gw.san-bb1.cerf.net [134.24.12.26]
19 666 ms 708 ms 643 ms medusa-atm.sdsc.edu [192.12.207.10]
20 770 ms 631 ms 690 ms www.sdsc.edu [198.202.75.101]

Rastreamento completo.


A saída do traceroute indica para cada HOP (ponto de roteamento do pacote IP), o tempo de três pacotes enviados e o endereço do roteador correspondente. Montando a sequência de 1 até o final, podemos ver por onde o pacote IP foi roteado até o destino.



O traceroute funciona enviando sucessivos pacotes IP de ping com o valor do TTL iniciando em 1 e aumentando até o ping ser respondido pelo destino. Isso faz com que o pacote IP "morra" cada vez mais longe da origem. Para cada vez que o TTL chega a zero (o pacote "morre"), o roteador onde isso ocorreu envia um pacote ICMP para a origem. Desta forma a origem tem como saber qual é o endereço do roteador onde o pacote IP morreu e consequentemente a rota dele até o destino!



Execute traceroute para cada um dos endereços abaixo e veja qual é a rota traçada.




  1. Museu do Louvre: www.louvre.fr


  2. Yahoo do Japão: www.yahoo.co.jp


  3. Sis de Taiwan: www.sis.com.tw


  4. IBGE: www.ibge.gov.br



Veja abaixo um exemplo de saída de traceroute em uma rede mal configurada ou com problemas de rota. Os pacotes ficam trafegando entre os IPs 200.192.56.163 e 200.192.56.161. O traceroute tem um limite de 30 rotas por default. Se qualquer rota ultrapassar este limite, o programa termina, mas isso pode ser alterado.



traceroute to 200.190.226.221 (200.190.226.221), 30 hops max, 40 byte packets
1 ithaca.i2.com.br (200.238.196.17) 0.892 ms 0.88 ms 0.836 ms
2 i2-gw.pop-mg.rnp.br (200.17.183.49) 9.694 ms 9.805 ms 72.695 ms
3 arrozdoce.pop-mg.com.br (200.236.165.199) 47.173 ms 57.568 ms 9.666 ms
4 casadinho-a3.pop-mg.rnp.br (200.17.183.209) 35.299 ms 29.25 ms 14.784 ms
5 pop-mg-rnp-br-S3-7-acc01.bhe.embratel.net.br (200.251.254.73) 30.479 ms 47.494 ms 32.554 ms
6 ebt-F5-0-dist01.bhe.embratel.net.br (200.255.153.66) 46.537 ms 47.471 ms 48.432 ms
7 netstream-S3-0-dist01.bhe.embratel.net.br (200.251.12.50) 1201.36 ms 226.436 ms netstream-S3-1-dist01.bhe.embratel.net.br (200.251.12.54) 293.001 ms
8 200.192.56.163 (200.192.56.163) 294.807 ms 1316.43 ms 171.37 ms
9 200.192.56.161 (200.192.56.161) 157.437 ms 66.189 ms 82.82 ms
10 200.192.56.163 (200.192.56.163) 1263.75 ms 879.158 ms 180.572 ms
11 200.192.56.161 (200.192.56.161) 147.899 ms 80.226 ms 148.109 ms
12 200.192.56.163 (200.192.56.163) 190.791 ms 1760.4 ms 152.392 ms
13 200.192.56.161 (200.192.56.161) 97.871 ms 130.071 ms 216.73 ms
14 200.192.56.163 (200.192.56.163) 193.109 ms 109.728 ms 132.562 ms
15 200.192.56.161 (200.192.56.161) 119.146 ms 132.605 ms 104.369 ms
16 200.192.56.163 (200.192.56.163) 239.958 ms 139.003 ms 125.818 ms
17 200.192.56.161 (200.192.56.161) 77.857 ms 107.275 ms 163.703 ms
18 200.192.56.163 (200.192.56.163) 170.308 ms 96.406 ms 90.269 ms
19 200.192.56.161 (200.192.56.161) 154.676 ms 61.096 ms 179.464 ms
20 200.192.56.163 (200.192.56.163) 196.048 ms 150.234 ms 144.485 ms
21 200.192.56.161 (200.192.56.161) 111.255 ms 75.791 ms 108.033 ms
22 200.192.56.163 (200.192.56.163) 98.99 ms 294.196 ms 298.766 ms
23 200.192.56.161 (200.192.56.161) 148.568 ms 147.442 ms 119.248 ms
24 200.192.56.163 (200.192.56.163) 233.132 ms 232.526 ms 213.243 ms
25 200.192.56.161 (200.192.56.161) 101.576 ms 101.769 ms 147.615 ms
26 200.192.56.163 (200.192.56.163) 148.876 ms 189.746 ms 259.251 ms
27 200.192.56.161 (200.192.56.161) 74.61 ms 130.222 ms 1652.72 ms
28 200.192.56.163 (200.192.56.163) 233.248 ms 161.242 ms 146.573 ms
29 200.192.56.161 (200.192.56.161) 143.745 ms 131.513 ms 122.557 ms
30 200.192.56.163 (200.192.56.163) 144.07 ms 165.208 ms 182.307 ms


O utilitário nslookup


O utilitário nslookup serve para traduzir nomes de domínio para os números IP correspondentes. Este utilitário consulta os servidores de DNS (Domain Name Service) espalhados na Internet para resolver uma consulta e descobrir o endereço.



O nslookup ao contrário dos outros utilitários vistos até agora, oferece um prompt para o usuário digitar nomes de domínios para consulta. Veja abaixo um exemplo de execução do nslookup:



atlanta:/home/i2/rora-> nslookup
Default Server: i2.com.br
Address: 200.238.196.1

> www.pucmg.br.
Server: i2.com.br
Address: 200.238.196.1

Non-authoritative answer:
Name: www.pucminas.br
Address: 200.236.177.1
Aliases: www.pucmg.br

> set type=mx
> flag.com.br.
Server: i2.com.br
Address: 200.238.196.1

Non-authoritative answer:
flag.com.br preference = 10, mail exchanger = flagnt03.flag.com.br

Authoritative answers can be found from:
flag.com.br nameserver = flagnt03.flag.com.br
flag.com.br nameserver = flagwall.flag.com.br
flagnt03.flag.com.br internet address = 200.202.246.204
flagwall.flag.com.br internet address = 200.202.246.205
> set type=a
> www.cade.com.br.
Server: i2.com.br
Address: 200.238.196.1

Non-authoritative answer:
Name: www.cade.com.br
Addresses: 200.244.143.187, 200.244.143.143, 200.244.143.149, 200.244.143.145
200.244.143.148, 200.244.143.141, 200.244.143.142, 200.244.143.147, 200.244.143.1
46
200.244.143.140

>


O que foi digitado pelo usuário está em negrito. Note que além dos domínios, existem alguns comandos disponíveis no nslookup (set type=). Quando os domínios são seguidos de um ponto, nslookup interpreta como domínios completos. É possível especificar somente um nome de uma máquina e o programa busca pelo seu endereço IP dentro da própria rede.



Use o comando help para ter acesso aos demais comandos do nslookup. Veja a saída de um help do nslookup no unix:



> help
$Id: nslookup.help,v 8.4 1996/10/25 18:09:41 vixie Exp $

Commands: (identifiers are shown in uppercase, [] means optional)
NAME - print info about the host/domain NAME using default server
NAME1 NAME2 - as above, but use NAME2 as server
help or ? - print info on common commands; see nslookup(1) for details
set OPTION - set an option
all - print options, current server and host
[no]debug - print debugging information
[no]d2 - print exhaustive debugging information
[no]defname - append domain name to each query
[no]recurse - ask for recursive answer to query
[no]vc - always use a virtual circuit
domain=NAME - set default domain name to NAME
srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc.
root=NAME - set root server to NAME
retry=X - set number of retries to X
timeout=X - set initial time-out interval to X seconds
querytype=X - set query type, e.g., A,ANYÇNAME,HINFO,MX,PX,NS,PTR,SOA,TXT,WKS,SRV,NAPT
R
port=X - set port number to send query on
type=X - synonym for querytype
class=X - set query class to one of IN (Internet), CHAOS, HESIOD or ANY
server NAME - set default server to NAME, using current default server
lserver NAME - set default server to NAME, using initial server
finger [USER] - finger the optional USER at the current default host
root - set current default server to the root
ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE)
-a - list canonical names and aliases
-h - list HINFO (CPU type and operating system)
-s - list well-known services
-d - list all records
-t TYPE - list records of the given type (e.g., AÇNAME,MX, etc.)
view FILE - sort an 'ls' output file and view it with more
exit - exit the program, ^D also exits
>


Descubra os endereços IP das máquinas que podem receber e-mail das seguintes empresas:




  1. Maxitel (no Brasil)


  2. Transmeta (nos USA)


  3. British Telecom da Espanha (www.bt.es)



O utilitário netstat


O netstat serve para mostrar as conexões ativas atualmente com a máquina em questão. Ele lista na tela todas as conexões TCP/IP em andamento. Além disso existe uma opção para mostrar o conteúdo da tabela de roteamento. Veja abaixo a sintaxe do netstat do windows:



Exibir estatísticas de protocolo e conexões de rede TCP/IP atuais.

NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [intervalo]

-a Exibe todas as conexões e portas de escuta.
-e Exibe estatísticas Ethernet. Isso pode ser combinado à
opção -s.
-n Exibe endereços e números de porta em formato numérico.
-p proto Exibe conexões para o protocolo especificado por proto; proto
pode ser tcp ou udp. Se usado com a opção -s para exibir
estatísticas por protocolo, proto pode ser tcp, udp ou ip.
-r Exibe o conteúdo da tabela de roteamento.
-s Exibe estatísticas por protocolo. Por padrão, as estatísticas
são mostradas para TCP, UDP e IP; a opção -p pode ser usada
para especificar um subconjunto do padrão.
intervalo Exibe novamente uma estatística selecionada, fazendo pausas de
intervalos de segundos entre cada tela. Pressione CTRL+C para
interromper a nova exibição das estatísticas. Caso omitido,
netstat imprimirá as informações de configuração uma vez.


Use o netstat para mostrar todas as conexões e portas de escuta da sua máquina (LISTENING). A saída é mostrada em 4 colunas. Na primeira está o protocolo, na segunda o endereço da conexão na porta local. A terceira coluna mostra o endereço na máquina remota (o endereço da máquina e a porta TCP da conexão) e a quarta coluna mostra o estado da conexão (ESTABLISHED, LISTENING, CLOSE_WAIT, etc).



Use a opção -r para mostrar o conteúdo da tabela de roteamento da sua estação. Essa tabela mostra para qual endereço cada pacote deve ser enviado em função do seu endereço IP. Desta forma, a máquina garante que o pacote será entregue para a máquina de destino corretamente.




 


Utilitários WINIPCFG e IPCONFIG


No windows existem dois aplicativos utilizados para informar a configuração atual de rede da máquina. O primeiro é o IPCONFIG disponível na linha de comando do windows NT, 95 e 98. No Windows 95 ou 98, existe também um outro utilitário chamado WINIPCFG que tem uma interface gráfica (este último não está disponível em NT).



Veja abaixo a tela do programa WINIPCFG disponível somente no windows 95 e 98 (Mais existe alguns programas desenvolvido para Windows XP):








winipcfg1



No windows NT, somente o IPCONFIG está disponível. Veja abaixo um exemplo de saída um IPCONFIG:



X:\>ipconfig /all

Configuração de IP do Windows NT

Nome do host . . . . . . . . . . : cairo.i2.com.br
Servidores DNS . . . . . . . . . : 200.238.196.49
200.238.196.1
200.131.1.51
Tipo de nó . . . . . . . . . . . : Híbrida
Identificador de escopo NetBIOS. :
Roteamento de IP ativado . . . . : Não
Proxy WINS ativado . . . . . . . : Não
Resolução NetBIOS usa DNS. . . . : Sim

Ethernet adaptador PGPMacMP5:

Descrição. . . . . . . . . . . . : Novell 2000 Adapter.
Endereço físico. . . . . . . . . : 00-00-B4-9E-45-6C
DHCP ativado . . . . . . . . . . : Não
Endereço IP. . . . . . . . . . . : 200.238.196.50
Máscara de sub-rede. . . . . . . : 255.255.255.224
Gateway padrão . . . . . . . . . : 200.238.196.33
Servidor WINS primário . . . . . : 200.238.196.49

Ethernet adaptador NdisWan4:

Descrição. . . . . . . . . . . . : NdisWan Adapter
Endereço físico. . . . . . . . . : 00-00-00-00-00-00
DHCP ativado . . . . . . . . . . : Não
Endereço IP. . . . . . . . . . . : 0.0.0.0
Máscara de sub-rede. . . . . . . : 0.0.0.0
Gateway padrão . . . . . . . . . :


Siglas:




  1. DHCP: dinamic host configuration protocol - um protocolo de configuração automático para parâmetros de rede (IP, DNS, gateway, etc) cujo objetivo é reduzir o tempo e o trabalho para configurar um grande número de máquinas


  2. DNS: domain name service - serviço de tradução de nomes para IP disponível na Internet


  3. NetBIOS: network basic input output system - uma API para aplicações de usuários enviarem e receberem diretivas de controle de I/O de uma forma geral em uma rede local


  4. WINS: windows internet naming service - é um serviço de tradução de nomes (como o DNS) sobre NetBIOS





Fonte: Anonimo

28 outubro 2008

Cores Personalizadas no Linux

Caros Amigos Leitores,

Muitos usuários e administadores de servidores LINUX, não sabem ou não conseguem diferenciar as cores apresentadas em um simples comando ls aplicada no prompt de comando. Neste post vou descrever as cores utilizadas pelo BASH (BOURNE AGAIN SHELL). Nele, temos padronizados o seguinte perfil de cores:

• Amarelo: dispositivos do sistema (devices);
• Azul: diretórios (seguidos pelo caracter “/”);
• Azul ciano: atalhos simbólicos (links);
• Cinza: arquivos diversos ou desconhecidos;
• Magenta: arquivos de imagens bitmaps (JPEG, GIF, PNG, etc.);
• Verde: arquivos executáveis (arquivos de lote e binários);5
• Vermelho: arquivos compactados (inclusive pacotes de instalação).

Vale lembrar que, dependendo tanto dos atributos específicos dos arquivos, quanto das configurações utilizadas no terminal, muitos poderão ter cores diferentes dos padrões acima citados. É o caso de arquivos com atributos para execução (flag x), que aparecem com a cor verde no vídeo, seja uma imagem, um arquivo compactado, etc.

Até o próximo post…

24 outubro 2008

Linux é oportunidade de carreira, confirma estudo da Microsoft

O Linux pode ser mais barato num primeiro momento, mas Windows e Linux oferecem basicamente o mesmo Custo de Propriedade (“TCO”) ao longo do tempo, enquanto usados em um grande número de micros nas escolas dos países emergentes. São algumas das conclusões de um estudo publicado recentemente, patrocinado pela Microsoft e feito pela de consultoria Vital Wave.

O estudo em questão tem 34 páginas e discorre sobre as vantagens e necessidades de aumentar a quantidade de computadores nas escolas dos países mais pobres e faz uma análise de quanto isto custaria.

O Custo de Propriedade (TCO) foi avaliado levando em conta o preço dos estudos, o capital para aquisição e instalação dos equipamentos, os custos recorrentes e o que o estudo chama de “custos ocultos”.

Este último ítem é composto por despesas não previstas ou avaliadas incorretamente durante a compra inicial, e que inclui, entre outros itens, o alto custo da eletricidade, a corrupção, o vandalismo e os roubos, infelizmente tão comuns nos países em desenvolvimento.

No final, o estudo chega à conclusão (vide gráfico ao lado) de que o custo de propriedade de um micro escolar usado durante 5 anos fica em torno de 2 a 3 mil dólares, dependendo do tipo de micro, ou seja, dos mais simples aos mais poderosos.

O sobrepreço do Linux: falta de qualificação profissional aumenta o custo do sistema operacional.

Profissionais de TI treinados são raros em muitos países em desenvolvimento. Isto é verdadeiro especialmente para quem procura técnicos treinados no sistema operacional Linux. Esta raridade acaba se traduzindo em maiores salários. Os dados disponíveis sobre os custos de empregar profissionais treinados em Linux e em Microsoft indicam que tanto nos países emergentes quanto nos desenvolvidos os profissionais especializados em Linux recebem os salários mais altos.

As pesquisas salariais feitas nos Estados Unidos, Inglaterra e Austrália mostram que os profissionais certificados em Linux ganham entre 10 a 20% mais do que seus parceiros especializados em Microsoft. O site da Red Hat Linux na Índia, inclusive, enfatiza o fato de que os profissionais certificados em Red Hat ganham até 30% a mais do que seus parceriso certificados em Windows.

A International Telecommunications Union e a UNESCO notam que existe falta de profissionais treinados em Linux e/ou com familiaridade com o Linux. Esta falta está inibindo ou retardando o uso produtivo do Linux nos países em desenvolvimento.

Em suma...

A briga Linux versus Windows está longe de acabar. Apesar da sedução oferecida pelo Windows, o Linux avança a passos firmes. Quem começa a usar o Linux em suas empresas ou organizações dificilmente o abandona, abrindo uma excelente oportunidade profissional para a juventude brasileira. Não obstante, os planos do governo Lula em enfatizar o uso do Linux aparentemente foram um fracasso.

Nos concursos públicos atuais se exige conhecimento do sistema Office da Microsoft, e só alguns órgãos exigem (pouco) conhecimento do Linux.
Nas empresas brasileiras, entretanto, o Linux é uma realidade concreta e oferece um excelente campo de trabalho.

• Veja este artigo na íntegra, com link para baixar o estudo original:
Windows versus Linux: mesmo Custo de Propriedade em países emergentes, segundo a Microsoft

fonte: Revista PNP - Revista Pnp

14 outubro 2008

Como reinstalar ou restaurar o GRUB

Quando temos múltiplos sistemas operacionais em um mesmo computador, podemos nos encontrar na situação de termos que restaurar o gerenciador de boot. O gerenciador de boot mais comum hoje em dia, e também o mais moderno, é o GRUB (Grand Unified Bootloader).

A instalação ou reinstalação do Grub costumava ser simples, e já foi tratada na Dicas-L em outras oportunidades. Entretanto, com o aparecimento do udev, o procedimento ficou um pouco mais complexo, mas ainda assim simples.

Precisamos de um CD bootavel, o Ubuntu Live CD pode ser um candidato.

Montamos em seguir a partição linux onde se encontra o nosso diretório raiz ("/"):

  # mkdir /media/mnt
# mount /dev/sda1 /media/mnt/
# mount -o bind /dev/ /media/mnt/dev


Isto feito, usamos o comando chroot para entrarmos no ambiente do sistema.



  # chroot /media/mnt


Em seguida, podemos fazer a recuperação do grub:



grub-install /dev/sda





fonte: Rubens Queiroz de Almeida - http://www.dicas-l.com.br

Backup com rsync

Em tempos de espaço em disco muito barato, o backup diretamente no disco rígido de uma outra máquina deixou de ser uma alternativa inviável.

Para isto nada melhor do que o insubstituível rsync (http://http://samba.anu.edu.au/rsync/).

O script é bem simples:

sync.sh

=======

#!/bin/bash

cd /backup

rsync -avzlH -e ssh --exclude '/tmp/*' \

--exclude '/proc/*' \

--exclude '/sys/*' \

--exclude '/dev/*' \

--exclude '/backup/*' \

--delete \

Este script faz o backup de todo o conteúdo do servidor (dados, aplicativos e configurações), em um diretório local chamado /backup.

As opções utilizadas são:

| **-a** | //archive//, o comando rsync é instruido a preservar quase tudo, com exceção dos //hard links// |

| **-H** | preservar os //hard links//. Se usarmos o ``pdumpfs`` para os backups, esta opção deve obrigatoriamente estar ativada, pois o comando ``pdumpfs`` trabalha por meio deste tipo de links |

| **-e ssh** | usar o comando ``ssh`` para estabelecer a comunicação com o computador remoto |

| **--delete** | apagar, do servidor que estiver recebendo os dados, as informações que não mais existirem no servidor remoto |

| **--exclude** | não copiar arquivos cujo nome coincida com o especificado |

Veja que alguns diretórios foram excluídos (/tmp, /proc, /sys, /dev, /backup) do backup. A opção --delete indica que arquivos que foram removidos do servidor original, devem ser também removidos da cópia local de backup.

É importante salientar que este script reflete a posição do dia do servidor remoto. Com este tipo de backup você não conseguirá recuperar a posição de um determinado dia. Uma ótima alternativa para se fazer backup em disco, mantendo a posição de diversos dias ou semanas, é o comando pdumpfs (http://namazu.org/~satoru/pdumpfs/), descrito em uma dica anterior (http://sixsideweb.blogspot.com/2008/10/backup-com-o-utilitrio-pdumpfs.html).

fonte: Rubens Queiroz de Almeida - http://www.dicas-l.com.br

Backup com o utilitário pdumpfs

O backup de sistemas diretamente em discos rígidos, principalmente nesta época de tanta fartura em espaço de armazenamento, é uma alternativa cada vez mais atraente.

O utilitário pdumpfs, através do uso inteligente de hard links, permite que se mantenham backups com visões diárias. O comando

  # pdumpfs /home /backup/home


irá criar uma estrutura de diretórios do tipo



  2005/09/01/home
2005/09/02/home
2005/09/03/home
2005/09/04/home


Em 2005/09/01/home temos o backup inicial, com a cópia integral da partição home. Em 2005/09/02/home aparentemente temos o mesmo conteúdo, porém o que acontece na realidade é que foram criados hard links para os arquivos que não mudaram do dia 1 para o dia 2 de setembro. Diariamente são copiados para os diretórios respectivos ao dia apenas os arquivos que foram criados ou alterados. Para os demais arquivos são criados hard links. Desta forma, enquanto o espaço em disco permitir, podemos manter backups da imagem de diversos dias, meses, ou até mesmo anos.



Em um sistema que mantenho, eu faço o backup do sistema inteiro em uma partição e faço a cópia, via rsync, para uma máquina remota. Desta forma tenho um backup no próprio sistema, que me permite recuperar qualquer arquivo em questão de minutos e uma outra cópia de segurança armazenada remotamente. Note bem que o comando rsync deve levar em conta os hard links criados, caso contrário o comando interpretará cada uma das imagens diárias isoladamente, esgotando rapidamente o espaço em disco disponível no sistema remoto. Caso você não disponha de um sistema remoto para armazenar uma cópia extra dos backups, certifique-se de, ao menos, realizar o backup em um HD separado do HD onde se encontra o sistema original.



Para usar o rsync nesta situação, utilize a flag -H, para que os hardlinks sejam preservados durante a cópia dos arquivos:



  rsync -avz -e ssh -H /backup root@www.example.com:/backup


Com o comando acima, os arquivos serão transportados em forma compactada (flag -z), utilizando comunicação segura (ssh), preservando os hardlinks (flag -H).



O software pdumpfs foi escrito por Satoru Takabayashi e sua última versão sempre pode ser encontrada em http://namazu.org/~satoru/pdumpfs/





fonte: Rubens Queiroz de Almeida - http://www.dicas-l.com.br/

Feliz Aniversário, Projeto GNU

Caros amigos leitores,

No exemplar desta semana da lista newletter (http://www.fsf.org/free-software-supporter), e que traz mensalmente notícias sobre o software livre e o projeto GNU, veiculou-se um anuncio de um filme chamado "Happy Birthday to GNU", narrado pelo ator Stephen Fry. O filme, que já foi visto por mais de meio milhão de pessoas, está disponível em 25 idiomas e pode ser visto ou baixado em http://ma.tt/dropbox/2008/09/gnu

Não deixe de assitir é muito interessante.

Um abraço, e até o próximo post....

13 outubro 2008

Fazendo coisas diferentes com ssh

O comando ssh (http://www.openssh.com/), ou secure shell provê uma forma segura, criptografada, para fazer a comunicação entre computadores.

Na maior parte das vezes usamos o ssh para fazermos o login em uma máquina remota para nela trabalharmos. Entretanto, existem outras formas de uso do ssh, que podem nos economizar muito tempo.

Um recurso bastante útil é utilizar o ssh para executar algum comando

remotamente:

ssh usuario@www.exemplo.com "/home/usuario/bin/send.sh"

O comando acima irá estabelecer uma conexão com a máquina //www.exemplo.com// e executar o comando /home/usuario/bin/send.sh.

Uma outra possibilidade interessante é utilizar a compactação. Para quem não possui internet rápida, e usa linha discada, a compactação serve para aliviar um pouco a agonia :-)

Para ativar a compactação de dados, invoque o comando ssh com a flag -C:

% ssh -C -v www.example.com

Ao encerrarmos a sessão, o ssh exibe na tela as estatísticas de compactação de sua conexão:

$ logout

debug1: client_input_channel_req: channel 0 rtype exit-status reply 0

debug1: channel 0: free: client-session, nchannels 1

Connection to www.example.com closed.

Transferred: sent 2032, received 2536 bytes, in 19.3 seconds

Bytes per second: sent 105.5, received 131.7

debug1: Exit status 0

debug1: compress outgoing: raw data 430, compressed 275, factor 0.64

debug1: compress incoming: raw data 709, compressed 467, factor 0.66

fonte: Rubens Queiroz de Almeida - http://www.Dicas-L.com.br

Centralizando logs de dispositivos CISCO com o Syslog-ng

Com o syslog-ng é possível receber logs de outros dispositivos e arquivá-los em arquivos separados, ajudando na centralização de dados e consequentamente na administração da rede. (O syslog também permite receber logs de outros dispositivos/computadores, porém ele não é muito flexível em comparação ao syslog-ng, o que acaba dificultando na coleta de informações)

Abaixo segue a configuração do cisco e do syslog-ng ( Muito simples )

Configurando o dispositivo Cisco

# configure terminal

(config)# logging xx.xx.xx.xx ( onde o x é o ip da máquina Linux que receberá os logs )

Configurando o Syslog-ng

Edite o arquivo /etc/syslog-ng.conf e inclua as seguintes informações. Em algumas distribuições ele pode ficar em /etc/syslog-ng/syslog-ng.conf

# Configurando a origem das informações

# Troque o xx pelo ip do dispositivo cisco

source cisco1721 { udp(ip(xx.xx.xx.xx) port(514)); };

# Onde os logs serão armazenados

destination d_log_cisco { file("/var/log/cisco.log"); };

# Aplicando filtros nos logs

filter f_cisco_info { level(info); };

filter f_cisco_notice { level(notice); };

filter f_cisco_warn { level(warn); };

filter f_cisco_crit { level(crit); };

filter f_cisco_err { level(err); };

# Origem, filtro, destino

log { source(cisco1721); filter(f_cisco_info); destination(d_log_cisco); };

log { source(cisco1721); filter(f_cisco_notice); destination(d_log_cisco); };

log { source(cisco1721); filter(f_cisco_warn); destination(d_log_cisco); };

log { source(cisco1721); filter(f_cisco_crit); destination(d_log_cisco); };

log { source(cisco1721); filter(f_cisco_err); destination(d_log_cisco); };

#EOF

Pronto, dessa forma todos os eventos no dispositivo Cisco serão enviados ao Linux. Isso permite criar uma política de segurança onde todos os logs são armazenados em um computador central e que em casos de comprometimento de algum dispositivo, você ainda terá como identificar o invasor, exceto nos casos em que ele também comprometer a máquina de log's =)

fonte: André Luiz Facina - http://www.Dicas-L.com.br/