且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

更新时间:2022-09-19 14:22:05

一、 实验环境

上一章节我们实现了DNS View主辅区域文件的自动同步,本实验使用rsync实现cfg文件的同步。做到全自动化无人值守。

rsync工具的几个重要特性:

1、能更新整个目录和树和文件系统

2. 有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等

3. 对于安装来说,无任何特殊权限要求

4. 对于多个文件来说,内部流水线减少文件等待的延时

5. 能用 rsh、ssh 或直接端口做为传输入端口

6. 支持匿名 rsync 同步文件,是理想的镜像工具;

7. 只同步改动部分,类似Window的差异备份。

更多rsync工具的介绍可以参考官网rsync.samba.org

Rsync服务器会使用xinetd服务方式开启873端口监听,等待Rsync客户端连接。Rsync客户端发起连接后,Rsync服务器会检查Rsync客户端提交Rsync服务器内建的户名和密码是否正确,如果通过认证检测,则开始文件传输,传输的过程是按要求先比对文件的大小、属性、权限、MD5值等信息,如果两端文件信息不一致,则按要求同步文件的区别块。

二、 网络拓扑图

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

三、 实验步骤

1、在DNS View Master上配置rsync服务器端

通过yum源安装xinetd以及rsync软件。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步由于rsync配置多样化,因此官网并为给主配置文件的内容,需要手动创建主配置文件rsyncd.conf进行配置。

[root@rhel6u3-2 etc]# cat rsyncd.conf

#This is ACL for DNS view slave bakcup

uid = backup 系统内建用户backup(在/etc/passwd存在),rsync服务的维护用户

gid = named 系统内建组named(在/etc/group存在),rsync服务的维护组

use chroot = no 关闭chroot,包含系统安全

max connections = 4 客户端同步最大连接数设置为4

port = 873 xinetd的同步端口

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

log file = /var/log/rsyncd.log 定义服务器日志文件存在地址

motd file = /etc/rsyncd.motd 描述定义服务器信息

hosts allow = 127.0.0.1,192.168.100.103/255.255.255.0 设置允许同步的IP地址

hosts deny =0.0.0.0/0 设置拒绝的IP地址

以上为全局配置文件

[viewacl] 定义标签

path = /var/named/view/acl 设置服务器端同步的目录

comment = DNS View slave ACL 描述

auth users = xiaonuo 创建服务器端内建用户

secrets file = /etc/rsyncd.secrets 创建内建用户对应的密码文件

read only = true 定义访问方式为只读

list = false 定义客户端不允许列出目录结构

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

创建rsync服务器端的守护进程用户backup,并添加到named组,由于不需要登录,shell设置为nologin。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

创建rsync同步的用户文件和服务器端描述的信息。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

设置服务器端的存放cfg目录的权限

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

设置需要同步的文件权限

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

设置rsyncd.secrets rsyncd.motd rsysncd.conf文件的权限。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

设置完成之后,先启动xinetd服务,再启动rsync服务。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

1、 在DNS View Slave上配置rsync客户端

创建用于同步文件的秘钥文件,内容为服务器端创建的传输文件的密码。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

使用 rsync -Rav --delete --password-file=/etc/rsync.pas xiaonuo@192.168.100.102::viewacl /var/named/view/acl 同步rsync服务器端。

--password-file=/etc/rsync.pas 秘钥存放的路径

xiaonuo@192.168.100.102::viewacl 同步的用户为xiaonuo,标签为 viewacl

/var/named/view/acl 同步到客户端的目录

为了后期方便操作,这里创建了一个脚本,后期运行脚本即可。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

创建任务计划,设置每一分钟运行一次脚本,生产环境中根据实际情况定具体的运行时间。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

四、 实验结果

模拟修改服务器端cfg文件,修改完成后,文件日期会自动更改为当前日期。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

通过监听服务器端日志文件查看是否同步成功

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

通过查看客户端是否同步成功。

RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步

关于客户端文件解析,不做测试。



本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1133196,如需转载请自行联系原作者