DHCP
DHCP原理
作用:是一种网络协议,用于自动分配IP地址、子网掩码、默认网关、DNS服务器等TCP/IP参数
1.DHCP的四个报文
1.discover报文: 找寻dhcp服务器
2.offer报文: 服务器回复discover报文并且携带网络配置信息(ip地址 网关 子网掩码信息)
3.request报文:客户机回复request报文告知,收到了配置项并且已经使用
4.ack报文:服务器回复ack报文,确定客户机使用分配的ip地址
1.配置DHCP
第一步需要安装dhcp
yum install dhcp -y
安装完成后可以用rpm -qc dhcp命令看到dhcp的配置文件
cat /etc/dhcp/dhcpd.conf
#查看dhcp配置文件
文件中说明了dhcp的配置文件的模版在
/usr/share/doc/dhcp*这个文件夹下
cp /usr/share/doc/dhcp-4.2.5/ /etc/dhcp/dhcp.conf
#把模版拷贝过来
vim /etc/dhcp/dhcpd.conf
配置dhcp
下一步需要重新启动dhcp程序并且配置想要使用dhcp服务的网卡配置文件
systemctl restart dhcpd
#重启dhcp服务
vim /etc/sysconfig/network-scripts/ifcfg-*
#配置网卡
将bootproto改成dhcp
并且把IP地址和网关和子网掩码和DNS注释掉
systemctl restart network
#重启网络
重启网络后用ifconfig命令看到对应网卡已经成功动态获取到ip地址了
2.配置DHCP固定地址
vim /etc/dhcp/dhcpd.conf
#进入dhcp配置文件下host fantasia {hardware ethernet 00:0C:29:69:9B:97;(注意分隔符)#输入需要配置固定地址的网卡MAC地址fixed-address 192.168.133.210;#输入想配置的固定地址
}
配置需要配置固定地址的网卡
配置完成后ifconfig命令可以看到固定地址已经配置成功了
DNS
DNS作用:网址解析为对应IP地址
1.DNS原理
域名的组成:
根域名
一级域名(顶级域)
二级域名
三级域名
例:
www.baidu.com
.代表根域 大家都有 根域所以就省略了
.com 一级域名
.baidu 二级域名
www 主机名
DNS启动过程
2.安装配置bind(内网域名解析)
安装包名:bind
程序名字:named
配置文件:
/etc/named.conf:主配置文件
/etc/named.rfc1912.zones:区域配置文件 你想解析的域名要在这个文件中指明
数据库配置文件 /var/named/* 指明了域名和ip地址的一一对应关系
[root@localhost ~]yum list bind*[root@localhost ~]yum install bind bind-utils -y
#主软件 和 配置包管理软件
[root@localhost ~]systemctl stop firewalld.service
[root@localhost ~]setenforce 0
[root@localhost ~]systemctl start named
#开启服务
[root@localhost ~]netstat -ntap |grep named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 17047/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 17047/named
tcp6 0 0 ::1:53 :::* LISTEN 17047/named
tcp6 0 0 ::1:953 :::* LISTEN 17047/named
[root@localhost ~]vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=127.0.0.1
[root@localhost ~]systemctl restart network[root@localhost ~]rpm -qc bind
#配置文件包
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca #根服务器位置
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback[root@localhost ~]vim /etc/named.conf
#可以修改配置,注释,或者删除这两行
listen-on port 53 { any; };
allow-query { any; };# // listen-on port 53 { 127.0.0.1; };
# // allow-query { localhost; };[root@localhost ~]rndc reload
#重新加载DNS服务
server reload successful[root@localhost named]vim /etc/named.rfc1912.zones
#编写域名
zone "cc.com" {type master;file "cc.com.zone";
};
named-checkconf /etc/named.rfc1912.zones
#检查文件格式
[root@localhost named]cd /var/named/
#切换目录
[root@localhost named]ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]cp named.localhost ./cc.com.zone -p
#保留权限复制
[root@localhost named]ls
data dynamic kgc.com.zone named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]vim kgc.com.zone
#编辑数据库文件,解析记录对应关系
$TTL 1D
@ IN SOA master.kgc.com. admin.kgc.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS master
master A 192.168.91.100
www A 192.168.91.101
www CNAME cdn.kgc.com
cdn A 192.168.91.100
db A 192.168.91.103
IN MX 10 mail.kgc.com.
mail A 192.168.91.10
@ A 192.168.91.100 #不需要 主机名
* A 192.168.91.100 #随便写几个ww#检查启动文件格式
named-checkconf
named-checkzone cc.com /var/named/cc.com.zone[root@localhost named]systemctl restart named
#重启bind系统
[root@localhost named]host www.cc.com
#查看dns服务器是否配置成功
3.DNS服务器主从复制
当主服务器出现问题后,可以用从服务器继续提供DNS服务
实验环境:
主服务器地址:192.168.91.100
从服务器地址:192.168.91.101
###从服务器的配置
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install bind bind-utils.x86_64 -y
#从服务器先安装bind软件
[root@localhost etc]# vim /etc/named.conf
#两段改成any
listen-on port 53 { any; };
allow-query { any; };
[root@localhost etc]# vim /etc/named.rfc1912.zones
#添加从服务器的配置文件
zone "kgc.com" IN {type slave;#类型从file "slaves/kgc.com.zone";#文件地址在/var/named/slaves/ 下masters { 192.168.91.100; };#申明主服务器的地址
};
[root@localhost etc]# ls /var/named/slaves
kgc.com.zone
[root@localhost etc]# systemctl start named
#主服务器配置好后再启动#主服务器配置
[root@localhost etc]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {type master;file "kgc.com.zone";allow-transfer { 192.168.91.103; };#添加从服务器的地址
};
[root@localhost etc]#rndc reload