您的位置:首页 > 其它

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

2013-02-09 09:25 686 查看
RHEL6.3 DNS高级技术三
-----通过rsync实现DNS View访问列表文件同步
版权声明:

本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议

您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品

您可以根据本作品演义自己的作品

您必须按照作者或者许可人指定的方式对作品进行署名。

您不得将本作品用于商业目的。

如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。

对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。

如果得到著作权人的许可,您可以不受任何这些条件的限制。

Designed by 小诺(www.rsyslog.org

一、 实验环境

上一章节我们实现了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值等信息,如果两端文件信息不一致,则按要求同步文件的区别块。

二、 网络拓扑图





三、 实验步骤

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

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



由于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 定义客户端不允许列出目录结构





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





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





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





设置需要同步的文件权限





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





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





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

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









使用 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 同步到客户端的目录

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





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





四、 实验结果

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





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





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





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

参考文档:
RHEL6.3 DNS高级技术一 通过DNS View实现不同区域访问域名解析的速度http://dreamfire.blog.51cto.com/418026/1133159
RHEL6.3 DNS高级技术二 通过DNS主从区域复制实现DNS View负载均衡和冗余备份http://dreamfire.blog.51cto.com/418026/1133195
RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步http://dreamfire.blog.51cto.com/418026/1133196
PDF文档高清版下载:
http://down.51cto.com/data/681135
http://down.51cto.com/data/681134
http://down.51cto.com/data/681100

rsync的详细配置可以参考别人写的 http://oakcdrom.blog.51cto.com/1940330/1127742
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息