[Delphi] UDP - VPN - Firewall

0

Poszukuję informacji dotyczącej dwukierunkowej wymiany danych.
Posiadam aplikacje klienta ,które łączą się z programem na serwerze. W połączeniu tym wykorzystuję protokół UDP. Aplikacji klienckich może być bardzo wiele i każda z nich przesyłając dane do serwera podaje swój adres zwrotny ( IP i Port). Całość działa bardzo pięknie .
Więc w czym problem ? - zapytacie.
Problem pojawia się jak zwykle po pewnym czasie. Jeden z użytkowników przeniósł oprogramowanie na komputer będący w VPN i z tego komputera jako adres zwrotny dostaję albo IP wewnętrzne albo IP firewalla. W związku z tym informacja z serwera nie dochodzi do aplikacji klienta (ramki umierają na firewallu lub szukają nieistniejącej maszyny).

Nie za bardzo wiem jak podejśc do tego problemu , a muszę propozycję rozwiązania przedstawić programistom i mam na to nie za wiele czasu.

Oto pytania które mnie nurtują.

  • czy aplikacja klienta może dołaczyć informację o pełnym adresie zwrotnym ( IP publiczne , Port , IP lokalne , Port )?
  • jak dołaczyć i potem wyciągnąc te informacje ?
    -czy ten proces może przebiegać automatycznie bez udziału obu aplikacji ?
  • w jaki sposób dołączyć te informacje tak by firewall przekazywał automatycznie ramki do odpowiedniego komputera w VPN i na odpowiedni port?

Z góry dziekuję za wszelkie sugestie i odpowiedzi.
Tomasz B.

Ps. Proszę jeżeli ktoś wie gdzie szukać informacji ( najlepiej PL) na ten temat to proszę o konkretne linki - próbowałem na googlach ale zasadniczo nie wiem jak poprawnie skonstruować zapytanie - albo wyskakuje mi ponad milion odpowiedzi albo zero.

Wczoraj , to dziś , tylko że jutro....

0

Jako że nikt nic nie napisał, to choć to nie moja działka spróbuje powiedzieć gdzie ja bym szukał.
Kto odpowiada za VPNa i Firewalla - być może odpowiednie ustawienie Firewalla by pomogło, lub ustanowienei połaczenia VPN. Jakoś jest to rozwiązywane bo uzywałem kiedyś VPNa (administrator ustawiał, jak coś nie grało zgłasząło się jak dłużej sięmęczył robiło aferkę i szło do przodu). W jakiś sposób np. przeglądarka internetowa działa ... stawiam na ustawieniaVPN+Firewall.
Wydaje mi się że może być problem z przekierowywaniem informacji. Generalnie to twoje pakiety muszą przebić się poprzez tamtego Firewalla, być może gdybyś znał dokładny IP i adresował na niego by pomogło, ale nie do końca jestem przekonany. Musiałbys potestować.
Powtarzam- zacząłbym od rozmowy z administratorem tamtego Firewalla
Andrzej Dąbrowski
PS. Sorry za ogólniki, ale widzę że masz cisnienie a nikt nic nie powie. Powiedziałem co wiedziałem.

0

Serdeczne dzięki.

Sam na to wpadłem by pogadać z adminem.
I to własnie on powiedział mi że jak ta ramka wraca z naszego serwera do jego Firewalla i na jakiegoś NAT'a ( Nawet nie wiem co to jest ten NAT ?) to jak ją rozbiera ( tę ramkę ma się rozumieć ) to w niej nie ma informacji gdzie ma ją dalej posyłać (znaczy się on powiedział że brak tam informacji Jaki Port lokalny , jakie IP lokalne i jaki numer sesji) o czem on do mnie w ogóle gada [???] ;) ?
Jak mogę umieścić te informacje w nagłowkach datagramu i skąd wiedzieć co tam wpisać ???

Czy mozna łatwo zobaczyć zawartośc nagłówka przychodzących ramek ?

Jeśli ktokolwiek wie jak rozwiazać ten problem to proszę o podpowiedź.

Dla ścisłości powiem , że programiści używają komponentów INDI i Delphi 2005
oraz komponentów FastNet i Delphi 4.

0

Generalnie ramki są tworzone automatycznie i dziwi mnie problem z firewallem. Pisałem kiedyś komercyjnie właśnie w oparciu o Indy poprzez VPNa i działało ale ja używałem TCP, musiał być tylko dobrze skonfigurowany Firewall, jak nie był nic nie dochodziło bo ramki się "błąkały", a tak naprawdę ładowało je na śmietnik:).
Za mało napisałeś by coś powiedzieć, nikt nie wie jakich komponentów używasz, jak się łączysz itd, trudno cokolwiek więcej powiedzieć a jak nie rozumeisz co admin mówi to nich ci to wytłumaczy po ludzku, a ty mógłbyś do jakiejś książki o sieciach zajrzeć:)
Andrzej Dąbrowski

1 użytkowników online, w tym zalogowanych: 0, gości: 1