DHCP
动态主机配置协议是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码
服务端67端口,客户端68端口
安装配置
yum -y install dhcp
已加载插件:fastestmirror, langpacks
复制配置文件
mv /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
地址池随机分配,改写配置文件,直接新增加subnet即可
subnet 10.5.5.0 netmask 255.255.255.224 { #第一个ip为网段,第二个为子网掩码
range 10.5.5.26 10.5.5.30; #地址池
option routers 10.5.5.1; #为客户端设定默认网关
option subnet-mask 255.255.255.0; #设置子网掩码
}
Mac地址分配固定IP地址,改写配置文件,直接新增加subnet即可
host aa {
hardware ethernet mac地址 #客户端的mac地址
fixed-address 分配的固定ip #要分配的固定ip地址
}
重启服务,关闭防火墙
客户端获取IP地址
dhclient -d
有可能会出现一下报错,强制终止后,ip a查看ip正确即可
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
问题
问题:配置文件时从案例文件复制出来的,而原有的案例存在了分配ip地址的内容且没有加#注释,自己再去添加分配ip的内容不会冲突吗
解释:配置ip地址时会查验当前的ip地址段,只会分配和当前地址段相合适的地址,所以存在重复对的多个分配ip地址的内容只要地址池不冲突
也能正常分配ip地址
问题:dhcp是分配ip地址的服务,那么我在dhcp中修改子网掩码,是不是就可以划分子网了
解释:可以,比如修改子网掩码最后一位为128,那么将会自动划分为两个子网
问题:当dhcp配置文件随机分配和固定分配IP地址内容同时存在时,使用哪一个
解释:由于固定分配内容直接指定mac地址,所以优先使用固定分配
注意:由于虚拟机的网络设置自动获取本机dhcp和不是同在net网络时可能无法获取到IP地址
配置文件解析
option domain-name "example.org"; #为客户端指明DNS域名
option domain-name-servers ns1.example.org, ns2.example.org; #为客户端指明DNS服务器IP地址或者域名
default-lease-time 600; #全局IP租约时间,单位为秒
max-lease-time 7200; #全局最长租赁时间,单位为秒
log-facility local7;
#以下为分地址的内容,可以有多个subnet
subnet 10.5.5.0 netmask 255.255.255.224 { #第一个ip为网段,第二个为子网掩码
range 10.5.5.26 10.5.5.30; #地址池
option domain-name-servers ns1.internal.example.org; #为客户端指明DNS服务器IP地址
option domain-name "internal.example.org"; #为客户端指明DNS域名,一般不用填写
option routers 10.5.5.1; #为客户端设定默认网关
option broadcast-address 10.5.5.31; #为客户端设定广播地址
option subnet-mask 255.255.255.0; #设置子网掩码
default-lease-time 600; #IP租约时间,单位为秒
max-lease-time 7200; #最长租赁时间,单位为秒
}
#以下为特定的网卡,配置ip
host passacaglia { #passacaglia为自命名
hardware ethernet 0:0:c0:5d:bd:95; #指定网卡接口类型和MAC地址
filename "vmunix.passacaglia"; #分配给客户端一个固定的地址
server-name "toccata.fugue.com"; #分配的域名
}
host fantasia {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address fantasia.fugue.com;
}
class "foo" {
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
#分配多网段使用
shared-network 224-29 {
subnet 10.17.224.0 netmask 255.255.255.0 {
option routers rtr-224.example.org;
}
subnet 10.0.29.0 netmask 255.255.255.0 {
option routers rtr-29.example.org;
}
pool {
allow members of "foo";
range 10.17.224.10 10.17.224.250;
}
pool {
deny members of "foo";
range 10.0.29.10 10.0.29.230;
}
}
DNS
dns服务主要用于解析完全限定域名和IP地址之间的映射关系
关键词
完全限定域名FQDN:‘mail.google.com
域名:wikipedia.org
主机名:linux1
解析方式
正向解析:即将FQDN转化为IP
反向解析:即将IP转化为FQDN
解析流程
-
查找/etc/hosts本地DNS域名解析文件进行解析,完成解析
-
查找网络运营商的local DNS (本地DNS)当域名解析成功时会缓存域名,也可以自己指定dns ,配置文件/etc/resolv.conf ,然后本地dns服务器不断向上查询,最后会反馈给本地dns,然后本地dns反馈客户端,完成解析
-
查找根域dns(根服务器)的顶级域com,org,net,edu,cn等(三级顶域),反馈给网络运营商缓存,反馈到客户机,完成解析
-
客户机访问对应的ip
-
例如查找www.baidu.com:本地host,本地dns,根域DNS服务器-com服务器-baidu.com服务器查询
关于www
www.只不过是习惯存在,不一定是www的,比如百度的的另一个网址text.baidu.com,注册域名的时候是可以使用其他的前缀的
只不过www是万维网的英文的首字母,所以使用www.
DNS服务器查询的类型
(1)递归:客户端仅发出一次请求,让DNS服务器去查询返回结果;
(2)迭代:要发出多次请求去分别查询不同的DNS服务器;
监听端口
DNS的监听端口:tcp的53号端口,udp的53号端口
解析原理
查看查询返回路径顺序Q1-A1 Q2-A2 Q3-A3
DNS配置文件
组配置文件 /etc/named.conf
区域配置文件 /etc/named.rfc1912.zones
正向和反向解析文件目录 /var/named
DNS服务器类型
(1)主DNS服务器:接受客户端的请求 进行响应 保存IP地址和域名
(2)辅助(从)DNS服务器:接受客户端的请求 进行响应 指定主dns的ip
(3)缓存DNS服务器:接受客户端的请求 进行响应 指定主dns的ip
主DNS实验
服务端安装bind服务
更改配置文件
vim /etc/named.conf #主配置文件
listen-on port 53 { 127.0.0.1; }; #13行当前监听的端口和ip地址 ip地址可以换成any(任何一个) 使用any以后如果ip地址更换那么服务就会自动更换对应的IP地址不需要重新配置文件了
allow-query { any; }; #21行允许查询的的范围 改成any所有
#include "/etc/named.root.key"; #最后行,注释掉,原意加密的的dns配置文件 注释后不使用非加密文件了
区域配置文件
vim /etc/named.rfc1912.zones #配置能够解析的域名
43 zone "aaa.com" IN { #正向解析的域名
44 type master; #dns类型
45 file "aaa.com.zone"; #正向解析数据文件的名称
46 };
47 zone "2.168.192.in-addr.arpa" IN { #反向解析的域名
48 type master; #dns的类型
49 file "192.168.2.arpa"; #反向解析数据文件的名称
50 };
复制正向和反向的数据文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data named.ca named.localhost slaves
dynamic named.empty named.loopback
[root@localhost named]# ls -l named.localhost #查看文件的属性
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
[root@localhost named]# cp -p named.localhost aaa.com.zone #不能改变复制文件的属组所以复制时要加-p
[root@localhost named]# cp -p named.localhost 192.168.2.arpa #不能改变复制文件的属组所以复制时要加-p
[root@localhost named]# ls
192.168.2.arpa
aaa.com.zone
编写正向解析的数据文件
[root@localhost named]# vim aaa.com.zone
aaa.com
www A 192.168.2.60
qqq CNAME www
www.aaa.com 192.168.2.60
qqq.aaa.com 192.168.2.60
baidu.com
www.baidu.com
aaa.baidu.com
$TTL 1D
@ IN SOA aaa.com. root.aaa.com. (
2021101101 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
www A 192.168.2.60
qqq CNAME www
编写反向解析数据文件
[root@localhost named]# vim 192.168.2.arpa
$TTL 1D
@ IN SOA aaa.com. root.aaa.com. (
2021101101 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
60 PTR www.aaa.com.
文件有效性检查,检查的格式:命令+检查的数据文件/命令+域名+检查的数据文件
[root@localhost named]# named-checkconf /etc/named.conf
[root@localhost named]# named-checkconf /etc/named.rfc1912.zones
[root@localhost named]# named-checkzone aaa.com aaa.com.zone
zone aaa.com/IN: loaded serial 2021101101
OK
[root@localhost named]# named-checkzone aaa.com 192.168.2.arpa
重启服务,检查端口,防火墙放行
[root@localhost named]# systemctl restart named
[root@localhost named]# netstat -anput | grep named
tcp 0 0 192.168.2.50:53 0.0.0.0:* LISTEN 3741/named
[root@localhost named]# firewall-cmd --add-port=53/tcp --permanent
success
[root@localhost named]# firewall-cmd --add-port=53/udp --permanent
success
[root@localhost named]# firewall-cmd --reload
success
client配置dns地址
[root@localhost ~]# vim /etc/resolv.conf #指定自己的dns地址
nameserver 192.168.2.50
客户端验证域名和IP地址解析
[root@localhost ~]# nslookup www.aaa.com
Server: 192.168.2.50
Address: 192.168.2.50#53
Name: www.aaa.com
Address: 192.168.2.60
[root@localhost ~]# nslookup 192.168.2.60
Server: 192.168.2.50
Address: 192.168.2.50#53
60.2.168.192.in-addr.arpa name = www.aaa.com.
[root@localhost ~]# nslookup qqq.aaa.com
Server: 192.168.2.50
Address: 192.168.2.50#53
qqq.aaa.com canonical name = www.aaa.com.
Name: www.aaa.com
Address: 192.168.2.60
从DNS实验
从DNS
从DNS作用:
当主DNS的服务器接受请求压力大时可以分流至从DNS服务器
从DNS服务前提:
同步主DNS的数据
主DNS必须先搭建完成
主DNS能够允许从DNS复制
IP设定:
主DNS5.2
从DNS5.3
客户端5.4
域名地址5.5
环境:
\1. 主DNS虚拟端IP通讯好、主DNS搭建完成、客户端测试好
\2. 从DNS虚拟端IP通讯好、光盘自动挂载、yum本地仓库配置完成、已安装bind
\3. 客户端配置IP通讯好,本地DNS地址设置主DNS IP地址好
操作:
主DNS服务端配置:
\1. 区域配置文件 /etc/named.rfc1912.zones
编辑区域配置文件 vim /etc/named.rfc1912.zones
^allow-transfer { 192.168.5.3; } 允许从DNS复制数据
allow-update { none; } 不让其自动更新
\2. systemctl restart named 重启DNS服务
从服务端配置:
\1. 主配置文件 /etc/named.conf
编辑主配置文件 vim /etc/named.conf
^listen-on port 53 { any; }; 监听(接受)所有ip的的请求
allow-query { any; }; 允许所有ip的的查询
^“#”注释,使其不发生效力
\2. 区域配置文件 /etc/named.rfc1912.zones
编辑区域配置文件 vim /etc/named.rfc1912.zones
^把主端区域配置文件的这一段内容复制到从端末尾进行修改
^改后
type slave 类型改为从动
file “slaves/192.168.5.arpa” slaves 数据文件存放的目录,因为从端同步主端的数据文件会放在/var/named/slaves这个目录,从端同步这个数据文件,不用重新编写
masters { 192.168.5.2; }; “masters”主的类型 IP地址要改成主端的地址
\3. 修改客户端的本机DNS地址
路径 /etc/resolv.conf
编辑 vim /etc/resolv.conf
修改为 nameserver 192.168.5.2 把DNS地址指向主端
\4. 放行防火墙
^
firewall-cmd --add-port=53/tcp --permanent 53端口tcp协议放行
firewall-cmd --add-port=53/udp --permanent 53端口udp协议放行
firewall-cmd --reload 重启防火墙
\5. 重启服务
systemctl restart named
客户端验证
\1. 修改客户端的本机DNS地址
路径 /etc/resolv.conf
编辑 vim /etc/resolv.conf
修改为 nameserver 192.168.5.3 把DNS指向从端
\2. 验证
nslookup www.zhongguo.com
nslookup 192.168.5.5
nslookup mmm.zhongguo.com
缓存DNS实验
缓存DNS
作用:DNS缓存服务器即是存在DNS信息,它可以将收到的DNS信息存储下来,提高用户的访问效率,并将其提供给客户端进行查询,直到这些信息过期
缓存DNS服务前提:
必须缓存一个实际存在的DNS
缓存比如114.114.114.114的dns
缓存dns服务端需要联网,安装bind
客户端不需要联网
IP设定:
缓存地址114.114.114.144
缓存DNS服务端IP地址5.4
客户端地址IP地址为5.3
环境:
缓存服务端IP通讯好,光盘自动挂载、yum本地仓库配置完成、已安装bind,联网好
客户端IP通讯好,光盘自动挂载、yum本地仓库配置完成、已安装bind
操作:
\1. 配置主配置文件
路径 /etc/named.conf
编辑 vim /etc/named.conf
^listen-on port 53 { any; }; 监听(接受)所有ip的的请求
allow-query { any; }; 允许所有ip的的查询
forwarders { 114.114.114.114; }; 指定缓存的dns
dnssec-enable no; 不进行检测
^“#”注释,使其不发生效力
\2. 重启服务named
systemctl restart named
\3. 放行防火墙
^
firewall-cmd --add-port=53/tcp --permanent 53端口tcp协议放行
firewall-cmd --add-port=53/udp --permanent 53端口udp协议放行
firewall-cmd --reload 重启防火墙
\4. 重启服务named
systemctl restart named
客户端验证:
\1. 指定客户端的DNS地址为缓存服务端IP地址
配置本地DNS地址文件 /etc/resolv.conf
编辑配置文件 vim /etc/resolv.conf
配置内容 nameserver 192.168.5.4(缓存DNS的地址)
\2. 验证
ping www.baidu.com
^注意:必须缓存端事先缓存过相应地址,客户端才可通讯成功
NFS
通过网络,让不同的机器、不同的操作系统可以共享彼此的文件,可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区
执行
服务端
安装查询程序
yum -y install rpc-bind nfs
rpm-qa | grep nfs
rpm-qa | grep rpcbind
新建共享目录
mkdir /shere
编辑配置文件
vim /etc/exports
/shere 192.168.5.8 (rw)
配置文件其他写法,*代表所有主机,这里面的IP地址是客户端的IP地址
/shere *(rw) /shere *(rw)
/shere 网段(rw) /shere 192.168.5.0(rw)
/shere ip地址(rw) /shere 192.168.5.8(rw)
重启服务
systemctl restart nfs
systemctl restart rpcbind
放行防火墙
firewall-cmd --add-service=nfs --permanent #放行nfs
firewall-cmd --add-service=rpc-bind --permanent #放行rpcbind
firewall-cmd --add-service=mountd --permanent #放行mountd
firewall-cmd --reload
客户端
验证目标ip的共享目录是否通畅
showmount -e 192.168.5.150
Export list for 192.168.5.150:
/shere 192.168.5.8
共享目录挂载到本机
mkdir /150shere
mount -t nfs 192.168.5.150:/shere /150shere #-t指定文件类型 nfs文件系统类型
服务端和客户端创建文件验证在另一端是否可以看到
mkdir /shere/server_dir #服务端创建了一个目录
ls -l /150shere #客户端查询结果
总用量 0
drwxr-xr-x. 2 root root 6 6月 26 16:01 server_dir
永久挂载格式
192.168.5.1:/aa /bb nfs befaults 0 0
mount -a #重新加载
#放行mountd
firewall-cmd --reload
客户端
验证目标ip的共享目录是否通畅
showmount -e 192.168.5.150
Export list for 192.168.5.150:
/shere 192.168.5.8
共享目录挂载到本机
mkdir /150shere
mount -t nfs 192.168.5.150:/shere /150shere #-t指定文件类型 nfs文件系统类型
服务端和客户端创建文件验证在另一端是否可以看到
mkdir /shere/server_dir #服务端创建了一个目录
ls -l /150shere #客户端查询结果
总用量 0
drwxr-xr-x. 2 root root 6 6月 26 16:01 server_dir
永久挂载格式
192.168.5.1:/aa /bb nfs befaults 0 0
mount -a #重新加载