conectando-se ao firebird através do zebedee
- 4 junho, 2008 -
- banco de dados -
- Tags : banco de dados, firebird
- 11 Comments
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
- Para executar os comandos abaixo, abra o prompt (cmd)
- 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:
- No servidor zebedee, não esqueça de liberar a porta 11965 (a porta padrão do zebedee)
- No máquina cliente, não esqueça de liberar a porta 3051 (a que usamos acima)
- 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:
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
Zlib + Blowfish + Diffie-Hellman = Zebedee
eahueahaeuheahueheahae… terrível…
=P
F5? :)
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
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.
que header massa!!!
=*
Garoto o post ficou bom, valeu pelo passo a passo.
Garoto, esse seu post foi o melhor sobre o zebedee, to usando o interbase então apenas mudei o tunnel deixando 3050:localhost:3050 e funcionou legal, agora vou testar conectando em minha casa para ver se a velocidade é boa, testei local ai não da pra ver diferença
Ola legal, mas nao ficou claro a questao da porta o zebedee esta no servidor 123.456.789.123 porta 1234
a configuracao é essa
listenip localhost
serverhost 123.456.789.123
tunnel 1234:localhost:3050
ou
tunnel 3050:localhost:1234
?
Caro colega. Ótimo post . Não consegui conectar, mas talvez devido a estar usando no servidor um modem do tipo TPLINK e não saber redireccionar a porta 11965. Assim sendo, solicito ” dicas ” a respeito.
Outra dúvida ( de pricinpiante ! ) : o LOCALHOST deve ter como IP o da máquina ou o do modem ? Aonde definir isso ? Desde já agradeço a atenção.Abs. Márcio
Josauro,
a configuração do client fica como está no post:
# Ouvir as conexões no proprio computador cliente
listenip localhost
# Informar o servidor, pode ser um IP ou um DNS
serverhost meuservidor.no-ip.org
# Criar um túnel das conexões locais na porta 3051
# para o servidor na porta 3050
tunnel 3051:localhost:3050
Márcio,
na configuração do client, onde tem “serverhost meuservidor.no-ip.org”, você deverá utilizar o IP do modem que da acesso à internet ou criar uma conta em um serviço de DNS dinâmico como No-IP ou DynDNS.
Espero ter ajudado.