segunda-feira, 25 de fevereiro de 2013

Instalando OpenSIPS 1.6.4 no CentOS 5.6 com mi-xmlrpc

Pre-requisitos: LAMP (GNU/Linux, Apache, MySQL, PHP) 
Recentemente, ouvi de algumas pessoas que é difícil de instalar OpenSIPS, principalmente o módulo mi_xmlrpc no CentOS. Alguns servidores não suportam Debian ou Ubuntu, onde o processo de compilação é bastante simples, mas na maioria dos casos eles apóiam RedHat e CentOS. As instruções abaixo são válidas para ambos. Usando o sistema operacional pré-instalado é valioso porque, por vezes, do suporte técnico e drivers melhorados. O objetivo deste tutorial é mostrar como compilar com sucesso OpenSIPS no CentOS. Esta configuração foi testada com CentOS-5.6-i386-bin-DVD.
O processo de instalação é descrito passo a passo abaixo:
Passo 1: instalar as dependências.
yum install gcc gcc-c++ bison flex zlib-devel openssl-devel mysql-devel subversion pcre-devel

Passo 2: Baixe a fonte OpenSIPS do repositório svn.
cd /usr/src
svn co https://opensips.svn.sourceforge.net/svnroot/opensips/branches/1.6 opensips_1_6

Passo 3: Compile a biblioteca xmlrpc-c
wget http://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%20Super%20Stable/1.06.41/xmlrpc-c-1.06.41.tgz
tar -xzvf xmlrpc-c-1.06.41.tgz
cd xmlrpc-c-1.06.41
./configure --disable-abyss-threads
make
make install

Passo 4: Inserir as bibliotecas xmlrpc na ld.config
cd /etc/ld.so.conf.d
vim xmlrpc.conf (criar um novo arquivo e inserir a linha abaixo)
/usr/local/lib
ldconfig –v |more (verifique se as bibliotecas em /usr/loca/lib estão sendo adicionadas)

Você vai receber um aviso sobre a versão do xmlrpc-c. Ignore-lo, nas versões mais recentes é seguro para compilar a versão estável, com tópicos desativado.
Passo 5: Use o seu editor favorito Linux para editar o Makefile
Retire do “exclude_modules?=” (Linha 52),  o db_mysql módulos e mi_xmlrpc. Isso fará com que o processo de compilação incluem o db_mysql módulos e mi_xmlrpc.
cd /usr/src/opensips_1_6
vim Makefile

Passo 6: Compilar e instalar o núcleo e os módulos.
make prefix=/ all
make prefix=/ install

Com isto o OpenSIPs está instalado e rodando, agora somente realizar as configurações.

Placa QC-410-P - Segunda parte.

Dando sequencia, neste post, iremos tratar do ficheiro "chan_dahdi.conf". O mais importante como vimos na primeira parte é conectar a placa em un slot PCI e conectar um conector molex da fonte do seu servidor. É importante neste momento também fazer o calculo para saber se a fonte suporta a garga total do servidor. Devo lembrar que este conector é realmente necessário se tivermos modulos FXS, pois neste caso é nos que entregamos a corrente ao telefone analogico conectado a este modulo, como no meu laboratorio estou com os quatros modulos FXO, o conector realmente não faria falta.

Lembrando que na primeira parte, se realizamos a instalação correta do Dahdi-linux e Dahdi-Tools, podemos para melhorar os recursos de nosso servidor ter somente o modulo "wctdm24xxp" ativado. Vamos editar o mesmo e deixa-lo igual o que esta abaixo descrito. Os modulos que realmente irão ficar ativados vou deixar em vermelho:

[root@qc-pbx-ip /]# cd /etc/dahdi/
[root@qc-pbx-ip /]# vim modules

# Contains the list of modules to be loaded / unloaded by /etc/init.d/dahdi.
#
# NOTE:  Please add/edit /etc/modprobe.d/dahdi or /etc/modprobe.conf if you
#        would like to add any module parameters.
#
# Format of this file: list of modules, each in its own line.
# Anything after a '#' is ignore, likewise trailing and leading
# whitespaces and empty lines.

# Digium TE205P/TE207P/TE210P/TE212P: PCI dual-port T1/E1/J1
# Digium TE405P/TE407P/TE410P/TE412P: PCI quad-port T1/E1/J1
# Digium TE220: PCI-Express dual-port T1/E1/J1
# Digium TE420: PCI-Express quad-port T1/E1/J1
#wct4xxp

# Digium TE120P: PCI single-port T1/E1/J1
# Digium TE121: PCI-Express single-port T1/E1/J1
# Digium TE122: PCI single-port T1/E1/J1
#wcte12xp

# Digium T100P: PCI single-port T1
# Digium E100P: PCI single-port E1
#wct1xxp

# Digium TE110P: PCI single-port T1/E1/J1
#wcte11xp

# Digium TDM2400P/AEX2400: up to 24 analog ports
# Digium TDM800P/AEX800: up to 8 analog ports
# Digium TDM410P/AEX410: up to 4 analog ports
wctdm24xxp

# X100P - Single port FXO interface
# X101P - Single port FXO interface
#wcfxo

# Digium TDM400P: up to 4 analog ports
#wctdm

# Digium B410P: 4 NT/TE BRI ports
#wcb4xxp

# Digium TC400B: G729 / G723 Transcoding Engine
#wctc4xxp

# Xorcom Astribank Devices
xpp_usb
Para sair do editor VIM salvando as alterações neste ficheiro utilize o comando "Esc -> Shift : -> wq" 

[root@qc-pbx-ip /]#

[root@qc-pbx-ip /]# service dahdi restart
Unloading DAHDI hardware modules: ERROR: 
Module dahdi is in use error
Loading DAHDI hardware modules:
  wctdm24xxp:                                        [  OK  ]
  xpp_usb:                                                 [  OK  ]

Running dahdi_cfg:                                         [  OK  ]
[root@pbx4ip dahdi]#

[root@pbx4ip dahdi]# dahdi_tool


[root@pbx4ip dahdi]#

Uma vez realizada todas as configurações anteriores, falta somente adaptar o ficheiro "chan_dahdi.conf" do servidor QualiCheck PBX IP para trabalhar com os modulos. O ficheiro "chan_dahdi.conf" pode ser tão simples ou tão complexo por permitir uma personalização, quase que milimetrica do sistema com a respectiva rede telefonica (PSTN).


O contexto principal neste ficheiro é "[channels] e apartir dai surgem varias configurações basicas que vou comentando:


[root@pbx4ip dahdi]# cd /etc/asterisk
[root@pbx4ip dahdi]# cp -a chan_dahdi.conf chan_dahdi.conf.000
[root@pbx4ip dahdi]# > chan_dahdi.conf

[root@pbx4ip dahdi]# vim chan_dahdi.conf


[trunkgroups]

[channels]
language=us
 // Linguagem que vamos a usar

usercallerid=yes
// Se queremos utilizar o identificador da chamada

cidsignalling=v23
// Sinalização CID mais comun, também é a opção Bell

cidstart=ring
// Qual é o sinal de inicio de uma chamada. Aqui em caso de linhas RTB normais, ring //e o mais comum, porém em caso de usar enlaces GSM analogicos, seria uma boa //idea colocar outro sistema como polarity_IN (inversão de polaridade) pelo proprio //funcionamento do mesmo que não vem ao caso agora, o que é mais do que provado //que com o ring também funciona, claro que com mais promas propensão a falhas.

hidecallerid=no
// Auto explicativo, se queremos ocultar nosso identificador de chamadas

callwaiting=yes
// Se podemos colocar as chamadas em espera, utilizamos o boton "Hook Flash" //(muito comum de ser visto em telefones analogicos com uma letra "R" e que é //configuravel na maioria dos casos) para saltar de uma chamada em espera para //outra

callwaitingcallerid=yes
// No caso de poder ter chamadas em espera, poder ver o Identificativo da chamada quando vamos saltando de uma para outra chamada

threewaycalling=yes
// Chamadas a três ativo, considere especialmente para chamadas através da PSTN, que esses valores devem ser apoiados ainda pela mesma e a maioria dos operadores (PSTN) tem tipicamente esses como "serviços adicionais".

transfer=yes
// Chamadas de transferência de energia, não por causa de limitações de nossa Dialplan, mas pela PSTN como discutido anteriormente

canpark=yes
// Capaz de estacionar chamadas, também. Diferença entre colocar uma chamada em espera e estacioná-lo, é que, no segundo caso, o utilizador é, por exemplo, pode recuperar a chamada de outra extensão diferente

cancallfoward=yes
// Para poder “reenviar” a chamada

callreturn=yes
// Para poder voltar a receber de volta uma chamada reenviada sem exito

echocancel=yes
// Cancelamento de eco ativado

echocancelwhenbridged=no
// Se a chamada permanece "dentro" exemplo a rede de uma extensão analógico para um dispositivo SIP, para que você não cancelar o eco em vão (porque a chamada com um atraso mínimo realmente não o exigir). É engraçado porque essa opção é definida "sim" por padrão, e nós temos que desativá-lo na maioria das configurações chan_dahdi

echotraining=800
// ms (milisegundos) tempo que leva para "aprender" como "retardado", vem a chamada e cancelamento de eco para aplicar. Variáveis ​​envolvidas no algoritmo como o atraso médio, e quantidades de jitter para algo como o desvio padrão sobre a média de atraso.

relaxdtmf=yes
// Nós tínhamos visto isso no ... o feliz DTMF SIP freqüentemente levantam questões especialmente na base de que não sabemos qual o sistema carrega o chamador.

rxgain=1.0
txgain=2.0

// Ganhos em decibéis da respectivamente entrada e de saída

busydetect=yes
busypattern=200,200

// Com essas opções, simplesmente vamos detectar se o outro lado está se comunicando com um clássico tom de ocupado em nosso aparelho. Você pode especificar a cadência em ms do tom a ser detectado. Isso é diferente em cada país e geralmente fornecido em uma linha PSTN, pode ser encontrado nas regras do maior fornecedor de Portugal, por exemplo, a PT

answeronpolarityswitch=yes
hanguponpolariryswitch=yes

// Isto é essencial para, como discutido anteriormente, a gestão de chamadas, dependendo se trabalhar diretamente em uma linha PSTN, ou se utilizar uma ligação GSM. No primeiro caso, as duas opções seria não (no), e no segundo caso, sim (yes)

faxdetect=incoming
// Para detectar os faxes recebidos, é útil, se usarmos esse canal para recebimento de fax. Ambos também presente em ambos os sentidos. O fato de detectar faxes tem aplicações como IAXmodem, como Hylafax fax recepção de candidaturas para o Asterisk, ou reencaminhamento automático de chamadas, e gerenciá-los com discadores automáticos.

mohinterpret=default
// Música padrão em espera

mohsuggest=default
// Música sugerida em espera quando colocamos uma chamada em espera para este canal

#include dahdi-channels.conf
//Ficheiro com as configurações dos canais dahdi

Para tudo isso que eu expliquei, existem milhares de opções e configurações. Aqui eu tenho uma amostra de configuração válida para executar a partir de 0. As opções estão disponíveis diretamente nas mesmas explicações que traz o ficheiro de exemplo fornecido pelo sistema gerado pela opção quando instalamos o Asterisk "samples".

Finalmente, colocamos a configuração específica dos canais e, em seguida, vamos tratalos a partir de nosso Dialplan. No meu caso, eu conectei quatro linha da PSTN (ZON), é por isso que eu coloquei as opções acima com base neste caso particular). Então seria:

[root@qc-pbx-ip /] vim dahdi-channels.conf
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;
; Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)
;;; line="1 WCTDM/0/0 FXSKS  (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-01
channel => 1
callerid=
group=
context=default

;;; line="2 WCTDM/0/1 FXSKS  (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-02
channel => 2
callerid=
group=
context=default

;;; line="3 WCTDM/0/2 FXSKS  (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-03
channel => 3
callerid=
group=
context=default

;;; line="4 WCTDM/0/3 FXSKS  (SWEC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=dahdi-00-04
channel => 4
callerid=
group=
context=default

Salve o ficheiro (:wq) realize reload no serviço asterisk:

[root@qc-pbx-ip /]# service asterisk restart

Agora entre no asterisk;

[root@qc-pbx-ip /]# rasterisk -vvvvgci

qc-pbx-ip*CLI> dahdi show channels
   Chan Extension  Context         Language   MOH Interpret        Blocked    State    
 pseudo            default                    default                         In Service
      1            dahdi-00-01     us         default                         In Service
      2            dahdi-00-02     us         default                         In Service
      3            dahdi-00-03     us         default                         In Service
      4            dahdi-00-04     us         default                         In Service
qc-pbx-ip*CLI>



qc-pbx-ip*CLI> dahdi show status
Description                              Alarms  IRQ    bpviol CRC4   Fra Codi Options  LBO
Wildcard TDM410P Board 1                 OK      0      0      0      CAS Unk           0 db (CSU)/0-133 feet (DSX-1) 
qc-pbx-ip*CLI>

 
qc-pbx-ip*CLI> dahdi show version
DAHDI Version: 2.4.1.2 Echo Canceller: MG2
qc-pbx-ip*CLI>

 
Neste momento já temos nosso servidor Qualicheck PBX IP quase funcional, o mesmo já tem total comunicação com o modulo da placa QC-410-P. No proximo post iremos realizar os procedimentos no ficheiro "extensions.conf" nosso plano de marcação (Dialplan), para receber chamadas dos canais Dahdi e proceder chamadas apartir dos canais Dahdi.
Fiquem bem!!!
Engº e Profº Delphini
Consultor de Tecnologia da Informação da QualiCheck.



Placa QC-410-P - Primeira parte.

Estou, nestes dias, tratando de integrar a telefonia analógica ao servidor de provas aqui na QualiCheck. Para isto estou utilizando a placa que a QualiCheck esta comercializando a QC-400-P.  Está placa vem com os quatros módulos vermelhos (para conectar a linhas analógicas da PSTN). Como introdução, vou comentar que em Asterisk, o mundo analógico faz-se a integração através dos módulos Dahdi-Linux e Dahdi-Tools. Por outro lado, temos que saber que Dahdi tem suas formas de comunicação: Uma directamente com o sistema operativo, ou seja com o Kernel do GNU/Linux integrando os módulos e drivers da placa, e a configuração especifica. A carga dos módulos é especificada no ficheiro "/etc/dahdi/modules" e os parâmetros de configuração das placas de comutação para o Kernel no ficheiro "/etc/dahdi/system.conf".

Concretamente o ficheiro modules, e o modulo que nos interessa seria o correspondente das placas TDM410P, o "wctdm24xxp". O resto nos poderíamos eliminar porque neste caso não vamos utiliza-los.

Para a configuração da placa, o ficheiro "system.conf" é utilizado da seguinte forma, lembrando que estou comentando, ou seja explicando sobre cada elemento do ficheiro:

[root@qc-pbx-ip /]# cd /etc/dahdi/
[root@qc-pbx-ip /]# cp -a system.conf system.conf.000
[root@qc-pbx-ip /]# > system.conf
[root@qc-pbx-ip /]# vim system.conf

# Channel Configuration
# Porta um placa Analógica = Modulo FXO VERMELHO
fxsks=1
# Porta dois placa Analógica = Modulo FXO VERMELHO 
fxsks=2
# Porta tres placa Analógica = Modulo FXO VERMELHO 
fxsks=3
# Porta quatro placa Analógica = Modulo FXO VERMELHO 
fxsks=4 

# Tone Zone Data
# Você também pode especificar uma zona padrão com "defaultzone = "     
# onde zona. É um código de duas letras.
# Uma lista de "up-to-date" das zonas podem ser encontradas no ficheiro zonedata.c
loadzone=us
defaultzone=us

# Canceladores de Eco Software 
echocanceller=mg2,1
echocanceller=mg2,2
echocanceller=mg2,3
echocanceller=mg2,4

[root@qc-pbx-ip /]# service dahdi restart
Unloading DAHDI hardware modules:
ERROR: Module dahdi is in use error
Loading DAHDI hardware modules:
  wct4xxp:                                                 [  OK  ]
  wcte12xp:                                               [  OK  ]
  wct1xxp:                                                 [  OK  ]
  wcte11xp:                                               [  OK  ]
  wctdm24xxp:                                         [  OK  ]
  wcfxo:                                                      [  OK  ]
  wctdm:                                                    [  OK  ]
  wcb4xxp:                                                [  OK  ]
  wctc4xxp:                                               [  OK  ]
  xpp_usb:                                                 [  OK  ]

Running dahdi_cfg:                               [  OK  ]
[root@qc-pbx-ip /]#

OBS: Caso não queira utilizar minha configuração pode também utilizar o comando "dahdi_genconf", com este comando o sistema busca o hardware compatível. E gera o ficheiro "/etc/dahdi/system.conf" com a configuração básica da placa QC-400-P.

Veja abaixo um ficheiro criado pelo comando acima:

# Autogenerated by /usr/sbin/dahdi_genconf on Tue Aug 14 11:29:00 2012
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)
fxsks=1
echocanceller=mg2,1
fxsks=2
echocanceller=mg2,2
fxsks=3
echocanceller=mg2,3
fxsks=4
echocanceller=mg2,4

# Global data
loadzone=us
defaultzone=us
~                                                     
Por outro lado, seria necessário a configuração do ficheiro que é o "intercomunicador" entre os módulos da placa com nosso servidor "Qualicheck ip pbx". Isto acontece configurando o ficheiro "/etc/asterisk/chan_dahdi.conf" (o canal Dahdi, é equivalente neste caso a um canal SIP). Porém antes disto eu fiz uma rápida investigação no sistema operativo para ver se a placa estava totalmente operativa. Existe um comando, "dahdi_tool" que mostra o estado da placa e seus módulos:


Agora para ver o comportamento da placa QC-400-P com o sistema operativo executei o comando "dmesg" veja abaixo a resposta, detalhei em vermelho o que nos interessa neste momento:

 [root@qc-pbx-ip /]# dmesg 
Linux version 2.6.18-308.11.1.el5 (mockbuild@builder10.centos.org) (gcc version
4.1.2 20080704 (Red Hat 4.1.2-52)) #1 SMP Tue Jul 10 08:49:28 EDT 2012
BIOS-provided physical RAM map:
BIOS-e820: 0000000000010000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003f740000 (usable)
BIOS-e820: 000000003f740000 - 000000003f750000 (ACPI data)
BIOS-e820: 000000003f750000 - 000000003f800000 (ACPI NVS)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ffbc0000 - 0000000100000000 (reserved)
119MB HIGHMEM available.
896MB LOWMEM available.
Memory for crash kernel (0x0 to 0x0) notwithin permissible range disabling kdump
Using x86 segment limits to approximate NX protection
On node 0 totalpages: 259904
DMA zone: 4096 pages, LIFO batch:0
Normal zone: 225280 pages, LIFO batch:31
HighMem zone: 30528 pages, LIFO batch:7
DMI 2.3 present.
DMI:          775i65GV/775i65GV, BIOS P2.40 09/05/2006
Using APIC driver default
ACPI: RSDP (v000 ACPIAM                                ) @ 0x000faab0
ACPI: RSDT (v001 A M I  OEMRSDT  0x09000605 MSFT 0x00000097) @ 0x3f740000
ACPI: FADT (v002 A M I  OEMFACP  0x09000605 MSFT 0x00000097) @ 0x3f740200
ACPI: MADT (v001 A M I  OEMAPIC  0x09000605 MSFT 0x00000097) @ 0x3f740300
ACPI: OEMB (v001 A M I  OEMBIOS  0x09000605 MSFT 0x00000097) @ 0x3f750040
ACPI: DSDT (v001  7i6GV 7i6GV231 0x00000231 INTL 0x02002026) @ 0x00000000
ACPI: PM-Timer IO Port: 0x808
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 15:6 APIC version 20
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 15:6 APIC version 20
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled)
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 40000000 (gap: 3f800000:bf600000)
Detected 3000.033 MHz processor.
Built 1 zonelists.  Total pages: 259904
Kernel command line: ro root=/dev/VolGroup00/LogVol00
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
CPU 0 irqstacks, hard=c0773000 soft=c0753000
PID hash table entries: 4096 (order: 12, 16384 bytes)
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1021940k/1039616k available (2208k kernel code, 16936k reserved, 918k data, 232k init, 122112k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6000.06 BogoMIPS (lpj=3000033)
Security Framework v1.0.0 initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
selinux_register_security:  Registering secondary module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfebfbff 20000000 00000000 00000000 0000e43d 00000000 00000001
CPU: After vendor identify, caps: bfebfbff 20000000 00000000 00000000 0000e43d 00000000 00000001
monitor/mwait feature present.
using mwait in idle threads.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
CPU: After all inits, caps: bfebf3ff 20000000 00000000 00000180 0000e43d 00000000 00000001
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (24) available
CPU0: Thermal monitoring enabled
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
ACPI: Core revision 20060707
CPU0: Intel(R) Pentium(R) D CPU 3.00GHz stepping 02
SMP alternatives: switching to SMP code
Booting processor 1/1 eip 11000
CPU 1 irqstacks, hard=c0774000 soft=c0754000
Initializing CPU#1
Calibrating delay using timer specific routine.. 5998.54 BogoMIPS (lpj=2999274)
CPU: After generic identify, caps: bfebfbff 20000000 00000000 00000000 0000e43d 00000000 00000001
CPU: After vendor identify, caps: bfebfbff 20000000 00000000 00000000 0000e43d 00000000 00000001
monitor/mwait feature present.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 1
CPU: After all inits, caps: bfebf3ff 20000000 00000000 00000180 0000e43d 00000000 00000001
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#1.
CPU1: Intel P4/Xeon Extended MCE MSRs (24) available
CPU1: Thermal monitoring enabled
CPU1: Intel(R) Pentium(R) D CPU 3.00GHz stepping 02
Total of 2 processors activated (11998.61 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1
Using local APIC timer interrupts.
checking TSC synchronization across 2 CPUs:
CPU#0 had -170217 usecs TSC skew, fixed it up.
CPU#1 had 170217 usecs TSC skew, fixed it up.
Brought up 2 CPUs
sizeof(vma)=84 bytes
sizeof(page)=32 bytes
sizeof(inode)=340 bytes
sizeof(dentry)=136 bytes
sizeof(ext3inode)=492 bytes
sizeof(buffer_head)=52 bytes
sizeof(skbuff)=176 bytes
migration_cost=1233
checking if image is initramfs... it is
Freeing initrd memory: 3339k freed
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=1
PCI: Using configuration type 1
Setting up standard PCI resources
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: No dock devices found.
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI quirk: region 0800-087f claimed by ICH4 ACPI/GPIO/TCO
PCI quirk: region 0480-04bf claimed by ICH4 GPIO
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P4._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 *11 12 14 15)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 12 devices
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
pnp: 00:07: iomem range 0xfed20000-0xfed8ffff has been reserved
pnp: 00:07: iomem range 0xffb00000-0xffbfffff could not be reserved
pnp: 00:08: iomem range 0xfec00000-0xfec00fff has been reserved
pnp: 00:08: iomem range 0xfee00000-0xfee00fff has been reserved
pnp: 00:0a: ioport range 0x680-0x6ff has been reserved
pnp: 00:0a: ioport range 0x295-0x296 has been reserved
pnp: 00:0b: iomem range 0x0-0x9ffff could not be reserved
pnp: 00:0b: iomem range 0xc0000-0xdffff could not be reserved
pnp: 00:0b: iomem range 0xe0000-0xfffff could not be reserved
pnp: 00:0b: iomem range 0x100000-0x3f7fffff could not be reserved
PCI: Bridge: 0000:00:1e.0
IO window: b000-0000
MEM window: fe500000-00000000
PREFETCH window 0x0000000040000000-0x00000000400fffff
PCI: Setting latency timer of device 0000:00:1e.0 to 64
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
apm: BIOS version 1.2 Flags 0x02 (Driver version 1.16ac)
apm: disabled - APM is not SMP safe.
audit: initializing netlink socket (disabled)
type=2000 audit(1344858285.893:1): initialized
highmem bounce pool size: 64 pages
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SELinux:  Registering netfilter hooks
Initializing Cryptographic API
alg: No test for crc32c (crc32c-generic)
ksign: Installing public key data
Loading keyring
- Added public key 10CF951D103073D6
- User ID: CentOS (Kernel Module GPG key)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Boot video device is 0000:00:02.0
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ACPI: Processor [CPU0] (supports 8 throttling states)
Real Time Clock Driver v1.12ac
Non-volatile memory driver v1.2
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected an Intel 865 Chipset.
agpgart: Detected 8060K stolen memory.
agpgart: AGP aperture is 128M @ 0xf0000000
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
brd: module loaded
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH5: IDE controller at PCI slot 0000:00:1f.1
ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 18 (level, low) -> IRQ 169
ICH5: chipset revision 2
ICH5: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: HL-DT-ST DVDRAM GSA-H10N, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: Maxtor 6L080L0, ATA DISK drive
hdd: Maxtor 6Y080L0, ATA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
hdc: max request size: 128KiB
hdc: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(33)
hdc: cache flushes supported
hdc: hdc1 hdc2
hdd: max request size: 128KiB
hdd: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(33)
hdd: cache flushes supported
hdd: hdd1
ide-floppy driver 0.99.newide
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
TCP bic registered
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI No-Shortcut mode
ACPI: (supports S0 S1 S3 S4 S5<6>Time: tsc clocksource has been installed.)
Initalizing network drop monitor service
Freeing unused kernel memory: 232k freed
Write protecting the kernel read-only data: 417k
ACPI: PCI Interrupt 0000:00:1d.7[D] -> GSI 23 (level, low) -> IRQ 177
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: debug port 1
PCI: cache line size of 128 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: irq 177, io mem 0xfe77bc00
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 8 ports detected
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 185
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 185, io base 0x0000dc00
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 193
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 193, io base 0x0000e000
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.2: irq 169, io base 0x0000e400
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.3[A] -> GSI 16 (level, low) -> IRQ 185
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
uhci_hcd 0000:00:1d.3: irq 185, io base 0x0000e800
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
SCSI subsystem initialized
libata version 3.00 loaded.
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.11.6-ioctl (2011-02-18) initialised: dm-devel@redhat.com
device-mapper: dm-raid45: initialized v0.2594l
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
SELinux:  Disabled at runtime.
SELinux:  Unregistering netfilter hooks
type=1404 audit(1344858309.712:2): selinux=0 auid=4294967295 ses=4294967295
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7 [PCSPP,TRISTATE,EPP]
input: PC Speaker as /class/input/input0
8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004)
8139cp 0000:01:05.0: This (id 10ec:8139 rev 10) is not an 8139C+ compatible chip
8139cp 0000:01:05.0: Try the "8139too" driver instead.
intel_rng: FWH not detected
8139too Fast Ethernet driver 0.9.27
ACPI: PCI Interrupt 0000:01:05.0[A] -> GSI 22 (level, low) -> IRQ 201
eth0: RealTek RTL8139 at 0xf8966800, 00:13:8f:79:30:93, IRQ 201
eth0:  Identified 8139 chip type 'RTL-8101'
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
hda: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ACPI: PCI Interrupt 0000:00:1f.3[B] -> GSI 17 (level, low) -> IRQ 209
ACPI: PCI Interrupt 0000:00:1f.5[B] -> GSI 17 (level, low) -> IRQ 209
PCI: Setting latency timer of device 0000:00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 50875 usecs
intel8x0: clocking to 48000
lp0: using parport0 (interrupt-driven).
lp0: console ready
ACPI: Power Button (FF) [PWRF]
ACPI: Power Button (CM) [PWRB]
ACPI: Mapper loaded
dell-wmi: No known WMI GUID found
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
device-mapper: multipath: version 1.0.6 loaded
loop: loaded (max 8 devices)
EXT3 FS on dm-0, internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdc1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 2064376k swap on /dev/VolGroup00/LogVol01.  Priority:-1 extents:1 across:2064376k
IA-32 Microcode Update Driver: v1.14a
microcode: CPU1 updated from revision 0x0 to 0xf, date = 12152005
microcode: CPU0 updated from revision 0x0 to 0xf, date = 12152005
Loading iSCSI transport class v2.0-871.
802.1Q VLAN Support v1.8 Ben Greear
All bugs added by David S. Miller
libcxgbi:libcxgbi_init_module: tag itt 0x1fff, 13 bits, age 0xf, 4 bits.
libcxgbi:ddp_setup_host_page_size: system PAGE 4096, ddp idx 0.
Chelsio T3 iSCSI Driver cxgb3i v2.0.0 (Jun. 2010)
iscsi: registered transport (cxgb3i)
IPv6: Loaded, but administratively disabled, reboot required to enable
cnic: Broadcom NetXtreme II CNIC Driver cnic v2.5.7 (July 20, 2011)
Broadcom NetXtreme II iSCSI Driver bnx2i v2.7.0.3 (Aug 04, 2011)
iscsi: registered transport (bnx2i)
iscsi: registered transport (tcp)
iscsi: registered transport (iser)
iscsi: registered transport (be2iscsi)
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Bluetooth: Core ver 2.10
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.8
Bluetooth: L2CAP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.1
dahdi: Telephony Interface Registered on major 196
dahdi: Version: 2.4.1.2
ACPI: PCI Interrupt 0000:01:03.0[A] -> GSI 20 (level, low) -> IRQ 217
wctdm24xxp 0000:01:03.0: Port 1: Installed -- AUTO FXO (FCC mode)
wctdm24xxp 0000:01:03.0: Port 2: Installed -- AUTO FXO (FCC mode)
wctdm24xxp 0000:01:03.0: Port 3: Installed -- AUTO FXO (FCC mode)
wctdm24xxp 0000:01:03.0: Port 4: Installed -- AUTO FXO (FCC mode)
wctdm24xxp 0000:01:03.0: Found a Wildcard TDM: Wildcard TDM410P (0 BRI spans, 4 analog channels)
dahdi_transcode: Loaded.
INFO-xpp: revision Unknown MAX_XPDS=64 (8*8)
INFO-xpp: FEATURE: without BRISTUFF support
INFO-xpp: FEATURE: with PROTOCOL_DEBUG
INFO-xpp: FEATURE: with sync_tick() from DAHDI
INFO-xpp_usb: revision Unknown
usbcore: registered new driver xpp_usb
dahdi: Registered tone zone 0 (United States / North America)

ip_tables: (C) 2000-2006 Netfilter Core Team
usbcore: deregistering driver xpp_usb
NOTICE-xpp: toplevel_release
dahdi_transcode: Unloaded.
wctdm24xxp 0000:01:03.0: Freed a Wildcard
ACPI: PCI interrupt for device 0000:01:03.0 disabled
PCI: Enabling device 0000:01:03.0 (0000 -> 0003)
ACPI: PCI Interrupt 0000:01:03.0[A] -> GSI 20 (level, low) -> IRQ 217
wctdm24xxp 0000:01:03.0: Port 1: Installed -- AUTO FXO (FCC mode)
wctdm24xxp 0000:01:03.0: Port 2: Installed -- AUTO FXO (FCC mode)
wctdm24xxp 0000:01:03.0: Port 3: Installed -- AUTO FXO (FCC mode)
wctdm24xxp 0000:01:03.0: Port 4: Installed -- AUTO FXO (FCC mode)
wctdm24xxp 0000:01:03.0: Found a Wildcard TDM: Wildcard TDM410P (0 BRI spans, 4 analog channels)
dahdi_transcode: Loaded.
INFO-xpp: revision Unknown MAX_XPDS=64 (8*8)
INFO-xpp: FEATURE: without BRISTUFF support
INFO-xpp: FEATURE: with PROTOCOL_DEBUG
INFO-xpp: FEATURE: with sync_tick() from DAHDI

INFO-xpp_usb: revision Unknown
usbcore: registered new driver xpp_usb
dahdi_echocan_mg2: Registered echo canceler 'MG2'
dahdi: Registered tone zone 25 (Portugal)
dahdi: Registered tone zone 0 (United States / North America)
 
[root@qc-pbx-ip /]#

Bom até aqui está tudo ótimo, no proximo post iremos continuar este assunto.

Fiquem bem!!
Engº e Prof. Delphini.
Consultor de Tecnologia da Informação da QualiCheck.


Redefinição de senha para Webmin

Isto acontece a todos de uma vez ou outra. Você sair de férias e quando você voltar, você esquece todas as senhas em seu computador. Bem, eu só esqueci uma senha: o logon para Webmin. 

Falhei o login várias vezes e depois Webmin bloqueado o meu IP. Ficando localhost bloqueado não é uma coisa boa para ver. Então eu procurei na Internet uma maneira de redefinir a senha e eu achei esse procedimento:

1) - Entrar para o seu computador como root.

2) - Se você estiver executando uma distribuição RedHat (isto é,Fedora, CentOS, Gentoo), digite o seguinte comando:

# /usr/libexec/webmin/changepass.pl /etc/webmin username password

Se você estiver executando uma distribuição Debian, digite o seguinte comando:

# /usr/share/webmin/changepass.pl /etc/webmin username password

3) - Acesso ao Webmin com sua senha redefinida.

CentOS 5x + OpenVPN (Revisão 2011)

Escrito por Bruno Mesquita Santana;
Atualizado por Angelo de Barros Delphini;

Pode até parecer piada, mas não é... Já instalei outras vezes o OpenVPN em servidores, mas na última vez, simplesmente não funcionava! Claro que eu tentei pelos pacotes padrões do Yum, depois compilei, etc, etc, etc... Simplesmente não conseguia fazer o treco rodar... Então ontem, enquanto fazia um outro trampo (que servirá para outro artigo no futuro), pesquisei muito na net e, finalmente, consegui instalar o OpenVPN 2.0.9 no CentOS 5.5.
O mais intrigante é que existem muitos manuais na net, mas em todos, do jeito como estão, não funcionaram. Bem, deixa de papo e vamos lá:
1 - Vamos ver se o seu CentOS esta preparado para suportar dev/tun:
# ls -al /dev/net/tun
Se o CentOS suporta, você recebera uma reposta como esta:
# ls -al /dev/net/tun
crw------- 1 root root 10, 200 Mar 1 09:35 /dev/net/tun


2 - Então também devemos verificar se o dispositivo /dev/tun foi habilitado ou não:
# cat /dev/net/tun
Você obterá resultados iguais a este abaixo como resposta do seu CentOS se o dispositivo estiver habilitado.
# cat /dev/net/tun
cat: /dev/net/tun: Descritor de arquivo em mal estado


3 - Se não tiver habilitado, deverá instalar dispositivo dev/tun:
Este comando ira instalar as dependências necessarias:
# yum -y install gcc make zlib-devel pam-devel openssl-devel rpm-build autoconf.noarch nano openssl lzo2

4 - Instale os pacotes existentes no repositório do CentOS:
# yum -y update device-mapper glibc
# yum -y install openssl openssl-devel pam pam-devel
5 - Faça o download dos pacotes "extras":
# wget -c ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/lzo2/lzo2-2.02-3.el5.rf.x86_64.rpm
# wget -c ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/lzo2/lzo2-devel-2.02-3.el5.rf.x86_64.rpm
# wget -c ftp://ftp.pbone.net/mirror/ftp.freshrpms.net/pub/freshrpms/pub/dag/redhat/el5/en/x86_64/dag/RPMS/lzo-1.08-4.2.el5.rf.x86_64.rpm
# wget -c ftp://ftp.icm.edu.pl/vol/rzm1/linux-dag/dries/redhat/el5/en/x86_64/RPMS.dries/openvpn-2.0.9-1.el5.rf.x86_64.rpm
6 - Instale os pacotes (inclusive o OpenVPN):
# rpm -Uvh lzo2-2.02-3.el5.rf.x86_64.rpm lzo2-devel-2.02-3.el5.rf.x86_64.rpm openvpn-2.0.9-1.el5.rf.x86_64.rpm
Repare que eu uso "rpm -Uvh ...", por se já houverem pacotes instalados de versões anteriores, este comando rodará atualizando os pacotes.
7 - Vá ao diretório de configurações do OpenVPN e copie os arquivos necessários:
# cd /etc/openvpn
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/openssl.cnf .
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/whichopensslcnf .
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/pkitool .
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/vars .
8 - Mude as permissões dos arquivos:
# chmod 744 *
9 - Edite o arquivo de variáveis, alterando os dados abaixo de acordo com sua conveniencia:
# vi /etc/openvpn/vars
export KEY_COUNTRY="US" --> BR
export KEY_PROVINCE="CA" --> DF
export KEY_CITY="SanFrancisco" --> Brasilia
export KEY_ORG="Fort-Funston" --> MinhaEmpresa
export KEY_EMAIL="me@myhost.mydomain" --> ti@minhaempresa.com.br
10 - Copie os executáveis:
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/clean-all .
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/build-ca .
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/build-dh .
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/build-key-server .
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0/build-key .
11 - Mude as permissões dos executáveis:
# chmod 750 /etc/openvpn/clean-all /etc/openvpn/build-ca /etc/openvpn/build-dh /etc/openvpn/build-key-server /etc/openvpn/build-key
12 - Carregue as variáveis para a sessão:
# source /etc/openvpn/./vars
13 - Limpe qualquer chave pre-existente (isso apagará tudo que existir no diretório /etc/openvpn/keys):
# /etc/openvpn/clean-all
14 - Crie o arquivo dh1024.pem, que conterá os parâmetros Diffie-Hellman, de 1024 bits. Ele servirá para que as máquinas troquem chaves seguras num canal inseguro, para depois trocar as chaves simétricas.
# /etc/openvpn/build-dh
15 - Crie um certificado para o Servidor:
# /etc/openvpn/build-ca
16 - Crie uma identidade digital para o servidor:
# /etc/openvpn/build-key-server server
17 - Crie uma identidade digital para os clientes com o comando abaixo, onde "cliente1" é o nome do cliente que se está criando:
# /etc/openvpn/build-key cliente1
18 - Crie um arquivo de configuração para o servidor:
# E porta que o servidor escutara
local 192.168.0.254
port 1194

# E o protocolo de comunicao
proto udp

# E a interface virtual (de rede)
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

#---- Seccion de llaves -----
# Especifica a localizao do arquivo da Autoridade Certificadora (.ca)
ca /etc/openvpn/keys/ca.crt

# Especifica a localizao do arquivo de identidade do servidor (.crt)
cert /etc/openvpn/keys/server.crt

# Especifica a localizao do arquivo de chave de identidade do servidor (.key)
key /etc/openvpn/keys/server.key

# Especifica a localizao do arquivo que conteras parametros Diffie-Hellman (.pem)
dh /etc/openvpn/keys/dh1024.pem

#----------------------------
server 192.168.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-options DNS 208.67.222.222"
push "dhcp-options DNS 208.67.220.220"

# Arquivo onde se encontrarao os dados de conexao dos clientes
ifconfig-pool-persist /var/log/openvpn/ipp.txt

# Especifica que os pacotes serao enviados a cada 10 segundos e que a conexao e finalizada em 120
keepalive 10 120

# Espevifica que os dados tramitarao compactados
comp-lzo

# Garante que chaves sejam persistentes.
persist-key

# Permite que os dispositivos TUN/TAP sejam persistentes
persist-tun

# Onde se localizarao os arquivo de log
status /var/log/openvpn/status.log

# Nivel de informacao para o log.
verb 3

19 - Crie os arquivos de Log:
# touch /var/log/openvpn/status.log
# touch /etc/openvpn/ipp.txt
20 - Inicie o serviço e configure-o para inicializar junto com o sistema:
# service openvpn start
Iniciando openvpn: RTNETLINK answers: File exists
[ OK ]
# chkconfig openvpn on
21 - Crie o arquivo de conexão do cliente:
# vi cliente1.ovpn
client
dev tun
proto udp
remote DOMINIO_OU_IPdoSERVIDOR 1194
float
resolv-retry infinite
nobind
persist-key
persist-tun
#------ SECCION DE LLAVES --------
ca ca.crt
cert cliente1.crt
key cliente1.key
ns-cert-type server
#---------------------------------
comp-lzo
verb 3
#route 192.168.0.0 255.255.255.0
#dhcp-option DNS 192.168.0.1
#dhcp-option WINS 192.168.26.1
Este arquivo "cliente1.ovpn" somados aos outros arquivos que foram criados (cliente1.crt, cliente1.key), quando executou o comando "./build-key cliente1" e, ainda, o arquivo ca.crt (que são todos criados no diretório /etc/openvpn/keys) devem ser entregues à pessoa que se conectará via OpenVPN Client.
OpenVPN possui também uma versão Windows, que está disponível no link abaixo:

Esta versão inclui um instalador gráfico e funciona em todas as versões do Windows a partir do Windows 2000. Ela inclui também o driver tun/tap, que é instalado automaticamente, você precisa apenas prestar atenção nas mensagens de instalação. Em um certo ponto, será exibida uma mensagem avisando que o driver TAP/Win32 não passou pelo processo de certificação de compatibilidade com o Windows. Responda "Continuar assim mesmo" para efetuar a instalação, do contrário o OpenVPN não funcionará.(Fonte: http://www.hardware.com.br).
O processo de certificação dos drivers para o Windows é um processo caro e demorado, onde os fabricantes de componentes submetem os drivers de dispositivo à Microsoft para que eles sejam certificados. Este é um processo que não está ao alcance de projetos independentes, como o OpenVPN, daí a exibição da mensagem. De qualquer forma, isso não significa que o software seja instável ou inseguro, muito pelo contrário. Se a certificação da Microsoft fosse um indicador de qualidade, softwares como o IIS e o IE não teriam tantas falhas e brechas de segurança.(Fonte: http://www.hardware.com.br).

Até a próxima,
Bruno.
Fonte: http://www.bruno.eng.br

Alterando a senha do usuário root no MySQL

Para alterar a senha do usuário root siga os seguintes passos:

Parar o serviço do MySQL (service mysqld stop, /etc/init.d/mysqld stop, matando o processo – conforme sua distribuição);

Reiniciar o mysql com a opção –skip-grant-tables (você poderá utilizá-la ao iniciar o mysqld manuamente ou colocando-a no arquivo de init)

Alterar a senha do usuário root com o comando:

# mysqladmin -u root password 'nova_senha'
# mysqladmin flush-privileges


você pode alterar a senha também com o comando:

# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
mysql> FLUSH PRIVILEGES;

O parâmetro –skip-grant-tables desabilita no servidor o uso do sistema de privilégios. Com isso todos os usuários terão acesso a todos os bancos de dados. Ao executar o comando Flush privileges, o servidor retorna a utilizar seu sistema de privilégios, mantendo a segurança original do serviço.

Fonte: http://blog.josemorelli.net

Acertar a hora do HW com SO (CentOS 5.5)

 

Relogio do Servidor:

# hwclock --set --date "mm/dd/yyyy 00:00:00"

# hwcloci --hctosys

O primeiro comando ajustou o relógio do HW.

O segundo comando sincronizou o relógio do HW com o SO.