101 votes

Quel est le numéro de port maximum ?

J'aimerais configurer certains services linux sur des ports non standard. Quel est le numéro de port valide le plus élevé ?

102voto

Matt Simmons Points 20098

(2^16)-1, ou 0-65 535 (le -1 est dû au fait que le port 0 est réservé et indisponible). (édité parce que o_O Tync m'a rappelé que nous ne pouvons pas utiliser le port 0, et Steve Folly m'a rappelé que vous avez demandé le port le plus élevé, pas le nombre de ports)

Mais tu t'y prends probablement de la mauvaise façon. Il y a des gens qui argumentent pour et contre les ports non-standards. Je dis qu'ils ne sont pas pertinents, sauf pour le scanneur le plus occasionnel, et que le scanneur le plus occasionnel peut être tenu à distance en utilisant des logiciels à jour et des techniques de pare-feu appropriées, ainsi que des mots de passe forts. En d'autres termes, les meilleures pratiques de sécurité.

55voto

kolypto Points 10468

1-65535 sont disponibles, et les ports de la gamme 1-1023 sont les plus utilisés. privilégié ones : une application doit être exécutée en tant que root afin d'écouter ces ports.

15voto

Stephen Mathews Points 131

Bien que les ports 1-65535 soient des ports TCP légitimes et qu'il soit vrai que les ports 1-1023 correspondent à des services de port bien connus. Vous pouvez rencontrer des problèmes aléatoires avec vos propres services s'ils sont lancés après l'établissement d'un port éphémère. Pour ceux qui ne le savent peut-être pas, les ports éphémères sont ceux qui sont connectés localement pour les points d'extrémité distants (ou quelque chose de ce genre). Donc si vous écrivez un service TCP qui écoute sur le port 20001. Vous êtes peut-être bon aujourd'hui... et demain. Mais un jour, votre service peut démarrer et tenter de se lier à 20001 et il échouera parce qu'il a été pris comme un port éphémère. Il existe une solution. Vous devez demander à votre administrateur, ou à vous-même, de modifier la politique de plage de ports éphémères du système sur votre serveur. Sur les systèmes linux, cela se fait en deux étapes :

  • Dynamiquement
  • En permanence

Les deux étapes doivent être effectuées, à moins que vous ne prévoyiez de redémarrer (dans ce cas, l'étape Dynamique n'est pas nécessaire). Pour définir votre plage de valeurs de 40000 à 65535, procédez comme suit :

Dynamique

echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range

ou

sysctl -w net.ipv4.ip_local_port_range="40000 65535"

Permanent

Ajoutez ce qui suit au fichier /etc/sysctl.conf :

net.ipv4.ip_local_port_range = 40000 65535

Pour lire le réglage actuel ou pour confirmer la modification :

/sbin/sysctl net.ipv4.ip_local_port_range

Le résultat sera quelque chose comme ceci :

net.ipv4.ip_local_port_range = 9000 65500

Assurez-vous de bien comprendre l'objectif de votre serveur. Une réduction trop importante de la plage peut entraîner d'autres problèmes.

Bon codage ! (ou tout ce que vous faites)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X