Mostrando postagens com marcador dicas. Mostrar todas as postagens
Mostrando postagens com marcador dicas. Mostrar todas as postagens

iperf - medindo a performance da sua rede


Introdução:
O iperf é um comando que permite mensurar de forma simples e direta a taxa de transmissão da sua rede.
São necessários dois computadores, um operando em modo servidor e outro em modo cliente.

Instalação:
O programa está disponível na forma de pacotes para as distribuições Debian e Ubuntu (e possivelmente para as distros da família Red Hat, como Cent OS e Fedora), bastando utilizar o comando
apt-get install iperf
Sintaxe:
iperf [opções]

Resumo das principais opções (para todas as outras, veja a página de manual - man iperf)

-p define a porta de trabalho ao invés da porta padrão (5001).

-u Envia pacotes UDP ao invés de TCP (ambas as máquinas precisam trabalhar com o mesmo tipo de pacotes)

-f X
Define a unidade a ser exibida, onde pode ser:
k: kbits
m: megabits
K: KBytes
M: MBytes

-m Exibe o MTU do segmento

-C permite que cliente e servidor sejam de versões diferentes (modo de compatibilidade)

Opções específicas do modo cliente
-c Executa em modo cliente

Opções específicas do modo servidor
-s Executa em modo servidor

Uso:
Para utilizar, basta executar o programa no modo servidor em uma máquina:

e na outra em modo cliente (informando o endereço IP da máquina servidora):

O teste dura aproximadamente 10 segundos. Durante esse tempo, o programa tenta enviar a maior quantidade de bytes possíveis, e exibe um relatório como o da imagem anterior em seguida (em ambas as máquinas). No caso, foram transferidos 207 MB, e a taxa de transferência calculada foi de 174 MBits/s.

Pacotes para Desktop: remmina

Remmina (http://remmina.sf.net) é um gerenciador de conexões remotas para desktop. Ele suporta os principais protocolos de conexões remotas:

  • VNC (modo cliente e servidor)
  • RDP (Remote Desktop, utilizado em Servidores Windows)
  • SSH 
  • NX (No Machine - http://nomachine.com )
  • SFTP (transferencia de arquivos segura, parecida com o SCP do protocolo SSH)
  • XDMCP (Terminal X Remoto)
O Remmina funciona através de um sistema de Plugins, facilitando a inclusão de novos protocolos. O software está disponível na forma de pacotes para as principais distribuições (Debian, Ubuntu, Fedora, etc). 

Para o Debian Wheezy, você provavelmente vai querer instalar os seguintes pacotes:
  • remmina: pacote principal
  • remmina-plugin-gnome: plugin de integração com Gnome (permite salvasr as senhas no sistema de Gerenciamento de Senhas do Gnome)
  • remmina-plugin-vnc: plugin para o protocolo VNC
  • remmina-plugin-rdp: plugin para o protocolo Remote Desktop
  • remmina-plugin-xdmcp: plugin para o protocolo XDMCP
Algumas screenshots da interface do programa:
Janela Principal

Opções de conexão do protocolo RDP

Conectado a um servidor Windows 2003


Seções do Manual Linux

O manual online do Linux (que pode ser acessado através do comando man) tem seu conteúdo separado em categorias ou seções , conforme abaixo:

Obs: talvez nem todas as páginas de manual citadas na coluna de exemplos estejam presentes na sua máquina!

SeçãoNomeDescriçãoExemplos
1Comandos de UsuárioComandos disponíveis a todos os usuáriosls,bash,vim
2Chamadas de SistemaRotinas do Kernel. Normalmente utilizadas por programas, as páginas são de pouca utilidade para usuários comunschdir,chown
3Funções de BibliotecasContém a documentação para uso das bibliotecas do sistema. Normalmente é interessante apenas a programadoresalloc,getloadavg
4Arquivos EspeciaisDocumentação dos arquivos de dispositivos do diretório /devhda,sda,zero,radeon
5Formatos de ArquivosContém a descrição do formato de arquivos do sistemapasswd,shadow,group,fstab
6JogosJogos e comandos divertidosfortune,rafkill,0verkill
7Convenções e MiscelâniaDiversos assuntos, protocolos, etcggz,icmp,irda
8Administração e Comandos PrivilegiadosComandos que necessitam de privilégios especiais (root) para serem executados.iptables,fdisk,mkfs


Gerador de sources.list para Debian/Ubuntu

Dica rápida:
Está em dúvida sobre como criar seu arquivo source.list para o Debian? Acesse o site http://debgen.simplylinux.ch/, preencha alguns parâmetros e o site cria um sources.list para você. Você pode inclusive adicionar alguns repositórios adicionais (como o do navegador Google Chrome ou do gerenciador de Imagens Picasa, ambos do Google). Há também uma versão disponível para Ubuntu em http://repogen.simplylinux.ch/

Uma configuração mínima para um sistema Debian seria como a imagem abaixo (clique para ampliar):


Após selecionar todos os parâmetros desejados, basta clicar no botão "Generate sources.list". Selecione o texto que vai aparecer, recorte e cole dentro do seu /etc/apt/sources.list. Agora basta executar um "apt-get update" e está pronto pra utilizar.


Questionário para Vaga de Suporte em Provedor


Remexendo uns emails antigos, encontrei esse questionário para uma vaga de suporte, que me foi enviado há alguns anos atrás. É interessante, porque lembro que algumas perguntas como AS, vlans e switch camada 3 eu não fazia a menor idéia do que era, e hoje já sei. Em compensação outras (como hldc e limpar estatísticas de interface, ambos em cisco) eu não sabia e continuo sem saber, :-) . De qualquer forma, achei o nível da maioria das perguntas válido para testar os conhecimentos em Linux e redes em geral. Coloco as respostas depois. (não vale colar!)


Redes

1 – Qual o seu nível de tcp/ip? Descreva alguns protocolos usados para vpn com suas portas.

2 – Você usaria tcp ou udp para uma vídeo conferência? Por quê?

3 – O que é um socket?

4 – Quais são os tipos de icmp mais utilizados além do 0 e 8? Cite 3.

5 – Quantos  hosts e subredes podem existir na máscara 255.255.248.0?

6 – Já trabalhou com redes altamente segmentadas (diversas subredes pequenas e grandes)?

7 – Qual a diferença entre rede infraestrutura e ad-hoc?

8 – O que é um AS?

9 – O que é uma bridge?

Linux

1 – Qual o seu nível de linux? Descreva os serviços e deamons que já instalou e configurou.

2 – Conhece shell scripts? Já utilizou os comandos cat, echo, grep, sed, awk, cut e etc?

3 – Sabe configurar virtual hosts no apache?

4 – Qual comando para se verificar as conexões ativas em uma máquina?

5 – Quais os comandos para se verificar as rotas de uma máquina?

6 – Está familiar com o tcpdump? Qual opção do tcpdump se usa para mostrar os pacotes de uma determinada máquina?

7 – Conhece algum software de monitoramento de tráfego de links, nms e ids (um de cada)?

8 – Qual seu nível de sql? Select, update e etc.

9 -  Que opção em uma regra do iptables especifíca conexões estabelecidas?

10 – O que deve ser configurado no /proc para que o linux faça forward de pacotes?

11 – Quais distros já administrou?


Ativos de rede (roteadores , switches e etc)

1 – Qual o seu nível de ativos de rede? Fale sobre os equipamentos que já administrou e configurou.

2 – Já utilizou vlan com switches de camada 3?

3 – É possível utilizar o protocolo ppp em um roteador cisco? E o hdlc?

4 – Qual comando mostras as estatísticas de uma interface?

5 – Qual comando limpa as estatísticas de uma interface?


SSH Forwarding

Uma das funções  freqüentemente negligenciadas do protocolo SSH é o encaminhamento (ou forwarding ou ainda tunelamento) de conexões.
Exemplos de uso:
  • Administração remota de serviços que só permitem acesso através do endereço localhost (127.0.0.1). Dois serviços com esse comportamento por padrão são o Webmin e o CUPS. (redirecionamento local -> remoto)
  • Acesso seguro a serviços que normalmente não suportam criptografia, como o VNC (redirecionamento remoto-> local).
  • Acesso seguro (criptografado) a emails e sites através de redes públicas e não criptografadas. (redirecionamento local -> remoto)
  • Permitir o acesso de máquinas remotas à sua rede. (redirecionamento remoto-> local)
  • Exibir a tela de um programa gráfico em outra estação. (redirecionamento X11)

Caso 1: Redirecionamento local -> remoto

Nesse caso, vamos especificar uma porta TCP local (na máquina onde é executado o cliente ssh). Todo o tráfego que atingir essa porta será encaminhado pelo túnel SSH para um endereço na rede remota. Esse endereço pode ser a própria máquina onde roda o servidor SSH ou outra, desde que acessível pelo servidor SSH. A porta local precisa estar disponível. Para fechar o túnel, encerra-se a conexão.

A sintaxe do comando SSH para esse caso é:


ssh -L [endereço local]:porta local:host remoto:porta remota servidor_ssh

Onde:
Endereço Local: Endereço IP que será associado a essa conexão. Esse parâmetro é opcional. Se for omitido, a conexão será criada em todos os endereços/interfaces de rede do computador. Se for informado um endereço IP diferente de 127.0.0.1 (ou localhost), outras máquinas poderão utilizar-se do túnel. Caso  seja informado o endereço 127.0.0.1 o túnel ficará disponível apenas para a própria máquina cliente.
Porta Local: Porta TCP que receberá as conexões na máquina cliente e as encaminhará para a máquina remota. Esta porta precisa estar disponível.
Host Remoto: Endereço na rede do servidor SSH  para onde as requisições serão encaminhadas.
Porta Remota: Porta no Host Remoto para onde as conexões serão encaminhadas.
Servidor SSH: Endereço ou nome do servidor SSH que receberá as conexões.
Obs: outros parâmetros (como nome de usuário, porta SSH, etc) podem ser informados normalmente.

Exemplos:
acessando remotamente a administração de impressoras do CUPS (porta 631):
Vamos direcionar o trafego na porta local 5555 para a porta 631 do servidor 192.168.0.12, através de uma conexão SSH nesse mesmo servidor:

ssh -L 5555:192.168.0.12:631 192.168.0.12

Caso fosse necessário utilizar um usuário específico (por exemplo: joao), o comando ficaria assim:

ssh -L 5555:192.168.0.12:631 joao@192.168.0.12

Caso o servidor SSH estivesse em uma porta diferente da padrão (22), digamos porta 2222, faríamos dessa maneira:

ssh -p 2222 -L 5555:192.168.0.12:631 joao@192.168.0.12

Caso você deseje que as máquinas que se conectarem à sua estação possam utilizar o tunel, o comando seria (supondo que o IP de sua estação seja 10.0.0.28):
ssh -p 2222 -L 10.0.0.28:5555:192.168.0.12:631 joao@192.168.0.12

Com a conexão estabelecia, bastaria abrir o navegador web e acessar o endereço
http://localhost:631 (ou http://10.0.0.28:631 no caso de outras máquinas) para realizar o acesso.

Outro exemplo prático: Suponhamos que você está com seu notebook em um CyberCafe, com conexão WiFi Open (sem criptografia) e deseja acessar os emails no servidor POP de sua empresa de forma segura. Para isso, você precisaria ter acesso SSH a um dos equipamentos da empresa, como um firewall ou outro servidor. Supondo-se que que dados de conexão sejam:
Firewall (com acesso SSH na porta 7788): 200.200.200.200
Servidor de Email (rodando POP na porta 110) : 172.16.100.50
Usuário para acesso SSH: antonio

o comando seria: 

ssh -p 7788 -L 110:172.16.100.50: antonio@200.200.200.200

Agora, basta configurar seu cliente de email para acessar o servidor POP-3 no endereço 127.0.0.1, porta 110 e acessar suas mensagens de forma criptografada.

Caso 2: Redirecionamento remoto -> local
Esse redirecionamento é pouco usado, mas mesmo assim bastante útil. Já o utilizei algumas vezes da seguinte maneira: na empresa onde trabalhava, eu administrava algumas máquinas que ficavam dentro da rede dos clientes. Essas máquinas normalmente não tinham acesso à internet, e o processo de liberação de internet para esses equipamentos era muito burocrático, o que causava problemas na hora de fazer alguma atualização ou instalar novos programas. Minha solução foi utilizar um redirecionamento SSH remoto, permitindo que os equipamentos utilizassem o proxy da minha empresa, e saíssem para a internet através do meu link. Em um caso como esse, o comando ficaria assim:

ssh -R 3128:192.168.0.210:8080 juca@200.200.200.200

No exemplo acima, eu conectei com o usuário juca no servidor 200.200.200.200. Após conectar, basta configurar o programa para utilizar um proxy no endereço localhost, porta 3128. Tudo que a máquina remota "jogar" nesta porta será redirecionado para a porta 8080 do IP 192.168.0.210 na minha rede local.

Caso 3: Redirecionamento do X Server (X11 Forwarding)

Esse é um dos mais simples, e ao mesmo tempo mais úteis: é possível "puxar" a tela de um programa de outro servidor Linux. Nesse caso, o programa estará rodando na máquina remota e apenas as informações de mouse, teclado e tela são trafegadas via rede. É semelhante ao próprio protocolo SSH (onde é realizado um acesso a uma máquina remota, e todo o processamento ocorre na máquina acessada. Nossa máquina apenas envia e recebe informações de teclado e tela). A diferença nesse caso é que como é utilizado o protocolo X, as informações de tela são gráficas, ao invés de apenas texto. Para utilizar o redirecionamento, simplesmente abra um terminal modo texto (já dentro do ambiente gráfico) e digite:

ssh -X usuario@192.168.0.1

A opção -X faz toda a mágica para você. Agora basta rodar qualquer aplicativo gráfico, e embora a tela apareça no seu computador, todo o processamento ocorrerá na máquina remota. O aplicativo também estará acessando o hardware (discos, fitas, etc) da máquina remota. Isso é utilizado para acessar consoles de administração remota, para tarefas que seriam muito complexas (ou mesmo inviáveis) em linha de comando. Mais simples impossível!

Ligando equipamentos com Wake-On-Lan (WOL)

Introdução:
Wake On Lan é uma tecnologia que pemite ligar ("acordar") um ativo de rede (micros, servidores, roteadores, switches, etc) que esteja desligado, através do envio de um pacote especial chamado MagicPacket para a placa de rede do computador.

Limitações:
* Funciona apenas em redes cabeadas, ou seja, não funciona em redes wireless.
* O equipamento que será ligado e o que vai enviar o MagicPacket precisam estar no mesmo segmento de rede. MagicPackets são pacotes de broadcast e portanto não atravessam roteadores.
* Placas de rede mais antigas (MUITO antigas)podem não ter suporte à tecnologia.

Verificando o suporte:
Verificar se sua placa de rede tem suporte a WOL é fácil: em caso de placas de rede on-board, basta acessar a BIOS do computador, procurar pela opção e colocar como "Yes" ou "Enabled". Costuma ficar na parte de gerenciamento de energia (Power Management). Procure por opções como WOL, Wake On Lan, Power On By PCI devices, Power On By PCIE devices, etc. Veja as imagens abaixo.





Caso a sua bios não mostre uma dessas opções, nem tudo está perdido (a minha por exemplo não mostra, no entanto o WOL funciona perfeitamente). Entre no Linux, e utilize o comando ethtool, que verifica e configura opções nas placas de rede.

Nota: utilizo WOL em um host Xen e percebi que a interface eth0 é uma interface virtual. A interface real é a peth0 (provavelmente o "p" é de physical (física)). Se esse for o seu caso, certifique-se de informar a interface correta (peth0).

[root@debian ~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes
A parte que nos interessa são as linhas "Supports Wake-on" e "Wake-on". "Supports Wake-on" mostra os tipos de tecnologias de WOL que a placa suporta (existem mais de uma). No caso essa placa suporta apenas o modo "g", que é justamente WOL via MagicPacket. A linha "Wake-on" mostra quais tecnologias WOL estão ativos atualmente na placa. No nosso caso, está mostrando "d", de "disabled". Ou seja, essa placa suporta WOL via MagicPacket mas atualmente a opção está desligada.

Ativando o suporte via software:
Para ativar o suporte a WOL (com MagicPacket), utilize o seguinte comando:
/sbin/ethtool -s eth0 wol g
Ao reiniciar a máquina, essa configuração é perdida. Assim é necessário acrescentar essa linha ao arquivo /etc/rc.local, para que ela seja executada a cada boot (nota: a última linha do arquivo /etc/rc.local tem de ser exit 0). Isso habilita o WOL via MagicPacket na interface selecionada (eth0) a cada boot. O problema é que durante o processo de desligamento da máquina, a interface de rede é desligada. Para evitar isso, é necessário editar o arquivo /etc/init.d/halt. Procure logo no começo do arquivo pela linha NETDOWN=yes e troque para NETDOWN=no.

Despertando
Para despertar a máquina, é necessário executar um cliente WOL em outro computador.

Linux:
instale o pacote wakeonlan (apt-get install wakeonlan)

execute o comando wakeonlan (em alguns casos o comando pode se chamar wol, mas a sintaxe é a mesma):
wakeonlan MAC-ADDRESS 
onde MAC-ADDRESS é o endereço de hardware (MAC) da máquina que se deseja ligar. Para descobrir o endereço MAC de uma interface, digite o comando ifconfig e procure por HWaddr.
Se a máquina cliente (onde o comando wakeonlan é executado) possui mais de uma interface de rede, é necessário informar o endereço de broadcast da rede à qual o micro a ser despertado pertence, com a opção -i. Nesse caso o comando ficaria:
wakeonlan -i 192.168.1.255 AA:BB:CC:11:22:33 
Supondo-se uma rede 192.168.1.0/24 e um equipamento com MAC AA:BB:CC:11:22:33.

Existe a possibilidade de informar a porta UDP a ser utilizada, com a opção -p. O padrão é 9. Minha máquina normalmente é despertada com a porta 7 (embora eu nunca tenha testado com outras), então meu comando fica assim:
wakeonlan -i 192.168.1.255 -p 7  AA:BB:CC:11:22:33
A última opção é a -f, que permite o uso de um arquivo com os endereços de diversos equipamentos a serem ligados. Útil por exemplo para ligar vários equipamentos em uma hora específica, visando algum tipo de manutenção (atualização/execução de antí-virus, por exemplo).

Existem também clientes WOL para o modo gráfico, como o GWakeOnLan (http://code.google.com/p/gwakeonlan/ ), escrito em GTK:



Roteadores com DD-WRT instalado:
Se o seu roteador possui instalada a distro DD-WRT (o meu tem, e eu recomendo), você pode cadastrar vários equipamentos na interface gráfica, e realizar o WOL a partir de lá:



Windows:
Uma busca no Google mostra que existem diversos clientes disponíveis para Windows. Infelizmente, como eu nunca utilizei nenhum, não tenho um específico para indicar. Se alguém tiver um pra sugerir, pode mandar a dica para antipragas@gmail.com, que eu atualizo o post (ou colocar nos comentários).

Uma última observação: um problema que me ocorre às vezes é quando o micro é ligado e desligado na sequência (sem que o sistema operacional seja carregado), ou quando ele é desligado sem o procedimento normal (em caso de falta de energia, por exemplo), o WOL fica indisponível até o proximo boot. Desconfio que seja devido ao fato da minha BIOS não dar suporte à tecnologia. Em casos como esse, basta ligar o equipamento normalmente (pelo botão de power) e após o shutdown/restart correto o funcionamento volta ao normal.

Criando um mirror local do debian no centos

Introdução:
É possível criar um mirror do Debian em uma equipamento rodando outras distribuições, como CentOS, RedHat e similares. Na verdade, as instruções abaixo são genéricas e em teoria servem para qualquer distribuição. Antes que alguém pergunte o porque de fazer isso eu explico: tenho um cliente que utiliza CentOS por padrão. Porém surgiu a oportunidade de utilizar alguns equipamentos da SUN. O problema é que essa arquitetura (Sparc) não é suportada pelo CentOS. Assim, fiz a instalação do Debian (que suporta a arquitetura Sparc) e resolvi criar um mirror interno para acelerar as futuras instalações/atualizações.

Instalando as dependências:
O programa debmirror é escrito em PERL. Sendo assim, precisamos instalar alguns módulos dessa linguagem para poder executar o programa. Abaixo a lista de arquivos necessários e onde localizá-los:

Arquivos/pacotes disponíveis no próprio CentOS (copiar do CD ou instalar via "yum install"):
perl-libwww-perl-5.805-1.1.1.noarch.rpm
perl-Compress-Zlib-1.42-1.fc6
perl-Digest-SHA1-2.11-1.2.1.i386.rpm
perl-Net*
rsync
bzip2
Arquivos que devem ser baixados da internet:
http://packages.sw.be/perl-Digest-MD5-M4p/perl-Digest-MD5-M4p-0.01-1.2.el5.rf.i386.rpm
http://packages.sw.be/perl-LockFile-Simple/perl-LockFile-Simple-0.206-1.el5.rf.noarch.rpm
Por fim, baixe o próprio debmirror neste endereço:
http://archive.ubuntu.com/ubuntu/pool/universe/d/debmirror/debmirror_20070123ubuntu1.tar.gz
Não coloquei aqui, mas você também precisa de um servidor web (como o apache) ou FTP (como o proftpd), para servir os arquivos aos clientes (a menos que pretenda utilizar algum outro método menos usual, como NFS).

Você pode checar a página de manual online, no seguinte endereço:
http://pwet.fr/man/linux/commandes/debmirror

com tudo instalado, basta fazer a configuração normalmente, conforme o artigo anterior:

Livro: Curso de Shell Script - Julio C. Neves

Dica Rápida:

A Revista Linux Magazine liberou gratuitamente as onze partes do curso de shell script "Papo de Botequim", do Julio Cezar Neves, autor de um excelente livro sobre o assunto, "Programação Shell Linux". O material está em formato PDF e não é necessário cadastro para realiza o download. O endereço é esse:

http://www.linuxnewmedia.com.br/lm/noticia/baixe_o_curso_de_shell_script_do_julio_cezar_neves

Para ver outros artigos sobre programação na Linux Magazine, acesse o seguinte endereço (alguns artigos precisam ser comprados).

http://www.linuxmagazine.com.br/lm/categories/19

Para acessar o site do autor, http://wiki.softwarelivre.org/bin/view/TWikiBar/WebHome (e se você resolver comprar/alugar a casa dele à venda em Arraial do Cabo, não se esqueça de me convidar para um fim de semana !!!)

Entendendo a saída do comando ifconfig

Vamos analisar a saída do comando ifconfig abaixo:


# ifconfig
eth0      Link encap 10Mbps Ethernet  HWaddr 00:00:C0:90:B3:42
          inet addr 172.16.1.2 Bcast 172.16.1.255 Mask 255.255.255.0
          UP BROADCAST RUNNING  MTU 1500  Metric 0
          RX packets 3136 errors 217 dropped 7 overrun 26
          TX packets 1752 errors 25 dropped 0 overrun 0

ppp0      Link encap:Point-to-Point Protocol
          inet addr:187.15.72.157  P-t-P:200.200.200.200  Mask:255.255.255.255
          UP POINTOPOINT RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:1504239 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1155539 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:1905349557 (1.7 GiB)  TX bytes:81721536 (77.9 MiB)

imq0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          UP RUNNING NOARP  MTU:1500  Metric:1
          RX packets:2647959 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2647730 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:30
          RX bytes:1987468198 (1.8 GiB)  TX bytes:1987198741 (1.8 GiB)
Descrição dos campos:
Link encap: Tipo de conexão do link (ethernet, ponto-a-ponto, etc)
HWAddr: Endereço de hardware (MAC Address) da interface. Nem todas as interfaces possuem. Nesse caso, pode aparecer como 00-00-00- ... ou simplesmente não aparecer.
UP BROADCAST RUNNING  MTU 1500  Metric 0: Indica as características da interface de rede:
  • UP/RUNNING: indica que a inteface está ativa.
  • BROADCAST/MULTICAST: indica que a interface suporta esta modalidade de tráfego (broadcast / unicast)
  • MTU: Quantidade máxima de bytes que a interface pode transmitir/receber a cada operação.
  • Metric: Não é utilizado.
  • NOARP: Indica que a interface não suporta operações com endereços de hardware (MAC)
inet addr: endereço IPv4 da interface (não é orbigatório).
inet6 addr: endereço IPv6 da interface (não é orbigatório).
P-t-P: Indica o endereço da "outra ponta" da conexão (apenas para conexões ponto-a-ponto).
Bcast: Endereço de Broadcast da interface (apenas se houver um endereço IPv4 configurado).
Mask: Máscara de rede  da interface (apenas se houver um endereço IPv4 configurado).
RX e TX: Contabiliza os pacotes recebidos (RX) e enviados (TX), bem como os descartados por motivos diversos na transmissão e recepção.
errors: pacotes que não puderam ser transmitidos/recebidos devido a erros (nos próprios pacotes).
dropped: normalmente indica erros de configuração/comunicação. Ex: um equpamento está operando em half-duplex, enquanto o outro está em full-duplex.
overruns: a interface possui duas filas (ou buffers), uma de transmisão e outra de recepção, com um determinado tamanho. Quando essa fila "enche", os pacotes excedentes são descartados como overruns. Em suma: a interface de rede está tentando receber/transmitir mais pacotes/segundo do que o sistema como um todo (interfaces de rede, processador, etc) suporta.
frame: quadros (frames) mal formados.
carrier: erro no link físico. Má fiação, cabos de rede e energia juntos, etc.
collisions: Colisões de rede. Comuns em ambientes com HUBS. Não deveriam ocorrer em ambientes com switches. Se for o caso, cheque a configuração dos equipamentos no tocante ao modo DUPLEX (HALF/FULL) utilizado.
txqueuelen: tamanho da fila (buffer) de transmissão. Normalmente não é necessário alterar o valor padrão.
RX bytes / TX bytes: quantidade de bytes recebidos / transmitidos. (medido em Mebibytes/Gibibytes - http://en.wikipedia.org/wiki/Mebibyte)

Colorindo o modo texto: vim

Colorindo o modo texto: vim 
Uma das funcionalidades que eu mais gosto no editor de texto vim é o syntax highlighting: cada palavra ou trecho do arquivo fica colorido com um padrão de acordo com o significado dele no contexto do arquivo. Por exemplo, em um arquivo de configuração, o nome das opções (se estiver correto) fica em verde, o valor da opção fica amarelo. Comentários ficam em azul claro e palavras não reconhecidas ficam na cor "tradicional" (branco). O programa também destaca os parênteses/aspas/colchetes, diminuindo a chance de você abrir um bloco de texto e esquecer de fechar, ou se perder em quando há varios blocos aninhados (programadores sabem do que eu estou falando ;-) ). Isso facilita o trabalho e diminui a chance de erros de sintaxe nos arquivos. Uma verdadeira mão na roda para administradores e programadores.

Habilitando
Para habilitar o suporte a cores, edite o arquivo de configuração do vim (/etc/vim/vimrc). Procure pelas linhas
"syntax on
"set background=dark
e apague as aspas ( " ) no começo de cada linha (no arquivo de configuração do vim, aspas são o sinal de comentários). Salve o arquivo e agora os arquivos dos mais diversos formatos estarão coloridos, seguindo um padrão lógico de cores e facilitando a edição.

Veja aqui dois exemplos. O mesmo trecho de um arquivo, primeiramente sem o syntax highlight habilitado e depois o mesmo trecho com as cores habilitadas.




Expandindo:
O vim já vem com uma grande quantidade de arquivos de definição de sintaxe (você pode ver todos eles no diretório  /usr/share/vim/vim71/syntax/ ). Mesmo assim, caso você necessite de algum modelo que não esteja lá, existe no próprio site do vim um repositório de arquivos de sintaxe, no endereço http://www.vim.org/scripts/ . Obviamente, você também pode desenvolver seu próprio modelo. Nesse caso, envie-o para o site para que outros também possam se beneficiar.

Obs:
Ao tentar editar um arquivo você pode receber a seguinte mensagem:
Error detected while processing /usr/share/vim/vimrc:
line   20:
E319: Sorry, the command is not available in this version: syntax on
Press ENTER or type command to continue
Em seguida o vim abre, mas o arquivo não está colorido. A razão disso é que o Debian por padrão vem com o editor vim-tiny instalado. O editor vim-tiny é uma versão reduzida do vim (tiny significa muito pequeno, minúsculo), que vem com algumas características a menos, incluindo aí o suporte a cores. Para ter suporte a cores, instale o pacote vim (apt-get install vim), que fornece o vim completo.

Colorindo o modo Texto: ls

Habilitando as cores:
Para habilitar o comando ls com cores, basta adicionar a opção --color=auto. Para não ter de ficar digitando-se isso a toda hora, normalmente criamos um alias com esse comando no arquivo de configuração do bash, o .bashrc. Descomente (ou crie) as seguintes linhas no arquivo ~/.bashrc:
 export LS_OPTIONS='--color=auto'
 eval "`dircolors`"
Editando as cores
O comando ls já vem com um padrão de cores pré-definido, porém nada impede que você crie seu próprio padrão, alterando as cores ou acrescentando novas extensões. Para editar as cores, execute:
dircolors --print-database > cores.txt
Será gerado o arquivo cores.txt, que contém as definições padrão de cores do sistema. Edite esse arquivo em seu editor favorito.

Notas sobre o formato do arquivo:
  • Itens em maiúsculas representam tipos especiais de arquivos (FIFO, SOCK, DIR, LINK, etc).
  • Também podemos alterar as cores atribuídas às extensões, colocando as extensões no formato ".xxx"
  • Os números significam cor da letra, cor de fundo e efeitos visuais, conforme a tabela abaixo:
Atributos:
00=nenhum 01=negrito 04=sublinhado 05=piscar 07=invertido (inverte a cor de fundo com a cor da letra) 08=oculto

Cor do Texto:
30=preto 31=vermelho 32=verde 33=amarelo 34=azul 35=magenta 36=ciano 37=branco

Cor de Fundo:
40=preto 41=vermelho 42=verde 43=amarelo 44=azul 45=magenta 46=ciano 47=branco

Após deixar o arquivo conforme desejado, edite o arquivo ~/.bashrc e altere a linha
eval "`dircolors`"
para
eval "`dircolors cores.txt`"
Por fim, é necessário processar novamente o arquivo ~/.bashrc. Isso pode ser feito de duas formas: efetuando logout e login novamente ou com o comando
source ~/.bashrc .

Bloqueando Programas de Bate-Papo: MSN / Windows Live Messenger

Bloqueando Programas de Bate-Papo: MSN / Windows Live Messenger


Portas:
Por padrão, o WLM utiliza a porta 1863. No entanto, se essa porta estiver bloqueada, ele desvia o tráfego para as portas 80 e 443 (utilizadas para navegação Web).

Detecção de Rede: TCP 7001, UDP 9, 7001
WhiteBoard (Quadro Branco):  TCP 1503

URLs:
https://Login.live.com
http://Login.live.com
https://*.contacts.msn.com
https://*.storage.msn.com
http://*.storage.msn.com
http://c.msn.com
http://*.messenger.msn.com
http://g.msn.com
http://crl.microsoft.com
http://messenger.hotmail.com:1863
http://gateway.messenger.hotmail.com
http://config.messenger.msn.com
https://ows.messenger.msn.com
https://rsi.hotmail.com
http://sqm.microsoft.com
http://*.edge.messenger.live.com
http://relay.data.edge.messenger.live.com
http://rad.msn.com
http://appdirectory.messenger.msn.com
https://images.messenger.msn.com
http://spaces.live.com
http://relay.voice.messenger.msn.com
http://sup.live.com
http://sup.live.com/whatsnew/whatsnewservice.asmx
http://vp.sip.messenger.msn.com

Referência:
http://support.microsoft.com/kb/960820/en-us
http://support.microsoft.com/kb/927847/en-us
http://support.microsoft.com/kb/2027572/en-us

Dica: comando service do Cent OS Red Hat no Debian

Dica rápida:

Se você é usuário de Red Hat, Cent OS, Fedora ou algum outro da família RH e precisa utilizar o Debian, talvez esteja sentindo falta do comando service, utilizado para iniciar/parar/reiniciar serviços. O Debian tem um programa com função semelhante, chamado invoke-rc.d. No entanto, se a saudade do comando service for demais, experimente instalar o pacote sysvconfig, que contém um editor de runlevel e um script de nome service, que faz exatamente o mesmo que seu homônimo no Red Hat.

Páginas de Manual Online

Acrescentando à listagem de documentação online, vale a pena citar o site http://linux.die.net/man/, que permite a visualização online de páginas de manual. O site contém, além das páginas de comandos como o ls e find, páginas de comandos menos comuns, como o mplayer e sar.

A central de Cheat Sheets de Dave Child

Garimpando por mais Cheat Sheets na internet, acabei caindo nesse site: AddedBytes. O autor, Dave Child, escreve sobre segurança, marketing on-line e Cheat Sheets. O site contém várias Cheat Sheets, com assuntos que vão desde expressão regular, linguagens de programação e até World of Warcraft(!).

O endereço específico para as Cheat Sheets é http://www.addedbytes.com/cheat-sheets/.

Debian Reference Card - Para imprimir e deixar à mão

Navegando na Web, encontrei essa ficha de referência sobre o Debian. Vem em Português Brasileiro (e outras dezenas de idiomas), em formato PDF para ser impresso (frente e verso) em uma única folha A4. Depois de imprimir, dobre conforme indicado na página.
O endereço para download e instruções para a dobra estão em http://tangosoft.com/refcard/. A título de curiosidade, esse tipo de ficha é bem comum e pode ser encontrado na internet com nomes como Reference Card, Cheat Sheet (algo como folha de cola, em uma tradução livre). Existem Cheat Sheets para bancos de dados, linguagens de programação e vários outros items. Conforme eu for esbarrando em outros mais, eu publico aqui.

Scroll no Touchpad do Notebook com Synaptics

Uma das funções que senti falta no meu recém-comprado Positivo Mobo 2055 3G é a de scroll (rolamento de tela) no TouchPad, no Windows (no Ubuntu Netbook Remix 9.04 essa função já vem habilitada, mas isso é outra história). Pesquisando um pouco na internet, achei a página da Synaptics (que produz um software de mesmo nome), que habilita o uso das extremidades direita e inferior do TouchPad para scroll vertical e horizontal, respectivamente. O programa está disponível para todas as versões do Windows a partir do 95 (alguém ainda usa Windwos 95?!) e é completamente gratuito!!! Para instalar, basta acessar a página http://www.synaptics.com/support/drivers, baixar a versão correspondente ao seu sistema e instalar.As versões para Windows XP e Vista possuem arquivos diferentes para 32 e 64 bits (a maioria das pessoas deve baixar a versão de 32 bits).

Tutorial: Como recuperar a senha de root Linux

Caso você tenha perdido a senha de root de seu equipamento Linux, siga esses passos para recuperá-la trocar a senha. Esses passos são válidos para todas as distribuições Linux (Debian, Ubuntu, Mandriva, Red Hat, etc)

Obs ¹: essa dica leva em consideração que você está utilizando o GRUB como gerenciador de boot. Os passos para o LILO são basicamente os mesmos, exceto pela parte referente à edição da linha de comando do Kernel.

Obs ²: Durante todo o processo, seu teclado estará levemente desconfigurado. Por isso, onde for necessário utilizar a tecla barra ( / ) tenha em mente que ela (provavelmente) estará no lugar da tecla dois-pontos ( ; ). Se preferir, utilize a barra do teclado numérico, junto da tecla NumLock.

1) Reinicie o computador. Quando aparecer o menu do GRUB interrompa o boot, pressionando uma das setas do teclado.

2) Selecione a entrada normalmente utilizada e pressione a tecla "e". Entraremos no modo de edição desta entrada.

3) Selecione a linha que começa com a palavra kernel e pressione a tecla "e" novamente. Vamos agora entrar no modo de edição desta linha específica.



4) Insira o seguinte texto no final da linha: init=/bin/bash (lembre-se do que foi dito sobre o teclado). Ao terminar, deverá estar semelhante a imagem abaixo. Pressione Enter para voltar à tela anterior.


5) Pressione "b" para iniciar o boot. O processo será bem rápido, e o sistema estará com todos os serviços
 parados (inclusive a rede) e com os sistemas de arquivos montados como comente leitura.


6) Aqui cabe uma curiosidade: o comando mount exibe o sistema de arquivos raiz montado com permissão de escrita, porém ao tentar trocar a senha do root (ou efetuar qualquer outra operação de escrita) a operação irá falhar (note as mensagens de erro passwd: Authentication token lock busy e passwd: password unchanged).



Consultando o arquivo /proc/mounts, vemos que o sistema de arquivos raiz (o / ) na verdade está montado como somente leitura.

A razão disso é que o arquivo que contém o status das partições montadas fica em /etc/mtab. Quando a partição é montada como somente leitura esse arquivo fica impossibilitado de ser alterado, ficando com uma informação incorreta. De qualquer forma, para remontar a partição em modo de escrita, basta executar o seguinte comando: mount / -o remount,rw (novamente, não se esqueça da barra ...).


Após isso o sistema de arquivos raiz estará montado com permissão de escrita, e podemos trocar a senha de root normalmente,  com o comando "passwd root". Digite e confirme a nova senha. Veja que o comando passwd agora exibe uma mensagem de sucesso na operação (password updated sucesssfully)


07) Por fim, antes de reiniciar o computador, é necessário sincronizar os dados no HD com o comando sync. A razão disso é que o Kernel (por razões de performance) não grava os dados no HD imediatamente. Ao invés disso, ele "atrasa" um pouco a gravação, colocando os dados em um buffer de memória,  na esperança de que apareçam mais dados e tudo possa ser armazenado em uma única operação de escrita. O comando sync força a escrita imediata dos dados do buffer no HD (normalmente antes de um restart ou desligamento isso é feito automaticamente pelo processo init, mas como o boot foi executado com o bash no lugar do init, é necessário fazer isso manualmente). Após o comando sync, basta reiniciar o computador com Ctrl + Alt + Del ou com o comando shutdown -nh now.

Como (re)ativar a Tab Completion no Windows XP

O Prompt de Comandos (antigo "Prompt do MS-DOS") do Windows XP vem com uma feature muito útil: o tab completion ( ou conclusão automática, segundo o site da Microsoft). Independente do nome, a função é muito útil: ao se pressionar a tecla TAB do seu teclado, os nomes de arquivos e diretórios são completados automaticamente na tela (usuários Linux sabem do que eu estou falando). Ou seja, se você está na raiz do drive C: (C:\) e deseja entrar no diretório "C:\Documents and Settings\Vovo.Mafalda\Desktop" bastaria digitar:

cd D<TAB>V<TAB><D>TAB> <ENTER>

Ou algo mais ou menos assim, e a cada TAB o Windows completaria os nomes para você. Quem trabalha utilizando o Prompt (eu realmente acredito que não sou o único!!!) sabe que isso realmente é uma mão na roda. Porém esses dias, sem mais nem menos, meu Windows deixou de fazer essa função, o que realmente diminuiu minha produtividade. Assim, resolvi pesquisar a solução e agora coloco aqui:

Obs: para corrigir essa falha é necessário mexer no registro do Windows. Não é nenhum bicho-de-sete-cabeças, mas caso você mexa no lugar errado pode danificar seu Windows, exigindo a reinstalação. Se não tiver segurança para realizar essa tarefa, peça ajuda a um amigo ou chame um técnico. Você foi avisado.

Abra o Editor do Registro (Iniciar -> Executar -> Digite regedit -> Clique em OK)
Para habilitar o tab completion para todos os usuários da máquina, vá em HKEY_LOCAL_MACHINE (é necessário ter privilégios administrativos na máquina). Caso não tenha privilégios de administrador, ou queira alterar apenas para o seu usuário (usuário logado atualmente), vá em HKEY_CURRENT_USER.
Independente de qual a opção selecionada no passo anterior, o caminho agora é o mesmo: vá até a chave "Software\Microsoft\Command Processor". Dentro dela devem haver duas entradas do tipo REG_DWORD, CompletionChar (que controla a tecla utilizada para completar nomes de arquivos) e PathCompletionChar (que controla a tecla utilizada para completar nomes de diretórios). Caso as entradas não existam, basta criá-las, indo em Editar -> Novo -> Valor DWORD, colocando o nome (CompletionChar e PathCompletionChar) e pressione <ENTER>. Após criá-las (ou caso elas já existam), basta alterar o valor delas para 9 (para utilizar a tecla TAB). O resultado final fica mais ou menos assim (clique na imagem para ampliar):



Após isso, basta fechar o Editor de Registro. Não é necessário reiniciar o computador, porém a alteração só será válida para janelas de Prompt de Comando abertas após a alteração.