Quanto è sicuro cambiare la gamma di porte effimere di Linux


14

Vedo il seguente intervallo di porte effimere sul mio box Linux.

sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768    61000

Voglio estendere l'intervallo di porte a partire da circa 16000. Una breve domanda qui è: quanto è sicuro cambiare l'intervallo nel contesto rispetto alle altre applicazioni? Altre applicazioni saranno interessate da questa modifica? Comprendo che un'applicazione è interessata solo se utilizza le porte nell'intervallo di porte specificato. Ma in generale, come vengono affrontati questi problemi?


Non penso che ci siano effetti su altre applicazioni, ma non ne sono sicuro. Domanda interessante.
Ikrabbe,

Giusto. Anche io ho provato a cercare qualche altra documentazione e non ho trovato alcun effetto su altre applicazioni. I seguenti due collegamenti sono eccellenti spiegazioni del motivo per cui stavo affrontando questo problema: vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html ncftp.com/ncftpd/doc/misc /ephemeral_ports.html
Ashwin Tumma,

@ikrabbe Avrà sicuramente un effetto su altre applicazioni se, ad esempio, il tuo browser apre una porta temporanea per contattare un sito Web, quindi qualcuno / cosa cerca di avviare un'applicazione che per coincidenza utilizza quella porta. L'applicazione fallirà.
Riccioli d'oro,

3
Solo per completezza, la sintassi per modificare l'intervallo di numeri di porta è la seguente: $ sudo sysctl -w net.ipv4.ip_local_port_range = "15000 61000"
Ashwin Tumma,

Risposte:


10

La modifica dell'intervallo di porte temporanee potrebbe causare problemi se si utilizza Mesos .

Mesos pubblicizza le risorse di un host su vari Frame Mesos che possono quindi scegliere di utilizzare le risorse pubblicizzate. Le risorse pubblicizzate includono CPU, memoria, porte, ecc. Il set predefinito di porte pubblicizzate da Mesos è 31000-32000 . Questo evita uno scontro con l'intervallo di porte effimere di Linux predefinito di 32768-61000 .

In particolare, Mesos non sa se una porta viene utilizzata da qualche altro processo, ma tiene traccia dell'assegnazione delle porte alle entità che orchestra ( Mesos Tasks & Mesos Executors ). Quindi, se si modifica l'intervallo di porte effimere in modo tale che si sovrapponga all'intervallo di porte Mesos, è probabile che alcuni processi arbitrari utilizzino una porta effimera che è in realtà una di quelle "porte Mesos". Ciò potrebbe portare Mesos a offrire quella porta a un Mesos Framework , che potrebbe incontrare guasti apparentemente casuali dei suoi Mesos Executors e / o Mesos Task in quanto non saranno in grado di legarsi a quella porta.

Se è necessario aumentare l'intervallo di porte temporanee e anche eseguire Mesos, è possibile modificare le porte pubblicizzate tramite un parametro di configurazione mesos-slave(che verrà presto rinominato mesos-agent) di --resources.


4

Puoi ottenere un elenco di servizi potenzialmente interessati cercando cosa c'è in quell'intervallo nel tuo /etc/servicesfile locale , ad esempio:

awk '/^#/ { next } $2+0 >= 16000 && $2+0 < 32768 { print }' /etc/services

O nel luogo autorevole:

wget http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
awk -F, '$2+0 >= 16000 && $2+0 < 32768 { print }' service-names-port-numbers.csv

Grazie per lo script awk, aiuta sicuramente nell'identificazione di quelle porte che sono elencate nei servizi!
Ashwin Tumma,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.