conectando-se ao firebird através do zebedee

O Zebedee cria conexões seguras entre duas máquinas, criptografando e comprimindo os dados (por TCP/IP ou UDP). Aqui eu usarei para me conectar ao Firebird. Precisei disso quando fui conectar os servidores de duas lojas para replicação de dados.

Você também achou estranho o nome do programa né?.. Vem daqui:
Zlib, biblioteca para compressão de dados;
Blowfish, algorítimo para criptografia;
Diffie-Hellman, controle de chaves de segurança.

Z, B e D dá ZeBeDee

Vamos la, baixa ele aí.

Legendas…

detached (true, false) = mostrar/ocultar mensagens
ipmode (tcp, udp ou both) = cumunicação por tcp/udp
compression = nível da compressão
keylength = tamanho (em bits) máximo das chaves de criptografia do blowfish
keygenlevel = nível de segurança nas chaves privadas (entre 0 e 2)
redirect none = desliga os redirecionamentos

Agora no diretório que ele foi instalado temos o arquivo “server.zbd”

detached true # mostrar (true) ou ocultar (false) mensagens
server true
ipmode tcp # cumunicação por “tcp”, “udp” ou “both”
compression zlib:9 # nível da compressão
keylength 256 # tamanho (wm bits) máximo das chaves de criptografia do blowfish
keygenlevel 2 # nível de segurança nas chaves privadas (entre 0 e 2)
redirect none # desliga os redirecionamentos
target localhost:3050 # destino, IP:porta

# target, onde o zebedee achará o firebird.
# Se o servidor zebedee for também o servidor firebird,
# o target será o “localhost”, ou “127.0.0.1”.
# A porta padrão do firebird é a 3050.

No computador cliente criaremos o arquivo “client.zbd”

detached false
server false
ipmode tcp
compression zlib:9
keylength 256
keygenlevel 2
maxbufsize 16383
listenip localhost
serverhost meuservidor.no-ip.org # ip/dns do servidor
tunnel 3051:localhost:3050

# serverhost, ip/dns do seu servidor zebedee. Este é o IP na internet.
# Logo, você terá que saber o IP da sua conexão,
# ou usar um serviço de DNS estático (dica, usa o no-ip).

# tunnel,
# 3051 (porta que você usará na string de conexão ao firebird) : localhost :
# 3050 (porta de destino no servidor, a porta padrão do firebird)

Certo, configuramos o zebedee. Agora falta executa-lo, manualmente ou criando os serviços no windows

  1. Para executar os comandos abaixo, abra o prompt (cmd)
  2. Digita “cd\arquiv~1\zebedee” (sem aspas) para entrar no diretorório do zebedee, que pode mudar conforme sua escolha na instalação.

executando manualmente o servidor:

zebedee -f server.zbd

executando manualmente o cliente:

zebedee -f client.zbd

instalando o serviço no servidor:

zebedee -n “Zebedee Server Service” “-Sinstall=c:\arquiv~1\zebedee\server.zbd”

instalando o serviço no cliente:

zebedee -n “Zebedee Client Service” “-Sinstall=c:\arquiv~1\zebedee\client.zbd”

Lembrando que esses dois últimos comandos referem-se apenas à instalação do serviço, a sua execução ocorrerá automaticamente na reinicialização do pc ou entrando no gerenciador de serviços (“Painel de controle / Ferramentas administrativas / Serviços” ou execute (Win + R) “services.msc”).

Agora temos o Zebedee funcionando no servidor e no cliente, e o Firebird também né!? Agora vamos abrir um banco de dados:

localhost/3051:C:\caminho_no_servidor\banco_de_dados.fdb

Essa é a string para a conexão com o firebird.

Observação importante que tinha esquecido, e por isso estou editando o post:

  1. No servidor zebedee, não esqueça de liberar a porta 11965 (a porta padrão do zebedee)
  2. No máquina cliente, não esqueça de liberar a porta 3051 (a que usamos acima)
  3. Se a sua conexão no servidor zebedee for através de um modem roteado você terá que redirecionar a porta 11965 para ele (isso merece um post)

E Pronto, não usei o controle de chaves de acesso púbicas e privadas. Fica pra próxima..

Fonte de consulta:

Site oficial do zebedee

Manual oficial do zebedee

Artigo na Comunidade Firebird de Língua Portuguesa, por Artur Trindade Anjos

Zebedee: Criando um túnel seguro entre máquinas no vivaolinux, por Antonio Tadeu

Anúncios

9 Respostas para “conectando-se ao firebird através do zebedee

  1. Zlib + Blowfish + Diffie-Hellman = Zebedee

    eahueahaeuheahueheahae… terrível…

    =P

  2. Muito bom o post
    merece um post mesmo
    valeu pela dica.

    tow com um problema quero aprender a replicar no firebird, por onde começo

  3. cara, da uma olhada em http://www.comunidade-firebird.org/cflp/downloads/CFLP_T022.PDF

    tomei esse como base.

    resumindo..

    cria uma trigger após inserir, alterar ou excluir registros na tabela que você quer replicar. ela deverá alimentar uma outra tabela (com o nome “replicar” por exemplo) com o código do registro que foi alterado.

    o programa vai ler a tabela com os registros que serão replicados e verificar se tem algo lá.

    caso tenha, ele deve conectar-se ao banco de destino e passar os dados (por sql)

    vou ver se posto o programa e explico melhor depois. to sem ele aqui.

  4. que header massa!!!

    =*

  5. Garoto o post ficou bom, valeu pelo passo a passo.

  6. Muito bom, mas tentei usar, o servidor diz que não conectar na nono-noip.info porta 11965

    O colega pode me ajudar.

  7. Caros funciona com outros componente mas Não funciona com o componente nativo do XE1 TIBDatabase.
    No D7 usando MDO DataBaseName=’localhost/3051:C:\Programs\Fb252\Dt\MyDb.Fdb’ funciona na perfeiçaõ.
    No XE1 tem de se suprimir o zcon1.Hostname:=”
    e depois databasename:=’localhost/3051:C:\Programs\Fb252\Dt\MyDb.Fdb’ e de novo funciona na perfeição.
    Alguém sabe como se faz a conexxão com TIBDatabase do XE1.
    Estou a tentar faz tempo e não há como conseguir tabém não encontro nada na Net sobre como fazer!?!?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s