1. 程式人生 > >馬哥教育第四十一至四十三學習總結

馬哥教育第四十一至四十三學習總結

自動化運維安裝、DNS

第四十一天

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

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

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

[root@centos7 ~]# cat /etc/cobbler/users.digest
nanyibo:Cobbler:712c1721c18a809734ca88dad8b90a9b

systemctl restart cobblerd.service

firefox: https://192.168.123.7/cobbler_web

[root@centos7 ~]# 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.
[root@centos7 ~]# vim /etc/named.conf
listen-on port 53 { localhost; };
allow-query { any; };

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

2.
[root@centos7 ~]# cp -p /etc/named.rfc1912.zones /etc/named.magedu.zones

3.
[root@centos7 ~]# 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.
[root@centos7 ~]# cd /var/named/
[root@centos7 named]# cp -p named.localhost magedu.com.zone
[root@centos7 named]# cp -p named.localhost 192.168.123.zone
[root@centos7 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.$

[root@centos7 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.

[root@centos7 named]# named-checkconf
在6中也可以使用 [root@centos6 ~]# /etc/init.d/named configtest
[root@centos7 named]# named-checkzone magedu.com /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 0
OK
[root@centos7 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

[root@centos7 named]# rndc reload
server reload successful

[root@centos7 named]# systemctl reload named

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

[root@centos6 ~]# 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生成密鑰
[root@centos7 ~]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave
2.讀取密鑰文件獲得加密字符串,然後生成transfer.key
[root@centos7 ~]# vim /etc/transfer.key
key "master-slave" {
algorithm hmac-md5;
secret "CieaJpeOw8zCJq9VDO492g==";
};

並設置權限為440 group為named
3.主DNS配置
[root@centos7 ~]# vim /etc/named.conf
include "/etc/transfer.key";
allow-transfer { key master-slave; };

重啟服務

4.將transfer.key 發往從DNS,並設置權限為440 group為named

5.編輯從DNS的配置
[root@dns10 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: 主從同步

[root@rhel5 ~]# 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端口訪問不到,可能情況是防火墻拒絕、服務未啟動、主機不存在

[root@rhel5 ~]# 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可用,但沒有這個域

[root@rhel5 ~]# 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有這個域,但沒有這個記錄。

[root@rhel5 ~]# 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 完全正常,沒有錯誤。

馬哥教育第四十一至四十三學習總結