第十一周

1、详细叙述ansible的工作原理

Ansible是一种自动化运维工具,本身没有处理能力,只是一个框架,需要批量处理还是需要模块,首先预定好主机清单,通过SSH协议到远程主机,执行后返回来,再删除 执行过的Pytion文件

2、使用ansible在多台机器上添加用户
vim /etc/ansible/hosts 创建主机清单
[useradd]
192.168.37.11
192.168.37.12
192.168.37.13
ansible useradd -m user -a "name=test " 指定清单并创建用户为test


ansible ueradd -m user -a "name=test state=absent remove=yes" 删除用户及家目录

3、用ansible-playbook编译安装nginx服务

vim /etc/ansible/hosts 创建主机清单
[instngnix]
192.168.37.11
192.168.37.12
192.168.37.13
# mkdir playbookt    # cd playbook 创建目录并进入此目录
创建 install.yml模块  注意要确保对齐
---
- hosts: instngnix
  remote_user: root

  tasks:
     - name: install
       yum: name=nginx
       notify: restart
     - name: service
       serivce: name=nginx state=started

  handlers:
     - name: restart
       serivce: name=nginx state=started

ansible-playbook nginx.yml 执行

4、描述域名劫持的解决方法
不要自动获取DNS,要自己设置如114.114.114.114
在网络外围和DNS服务器上使用防火墙,限制DNS端口

5、描述dns的递归查询
DNS查询有两种类型:递归查询,迭代查询
递归查询:客户端向发出DNS域名查询请求,本机设置的本地DNS服务器接收到后,会查看自己的缓存信息,如果有这条信息,就返回给客户端,如果没有这条信息,则本地DNS服务器将域名查询请求发送给根域名服务器,
根服务器接受请求后会把它知道的提供给本地DNS,如果根也不知道,那么根域会去找一级域名,有就会返回给本地DNS,如果没有,那么一级域继续向二级域查询,以此类推,如果都找不到,就返回错误的结果。

迭代查询:客户端向发出DNS域名查询请求,本机设置的本地DNS服务器接收到后,会查看自己的缓存信息,如果有这条信息,就返回给客户端,如果没有就会查找根域名服务器,如果有就返回 给它,如果没有就告诉本地DNS你去找一级域,有那么就会告诉 本地DNS,本地DNS返回给客户端,如果一级域也没有,他会告诉本地DNS 域 你去 找二级域,这样就是迭代查询。

6、DNS工作原理详细解析
DNS( Domain Name System)是“域名系统”的英文缩写,将主机和域名解析为IP地址,从而进行连接。
具体如下
浏览器输入www.magedu.com,本地DNS会查找缓存,发现没有这条记录,那么就会去根域查找,根域看了自己也没有,但是有.com这个一级域,就会到一级域里找,如果找到了就把IP返回给本地DNS服务器,客户端就会与它进行连接,完成域名解析。如果.com这个一级域也没有那么根域就会找二级域或者子域,有就返回没有就报错。

7、dns区域转发与全局转发区别与实现方法

全局转发:对非本机所负责解析区域的请求,全转发给指定的服务器
区域转发:仅转发特定的区域请求,比全局转发优先级高

全局转发在vim /etc/named.conf编写
 forward first |only ;  #
        forwarders  {192.168.37.13;};
 dnssec-enable no;
        dnssec-validation no;
这个要改成no

注:forward first先转发,转发的没有,自己去互联网找 
 forward only 先转发,转发的主机也没有,那么被转发的主机去互联网找
接收转发的主机需要,编写区域数据库文件 /etc/named.rfc1912.zones
    zone "centos.com" {
           type master;
           file "cnetos.com.zone";
    };

编写解析库文件  /var/named/centos.com.zone
$TTL 1D
@       IN SOA  dns1  admin (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
  NS     dns1
dns1    A  44.44.44.44

重启服务 rndc reload 就可以了

区域转发在区域数据库文件/etc/named.rfc1912.zones 编写
zone "centos.com"  IN {
        type forward;
        forward only;
        forwarders { 192.168.37.13; };
};
重启服务 rndc reload 就可以了

8、实现智能DNS

在 /etc/named.conf主配置文件中加入 acl 指定地区ip地址范围
vim /etc/named.conf

acl shiwainet {
192.168.37.0/24;
};

acl shineinet {
any;
};
..............省略.................

用view将acl和各自解析库文件关联起来

include "/etc/named.root.key";

view view_shiwai {
match-clients { shiwainet;};
include "/etc/named.rfc1912.zones.shiwai";
};
view view_shinei{
match-clients { shineinet;};
include "/etc/named.rfc1912.zones.shinei";
};

注:而一旦采用view,必须把所以的区域信息放在view语句块中,所以named.conf中的根域移动到各自的区域库文件中
zone "." IN {
type hint;
file "named.ca";
}; 这个放进 上面几条记录里 /etc/named.rfc....的里面

区域库文件
/etc/named.rfc1912.zones.shiwai
zone "magedu.com" IN {
type master;
file "magedu.com.zone.wai";
};
/etc/named.rfc1912.zones.shinei
zone "magedu.com" IN {
type master;
file "magedu.com.zone.nei";
};

编写解析库文件
vim /var/named/magedu.com.zone.wai
$TTL 1D
@ IN SOA dns1 admin.magedu.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1
www CNAME websrv
websrv A 192.168.37.200

vim /var/named/magedu.com.zone.nei
$TTL 1D
@ IN SOA dns1 admin.magedu.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1

www CNAME websrv
websrv A 192.168.111.140

智能DNS就做好了,只要是192.168.37网段的IP 解析为192.168.37.100 不是这个网段的解析为 192.168.111.140

你可能感兴趣的:(第十一周)