Centos 搭建dhcp服务器
dhcp是动态主机配置协议,使用udp协议,主要使用udp67和udp 68号端口
1.client端会发送dhcp discover广播包
2.dhcp服务器会回应dhcp offer广播包
3.client端会发送dhcp request广播包
4.dhcp服务器发送dhcp ack广播包
[root@mini ~]# rpm -qa dhcp
[root@mini ~]# cat /etc/centos-release
CentOS release 6.9 (Final)
[root@mini ~]# uname -r
2.6.32-696.el6.i686
[root@mini ~]# uname -m
i686
[root@mini ~]# yum install -y dhcp
[root@mini ~]# rpm -qa dhcp
dhcp-4.1.1-53.P1.el6.centos.1.i686
[root@mini ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/portreserve/dhcpd
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcpd6
/etc/sysconfig/dhcrelay
/etc/sysconfig/dhcrelay6
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@mini ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see \'man 5 dhcpd.conf\'
#
查询dhcp sample文件(dhcpd.conf.sample文件为dhcp配置文件模板)
# rpm -ql dhcp
配置完成后的文件
[root@mini ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see \'man 5 dhcpd.conf\'
#
# A slightly different configuration for an internal subnet.
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.16.1.10 172.16.1.30;
option domain-name-servers mini.localdomain;
option domain-name \"mini.localdomain\";
option routers 172.16.1.1;
option broadcast-address 172.16.1.1;
default-lease-time 600;
max-lease-time 7200;
}
查看配置是否正确
[root@mini ~]# /etc/init.d/dhcpd configtest
Syntax: OK
DHCP启动失败,并查询到如下报错信息(/var/log/messages)
Nov 6 06:37:24 mini dhcpd: No subnet declaration for eth0 (192.168.28.139).
Nov 6 06:37:24 mini dhcpd: ** Ignoring requests on eth0. If this is not what
Nov 6 06:37:24 mini dhcpd: you want, please write a subnet declaration
Nov 6 06:37:24 mini dhcpd: in your dhcpd.conf file for the network segment
Nov 6 06:37:24 mini dhcpd: to which interface eth0 is attached. **
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd: Not configured to listen on any interfaces!
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd: This version of ISC DHCP is based on the release available
Nov 6 06:37:24 mini dhcpd: on . Features have been added and other changes
Nov 6 06:37:24 mini dhcpd: have been made to the base software release in order to make
Nov 6 06:37:24 mini dhcpd: it work better with this distribution.
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd: Please report for this software via the CentOS Bugs Database:
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd: exiting.
解决办法:
这是因为DHCP程序发现没有“Not configured to listen on any interfaces”,只需要配置相应的IP到目标网卡中便可以解决这个问题。
[root@mini ~]# ifconfig eth1 172.16.1.1/24
[root@mini ~]# /etc/init.d/dhcpd start
Nov 6 06:43:11 mini dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1
Nov 6 06:43:11 mini dhcpd: Copyright 2004-2010 Internet Systems Consortium.
Nov 6 06:43:11 mini dhcpd: All rights reserved.
Nov 6 06:43:11 mini dhcpd: For info, please visit
Nov 6 06:43:11 mini dhcpd: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Nov 6 06:43:11 mini dhcpd: Wrote 0 leases to leases file.
Nov 6 06:43:11 mini dhcpd: Listening on LPF/eth1/00:0c:29:c5:2b:7e/172.16.1.0/24
Nov 6 06:43:11 mini dhcpd: Sending on LPF/eth1/00:0c:29:c5:2b:7e/172.16.1.0/24
Nov 6 06:43:11 mini dhcpd:
Nov 6 06:43:11 mini dhcpd: No subnet declaration for eth0 (192.168.28.139).
Nov 6 06:43:11 mini dhcpd: ** Ignoring requests on eth0. If this is not what
Nov 6 06:43:11 mini dhcpd: you want, please write a subnet declaration
Nov 6 06:43:11 mini dhcpd: in your dhcpd.conf file for the network segment
Nov 6 06:43:11 mini dhcpd: to which interface eth0 is attached. **
Nov 6 06:43:11 mini dhcpd:
Nov 6 06:43:11 mini dhcpd: Sending on Socket/fallback/fallback-net
[root@mini ~]# cat /var/lib/dhcpd/dhcpd.leases
注意:如果Linux开启了防火墙,那么需要对UDP 67和UDP 68放行。或者直接将放火墙关闭
Linux(centos7)之DHCP部署
centos7部署DHCP服务
yum -y install dhcp //安装DHCP服务
vim /etc/dhcp/dhcpd.conf //配置文件,里面什么都没有,告诉我们在/usr/share/doc/dhcp*/dhcpd.conf.example有个配置模板
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf //将模板cp过来
vim /etc/dhcp/dhcpd.conf //编辑DHCP配置文件
subnet 192.168.130.0 netmask 255.255.255.0 { //声明网段和子网掩码
range 192.168.130.10 192.168.130.20; //设置分配DHCP地址的地址池,根据实际
option domain-name-servers 202.96.128.86; //指定DNS服务器地址
option domain-name \"internal.example.org\"; //搜索域,根据情况设置,这里选择注释#
option routers 192.168.130.2; //设置客户机的默认网关地址
option broadcast-address 192.168.130.255; //广播地址
default-lease-time 300; //默认租约时间
max-lease-time 7200; //最大租约时间
ddns-update-style none; //启用或禁用全局动态dns更新
}
vim /etc/sysconfig/network-scripts/ifcfg-ens33 //修改网卡配置的如下几项
BOOTPROTO=static
IPADDR=192.168.130.5
NETMASK=255.255.255.0
GATEWAY=192.168.130.2
DNS1=202.96.128.86
ONBOOT=yes
ifup ens33 //启动网卡
systemctl start dhcpd //启动服务
systemctl enable dhcpd //下次重启启动DHCP服务
systemctl status dhcpd //查看DHCP的状态
netstat -tunlp | grep dhcpd //查看DHCP端口
客户端
dhclient -d ens33 //重新获取DHCP地址
dhclient -r ens33 //释放获取的DHCP地址
ifconfig //查看网卡信息 | ip a
DHCP服务端
less /var/lib/dhcpd/dhcpd.leases //查看DHCP租约信息
centos7配置dhcp服务器的广播地址
广播地址(Broadcast Address)是专门用于同时向网络中(通常指同一子网)所有工作站进行发送的一个地址。在使用TCP/IP 协议的网络中,主机标识段host ID(简称主机 ID) 为全 1 的 IP 地址为广播地址,广播的分组传送给同一个子网的所有计算机。例如,对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为 2 进制的 11111111 ),当发出一个目的地址为10.1.1.255 的数据包时,它将被分发给该网段上的所有计算机。广播地址应用于网络内的所有主机。
在这里插入图片描述
02. 广播地址分类
1) 受限广播
路由器从来不会转发受限广播的数据包,但同一个子网的所有主机都会接收到受限广播的数据包。
IP 地址的网络字段和主机字段全为 1 就是受限广播地址255.255.255.255。
2) 直接广播(也叫定向广播)
直接广播可以被路由转发,发送到目标网络的所有主机,如:ip地址为 192.168.2.1的主机也可以发送广播到 192.168.1.0 这个网络。当然不是所有的路由器,通常路由器是默认阻止直接广播的(可以设置不阻止)。
IP 地址的网络字段定义这个网络,主机字段通常全为 1,如192.168.10.0/24 的直接广播(定向广播)地址为:192.168.10.255。
03. 四种IP广播地址
受限的广播地址
受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据包的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。
指向网络的广播
指向网络的广播地址是主机号为全1的地址。A类网络广播地址为netid.255.255.255,其中netid为A类网络的网络号。一个路由器可以设置是否转发这个广播地址的数据。