Pages

Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Friday, June 04, 2010

LPIC-3 - 301 - PASS

Dentro das certificações da LPI, existe a LPI nível 3, onde tem a prova 301 sendo um requisito para poder realziar as demais provas, ela é considerada o exame CORE da LPI 3. Seguido da 301 atualmente existe a 302 (Samba) e a 303 (security), que são provas de especialização.

Hoje (04/06/2010) eu passei na 301. Eu já tinha realizado esta prova em dezembro de 2006 quando a LPI lançou a prova 301 e 302 mundialmente e eu tive o prazer de fazer ela como beta tester em São Paulo. E não passei por muito pouco, devido ao fato de não ter se dedicado aos estudos. Faz parte!!! Em breve pretendo marcar a 302.

Maiores informações sobre a LPIC-3 podem ser obtidas diretamente no site da LPI clicando aqui

Valeus

Wednesday, June 02, 2010

Adicionando o repositório backports no debian 5 (lenny)

O backports é um repositório onde pode ser encontrado diversos softwares que não estão presentes no repositório oficial do debian. é interessante ter este repositório configurado para tornar mais fácil a instalação dos pacotes no SO utilizando o apt-get.

Adicione o conteúdo abaixo ao arquivo /etc/apt/sources.list
deb http://www.backports.org/debian lenny-backports main contrib non-free

Atualize o repositório
apt-get update

Instale o pacote com a chave do repositório backports do debian
apt-get install debian-backports-keyring

Atualize novamente
apt-get update

Quando for instalar um pacote deve-se utilizar da seguinte forma:
apt-get -t lenny-backports install "package"

Você pode consultar os pacotes direto no site do backports antes de instalar o mesmo.
http://backports.org/dokuwiki/doku.php?id=packages

Maiores informações podem ser encontradas diretamente no site do backports, em:
http://www.backports.org/dokuwiki/doku.php?id=instructions

Segue meu arquivo /etc/apt/sources.list
deb http://www.backports.org/debian lenny-backports main contrib non-free
deb http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Wednesday, April 15, 2009

Limitando banda de download no apache

Para limitar banda diretamente no apache, pode-se utilizar o módulo mod-bw.

O site oficial é: http://bwmod.sourceforge.net/

Esta dica é útil quando se tem uma ADSL em casa ou um link pequeno em alguma empresa quando se tem arquivos para download em um servidor WEB apache. Assim você consegue limitar o uso de banda para download diretamente no apache.

Antes de iniciar a instalação no opensuse, é preciso instalar o pacote apache2-devel.

Se o zypper estiver configurado para obter os repositórios externos é só fazer isso:

zypper install apache2-devel


Na sequência pode-se iniciar a compilação do mod-bw.

wget http://bwmod.sourceforge.net/files/mod_bw-0.7.tgz
tar xvzf mod_bw-0.7.tgz
cd mod_bw



Edite o arquivo mod_bw.c e localize a seção abaixo:

/* Compatibility for ARP < 1 */
#if (APR_MAJOR_VERSION < 1)
#define apr_atomic_inc32 apr_atomic_inc
#define apr_atomic_dec32 apr_atomic_dec
#define apr_atomic_add32 apr_atomic_add
#define apr_atomic_cas32 apr_atomic_cas
#define apr_atomic_set32 apr_atomic_set
#endif



E deixe a seção acima conforme está abaixo:

/* Compatibility for ARP < 1 */
/*
#if (APR_MAJOR_VERSION < 1)
#define apr_atomic_inc32 apr_atomic_inc
#define apr_atomic_dec32 apr_atomic_dec
#define apr_atomic_add32 apr_atomic_add
#define apr_atomic_cas32 apr_atomic_cas
#define apr_atomic_set32 apr_atomic_set
#endif
*/


Isso porque se deixar como o default, o apache não irá inicializar, e dará um erro como o seguinte:

httpd2-prefork: Syntax error on line 116 of /etc/apache2/httpd.conf: Syntax error on line 33 of /etc/apache2/sysconfig.d/loadmodule.conf: Cannot load /usr/lib/apache2/mod_bw.so into server: /usr/lib/apache2/mod_bw.so: undefined symbol: apr_atomic_cas


Após a alteração, faça a compilação do módulo:

apxs2 -i -a -c mod_bw.c


Para configurar o módulo, edite o arquivo de configuração do seu server apache, no meu caso /etc/apache2/default-server.conf porque não utilizao mais de um domínio. E adicione o conteúdo abaixo no arquivo.

BandWidthModule On
ForceBandWidthModule On
BandWidth 192.168.0.0/24 0
BandWidth all 60000



Explicando as linhas
1a. Habilita o controle de banda
2a. Garante que cada requisição http será "controlada"
3a. Diz que a rede interna (192.168.0.0/24) não será limitada
4a. Diz que todo o resto será limitado em 60K/s


É isso ai! só fazer o teste agora, faça o teste antes de colocar o módulo em ação e depois ative o mesmo e veja a diferença na taxa de transferência.

Fabio

Monday, August 18, 2008

Extraindo conteúdo de arquivos rpm

Esta dica é meio útil as vezes.... já tive a necessidade de extrair algum arquivo de dentro de um arquivo .rpm .

O processo é simples e utiliza o cpio.

rpm2cpio pacote.rpm | cpio -idmv


Feito isso, você pode verificar no diretório que está os novos arquivos presentes, são os arquivos do rpm.

Para melhor organizar, crie um diretório antes de extrair e copie o arquivo rpm para dentro dele, só então faça a extração.

Valeu!!

Wednesday, August 13, 2008

VPN Site-to-Site IPSec entre Cisco ASA e Linux

Este howto explica como configurar uma conexão VPN site-to-site entre um equipamento Cisco ASA 5510 e uma máquina Linux. Ambos os sites tem que ter IP fixo neste exemplo.

Softwares utilizados:
ASA: asa803-k8.bin


Linux: OpenSuse 11 e pacote openswan (da prória distribuição)


A topologia do ambiente está definido abaixo.



A configuração do openswan é realizada no arquivo /etc/ipsec.conf o conteúdo do arquivo está abaixo, nada mais é necessário para o funcionamento deste exemplo. A criptografia utilizada é 3des-sha.


version 2.0
config setup
interfaces="ipsec0=eth0"
nat_traversal=yes

conn cisco
authby=secret
pfs=yes
auto=start
keyingtries=3
disablearrivalcheck=no
#IPsec Params
type=tunnel
auth=esp
compress=no
keylife=60m
#IKE params
keyexchange=ike
ikelifetime=240m
ike=3des-sha1
# Left security gateway (lado do linux)
left=192.168.2.245
leftsubnet=192.168.10.0/24
leftnexthop=192.168.2.244
# Right security gateway, (lado do ASA)
right=192.168.2.244
rightsubnet=192.168.1.0/24
rightnexthop=192.168.2.245
rightsourceip=192.168.2.244



Arquivo /etc/ipsec.secret

# PSK
192.168.2.245 192.168.2.244: PSK "cisco"


Feito isso, é preciso iniciar o serviço.
rcipsec start



Na sequência a configurar do ASA

Configuração relevante do Cisco ASA


interface Ethernet0/0
nameif outside
security-level 0
ip address 192.168.2.244 255.255.255.0
!
interface Management0/0
nameif management
security-level 100
ip address 192.168.1.1 255.255.255.0
!
....
....
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
access-list management_nat0_outbound extended permit ip 192.168.1.0 255.255.255.0 192.168.10.0 255.255.255.0
access-list outside_1_cryptomap extended permit ip 192.168.1.0 255.255.255.0 192.168.10.0 255.255.255.0
nat (management) 0 access-list management_nat0_outbound
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto map outside_map 1 match address outside_1_cryptomap
crypto map outside_map 1 set pfs
crypto map outside_map 1 set peer 192.168.2.245
crypto map outside_map 1 set transform-set ESP-3DES-SHA
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
no crypto isakmp nat-traversal
tunnel-group 192.168.2.245 type ipsec-l2l
tunnel-group 192.168.2.245 ipsec-attributes
pre-shared-key cisco
!



A partir dai, é só tentar pingar o site remoto a partir dos hosts internos.

PC na rede ASA
ping 192.168.10.2


PC na rede Linux
ping 192.168.1.2



Para verificar se o túnel está UP no ASA

ASA# show isakmp stats
Global IKE Statistics
Active Tunnels: 1
.....


Se correu tudo certo... deve estar funcionando... aqui está :D

Qualquer dúvida entre em contato.

Abraços
Fabio

Tuesday, June 03, 2008

Acertando o timezone no Linux

Esta dica é útil para acertar o timezone do linux.

É importante que o timezone esteja correto pois ao sincronizar o horário com um servidor ntp, a informação da hora será sincronizada com o horário errado devido ao timezone.

Para verificar o timezone que está utilizando utilize o comando date.

linux# date
Tue Jun 3 11:59:07 AMT 2008


Pode-se ver que a saída do comando indica que o timezone configurado é AMT, e deveria estar como BRT.

Para isso, é preciso executar o comando abaixo:

linux# ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime


Este comando define que o timezone a ser utilizado pelo S.O. é referente ao timezone de Sao_Paulo.


linux# date
Tue Jun 3 13:14:40 BRT 2008


Fim.

Sunday, May 18, 2008

Log do squid legível

Este comando faz com que a saída do log do squid se torne legível em vez de ficar com aqueles números na frente que são informações sobre data e hora do acesso realizado.

Em conjunto com o awk, estes códigos são transformados do formato Unix Time para um formato que seja possível ser lido por humanos.
tail -f access.log | awk '{print strftime("%c",$1)$3" "$8" "$7}'

Veja que isso é feito em tempo real utilizando o comando tail, diferente desta outra opção postada a algum tempo atrás http://www.fabiosilva.eti.br/site/2007/09/15/squid-log/ .

Valeu

Thursday, April 17, 2008

RedHat Enterprise Linux 5.1 Cluster Suite

Recentemente precisei configurar um ambiente com RHEL 5.1 Cluster Suite.

Em contato com o pessoal do canal #linux-cluster no irc.freenode.net, eles me esclareceram algumas dúvidas e então consegui montar o ambiente.

Assim, resolvi criar um howto em português para que fosse disponibilizado na página do projeto de cluster da redhat, e aqui está o link para os interessados.

http://sources.redhat.com/cluster/wiki/QuickStart-Portuguese

Qualquer dúvida entre em contato.

Tuesday, March 04, 2008

Definindo os parâmetros do ethtool no boot

A ferramenta ethtool serve para modificar a velocidade de transmissão da placa de rede e também se irá transferir dados em modo full duplex ou half duplex.

Serve para verificar se existe link na interface, se está definido para autonegociar os dados de transmissão e mais algumas coisas.

A saída do comando é como está abaixo.
linux:~ # ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Current message level: 0x000000ff (255)
Link detected: yes
linux:~ #

Para alterar os parâmetros de speed, duplex e remover a opção de autonegociação, o comando fica da seguinte forma.
linux:~ # ethtool -s eth0 speed 100 duplex full autoneg off

Mas, se a máquina é reiniciada, o comando não é executado novamente, o que pode ser feito é adicionar o comando acima ao arquivo /etc/rc.local, ou algum outro arquivo de inicialização de sua distribuição.

Mas também pode-se colocar a linha abaixo no arquivo /etc/sysconfig/network-scripts/ifcfg-eth0 isso faz com que quando o serviço de rede for iniciado, ele já repasse estes comandos para a interface de rede, e o comando manual ou o comando definido no arquivo /etc/rc.local não seja mais necessário.
ETHTOOL_OPTS="speed 100 duplex full autoneg off"

Essa dica foi feita no OpenSuse.

Sem mais.

Tuesday, February 05, 2008

Monitorando performance de máquinas linux com o nmon

Existem diversos programas para monitorar performance de máquinas linux como vmstat, ioscan, etc... porém, um que é muito interessante é o nmon, um software da IBM que roda em ambientes linux e AIX.

O site oficial é este, após abrir o site, tem as opções de download, eu utilizo o pacote para o SO SLES 10 neste link

Após o download, é preciso descompactar o arquivo e setar permissão de execução para o mesmo.
linux# unzip nmon_x86_11f.zip
linux# chmod +x nmon_x86_sles10

A partir dai é só executar o mesmo.
linux# ./nmon_x86_sles10

Para ficar mais fácil e acessível, aconselho que o arquivo seja renomeado para nmon e então movido para /usr/sbin/
linux# mv nmon_x86_sles10 nmon
linux# mv nmon /usr/sbin


Pois assim é possível executar o programa de qualquer lugar dentro do linux.

As opções são bem intuitívas... para informações sobre cpu aperte C, para memória M, para disco D...

Valeu...
:D

Wednesday, October 24, 2007

Tela preta no boot do Ubuntu Gutsy Gibbon

Após a instalação do Ubuntu Gutsy Gibbon (7.10) ao efetuar o boot pela primeira vez, uma tela preta é exibida, após uma pesquisa no google, pude encontrar as informações abaixo:

Como diz no launchpad, é um bug.
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/150930

Para resolver o problema é preciso fazer:

1) Instalar ubuntu
2) Mudar a resolução no arquivo /etc/usplash.conf para 1024x768
3) sudo update-initramfs -u -k `uname -r`


Pronto!

Agora o usplash está OK.

Monday, October 22, 2007

Resolvendo problema do Cedilha ç no Ubuntu Gutsy

Se utilizar Ubuntu Gutsy 7.10 em Inglês e tiver problemas com o cedilha, faça o seguinte.

Edite o arquivo:

/usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules


E adicionar "en" na linha do modulo cedilla, deixando conforme abaixo:

"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:en:fr:gv:oc:pt:sq:tr:wa"


Reinicie o X e pronto... agora o cedilha ç está funcionando corretamente.

Valeu.

Fabio

Sunday, October 14, 2007

Mplayer - Error opening/initializing the selected video_out

Ao tentar executar algum tipo de vídeo no Mplayer, o seguinte erro é exibido "Error opening/initializing the selected video_out (-vo) device." e o vídeo não é exibido.

Para corrigir este problema, clique com o botão direito na janela do Mplayer e vá em Preferences --> Video --> e selecione x11.

Feito! A partir de agora é possível ver vídeos no Mplayer, isso se tiver os plugins corretos instalados.

Instalando pidgin através do apt-get

O pacote do programa pidgin ainda não existe no repositório do ubuntu, mas, no site www.debuntu.org pode-se encontrar o pacote prontinho para ser instalado.

Edite o arquivo /etc/apt/sources.list e adicione as seguintes linhas


deb http://repository.debuntu.org/ feisty multiverse
deb-src http://repository.debuntu.org/ feisty multiverse


E então:

sudo apt-get update
sudo apt-get install pidgin


Pronto, aperte ALT + F2 e digite pidgin.

Fonte: http://www.debuntu.org/pidgin-2.0.0-deb-ubuntu-feisty-fawn

w32codecs plugins

O pacote w32codecs é uma ótima coleção de plugins multimídia para o linux, para instalar este pacote no ubuntu, pode-se fazer da seguinte maneira:
wget http://www.debian-multimedia.org/pool/main/w/w32codecs/w32codecs_20071007-0.0_i386.deb

E em seguida:
sudo dpkg -i w32codecs_20071007-0.0_i386.deb

A partir de agora é possível ver vídeos e ouvir músicas no seu ubuntu.

Existem outras formas e outros tipos de plugins dispoíveis no Ubuntu, esta é apenas mais uma dica.

Fim.

Friday, September 28, 2007

Servidor de Log com syslog-ng

É muito bom para o administrador da rede ter os logs centralizados em um único local, para isso, pode ser utilizado o syslog-ng, que é a nova geração do antigo syslog.

A configuração abaixo foi testada no Opensuse 10.2 que por padrão já utiliza o syslog-ng.

Editar o arquivo /etc/syslog-ng/syslog-ng.conf e acrescentar no final do arquivo o seguinte:
source s_remote {
tcp();
};
destination d_clients {
file("/var/log/servers/$HOST/$FACILITY" owner("root") group("root") perm(0660) dir_perm(0770) create_dirs(yes));
};
log {
source(s_remote);
destination(d_clients);
};

Neste caso, os logs serão divididos por HOST e também pela facility do log, se é autenticação, sistema, etc...

Tuesday, September 18, 2007

Remover mensagem de vacation

O vacation é um programa utilizado para enviar email de resposta automático quando os usuários estão de férias ou não estão no escritório.

A ativação do vacation (se instalado no servidor de email), pode ser feito da seguinte forma como usuário root.

linux# su - usuario
usuario@linux:~> vacation


Ele automaticamente cria os arquivos .forward , .vacation.db e .vacation.msg dentro do home do usuário .

E a forma que eu achei para remover esta mensagem automática foi remover os arquivos que são criados pelo comando vacation.

Para isso:

linux# su - usuario
usuario@linux:~> rm -rf .vacation* .forward*


Acho que é isso.

Alterando data de arquivo com touch

O comando touch pode ser utilizado para alterar datas de arquivos, precisei utilizar este comando e ai vai a dica.


touch -t 200707101001 arquivo.txt


Onde:
2007 = Ano
07 = Mês
10 = Dia
10 = 10 Horas
01 = Minutos

Para maiores informações e funcionalidades do comando touch.

man touch


Valeu

Saturday, September 15, 2007

Alta Disponibilidade - Debian

Os softwares utilizados são: Heartbeat e DRBD

O Heartbeat é utilizado para fazer a alta disponibilidade, detectando quando existe falha em um nodo e ativando o outro.

O DRBD é utilizado para fazer a replicação dos dados via rede, (RAID-1).

Pré-requisitos

Debian 3.1r3
Dois computadores
3 placas de rede cada


Faça a instalação padrão do debian e começe a configuração.
Topologia

A topologia criada para esta implementação foi a seguinte:

Nó 1 (ha-cluster1)
eth0 - 192.168.12.231
eth1 - 10.0.1.1 (drbd)
eth2 - 10.0.0.1(heartbeat)

Nó 2 (ha-cluster2)
eth0 - 192.168.12.232
eth1 - 10.0.1.2 (drbd)
eth2 - 10.0.0.2 (heartbeat)

Squid Log

O formato que o squid gera a data no arquivo squid.log não da para ser interpretado corretamente, isso é porque o formato desta data é no formato Unix Time. Estes códigos abaixo em perl, fazem com que esta data seja transformada em um formato que seja possível ser lido por humanos :P ...

Crie um arquivo por exemplo, convert.sh e coloque em seu conteúdo o seguinte.
#! /usr/bin/perl -p
s/^\d+\.\d+/localtime $&/e;

Dê permissão de execução
chmod 755 convert.sh

E então, execute o mesmo passando como parâmetro o arquivo de log do squid
./convert.sh /var/log/squid/access.log

Valeu