sexta-feira, 29 de janeiro de 2016

Site cria distribuição personalizada baseada em Slackware

No site http://build.porteus.org você pode personalizar uma distribuição Linux baseada em Slackware apenas escolhendo algumas opções, como plataforma (32bits ou 64bits), tipo de boot (gráfico ou texto), ambiente gráfico (KDE, Mate, Xfce), entre outras.


Após escolher as opções e aguardar um pouco o site gera um link para você baixar o arquivo iso. Abaixo mostro um print com a minha distribuição criada pelo site. 


terça-feira, 26 de janeiro de 2016

Monitorando o tráfego de rede com Iptraf

O Iptraf é uma ferramenta simples, mas que pode fazer uma análise em tempo real do que está trafegando na rede. Ele pode monitorar cada interface separadamente, ou fazer uma análise considerando todas as placas de rede.


Ele pode monitorar as conexões...


...comparar o tráfego entre as interfaces de rede...


...mostrar em detalhes o desempenho de uma interface específica...


..comparar o tráfego por portas tcp/udp...


Nestes prints de tela eu usei um servidor que faz a função de gateway da rede, e um link de Internet de 100mbps. Pode-se notar o volume de 38mbps entrando pelo link. Ou seja, ainda tenho espaço para crescer. 

O Iptraf funciona através de menus. Por isso, não é necessário fornecer qualquer parâmetro de linha de comando. Para instalar o Iptraf, basta digitar:

# apt-get install iptraf

* Artigo publicado em 27/04/2012, atualizado e corrigido.

quinta-feira, 21 de janeiro de 2016

Evento Gratuíto - Curso Básico de IPv6 - Ênfase em Serviços (Curso Presencial)

Esta turma é voltada ao pessoal técnico e gestores de TI de empresas usuárias e que oferecem conteúdos e serviços na Internet. Incluem-se portais de conteúdo, comércio eletrônico, empresas de mídia, empresas com sites institucionais, universidades, órgãos do governo, etc. 

Carga horária: 32h
Horário: das 9h as 18h
Local: O NIC.br reserva-se o direito de divulgar o local do evento apenas para os que tiverem a matrícula aprovada.

ATENÇÃO: A inscrição não garante sua participação. Todas as inscrições serão analisadas e posteriormente será enviado por e-mail a confirmação se a matrícula foi ou não aprovada.

Gostaríamos de lembrá-lo dos pré-requisitos para participação no evento que são: 

- É "essencial" a realização prévia do curso “Introdução ao IPv6” (e-learning) do projeto IPv6.br que está disponível no link: http://www.ipv6.br/curso 
- Bons conhecimentos teóricos e práticos sobre redes IPv4.
- Ter noções de protocolos de roteamento.
- Os participantes deverão trazer notebooks (com qualquer sistema operacional) para acesso aos laboratórios.

É importante notar que:

- Será dada preferência a instituições que não participaram do curso anteriormente.
- Serão aceitas no máximo duas inscrições por instituição.
- Desistências deverão ser avisadas com pelo menos 5 dias de antecedência, sob pena da inscrição ser recusada em turmas futuras.
- Os inscritos devem ser pessoas chave em suas organizações, diretamente envolvidos com a implantação do IPv6 e que sejam capazes de multiplicar o conhecimento internamente.

NOTEBOOKS
É imprescindível que o aluno leve em todos os dias do curso um notebook e que este tenha os seguintes programas instalados:
- VirtualBox (a partir da versão 4.1.10)
- Fazer o download da imagem da Máquina Virtual no endereço:

WIRELESS: Teremos acesso via Wireless à Internet, entretanto não forneceremos a placa para acesso, favor portarem equipamentos apropriados. 

Local São Paulo / SP
Início 01/02/2016
Fim 04/02/2016
Disponibilidade 45 

terça-feira, 19 de janeiro de 2016

Futurologia

Como todo começo de ano, faço aqui as minhas previsões baseadas em notícias, artigos e matérias que li na internet, revistas, jornais, etc.


Para este ano
Cada vez mais as pessoas e empresas vão colocar seus dados na nuvem, como o Google Drive, Amazon, Dropbox, Mega, etc. Com o aumento da banda larga no país vai ser cada vez mais utilizado o armazenamento em nuvem, com smartphones sincronizando videos e imagens. A noção de "espaço em disco no hd" vai começar a desaparecer, bem como o uso de pendrives. E o fim das transmissões analógicas de TV no Brasil vai passar quase desbercebido nas grandes capitais, mas em lugares remotos isso vai causar uma dor de cabeça.



Em 1 ano
A realidade aumentada será usada em larga escala, principalmente para jogos e GPS. Com o aumento das redes 4G, a maioria dos aplicativos rodarão na nuvem. O uso de drones será normatizado e empresas o utilizarão para fazerem pequenas entregas.



Em dois anos
O Linux será o principal sistema operacional do mundo, principalmente por causa dos servidores e do Android, e 80% das empresas terão o Windows 10 em seus desktops. A velocidade média da banda larga no Brasil deve atingir 25Mb (ah, eu já tenho 35Mb!). A China deverá ser a maior potência econômica do mundo (vamos aprender mandarim, pessoal!).



Em cinco anos
Começa a funcionar a rede 5G e 86% da população da américa latina usará a rede 3G/4G. Com isso, será possível que sistemas ligados ao corpo monitorem pacientes enviando os dados coletados direto para seus médicos. Esse será o princípio prático da Internet das Coisas (IoT). E como o IPv4 deverá acabar na África, começarão a aparecer as redes exclusivamente IPv6. Além disso uma rede de satélites deverá disponibilizar internet para todo o mundo. A internet passará a ser algo onipresente, assim como a luz elétrica é hoje.  O suporte ao Windows 7 chegará ao fim, mas isso não será um problema pois a maioria das pessoas já utilizarão o Windows 10 (ou quem sabe o Linux). A energia solar deverá ser usada em larga escala. Carros autônomos não serão mais novidade.


Em 10 anos
Teremos óculos com realidade aumentada e projeções na própria lente. Imaginem andar na rua e ter na própria lente informações sobre o trânsito, previsão do tempo, cotações do dólar e da bolsa e até video-conferência. Ainda mais sabendo que esses óculos poderão ser controlados pela mente. Em casa, a internet poderá chegar a 500Mbps. A rede mundial deverá ter em torno de 1 trilhão de dispositivos, inclusive nossos robôs que farão as tarefas domésticas. Poderemos controlá-los do trabalho, ou até mesmo dos nossos óculos com acesso 4G. Viagens longas serão feitas com carros autônomos e jatos comerciais supersônicos voltarão a ser usados. A primeira tripulação da Mars One deverá chegar em Marte. Porém, problemas existirão, como falta de águas potável para 2/3 da população mundial (vamos aproveitar prá comprar um terreno lá pro lado da amazônia antes que fique mais caro!). E o petróleo estará em colapso. Pois é, o combustível não é eterno, e previsões dizem que em 10 anos começará a ficar mais raro. Por que o Brasil não aproveita e investe no álcool agora?


Em 20 anos
Os computadores terão velocidades de Thz e serão controlados por comandos de voz e pela mente. Será possível fazer backup da mente na nuvem. Todas as pessoas do mundo estarão conectadas na internet de alguma forma.  As casas terão vários monitores nas paredes, inclusive em lugar das janelas, onde poderão mostrar fotos, videos e imagens online de várias partes do mundo. Faremos pequenos exames ao usar o banheiro e escovar os dentes. Viajens aéreas serão feitas sem piloto. A forma de pagamento será totalmente digital, quase não existirá papel moeda. O etanol será mais usado no Brasil do que gasolina. Com 8 bilhões de habitantes, o mundo vai ter um defict de água, alimentos e energia, e a China será a maior economia do mundo. Teremos ciborgues andando pelas ruas, e a vacina a AIDS já terá sido descoberta. Na astronomia, para facilitar as viagens para Marte será construída uma vila no espaço, uma espécie de parada para descanso. 


Em 50 anos
O Bug do Timestamp poderá causar vários problemas em sistemas. A rede 6G deverá entrar em produção. Os lares terão link de 5Gb e computadores com velocidade de Phz. Serão criados computadores que pensam como humanos. Com 10 bilhões de habitantes, o mundo estará estabilizado, com a Índia sendo o país mais populoso. Será possível fazer escolhas genéticas, bem como ressussitar pessoas que foram congeladas por criogenia. Teremos prédios com mais de 1km de altura e Marte terá uma base militar. 


Em 100 anos
O mundo deve ficar 6,4ºC mais quente do que em 2000. Com isso, boa parte das geleiras vão derreter fazendo o nível do mar subir cerca de 1 metro se comparado com 2000. Algumas cidades litorâneas serão afetadas.


quinta-feira, 3 de dezembro de 2015

Curso "Firewall Linux com IPTables: 10 HORAS"

Montei um curso de iptables do tipo video-aula para a escola Linux Solution. Nele abordo os seguintes tópicos: 


  • O que é um protocolo
  • Modelo OSI x Modelo TCP
  • Revisão do TCP/IP
  • Endereços privados
  • Máscara de subrede
  • IPv4 x IPv6
  • Portas TCP/UDP/ICMP
  • Funcionamento de um firewall
  • Funcionamento do iptables
  • Especificando IP de origem e destino
  • Especificando o tipo de protocolo
  • Trabalhando com a chain FORWARD
  • Especificando as interfaces nas regras de firewall
  • Criando chains personalizadas
  • NAT (Network Address Translator)
  • Tabela mangle
  • Priorizando um tipo de dado
  • Roteamento dinâmico
  • Salvando e restaurando as regras
  • Módulos adicionais
  • Log do iptables
  • Administração gráfica do iptables

Quem tiver interesse em fazer o treinamento pode ver mais detalhes no link abaixo.


quinta-feira, 26 de novembro de 2015

Estatísticas do uso de memória e disco com vmstat

vmstat é uma das mais tradicionais ferramentas para analisar o uso de memória, disco e I/O no Linux. Seu uso é simples.

$ vmstat 
procs -----------memory---------- ------------swap-- -----io---- -system-- ------cpu-----
 r   b  swpd  free           buff       cache      si  so      bi  bo       in   cs       us  sy  id   wa st
 0  0         0  1290852  168412  2444644  0  0        15 1         23  13       6   2    90  1   0

Nesta tela vemos que temos 1290852 de memória livre (1,2Gb), não estou usando memória virtual e o processador está com 6% de processamento.

Com a opção "-a" vemos a memória ativa e inativa.

$ vmstat -a
procs -----------memory---------- ------------swap-- -----io---- -system-- ------cpu-----
r   b   swpd   free          inact       active       si   so    bi    bo   in   cs       us  sy  id  wa  st
1  0          0   1308492 1566532  3565632  0    0     15    1    22    9       6    2   90  1    0


Com "-d" vemos o uso do disco.

$ vmstat -d
disk- ------------reads----------------------- ------------writes----------------------------------- -----IO------
        total       merged  sectors       ms            total         merged    sectors        ms               cur  sec
sda  859697  191835   43159119  8098016  6628179  2719813  174504051 969743840  0     20324
sr0   0            0            0                0               0              0              0                 0                  0     0

No caso improvável da tua distribuição não ter o vmstat você pode instalá-lo com o comando abaixo.

# apt-get install procps

quinta-feira, 19 de novembro de 2015

Sexta edição do Fórum Brasileiro de IPv6

"A sexta edição do Fórum Brasileiro de IPv6 acontece no dia 9 de dezembro (quarta-feira) com a proposta de apresentar o andamento das ações de implantação do novo protocolo no Brasil e no mundo. O estoque central de endereços IPv4 na América Latina e Caribe esgotou-se no dia 10 de junho do ano passado, entrando na fase de “terminação gradual”. Neste ano, o estoque está quase entrando na última fase de esgotamento, situação que só permitirá a novos membros a aquisição de endereços IPv4. Tendo em vista isso, muitos provedores já começaram a implantar IPv6 em 2015, fazendo com que o Brasil alcançasse patamares expressivos no tráfego do IPv6 ! O ano de 2016 promete ser marcado por mais avanços significativos na adoção do IPv6 no país!"

Quem quiser participar (presencial ou on-line) basta de inscrever gratuitamente no site http://ipv6.br/post/sexta-edicao-do-forum-brasileiro-de-ipv6/

Pena que eu não estarei em São Paulo neste dia!

quarta-feira, 18 de novembro de 2015

Medindo o desempenho da rede com Iperf

O Iperf é uma ferramenta simples para medir o desempenho da rede, ou de um servidor. Seu uso é simples:

$ iperf -p 80 -c 172.20.1.82
------------------------------------------------------------
Client connecting to 172.20.1.82, TCP port 80
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 172.20.120.4 port 35177 connected with 172.20.1.82 port 80
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.01 GBytes   871 Mbits/sec

Com o comando acima eu testo o desempenho do servidor web 172.20.1.82.

Pesquise outras opções com iperf --help. O Iperf está disponível na maioria das distribuições Linux e, no Debian, pode ser instalado com o comando:

# apt-get install iperf

* Artigo publicado em 04/11/2011. Atualizado e corrigido.

terça-feira, 17 de novembro de 2015

Dificuldades para calcular sub-redes? Use IPCalc

Quem administra uma rede de computadores de vêz em quando se vê as voltas com endereçamentos de rede, máscaras de sub-rede e roteamentos. Principalmente quando sua empresa recebe um bloco de endereços públicos e a operadora diz algo assim:


  • Rede: 200.136.27.0/25
  • Gateway: 200.136.27.1


e seu chefe diz: Precisamos dividir isso em 8 sub-redes. Então você, administrador de rede, precisa calcular onde cada rede começa e onde termina, quais os endereços de rede e broadcast, quantos hosts cabem em cada sub-rede, etc.

Para facilitar isso foi criado o IPCalc. No Debian ele pode ser instalado via apt-get.

Para resolver o caso acima, basta chamar o ipcalc que ele de mostra as configurações e limites de cada sub-rede. Digite:

$ ipcalc 200.136.27.0/25 28
Address:   200.136.27.0         11001000.10001000.00011011.0 0000000
Netmask:   255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard:  0.0.0.127            00000000.00000000.00000000.0 1111111
=>
Network:   200.136.27.0/25      11001000.10001000.00011011.0 0000000
HostMin:   200.136.27.1         11001000.10001000.00011011.0 0000001
HostMax:   200.136.27.126       11001000.10001000.00011011.0 1111110
Broadcast: 200.136.27.127       11001000.10001000.00011011.0 1111111
Hosts/Net: 126                   Class C

Subnets after transition from /25 to /28

Netmask:   255.255.255.240 = 28 11111111.11111111.11111111.1111 0000
Wildcard:  0.0.0.15             00000000.00000000.00000000.0000 1111

 1.
Network:   200.136.27.0/28      11001000.10001000.00011011.0000 0000
HostMin:   200.136.27.1         11001000.10001000.00011011.0000 0001
HostMax:   200.136.27.14        11001000.10001000.00011011.0000 1110
Broadcast: 200.136.27.15        11001000.10001000.00011011.0000 1111
Hosts/Net: 14                    Class C

 2.
Network:   200.136.27.16/28     11001000.10001000.00011011.0001 0000
HostMin:   200.136.27.17        11001000.10001000.00011011.0001 0001
HostMax:   200.136.27.30        11001000.10001000.00011011.0001 1110
Broadcast: 200.136.27.31        11001000.10001000.00011011.0001 1111
Hosts/Net: 14                    Class C

 3.
Network:   200.136.27.32/28     11001000.10001000.00011011.0010 0000
HostMin:   200.136.27.33        11001000.10001000.00011011.0010 0001
HostMax:   200.136.27.46        11001000.10001000.00011011.0010 1110
Broadcast: 200.136.27.47        11001000.10001000.00011011.0010 1111
Hosts/Net: 14                    Class C

 4.
Network:   200.136.27.48/28     11001000.10001000.00011011.0011 0000
HostMin:   200.136.27.49        11001000.10001000.00011011.0011 0001
HostMax:   200.136.27.62        11001000.10001000.00011011.0011 1110
Broadcast: 200.136.27.63        11001000.10001000.00011011.0011 1111
Hosts/Net: 14                    Class C

 5.
Network:   200.136.27.64/28     11001000.10001000.00011011.0100 0000
HostMin:   200.136.27.65        11001000.10001000.00011011.0100 0001
HostMax:   200.136.27.78        11001000.10001000.00011011.0100 1110
Broadcast: 200.136.27.79        11001000.10001000.00011011.0100 1111
Hosts/Net: 14                    Class C

 6.
Network:   200.136.27.80/28     11001000.10001000.00011011.0101 0000
HostMin:   200.136.27.81        11001000.10001000.00011011.0101 0001
HostMax:   200.136.27.94        11001000.10001000.00011011.0101 1110
Broadcast: 200.136.27.95        11001000.10001000.00011011.0101 1111
Hosts/Net: 14                    Class C

 7.
Network:   200.136.27.96/28     11001000.10001000.00011011.0110 0000
HostMin:   200.136.27.97        11001000.10001000.00011011.0110 0001
HostMax:   200.136.27.110       11001000.10001000.00011011.0110 1110
Broadcast: 200.136.27.111       11001000.10001000.00011011.0110 1111
Hosts/Net: 14                    Class C

 8.
Network:   200.136.27.112/28    11001000.10001000.00011011.0111 0000
HostMin:   200.136.27.113       11001000.10001000.00011011.0111 0001
HostMax:   200.136.27.126       11001000.10001000.00011011.0111 1110
Broadcast: 200.136.27.127       11001000.10001000.00011011.0111 1111
Hosts/Net: 14                    Class C


Subnets:   8
Hosts:     112

Aí estão as 8 redes, cada uma com 14 hosts. 

Se quiser algo mais bonitinho, o ipcalc tem uma página CGI que pode ser acessa pelo endereço http://servidor/cgi-bin/ipcalc.


Também fiz uma calculadora de sub-rede para endereços IPv6. Você pode acessá-la pelos links abaixo.


* Artigo publicado em 31/07/2012. Atualizado e corrigido.

sexta-feira, 6 de novembro de 2015

iptables para IPv6

Ao instalar o iptables você também instala o ip6tables, que nada mais é do que um firewall voltado para o protocolo IPv6. A sintaxe é a mesma do iptables.

Por exemplo, para liberar o ICMP digite o comando:

# ip6tables -A INPUT -p icmpv6 -j ACCEPT

Lembrando que, ao contrário do IPv4, você não pode bloquear todo o tráfego ICMP em uma rede IPv6 pois as resoluções de endereço físico, que eram feitas pelo ARP no IPv4, agora são feitas pelo ICMP no IPv6.

Para habilitar o statefull, digite:

# ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Liberar o acesso de uma máquina é simples:

# ip6tables -A FORWARD -d 2001:470:db7e:8000::3 -p tcp --dport 80 -j ACCEPT

Como podemos ver, a sintaxe é a mesma, inclusive para a tabela de NAT. Apesar de não ser necessário usar NAT no IPv6 em algumas situações ele pode ser útil, como em técnicas de transição.

quinta-feira, 5 de novembro de 2015

Semana do Linux

Entre os dias 9 e 13 de novembro vai ocorrer a Semana do Linux, um evento on-line com vários palestrantes tratando de assuntos diversos relacionados ao Linux, como redes, infraestrutura, Android, programação, Web e segurança.


No dia 10, às 16:30, haverá uma palestra minha tratando do IPv6, o novo protocolo da internet, mostrando conceitos, práticas e os problemas que estou enfrentando na adoção do protocolo.

Quem quiser participar do evento pode se inscrever gratuitamente no site abaixo.



quarta-feira, 4 de novembro de 2015

Lançamento do meu livro

Como havia informado, no último dia 3 de novembro a Novatec lançou o meu livro "Administração de redes Linux'.


Esse livro é baseado na vasta coleção de artigos, dicas e posts que publiquei ao longo de quase 10 anos. A idéia surgiu na época da faculdade e só agora se torna relalidade.

Quem quiser saber mais detalhes do livro é só clicar no link abaixo.



quarta-feira, 28 de outubro de 2015

300 artigos!

Após quase 5 anos escrevendo cheguei a 300 artigos. E para comemorar fiz uma modificação na cara do blog.

Alguns artigos são complexos, outros mais simples como uma dica, mas sempre mostrando como você pode aproveitar melhor a tua disribuição Linux. Alguns destes artigos já foram usados como resposta em vários fóruns. Outros foram republicados em outros sites (alguns sem que eu soubesse). Outros viraram apostilas para treinamentos diversos. Fiz até uma coletânea que vai virar um livro a ser lançado em breve pela editora Novatec. Aguardem!

Mas o mais importante é que esse material está sendo útil para várias pessoas, e isso é o que importa! 

quinta-feira, 15 de outubro de 2015

Administração dos módulos do kernel

O kernel (núcleo do sistema operacional) do Linux é modular, ou seja, trabalha com componentes que podem ou não estar carregados. Módulos podem habilitar suporte a algum hardware, habilitar funções especiais ou melhorar a segurança do sistema. Desabilitando os módulos sem uso torna o kernel mais enxuto, podendo ser usado em máquinas menos potentes.

Os módulos ficam instalados na pasta /lib/modules/<kernel>/kernel

$ ls /lib/modules/3.16.0-4-686-pae/kernel/
arch  crypto  drivers  fs  lib  mm  net  sound

Em cada pasta há centenas de módulos. Para listar o módulos atualmente carregados na memória use o comando lsmod.

$ lsmod
Module                   Size  Used by
nls_utf8               12416        0 
nls_cp437            12417        0 
vfat                      16967        0 
fat                        52647        1 vfat
...

Nesta listagem temos os módulos carregados e suas dependências. Por exemplo, o módulo vfat depende do módulo fat. Não é possível retirar o módulo fat sem antes retirar o vfat.

Vamos fazer uma demonstração retirando o módulos que controla a placa de rede. Primeiramente temos que descobrir qual é o módulos usado pela nossa interface.

$ dmesg  | grep eth
[    1.349952] e1000e 0000:00:19.0 eth0: registered PHC clock
[    1.349957] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 50:e5:49:fc:de:9b
[    1.349959] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    1.350007] e1000e 0000:00:19.0 eth0: MAC: 10, PHY: 11, PBA No: FFFFFF-0FF
[   11.915452] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.036594] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   15.036631] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   69.254588] device eth0 entered promiscuous mode

Vemos que o módulo da placa de rede é o e1000e. Agora, como root, executamos o comando rmmod.

# rmmod e1000e

Agora a interface de rede não está mais disponível.

$ ifconfig eth0
eth0: erro obtendo informações da interface: %s: dispositivo não encontrado

Vamos recarregar o módulo.

# insmod e1000e
insmod: ERROR: could not load module e1000e: No such file or directory

O erro ocorre porque o insmod precisa do endereço completo do arquivo de módulo. Para saber onde o arquivo se encontra podemos usar o comando modinfo, que também fornece outras informações sobre um módulo.

$ modinfo e1000e
filename:       /lib/modules/3.16.0-4-686-pae/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
version:        2.3.2-k
license:        GPL
description:    Intel(R) PRO/1000 Network Driver
author:         Intel Corporation, <linux.nics@intel.com>
srcversion:     95081067188F78203E7ECF8
alias:          pci:v00008086d000015B8sv*sd*bc*sc*i*
alias:          pci:v00008086d000015B7sv*sd*bc*sc*i*
alias:          pci:v00008086d00001570sv*sd*bc*sc*i*
alias:          pci:v00008086d0000156Fsv*sd*bc*sc*i*
alias:          pci:v00008086d000015A3sv*sd*bc*sc*i*
alias:          pci:v00008086d000015A2sv*sd*bc*sc*i*
alias:          pci:v00008086d000015A1sv*sd*bc*sc*i*
alias:          pci:v00008086d000015A0sv*sd*bc*sc*i*
...
alias:          pci:v00008086d0000105Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000105Esv*sd*bc*sc*i*
depends:        ptp
intree:         Y
vermagic:       3.16.0-4-686-pae SMP mod_unload modversions 686 
parm:           debug:Debug level (0=none,...,16=all) (int)
parm:           copybreak:Maximum size of packet that is copied to a new buffer on receive (uint)
parm:           TxIntDelay:Transmit Interrupt Delay (array of int)
parm:           TxAbsIntDelay:Transmit Absolute Interrupt Delay (array of int)
parm:           RxIntDelay:Receive Interrupt Delay (array of int)
parm:           RxAbsIntDelay:Receive Absolute Interrupt Delay (array of int)
parm:           InterruptThrottleRate:Interrupt Throttling Rate (array of int)
parm:           IntMode:Interrupt Mode (array of int)
parm:           SmartPowerDownEnable:Enable PHY smart power down (array of int)
parm:           KumeranLockLoss:Enable Kumeran lock loss workaround (array of int)
parm:           WriteProtectNVM:Write-protect NVM [WARNING: disabling this can lead to 
corrupted NVM] (array of int)
parm:           CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC (array of int)

Agora, com o caminho completo do arquivo, podemos carregar o módulo logado como root.

# insmod /lib/modules/3.16.0-4-686-pae/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko

E agora temos a interface de rede novamente.

# ifconfig eth0
eth0      Link encap:Ethernet  Endereço de HW 50:e5:49:fc:de:9b  
          inet end.: 172.20.120.4  Bcast:172.20.255.255  Masc:255.255.0.0
          endereço inet6: 2001:470:db7e:0:8000::1/64 Escopo:Global
          endereço inet6: fe80::52e5:49ff:fefc:de9b/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:343124704 errors:407 dropped:0 overruns:0 frame:272
          TX packets:13277281 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000 
          RX bytes:59616917901 (55.5 GiB)  TX bytes:1435011340 (1.3 GiB)
          IRQ:20 Memória:fe400000-fe420000 

Se tentarmos remover um módulo que outros módulos dependam dele teremos uma mensagem de erro. 

# rmmod fat
rmmod: ERROR: Module fat is in use by: vfat

Neste caso temos que remover primeiro o módulo vfat para depois remove o fat

# rmmod vfat
# rmmod fat

Agora, para recarregar o módulo vfat temos que primeiro carregar o módulo fat. Ou podemos usar o comando modprobe para carregar o módulo junto com suas dependências. 

# modprobe vfat
# lsmod  | grep fat
vfat                   16967  0 
fat                     52647  1 vfat

Reparem que, diferentemente do comando insmod, modprobe não precisa no endereço completo do arquivo de módulo. Você também pode remover um módulo usando "modprobe -r".

Uma listagem de módulos e suas dependências está no arquivo /lib/modules/3.16.0-4-686-pae/modules.dep. Para vermos as dependências relacionadas ao módulo fat digitamos:

$ grep fat /lib/modules/3.16.0-4-686-pae/modules.dep
kernel/fs/fat/fat.ko:
kernel/fs/fat/vfat.ko: kernel/fs/fat/fat.ko
kernel/fs/fat/msdos.ko: kernel/fs/fat/fat.ko

Podemos notar que os módulos vfat e msdos dependem do módulo fat.

quinta-feira, 8 de outubro de 2015

Inkscape, programa de desenho vetorial

Segundo a própria documentação do programa:

"Inkscape é um editor de ilustração que possui tudo o que é necessário para criar desenhos com qualidade profissional. Você pode utilizá-lo para criar diagramas, ilustrações, desenhos técnicos, gráficos para a web, clip art, ícones e logotipos. Uma coleção de tutoriais práticos mostram como combinar linhas, formas e textos de diferentes tipos e estilos para criar uma figura.

Uma seleção de poderosas ferramentas de edição de gráficos vetoriais está diponível por padrão. Há um excelente suporte para caminhos, gradientes, camadas, transparência alfa e controle de fluxo de texto. Uma extensa biblioteca de filtros permite que você aplique efeitos realistas e extensões permitem que você trabalhe com bitmaps, código de barras, impressão de marcas dentre outras coisas.

São suportados a maioria dos formatos vetoriais comuns incluindo arquivos em PDF, Adobe Illustrator e AutoCAD. O Inkscape possui um suporte incomparável para gráficos web no padrão SVG."


O Inkscape é um dos softwares mais utilizados para criação de desenhos vetoriais e contém várias ferramentas interessantes.

Para instalá-lo, nas distribuições Linux baseadas em Debian, digite o famoso "apt-get install inkscape".

quarta-feira, 7 de outubro de 2015

Tem dúvidas sobre um comando?

Além da vasta documentação existente em páginas de manual, fóruns e comunidades na internet sobre os comandos do Linux há também o programa info.

Digite "info" antes de qualquer comando que você terá uma descrição sobre ele. info pode trazer exemplos de uso do comando além de outras informações que as páginas de manual não trazem.

Por exmplo, para ter uma ajuda sobre o comando "dd" digite:

$ info dd

segunda-feira, 5 de outubro de 2015

Estatísticas de rede com ifstat

O programa ifstat é ótimo para ver de forma online como estão as interfaces de rede no que diz respeito ao download e upload de dados.

Para instalá-lo use:

# apt-get install ifstat

Seu uso é simples. Basta digitar o comando passando "-a" como parâmetro para mostrar os dados de todas as interfaces.

$ ifstat -a
        lo                          eth0                             eth1      
 KB/s in   KB/s out    KB/s in   KB/s out    KB/s in  KB/s out
   927.83     927.83    2808.16    7165.52    7147.57   2213.80
 1462.99   1462.99    2871.27    5219.12    5217.93   2355.21
 1552.99   1552.99    2221.81    7943.48    7928.80   1651.37
 1797.99   1797.99    1875.98    4431.78    4461.20   1312.80
 1785.94   1785.94    2260.76    6935.33    6837.54   1716.26
 1556.27   1556.27    2305.75  10295.63  10265.04   1749.11
 1218.54   1218.54    2495.21    8426.51    8388.47   1907.51
 1412.53   1412.53    2203.23    3878.96    3805.40   1606.59
 1724.88   1724.88    2108.79    3065.37    3049.91   1584.52
 1904.21   1904.21    2035.68    4292.38    3783.56   1505.63
 2534.54   2534.54    2225.66    5805.82    5645.50   1673.03
 1496.73   1496.73    2059.95    6998.29    6922.70   1491.80
 2038.61   2038.61    2121.71    4985.27    4879.74   1620.98
 2285.01   2285.01    2503.31    7688.86    7701.65   1926.83
 2753.78   2753.78    2347.53    6013.30    5902.92   1760.96
 2729.05   2729.05    2114.76  10035.34  10072.93   1612.32
 2443.32   2443.32    2295.35    9228.05    9239.88   1751.52
 3334.26   3334.26    2031.68    3971.51    3974.47   1528.43
 1907.00   1907.00    2495.21    7763.01    7460.65   1997.91
 1942.95   1942.95    2519.77    6173.28    6276.35   2029.58
 1846.70   1846.70    2911.25    3885.63    3634.37   2350.52
 1633.02   1633.02    2722.14    7003.83    5225.66   2079.18
^C

Os dados são mostrados as cada segundo e os valores estão em Kbytes. Para outras opções você pode consultar a página de manual digitando:

$ man ifstat

sexta-feira, 2 de outubro de 2015

Exemplo de uso do comando ifconfig

Apesar de não ser mais recomendado o uso do comando "ifconfig" no Linux (dê preferência ao comando "ip"), seu uso para administrar as configurações de rede ainda é muito difundido. Neste artigo  vou descrever os principais exemplos de uso do ifconfig.

Para listar as interfaces digite:

$ ifconfig
eth0      Link encap:Ethernet  Endereço de HW 50:e5:49:fc:de:9b
          inet end.: 172.20.120.4  Bcast:172.20.255.255  Masc:255.255.0.0
          endereço inet6: 2001:470:db7e:0:8000::1/64 Escopo:Global
          endereço inet6: fe80::52e5:49ff:fefc:de9b/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:1085395808 errors:573 dropped:0 overruns:0 frame:390
          TX packets:48841639 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:140423994889 (130.7 GiB)  TX bytes:11754979934 (10.9 GiB)
          IRQ:20 Memória:fe400000-fe420000

lo        Link encap:Loopback Local
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina
          UP LOOPBACKRUNNING  MTU:65536  Métrica:1
          RX packets:4957670 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4957670 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:740981008 (706.6 MiB)  TX bytes:740981008 (706.6 MiB)

Para ver todas as interfaces de rede, inclusive as que não estão em uso, digite:

$ ifconfig -a

Para ver as configurações de uma única interface é só passar o nome dela como parâmetro.

$ ifconfig eth0
eth0      Link encap:Ethernet  Endereço de HW 50:e5:49:fc:de:9b  
          inet end.: 172.20.120.4  Bcast:172.20.255.255  Masc:255.255.0.0
          endereço inet6: 2001:470:db7e:0:8000::1/64 Escopo:Global
          endereço inet6: fe80::52e5:49ff:fefc:de9b/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:1085463928 errors:573 dropped:0 overruns:0 frame:390
          TX packets:48842438 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000 
          RX bytes:140430606152 (130.7 GiB)  TX bytes:11755089960 (10.9 GiB)
          IRQ:20 Memória:fe400000-fe420000 

Para baixar uma interface digite:

# ifconfig eth0 down

Para levantá-la use:

# ifconfig eth0 up

Só lembrando que levantar uma interface com "ifconfig" não vai fazer o roteamento ser configurado. Neste caso é também necessário usar o comando "route".

Para configurar um IP manualmente use o seguinte comando:

# ifconfig eth0 172.20.120.45 netmask 255.255.0.0

Você também pode levantar outros IPs em interfaces virtuais.

# ifconfig eth0:1 172.20.45.45 netmask 255.255.0.0
# ifconfig
eth0      Link encap:Ethernet  Endereço de HW 50:e5:49:fc:de:9b
          inet end.: 172.20.120.4  Bcast:172.20.255.255  Masc:255.255.0.0
          endereço inet6: 2001:470:db7e:0:8000::1/64 Escopo:Global
          endereço inet6: fe80::52e5:49ff:fefc:de9b/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:49050651 errors:585 dropped:0 overruns:0 frame:391
          TX packets:1729648 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:5815050436 (5.4 GiB)  TX bytes:439443643 (419.0 MiB)
          IRQ:20 Memória:fe400000-fe420000

eth0:1   Link encap:Ethernet  Endereço de HW 50:e5:49:fc:de:9b
          inet end.: 172.20.45.45  Bcast:172.20.255.255  Masc:255.255.0.0
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          IRQ:20 Memória:fe400000-fe420000

lo        Link encap:Loopback Local
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina
          UP LOOPBACKRUNNING  MTU:65536  Métrica:1
          RX packets:59191 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59191 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:8481802 (8.0 MiB)  TX bytes:8481802 (8.0 MiB)