1、单域主/从 NIS 服务器配置及测试企业需求公司准备在 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 帐号
2、以及其他管理帐号登录。NIS 应用拓扑图:单域单 NIS 服务器配置参考 RHEL5 企业级 Linux 服务攻略 -第 11 季 NIS 服务全攻略解决方案主 NIS 服务器1、安装 NIS 所需软件包确保 NIS 服务所需 ypserv、ypbind 、yp-tools 和 portmap 软件包已经安装,如果没有则自行安装一下哈2、创建 teamadmin 用户3、设置 NIS 域名vim /etc/sysconfig/networkvim /etc/rc.d/rc.local保存退出4、 NIS 固定端口配置NIS 和 NFS 服务相似,同样使用随机端口,我们可以配置固定端口加强 NI
3、S 的可管理性(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/hosts6、设置/etc/yp
4、serv.conf 主配置文件vim /etc/ypserv.conf在整个 ypserv.conf 主配置文件中,最为重要的就是限制客户端或从服务器的查询权限。格式为:Host : Domain : Map : SecurityHost:指定客户端,可以指定具体 IP 地址,也可以指定一个网段Domain:设置 NIS 域名,这里的 NIS 域名和 DNS 中的域名并没有关系哈 两者是两套不同系统哈在同一个 NIS 域中,客户端可以从 NIS 服务器上查询用户名和密码,从 NIS 服务器可以与主服务器同步数据库内容Map:设置可用数据库名称,可以用“*”代替所有数据库Security:安全性
5、设置。主要有 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 *:*:*:deny7、建立 NIS 数据库service ypserv start首先我们要启动 ypserv
6、 服务,否则建立 NIS 数据库会报错/usr/lib/yp/ypinit -m当 NIS 数据库被建立之后,需要通知 ypserv 和 yppasswdd 这两个服务,以告知 NIS 数据库被更新过了哈通常通知的方法就是重启这两个服务service ypserv restart service yppasswdd restart注意:每次更改数据库内容后(比如更新用户密码)就需要使用 ypinit -m 命令重新创建数据库并重启 ypserv 和 yppasswdd 这两个服务,否则添加新数据将无法生效哈8、建立信任群可以使用/etc/netgroup 文件来建立 NIS 服务器所信任的客户
7、端格式:host,user,domain如果这个文件没有内容,则代表所有的主机、帐号和域名都接受哈因为已经在/etc/ypserv.conf 中设置好了关于安全的项目,默认此文件不存在,所以这个文件只要建立就可以了。touch /etc/netgroup没有就创建一下,因为昨天的配置中已经创建了,我这里就不再重复了哈9、修改/var/yp/ypservers 配置文件添加 NIS 域中 NIS 服务器名称vim /var/yp/ypservers10、重启相关服务使配置生效service portmap restart service ypserv restart service yppass
8、wdd 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-tool
9、s 和 portmap 软件包已经安装,如果没有则自行安装一下哈2、设置 NIS 域名vim /etc/sysconfig/networkvim /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/s
10、ysconfig/network(2 )重启服务并测试修改 network 配置文件后我们需要重启 network、ypserv 和 ypxfrd 服务,然后可以使用 rpcinfo -p 查看端口使用情况4、设置/etc/hosts 配置文件如果没有设置 DNS 服务则需要设置/etc/hosts 文件指向主 NIS 服务器 nis,否则会找不到主NIS 服务器哈vim /etc/hosts5、启用 portmap、ypserv 服务进程service portmap startservice ypserv startchkconfig -level 35 portmap onchkconf
11、ig -level 35 ypserv on6、同步数据库信息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 命
12、令同步数据库信息保持数据状态为最新哈ypxfr -h NIS 主服务器 IP 或主机名 数据库文件ypxfr -h nis passwd.bynameypxfr -h nis passwd.byuid现在主 NIS 服务器上的数据没有变化,所以没什么数据同步哈我们修改下主 NIS 服务器上的帐号和密码信息测试下现在我们在从 NIS 服务器再执行同步命令看看效果哈同步完成哈如果每次手工更新数据信息那还不烦死哈所以我们可以使用 cron 计划任务来完成这个工作哈由服务器自动同步 NIS 数据库信息是很好的解决方案编辑/etc/crontab 文件,设置计划任务内容,每小时第一分钟、第二分钟更新 p
13、asswd.byname 和 passwd.byuid 数据库文件vim /etc/crontab保存退出ll /var/log/cron 看下效果NIS 客户端设置客户端必须安装 ypbind 和 yp-tools 这两个软件包1、加入 NIS 域确保客户端和服务器的 NIS 域名相同,可以使用 nisdomainname 命令设置,然后设置开机自动配置 NIS 域名nisdomainname dmznisvim /etc/sysconfig/networkvim /etc/rc.d/rc.local2、修改/etc/hosts 文件 如果没有 DNS 服务器,那我们必须确保/etc/hos
14、ts 文件中有 NIS 服务器的记录vim /etc/hosts3、修改密码验证方式NIS 客户端在查找用户名和密码时先从本地开始查找,比如先查询/etc/passwd 和/etc/shadow 文件等,如果没有查询到用户名和密码则发送广播到 NIS 服务器从而进行查询。默认情况下客户端如果没有查询到用户名和密码是不会发送广播到 NIS 服务器的,所以我们需要修改/etc/nsswitch.conf 文件哈vim /etc/nsswitch.conf四个字段中添加主/从 NIS 服务器的主机名,修改效果如下哈4、修改/etc/yp.conf 文件在客户端/etc/yp.conf 文件中设置 N
15、IS 服务器的主机名和 NIS 域名vim /etc/yp.confypserver nisdomain dmz如果需要使用广播查询则可以直接添加 domain dmz broadcast5、重新启动 ypbind 服务service ypbind restart注意,一定要开启 111 端口,可以使用 rpcinfo 命令查看 rpc 所使用的端口rpcinfo -p6、设置开机启动 ypbind 服务chkconfig -level 35 ypbind on客户端检测yp-tools 软件包中自带一些测试工具,可以帮助我们更好得了解 NIS 客户端和服务器通信情况1、 yptestypte
16、st 命令测试数据库内容等所有与 NIS 相关的信息如果 Test 9: yp_all 下面出现 NIS 服务器上的所有帐号信息则表示配置成功,否则我们就要检查上面的配置是否存在问题哈2、 ypwhichypwhich 命令主要测试 NIS 客户端与服务器之间通信使用的是哪些数据库文件只使用 ypwhich 命令只显示 NIS 主机名现在获取的是从 NIS 服务器 slavenisypwhich -x 则显示 NIS 客户端与服务器通信使用了哪些数据库文件3、 ypcatypcat 命令可以查看 NIS 服务器上使用者帐号及密码信息,也可以查看 NIS 服务器上的/etc/hosts 文件记录
17、哪些主机信息ypcat passwd:查看 NIS 服务器上帐号密码等信息ypcat hosts:查看 NIS 服务器上的/etc/hosts 文件记录哪些主机信息4、 ypmatchypmatch teamadmin passwd:查询指定用户帐号密码信息5、 yppasswd客户端可以使用 yppasswd 命令修改帐号和密码注意:密码长度不能少于 6 位哈 此外使用 yppasswd 命令可以自动更新 NIS 数据库中内容。#Michael 分割线#开了三个虚拟机,电脑好慢哈终于配置完了主/从 NIS 服务器哈松口气了,呵呵下季也就是明天更新 NFS 及 NIS 结合的自动挂载 NIS 用户主目录哈敬请期待哈#Michael 分割线#