环境虚拟机centos6.5 主机名h1 IP 192.168.137.11 作为DNS FNS的服务器 主机名h2 IP 192.168.137.12 主机名h3 IP 192.168.137.13
建立DNS(为了取代集群修改hosts带来的大量重复工作)
1.安装DNS在h1上面 检查命令: rpm –q bind rpm -q bind-chroot 安装命令: yum -y install bind bind-chroot 2. 修改/etc/named.conf 主要修改这两个地方注意红色修改的部分 listen-on port 53 { any;}; allow-query { any; }; 文件全内容:
// // named.conf // // Provided by Red Hat bind package to configure the ISCBIND named(8) DNS // server as a caching only nameserver (as a localhostDNS resolver only). // // See /usr/share/doc/bind*/sample/ for example namedconfiguration files. // options { listen-onport 53 { any; }; listen-on-v6port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursionyes;
dnssec-enableyes; dnssec-validationyes; dnssec-lookasideauto;
/* Path toISC DLV key */ bindkeys-file"/etc/named.iscdlv.key";
managed-keys-directory"/var/named/dynamic"; };
logging { channeldefault_debug { file "data/named.run"; severity dynamic; }; };
zone "." IN { type hint; file"named.ca"; };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; 3. 修改/etc/named.rfc1912.zones 正反配置红色部分 // named.rfc1912.zones: // // Provided by Red Hat caching-nameserver package // // ISC BIND named zone configuration for zonesrecommended by // RFC 1912 section 4.1 : localhost TLDs and addresszones // andhttp://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt // (c)2007 R W Franks // // See /usr/share/doc/bind*/sample/ for example namedconfiguration files. //
zone "localhost.localdomain" IN { type master; file"named.localhost"; allow-update{ none; }; };
zone "localhost" IN { type master; file"named.localhost"; allow-update{ none; }; };
zone"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"IN { type master; file"named.loopback"; allow-update{ none; }; };
zone "1.0.0.127.in-addr.arpa" IN { type master; file"named.loopback"; allow-update{ none; }; };
zone "0.in-addr.arpa" IN { type master; file"named.empty"; allow-update{ none; }; }; zone "weir.com" IN { type master; file "weir.com.zone"; allow-update { none; }; }; zone "137.168.192.in-addr.arpa" IN { type master; file"137.168.192.in-addr.zone"; allow-update{ none; }; }; 4.在/var/named目录下创建weir.com.zone和137.168.192.in-addr.zon文件(这里很重要每个地方都要看清楚怎么设置) 这里是将named.localhost 拷贝之后做的修改 cp -p named.localhost weir.com.zone cp -p named.localhost 137.168.192.in-addr.zone
weir.com.zone文件内容: $TTL 86400 @ IN SOA h1.weir.com. chizk.www.weir.com. ( 0 ; serial (d.adams) 1D ; refresh 1H ; retry 1W ; expiry 3H ) ; minimum @ IN NS h1.weir.com. h1.weir.com. IN A 192.168.137.11 h2.weir.com. IN A 192.168.137.12 h3.weir.com. IN A 192.168.137.13 h4.weir.com. IN A 192.168.137.14 h5.weir.com. IN A 192.168.137.15 h6.weir.com. IN A 192.168.137.16
137.168.192.in-addr.zone文件内容:
$TTL 86400 @ IN SOA h1.weir.com. chizk.www.weir.com. ( 0 ; serial (d.adams) 1D ; refresh 1H ; retry 1W ; expiry 3H ) ; minimum @ IN NS h1.weir.com. 11 IN PTR h1.weir.com. 12 IN PTR h2.weir.com. 13 IN PTR h3.weir.com. 14 IN PTR h4.weir.com. 15 IN PTR h5.weir.com. 16 IN PTR h6.weir.com. 修改正向文件和反向文件属组 [root@h1 named]# chgrp named weir.com.rev [root@h1 named]# chgrp named weir.com.zone 5. 添加DNS域名服务器ip(这里注意修改/etc/resolv.conf是没用的,重启电脑就失效了) 先说h1电脑,因为是DNS服务器所以我没有配置这一项 ,这里可能与我的网络连接有关系
下面说其他节点都如下配置:
这里需要找到/etc/sysconfig/network-scripts/ifcfg-eth0 主要是加入DNS1=192.168.137.11 完整内容: DEVICE=eth0 TYPE=Ethernet UUID=5a32d5ab-af65-44bc-9d21-c757fb44add3 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none IPADDR=192.168.137.12 PREFIX=16 GATEWAY=192.168.137.1 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0"
HWADDR=08:00:27:17:25:7F LAST_CONNECT=1402057925
DNS1=192.168.137.11
6.启动DNS(防火墙关闭) service named start 自动开启: 查看:chkconfig –listnamed 设置启动级别:chkconfig --level 123456 named on
7.测试: nslookup h1.weir.com nslookup 192.168.137.12
host h1.weir.com host 192.168.137.12 至此DNS配置完成。
配置NFS
1. 安装NFS 检查: rpm -qa | grep nfs rpm -qa | grep rpcbind 没有安装: yum install nfs-utils rpcbind 2. 启动NFS 检查: service nfs status servicerpcbind status 启动: service nfs start 开机自启动: chkconfig --level 123456 nfs on chkconfig --level 123456 rpcbindon
3. 设置共享目录 这里随意,例如:/home/gx 在/etc/exports 里面添加: /home/gx *(insecure,sync,rw,no_root_squash) 重启rpcbind和nfs service rpcbind restart service nfs restart 查看一下: showmount -elocalhost 4.其他节点(客户端) 建立挂载点。比如在根目录下mkdir/nfs_share 命令:mount -t nfs 192.168.137.11:/home/gx /nfs_share/ 测试:在h1上的目录下创建文件在其他节点是否看得到 5开机自动挂载nfs共享目录 修改/etc/fstab文件 在最后加入: 192.168.137.11:/home/gx /nfs_share nfs defaults 1 1
# # /etc/fstab # Created by anaconda on Tue May 27 12:29:32 2014 # # Accessible filesystems, by reference, are maintainedunder '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/orblkid(8) for more info # /dev/mapper/vg_weir-lv_root / ext4 defaults 1 1 UUID=4ea6963a-f2cd-4391-8808-d6bd76ee1125 /boot ext4 defaults 1 2 /dev/mapper/vg_weir-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
192.168.137.11:/home/gx /nfs_share nfs defaults 1 1
至此NFS配置完成。
6.实现nfs共享ssh密钥 这里需要了解ssh免密码登陆的原理。 我大致简单说一下: ssh-keygen -t rsa 产生私钥和公钥,id_rsa(私钥)和id_rsa.pub(公钥) 比如:h1电脑需要免密码登陆到h2电脑,需要在h1上面的~/.ssh/里面产生私钥和公钥 将公钥拷贝到h2的~/.ssh/里面并且修改名字为authorized_keys。 这样就可以用ssh 192.168.137.12 登录到h2电脑里面 第一次会提示输入密码,之后就不会了。 如果想实现相互免密码登陆那就是在h2上面产生公钥私钥 ,把公钥拷贝到h1上面 如果想实现h1到h1的免密码登陆就直接拷贝公钥在自己的~/.ssh/下并取名为authorized_keys。 那么我们怎么实现nfs共享目录的办法来实现ssh免密码登陆呢? 其实就是把各自的公钥放在共享目录里面,然后让不同的机器节点来共享目录 里面拿公钥到自己的~/.ssh/目录下面就可以做到了。这样可以省去一些重复的操作。 这里有一种方式叫做链接文件命令:ln 有软连接和硬链接之分
这里最方便的做法是在h1的共享目录里面建立authorized_keys文件把所有节点的公钥信息都放在这里,不断累加,只要有一台电脑连进来就增加这个公钥文件和新电脑的软连接设置,其他节点都不需要去配置为可以实现所有节点的ssh免密码登陆。
我想分析到这里大家已经可以自己完成了。 需要做的是: 1.软连接建立 2.把新加电脑产生的公钥追加给共享目录的authorized_keys文件中即可 目前问题点: 软连接ssh免密码登陆不成功,仍然要求输入密码,不知道是我配置问题,还是什么问题,我的做法是: 将h2,h3上面的公钥加到h1de的~/.ssh/authorized_keys上面 ssh h2.weir.com cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh h3.weir.com cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 内容为:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwkLRj4s+OXY7y8W9/3MOaMGMxE3M37/ySm28gwSpxs4AibAPjZY9rXvld5fJWl99iVeLMTRn39cryXknqf7gqy32EZ6kledh5Au7kv96XX3Cbwr5YIWoTggo9q9tG8E7J268QpV/2Zi1lOM6EEnLPUfpU6UWW2l8Ay4a2AyrWoIs2s6ffqPc/5xOnOnvAAmc285P75UmG0Cr/BVapdMi7z5WUUioPb3qGdXmirNy4EFUPtFMyXO3SwZIea61UpPLN6hcPDliluU+SwyVjkpicPUZcN/wweXkhQN/rexsbvNJ1qlD1DC1qT9eryj5b/i8RCWHGhxhlxvqlTxxmUpGMQ== root@h1 同时将h2,h3上面的公钥加到h1de的共享目录/home/gx/.ssh/authorized_keys上面 ssh h2.weir.com cat ~/.ssh/id_rsa.pub >> /home/gx/.ssh/authorized_keys ssh h3.weir.com cat ~/.ssh/id_rsa.pub >> /home/gx/.ssh/authorized_keys 内容当面是一样的。 接下来操作h2,h3 软连接h2,h3(首先先删除~/.ssh/authorized_keys) ln -s /nfs_share/.ssh/authorized_keys ~/.ssh/authorized_keys
到此就完成了。 测试结果是 可以免密码从h2,h3登录到h1 而不能 从h1免密码登录到h2,h3 这让人不解 (责任编辑:IT) |