GNU/Linux >> Tutoriels Linux >  >> Linux

Quel est le numéro de port maximal ?

Solution 1 :

(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 vous vous y prenez probablement dans le mauvais sens. Il y a des gens qui plaident pour et contre les ports non standard. Je dis qu'ils ne sont pas pertinents, sauf pour le scanner le plus occasionnel, et le scanner le plus occasionnel peut être tenu à distance en utilisant un logiciel à 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é.

Solution 2 :

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

Solution 3 :

Bien que 1-65535 soient des ports TCP légitimes et il est vrai que 1-1023 sont pour des services de port bien connus. Vous pouvez rencontrer des problèmes aléatoires avec vos propres services s'ils sont démarré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 à cet effet). Donc, si vous écrivez un service TCP qui écoute sur le port 20001. Vous pourriez être bon aujourd'hui... et demain. Mais un jour, votre service peut démarrer et tenter de se lier à 20001 et il échouera car il a été pris comme port éphémère. Il existe une solution. Votre administrateur ou vous-même devez 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 suivies, sauf si vous prévoyez de redémarrer (auquel cas l'étape Dynamique n'est pas nécessaire). Pour définir votre plage de 40 000 à 65 535, 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 à /etc/sysctl.conf :

net.ipv4.ip_local_port_range = 40000 65535

Pour lire le paramètre actuel ou pour confirmer la modification :

/sbin/sysctl net.ipv4.ip_local_port_range

Le résultat ressemblera à ceci :

net.ipv4.ip_local_port_range = 9000 65500

Assurez-vous de comprendre le but de votre serveur. Trop réduire la portée peut entraîner d'autres problèmes.

Bon codage ! (ou quoi que vous fassiez)


Linux
  1. Qu'est-ce qui définit la taille maximale d'un seul argument de commande ?

  2. Linux - Le numéro majeur Tty de votre Unix ?

  3. Quels sont les ports requis à ouvrir sur le pare-feu ?

  4. Modifier le numéro de port du serveur SSH par défaut

  5. Quelle est la signification de POSIX ?

Qu'est-ce que le Shell sous Linux ?

Comment trouver le numéro de port d'un service sous Linux

La valeur maximale de l'ID de processus ?

Ouvrir un port sous Linux

Vérifiez le nombre de connexions actives sur le port 80 ?

Quelle est la bonne façon d'ouvrir une plage de ports dans iptables