一、DHCP服务的简介
DHCP动态主机分配协议,它用于给某个网段上的主机进行动态分配IP地址和相关网络环境(网关和DNS服务信息)的配置工作,ADSL拨号就是应用了我们的DHCP协议。
DHCP的用途:
1.ip地址资源不能满足全部需求的子网。(IPS运行商)
2.ip地址经常变动的网络。(到处出差)
DHCP服务能够提供的配置信息:
1.网络接口的IP地址和子网掩码
2.网络接口IP地址对应的网络地址和广播地址
3.缺省的网关地址
4.DNS服务器地址
DHCP分配IP地址的过程
DHCP端口:
默认监听UDP端口67,68端口回应客户端。DHCPv6 client用于546号端口。
DHCP其他概念:
dhcp客户端,dhcp服务器,dhcp中继代理(路由器),作用域(subnet),超级作用域,地址池,租约,选项类型,保留地址。
二、DHCP服务器的搭建:
安装软件包 yum -y install dhcp-server 记住之前我们安装的像http,vsftp,这些后面加d,这个服务不用,不要记混了。
注意:做这个服务时,一定要选用仅主机模式,不能用桥接,不然的话我们获取的地址将会混乱。
systemctl restart dhcpd 这里重启服务还是dhcpd,发现有报错
systemctl status dhcpd 查看一下它的状态,发现是失败的,这是为什么呢,
/etc/dhcp/有dhcp.conf这是主配置文件,进入发现没有信息。它的信息在/usr/share/doc/dhcp-4.2.5/dhcp.conf.example
将这个cp 到/etc/dhcp/dhcpd.conf,将他覆盖了,但是发现还是失败状态。
所以说这是要我们配置成功后才能启动。
配置:
首先看到的是全局配置,下面有很多像模板一样的,我们最好cp到下面进行更改。
一般都是将DNS和DHCP连起来使用,DHCP最大作用是分配IP地址,但他不仅仅是分IP,还可以加入域什么的。
我们将在第47行进行复制9行,这个模板比较全,复制好了进行修改subnet网段,加上子网掩码,地址池(从哪个IP到哪个IP),下面就是选项了,如果我们没有DNS就不用改下面两行(注释了),如果我们没有配置路由器,和广播地址也可以注释了,下面的就是我们的租约时间,缺省的租约时间和最大租约时间。
我们在配置文件中配置了后,他就会先读我配置的,我们没有配置的就会读全局的。
这样就配置好了,再进行重启服务,是可以成功的。
设置防火墙,firwall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
服务端就配置好了。
我们客户端,将模式改为DHCP模式,重启服务。
使用DHCP之前我们可以cat /etc/resolv.conf 然后重启后看看有什么不同。
/var/lib/dhcpd/dhcpd.leases 这是租约列表
1、安装软件包
yum -y install dhcp-server
2、修改主配置文件
cp -p /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet 172.16.30.0 netmask 255.255.255.0 { ---定义子网和子网掩码
range 172.16.30.50 172.16.30.100; ----定义地址池
#option domain-name-servers ns1.internal.example.org; ---定义DNS服务器
#option domain-name "internal.example.org"; ---定义域
option routers 172.16.30.1; ---定义网关
#option broadcast-address 10.5.5.31; ---定义广播地址
default-lease-time 600; ---默认租约时间
max-lease-time 7200; ---最大租约时间
}
为特定的mac主机定义固定的IP地址
host desktop30 {
hardware ethernet 00:0c:29:0d:1c:a5;
fixed-address 172.16.30.60;
}
3、重启服务并设置下次启动生效
systemctl restart dhcpd
systemctl enable dhcpd
4、设置防火墙
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
客户端配置
1、修改网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens160
BOOTPROTO=dhcp
ONBOOT=yes
把IP、子网掩码、网关、DNS这几行删除
2、重启网卡服务并激活连接
systemctl restart NetworkManager
nmcli connection up ens160