출처 : http://zero-gravity.tistory.com/270

참고 : http://www.happyjung.com/lecture/2471


집에 서버를 구성하고나서 불과 며칠이 지나지 않아 로그인 시도가 7천번 가까이 있었다. ㄷㄷ

   /var/log/secure로 접속 아이피를 찾아서 조회해보니 죄다 중국쪽으로 찍힌다..;; 우회한 건지 직접 접속 시도한 건지는 모르겠지만... 중국 정말 싫다 ......




   앗 뜨거 하고, 이래선 안되겠다는 생각에 바로 보안 설정에 들어갔다.



   1. SSH 포트 & 프로토콜 변경


vi /etc/ssh/sshd_config


# If you want to change the port on a SELinux system, you have to tell

# SELinux about this change.

# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER

#

Port 1234

#AddressFamily any

#ListenAddress 0.0.0.0

#ListenAddress ::


   Port 부분을 22에서 다른 번호로 변경한다.


# The default requires explicit activation of protocol 1

Protocol 2


   Protocol을 2로 변경한다. (보안상 2로 하는 게 좋다고 한다.)




   2. root로 로그인이 불가능하도록 설정


#LoginGraceTime 2m

PermitRootLogin no

#StrictModes yes

MaxAuthTries 6

#MaxSessions 10


   PermitRootLogin을 주석 해제하고 no로 기입하면 root로는 직접 로그인이 불가능하다. root로 로그인하고 싶다면, 일반 유저로 로그인한 뒤에 "su - root"로 바꿔줘야 함.


   MaxAuthTries는 로그인 시도 횟수를 제한한다. 6으로 해놓을 경우, 6번 로그인 실패하면 자동으로 차단.



   # systemctl reload sshd.service


   설정을 마치고 SSH 서비스를 재시작한다.



# firewall-cmd --permanent --zone=public --add-port=1980/tcp

# firewall-cmd --reload


   마지막으로 1234포트 방화벽 열어주면, 1234 포트로만 SSH 접속이 가능할 것이다.





   만약 되지 않는다?


   내 경우, 여기까지 했는데 포트가 바뀌지 않았다. ㅡㅡ; 그래서 이것저것 찾아본 결과... 뭔가 더 해줘야 했다.


   내껀 semanage로 SSH 포트를 변경해줘야 완벽하게 변경이 됐다.


   CentOS를 최소 설치를 하면 "semanage" 명령어가 실행되지 않는데,


# yum install policycoreutils-python


   이럴 땐, policycoreutils-python을 설치해준다.



# semanage port -a -t ssh_port_t -p tcp 1234


   그리고나서 semanage 명령어로 SSH 포트를 아까 변경해줬던 포트 번호로 설정한다.



# semanage port -l | grep ssh


   위 명령어로 확인해보면 22번 포트가 1234로 잘 변경됐음을 확인할 수 있다.



# systemctl restart sshd.service


   다시 ssh서비스 재시작을 해주면 완료!





   3. Fail2ban 설치 (로그인 시도 아이피 차단)


   Fail2ban은 SSH 로그인 시도가 일정 수 이상일 경우 자동으로 차단해주는 녀석이다. 얼른 설치하자!


# yum install fail2ban jwhois



   설치만 한다고 해서 다 되는 건 아니고, 몇 가지 설정이 필요하다.


# vi /etc/fail2ban/jail.conf


# External command that will take an tagged arguments to ignore, e.g. <ip>,

# and return true if the IP is to be ignored. False otherwise.

#

# ignorecommand = /path/to/command <ip>

ignorecommand =     #123.111.0.444/24 이런식으로 아이피를 적어놓으면 접근 시도를 몇 번을 하든 차단되지 않는다.


# "bantime" is the number of seconds that a host is banned.

bantime  = 600    #일정 횟수를 초과하여 접근 시도 시, 접근 거부 시간. 600초


# A host is banned if it has generated "maxretry" during the last "findtime"

# seconds.

findtime  = 600    #입력한 시간 사이에 지정 횟수 초과 시 차단. 600초


# "maxretry" is the number of failures before a host get banned.

maxretry = 3    #최대 접근 횟수. 3회를 초과할 경우 접근 차단.


# Provide customizations in a jail.local file or a jail.d/customisation.local.

# For example to change the default bantime for all jails and to enable the

# ssh-iptables jail the following (uncommented) would appear in the .local file.

# See man 5 jail.conf for details.

#

# [DEFAULT]

# bantime = 3600

#

 [sshd]

enabled = true  #이걸 true로 해줘야 SSH 접근 시도 시, fail2ban이 동작함.

#

# See jail.conf(5) man page for more information


   설정을 마쳤으면,



# service fail2ban start


   서비스 재시작. 끝!


출처 : http://webdir.tistory.com/102

리눅스 시스템에 로그인했을때, 처음으로 접하게 되는 메세지들을 작성할 수 있습니다. 개성있는 로그인 공지사항들을 구글링하면 많이 찾을 수 있을 겁니다. 아래의 그림도 그 중 하나의 예이죠.

로그인 공지사항

로그인시에 보여줄 메세지를 설정할 수 있다.

설정파일

설정파일 설명 상태
/etc/issue 콘솔(로컬) 접속시도시 보여줄 메시지파일 로그인 전
/etc/issue.net 원격지에서 접속시도시 보여줄 메시지파일 로그인 전
/etc/motd 로컬접속, 원격접속 모두에 해당하며 로그인 성공 후 뵤여줄 메시지 파일 로그인 후

이를 이용하여 접속시도시에는 "불법적인 접근을 허용하지 않습니다" 라는 메세지들을 출력할 수 있고, 로그인 성공 후에는 각 사용자별 현재 디렉토리 사용량들이나 공지사항을 출력할 수 있다.

간단히 vi 로 편집하자.

Bash
vi /etc/issue

  +-------------------+
  | 불법적인 접근 금지 |
  +-------------------+
Bash
vi /etc/issue.net

  +-------------------+
  | 불법적인 접근 금지 |
  +-------------------+
Bash
vi /etc/motd

  +------------+
  | 환영합니다. |
  +------------+

/etc/issue.net 이나 /etc/issue 의 내용을 작성해도 ssh 를 사용해 로그인 한다면 작동하지 않는데 그럴 경우 /etc/ssh/sshd_config 를 수정해야 한다.

Bash
vi /etc/ssh/sshd_config

  # no default banner path
  Banner /etc/issue.net

ssh를 재시작 한다.

Bash
/etc/init.d/sshd restart 

Putty 를 이용해 SSH 로 접속시에는 옵션에서 창 > 변환 에서 수신한 데이터를 이 문자셋으로 가정(R): 의 드롭다운 메뉴에서 UTF-8 을 선택해서 접속해야 한글 문자셋이 제대로 출력된다.



출처 : http://www.jnetwork.co.kr/bbs/board.php?bo_table=useguide&wr_id=138

find 명령어로 일정기간, 특정용량 파일 삭제 및 찾기 

*  일정기간 지난 파일 삭제 명령 - 7일 지난 파일 삭제 예 
find [디렉토리] -ctime +7 -exec rm -f {} \;

* 특정용량 이상되는 파일 찾기 - 10MB 이상 되는 파일 찾기 예
find [디렉토리] -size +1000k -exec ls -al {} \;

*  생산된지 30일 이상 된 파일만 삭제
find [디렉토리] -type f -ctime +30 -exec rm -rf {} \;

*  생산된지 30일 이상 된 비어있는 디렉토리만 삭제
find [디렉토리] -empty -type d -ctime +30 -exec rmdir {} \;
※ 리눅스 버전에 따라 -ctime 이 먹지 않는 경우가 있다. 이때는 -mtime 으로 대체한다 (의미는 다르지만....)

*  현재 디렉토리( . ) 이하에 확장자가 .html ( -name "*.html" ) 인 파일만 ( -type -f ) 
find . -name "*.html" -type f -ls
* 현재 디렉토리 이하에서 확장자가 .php 인 파일만 삭제하기
find . -name '*.php' -exec rm -f {} \;

* 파일크기가 300KB 이상 ( -size +300k ) 인 파일만 (호스팅 되는 홈피내에 큰 사이트의 파일이 있는지 찾을 때 유용)
find . -size +300k -ls

* 파일크기가 500bytes 이하 ( -size -500c )인 파일만
find . -size -500c -ls

* 수정한지 20일 이상 ( -mtime +20 ) 된 파일과 디렉토리
find . -mtime +20 -ls

* 수정한지 20일 이상된 파일만
find . -mtime +20 -type f -ls

* 수정한지 20일 이상된 파일만 삭제 ( -exec rm {} \; ) ( 정기적으로 20일지 지난 파일을 삭제할 때 유용 )
find . -mtime +20 -type f -ls -exec rm {} \;

* 수정한지 3일 이내 ( -mtime -3 ) 의 파일만 ( 백업할 때 유용 )
find . -mtime -3 -type f -ls

* 수정한지 30분 이내 ( -mmin -30 ) 의 파일만
find . -mmin -30 -type -f -ls


출처 : http://faq.hostway.co.kr/?mid=Linux_ETC&page=9&document_srl=1423

관리자가 없어 자주 확인을 하지 않는 서버들의 경우는 홈페이지가 열리지 않는 경우 
하드웨어 장애가 아닐 경우에 상당수 많은 부분을 차지 하는 것이 파티션 사이즈가 100% 가 되면서 문제가 발생되곤 합니다.

이 경우 근본적인 해결책은 로그를 logrotate와 같은 형태로 분할 진행할 수 있겠지만, 
급한대로 로그를 비워야할 때 어떻게 해야 할지 모르는 경우가 있다.

 

1. Log file은 apache, mysql, 등 어플리케이션 설정내에서 경로가 지정되어 있기 때문에, 삭제 하

    게 되면 오류가 발생 하게 됩니다.
   아래와 같이 /usr 혹은 /var 파티션이 100%가 되는 경우가 상당 수 발생.

   [root@hostway /]# df -Th
   Filesystem    Type    Size  Used Avail Use% Mounted on
   /dev/sda1     ext3    1.9G  826M  963M  47% /
   /dev/sda6     ext3    950M   19M  884M   3% /tmp
   /dev/sda3     ext3    4.6G  485M  3.9G  11% /var
   /dev/sda2     ext3    9.2G  9.2G  0G  100% /usr
   /dev/sda7     ext3     92G   64G   24G  74% /home
   /dev/sda8     ext3    118G   93G   20G  83% /data

2. 이 경우 어떤 파일 혹은 디렉토리가 큰 용량을 차지하고 있는지 확인이 필요 합니다.

 

   방법 1) du 명령을 통해 용량이 큰 디렉토리 및 파일 확인


   [root@hostway ~]# cd /usr


   [root@hostway usr]# du -sh *
   578M    lib
   55M     libexec
   7.2G    local
   16K     lost+found
   
   [root@hostway usr]# cd local

   [root@hostway local]# du -sh *


  위와 같은 형태로 찾아 찾아 들어가는 형태로 파일이 커진 파일을 확인 할 수 있습니다.


   방법 2) find를 이용해 /usr 디렉토리 밑에 200M 이상 파일들 찾는 방법 예시
 
   [root@hostway usr]# find /usr -size +200000 -print

   위 방법들로 파일 사이즈가 큰 것들을 찾을 수 있습니다.

 

3. 보통 문제가 되는 파일들은 /usr/local/apache2/logs/~~  경로와 같이 웹 로그 파일들이 쌓이는

   부분에서 문제가 발생 합니다.
   예를 들어 /usr/local/apache2/logs/access.log 파일의 크기가 3.5G나 되는 경우 로그를 여는데도

   상당 수 시간이 소요되며, 서버의 부하가 발생 합니다.
   이 경우 로그가 꼭 필요하다면, 여유가 있는 다른 파티션으로 이동 후 비워주는 작업을 해주셔야

   합니다.

   아래 명령을 수행 하게 되면 null (0) 값으로 access.log를 채우게 되면서 결과적으로는 사이즈가 
   0이 되어지고 파일은 남아있습니다.

   [root@hostway usr]# cat /dev/null > /usr/local/apache2/logs/access.log   

   /usr 파티션에는 아래와 같이 3.5G 여유공간이 생깁니다.


   [root@hostway /]# df -Th
   Filesystem    Type    Size  Used Avail Use% Mounted on
   /dev/sda1     ext3    1.9G  826M  963M  47% /
   /dev/sda6     ext3    950M   19M  884M   3% /tmp
   /dev/sda3     ext3    4.6G  485M  3.9G  11% /var
   /dev/sda2     ext3    9.2G  5.7G  3.5G  70% /usr
   /dev/sda7     ext3     92G   64G   24G  74% /home
   /dev/sda8     ext3    118G   93G   20G  83% /data

 

   위와 같은 원인이 발생하는 이유는 공간부족으로 인해 데몬이 구동하기 위해 필요한 pid 파일이

   생성되지 못하기 때문입니다.


  - Mysql의 bin log 같은 경우엔 주의가 필요로 합니다.
    제일 마지막 번호의 log 인 즉 데몬이 쿼리를 쌓고 있는 파일은 비우시면 안됩니다.


===========================================================================================

2>/dev/null 의미란??

출처 : http://shakii.tistory.com/94

오늘 해커스쿨 운동장(?)에서 놀다 보니 2>/dev/null 관련된 문제가 있었다

   

일단 문제는 역시 내 수준하고는..... 너무 어려워 ㅜㅜ

   

암튼 그래서 먼저 풀어 보신분들의 해답(?)등을 참고 하다보니 위에 같은 명령어가 나오길래...

   

/dev/null 알겠는데...

   

1>/dev/null

2>/dev/null

   

은 처음 보는거라 생소 했다.. 그래서 네이버에게 물어보니 이러한 답변이...

   

A.

   

B.

   

C.

   

일단 A와 B은 같은 의미

   

그럼 B와 C의 차이는 뭐냐

   

1의 의미는 STDOUT(standard output)

2의 의미는 STRERR(standard error)

   

STDOUT은 표준출력으로, 정상적인 메시지를 출력하고

STDERR은 표준에러로, 에러메시지를 출력하는것이다

   

다시 말해

B는 표준출력을 /dev/null로 redirection하고 (정상적인 메시지를 null로)

C는 표준에러를 /dev/null로 redirection 한다 (에러메시지를 null로)

   

정상적인 메시지는 안보인다

   

위와 다르게 Permission denied인 에러메시지들은 안보인다

   

   

표준출력, 표준에러 그리고 표준입력도 있는데 이것을 리눅에서는 "파일"이라고 부른다.

   

   



PS: /dev/null 자체를 모르시는 분도 계실듯..

나는 이것을 쉽게 생각해서 "블랙홀"이라고 배웠다

이파일에 쓰는 모든것은 영원히 사라진다는것으로 아무것도 아닌(null) 장치파일이라고 볼수 있다(?)

어떠한 작업의 출력되는 내용을 보고 싶지 않을때, 이곳으로 그 출력을 보내버리면,

아무것도 보여지지 않게 되는것이다. 이럴때 아주 유용하게 쓰이게 된다

파일을 지울때는 rm 명령어로 지우면 되겠지만 텍스트로 이루어진 로그파일이라도

그 로그파일이 시스템에서 사용중일수 있다 그러면 삭제하는것은 위험 하기 때문에

그럴때

"/dev/null > 로그파일.log"

위와 같이 해주면 로그파일의 속(?)을 비워주게 되는것이다.



출처 : http://luckyyowu.tistory.com/122


리눅스에 JDK와 Tomcat을 설치해 JSP 서비스가 가능하도록 만들어 보겠습니다. 이번학기 수강하는 '객체지향 패러다임' 수업에서는 Windows에서 Tomcat Server를 구동해서 실습하지만 저는 리눅스를 좋아하니깐? 리눅스에 설치하겠습니다. (죄송합니다 교수님) 운영체제는 CentOS Linux 6.5 배포판이며 JDK와 Tomcat의 버전은 2014. 04. 10 기준 최신버전인 JDK 1.8.0, Tomcat 8.0.5를 설치하겠습니다.




JDK 다운로드 & 설치


이번 포스팅에서는 우선 JDK만 설치하며, Tomcat은 JDK의 설치 후 진행됩니다. 계정은 기본적으로 슈퍼유저의 권한을 가진 root 계정으로 진행하며 우선 jdk와 tomcat의 설치파일을 다운받을 디렉토리를 생성합니다.


# cd /usr/local/src

# mkdir tomcat


JavaSE JDK 설치파일 홈페이지(오라클)

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


먼저 JDK부터 설치하도록 합시다. 오라클 홈페이지에서 JDK 설치 파일을 다운 받습니다. rpm 확장자를 가진 패키지 설치 파일과 tar.gz 확장자를 가진 압축파일 두가지가 제공됩니다. 저는 압축파일로 설치할 것이므로 tar.gz 파일을 선택합니다. 또한 CentOS 6.5 리눅스 32비트 버전이므로 jdk-8-linux-i586.tar.gz 파일을 받겠습니다. 64비트 버전이라면 해당 버전에 맞는 파일을 받으시면 됩니다.


다운받는 방법은 wget, ftp 등 여러가지가 있겠지만 저는 윈도우에서 다운받은 후 rz 명령어로 리눅스로 옮겼습니다. 설치파일이 tar, gz으로 압축되어 있으니 풀어줍시다.


# gunzip jdk-8-linux-i586.tar.gz

# tar -xvf jdk-8-linux-i586.tar


압축을 풀면 jdk1.8.0 디렉토리가 생성됩니다.


생성된 jdk1.8.0 디렉토리를 /usr/local 디렉토리로 이동시킵시다. 그리고 심볼릭 링크 파일을 만들어줍니다. 심볼릭 링크를 만드는 이유는 여러가지가 있겠지만 나중에 JDK 버전이 업데이트 됬을 시 환경 설정을 변경하지 않고 심볼릭 링크의 내용만 수정해 주면 된답니다. 


# mv jdk1.8.0 /usr/local

# cd /usr/local

# ln -s jdk1.8.0 java


/usr/local 디렉토리로 jdk1.8.0 디렉토리가 이동했고 java란 심볼릭 링크가 생성된걸 확인해줍시다.


이제 명령어를 사용하기 /etc/profile의 내용을 수정합시다. vim 에디터를 열어 상단에 다음 내용을 추가합니다. (vi 사용법은.. 음... 파이팅)


# vi /etc/profile


JAVA_HOME=/usr/local/java

CLASSPATH=.:$JAVA_HOME/lib/tools.jar

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH


리눅스에 기본적으로 설정된 java 명령어 위치의 인식을 피하기 위해 /usr/bin 디렉토리의 java 파일 이름을 바꿔줍시다. 그 후 source 명령어를 사용해 /etc/profile의 내용을 현제 쉘에 적용시킵니다. 그리고 java, javac 명령어로 버전을 확인해서 설치된 버전이 출력되면 제대로 설치 된겁니다.


# mv /usr/bin/java /usr/bin/java-old

# source /etc/profile

# java -version

# javac -version


JDK를 설치하는 이유는 JSP 서비스를 구동해주는 톰캣에서 JDK를 사용해 클래스를 컴파일하기 때문입니다. 다음 포스팅에서는 리눅스에 Tomcat를 설치해 JSP 서비스를 구동해 보도록 하겠습니다.

참고 : http://webdir.tistory.com/120


시간을 동기화하는 방법으로 NTP 와 rdate 를 이용하는 방법을 사용합니다. 소수점까지 정확한 단위의 동기화가 필요하다면 원자단위의 NTP 를 이용해야 합니다.

NTP 시간 동기화

NTP(Network Time Protocol)는 인터넷상의 시간을 정확하게 유지시켜 주기 위한 통신망 시간 규약이다. 라디오나 원자시계에 맞추어 시간을 조정하며 밀리초 1/1000초 단위까지 시간을 맞출 수 있다.

기본적으로, NTP 방식은 straum이라는 계층구조를 가지는데 straum 0 은 GPS나 세슘 원자 시계등 시간을 구하는 장비를 말하며, straum 1은 GPS 나 세슘 원자 시계등에서 직접 시간을 동기화하는 서버를 의미한다. strum 2 부터는 트리 구조를 형성하게 된다. 보통 straum 2에서 동기화를 하고, 이 동기화를 받은 straum 3 서버에서 나머지 같이 운영하는 서버들을 peer로 해서 동기화를 시키므로써 straum 1 서버들의 부하를 줄인다.

NTP 는 UDP 123을 기본 포트로 사용(포트 개방 필요)한다.

우리나라에서 운영되고 있는 NTP 서버

  • kr.pool.ntp.org
  • time.bora.net
  • time.nuri.net

NTP 설치

CentOS 6.4 Minimal 버전에는 NTP 가 설치되어 있지 않다. yum 을 이용해서 설치하자.

yum install ntp

  ================================================================================
   Package        Arch          Version                         Repository   Size
  ================================================================================
  Installing:
    ntp          x86_64        4.2.4p8-3.el6.centos              base        444 k

  Installing for dependencies:
    libedit      x86_64        2.11-4.20080712cvs.1.el6          base         74 k
    ntpdate      x86_64        4.2.4p8-3.el6.centos              base         58 k

  Transaction Summary
  ================================================================================
  Install       3 Package(s)

NTP 설정

peer 설정이다. 즉, 시간 동기화를 받기 위한 설정내용이다. 기본적으로 입력되어있는 server 0.centos.pool.ntp.org등을 주석처리하거나 삭제하고 국내 NTP 서버로 대체한다.

vi /etc/ntp.conf

  # Use public servers from the pool.ntp.org project.
  # Please consider joining the pool (http://www.pool.ntp.org/join.html).
  #server 0.centos.pool.ntp.org
  #server 1.centos.pool.ntp.org
  #server 2.centos.pool.ntp.org
  server kr.pool.ntp.org
  server time.bora.net
  server time.kornet.net

NTP 서비스를 시작프로그램에 등록한다.

chkconfig ntpd on

NTP 서비스 등록 확인

chkconfig --list | grep ntpd

  ntpd            0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제

NTP 서비스를 시작한다.

/etc/init.d/ntpd start

  ntpd (을)를 시작 중:                                       [  OK  ]

NTP 는 동기화하기까지 5~10분의 시간이 걸리니 여유를 갖도록 하자.

ntpq -p

      remote           refid      st t when poll reach   delay   offset  jitter
  ==============================================================================
  *121.182.147.191 .GPS.            1 u   24   64  377    9.611    9.432   4.998
  +time.bora.net   90.1.14.51       2 u    1   64  177    7.049   -4.907  12.329
  +ntp1.sjtel.net  192.168.18.6     2 u    4   64  377    9.096   10.322   5.248
  • * : 현재 sync 를 받고 있음을 의미
  • + : ntp 알고리즘에 의해 접속은 가능하지만 sync 를 하고 있지는 않음을 의미
  • - : ntp 알고리즘에 의해 접속은 가능하지만 sync 가능 리스트에서 제외
  • blank : 접속이 불가능함을 의미

remote는 sync 를 하는 straum 2 서버주소를 가리키며, refid는 각 straum 2 서버가 현재 sync 를 하고 있는 straum 1 서버를 보여준다. st가 16일 경우 해당 서버에 접속 할 수 없음을 의미한다.

NTP 서버 설정

단순히 시간 동기화가 목적이 아니라 자체 동기화 서버를 구축하려는 경우 아래의 설정이 도움이 될지도 모르겠다.

vi /etc/ntp/ntp.conf 

  restrict default nomodify notrap noquery 
  restrict 127.0.0.1 
  restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap 

  # straum 2 server list 
  server ntp.ewha.net 
  server ntp1.epidc.co.kr 
  server time.bora.net 
  server time.wonkwang.ac.kr 
  server time.korserve.net 
  server noc6-3.koren21.net 

   driftfile /var/lib/ntp/drift 
   broadcastdelay 0.008 
   keys /etc/ntp/keys 
  • /etc/ntp.conf와 driftfile 과 keys의 경우 배포본마다 위치가 다를 수 있으니 확인을 하도록 한다.
  • restric 설정은 peer 들이 본 서버로 sync 하는 것에 대한 제한을 한다.
  • restrict default nomodify notrap noquery 설정은 기본으로 모든 권한을 주지 않음을 의미한다.
  • restrict 127.0.0.1 설정은 127.0.0.1 즉, 서버 자신에서는 모든 권한을 가진다.
  • restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap 설정은 192.168.0.0 ~ 192.168.0.255 c class 에서는 질의를 할 수 있는 권한을 가진다. 즉, 위의 2 라인은 항상 기본으로 들어가는 설정이며, peer 를 거느릴 서버에서는 (즉 A 의 입장에서는) 하위 peer 들의 질의를 받을수 있도록 3 번째 라인과 같이 restrict 설정을 해 주어야 한다.

설정을 마쳤다면, service ntpd restart 명령으로 ntpd 데몬을 시작하고, ntpq 명령을 이용하여 sync 를 잘 하고 있는지 확인을 한다.

+ Recent posts