나는 이것을 잠시 동안 알아 차 렸으며 결코 나에게 이해가되지 않습니다.
왜 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
목록은 nptd
IPv4 및 IPv6에 대한 브로드 캐스트, 로컬, LAN 및 글로벌 주소에서 청취하는 것을 보여줍니다 .
왜 ntpd
그렇게 무차별합니까?
답변
내에서 이 페이지의 읽기 , NTP는 INADDR_ANY를 사용하지 않는 것 같습니다 0.0.0.0
보안을 위해 독점적으로 부분적으로 주소를 부분적으로 인증 이유.
첫 번째 포트 123은 1024 미만이므로 권한있는 포트로 간주되며 루트 만 해당 포트에 바인딩 할 수 있습니다. Ntp는 일반적으로 시작된 후 권한을 삭제하도록 설정되어 있습니다. 메일 목록에서 이해 한 내용과 권한이 삭제 된 기사는 올바른 소스 포트 123에서 응답하기 위해 소켓을 열 수 없으므로 ntp는 권한을 삭제하기 전에 할당 된 모든 주소에 대해 소켓을 엽니 다.
내가 읽은 ntp의 인증 메커니즘 중 일부는 기본적으로 소스 및 대상 포트가 123이어야하며 다른 것은 필요하지 않습니다.
문제는 완전히 명확하지 않습니다. 와일드 카드 주소 에 대한 섹션을 참조하십시오. 0.0.0.0
어떤 이유로 든 ntpd에 의해 열립니다. 그러나 특별한 희귀 한 경우를 제외하고는 개발자가 완전히 확신하지 못하지만 실제로는 주석에서 실제로 사용해서는 안됩니다. 소켓이 파손 된 경우를 대비하여 소켓을 제거하고 싶지 않습니다.
일반적으로 ntpd는 와일드 카드 주소에서 패킷을 허용하지 않아야합니다. 그렇게하면 송신자의 요청 된 주소와 다른 주소로 리턴 패킷을 보내는 것을 포함하여 여러 가지 문제점이 발생합니다. DannyMayer-2009 년 4 월 27 일
귀하의 질문에 대한 주요 답변은 위의 의견에 있다고 생각합니다.
답변
전혀 무차별하지 않습니다. 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
)