马哥教育第四十一至四十三学习总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了马哥教育第四十一至四十三学习总结相关的知识,希望对你有一定的参考价值。

第四十一天

cobbler
1.安装包
yum install cobbler dhcp
systemctl enable cobblerd
systemctl start cobblerd
systemctl enable tftp.socket
systemctl start tftp.socket
systemctl enable httpd
systemclt start httpd

2.根据cobbler check提示

1) vim /etc/cobbler/settings
 default_password_crypted: "$1$wnrDglEE$9HgiaOwmK7CfXLsihEwj./"   #openssl passwd -1 生成口令
 server: 192.168.123.7
 next_server: 192.168.123.7
 manage_dhcp: 1

 systemctl restart cobblerd
 cobbler sync

2) 生成dhcp模版文件
vim /etc/cobbler/dhcp.template
     subnet 192.168.123.0 netmask 255.255.255.0 {
     option routers             192.168.123.7;
     option domain-name-servers 192.168.123.7;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.123.100 192.168.123.254;

cobbler sync

3)准备启动文件和菜单风格文件
连接internet

cobbler get-loaders

不连接internet

cp /var/lib/tftpboot{menu.c32,pxelinux.0}  /var/lib/cobber/loaders

4)
chkconfig rsync on

3.导入yum源
cobbler import --path=/misc/cd --name=centos7.4
cobbler import --path=/misc/cd --name=centos6.9 --arch=x86_64
cobbler distro list
cobbler profile list

4.生成ks文件
cp ks6-mini.cfg ks7-mini.cfg /var/lib/cobbler/kickstarts/
cobbler profile remove --name=centos6.9-x86_64
cobbler profile remove --name=centos7.4-x86_64
cobbler profile add --name=centos6.9-x86_64_mini --distro=centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks6-mini.cfg

基于web来管理cobbler

yum -y install cobbler-web

systemctl restart httpd

[[email protected] ~]# cat /etc/cobbler/modules.conf |egrep -A1 ‘[authentication]‘
[authentication]
module = authn_configfile

htdigest -c /etc/cobbler/users.digest Cobbler nanyibo

[[email protected] ~]# cat /etc/cobbler/users.digest
nanyibo:Cobbler:712c1721c18a809734ca88dad8b90a9b

systemctl restart cobblerd.service

firefox: https://192.168.123.7/cobbler_web

[[email protected] ~]# cat /etc/cobbler/modules.conf |egrep -A1 ‘[authentication]‘
[authentication]
module = authn_pam
useradd -s /sbin/nologin cobbleruser
echo centos |passwd --stdin cobbleruser
vim /etc/cobbler/users.conf
admin = "cobbleruser"
systemctl restart cobblerd.service

firefox: https://192.168.123.7/cobbler_web

DNS

/etc/hosts
C:\Windows\System32\drivers\etc\hosts
114.114.114.114 www.114.com www.114.cn
host分散式管理

NIS Network Information Service
集中式管理

保罗 莫卡派乔斯 1983

1984 berkeley bind (berkeley internet name domain) 90%

centos6 centos7 FQDN 全限定域名 . world wide web

13台根服务 1个主根服务器 美国 其他12个为辅根服务器,9台在美国 1台在英国 1 台在瑞典 1个日本

www.baidu.com

08 .中国

DNS的查询方式
递归查询、 迭代查询

www.baidu.com A 1.1.1.1

magedu.com. NS ns1.shifen.com.

www.qq.com CNAME www.baidu.com.

SOA
NS
A
AAAA
PTR
CNAME
MX

none 什么也没有
any 什么都有
localhost 本机所有IP
localnet 相同子网

vim named.conf
listen-on port 53 { localhost; };
named-checkconf 检查配置文件语法。
rndc reload
allow-query { any; }; 哪些客户端可以访问本机进行解析

实验:部署magedu.com 正向解析记录

1.
[[email protected] ~]# vim /etc/named.conf
listen-on port 53 { localhost; };
allow-query { any; };

include "/etc/named.magedu.zones";

2.
[[email protected] ~]# cp -p /etc/named.rfc1912.zones /etc/named.magedu.zones

3.
[[email protected] ~]# vim /etc/named.magedu.zones
zone "magedu.com" IN {
type master;
file "magedu.com.zone";
};

zone "123.168.192.in-addr.arpa" IN {
type master;
file "192.168.123.zone";
};

4.
[[email protected] ~]# cd /var/named/
[[email protected] named]# cp -p named.localhost magedu.com.zone
[[email protected] named]# cp -p named.localhost 192.168.123.zone
[[email protected] named]# vim magedu.com.zone
$TTL 1D
@ 10D IN SOA @ admin (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.magedu.com.
ns1 A 192.168.123.7
@ A 10.12.11.1
centos6 A 192.168.123.100
www CNAME centos6
mail A 2.2.2.2
*.magedu.com. A 8.8.8.9
$GENERATE 100-200 desktop$ A 172.19.0.$

[[email protected] named]# vim 192.168.123.zone
$TTL 1D
@ 10D IN SOA ns1.magedu.com. admin.magedu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS ns1.magedu.com.
7 PTR ns1.magedu.com.
100 PTR centos6.magedu.com.

[[email protected] named]# named-checkconf
在6中也可以使用 [[email protected] ~]# /etc/init.d/named configtest
[[email protected] named]# named-checkzone magedu.com /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 0
OK
[[email protected] named]# named-checkzone 123.168.192.in-addr.arpa /var/named/192.168.123.zone
zone 123.168.192.in-addr.arpa/IN: loaded serial 0
OK

[[email protected] named]# rndc reload
server reload successful

[[email protected] named]# systemctl reload named

[[email protected] ~]# dig www.magedu.com @192.168.123.7
[[email protected] ~]# dig -t soa magedu.com @192.168.123.7
[[email protected] ~]# dig -t ptr 7.123.168.192.in-addr.arpa. @192.168.123.7

[[email protected] ~]# dig -x 192.168.123.7 @192.168.123.7

关于缓存
LINUX客户端无缓存
服务端清空缓存 :rndc flush

WINDOWS客户端
ipconfig/displaydns 查看缓存
ipconfig/flushdns 清空缓存

第四十二天

2010年1月12 上午7点 百度

named: /etc/named.conf /var/named/....
named-choot /var/named/chroot/etc/named.conf /var/named/chroot/var/named/...

chroot

centos5: bind bind-chroot caching-nameserver
在安装chroot时,会将源目录的下所有conf和zone文件以软链接方式放到chroot环境。
在安装chroot后,所有对conf和zone的修改应该都在chroot下完成。

centos6: bind bind-chroot
在启动named时,会将源目录中的文件以mount -o bind的方式挂载到chroot环境,在关闭服务时,卸载。但不会自动挂载自定义的扩展conf文件

centos7: bind bind-chroot
一旦安装了bind-chroot,以后将使用named-chroot.service服务。原始的named.service无效
在启动named-chroot时,会将源目录中的文件以mount -o bind的方式挂载到chroot环境,在关闭服务时,卸载。但不会自动挂载自定义的扩展conf文件

主从DNS

在zone文件中主dns要做ns记录
@ NS ns1.magedu.com.
@ NS ns2.magedu.com.
@ NS ns3.magedu.com.
ns1 A 192.168.123.7
ns2 A 192.168.123.8
ns3 A 192.168.123.6
www.zz.magedu.com
bj
hk
tw

还要在conf中做allow-transfer
allow-transfer { 192.168.123.8; 192.168.123.6; };
每个从也要做allow-transfer { none; };
dig -t axfr nange.com @192.168.123.7

转发DNS
两种方式

第一种:全局
在/etc/named.conf 在options中 forwarders { 192.168.123.7; };

第二种:部分域的转发
在zone文件中做
zone "bj.magedu.com" IN {
type forward;
forwarders { 192.168.123.8; };
};

转发又分两种模式。
第一种:forward first

client:centos5 -> dns8 (bj.magedu.com ) --> (dns9(zz.magedu.com) ,internet)

www.baidu.com: dns8(cache) --> dns8(local) ---> dns9(cache) --> dns9(local) --> dns9(internet,X)
:first-> dns8(internel)
:only -> end

模拟根环境

.的配置文件
$TTL 1D
. IN SOA ns. root. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.
ns. A 192.168.123.9
com. NS ns.com.
ns.com. A 192.168.123.8

com的配置文件
$TTL 1D
@ IN SOA ns.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.com.
ns.com. A 192.168.123.8
magedu.com. NS ns.magedu.com.
ns.magedu.com. A 192.168.123.7

magedu.com的配置文件
$TTL 1D
@ IN SOA ns.magedu.com. admin.magedu.com. (
2018041804 ; serial
86400 ; refresh (1 day)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10800 ; minimum (3 hours)
)
NS ns.magedu.com.
ns.magedu.com. A 192.168.123.7
www A 200.200.200.200

最后测试,注意测试时将dns指向caching-only机器,不用做转发,不做NS,利用迭代查出结果,如有错,改完配置后一定要清空caching-only机器的缓存。

第四十三天

主从之间使用TSIG加密

1.主DNS生成密钥
[[email protected] ~]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave
2.读取密钥文件获得加密字符串,然后生成transfer.key
[[email protected] ~]# vim /etc/transfer.key
key "master-slave" {
algorithm hmac-md5;
secret "CieaJpeOw8zCJq9VDO492g==";
};

并设置权限为440 group为named
3.主DNS配置
[[email protected] ~]# vim /etc/named.conf
include "/etc/transfer.key";
allow-transfer { key master-slave; };

重启服务

4.将transfer.key 发往从DNS,并设置权限为440 group为named

5.编辑从DNS的配置
[[email protected] slaves]# vim /etc/named.conf
include "/etc/transfer.key";
server 192.168.123.7 {
keys { master-slave; };
};

6.最后重启从DNS的服务 。

DNS port
udp 53 : 主从同步和查询
tcp 53: 主从同步

[[email protected] ~]# dig hello.test.com @192.168.123.11

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> hello.test.com @192.168.123.11
;; global options: printcmd
;; connection timed out; no servers could be reached

表示对方的udp 53端口访问不到,可能情况是防火墙拒绝、服务未启动、主机不存在

[[email protected] ~]# dig hello.magedu.com @192.168.123.7

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> hello.magedu.com @192.168.123.7
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 13098

status: SERVFAIL 表示对方DNS可用,但没有这个域

[[email protected] ~]# dig hello.test.com @192.168.123.7

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> hello.test.com @192.168.123.7
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 22043

status: NXDOMAIN 对方DNS有这个域,但没有这个记录。

[[email protected] ~]# dig www.test.com @192.168.123.7

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> www.test.com @192.168.123.7
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35788
status: NOERROR 完全正常,没有错误。

以上是关于马哥教育第四十一至四十三学习总结的主要内容,如果未能解决你的问题,请参考以下文章

马哥教育第十一天十二天学习总结

javaweb学习总结(四十三)——Filter高级开发

马哥教育第三十一天至三十四天学习总结

Linux学习总结(四十三)nginx 负载均衡 https 配置

salesforce 零基础学习(四十三)运算取余

“全栈2019”Java第四十三章:封装