Strona pochodzi z pomocy programu LBX 4.11 do nadzoru klimatu - temperatury, wilgotności, co2, wiatru, ...
Producent urządzeń (termometry, higrometry, barometry, mierniki, rejestratory) oraz oprogramowania do monitoringu parametrów klimatu.
Do pobrania: Program LBX
lbx proxy
Serwer proxy to składnik systemu który pozwala na nawiązanie komunikacji z serwerem przez klienta w wypadku gdy serwer nie ma statycznego adresu IP (w przypadku gdy serwer działa na łączu z dynamicznym przydziałem adresów, jak np. Neostrada).
Logika działania jest następująca: serwer proxy to osobny program, który jest
na stałe uruchomiony na komputerze o stałym adresie IP, ogólnie dostępnym
przez cały czas.
Serwer LBX który działa na zmiennym adresie IP jest odpowiednio
skonfigurowany do anonsowania swojej obecności przez serwer proxy - serwer
lbx okresowo wysyła swoje zgłoszenie do proxy, które na podstawie danych ze
zgłoszenia zna aktualny adres serwera. Zgłoszenia przesyłane są na tyle
często żeby zmiana adresu serwera została dostrzeżona bez nadmiernej zwłoki
(aktualnie co 1 minutę). Proxy pamięta dane o serwerze dopóki będzie dostawać
odpowiednio częste zgłoszenia aktualizacyjne. Jeżeli nastąpi przerwa w
zgłoszeniach, proxy usuwa ze swojej pamięci dane o tym serwerze (aktualnie po
2 minutach bez zgłoszenia).
Klient który chce się połączyć z serwerem nie znając
jego adresu IP jest odpowiednio skonfigurowany tak, że łączy się najpierw z
proxy zapytując o aktualny adres danego serwera z którym chciałby się połączyć.
Jeżeli proxy zna adres danego serwera, odpowiada klientowi przesyłając odpowiednie
informacje. Klient następnie łączy się już bezpośrednio z serwerem LBX pod zadanym
adresem, bez dalszego pośrednictwa proxy. Jeżeli proxy nie zna adresu serwera
o który pyta klient, informuje go o tym fakcie.
Autoryzacja zapytań
Serwer proxy może obsługiwać dowolną ilość serwerów i klientów lbx. Serwer zgłaszając się do proxy podaje nazwę swojemu serwerowi LBX oraz dodatkowe hasło dostępu. Klient pytając proxy o serwer musi podać nazwę serwera LBX oraz ustalone hasło. Teoretycznie jako klucz dostępowy mogłaby wystarczyć sama nazwa serwera, gdyż powinna być ona unikalna dla każdego serwera. Jednak aby zabezpieczyć przed uzyskaniem informacji o serwerze przez nieuprawnionego klienta jest dodatkowe hasło, gdyż nazwy serwera mogą być dość oczywiste i łatwe do odgadnięcia - można co prawda nadać je w postaci trudnej do odgadnięcia, ale jest to bezcelowe, nazwa serwera ma być przede wszystkim opisowa i identyfikacyjna. To hasło zabezpiecza przed uzyskaniem samego adresu serwera - znając adres serwera trzeba jeszcze przejść etap autoryzacji samego użytkownika.
Niezawodność
Pojedyńczy serwer proxy jest punktem systemu podatnym na awarię. W celu zapewnienia większej niezawodności system potrafi korzystać z dowolnej ilości proxy - w konfiguracji serwera LBX można podać dowolną ilość proxy, do których serwer zgłosi okresowo swoją obecność. Podobnie klient może zostać poinstruowany do skorzystania z dowolnej ilości serwerów proxy w celu uzyskania informacji o serwerze - odpytywane są one kolejno, aż któryś odpowie. Jeżeli z danym serwerem proxy nie uda się nawiązać połączenia (problem w komunikacji klient-proxy), lub nie wie on nic o zadanym serwerze lbx (problem w komunikacji serwer-proxy), to jest on pomijany i odpytywane jest następne proxy. Może się zdarzyć że żadne z proxy nie wie nic o serwerze o który pyta klient - jest to poprawna sytuacja w przypadku gdy np. serwer LBX nie działa.
Skalowalność
System do wysyłania zgłoszeń przez serwery LBX korzysta z protokołu UDP. Protokół ten
nie wymaga nawiązania połączenia z proxy, nie powodując tym samym intensywnego
obciążenia proxy dużą ilością jednoczesnych połączeń od serwerów, w przypadku gdyby
ich ilość była znacząca. Proxy zbiera z jednego portu UDP wszystkie spływające do
niego asynchronicznie zgłoszenia od serwerów. Zapytania od klientów realizowane
są w postaci połączenia TCP - jest ono znacznie bardziej angażujące dla klienta
i proxy, ale natura systemu jest taka że takie zapytania odbywają się rzadko,
tylko w momencie nawiązywania połączenia klienta z serwerem. Połączenie z proxy
trwa krótko - krótkie zapytanie i krótka odpowiedź. W tym wypadku zaletą protokołu
TCP jest niezawodność połączenia, która jest wymagana dla dalszych decyzji klienta,
nie zagraża tutaj zalanie proxy nadmierną ilością jednoczesnych połączeń od klientów.
W przypadku istotnego obciążenia danego proxy istnieje możliwość podziału systemu
na mniejsze niezależne części - rozdzielając obsługiwane serwery LBX pomiędzy
kilka osobnych i niezależnych proxy, konfigurując oczywiście zarówno serwery lbx
jak i klientów w odpowiedni sposób - podając właściwe adresy proxy.
Daje to również możliwość uruchomienia osobnych dedykowanych serwerów proxy do
indywidualnych zastosowań, obsługujących tylko wybrane serwery - dla celów
zamkniętych systemów.
Translacja adresów i przekierowanie portów
W przypadku serwera LBX który działa w lokalnej sieci w której używana jest translacja
adresów (NAT, masquerading), nie jest on bezpośrednio dostępny z zewnątrz. Komunikacja
ze światem zewnętrznym następuje przez bramkę/router brzegowy, który ma publiczny
adres IP. W takim wypadku aby zapewnić dostęp do serwera działającego w wewnętrznej
sieci, należy na bramce dokonać przekierowania wybranego portu na serwer działający
na niepublicznym adresie IP. Sposób konfiguracji takiego przekierowania jest zależny
od systemu działającego na bramce.
Przekierowanie portu może używać tego samego numeru portu co serwer lbx, ale może
używać także dowolnie innego numeru, zależnie od stworzonej konfiguracji.
Jeżeli numer portu jest taki sam, to nie ma tu żadnego problemu, serwer LBX anonsuje
do proxy swój numer portu, a skoro na bramce przekierowanie jest zrobione z tego samego
numeru portu to ten numer pozostaje właściwy. Jeśli jednak na bramce przekierowany
port ma inny numer, to serwer LBX musi zaanonsować właściwy numer portu na bramce.
Nie ma on żadnej świadomości tego numeru, w takim wypadku należy w konfiguracji
serwera LBX podać numer tego portu, który podlega przekierowani na bramce.
Istnieje do tego celu specjalna opcja w konfiguracji serwera.
Konfiguracja serwera
Konfiguracji serwera dokonuje się w konfiguracji serwera na zakładce serwer.
Włączyć należy oczywiście zdalny dostęp do serwera, co jest warunkiem koniecznym
na umożliwienie połączenia się z serwerem przez zdalnych klientów.
Następnie należy włączyć opcję anonsowania swojej obecności do proxy. Do listy
proxy należy dodać odpowiednie adresy (DNS lub IP), w ilości odpowiedniej dla
systemu - przynajmniej jeden. Opcjonalnie można podać hasło dostępu, które
pozwoli uzyskać informacje o tym serwerze tylko wybranym klientom, dla większego
bezpieczeństwa systemu (jest jeszcze osobny etap autoryzacji użytkownika).
W przypadku bramki/routera z translacją adresów i używania przekierowania
portów TCP, jeżeli numer zewnętrznego portu jest inny niż port serwera należy
podać właściwy numer portu na bramce.
Konfiguracja klienta
Konfiguracja klienta dla połączenia z serwerem za pośrednictwem proxy jest
podobna do konfiguracji ze stałym adresem IP - należy dodać w menu
konfiguracja - właściwy serwer, wybierając jako sposób połączenia
"proxy". Następnie należy podać następujące dane:
- adres proxy: adres DNS lub IP, jeżeli jest potrzeba podania kilku adresów
proxy to należy je wymienić kolejno rozdzielając przecinkami (bez spacji)
- nazwa serwera: ta nazwa musi odpowiadać nazwie skonfigurowanej
na serwerze lbx
- hasło: opcjonalnie hasło dla proxy ustawione na serwerze lbx
Nawiązywanie połączenia z serwerem przez proxy odbywa się za pomocą identycznych mechanizmów jak z kazdym innym serwerem - opcje połącz i rozłącz w menu serwera. W tym procesie pojawi się dodatkowy etap odpytywania proxy, który nie wymaga już żadnej dodatkowej ingerencji.