Linux Geçici Bağlantı Noktası aralığını değiştirmek ne kadar güvenli


14

Linux kutumda aşağıdaki geçici bağlantı noktası aralığını görüyorum.

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

Bağlantı noktası aralığını 16000 civarında başlayacak şekilde genişletmek istiyorum. Burada hızlı bir soru: aralığı diğer uygulamalara göre değiştirmek ne kadar güvenli? Diğer uygulamalar bu değişiklikten etkilenecek mi? Bir uygulamanın yalnızca belirtilen bağlantı noktası aralığındaki bağlantı noktalarını kullanması durumunda etkilendiğini anlıyorum. Ancak genel olarak, bu tür konular nasıl ele alınır?


Diğer uygulamalar üzerinde herhangi bir etkisi olduğunu düşünmüyorum, ama emin değilim. İlginç soru.
ikrabbe

Sağ. Hatta başka bir belge aramaya çalıştım ve diğer uygulamalar üzerinde herhangi bir etki bulamadım. Aşağıdaki iki bağlantı, bu sorunla karşılaşmamın nedeninin mükemmel açıklamalarıdır: vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html ncftp.com/ncftpd/doc/misc /ephemeral_ports.html
Ashwin Tumma

@ikrabbe Tarayıcınız bir web sitesine başvurmak için geçici bir bağlantı noktası açarsa, o zaman birisi / şey tesadüfen o bağlantı noktasını kullanan bir uygulamayı başlatmaya çalışırsa, kesinlikle diğer uygulamalar üzerinde bir etkisi olacaktır. Uygulama başarısız olur.
goldilocks

3
Tamlık uğruna, bağlantı noktası numarası aralığını düzenlemek için sözdizimi aşağıdaki gibidir: $ sudo sysctl -w net.ipv4.ip_local_port_range = "15000 61000"
Ashwin Tumma

Yanıtlar:


10

Mesos kullanıyorsanız geçici bağlantı noktası aralığını değiştirmek sorunlara neden olabilir .

Mesos, bir konağın kaynaklarını çeşitli Mesos Çerçevelerine bildirir ve daha sonra reklamı yapılan kaynakları kullanmayı seçebilir. Reklamı yapılan kaynaklar arasında CPU, bellek, bağlantı noktaları vb . Bulunur . Mesos'un tanıdığı varsayılan bağlantı noktası kümesi 31000-32000'dir . Bu, varsayılan Linux geçici bağlantı noktası aralığı 32768-61000 ile çakışmayı önler .

Özellikle, Mesos bir limanın başka bir işlem tarafından kullanılıp kullanılmadığını bilmiyor, sadece orkestrasyon yaptığı varlıklara ( Mesos Görevleri ve Mesos Yöneticileri ) limanların tahsisini izliyor . Kısa ömürlü bağlantı noktası aralığını Mesos bağlantı noktası aralığıyla çakışacak şekilde değiştirirseniz, bazı rasgele işlemlerin aslında bu "Mesos bağlantı noktalarından" biri olan geçici bir bağlantı noktası kullanması olasıdır. Bu, Mesos'un bu limanı Mesos Yürütücülerinin ve / veya Mesos Görevlerinin görünüşte rastgele başarısızlıklarıyla karşılaşacakları için bir Mesos Çerçevesine teklif etmelerine yol açabilir , çünkü bu limana bağlanamazlar.

Geçici bağlantı noktası aralığınızı artırmanız ve ayrıca Mesos'u çalıştırmanız gerekiyorsa, reklamı yapılan bağlantı noktalarını mesos-slave(yakında yeniden adlandırılacak mesos-agent) bir yapılandırma parametresi aracılığıyla değiştirebilirsiniz --resources.


4

Yerel /etc/servicesdosyanızda bu aralıkta bulunanlara bakarak potansiyel olarak etkilenen hizmetlerin bir listesini alabilirsiniz , örn:

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

Veya yetkili yerde:

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

Awk komut dosyası için teşekkürler, kesinlikle hizmetlerde listelenen bu portların tanımlanmasına yardımcı olur!
Ashwin Tumma
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.