使用centos7虚拟机模拟dhcp服务器

准备一台linux服务器
linux环境,要求服务器能够上网

[root@lb-1 ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@lb-1 ~]#
[root@lb-1 ~]# ping www.baidu.com -c 2
PING www.baidu.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=16.0 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=15.5 ms

--- www.baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 15.512/15.757/16.003/0.275 ms
[root@lb-1 ~]# 

步骤:

1.安装dhcp相关的软件包

[root@lb-1 ~]# yum install dhcp -y

2.修改配置文件,配置dhcp服务器

[root@lb-1 ~]# cd /etc/dhcp/
[root@lb-1 dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@lb-1 dhcp]# 

dhcpd.conf 是我们的主要的配置文件–》ipv4
dhcpd6.conf 是ipv6的配置文件

拷贝下载的dhcp中的样例文件到/etc/dhcp目录

[root@lb-1 dhcp]# cp      /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example         /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

编辑配置文件

[root@lb-1 dhcp]# vim  /etc/dhcp/dhcpd.conf 
[root@lb-1 dhcp]# cat  /etc/dhcp/dhcpd.conf 
# have to hack syslog.conf to complete the redirection).
log-facility local7;   #指定日志类型
# A slightly different configuration for an internal subnet.
subnet 192.168.88.0 netmask 255.255.255.0 {       #指定分配ip地址的网段号和子网掩码
  range 192.168.88.10 192.168.88.254;  #指定地址池的范围,必须是上面的网段里的ip
  option domain-name-servers 114.114.114.114;  #指定dns服务器地址
  option routers 192.168.88.1;  #指定网关
  default-lease-time 600;  #最短租约时间600秒
  max-lease-time 7200; #最长租约时间7200秒
}

dhcp服务器里的网关或者dns服务器配置错误,就会误导客户机上不了网

3.启动服务及调试

如何服务启动不起来,需要在接口上配置dhcp服务器里分配的网段的ip地址
在我的实验里,需要在ens33接口配置192.168.88.0网段的ip,这里IP地址配置为192.168.88.1

配置地址

[root@lb-1 network-scripts]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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:37:fb:39 brd ff:ff:ff:ff:ff:ff
    inet 192.168.88.1/24 brd 192.168.88.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
[root@lb-1 network-scripts]#

再次启动dhcp服务

[root@lb-1 network-scripts]# service  dhcpd start
Redirecting to /bin/systemctl start dhcpd.service

如何知道dhcp服务启动了呢?

1.看进程 dhcpd

	[root@lb-1 network-scripts]# ps aux|grep  dhcpd    
dhcpd      3890  0.0  0.2 105996 11964 ?        Ss   11:37   0:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
root       3893  0.0  0.0 112832  2292 pts/3    S+   11:37   0:00 grep --color=auto dhcpd

2.看端口 67 udp

[root@lb-1 network-scripts]# netstat -anplut|grep dhcp   
udp        0      0 0.0.0.0:67              0.0.0.0:*                           3890/dhcpd          
[root@lb-1 network-scripts]# 

4.测试使用

1.再开一台linux服务器做客户机,网卡类型选择hostonly模式,前面的linux dhcp服务器网卡也是hostonly模式
web3 :这台linux测试服务器

2.要把VMware 在设置中hostonly 网卡类型上的dhcp功能关闭,因为一个局域网里最好只有一个dhcp服务器,不然会冲突:
在这里插入图片描述
在这里插入图片描述

在测试的客户机上使用dhcp动态获得ip地址

[root@web3 ~]# cd  /etc/sysconfig/network-scripts/
[root@web3 network-scripts]# ls
ifcfg-ens33  ifdown-eth   ifdown-post    ifdown-Team      ifup-aliases  ifup-ipv6   ifup-post    ifup-Team      init.ipv6-global
ifcfg-lo     ifdown-ippp  ifdown-ppp     ifdown-TeamPort  ifup-bnep     ifup-isdn   ifup-ppp     ifup-TeamPort  network-functions
ifdown       ifdown-ipv6  ifdown-routes  ifdown-tunnel    ifup-eth      ifup-plip   ifup-routes  ifup-tunnel    network-functions-ipv6
ifdown-bnep  ifdown-isdn  ifdown-sit     ifup             ifup-ippp     ifup-plusb  ifup-sit     ifup-wireless

[root@web3 network-scripts]# cat ifcfg-ens33 
BOOTPROTO="dhcp"   #指定动态获得ip地址    dhcp表示动态获得   none表示静态配置
NAME="ens33"
DEVICE="ens33"  #网卡的名字
ONBOOT="yes"  #开机激活网卡
[root@web3 network-scripts]# 


[root@web3 network-scripts]# service network restart  刷新网卡服务,重新去获得ip地址

[root@web3 network-scripts]# ifdown ens33;ifup ens33  刷新网卡服务,重新去获得ip地址

正在确定 ens33 的 IP 信息... 完成。

保存租约信息到文件dhclient.leases

dhclient -lf  /var/lib/dhclient/dhclient.leases  

启动网卡从新获得ip地址

service network restart 

如果要释放地址: dhclient -r ens33

在dhcp服务器上看给哪些客户机分配的ip地址

记录到文件里/var/lib/dhcpd/dhcpd.leases

cat /var/lib/dhcpd/dhcpd.leases

在客户机上查看租约信息:

dhclient -lf /var/lib/dhclient/dhclient.leases
cat /var/lib/dhclient/dhclient.leases

如果修改了配置文件,需要刷新服务才能生效

[root@lb-1 dhcp]# vim dhcpd.conf 
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# A slightly different configuration for an internal subnet.
subnet 192.168.88.0 netmask 255.255.255.0 {
  range 192.168.88.10 192.168.88.254;
  option domain-name-servers 114.114.114.114;
  option routers 192.168.88.88;
  default-lease-time 600;
  max-lease-time 7200;
}
[root@lb-1 dhcp]# service dhcpd  restart
Redirecting to /bin/systemctl restart dhcpd.service

提醒:网关和dns服务器一定要配置正确,不然后导致客户机获得错误的网关和dns会不能上网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值