alexmontoanelli

a little fun!

Replicando Bases Ldap em 10 minutos

Buenas.

Configurações para replicar bases ldap usando o método syncrpl.

No Servidor ldap Master adicione as seguintes linhas no slapd.conf, nas respectivas sessões:

moduleload      syncprov

index   entryCSN        eq
index   entryUUID       eq

overlay syncprov
syncprov-checkpoint     100     10
syncprov-sessionlog     100

As 3 últimas linhas devem ir no final no arquivo abaixo das especificações dos bancos.

As linha ‘syncprov-checkpoint     100     10′ diz que é para forçar sincronização a cada 100 gravações, ou a cada 10 minutos. E a linha ‘syncprov-sessionlog     100′ mantem um registro das ultimas 100 entradas sincronizadas.

Note que adicionamos duas entradas ‘index’, então devemos parar o slapd, e reindexar a base com um ‘slapindex -vv’. Após um chown -R ldap:ldap /var/db/ldap/*, e subimos o serviço novamente.

Do lado dos ‘slaves’, você deve adicionar o seguinte:

index   entryCSN        eq
index   entryUUID       eq

syncrepl      rid=001
searchbase="dc=dominio,dc=com"
provider="ldaps://endereco.do.servidor.master"
binddn="cn=Manager,dc=dominio,dc=com"
bindmethod=simple
credentials="minhasenha"
filter="(objectClass=*)"
attrs="*,+"
#type="refreshOnly"
type="refreshAndPersist"
interval=00:00:05:00
retry="60 10 300 3"
scope=sub

updateref       "ldaps://endereco.do.servidor.master"

Explicando as linhas:

rid 001: é o identificador interno, você pode ter várias sessões para sincronizar, esse número deve ser único para cada entrada, e não deve ter mais que 3 números;

searchbase: apartir de qual nó, do serivdor ‘master’ deve-se iniciar o sincronismo;
provider: é o endereço do servidor master;

binddn: bindmethod e credentials são os dados referentes a autenticação;
filter, são quais objetos que desejamos sincronizar, objectClass=*, vai sincronizar todos os objetos;

attrs: especifica quais os atributos a serem sincronizados, ‘*,+’ irá sincronizar todos os atributos;

type, pode vir a ser refreshOnly ou refreshAndPersist, no modo refreshAndPersist, é iniciado umaconexão ao servidor master, e a cada nova alteração no ‘master’ a mesma já e atualizada no ‘slave’, no modo refreshOnly, o sincronimo ocorrerá apenas no interfao especificado pela variavel ‘interval;

interval: O tempo em que se deve conectar no master para sincronizar os dados, seu formato é ‘dd:hh:mm:ss’ onde ‘dd’ => dia, ‘hh’ => hora, ‘mm’ => minutos, ‘ss’ => segundos. Um valor como ’00:00:05:00′, representa uma atualização a cada 5 minutos

retry: especifica o tempo entre tentativas caso ocorra uma falha de conexão para a sincronização. O valor ’60 10 300 3′, diz que é para executar 10 tentativas a cada 60 segundos, e caso estas falhem, é para executar mais 3 tentativas a cada 300 segundos.

scope=sub: especifica o nivel de sincronização, pode ser ‘sub,child, one ou  base’

Após tudo configurado basta reiniciar o slave, e partir pro abraço.

Não esqueça de copiar a base atual do master, via ‘slapcat’ para o slave, inportando com um ‘slapadd’.
A base no slave deve estar vazia antes da importação, e após importar, atribua o usuário ldap aos arquivos gerados no diretório onde está o banco.

Abraços

June 25th, 2008 by alexm

Aproveitando mais o SSH

Aqui vai uma dica para você tirar mais proveito do ssh, que é usado primariamente para estabelecer um conexão a um servidor de forma segura.

Imagine o Seguinte cenário:

Você atrás de nat, a maquina que você quer acessar com o ip 200.201.202.203 na Wan, e uma rede 192.168.0.0/24 na Lan. Você precisar acessar alguma porta no host 192.168.0.10, por exemplo, um vnc. Podemos usar o iptables e fazer um DNAT para acessar, ou você pode usar o ssh dessa forma:

ssh -l usuario -L portalocal:hostcomnat:portaremotadohost

No nosso caso, ficará:

ssh ssh -l usuario -L 5900:192.168.0.10:5900

Explicando os argumentos:

-L Ativa o redirecionamento de portas local,

portalocal é qual a porta que será usada para receber as conexões locais, na sua maquina

hostcomnat é o ip do host ao qual você vai se conectar através da portalocal

portaremotadohost é a porta no hostcomnat que iremos nos conectar.

Feito Isso, basta acessarmos o vnc no ip 127.0.0.1 porta 5900;

Conseguimos fazer o inverso também, conectarmos ao host remoto, e abrir uma porta lá, quando alguem conectar nessa porta, sera encaminhado para um host/porta especificados.

Usando o exemplo anterior, se trocarmos -L por -R e aplicarmos o seguinte comando,

ssh -l usuario -R 5900:127.0.0.1:5900 hostremoto,

lembre-se estou atras de nat, então o hostremoto não conseguira acessar meu vnc, mas, após eu conectar no hostremoto com o comando acima, e ele tentar conectar no vnc na porta 5900, eie será redirecionado para o meu pc na porta 5900.

Poderia ter trocado o ip 127.0.0.1, para um ip na minha lan, e redireciona-lo para outro host na rede.

Abraços e até.

May 21st, 2008 by alexm

Openvpn Client no Windows Vista

Estamos de voltas, depois de uma semana longe.

Bom nessa tarde tive o desafio de fazer um Windows Vista, conectar em um servidor de VPN usando o Openvpn. Bom até ai normal, tudo sem problemas, gerar certificados, arquivos de configuração, instalar o OpenVPN gui, e pimba conectado.

Mais ai veio o problema rotas estáticas no arquivo .ovpn. Se você tiver recebendo o um erro referente as rotas nos logs, faça o seguinte:

1 -> Adicione essas 2 linhas no seu arquivo .ovpn

route-method exe
route-delay 2

2 -> Execute o OpneVpnGui com Administrador. Como ? Crie um atalho para o ‘OpenvpnGui’ do menu iniciar, no seu Desktop, botão direito, e marque a opção, executar como Administrador. Ou, botão direito,  e clique em ‘Executar como Administrador’.

Deve resolver seu problema. Resolveu o meu.

Abraços e Até mais;

May 13th, 2008 by alexm
Posted in linux | 16 Comments »

Dicas Rápidas do vim

Seguem algumas dicas baseadas no Vim 7.1

Abrir mais de um arquivo na mesma janela, dividindo a tela ao meio horizontalmente:

vi -o /tmp/arquivo1 /tmp/arquivo2 …

Para dividir verticalmente, use -O, e para alternar entre as janelas, ctrl + w + w

Estando com o VI aberto em um arquivo e querendo abrir outro basta digitar

ctrl + w + n, a tela será dividia, agora ‘:vi /caminho/do/arquivo’

Para alterar o layout das janelas abertas, use: ctrl + w + k para levar a janela atual para cima,

ctrl + w + j , para leva-la para baixo, ctrl + w + l para leva-la ao lado direito, e ctrl + w + h para leva-la ao lado esquerdo.

Para ir ao shell, sem sair do vi, basta digitar um ‘:shell’, você receberá o shell, quando terminar, um ctrl + d, levará você ao vi novamente.

Apagar um endereço de ipv4 no meio do texto, é só teclar 7dw no modo comando, no inicio do ip.

Abraços e até.

May 2nd, 2008 by alexm

Montando volumes Netware em Linux e FreeBSD

Desafio desta tarde: ‘Montar volumes Netware em um servidor Linux e em um freeBSD’

Vamos lá:

No Linux:

Compile o kernel com suporte a IPX e a CIFS

cat /usr/src/linux/.config | egrep "(IPX|CIFS)"
CONFIG_IPX=y  e CONFIG_CIFS=y

No BSD, compile o kernel com suporte a IPX

cat  /usr/src/sys/i386/conf/UNETVALE | egrep "(IPX)"
options         IPX

Feito isso, reboote e carregue os módulos:

No bsd

kldload ipx

No Linux

modprobe ipx ( caso você tenha compilado como módulo )

Agora vamos colocar seu linux na rede IPX:

Digite:

ipx_configure --auto_primary=on --auto_interface=on

Você deve possuir os pacotes referentes a rede IPx instalados em sua distro.

No gentoo basta um

emerge net-misc/ipx-utils

No freeBsd você digita:

ifconfig interface ipx 0x101

Você já deve estar numa rede ipx, agora é montar os compartilhamentos:

No Linux:

Tento o pacote ncp instalado ( gentoo net-misc/ipx-utils), basta um

ncpmount -S SERVIDOR_NETWARE -U .usuario.usr.unetvale -P senha /ponto/de/montagem

No freeBSD,

Crie o arquivo cat /root/.nwfsrc com o seguinte conteudo:

cat /root/.nwfsrc
[SERVIDOR_NETWARE:USUÁRIO]
password=senha

Após digite:

mount_nwfs -A IP_SERVIDOR_NETWARE -S SERVIDOR_NETWARE \
       -U usuario -V VOLUMENNONETWARE  /ponto/de/montagem

Bom é isso.

Abraços e Até

April 28th, 2008 by alexm

Automatize a criação de Vhosts com o mod_macro no apache

Mãos a Obra:

Página do módulo: http://www.coelho.net/mod_macro/

Para instalar no Gentoo, apenas digite:

emerge mod_macro

e espere terminar, após isso, edite o arquivo /etc/conf.d/apache2/ e adicione na linha APACHE2_OPTS a seguinte entrada: “-D MACRO”

Agora vamos criar nosso template de vhost.
Criamos o arquivo ‘/etc/apache2/vhosts.d/01.vhosts.macro.conf, com o seguinte conteudo

<macro Virtual $server $docroot>
<virtualhost>
        servername $server
        documentroot $docroot
 
        <ifmodule>
                ServerEnvironment apache apache
        </ifmodule>
</virtualhost>
</macro>
 
Include /etc/apache2/vhosts.d/vhosts.include

e no arquivo Include /etc/apache2/vhosts.d/vhosts.include, indicamos nossa macro e passamos os parâmetros:

 Use Virtual meusite1.com.br /var/www/meusite1.com.br/htdocs/
 Use Virtual meuoutrosite.com.br /var/www/meuoutrosite/htdocs/

Bom é isso, muito menos código em seus arquivos para criar vhosts.

Abraços

December 8th, 2007 by alexm