Był czas, kiedy IANA przypisała tylko porty do 1023. Patrz RFC1700 . Kiedyś był to standard. Przez większość czasu nie mam problemów ze znalezieniem, kiedy rzeczy zmieniają się w strumieniu RFC, ale na pytanie o zmianę portów z 1024 na 49152 z zarejestrowanych na przypisane, zabrakło mi.
Jeśli chodzi o historię Linuksa, w 2007 r. Pojawiło się pytanie dotyczące domyślnego zakresu_portu_lokalnego_portu. W tym czasie zdecydowano się na użycie zakresu Linux, o którym wspomniałeś, obawiając się, że wysokie liczby portów mogą powodować problemy, a rozpoczęcie zakresu od 49152 może pozostawić zbyt mało numery portów w puli. Zobacz to i jej wątek. Wyraziła się wówczas myśl, że początek od 32768 był zgodny z duchem procedur IANA, jeśli nie w pełni zgodny. Czytając to, wnioskuję, że programiści założyli, że większość zadań pojawi się od dołu zakresu i przejdzie w górę. Podczas tego pisania liczę trochę więcej niż 100 numerów portów przypisanych (nie licząc różnych protokołów jako osobnych) między 32768 a 49152, więc utrzymało się to całkiem dobrze przez ostatnie pięć lat.
Nie wiem, dlaczego zasięg został uznany za zbyt mały, ale mogę sobie wyobrazić dwa powody:
- Numery portów są losowe, aby udaremnić niektóre ataki. Im więcej adresów w puli, tym lepiej ta obrona może działać.
- Serwery o wysokiej aktywności mogą mieć problemy z wyczerpaniem numeru portu. Chociaż porty mogą być efemeryczne, ich użycie nie jest natychmiastowe. W szczególności gniazda mogą trwać kilka minut po zamknięciu protokołu TCP.
Ten post na blogu dotyczy numeru 2 i sugeruje odpowiedź, jeśli chcesz, aby systemy Linux używały innego zakresu portów lokalnych. (Użycie /etc/sysctl.d do zdefiniowania zakresu, który ci się podoba. Istnieje również wpis ip_local_reserved_ports, który może być przydatny w przypadku wystąpienia konkretnego konfliktu. Pasują one do cytowanego wpisu / proc / sys.)
W podsumowaniu. Domyślne ustawienia Linuksa nie odpowiadają bieżącym specyfikacjom IANA, ale każdy konkretny system Linux może, jeśli chce tego jego właściciel.
ip_local_port_range
tak nie należy używać wartości.