로그 동기화 및 보안 인증서 유효성 검사를 비롯한 모든 종류의 활동에 대해 모듈에서 올바른 시간을 갖는 것이 중요합니다. 출시 시작 15.1 VOS는 네트워크 시간 프로토콜 데몬 (ntpd)의 포트와 함께 출하하고 강력하게 실행하는 것이 좋습니다.
일반적으로 ntpd를 실행하려면 시간 서버, ntpd를 실행하는 네트워크의 호스트를 제공해야 하며 요청하는 모든 호스트에게 시간을 제공해야 합니다. 인터넷에서 사용할 수 있는 많은 시간 서버가 있습니다. 로컬별로 서버를 구성하는 http://www.pool.ntp.org/en/ 살펴보십시오.
나는 하나 또는 세 개 이상의 서버를 나열하는 것이 좋습니다, 결코 두 가지. ntpd는 서버의 응답을 비교하여 사용하는 것이 가장 적합한 서버를 파악하려고 시도합니다. 두 개의 서버만 나열되면 ntpd가 결정을 내릴 수 없으며 결국 중 하나를 사용하지 않을 수 있습니다.
그러나 회사의 정책이 인터넷에서 시간 서버에 액세스하지 못하게 하고 회사 지정 시간 서버가 없는 경우 어떻게 해야 합니까? 이 경우 로컬 Microsoft Windows 도메인 컨트롤러(DC) 또는 백업 도메인 컨트롤러(BDC)를 사용할 수 있습니다. 대부분의 DC와 BDC는 시간 서비스를 제공합니다.
따라서 VOS 관리자는 로컬 DC 또는 BDC를 어떻게 찾을 수 있습니까? 가장 간단한 방법은 물어보는 것이지만 패킷 모니터를 실행하고 직접 찾을 수있는 옵션이 아니라고 가정하는 것입니다. 워크스테이션과 도메인 컨트롤러 모두 UDP 포트 138에서 주기적으로 방송됩니다.
명령
>시스템>command_library>packet_monitor-인터페이스 -숫자
-time_stamp -pkt_hdr -hex_header -hex_dump 길이 1500 -필터 -포트 138
|
그림 1 – packet_monitor 명령 |
이러한 브로드캐스트가 표시됩니다(인터페이스를 IP 인터페이스의 이름으로 교체해야 합니다). 불행하게도, 당신이 패킷의 헥스 데이터를보고해야 하는 시간 서버를 찾기 위해 그리고 아마 당신이 파일에 패킷을 덤프해야 통과 할 패킷이 많이있을 것이기 때문에. 내 pm.cm, 명령 매크로 (당신은 여기에매크로를 찾을 수 있습니다) 자동으로 아웃 파일을 만들고 시작 된 프로세스로 추적을 실행합니다. 아웃 파일에는 이름 pm.(날짜)이 있습니다. (시간).out. 명령은
오후 #인터페이스 -no_arp -no_icmp -포트 138 |
그림 2 – 오후 명령 매크로 |
그러나 추적을 시작하면 15~20분 동안 실행하면 네트워크의 각 DC 및 BDC에서 브로드캐스트를 받아야 합니다. 다음 문자열 'c0 3'과 'c0 2'가 있는 선을 검색합니다. 즉, 소문자 C, 0, 4 개의 공백 및 3 개 또는 2 개의 경우입니다. 이 숫자는 오프셋 c0에서 바이트의 상부 니블에 해당합니다. 해당 바이트는
ABCD EFGH ^^^^ ^^^^ |||| |||| -- 호스트는 워크스테이션입니다. |||| ||| --- 호스트는 서버입니다. |||| || ---- 호스트는 SQL 서버가 아닙니다. |||| |----- 호스트는 도메인 컨트롤러가 아닙니다. |||| ------- 호스트는 백업 도메인 컨트롤러입니다. ||| -------- 호스트는 시간 서버입니다. || --------- 호스트는 Apple 호스트가 아닙니다. |---------- 호스트는 노벨 호스트가 아닙니다. |
그림 3 – 서버 유형 바이트 디코딩 |
처음 3~2개를 검색하면 모든 시간 서버를 얻지 못할 수도 있지만 독점 소설 또는 Apple 사이트를 실행하지 않는 한 적어도 하나의 DC 또는 BDC를 얻어야 합니다.
d pm.11-02-06.17:25:06.out -match 'c0 2'
ready 17:47:13
d pm.11-02-06.17:25:06.out -match 'c0 3'
%phx_vos#m15_mas>SysAdmin>Noah_Davids>pm.11-02-06.17:25:06.out 11-02-06 17:47
c0 33 10 82 0 f 1 55 aa 0 3 <<U*
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
c0 33 10 82 0 f 1 55 aa 0 3 <<U*
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
c0 33 10 82 0 f 1 55 aa 0 3 <<U*
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
c0 33 10 82 0 f 1 55 aa 0 3 <<U*
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
ready 17:47:29
|
그림 4 – 타임 서버 및 백업 도메인 컨트롤러와 일치하는 packet_monitor 라인 |
"c0" 선을 찾는 것만으로는 충분하지 않습니다. 패킷을 보낸 호스트의 주소도 찾아야 합니다. >system>gnu_library>bin 디렉터리에서 찾을 수 있는 grep 명령은 여러 줄에서 일치할 수 있습니다.
grep -e 'c0 3' -e 'c0 2' -e UDP pm.11-02-06.17:25:06.out
. . . .
UDP from 192.168.33.180.138 to 192.168.33.255.138 Cksum 7ca3, 220 data bytes.
UDP from 192.168.33.249.138 to 192.168.33.255.138 Cksum c89a, 209 data bytes.
c0 33 10 82 0 f 1 55 aa 0 3 <<U*
. . . .
UDP from 192.168.33.50.138 to 192.168.33.255.138 Cksum 9526, 193 data bytes.
UDP from 192.168.33.248.138 to 192.168.33.255.138 Cksum d05f, 209 data bytes.
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
. . . .
UDP from 192.168.33.202.138 to 192.168.33.255.138 Cksum cf35, 219 data bytes.
UDP from 192.168.33.253.138 to 192.168.33.255.138 Cksum 9505, 209 data bytes.
c0 33 10 82 0 f 1 55 aa 0 3 <<U*
. . . .
UDP from 192.168.33.131.138 to 192.168.33.255.138 Cksum aa35, 222 data bytes.
UDP from 192.168.33.252.138 to 192.168.33.255.138 Cksum 7343, 209 data bytes.
c0 33 10 84 0 f 1 55 aa 0 3 <<U*
. . . . .
|
그림 5 – 발견된 시간 서버를 보여주는 packet_monitor 줄 |
시간 서버의 주소는 "c0" 줄 바로 위에 있는 줄에 나타납니다. 위의 그림에서 우리는 확인 192.168.33.249, 192.168.33.248, 192.168.33.253, 192.168.33.252.
이제 시간을 서버로 광고하는 호스트를 확인했기 때문에 어떻게 작동하는지 확인할 수 있습니까? ntpdate 명령을 사용하여 매번 서버를 수동으로 쿼리할 수 있습니다. "-q" 인수를 사용하여 시간 서버만 쿼리하면 이 시점에서 ntpdate가 모듈의 시간을 설정하는 것을 원하지 않습니다.
ntpdate -q 192.168.33.248
호스트 192.168.33.248 및 서비스 ntp 를 찾고 있습니다.
호스트 발견 : dc48.noahslab.stratus.com
서버 192.168.33.248, 지층 4, 오프셋 -0.117418, 지연 0.04202
6 2월 17:53:10 ntpdate[1427079382]: 시간 서버 192.168.33.248 오프셋 -0
+.117418초
준비 17:53:10
ntpdate -q 192.168.33.249
호스트 192.168.33.249 및 서비스 ntp 를 찾고 있습니다.
호스트 발견 : dc49.noahslab.stratus.com
서버 192.168.33.249, 지층 4, 오프셋 -0.038709, 지연 0.04355
6 2월 17:53:25 ntpdate[1427079382]: 시간 서버 192.168.33.249 오프셋 -0
+.038709 초
준비 17:53:25
ntpdate -q 192.168.33.252
호스트 192.168.33.252 및 서비스 ntp 를 찾고 있습니다.
호스트 발견 : dc52.noahslab.stratus.com
서버 192.168.33.252, 지층 3, 오프셋 0.015733, 지연 0.04216
6 2월 17:53:38 ntpdate[1427079382]: 시간 서버 192.168.33.252 오프셋 0을 조정합니다.
+015733 초
준비 17:53:38
|
그림 6 – ntpdate를 사용하여 검색된 시간 서버 - 작업 서버 |
서버 중 하나에는 서버가 애드벳을 애드로 표시하더라도 시간을 내지 못하도록 하는 방화벽 정책이 있다고 가정해 보라고 가정해 보세요.
ntpdate -q 192.168.33.254
호스트 192.168.33.254 및 서비스 ntp 를 찾고 있습니다.
호스트 발견 : dc54.noahslab.stratus.com
서버 192.168.33.254, 지층 0, 오프셋 0.000000, 지연 0.00000
6 2월 17:54:00 ntpdate[1427079382]: 동기화 foun에 적합한 서버 없음
+d
준비 17:54:00
|
그림 7 – ntpdate를 사용하여 검색된 시간 서버를 테스트합니다- 작동하지 않는 서버 |
이제 사용할 수 있는 시간 서버를 알고 있으므로 다음과 같이 >system>ntp>ntp>ntp.conf 파일을 작성할 수 있습니다. 검은색의 모든 것은 sample_ntp.conf.17.0 파일에서 제공되며, 새로운 문자는 녹색으로 되어있습니다. "서버 foo.bar.somewhere.com" 줄 앞에 추가된 주석 문자를 확인합니다. 제한 문은 다른 호스트가 ntp 데몬에 대해 비시간 쿼리를 하지 못하도록 하여 시스템의 보안 위치를 향상시킵니다.
# 서버 지시문은 어디에서 시간을 얻을 수 있는지를 나타냅니다.
# 지침당 DNS 또는 IP 값일 수 있습니다.
# 서버 foo.bar.somewhere.com
서버 192.168.33.248 버스트 이버스트
서버 192.168.33.249 버스트 이버스트
서버 192.168.33.252 버스트 이버스트
# 로그를위한 집. 좋은 상대 경로 선택 - VOS 절대
# 경로 이름은 올바르게 구문 분석할 수 없습니다.
로그파일 >시스템>ntp>ntp.log파일
# 드리프트 파일홈.
드리프트파일 >시스템>ntp>ntp.drift
# 이러한 문은 호스트가 아닌 로컬 호스트의 시간 없는 쿼리를 방지합니다.
기본 노쿼리 제한
제한 127.0.0.1
|
그림 8 – 업데이트된 >시스템>ntp>ntp.conf 파일 |
ntpd 명령을 시작 (sample_start_ntpd.17.0 >system>ntp 디렉토리에 있다) 그리고 몇 분 후에 다음과 같은 것을 볼 수 있습니다. 192.168.33.252 앞에 있는 "*"는 ntpd가 시간을 내어 선택한 서버임을 나타냅니다. 192.168.33.248 앞에 있는 "+"는 192.168.33.252에서 응답이 없는 경우 또 다른 좋은 선택을 나타냅니다. 열의 "*"로 라인 중 하나가 모듈의 시간이 시간 서버와 동기화된다는 것을 알고 있습니다. 그러나 모듈과 시간 서버 간의 초기 차이가 큰 경우 수렴하는 데 시간이 걸릴 수 있습니다.
ntpq -n
ntpq> 피어
원격 refid st t 때 폴 에 도달 지연 오프셋 지터
==============================================================================
+192.168.33.248 192.168.33.252 4 u - 1024 377 1.312 -1549.3 639.489
192.168.33.249 192.168.33.252 4 u 626 1024 377 132.423 15.202 27.797
*192.168.33.252 192.168.33.51 3 u 802 1024 377 0.964 -27.486 2.993
|
그림 9 – ntpq를 사용하여 시간 동기화를 확인합니다. |
마지막으로 ntpd는 클라이언트와 서버 역할을 하므로 하나의 VOS 모듈에서 실행되면 네트워크의 다른 모듈 또는 다른 모든 모듈의 시간 서버 역할을 할 수 있습니다.