Czy powinienem używać adresów lokalnych z linkami tam, gdzie wymagany jest wewnętrzny router IP bez możliwości routowania?

11

Mam urządzenie sieciowe, które zawiera pewne funkcje równoważenia obciążenia - w moim projekcie te funkcje są przeznaczone tylko do użytku wewnętrznego w urządzeniu. Nic NIGDY nie powinno z nimi rozmawiać na zewnątrz, a ponadto klient ma mało adresów IP w zakresie adresów IP urządzeń.

Czy byłoby możliwe użycie zakresu Link-Local dla tych funkcji? Na przykład 169.254.1.1.

Uwaga: dane urządzenie nie zezwala na użycie pętli zwrotnej IP dla tych funkcji.

Dan
źródło
1
Jeśli są używane tylko do komunikacji między usługami na tym samym hoście, czy istnieje powód, dla którego nie chcesz używać adresu zwrotnego?
YLearn
@YLearn Aby być uczciwym - tak naprawdę nie mam, chociaż nie mogę pozbyć się wrażenia, że ​​tak naprawdę nie chodzi o adres zwrotny, ale może się mylę? Tak czy inaczej, poszedłem go przetestować, a urządzenie nie pozwoli ci nic skonfigurować na IP pętli zwrotnej!
Dan.

Odpowiedzi:

5

Nie , RFC3927 zabrania ręcznego przypisywania adresów w tym bloku.

Należy zamiast wykorzystywać adresy tworzą bloki dostarczonych przez RFC1918 , 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16. Z adresów tych można swobodnie korzystać, pod warunkiem, że trasy nie są reklamowane w Internecie. Pamiętaj, aby wybrać podsieć, która w innym przypadku nie jest używana w twoim środowisku.

84104
źródło
Ponieważ możesz nie wiedzieć, które podsieci są używane w środowisku, najlepiej jest skonfigurować je. Mógł podążać śladem wielu domowych routerów: wybrać domyślną 192.168.x.0/24podsieć i pozwolić administratorowi na zmianę x. Prawdopodobnie nie powinien przyjmować wartości domyślnej 0 lub 1, ponieważ są to typowe wartości domyślne routerów.
Barmar
4

Szczegóły RFC3927 wydają się uważać, że nie jest to całkowicie poprawne.

Tak , idź głową. Powody, dla których jest to zabronione, nie wejdą w grę. Jest o wiele lepszy niż inne typowe sytuacje, takie jak dowodzenie 1.1.1.0/24.

Jeśli chcesz grać ładne, można użyć jednej 169.254.0.0/24lub 169.254.255.0/24.

2.1 Wybór adresu lokalnego łącza

Kiedy host chce skonfigurować adres lokalny łącza IPv4, wybiera adres za pomocą generatora liczb pseudolosowych o jednolitym rozkładzie w zakresie od 169.254.1.0 do 169.254.254.255 włącznie.

W tym celu prefiks IPv4 169.254 / 16 jest zarejestrowany w IANA. Pierwsze 256 i ostatnie 256 adresów w prefiksie 169.254 / 16 są zarezerwowane do wykorzystania w przyszłości i NIE MOŻE być wybierane przez host za pomocą tego dynamicznego mechanizmu konfiguracji.

84104
źródło
Dlaczego sugerowałbyś użycie dwóch zakresów zarezerwowanych przez IANA do wykorzystania w przyszłości? To wydaje się być złą radą na wypadek, gdyby IANA zdecydowała się skorzystać z zarezerwowanych zakresów z jakiegoś powodu.
YLearn 21.04.15
@YLearn Masz rację, jest to naruszenie specyfikacji. Jednak druga opcja dotycząca tych adresów jest wyraźnym naruszeniem. Wydaje mi się, że lepiej jest wybrać morderczy zły wybór.
84104
1
Tak więc, parafrazując swoją odpowiedź i komentarz, użycie zastrzeżonych adresów jest naruszeniem, a użycie ręcznego przypisania z wygenerowanego zakresu jest naruszeniem. Zatem odpowiedź powinna brzmieć: „Nie, to zły pomysł. Musisz znaleźć lepsze rozwiązanie”. Gdyby ludzie po prostu zignorowali standardy i specyfikacje, gdy są przez nich niewygodni, wówczas zagrożona
byłaby
Zgadzam się z @YLearn. Link-Local służy do automatycznego przypisywania adresu IP hosta w przypadku braku DHCP, a nie do ręcznej konfiguracji w szczególnych okolicznościach. Wycinanie fragmentu z zakresów RFC1918 (nawet takiego, który nie jest obecnie używany) byłby jedyną prawidłową opcją.
Ashley,
3

Aby odpowiedzieć na twoje pytanie, nie, nie powinieneś. RFC3927 w rozdziale 1.6 zabrania tego typu użytkowania.

W szczególności ostatni akapit tego rozdziału mówi:

Administratorzy, którzy chcą skonfigurować własne adresy lokalne (przy użyciu konfiguracji ręcznej, serwera DHCP lub innego mechanizmu nieopisanego w tym dokumencie), powinni użyć jednego z istniejących przedrostków adresów prywatnych [RFC1918], a nie przedrostka 169.254 / 16.

Wyklucza to cały / 16 dla tego typu zastosowań, więc musisz szukać innej alternatywy.

Moją pierwszą sugestią byłoby użycie interfejsu pętli zwrotnej. Interfejsy sprzężenia zwrotnego są idealne do komunikacji między usługami na tym samym hoście, które nie wymagają dostępu poza tym hostem. Są one wykorzystywane w ten sposób przez szereg usług, do interfejsów zarządzania, testowania i innych celów.

Wspomniałeś w swoich komentarzach / edycjach, że urządzenie nie pozwoli ci tego zrobić. Nie wspominasz o wersji dostawcy / modelu lub kodu, więc moją pierwszą rekomendacją jest skontaktowanie się ze sprzedawcą. Jeśli jest to rzeczywiście prawidłowe użycie urządzenia, mogą chcieć dostosować swój kod, aby umożliwić korzystanie z interfejsu sprzężenia zwrotnego; po prostu mogli nie wziąć pod uwagę tego przypadku użycia podczas pisania kodu w celu sprawdzenia poprawności adresów IP. Mogą też powiedzieć, dlaczego jest to zły pomysł i dlaczego należy to zrobić w inny sposób.

Jeśli interfejs sprzężenia zwrotnego naprawdę nie wchodzi w rachubę, należy w tym celu użyć przestrzeni adresowej RFC1918 . Upewnij się, że współpracujesz z odpowiednim personelem IT, który wybiera zakres adresów IP do wykorzystania, aby uniknąć innych nieprzewidzianych problemów w sieci.

YLearn
źródło