W systemie Windows ten plik znajduje się pod adresem C:\WINDOWS\system32\drivers\etc\hosts
. Ten plik pozwala nam ustawić domyślny adres IP na nazwę hosta.
Problem polega teraz na tym, czy mogę ustawić wiele adresów IP na nazwę hosta. Na przykład, czy mogę zrobić coś takiego:
192.168.244.128 gateway.net
192.168.226.129 gateway.net
I spodziewaj się, że przeglądarka rozwiąże oba te problemy. Zobacz, który z nich będzie działał, a tym samym wskaż ten drugi?
Jeśli nie, czy jest jakiś inny sposób na uzyskanie pożądanego zachowania?
Uwaga: wdrażam tę aplikację we własnej sieci lokalnej, więc nie ma potrzeby korzystania z Internetu.
Tak, możesz to zrobić, użyłem go do testowania scenariuszy DNS z wykorzystaniem robota okrągłego bez konieczności wprowadzania hostów w DNS.
Gdy aplikacja wywołuje gethostbyname, zwraca pełną listę adresów IP (możliwie w losowej kolejności - w zależności od bibliotek / systemu operacyjnego).
źródło
Myślę, że podchodzisz do tego niewłaściwie. Daj mi znać, jeśli przyjmę błędne założenia.
Scenariusz:
To, co próbujesz zrobić, nazywa się round-robin DNS (inaczej słabym równoważeniem obciążenia), ale próbujesz to zrobić po stronie klienta. Nie wydaje się to mieć pożądanego efektu (przynajmniej w moim pudełku Windows XP), nawet jeśli opróżnię pamięć podręczną DNS. System Windows rozpoznaje tylko pierwszy adres IP w pliku. Niemniej jednak okrągły DNS nie jest odporny na uszkodzenia, więc nie pomoże Ci to osiągnąć tego, co chcesz.
Sugerowane rozwiązanie:
Sprzętowy moduł równoważenia obciążenia: niektóre marki to Alteon, Big-IP, Barracuda. To w zasadzie przedstawia pojedynczy adres IP, z którego użytkownicy mogą się połączyć i przekazuje żądania do serwerów sieciowych. Jeśli jeden z serwerów stanie się niedostępny, nie będzie już przekazywał do niego ruchu. To droga opcja.
Usługi równoważenia obciążenia sieciowego: jest to technologia Microsoft dostępna na serwerze Windows, która da ci jeden klastrowany adres IP. Osiąga ten sam wynik, co sprzętowy moduł równoważenia obciążenia, ale w inny sposób. Wszystko, co musisz zrobić, to skonfigurować .
źródło
From http://www.unc.edu/atn/lsf/docs/7.0.5/lsf_config_ref/index.htm?hosts.5.html~main
Przykład IPv4
W tym przykładzie hostA ma 2 adresy IP i 3 aliasy. Alias hostB określa pierwszy adres, a aliasy hostC i host-C określają drugi adres. LSF używa oficjalnej nazwy hosta, hostA, do identyfikacji, że oba adresy IP należą do tego samego hosta.
źródło
Moja propozycja to użycie wewnętrznego serwera DNS z okrągłym systemem DNS i TTL = 0. Jeśli zaktualizujesz rekord DNS (także z automatycznym systemem sprawdzania adresu IP), gdy IP / serwer jest wyłączony, możesz mieć system wysokiej dostępności.
źródło
Zrobiłem to w sieci domowej, w której przypisuję statyczne adresy IP zarówno interfejsom sieci przewodowej, jak i bezprzewodowej laptopa, a z pliku hostów innego komputera wskazuje jedną nazwę hosta na oba adresy IP. Wygląda na to, że działa dobrze.
źródło
W oparciu o ten przykład wykonałem następujący host 10A w wersji 10.18.yx 192.168.zx
Gdzie hostA jest nazwą hosta serwera, do którego zamierzam dotrzeć zarówno z sieci wewnętrznej (192.168.yx), jak i VPN (10.8.zx).
Więc działa dobrze i jestem w stanie zmusić sambę do pracy przez VNP przy użyciu nazwy hosta, więc mogę podłączyć oba dyski do systemu Windows w obu przypadkach (połączenie LAN lub VPN).
Z poważaniem.
źródło
@ Plamen Dimitrov Będziesz potrzebował urządzenia do obsługi tego rodzaju równowagi, być może przełącznika, który może obsłużyć BGP przed twoim FW- lub użyć twojego FW, jeśli jest w stanie. Jeśli twoje Ciscos obsługują BGP, zajmij się tym. W ten sposób oba IP twoich dostawców ISP mogą przechodzić do Cisco / lub przełączników, a serwery docelowe miałyby prawidłowe IP 24-bitowych publicznych adresów IP (RÓŻNE OD 2 adresów IP ISP). W tym momencie (używasz 3 różnych publicznych bloków adresów IP, ten dla serwerów MUSI BYĆ 24-BITOWY), będziesz musiał poinformować każdego z twoich dostawców usług internetowych o tym rozwiązaniu i byliby gotowi wesprzeć Rozwiązanie BGP między nimi, co większość zrobi. Teraz, gdy twoja FQDN zostanie rozstrzygnięta, rozwiąże się ona do 24-bitowego bloku adresów IP, nawet jeśli zejdzie 1 linia ISP. Celem jest twoje 24-bitowe adresy będą zawsze dostępne, ponieważ twoi dostawcy usług internetowych zgadzają się kierować ten 24-bitowy adres przez swoje linie. Działa to również w przypadku VPN, ponieważ wszystko, czego używasz do VPN, to adresy 24-bitowe, a nie adresy IP od dostawcy usług internetowych, który podłączyłeś do swojego cisco / lub przełącznika. W tym momencie musisz uważać na BGP FLAPPING, w którym jeśli twoje linie często podnoszą się i opadają, z powodu uzyskania linii DOS, adresy DNS zmieniają się tak bardzo w Internecie, że serwery DNS AUTOMATYCZNIE USUWAJĄ IP KTÓRE PROWADZĄ DO TWOJEGO 24-bitowego bloku adresów IP. To atak DOS na rozwiązania BGP. W tym momencie musisz uważać na BGP FLAPPING, w którym jeśli twoje linie często podnoszą się i opadają, z powodu uzyskania linii DOS, adresy DNS zmieniają się tak bardzo w Internecie, że serwery DNS AUTOMATYCZNIE USUWAJĄ IP KTÓRE PROWADZĄ DO TWOJEGO 24-bitowego bloku adresów IP. To atak DOS na rozwiązania BGP. W tym momencie musisz uważać na BGP FLAPPING, w którym jeśli twoje linie często podnoszą się i opadają, z powodu uzyskania linii DOS, adresy DNS zmieniają się tak bardzo w Internecie, że serwery DNS AUTOMATYCZNIE USUWAJĄ IP KTÓRE PROWADZĄ DO TWOJEGO 24-bitowego bloku adresów IP. To atak DOS na rozwiązania BGP.
źródło
Nieznaczne wyjaśnienie tutaj, przynajmniej w świecie Windows: Możesz mieć dwa adresy IP dla jednej nazwy w pliku hosts. Po zapytaniu zwracane są wszystkie adresy. Aplikacja (tj. Przeglądarka) będzie próbowała się nawzajem łączyć, dopóki nie zostanie nawiązane połączenie. IOW, wypróbuje wszystkie adresy, zanim upłynie limit czasu. (Jest to powszechne nieporozumienie, ponieważ wiele osób uważa, że wypróbuje tylko „pierwszy” adres).
Możesz to zweryfikować za pomocą następującego eksperymentu:
Dodaj dwa lub więcej adresów hosta w pliku hosts, jeden rzeczywisty, a drugi fałszywy. (Zmniejsz alfabetycznie fałszywe adresy.) Otwórz przeglądarkę i spróbuj połączyć się z nazwą hosta. Uruchom netstat -no w tym samym czasie. Powinieneś zobaczyć próby połączenia z fałszywym adresem. (utknął w SYN_SENT) Przeglądarka ostatecznie dostanie się na dobry adres i połączy się. Wystąpiło opóźnienie w połączeniu, ale to zadziała.
źródło
ipconfig /flushdns
aby upewnić się, że poprzednie rozdzielczości zostały zapomniane. Próbowałem otworzyć witrynę (lokalnie na moim komputerze) w oknie incognito w Chrome, aby wykluczyć wyniki z pamięci podręcznej. Po prostu się nie udało (i czekałem kilka minut, aby zobaczyć, czy w końcu zadziała). Naciśnij przycisk odśwież, aby się upewnić. Następnie skomentowałem fałszywy adres IP z mojego pliku hosts. Nie robiąc nic innego odświeżyłem stronę i działała. To samo dotyczy Firefoksa.Nie możesz tego zrobić z plikiem hosts.
Nie możesz tego zrobić również za pomocą DNS: możesz podać wiele adresów IP dla jednej nazwy, ale przeglądarka wybierze tylko jeden z tych wielu adresów IP, wypróbuj go, a jeśli ten host jest obecnie wyłączony, przeglądarka wyświetli błąd połączenia .
Jednym z możliwych rozwiązań jest skonfigurowanie serwera proxy i skonfigurowanie tych dwóch adresów IP jako elementów nadrzędnych dla obsługiwanej domeny. Przynajmniej w przypadku Squid serwer proxy spróbuje na jednym serwerze, a jeśli zawiedzie, spróbuje na drugim serwerze. Następnie skonfiguruj przeglądarkę, aby korzystała z tego serwera proxy.
źródło