Tento příspěvek poskytuje návod, jak rezervovat konkrétní rozsah portů na systémech CentOS/RHEL, když jsou tyto porty potřebné pro aplikaci třetí strany. Například jeden potřebuje rozsah portů mezi „10000 až 15000“, který má být používán aplikací A, a jeden potřebuje rozsah portů mezi „20000 až 25000“, který má být používán aplikací B. Tyto porty mezi „10000 až 15000“ a „ 20000 až 25000″ budou výhradně vyhrazeny pro aplikace A a B.
Na straně operačního systému CentOS/RHEL je nutné vyhradit řadu portů, které potřebuje aplikace třetí strany, a je důležité si uvědomit, že rozsah portů nebude striktně rezervovat port pro žádnou konkrétní aplikaci, ale na straně aplikace. je místo, kde je třeba nastavit port, který má tato konkrétní aplikace používat.
Chcete-li změnit rozsah portů, jednoduše upravte soubor proc/sys/net/ipv4/ip_local_port_range a změňte příslušné požadované hodnoty.
1. Zkontrolujte aktuální rozsah portů:
# cat /proc/sys/net/ipv4/ip_local_port_range
Například:
# cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000
nebo
# sysctl net.ipv4.ip_local_port_range
Například:
# sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 61000
2. Upravte rozsah portů na požadované hodnoty:
# echo 10000 25000 > /proc/sys/net/ipv4/ip_local_port_range
nebo
# sudo sysctl -w net.ipv4.ip_local_port_range="10000 25000"
3. Upravte soubor /etc/sysctl.conf
Upravte konfigurační soubor /etc/sysctl.conf soubor, proveďte změny trvale a přidejte následující řádek:
# vi /etc/sysctl.conf net.ipv4.ip_local_port_range = 10000 25000
Chcete-li rezervovat jeden nebo více konkrétních portů mimo rozsah portů vyhrazený pod „ip_local_port_range ” pro konkrétní účel přidejte port do následujícího souboru:
/proc/sys/net/ipv4/ip_local_reserved_ports
Poznámky
IP_local_port_range – 2 INTEGERS
Definuje rozsah místního portu, který používají TCP a UDP k výběru místního portu. První číslo je první, druhé poslední číslo místního portu. Pokud je to možné, je lepší, aby tato čísla měla různou paritu (jedna sudá a jedna lichá hodnota). Výchozí hodnoty jsou 32768 a 60999.
ip_local_reserved_ports – seznam rozsahů oddělených čárkou.
Zadejte porty, které jsou vyhrazeny pro známé aplikace třetích stran. Tyto porty nebudou využívány automatickým přidělováním portů (např. při volání connect() nebo bind() s číslem portu 0). Explicitní chování při přidělování portů se nezměnilo.
Formát používaný pro vstup i výstup je čárkami oddělený seznam rozsahů (např. „1,2-4,10-10“ pro porty 1, 2, 3, 4 a 10). Zápis do souboru vymaže všechny dříve rezervované porty a aktualizuje aktuální seznam podle toho, který je uveden ve vstupu.
Poznámka :Nastavení ip_local_port_range a ip_local_reserved_ports jsou nezávislá a obě jsou zvažována jádrem při určování, které porty jsou k dispozici pro automatické přidělování portů.Můžete si rezervovat porty, které nejsou v aktuálním rozsahu ip_local_port_range, např.:
$ cat /proc/sys/net/ipv4/ip_local_port_range 32000 60999 $ cat /proc/sys/net/ipv4/ip_local_reserved_ports 8080,9148
i když je to nadbytečné. Takové nastavení je však užitečné, pokud se později rozsah portů změní na hodnotu, která bude zahrnovat rezervované porty.