您的位置:首页 > 其它

RHEL5.1单域主/从NIS服务器配置及测试

2010-05-28 08:16 225 查看
企业需求
公司准备在DMZ区域中放置多台服务器,服务器包括samba服务器、邮件服务器、WEB服务器、代理服务器,他们的IP分别是192.168.8.1、192.168.8.2、192.168.8.3、192.168.8.4,其于客户端为windows系统,使用windows域环境管理。为了方便日常的服务器管理工作,准备再搭建一台主NIS服务器,其IP地址为192.168.8.188,从NIS服务器,其IP地址为192.168.8.189,为了方便管理,所有DMZ区域内的服务器都可以使用teamadmin帐号以及其他管理帐号登录。
NIS应用拓扑图:



单域单NIS服务器配置参考[RHEL5企业级Linux服务攻略]--第11季 NIS服务全攻略
解决方案
主NIS服务器
1、安装NIS所需软件包
确保NIS服务所需ypserv、ypbind、yp-tools和portmap软件包已经安装,如果没有则自行安装一下哈~



2、创建teamadmin用户



3、设置NIS域名
vim /etc/sysconfig/network



vim /etc/rc.d/rc.local



保存退出
4、NIS固定端口配置
NIS和NFS服务相似,同样使用随机端口,我们可以配置固定端口加强NIS的可管理性
(1)修改/etc/sysconfig/network
添加YPSERV_ARGS和YPXFRD_ARGS字段,可以设置NIS的ypserv和ypxfrd两个进程使用固定端口号,而对于yppasswd则不提供支持,我们可以使用参数-p指定固定端口
vim /etc/sysconfig/network



(2)重启服务并测试
修改network配置文件后我们需要重启network、ypserv和ypxfrd服务,然后可以使用rpcinfo -p查看端口使用情况



5、设置/etc/hosts配置文件
vim /etc/hosts



6、设置/etc/ypserv.conf主配置文件
vim /etc/ypserv.conf
在整个ypserv.conf主配置文件中,最为重要的就是限制客户端或从服务器的查询权限。
格式为:
Host : Domain : Map : Security
Host:指定客户端,可以指定具体IP地址,也可以指定一个网段
Domain:设置NIS域名,这里的NIS域名和DNS中的域名并没有关系哈~两者是两套不同系统哈~在同一个NIS域中,客户端可以从NIS服务器上查询用户名和密码,从NIS服务器可以与主服务器同步数据库内容
Map:设置可用数据库名称,可以用“*”代替所有数据库
Security:安全性设置。主要有none、port和deny三种参数设置。
none:没有任何安全限制,可以连接NIS服务器。
port:只允许小于1024以下的端口连接NIS服务器。
deny:拒绝连接NIS服务器。
通常设置思路是允许所有内网客户端连接NIS服务器,除此之外的客户端都拒绝连接哈~
ypserv.conf文件是逐行解释执行,所以要注意设置顺序
127.0.0.1/255.0.0.0:*:*:none
192.168.8.0/255.255.255.0:*:*:none
*:*:*:deny




7、建立NIS数据库
service ypserv start



首先我们要启动ypserv服务,否则建立NIS数据库会报错



/usr/lib/yp/ypinit -m



当NIS数据库被建立之后,需要通知ypserv和yppasswdd这两个服务,以告知NIS数据库被更新过了哈~
通常通知的方法就是重启这两个服务
service ypserv restart
service yppasswdd restart




注意:每次更改数据库内容后(比如更新用户密码)就需要使用ypinit -m命令重新创建数据库并重启ypserv和yppasswdd这两个服务,否则添加新数据将无法生效哈~
8、建立信任群
可以使用/etc/netgroup文件来建立NIS服务器所信任的客户端
格式:host,user,domain
如果这个文件没有内容,则代表所有的主机、帐号和域名都接受哈~因为已经在/etc/ypserv.conf中设置好了关于安全的项目,默认此文件不存在,所以这个文件只要建立就可以了。
touch /etc/netgroup
没有就创建一下,因为昨天的配置中已经创建了,我这里就不再重复了哈~



9、修改/var/yp/ypservers配置文件
添加NIS域中NIS服务器名称
vim /var/yp/ypservers



10、重启相关服务使配置生效
service portmap restart
service ypserv restart
service yppasswdd restart
chkconfig --level 35 portmap on
chkconfig --level 35 ypserv on
chkconfig --level 35 yppasswdd on

此外为了使主/从NIS服务器完成数据库同步,我们需要在NIS主服务器上启动ypxfrd服务哈~
service ypxfrd restart
chkconfig --level 35 ypxfrd on




从NIS服务器配置
从NIS服务器相比主NIS服务器来说配置就比较简单了哈~
1、安装NIS所需软件包
确保NIS服务所需ypserv、ypbind、yp-tools和portmap软件包已经安装,如果没有则自行安装一下哈~



2、设置NIS域名
vim /etc/sysconfig/network



vim /etc/rc.d/rc.local



保存退出
3、NIS固定端口配置
NIS和NFS服务相似,同样使用随机端口,我们可以配置固定端口加强NIS的可管理性
(1)修改/etc/sysconfig/network
添加YPSERV_ARGS和YPXFRD_ARGS字段,可以设置NIS的ypserv和ypxfrd两个进程使用固定端口号,而对于yppasswd则不提供支持,我们可以使用参数-p指定固定端口
vim /etc/sysconfig/network



(2)重启服务并测试
修改network配置文件后我们需要重启network、ypserv和ypxfrd服务,然后可以使用rpcinfo -p查看端口使用情况



4、设置/etc/hosts配置文件
如果没有设置DNS服务则需要设置/etc/hosts文件指向主NIS服务器nis,否则会找不到主NIS服务器哈~



vim /etc/hosts



5、启用portmap、ypserv服务进程
service portmap start
service ypserv start
chkconfig --level 35 portmap on
chkconfig --level 35 ypserv on



6、同步数据库信息
ll /var/yp/
现在主NIS服务器的数据还没同步过来哈~



/usr/lib/yp/ypinit -s nis
从NIS服务器slavenis同步主NIS服务器nis数据库信息



现在系统提示文件传输完毕,我们可以ll查看一下dmz域目录哈~
ll /var/yp/dmz/



从NIS服务器已经生成数据库文件,数据同步完成哈~
7、从NIS服务器同步设置
主NIS服务器更新数据并使用ypinit -m命令重新生成数据库后,从NIS服务器上的数据就会不一致哈~
我们可以在从NIS服务器上使用ypxfr命令同步数据库信息保持数据状态为最新哈~
ypxfr -h NIS主服务器IP或主机名 数据库文件
ypxfr -h nis passwd.byname
ypxfr -h nis passwd.byuid



现在主NIS服务器上的数据没有变化,所以没什么数据同步哈~
我们修改下主NIS服务器上的帐号和密码信息测试下





现在我们在从NIS服务器再执行同步命令看看效果哈~



同步完成哈~
如果每次手工更新数据信息那还不烦死哈~所以我们可以使用cron计划任务来完成这个工作哈~由服务器自动同步NIS数据库信息是很好的解决方案
编辑/etc/crontab文件,设置计划任务内容,每小时第一分钟、第二分钟更新passwd.byname和passwd.byuid数据库文件
vim /etc/crontab



保存退出
ll /var/log/cron看下效果



NIS客户端设置
客户端必须安装ypbind和yp-tools这两个软件包



1、加入NIS域
确保客户端和服务器的NIS域名相同,可以使用nisdomainname命令设置,然后设置开机自动配置NIS域名
nisdomainname dmznis



vim /etc/sysconfig/network



vim /etc/rc.d/rc.local




2、修改/etc/hosts文件
如果没有DNS服务器,那我们必须确保/etc/hosts文件中有NIS服务器的记录
vim /etc/hosts



3、修改密码验证方式
NIS客户端在查找用户名和密码时先从本地开始查找,比如先查询/etc/passwd和/etc/shadow文件等,如果没有查询到用户名和密码则发送广播到NIS服务器从而进行查询。
默认情况下客户端如果没有查询到用户名和密码是不会发送广播到NIS服务器的,所以我们需要修改/etc/nsswitch.conf文件哈~
vim /etc/nsswitch.conf



四个字段中添加主/从NIS服务器的主机名,修改效果如下哈~



4、修改/etc/yp.conf文件
在客户端/etc/yp.conf文件中设置NIS服务器的主机名和NIS域名
vim /etc/yp.conf
ypserver nis
domain dmz
如果需要使用广播查询则可以直接添加domain dmz broadcast



5、重新启动ypbind服务
service ypbind restart



注意,一定要开启111端口,可以使用rpcinfo命令查看rpc所使用的端口
rpcinfo -p



6、设置开机启动ypbind服务
chkconfig --level 35 ypbind on



客户端检测
yp-tools软件包中自带一些测试工具,可以帮助我们更好得了解NIS客户端和服务器通信情况
1、yptest
yptest命令测试数据库内容等所有与NIS相关的信息



如果 Test 9: yp_all下面出现NIS服务器上的所有帐号信息则表示配置成功,否则我们就要检查上面的配置是否存在问题哈~
2、ypwhich
ypwhich命令主要测试NIS客户端与服务器之间通信使用的是哪些数据库文件
只使用ypwhich命令只显示NIS主机名
现在获取的是从NIS服务器slavenis



ypwhich -x则显示NIS客户端与服务器通信使用了哪些数据库文件



3、ypcat
ypcat命令可以查看NIS服务器上使用者帐号及密码信息,也可以查看NIS服务器上的/etc/hosts文件记录哪些主机信息
ypcat passwd:查看NIS服务器上帐号密码等信息



ypcat hosts:查看NIS服务器上的/etc/hosts文件记录哪些主机信息



4、ypmatch
ypmatch teamadmin passwd:查询指定用户帐号密码信息



5、yppasswd
客户端可以使用yppasswd命令修改帐号和密码



注意:密码长度不能少于6位哈~此外使用yppasswd命令可以自动更新NIS数据库中内容。
###########################Michael分割线#####################
开了三个虚拟机,电脑好慢哈~终于配置完了主/从NIS服务器哈~松口气了,呵呵~~~下季也就是明天更新NFS及NIS结合的自动挂载NIS用户主目录哈~敬请期待哈~~~
###########################Michael分割线#####################
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: