Řešení 1:
(2^16)-1 nebo 0-65 535 (-1 je proto, že port 0 je rezervovaný a nedostupný). (upraveno, protože o_O Tync mi připomněl, že nemůžeme použít port 0, a Steve Folly mi připomněl, že jste požadovali nejvyšší port, nikoli počet portů)
Ale asi na to jdeš špatně. Existují lidé, kteří argumentují pro a proti nestandardním portům. Říkám, že jsou irelevantní, s výjimkou nejběžnějšího skeneru a ten nejběžnější skener lze udržet na uzdě použitím aktuálního softwaru a správných technik brány firewall spolu se silnými hesly. Jinými slovy, nejlepší bezpečnostní postupy.
Řešení 2:
1-65535 jsou k dispozici a porty v rozsahu 1-1023 jsou privilegované jedničky:aplikace musí být spuštěna jako root, aby mohla naslouchat těmto portům.
Řešení 3:
Ačkoli 1-65535 jsou legitimní porty TCP a je pravda, že 1-1023 jsou pro dobře známé portové služby. Můžete narazit na náhodné problémy s vašimi vlastními službami, pokud jsou spuštěny po vytvoření dočasného portu. Pro ty, kteří možná nevědí, efemérní porty jsou ty, které jsou připojeny lokálně pro vzdálené koncové body (nebo něco v tom smyslu). Pokud tedy napíšete službu TCP, která naslouchá na portu 20001. Možná budete dobří dnes... a zítra. Ale jednoho dne se vaše služba může spustit a pokusit se navázat na 20001 a selže, protože byla brána jako pomíjivý port. Existuje řešení. Musíte mít svého administrátora nebo vy sami, abyste změnili systémovou zásadu pomíjivého rozsahu portů na vašem serveru. Na linuxových systémech se to provádí ve dvou krocích:
- Dynamicky
- Trvale
Je třeba provést oba kroky, pokud neplánujete restart (v takovém případě není krok Dynamic nutný). Chcete-li nastavit rozsah až 40 000 až 65 535, postupujte takto:
Dynamické
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range
nebo
sysctl -w net.ipv4.ip_local_port_range="40000 65535"
Trvalé
Do souboru /etc/sysctl.conf přidejte následující:
net.ipv4.ip_local_port_range = 40000 65535
Chcete-li přečíst aktuální nastavení nebo potvrdit změnu:
/sbin/sysctl net.ipv4.ip_local_port_range
Výstup bude něco takového:
net.ipv4.ip_local_port_range = 9000 65500
Ujistěte se, že rozumíte účelu svého serveru. Přílišné snížení rozsahu může vést k dalším problémům.
Šťastné programování! (nebo co děláte)