미러링 서버를 만들거나 자료를 동기화하면서 백업할때 rsync를 쓴다. 그런데 아예 rsync daemon을 띄워놓으면 정기적으로 업데이트를 할 수 있다. 진정한 미러링 서버 구축에 꼭 필요하다. 간단하게 rsync daemon 설정하는 법을 해 보자.
0. OS
- CentOS 7.x 기준
1. 설치
기본적으로 xinetd 와 rsync가 필요하다. 아래와 같이 설치한다.
yum install rsync xinetd
xinetd 설치 후 아래와 같이 설정하여 다시 시작하더라도 쓸 수 있겠 한다.
systemctl enable xinetd.service
2. xinetd 설정
/etc/xinetd/rsync
service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = –daemon log_on_failure += USERID } |
3. rsyncd.conf 설정
/etc/rsyncd.conf
==================================================== [rsync_test] -> 사용할 rsync 서비스 이름 path=/data/rsync_test/ -> 데이터 원본 경로 comment = rsync_test -> 코멘트 uid = root -> 권한 사용자 (내부 망이 아닌 외부망으로 할때는 root 비권장) gid = root -> 권한 그룹 (내부 망이 아닌 외부망으로 할때는 root 비권장) use chroot = yes read only = yes hosts allow = 192.168.123.11 -> rsync 클라이언트 IP. localhost일 경우 입력하지 않아도 됨 max connections = 3 timeout=600 ==================================================== |
4. 방화벽 포트 열기
보통은 아래 명령어만 입력하면 됨.
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="873" protocol="tcp" accept'
이 경우 873 포트를 통해서 공격 등을 할 수 있으니 특정 ip에 대해서만 해당 포트를 열어주는게 좋음.
a. 명령어 입력으로 열기
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=IP port port="873" protocol="tcp" accept' |
b. 직접 입력하기
/etc/firewalld/zone/public.xml
위 파일에 아래 내용을 넣음.
<rule family="ipv4"> <source address="IP"/> <port protocol="tcp" port="873"/> <accept/> </rule> |
a의 명령어 결과가 b이기 때문에 b로 바로 해도 무방. 두 경우 모두 끝나고 아래 명령어를 입력하여 적용.
firewall-cmd --reload
이렇게 하면 rsync daemon 설정 끝. 이때 외부에서 접속하려면 id와 pwd를 넣어 줘야 한다.
아이디 비번 입력없이 진행하려면 위 링크 참조.