내 Linux 시스템에 다음과 같은 임시 포트 범위가 표시됩니다.
sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 61000
16000 부근부터 포트 범위를 확장하고 싶습니다. 다음은 간단한 질문입니다. 다른 애플리케이션의 범위를 변경해도 안전한가요? 이 변경으로 인해 다른 애플리케이션도 영향을 받나요? 내가 이해한 바에 따르면, 애플리케이션은 지정된 포트 범위 내의 포트를 사용하는 경우에만 영향을 받습니다. 그러나 일반적으로 이러한 유형의 문제는 어떻게 처리됩니까?
답변1
임시 포트 범위를 변경하면 다음을 사용하는 경우 문제가 발생할 수 있습니다.메이슬즈.
Mesos는 호스트의 리소스를 각 노드에 광고합니다.메소스 프레임워크그런 다음 광고된 리소스를 사용하도록 선택할 수 있습니다. 알려진 리소스에는 CPU, 메모리, 포트 등이 포함됩니다. Mesos가 광고하는 기본 포트 세트는 다음과 같습니다.31000-32000. 이렇게 하면 기본 Linux 임시 포트 범위와의 충돌을 방지할 수 있습니다.32768-61000.
Mesos는 포트가 다른 프로세스에서 사용되는지 여부를 알지 못하고 자신이 조정하는 엔터티에 할당된 포트만 추적한다는 점에 주목할 가치가 있습니다(메소스 작업&메소스 집행자). 따라서 Mesos 포트 범위와 겹치도록 임시 포트 범위를 변경하면 일부 임의 프로세스가 실제로 이러한 "Mesos 포트" 중 하나인 임시 포트를 사용할 수 있습니다. 이로 인해 Mesos가 해당 포트를 제공하게 될 수 있습니다.메소스 프레임워크, 겉으로는 무작위 오류가 발생합니다.메소스 집행자그리고/또는메소스 작업해당 포트에 바인딩할 수 없기 때문입니다.
mesos-slave
임시 포트 범위를 늘려야 하고 Mesos도 실행해야 하는 경우 (곧 이름이 변경될 예정임 ) 구성 매개변수를 통해 mesos-agent
게시된 포트를 수정할 수 있습니다 --resources
.
답변2
로컬 파일에서 범위 내용을 확인하여 잠재적으로 영향을 받는 서비스 목록을 얻을 수 있습니다 /etc/services
. 예를 들면 다음과 같습니다.
awk '/^#/ { next } $2+0 >= 16000 && $2+0 < 32768 { print }' /etc/services
또는 권위 있는 장소에서:
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