왜 ntpd가 많은 포트 / 주소를 수신합니까?


18

나는 이것을 잠시 동안 알아 차 렸으며 결코 나에게 이해가되지 않습니다.

ntpd그렇게 많은 주소를 들어야합니까?

예를 들어, 데비안 머신 :

$ netstat
프로토 로컬 주소 외국어 주소 프로그램 이름
udp 0.0.0.0:123 0.0.0.0:* ntpd
udp 127.0.0.1:123 0.0.0.0:* ntpd
udp [LAN] : 123 0.0.0.0:* ntpd
udp [IPv4] : 123 0.0.0.0:* ntpd
udp6 ::: 123 ::: * ntpd
udp6 :: 1 : 123 ::: * ntpd
udp6 [링크-로컬] ::: * ntpd
udp6 [IPv6] ::: * ntpd

이 (수정 된) netstat목록은 nptdIPv4 및 IPv6에 대한 브로드 캐스트, 로컬, LAN 및 글로벌 주소에서 청취하는 것을 보여줍니다 .

ntpd그렇게 무차별합니까?

답변:


15

내에서 이 페이지의 읽기 , NTP는 INADDR_ANY를 사용하지 않는 것 같습니다 0.0.0.0보안을 위해 독점적으로 부분적으로 주소를 부분적으로 인증 이유.

첫 번째 포트 123은 1024 미만이므로 권한있는 포트로 간주되며 루트 만 해당 포트에 바인딩 할 수 있습니다. Ntp는 일반적으로 시작된 후 권한을 삭제하도록 설정되어 있습니다. 메일 목록에서 이해 한 내용과 권한이 삭제 된 기사는 올바른 소스 포트 123에서 응답하기 위해 소켓을 열 수 없으므로 ntp는 권한을 삭제하기 전에 할당 된 모든 주소에 대해 소켓을 엽니 다.

내가 읽은 ntp의 인증 메커니즘 중 일부는 기본적으로 소스 및 대상 포트가 123이어야하며 다른 것은 필요하지 않습니다.

문제는 완전히 명확하지 않습니다. 와일드 카드 주소 에 대한 섹션을 참조하십시오. 0.0.0.0어떤 이유로 든 ntpd에 의해 열립니다. 그러나 특별한 희귀 한 경우를 제외하고는 개발자가 완전히 확신하지 못하지만 실제로는 주석에서 실제로 사용해서는 안됩니다. 소켓이 파손 된 경우를 대비하여 소켓을 제거하고 싶지 않습니다.

일반적으로 ntpd는 와일드 카드 주소에서 패킷을 허용하지 않아야합니다. 그렇게하면 송신자의 요청 된 주소와 다른 주소로 리턴 패킷을 보내는 것을 포함하여 여러 가지 문제점이 발생합니다. DannyMayer-2009 년 4 월 27 일

귀하의 질문에 대한 주요 답변은 위의 의견에 있다고 생각합니다.


16

전혀 무차별하지 않습니다. ipv4 및 ipv6 프로토콜 모두에서 인터페이스 IP 주소 및 로컬 호스트에 바인딩하는 것입니다. 일부를 듣지 말아야한다고 생각 listen되면 매뉴얼에 설명 된대로 구성을 변경하십시오 (사용중인 버전이 다를 수 있음).

 listen on address
         Specify a local IP address or a hostname the ntpd(8) daemon
         should listen on. If it appears multiple times, ntpd(8) will
         listen on each given address. If the exact string '*' is given as
         an address, ntpd(8) will listen on all local addresses. Other-
         wise, address can be followed by an asterisk ('*') and a UDP port
         number to listen on instead of the default 123. ntpd(8) does not
         listen on any address by default. For example:

               listen on *
               listen on 127.0.0.1
               listen on ::1

다른 버전에서는 당신이에 옵션을 변경해야합니다 ntpd듣고 무엇 프로토콜 / 인터페이스의 변화에 데몬 자체 (옵션이 좋아 -4, -6, -I)


1
펠리 즈 아노 노보!
user9517 supportedGoFundMonica

1
나는 이것이 실제로 질문에 대답하지 않는다고 생각합니다. 질문은 기본적으로 INADDR_ANY거의 모든 다른 프로토콜과 같이 사용되지 않는 이유를 묻는 것 입니다. 내 대답에 링크 된 기사는 부분적으로 보안 기능이며 부분적으로 프로토콜이 포트 123에서 응답 할 것으로 예상되는 방식임을 분명히 밝힌 것 같습니다.
Zoredache

이것은 내가 알고 싶었던 매우 유용한 정보이며, 감사합니다. 그러나 @Zoredache의 답변은 실제로 내가 요청한 질문에 대한 답변이므로 답변으로 표시했습니다. 그러나 모든 것을지지합니다. ;)
Abraham Vegh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.