1、DHCP是什么?有什么好处和坏处?
DHCP是动态主机配置协议,他是一种存在于应用层的网络管理协议,在DHCP的帮助下,可以动态给网络节点设备分配一个可用ip,减少网络管理员手动配置ip;
优点:
减少管理员的工作量
避免了IP冲突(同一个网段可用的IP,0和255不能用,可用1-254)
提高了IP地址的利用率
方便客户端的配置
避免普通用户输入错误的可能(家里路由器上网,只需要自动获取IP即可联网)
缺陷:
如果在一个局域网内,有两个DHCP服务器,客户端获取时,谁优先回复,就从谁那里优先获取IP,无法控制,可能会影响真实网络连接
2、配置一个简单的DHCP服务器并测试。
1、安装DHCP软件
[root@docker ~]# yum install dhcp -y
2、将里面的dhcp配置文件复制道主dhcp服务器中
[root@docker ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? yes
3、编辑主配置文件
[root@docker ~]# vim /etc/dhcp/dhcpd.conf
# A slightly different configuration for an internal subnet.
subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.10 192.168.11.15;
option domain-name-servers 192.168.11.148;
option domain-name "internal.example.org";
option routers 192.168.11.254;
option broadcast-address 192.168.11.255;
default-lease-time 600;
max-lease-time 7200;
}
subnet:子网网段
netmask:子网掩码
range:dhcp服务器分配的范围
option domain-name-servers:服务器地址
option domain-name:域名
option routers :网关ip地址
option broadcast-address:广播地址
default-lease-time :默认租约时间
max-lease-time :最大租约时间
4、重启DHCP服务
[root@docker ~]#
[root@docker ~]# systemctl restart dhcpd
[root@docker ~]# systemctl is-active dhcpd
active
5、关闭防火墙。selinux
[root@docker ~]# systemctl stop firewalld.service
[root@docker ~]# setenforce 0
6、测试
把客户端的网卡改为动态获取
[root@docker ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp(动态获取)
ONBOOT=yes (启动网卡)
[root@docker ~]# dhclient
[root@docker ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:0d:5b:02 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.148/24 brd 192.168.11.255 scope global noprefixroute dynamic ens33
valid_lft 1239sec preferred_lft 1239sec
inet 192.168.11.10/24 brd 192.168.11.255 scope global secondary dynamic ens33
valid_lft 598sec preferred_lft 598sec
inet6 fe80::ed5c:527:7bb6:c897/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@docker ~]#