====== Synchonizace ====== ===== Synchonizer ===== Program pro synchronizaci databází OBISu. Návratové kódy (ERRORLEVEL): * 0: Bez problému * 1: Exception -- synchronizace nedokončena * 2: Warning Critical -- při běhu došlo ke kritickým problémům (tj. chyběly položky v DEST databázi) * 3: Warning -- došlo k méně významným kolizím \\ \\ Příkazy pro synchonizer: * cdb id databaze syncjmeno (nemusi byt v common_uzivatele, pouze 8 znaku - orezava se) * date id_databaze_na_kterou_je_omezeni_uplatneno databaze_odkud_jde_datum explicitni_datum [date] -- nastavuje datum pro open, opt, check, sync; Nikam nic nezapisuje V případě, že je použit nepovinný parametr **date**, vezme se toto datum. * open id_otevirane_databaze -- open 0 * opt id_databaze -- opt 0 * check master_db slave_db rusit (0 rusit master, 1 rusit slave) -- check 0 1 1 * sync source_db dest_db -- synchronizace databazi; po uspesnem zakonceni nastavi datum do dest_db dle posledniho zaznamu z logu source_db s uzivatelem ze source_db * del id_databaze -- maze log do nastaveneho datumu datumu * ddb id_databaze -- odpojeni databaze * exit -- ukončí program * exec file_name -- spusti příkazy ze souboru * echo text -- zobrazí text, slouží k zpřehlednění logů * cmd sql_command -- spustí sql příkaz bez výstupu * time -- zobrazí aktuální čas * savelast to_db from_db -- nastaví datum poslední synchronizace v databázi **to_db** z databáze **from_db** * debug level -- nastaví úroveň logování (0-jen warningy, 1-detailní) ===== Spouštění synchronizace ve Windows (náhrada cron) ===== schtasks /create /tn "OBISSync" /tr c:\obis4\sync\synchronizer.cmd /sc daily /st 01:30 ===== Nastavení synchronizace ===== Aby bylo možno synchronizovat změny mezi databázemi je nutné zapnout **logování změn** ( menu - ostatní -> nastavení -> synchronizace). Zde se vypíší všechny tabulky u kterých se mají změny logovat. Lze použít i prefix tabulky (název před prvním _). Pokud chceme logovat USER tabulky s názvem např. v_faktury_uhrhl, můžeme zapsat **v=Y**. Budou se tak logovat všechny USER tabulky začínající **v_**. Jinak musíme vypsat celý název tabulky. Tedy **v_faktury_uhrhl=Y**. ==== Logování všech modulů ==== COMMON=Y COMMON_LOG=N COMMON_SYSLOG=N COMMON_LOGCTRL=N COMMON_NAST=N PARTNERI=Y ROZPOCTY=Y ZAKAZKY=Y SKLAD=Y PROST=Y UCTO=Y MAJETEK=Y FAKTURY=Y UKOLY=Y *.ukoly_zmeny=n *.ukoly_zmenypol=n DOKUMENTY=Y ====== Tunel Stunnel ====== Vytvoření obousměrného tunelu mezi centrálním serverem a pobočkou. [[http://www.stunnel.org/]] ===== Generovaní certifikátu ===== Vytvoření self-signed certifikátu a klíče pro pobočku resp. server s platností 10 let. openssl req -new -x509 -days 3650 -nodes -out pobocka.pem -keyout pobocka.key openssl req -new -x509 -days 3650 -nodes -out server.pem -keyout server.key ===== Konfigurace serveru Linux ===== Testováno s verzí 4.29 z balíku Debian 6.0.4 a Ubuntu 10.10. Soubory server.key server.pem a pobocka.pem jsou v /etc/stunnel/ chown stunnel4 server.key server.pem pobocka.pem chmod 600 server.key Konfigurační soubor /etc/stunnel/stunnel.conf ; Certificate/key is needed in server mode and optional in client mode cert = /etc/stunnel/server.pem key = /etc/stunnel/server.key ; Protocol version (all, SSLv2, SSLv3, TLSv1) ;sslVersion = SSLv3 ; Some security enhancements for UNIX systems - comment them out on Win32 chroot = /var/lib/stunnel4/ setuid = stunnel4 setgid = stunnel4 ; PID is created inside the chroot jail pid = /stunnel4.pid ; Some performance tunings socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 ;compression = zlib ; Authentication stuff ;verify 2 umoznuje pouziti CA Chains verify = 3 ; It's often easier to use CAfile CAfile = /etc/stunnel/pobocka.pem ; Some debugging stuff useful for troubleshooting ;debug = 7 ;output = /var/log/stunnel4/stunnel.log ;pro spojeni pobocka->server [firebird] accept = 11965 connect = 3050 ;pro spojeni server->pobocka [firebird-pobocka] client = yes accept = 13051 connect = pobocka_ip:11965 ===== Konfigurace pobocky ===== Soubory pobocka.key pobocka.pem a server.pem jsou v /etc/stunnel/ chown stunnel4 pobocka.key server.pem pobocka.pem chmod 600 pobocka.key Konfigurační soubor /etc/stunnel/stunnel.conf ; Certificate/key is needed in server mode and optional in client mode cert = /etc/stunnel/pobocka.pem key = /etc/stunnel/pobocka.key ; Protocol version (all, SSLv2, SSLv3, TLSv1) sslVersion = all ; Some security enhancements for UNIX systems - comment them out on Win32 chroot = /var/lib/stunnel4/ setuid = stunnel4 setgid = stunnel4 ; PID is created inside the chroot jail pid = /stunnel4.pid ; Some performance tunings socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 ;compression = zlib ; Authentication stuff ;verify 2 umoznuje pouziti CA Chains verify = 3 ; It's often easier to use CAfile CAfile = /etc/stunnel/server.pem ; Some debugging stuff useful for troubleshooting ;debug = 7 ;output = /var/log/stunnel4/stunnel.log ;pro spojeni server->pobocka [firebird] accept = 11965 connect = 3050 ;pro spojeni pobocka->server [firebird-server] client = yes accept = 13051 connect = server_ip:11965 ===== Konfigurace ve Windows ===== Testováno s verzí 4.53 a 5.01 Nainstalovat z [[ftp://ftp.stunnel.org/stunnel/]] stunnel-*-installer.exe do c:\stunnel\ Nahrát odpovídající *.key a *.pem do c:\stunnel\ V stunnel.conf je nutné zakázat FIPS, pro server a client prohodit odkazy na certifikaty v stunnel.conf: ; Certificate/key is needed in server mode and optional in client mode cert = pobocka.pem key = pobocka.key ; Protocol version (all, SSLv2, SSLv3, TLSv1) sslVersion = all ;ve windows nelze fips pouzit: sslVersion = TLSv1 is required in FIPS mode ; Disable FIPS mode to allow non-approved protocols and algorithms ;fips = no ; Authentication stuff verify = 3 ; It's often easier to use CAfile CAfile = server.pem ; Some debugging stuff useful for troubleshooting ;debug = 7 ;output = stunnel.log ;linux test ;foreground = yes ;pid = /tmp/stunnel4.pid ;pro spojeni pobocka->server [firebird-server] client = yes accept = 13051 connect = server_ip:11965 ==== Instalace jako service ==== Jako správce spustit (lze ze startmenu - programy - stunnel - service install pravým tlačítkem na myši): c:\stunnel\stunnel.exe -install ==== Různé klíče pro klienty (notebooky) ==== klientské certifikáty *.key uložit do adresáře /var/lib/stunnel4/certs a vytvořit hashe cd /var/lib/stunnel4/cert /usr/lib/ssl/misc/c_hash *.pem ln -s jmeno.key hash_dle_predchoziho_prikazu na serveru nahradit pouziti CAfile za CApath ; Authentication stuff ;verify = 2 verify = 3 ; Don't forget to c_rehash CApath ; CApath is located inside chroot jail CApath = /certs klientská strana je beze změn ===== Pripojeni k databazi ===== isql localhost/13051:/path/data.fdb ====== Tunel Zebedee ====== [[http://www.winton.org.uk/zebedee/manual.html|Manuál]] ==== Generování klíče ==== zebedee -p > myclient.key zebedee -P -f myclient.key > myclient.id cat myclient.id >> /etc/zebedee/client.idlist ==== Server config ==== verbosity 2 # Slightly more than basic messages server true # Yes, it's a server! detached true # Run detached from terminal udpmode false # Are we operating in UDP mode? logfile '/var/log/zebedee.log' checkidfile '/etc/zebedee/client.idlist' redirect 3050 targethost localhost # Redirection is to the local machine compression zlib:9 # Allow maximum zlib compression keylength 256 # Allow keys up to 256 bits keylifetime 36000 # Shared keys last 10 hours maxbufsize 16383 # Allow maximum possible buffer size ==== Klient config ==== verbosity 2 # Basic messages only server false # It's a client detached true # Detach from terminal logfile 'c:\zebedee\client.log' include c:\zebedee\myclient.key tunnel 13050:localhost:3050 serverhost host.domain.org ==== Instalace ve Windows jako Service ==== zebedee -n "Zebedee1" "-Sinstall=c:\zebedee\config.zbd"