… como aumentar a velocidade do raid1 com resync

Setando a velocidade de maximo e mininmo no resync fará com que nosso raid1 aumente exponenciamente a gravação dos dados no disco, já que ambos vem setado para trabalhar em verlocidades diferentes e não manter um padrão. Mas consertaremos esta ação com uma simples modificação nos arquivo: /proc/sys/dev/raid/spped_limit_max and speed_limit_min

 # echo 200000 > /proc/sys/dev/raid/speed_limit_max
 # echo 200000 > /proc/sys/dev/raid/speed_limit_min

Neste caso a velocidade de ambos foi setada para 200MiB/s. Lembrando que alguns devices podem ser setados para velocidades ainda maiores…

… protegendo arquivos com noclobber

Este truque é para pessoas, que tem perdido importantes arquivos usando >, quando deveriam usar >> para redirecionar dados. Adicionando no arquivo .bashrc o comando abaixo, previne que subscreva os dados existentes dos arquivos, quando se utiliza o sinal de > (maior).

set -o noclobber.

Exemplo:

% program > file2
bash: file2: cannot overwrite existing file

Em alguns caoss, queremos mesmo subscrever o arquivo, e nestes casos forçaremos da seguinte forma:

Exemplo 2:

% program >! file2

Referência: http://www.gentoo.org/news/en/gwn/20040614-newsletter.xml

… yum security

O pacote yum-security é um novo recurso do Red Hat Enterprise e Fedora. Se instalado o módulo yum provê uma entrada á mais na segurança de atualizações. Ele também pode ser usado para listar bugs de pacotes, ou números CVE ( Commom Vulnerabilities).

Para habilitar este recursos é muito simples, basta rotar o comando : ‘yum install yum-security’

O primeiro comando a ser usuado após a instalação é o ‘yum list-sec’, comando este, similar ao ‘yum check-update’ exceto pela lista de ID e classificação dos updates como “enhancement”, “bugfix” ou “segurança”

RHSA-2007:1128-6 security autofs - 1:5.0.1-0.rc2.55.el5.1.i386
RHSA-2007:1078-3 security cairo - 1.2.4-3.el5_1.i386
RHSA-2007:1021-3 security cups - 1:1.2.4-11.14.el5_1.3.i386
RHSA-2007:1021-3 security cups-libs - 1:1.2.4-11.14.el5_1.3.i386

Se o ‘yum list-sec cves’ é usado para mostrar os IDs CVE e endereço para atualização, assim como a categoria ao qual o pacote pertence. Se o ‘yum-list-sec bzs’ é usado

Exemplo de ‘yum list-sec bzs’:

410031 security autofs - 1:5.0.1-0.rc2.55.el5.1.i386
387431 security cairo - 1.2.4-3.el5_1.i386
345101 security cups - 1:1.2.4-11.14.el5_1.3.i386
345111 security cups - 1:1.2.4-11.14.el5_1.3.i386
345121 security cups - 1:1.2.4-11.14.el5_1.3.i386
345101 security cups-libs - 1:1.2.4-11.14.el5_1.3.i386
345111 security cups-libs - 1:1.2.4-11.14.el5_1.3.i386
345121 security cups-libs - 1:1.2.4-11.14.el5_1.3.i386

Exemplo de ‘yum list-sec cves’:

CVE-2007-5964 security autofs - 1:5.0.1-0.rc2.55.el5.1.i386
CVE-2007-5503 security cairo - 1.2.4-3.el5_1.i386
CVE-2007-5393 security cups - 1:1.2.4-11.14.el5_1.3.i386
CVE-2007-5392 security cups - 1:1.2.4-11.14.el5_1.3.i386
CVE-2007-4352 security cups - 1:1.2.4-11.14.el5_1.3.i386
CVE-2007-5393 security cups-libs - 1:1.2.4-11.14.el5_1.3.i386
CVE-2007-5392 security cups-libs - 1:1.2.4-11.14.el5_1.3.i386
CVE-2007-4352 security cups-libs - 1:1.2.4-11.14.el5_1.3.i386

O segundo sub-comando adicionado pelo pacote yum-security é o ‘info-sec’. Este sub-comando apresenta os advisory number, CVE, or Bugzila ID como um argumento, e retorna as informações detalhada incluindo um resumo das mudanças á serem adicionadas.

Para aplicar todas as correções de securança comente:

yum update --security

Para aplicatar as atualizações do bugzilla com ID 410101:

yum update --bz 410101

Para aplicar todas atualizações apresentadas via CVE ID CVE-2007-5707 com advisory ID RHSA-2007:1082-5:

yum update --cve CVE-2007-5707 --advisory RHSA-2007:1082-5

Mais informações sobre o yum-security, consulte a man page yum-security (8).

… definindo parâmetros de senha.

Para alterar as definições de expiração de senha e até tamanho minimo e máximo da senha, veja como fazer:

Para setar a expiração de senha quando cria novas contas no Fedora, edite o arquivo /etc/login.defs.

Por exemplo, para setar o número máximo de dias que a senha será usada, no login.defs:

PASS_MAX_DAYS 30

Para setar o número de dias que será começará a apresentar alertas antes de expirar a senha no login.defs:

PASS_WARN_AGE 7

Para mais referências, veja o man page de login.defs.

… redimensionando imagens

Como já é de conhecimento de todos, o tamanho da imagem depende exclusivamente da sua resolução. Sendo assim, podemos modificar o tamanho da imagem para colocá-las em phologs e outros locais, onde é definido um tamanho ou mesmo uma qualidade em especifico.

O comando mogrify habilita o usuário a redimensionar imagens, comando este, que é acessado quando instalamos o pacote ImageMagick . ImageMagick é um programa usado para redimensionar, rotacionar, manipular e apresentar imagens. Ele visualiza e até converte imagens do tipo JPEG, TIFF, PNM, GIF entre outros formatos.

Checando se o pacote ImageMagick está instalado:

# rpm -q ImageMagick

Para instalar o ImageMagick pacote no Fedora, usamos o comando:

# yum install ImageMagick

Depois de instalarmos o pacote ImageMagick , use o mogrify para redimensionar arquivos. VEja o exemplo abaixo, que redimensiona todos arquivos JPG do diretório corrente para 640 pixels de comprimento:

# mogrify -resize 640 *.jpg

Para redimensionar a resolução de todos as imagens JPG para exatamente 640 pixels por 480, use::

# mogrify -resize 640x480! *.jpg

… recursos do ext3

uitas pessoas perguntam como criar arquivos maiores de 2GB em sistema de arquivos ext3. Quando criamos o sistema de arquivos o tamanho de blocos é que define o tamanho dos arquivos que poderão ser criados, além é claro de mais uma centena de funções. Para saber mais sobre isso, foi criado a tabela abaixo:

Tam. do Bloco Tam. Máximo de arquivos Tam. máximo do filesystem

1 Kb                          16Gb                                       2 Tb

2 Kb                          256Gb                                     8 Tb

4 Kb                          2Tb                                        16 Tb

8 Kb                          2Tb                                        32 Tb

Agora para criar um sistema de arquivos, use mke2fs.

# mke2fs -j -b 2048 /dev/sda5

No exemplo acima, é criado um sistema de arquivos com blocos de 2 Kb (especificado em bytes) na partição /dev/sda5.

… sistema reiniciando

Algumas vezes o sistema começa a reiniciar ou mesmo á desligar, sem que saibamos o problema, já que não há qualquer notificação de erro aparente.

Este é um problema que foi encontrado inicialmente no Red Hat Enterprise Linux 5.2, que na verdade é um bug no “cpufreq”, já que o mesmo entra em deadlock quando os módulos são travados, fazendo com que o sistema reinicie ou até mesmo desligue.

Para resolver este problema rapidamente, basta desabilitar o serviço de “cpuspeed”.

# chkconfig cpuspeed off
# service cpuspeed stop

Este serviço é responsável pela controle de energia.

… configurando squid para não fazer cache para alguns sites

Adicione as linhas abaixo no arquivo /etc/squid/squid.conf:

acl NOCACHEDOMAIN dstdomain www.redhat.com
no_cache deny NOCACHEDOMAIN

Ele não criará cache para os acesso feitos para o dominio www.redhat.com.

No /var/log/squid/access.log, ele apresentará a seguinte mensagem “TCP_MISS” nas visitas consecutivas.

197363963.721    892 127.0.0.1 TCP_MISS/200 11813 GET
http://www.redhat.com/ - DIRECT/209.132.177.50 text/html
1197364100.832    906 127.0.0.1 TCP_MISS/200 11813 GET
http://www.redhat.com/ - DIRECT/209.132.177.50 text/html

… fedora 9 – flash sem som no firefox

Após instalar e configurar corretamente todo o fedora 9, eis que surgiu um dos primeiros problemas, problema este, relacionado ao som do Flash no Firefox. Já que o novo Flash não funciona com o driver de som OSS e apenas com ALSA. Mas a Adobe já publicou uma série de instruções para resolver o problema mencionado.

E dando uma ajudinha, estou publicando libflashsupport (este arquivo terá que ser renomeado para .so) e deve ser colocado em /usr/lib. Ou então você mesmo pode compilar esta correção, usando o artigo abaixo ou mesmo dos dados da própria ADOBE (em inglês) : Site da ADOBE – Support for Linux

Mas se quiserem usar o fedora e quiser compilar o seu próprio (libflashsupport.so), vamos aos passos:

- Primeiro instale as dependências abaixo:

# yum -y install openssl* icu* libicu* oss* gcc

Então baixar o arquivo: http://www.kaourantin.net/flashplayer/flashsupport.c

E usar o seguinte comando para compilá-lo.

# gcc -shared -O2 -Wall -Werror -licuuc -lssl flashsupport.c -o libflashsupport.so

Se a compilação ocorrer com sucesso, não irá retornar nada após a execução da linha acima. Pronto, será gerado o arquivo libflashsupport.so, bastando apenas copiá-lo para /usr/lib e executando ldconfig e reiniciar o firefox para ouvir o som normalmente (seja lá no Youtube ou Charges.com)

Boa sorte a todos, e continuarei a postar mais dicas do Fedora 9.

… fedora 9 chegou !!!

Apos meses de desenvolvimento eis que chegou o Fedora 9. E este incrivel sistema, incrivel pois vi nele muito mais mudança do que quando surgiu a versão 8.

… alta disponibilidate “ethernet”

Neste pequeno artigo a idéia básica é ter uma interface virtual com duas interfaces de rede física, uma ativa e a outra desativada, caso a outra falhe. No linux esta facilidade em se configurar uma alta disponibilidade para a interface é chamada de bonding.

Isso na verdade só faz parte de uma solução com alta disponibilidade, já que para um servidor ser atrelado a uma infra-estrutura de alta disponibilidade, precisa de alguns componentes como um raid para os discos, fontes redundantes, etc.

O nome da interface pode ser algo específico, para cada usuário. Pode ser algo como bond0 ou algo similar. Lembrando que toda interface quandoé criada tem um MAC. No exemplo abaixo vamos agregar um mesmo MAC para ambas as interfaces.

Exemplo de configuração bonding

[root@real-server root]# modprobe bonding mode=1 miimon=100 downdelay=200 updelay=200
[root@real-server root]# ip link set dev bond0 addr 00:80:c8:e7:ab:5c
[root@real-server root]# ip addr add 192.168.100.33/24 brd + dev bond0
[root@real-server root]# ip link set dev bond0 up
[root@real-server root]# ifenslave  bond0 eth2 eth3
The interface eth2 is up, shutting it down it to enslave it.
The interface eth3 is up, shutting it down it to enslave it.
[root@real-server root]# ip link show eth2 ; ip link show eth3 ; ip link show bond0

4: eth2: <BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 100
  link/ether 00:80:c8:e7:ab:5c brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,NOARP,SLAVE,DEBUG,AUTOMEDIA,PORTSEL,NOTRAILERS,UP> mtu 1500
qdisc pfifo_fast master bond0 qlen 100
  link/ether 00:80:c8:e7:ab:5c brd ff:ff:ff:ff:ff:ff
58: bond0: <BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue
  link/ether 00:80:c8:e7:ab:5c brd ff:ff:ff:ff:ff:ff

Note que há uma nova saída para o comando ip link show. E temos assim duas interfaces, sendo uma master e a outra slave que ser reportam a mesma direção. Também as interfaces Ehternet indicam uma interface mestere com nome de master bond0

Note também que as 3 interfaces tem o mesmo MAC ADDRESS.

… campus party

Começa nesta segunda 11 de fevereiro, o Campus Party, evento que integra a comunidade da Internet e comunicação e tecnologia. Em sua décima primeira edição, a feira ocorre até sábado dia 16 no prédio da Bienal do Ibirapuera, em São Paulo.

Esta é a primeira vez, que o evento ocorre fora da Espanha. Para mais informações: http://www.campus-party.com.br

… traceroute com icmp e tcp

Quando “debugamos” problemas em um rede, sempre utilizamos alguns comandos ou temos sempre uma mesmo direcionamento:

- ping para o host

- traceroute para o host

- conectar ao host

- …

Mas quando nos confrontamos com firewall em algumas partes da rede, eis que surgem os problemas. Pois muitos firewalls bloqueiam o protocolo ICMP, e outros pings e até mesmo o uso traceroute se torna obsoleto. Para estes casos surge uma ferramenta bem interessante , o TCPtraceroute (ou similares).

Situação:

Imaginem a situação:Alguém esta tentando enviar um e-mail, porém esta tentando saber o porque o mesmo não está sendo enviado. O servidor está com o nome de BRUMAIL, e esta disposto em uma DMZ. Infelizmente não temos acesso as configurações do firewall, para verificar se há ou não uma regra barrando o tal acesso.

Passos para se debugar o fato relatado:

Segundo o que havíamos comentando inicialmente, as primeiras tentativas se baseiam exclusivamente nas 3 principais ferramentas: ping, traceroute, netcat

O teste de verificar se o host está sendo alcançado, ou mesmo ha resposta se baseia no ping, e veja o resultado:

$ ping -c 2 193.190.255.40
PING 193.190.255.40 (193.190.255.40) 56(84) bytes of data.

--- 193.190.255.40 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1014ms

O ping realmente não foi produtivo, já que nem mesmo nos retornou qualquer resposta. Então no tentamos utilizar o segundo comando traceroute:

$ tracepath -n 193.190.255.40
 1:  213.251.167.209   0.200ms pmtu 1500
 1:  213.251.167.252   0.819ms
 2:  213.186.32.1      0.634ms
 3:  213.186.32.4    asymm  2   2.467ms
 4:  194.68.129.183   16.559ms
 5:  193.191.1.1      16.443ms
 6:  193.191.1.174    17.083ms
 7:  no reply
 8:  no reply
 9:  no reply

Neste caso, tivemos um resultado para os 7 primeiros hops. Mas o hop 7 não nos mostra nada, e o firewall provavelmente nos anula qualquer resultado conclusivo. Neste caso, vamos utilizar o comando seguinte, o netcat, já que um acesso a porta do servidor de e-mail poderá ser algo bem mais conclusivo do que as tentativas anteriores.

$ nc -n -vv 193.190.255.40 25
(UNKNOWN) [193.190.255.40] 25 (smtp) : Connection timed out
 sent 0, rcvd 0

$ nc -n -vv 193.190.255.40 80
(UNKNOWN) [193.190.255.40] 80 (www) open
 sent 0, rcvd 0

Assim, verificamos que o nosso webserver esta rodando. E que o serviço de SMTP, ao qual havíamso inicialmente validar, está fora do ar. Infelizmente dizer para todos que a resposabilidade é do firewall, pode ser algo ainda prematuro, pois como na maioria dos lugares dirão que o firewall está configurado corretamente.

A solução:

TCPtraceroute (ou outras variantes) é a solução. Em comparação com o traceroute normal, tcptraceroute não usa pacotes ICMP. Mas ainda assim usa o principio o TTL para os hops, porém com pacotes TCP.

A grande questão é que os pacotes TCP, sempre são liberados nos firewall e não bloqueados com o ICMP. A resposta para as tentativas anteriores, para acesso ao webserver e ao SMTP seguem abaixo com a nova ferramenta.

$ tcptraceroute -i eth0 -n 193.190.255.40 80
Selected device eth0, address 213.251.167.209, port 53545 for outgoing packets
Tracing the path to 193.190.255.40 on TCP port 80 (www), 30 hops max
 1  213.251.167.252  0.522 ms  0.378 ms  0.544 ms
 2  213.186.32.1  0.475 ms * 5.214 ms
 3  213.186.32.4  0.657 ms * 1.252 ms
 4  194.68.129.183  15.986 ms  16.138 ms  15.946 ms
 5  193.191.1.1  15.824 ms  16.130 ms  16.017 ms
 6  193.191.1.174  16.204 ms  16.683 ms  16.917 ms
 7  193.191.9.29  17.168 ms  17.091 ms  17.676 ms
 8  193.190.255.40 [open]  16.953 ms  17.342 ms  17.429 ms

Aguarde, e verá que diferentemente do traceroute neste caso, são mostrados todos os hops além dos apenas 7, que tinhamos anteriormente. E ainda podemos assumir que o 193.191.9.29 é um fiewall. E imediatamente testaremos o serviço SMTP (Porta 25).

$ tcptraceroute -i eth0 -n 193.190.255.40 25
Selected device eth0, address 213.251.167.209, port 57399 for outgoing packets
Tracing the path to 193.190.255.40 on TCP port 25, 30 hops max
 1  213.251.167.252  0.504 ms  0.388 ms  0.396 ms
 2  213.186.32.1  0.292 ms * 6.403 ms
 3  213.186.32.4  0.977 ms * 0.691 ms
 4  194.68.129.183  16.052 ms  15.803 ms  15.862 ms
 5  193.191.1.1  16.088 ms  16.021 ms  15.870 ms
 6  193.191.1.174  16.806 ms  16.505 ms  16.571 ms
 7  * * *
 8  * * *
 9  * * *

A conclusão:

A conclusão é simples. É provavel que o firewall esteja bloqueando conexões para a porta 25. Com estas informações, podemos convencer todos sobre a configurações errônea do firewall.Já que a justificativa se mostra é a seguinte, porque o pacote vai até o hop7 e não até temos resposta do 8 em diante? E se buscarmos pela porta 80 isso não acontece, e só acontece caso tentamos o STMP na porta 25? Bem ai, está a justificativa.

Espero ter ajudado e boa sorte.

… fedora 6 – proxy transparente

Um amigo estava tentando colocar o Fedora 6, como proxy transparente. Embora eu tenha também tentado e como á máquina estava em produção, preferi baixar uma versão 2.5 e instalá-la e seguir a mesma receita de sempre :) . Porém no Fedora 6 quando ele é atualizado, somos apresentado a uma nova versão do squid (2.6.x), e ai esta o problema, pois não é tão simples criar um proxy transparente…ao menos era o que eu achava !!!!

Mas esta aí a dica do Moisés Coffani, que após várias tentativas também achou o pulo do gato !!

Veremos que é mais simples do que a gente imaginava:

1. Abra o arquivo /etc/squid/squid.conf e procure pela opção http_port.

Ela deve ficar assim http_port <ip squid>:<porta> <transparent> . Exemplo:

http_port 192.168.0.254:3128 transparent

2. Procure a opcao always_direct allow all , onde esta opção deve ser habilitada, já que por default ela vem desabilitada. Então basta retirar o # da frente e pronto.

O resto é seguir os passos simples, de redirecionamento via iptables e habilitar o forward de pacotes.

Pronto, agora é só reiniciar a máquina e navegar.

Valeu Moisés, pela dica !!!

… demorei

É demorei um pouco para atualizar novamente o blog, mas saiba que também mereço férias..mas enfim, estamos de volta e pretendo dar continuidade ao projeto do blog, assim como as notícias relacionadas ao Fedora.

Mas durante estes dias, surgiram novas notícias sobre a distro, inclusive o codinome escolhido para a versão 9.0 do fedora, Surphur.

Opiniões á parte, eu gostei !!! Lembrando que caso alguém se interesse, pode mandar artigos para adamantina.rodrigo@gmail.com, que o quanto antes estarei postando no blog.

Obrigado e continuando….

« Página anteriorPróxima Página »