Claudio Borges

Technical blog about Linux, BSD, Mac OS X, Games and etc.

Archive for the ‘Linux’ tag

Palestra Nginx Linuxcon 2010

without comments

Participei do Linuxcon 2010, muito bom por sinal. Devido ao trabalho, fui somente no segundo dia (01/09), minha palestra estava marcada para as 15:00, cheguei lá por volta as 12:20, ainda tinha que almoçar e dar um tapa final nos slides.

Assim que entrei e peguei minha credencial, encontrei com o Maddog e enquanto todos estavam rodeando ele para tirar fotos, passou o Andrew Morton, tive o prazer de conversar um pouco com ele, muito atencioso, só que estava com um pouco de pressa, pois estava olhando para o relógio, pena que não pude tirar nenhuma foto, não passou uma viva alma naquele momento.

Depois disso, fui para a sala da Locaweb, deixei minha mochila e fui almoçar, praça de alimentação lotada e a única alternativa foi comer McDonald’s. Terminado o almoço, ou melhor, lanche, voltei para terminar os slides e fazer uma revisão geral para ver se não tinha nenhum erro. Infelizmente não tive muito tempo para elaborar esta palestra, foi meio que de última hora e por este motivo tudo foi meio improvisado. O pessoal estava com várias perguntas legais, muitas dúvidas inteligentes, no final fiquei batendo um papo com algumas pessoas.

Para aqueles que quizerem baixar o conteúdo que foi apresentado, clique aqui.

Written by but3k4

September 2nd, 2010 at 2:16 pm

Posted in Geral

Tagged with , , ,

Autenticação 802.1x em redes ethernet

without comments

Alguns amigos tiveram dificuldades para autenticar no servidor Radius, isto porque o servidor dhcp somente liberava ip via autenticação, por este motivo resolvi criar este post.

Basicamente você vai utilizar wireless over ethernet, pois o responsável pela autenticação no Radius será o wpa_supplicant. Os procedimentos abaixo são baseados em Debian, caso você utilize outro SO, adapte este documento conforme sua necessidade.

Comece instalando o wpa_supplicant:

apt-get clean
apt-get update
apt-get install -y wpasupplicant

Com o wpa_supplicant instalando, vamos a configuração. Crie o arquivo /etc/wpa_supplicant/wired.conf com o seguinte conteudo:

# /etc/wpa_supplicant/wired.conf
#
ctrl_interface=/var/run/wpa_supplicant
network={
	key_mgmt=WPA-EAP
	eap=PEAP
	pairwise=CCMP TKIP
	group=CCMP TKIP
	identity="claudio@claudioborges.org"
	password="lalalalaxxxxx"
	phase1="peaplabel=0"
	phase2="auth=MSCHAPV2"
}

Obs: Não esqueça de substituir os valores de identify e password por seu usuário e senha.

Para testar se a autenticação está funcionando, inicie o wpa_supplicant em modo debug:

wpa_supplicant -Dwired -ieth0 -d -c/etc/wpa_supplicant/wired.conf

Se tudo correr bem, você será autenticado, caso ocorra algum problema como senha expirada ou algo do gênero, o debug irá lhe mostrar.

Estando tudo certo no passo anterior, vamos deixar a configuração de modo que o serviço seja iniciado de forma automática. Edite o seu /etc/network/interfaces e ajuste os valores a serem utilizados na sua interface:

auto eth0
iface eth0 inet dhcp
   wpa-driver wired
   wpa-conf /etc/wpa_supplicant/wired.conf

E para finalizar, reinicie as interfaces de rede:

/etc/init.d/networking restart

Seguindo os passos acima, você terá sua autenticação over ethernet.

Written by but3k4

June 28th, 2010 at 4:53 pm

Posted in Links

Tagged with , , ,

Adicionando suporte a HP Smart Array B110i no Redhat 5.4

with 8 comments

Há alguns dias atrás me deparei com um problema. Estava mexendo em uma blade HP e fiz o raid 1 via hardware, até ae tudo bem. Depois gravei o iso do Red Hat 5.4 e fui fazer a instalação. Quando a instalação começou, vi que os discos eram reconhecidos individualmente, ou seja, o SO reconheceu os 2 discos e não o volume que criei. Há princípio achei que era problema na controlada, pois todos os servidores que já mexi, quando a controladora não é reconhecida, os discos também não são.

Depois de muito apanhar, descobri que o problema era driver.

Com o problema em mãos, fui atrás de uma solução. Pesquisei no site da HP e vi que ela disponibiliza o driver em em formato .rpm. Só que o rpm neste momento não me ajuda pois preciso que a controladora seja reconhecida no boot e não depois da instalação. Eles até disponibilizam o disquete de boot com o driver, mas para RedHat 5.3, como o kernel do 5.4 é mais novo o driver não funciona.

Por este motivo resolvi criar este artigo. Os passos que irei mostrar servem para qualquer driver, e funcionam tanto em Red Hat quanto para CentOS, ajuste-o conforme sua necessidade.

Os itens que iremos utilizar são:

rhel-server-5.4-x86_64-dvd.iso
hpahcisr-1.2.1-9.rhel5.x86_64.rpm

Primeiramente vamos montar o iso e copiar os arquivos para customizá-lo. Os comandos abaixo são responsáveis por criar os diretórios que iremos utilizar para montar o iso e copiar os arquivos:

mkdir -p /mnt/{driver,original,customizado}
mount -o loop /root/rhel-server-5.4-x86_64-dvd.iso /mnt/original/
cp -av /mnt/original/* /mnt/original/.discinfo /mnt/original/.treeinfo /mnt/customizado/

Dando continuidade, vamos descompactar o hpahcisr-1.2.1-9.rhel5.x86_64.rpm para pegar o driver e incluir no initrd:

cd /mnt/driver/
rpm2cpio /root/hpahcisr-1.2.1-9.rhel5.x86_64.rpm | cpio -idmv

Dentro do diretório /mnt/driver ele vai criar o opt/hp/storage_drivers/hpahcisr-1.2.1_2009_09_17.tar.gz, precisamos descompactar este arquivo e separar os módulos que iremos utilizar:

tar xzf ./opt/hp/storage_drivers/hpahcisr-1.2.1_2009_09_17.tar.gz
cp -a hpahcisr-1.2.1_2009_09_17/lib/modules/2.6.18-164.el5/kernel/drivers/scsi/hpahcisr/hpahcisr.ko /mnt/driver/

Com o driver separado, vamos descompactar o initrd:

cd /mnt/customizado/isolinux/
mkdir initrd
cd initrd
gzip -dc ../initrd.img | cpio -ivd

Descompactando os modules:

cd modules
gzip -dc modules.cgz | cpio -idumv

Agora precisamos copiar o driver para dentro do diretório que foi criado com o comando acima e adicionar o mesmo nos arquivos para serem lidos no boot:

cp -a /mnt/driver/hpahcisr.ko 2.6.18-164.el5/x86_64/
modinfo -F alias 2.6.18-164.el5/x86_64/hpahcisr.ko | sed -e 's/^/alias /' -e 's/$/ hpahcisr/' >> modules.alias
sed -i '/^hptiop/ihpahcisr\n\tscsi\n\t\"Update HP HPAHCISR driver\"' module-info
sed -i '/^hptiop/ihpahcisr: scsi_mod' modules.dep

Depois de adicionar o driver e incluir o mesmo nos arquivos necessário, precisamos compactar os modules:

rm -f modules.cgz
find 2.6.18-164.el5 | cpio -o -H crc | gzip -9 > modules.cgz
rm -rf 2.6.18-164.el5
cd ..

Com este passo finalizado, vamos recriar o initrd:

find . | cpio -o -H newc | gzip -9 > ../initrd.img
cd ..
rm -rf initrd

O initrd está pronto, ou seja, agora quando você gravar o .iso, a controladora será reconhecida no boot, só que se você instalar o SO e não instalar o driver vai dar problema pois no initrd do kernel que vem no iso não tem o driver, então adicione o hpahcisr-1.2.1-9.rhel5.x86_64.rpm a arvore de pacotes e recriar os .xml utilizados para a instalação dos pacotes:

cp -a /root/hpahcisr-1.2.1-9.rhel5.x86_64.rpm /mnt/customizado/Server/
cd /mnt/customizado/Server/
createrepo -u "media://`head -1 ../.discinfo`" -g repodata/comps-rhel5-server-core.xml .

No passo final, vamos recriar o .iso:

cd /mnt/customized64/
mkisofs -V "Custom Red Hat 5.4" -r -R -J -T -v -no-emul-boot \
-boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin \
-c isolinux/boot.cat -o /root/RedHatLinux54-customized.iso .

Grave o .iso em um dvd e instale seu servidor, na hora do boot, digite:

linux text

Quando finalizar a instalação, vai apagar um botão para dar boot, NÃO FAÇA ISSO AINDA, aperte:

alt + f2

Vai abrir um terminal, digite:

cd /mnt/sysimage/
chroot .
mount /dev/scd0 /media/
rpm -ivh /media/Server/hpahcisr-1.2.1-9.rhel5.x86_64.rpm
umount /media/
exit

Aperte alt +f1 e agora pressione o OK que quando o servidor voltar do boot, seu sistema vai estar instalado com o driver da controladora. A última coisa a ser feita é excluir o kernel das atualizações do sistema pois se você atualizar, irá perder o suporte da controladora e irá ferrar todo o seu sistema pois vai quebrar o raid, então digite:

echo "" >> /etc/yum.conf
echo "# Exclui o kernel da atualizacao, necessario para o modulo da hp." >> /etc/yum.conf
echo "# Nao tente copiar o modulo para uma versao mais nova do kernel," >> /etc/yum.conf
echo "# que alem de nao funcionar, vai foder o lvm." >> /etc/yum.conf
echo "exclude=kernel*" >> /etc/yum.conf

Agora você sabe como customizar um dvd de Red Hat e CentOS, caso queira remover pacotes e/ou atualizá-los, basta remover os arquivos .rpm do diretório Server e depois rodar o comando createrpo como mostrado anteriormente.

Written by but3k4

April 16th, 2010 at 5:16 pm

Posted in Linux

Tagged with , ,