总结DNS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结DNS相关的知识,希望对你有一定的参考价值。
DNS :只负责名字到IP地址的解析
DNS的搭建(centos7 centos6)tcp 53 udp 53 ss -ntul查看端口
(注意:不能桥接模式 (ip a 查看地址),将dhcpd服务关闭)
hostnamectl set-hostname name 设置主机名(centos7)
hostnamectl name 设置主机名(centos6)
cat /etc/resolv.conf 查看IP指向
1.yum install bind (getent passwd named 查看named的账号信息 )
2.rpm -q --scripts bind 查看包组脚本信息
3. # ll -d /var/named 查看named的账户信息
# rpm -ql bind 查看bind的包组信息
/var/named 存放DNS的数据库信息
/etc/named.conf centos7的DNS配置文件
systemctl stop dhcpd
systemctl disable dhcpd 开机不启动
4.systemctl start named 启动服务(centos7)
5.service named start 启动服务(centos6)
6.#ss -nutl 查看端口是否打开
7.再开一台虚拟机做客户端(client 用于测试)
8.# cat /etc/resolv.conf 查看IP指向(client)
9. 修改客户机的IP指向
cd /etc/sysconfig/network-scripts
10.vim /etc/sysconfig/network-scripts/ifcfg-eth1 修改DNS,修改为要测试的IP
把原有的DNS删除
DNS1=xxx.xxx.xxx.xxx
修改eth0网卡
vim /etc/sysconfig/network-scripts/ifcfg-eth0 如上
加上DNS的IP指向,要指向要测试的IP
DNS1=192.168.xxx.xxx (centos7 ip地址)
11.systemctl restart network 重新启动
12.# cat /etc/resolv.conf 查看IP指向修改是否成功(client)
// /var/named/named.ca 13个根服务器的路径地址
ping www.qq.com 测试
// firefox www.magedu.com ( centos7)虚拟机上直接访问网址
13.vim /etc/named.conf DNS的主配置文件,可进行端口绑定的修改(centos7)或注释掉也行
listen-on port 53 { localhost; }; localhost本机所有IP
allow-query { localhost;192.168.37.0/24; }; 或 allow-query { any; };任何都可以
14.systemctl reload named ss -nutl
15.telnet (centos7 ip ) 53 测试能否链接
16.cat /etc/resolv.conf 查看IP指向(centos7)
vim /etc/sysconfig/network-scripts/ifcfg-eth1
修改DNS1 让IP指向自己
DNS1=172.17.0.xxx (172.17.0.107)
17.systemctl restart network ; ping www.qq.com (centos7) ; links www.qq.com (字符界面浏览器)
// named-checkconf 测试修改配置文件的语法,格式是否正确
dig host nslookup 专业测试DNS的工具 例如: dig www.magedu.com @centos6 ip 地址
// *vim /etc/named.rfc1912.zones 网络应用的官方文档
格式如:zone(区域) "magedu.com"(域) IN{
type master;
file "magedu.com.zone";
};
cd /var/named 模版文件 named.localhost
cp named.localhost magedu.com.zone 复制后注意权限问题 可加 -p 就不用修改权限
// named-checkzone magedu.com /var/named/magedu.com.zone 检查语法
// rndc reload 专门管理DNS的 ,用于重新加载服务
反向的数据库解析 (IP地址到名字) nslookup 查看windowns中IP地址的指向
centos7DNS 服务器
vim /etc/named.conf
zone "37.168.192. in-adde.arpa" IN {
type master;
file "192.168.37.zone";
};
cd /var/named
cp -p named.loacalhost 192.168.37.zone
vim 192.168.37.zone
dns1 rnmae.invalid.(......
....
)
dns1 A 192.168.37.107
107 PTR dns1.magedu.com.
106 PTR websrv.magedu.com.
客户机 dig -x (反向解析)
centos6 从DNS服务器 (最先搭建的centos7 DNS服务器做主服务器)
从服务器数据存放在slaves中
前提 yum install bind
1.vim /etc/named.conf
2.vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type slave;
master { centos7 ip 地址 ;}; 主服务器的IP,当谁的从服务器
file "slave/magedu.com.zone.slave";
};
3. rndc reload
4.service named restart
5.ls /var/named/slaves 查看文件是否复制过来
magedu.com.zone.slave
客户机 查询centos7 centos6 都可以 centos6为备用DNS服务器
有几个服务器就要有几个DNS服务,做到实时同步
// dig -t axfr magedu.com @192.168.37.107 通过IP将magedu.com域上的所有数据抓获
做个策略可防止过程如下:
centos7
vim /etc/named.conf
allow-transfer { 192.168.37.106;};
centos6
vim /etc/named.conf
allow-transfer { none;};
// iptables -A INPUT -P udp -dport 53 -j REJECT 拒绝udp 53 端口
用户查询走udp 53的端口 所以进行操作时一定要打开udp 53 的端口,还负责主从复制
tcp端口用来传输同步的信息和数据
子域的创建
1.centos7
cd /var/nmaed
vim magedu.com.zone
www.henan A 2.2.2.2
mail.henan A 3.3.3.3
如上适合建立特别小的环境
2.rndc reload
当成独立域:
1.vim /etc/named.rfc1912.zones
zone "henan.magedu.com" {
type master;
file "henan.magedu.com.zone";
};
2. cp -p magedu.com.zone henan.magedu.com.zone
vim henan.magedu.com.zone
$TTL 1D
@IN SOA dns1 mail.magedu.com. (
2017100904; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
@NSdns1
dns1 A 192.168.37.107
www CNAME websrv
websrv A 5.5.5.5
3.rndc reload
独立的服务器做子域
centos7做magedu.com的服务器(父域) centos6做子域的服务器(委派给)
过程如下:
centos7
1. cd /var/named
2. vim magedu.com.zone
$TTL 1D
@IN SOA dns1 mail.magedu.com. (
2017100904; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
@NSdns1
henan NS dns3
dns1 A 192.168.37.107(centos7 IP地址)
dns3 A 192.168.37.106 (委派)
www CNAME websrv
websrv A 5.5.5.5
3.rndc reload
centos6
1. vim /etc/named.rfc1912.zones
zone "henan.magedu.com" IN {
type master;
file "henan.magedu.com.zone";
};
2.cd /var/named
cp named.localhost henan.magedu.com.zone -p
3. chmod 660 henan.magedu.com.zone 修改权限
4.vim magedu.com.zone
$TTL 1D
@IN SOA dns1 mail.magedu.com. (
2017100904; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
NSdns1
henan NS dns3
dns1 A 192.168.37.106(centos6 IP地址)
www CNAME websrv
websrv A 6.6.6.6
5.rndc reload
最后在客户机上检测
dig www.henan.magedu.com @192.168.37.107
//bind-chroot 切根搬家:/var/named/chroot
yum install bind-chroot
systemctl start named-chroot
ll /var/namde/chroot/var/named
根区域文件 named.ca
nsupdate更新
chmod 770 /var/named
setsebool -p named_write_master_zones on
/usr/bin/nsupdate
>update add ftp.henan.magedu.com 86400 IN 2.2.2.2 增加一条记录
>update delete websrv.henan.magedu.com A 删除
// /var/named/magedu.com.zone.jnl 修改后生成临时文件的
/var/named/magedu.com.zone 没有改变
DNS域名的解析与转发
centos6
1.vim /etc/named.rfc1912.zones
zone "qq.com" IN {
type master;
file "qq.com.zone";
};
2.vim qq.com.zone
$TTL 1D
@IN SOA dns1 mail (
2017100904; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
NS dns1
dns1 A 192.168.37.106(centos6 IP地址)
www CNAME websrv
websrv A 6.6.6.6
service named restart
// namde-checkzone qq.com qq.com.zone
dig www.qq.com @127.0.01 进行测试
centos7
转发到 centos6
1.vim /etc/named.conf
forword only; 或 forword first;
forwarders { 192.168.37.106;(centos6 ip 地址)};
allow-transfer { 192.168.37.106;};
2.named-checkconf 检查语法是否正确
3.rndc reload
客户机检测(192.168.37.101)
dig www.qq.com @192.168.37.107 centos7如果不行他会直接转发到centoa6上访问
rndc querylog 开启日志 tail -f /var/log/messages跟踪日志
与转发域相关的两个设置
vim /etc/named.conf
dnssec-enable no;
dnssec-validation no;
实现DNS互联网构架
需要七台服务器
网卡要有一个桥接的 Redhat5(做客户端)
centos7.3-A (第一个DNS服务器172.17.0.101 ;192.168.37.101 )
根 (172.17.66.166)
com(172.17.254.176)
magedu (172.17.253.55从服务器)
centos7.3 (做magedu.com 域DNS服务器 192.168.37.107 主服务器)
web服务(centos6 192.168.37.106)
1.cd /var/www/html 搭建web网站(centos6)
2.vim index.html
<h1> www.magedu.com</h1>
// service http start
3.服务器
vim magedu.com.zone
$TTL 1D
@IN SOA dns1 mail.magedu.com. (
2017100904; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
@ NS dns1
@ NS dns2
dns1 A 192.168.37.107
dns2 A 172.17.253.55 从服务器
www CNAME websrv
websrv A 172.17.0.106
3. vim /etc/named.conf
allow-transfer { 172.17.253.55; };
4.rndc reload
5.dig www.magedu.com @172.17.0.107 检测是否正确
6.cat /etc/resolv.conf 看IP指向是否指向自己
从服务器的搭建
magedudns slave
1.vim /etc/named.conf
allow-transfer { none; };
2.vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type slave;
master { 172.17.0.107; };
file "slave/magedu.com.zone";
};
3.systemctl start named
4.rndc reload
dig www.magedu.com @172.17.253.55 自己先进行检测
com的创建
1.service named restart
2.vim /etc/named.conf
3.vim /etc/named.rfc1912.zones
zone "com" IN {
type master;
file "com.zone";
};
4.cd /var/named
5.vim com .zone
$TTL 1D
@IN SOA dns1 admin (
2017100904; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
NS dns1
magedu NS dns2
magedu NS dns3
dns1 A 172.17.254.176
dns2 A 172.17.0.107(委派)
dns3 A 172.17.253.55(委派)
www CNAME websrv
websrv A 172.17.0.106
6.rndc reload
7.dig www.magedu.com @172.17.254.176 先自己检测一下能否访问
根的搭建
1.vim /etc/named.conf
zone "." IN {
type master;
file "root.zone";
};
2.cd /var/named
3.vim root.zone
$TTL 1D
@IN SOA dns1 mail.magedu.com. (
2017100904; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
@ NS dns1
com NS dns2
dns1 A 172.17.66.166
dns2 A 172.17.254.176
4.rndc reload
5 dig www.magedu.com @172.17.66.166 自己先检测一下
6. cd /var/named
7.vim named.ca
都删除只留第一条和最后一条
a.root-service.net. 36000000 IN A 172.17.66.166 指向自己根的IP
8.scp named.ca 172.17.254.176(com ip地址):/var/named
// 注意关闭防火墙
101服务器的搭建
1.vin/etc/named.conf
dnssec-enable no;
dnssec-validation no;
2.vim /var/named/named.ca
都删除只留第一条和最后一条
a.root-service.net. 36000000 IN A 172.17.66.166 指向自己根的IP
3.systemctl restart named
4.dig www.magedu.com @127.0.0.1
客户端
1.vim /etc/resolv.conf
; generated by /sbin/dhclient-script
search magedu.com
nameserver 172.17.0.101
2.ping www.magedu.com
3.firefox www.magedu.com
智能DNS:
1.先建立数据库
2.创建ACL
3.创建view关联数据库
cd /var/named
cat magedu.com.zone DNS数n据库文件
bind有四个内置ACL:none :没有一个主机
any :任意主机
localhost:本机
localnet:本机的IP同掩码 运算后得到的网络地址
注意:只能先定义,后使用;因此一般定义在配置文件中,处于options的前面
实现步骤如下:
centos7
1.vim magedu.com.zone.henan
$TTL 1D
@ IN SOA dns1 mail.magedu.com. (
2017101001 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns1
dns1 A 192.168.223.177
www A 192.168.192.129
websrv A 192.168.223.166
定义acl
2. vim /etc/named.conf
acl henannet{
192.168.223.0/24;
192.168.224.0/24;
};
3.创建view
vim /etc/named.confview henanview {
match-clients { henannet;};
zone "magedu.com"{
type master;
file "magedu.com.zone.henan";
};
zone "." IN {
type hint;
file "named.ca";
};
};
或者
view henanview {
math-clients { henannet;};
include "/etc/named.rfc1912.zones";
zone "." IN {
type hint;
file "named.ca";
};
};
4.vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type master;
file "magedu.com.zone.henan";
};
5.systemctl status named 查看服务状态
6.systemctl start named 开启服务
7.centos6 dig www.magedu.com @192.168.223.166 进行自检
CDN:content Delivery Network 服务
编译安装bind
下载最新版本 bind-9.11.....
1.rz 导入原码包
2.useradd -r -d /var/named -m -s /sbin/nologin named创建账号
3.ll /var/named -d 查看账户的信息
4.tar xvf bind-9.11.2.tar.gz 解压
5.cd /bin cd bind-9.11.2
6. cat README ./configure --help可查看文件
7.yum groupinstall "development tools" 安装包组
8../configure --prefix=/app/bind // --without-openssl 编译脚本
9.make -j 4 && make install 编译
10.ls /app/bind 查看目录是否生成
11.cd /app/bind/sbin
vi /etc/profile.d/bind.sh
PATH=/app/bind/bin:/app/bind/sbin/$PATH;
12. ./etc/profile.d/bind.sh
13. env 查看
14.hash -r 清缓存
15. vim /app/bind/etc/named.conf 编写named的配置文件
options {
directory "/var/named/";
};
zone "test.com" {
type master;
file "test.com.zone";
};
zone "." {
type hint;
file "named.ca";
};
16. cd /var/named 进入目录
17. dig > named.ca 创建根文件
18.vim test.com.zone
$TTL 1D
@ IN SOA dnsserver admin.test.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dnsserver
dnsserver A 192.168.223.166
www A 6.6.6.6
17. cd /app/bind/sbin
18. named-checkconf named-checkzone test.com /var/named/test.com.zone 检查语法
19. named -u named -g -d 3 运行named,前端执行
20. ss -nutl 查看端口
21. 用另一台虚拟机进行测试 dig www.test.com @192.168.223.166
// named -u named 后台执行
22.开启rndc管理工具
先准备密钥工具
/app/bing/sbin
23. rndc-confgen -r /dev/urandom > /app/bind/etc/rndc.conf
24. tail -n 12 /app/bind/etc/rndc.conf >> /app/bind/etc/named.conf
25. vim /app/bind/etc/named.conf
将对应的named.conf的文本内容将#删除
26 killall named named -u named 开启
27. rndc status
dig www.test.com @192.168.223.166
性能测试
1.cd bind-9.11.2 cd contrib cd queryperf
2. ./configure
3.make
4.cp querypery /app/bind/bin cd
5.vim dns.txt 准备dnsd的测试文件
www.test.com A
test.com NS
test.com SOA
a.test.com A
:1,$y 复制并粘贴以上所有内容
6.querypery -d dns.txt 测试
7.scp /app/bind/bin/queryperf dns.txt 192.168.223.166:/root/bin
centos6
1.mkidr bin cd bin
2.querypery -d dns.txt -s 192.168.223.167
关系型数据库
面向对象数据库
SQL 结构化查询语言
DBMS专门的数据库管理系统,它实现数据库系统的各种功能,是
数据库的核心,提供访问界面,提供接口
DBA:数据库的管理员
mariadb
事物:
A:原子性 事物是一个整体要么做完,要么不做 rollback撤销
C:一致性 事物的同步性
I:隔离性 事物加以锁定
D:持久性 增加一条记录如果保存,数据更改将是永久性的
数据的三要素:数据的结构
数据的操作
数据的约束条件
/etc/gdm/custom.conf 设置虚拟机自动登录的配置文件
安装MYSQL:
yum install mariadb-server
systemctl start mariadb 对应的端口号3306
cd /var/lib/mysql
service mysqld start 开启服务
mysql
> select user();查看当前用户登录的用户名
> show databases;查看数据列表
> drop database test; 删除操作
> use mysql
> show tables 看表
> desc user;
> select user,host,passwd from user;
> set passwd for [email protected]‘centos7.localdomain‘=passwd(‘magedu‘);修改口令
> quit
安全脚本:
mysql -uroot -h192.168.37.106 用mysql进行连接
mysql -uroot -hlocalhost
/usr/bin/mysql_secure_insatllation跑安全脚本,进行初始化
mysql -uroot -p 输入口令
二进制的数据安装:
1.下载原码包
mariadb-10.2.8
2.rz导入
3.tar xvf mariadb-10.2.8-linux......gz -C /usr/local 解压
4.cd /usr/local
5.ln 、、、-哦靠·-s mariadb-10.2.... /mysql 创建软连接
6.ls bin 查看bin下的文件
7.useradd -d /app/mysqldb -r -m -s /sbin/nologin/mysql 创建账号
8.ll /app/mysqldb/ -d
9.ls support-file
10.mkdir /etc/mysql
11.cp /support-files/my-huge.cnf /etc/mysql/my.cnf
12.vim /etc/mysql/my.cnf 准备mysql的配置文件
[mysql]
datadir=/app/mysqldb
innodb_file_per_table=on
skip-name-resolve=on
13.scripts/mysql-install-db --user=mysql -datadir=/app/mariadb
14.cp support-files/mysql.server /etc/initid/mysqld
15.chkconfig --list mysqld
16.chkconfig --add mysqld
17.mkdir /var/log/mariadb
18.touch /var/log/mariadb/mariadb.log
19.chown mysql /var/log/mariadb/mariadb.log
20.chown mysql /var/log/mariadb
21.service mysqld start
22.vi /etc/profile.d/mysql.sh
PATH=/user/local/mysql/bin:$PATH
23.mysql-secure-installation 跑安全脚本 ,进行初始化
24.开启另一个虚拟机进行检测跑 mysql 服务
centos6 :
mysql
>show databases;
>select user,host,passwd from mysql.user;
>quit
以上是关于总结DNS的主要内容,如果未能解决你的问题,请参考以下文章