Aplikacja wymaga adresu IP, musisz go przejść do domeny

15

Używamy (źle zaprojektowanej) aplikacji, która wymaga adresu IP naszego biura korporacyjnego, które ma statyczny publiczny adres IP. Jednak, gdy uruchamia się nasz internet przełączania awaryjnego, ma on oczywiście inny statyczny publiczny adres IP, a następnie nie działają połączenia zdalne.

Jeśli aplikacja zaakceptuje nazwę domeny, użyłbym jej z dynamicznym DNS, ale nie akceptuje nazwy domeny.

Czy jest jakiś sposób na wprowadzenie adresu IP, ale uzyskanie dostępu do naszej nazwy domeny? Miałem dwie myśli, których jeszcze nie próbowałem.

  1. Skonfiguruj lokalny adres IP, który przekierowuje do naszej nazwy domeny (np. 10.0.1.99 idzie na local.ourdomain.com). Nie jestem jednak pewien, jak bym to zrobił. Skonfiguruj Raspberry Pi z serwerem sieciowym.

  2. Kup hosting z dedykowanym adresem IP i poproś go o przekierowanie do naszej domeny, która w razie potrzeby może zostać zaktualizowana.

Wszelkie przemyślenia na temat tego, jak to osiągnąć?

MrPeanut
źródło
1
Jaki rodzaj aplikacji? Masz na myśli coś hostowanego wewnętrznie? Jak jakiś Ruby, Java, a nawet JavaScript?
JakeGould
1
Odwrotny serwer proxy. Przyklej go pod stałym adresem i przekaż pakiety na odpowiedni adres.
Ignacio Vazquez-Abrams,
Tylko program Windows, który dostarczył nam dostawca, który wysyła i pobiera dane z naszego biura korporacyjnego.
MrPeanut,
2
Będziesz musiał hostować gdzieś zwrotny serwer proxy z adresem IP, który nigdy się nie zmienia. To będzie kosztować pieniądze. Czy zastanawiałeś się nad przeniesieniem usługi do chmury, w której i tak jest wbudowana nadmiarowość? Koszt jest prawdopodobnie podobny. Inna sugestia korzystania z VPN ma wiele sensu. Nie rozumiem, w jaki sposób odwrotne proxy jest dobrym rozwiązaniem.
Appleoddity,
1
@Appleoddity Odwrotne proxy to po prostu implementacja punktora 1 OP. Nie masz malin w biurze firmy, ale w sieci lokalnej, w której aplikacja jest uruchomiona. Ponieważ jest to możliwe w danym scenariuszu według PO, jest to prawdopodobnie najprostsze i najtańsze rozwiązanie.
Voo,

Odpowiedzi:

37

Odwrotny serwer proxy jest dobrym pomysłem, ale może być ograniczony przez protokół.

Rozwiązałbym ten problem, konfigurując VPN (który zapewnia bezpieczeństwo - jeśli aplikacja jest tak źle napisana, to nie wykonuje wyszukiwania DNS, prawdopodobnie nie używa też przyzwoitej krypto). Korzystanie z VPN oznacza, że ​​twoje adresy mogą być wszystkie rfc1918 (tj. Prywatne), a aplikacja nie będzie nawet dbać o zmianę zewnętrznych adresów.

Davidgo
źródło
0

VPN jest swego rodzaju kosztowny, kiedy możesz zdobyć Raspberry Pi lub Pi Zero i uruchomić na nim Debiana, i skonfigurować na nim iptables, aby maskować się tak, jak chcesz

Szczegóły zależą od tego, w jaki sposób skonfigurowano twoją sieć lokalną, ale ogólną ideą byłoby podanie Pi dwa stałych adresów lokalnych.

Jeden adres byłby zarezerwowany do administrowania Raspberry Pi. W ten sposób można wprowadzać zmiany i zmieniać je w razie potrzeby.

Drugi działałby jako proxy dla zdalnego podstawowego (lub zapasowego).

Pakiety wysyłane na ten adres mogą być przekazywane iptablesjako maskarada do podstawowego lub rezerwowego, w zależności od warunków. NAT w razie potrzeby zmienia adres źródłowy i docelowy pakietu przed ponowną transmisją.

Zwracane pakiety otrzymują NAT z powrotem do requestera.

Powinno to działać dobrze, dopóki nie ma adresów IP osadzonych głębiej w pakietach lub przypadków takich jak klasyczny FTP, które ustanawiają połączenia równoległe.

Punkty bonusowe, jeśli możesz sprawić, że Pi zauważy, że główna strona zniknęła i automatycznie przełączy się na kopię zapasową

naprawiony
źródło
Prowadzę VPN za darmo, nie rozumiem, dlaczego nie mógł. Nie ukrywa swojego ruchu przed swoim ISP. OPENvpn
FreeSoftwareServers
-4

Użyj Route53 (amazon) lub dowolnego innego systemu DNS, który ma routing rezerwowy. Jeśli korzystasz z kontroli poprawności, możesz przypisać secundairy wpisowy adres IP DNS, gdy kontrola poprawności zakończy się niepowodzeniem na podstawowym adresie IP.

Ramon Fincken
źródło
7
Jak to pomaga, jeśli aplikacja nie rozpoznaje rekordu DNS?
ydaetskcoR
sprawdzisz podstawowy adres IP, więc NIE adres IP urządzenia. pierwotne internetowe IP musi zostać rozwiązane. kiedy tak nie jest, oznacza to, że potrzebujesz przełączenia awaryjnego.
Ramon Fincken,
@Ramon Biorąc pod uwagę, że aplikacja nigdy nie korzysta z rekordu DNS, jak dokładnie pomoże dostosowanie tego rekordu DNS?
Voo,
4 adresy IP: podstawowy adres IP, B adres IP rezerwowy, C adres IP urządzenia, D adres IP rezerwowy urządzenia sprawdzisz stan IP A i zwrócisz adres IP urządzenia. jeśli A spadnie, zwróć ip D
Ramon Fincken
1
@Ramon Aplikacja została zakodowana na stałe w niektórych konfiguracjach „podłącz do IP ABCD”, dokładny problem polega na tym, że nie pyta, którego adresu IP powinien użyć. A może pomysł, aby powinni uruchamiać aplikację wiele razy dla każdego adresu IP serwera, a następnie przełączać aplikacje? Może to działać, zakładając, że nie występują problemy z licencjonowaniem i możliwe jest skonfigurowanie aplikacji do współdzielenia stanu przechowywanego i nie ma problemu z uruchomieniem wielu aplikacji z tą samą pamięcią jednocześnie (wydaje się to bardzo mało prawdopodobne dla zdecydowanej większości aplikacji).
Voo,