centos dhcp 启动失败(如何启动dhcp服务)
CentOS7网络设置修复
服务器有两个网卡enp7s0和enp8s0
服务器需要通过enp8s0和互联网联通,互联网为笔记本转接
通过centos7界面修改ip,失败;
通过centos7的网络配置文件/etc/sysconfig/network-scripts/ifcfg-enp8s0修改ip设置
设置如下:
1.启动 service network start报错,通过journalctl-xe查看如下
-- Defined-By: systemd
-- Support:
--
-- Unit fprintd.service has begun starting up.
12月 29 19:31:12 crrchost dbus-daemon[851]: dbus[851]: [system] Successfully activated service'net.reactivated.Fprint'
12月 29 19:31:12 crrchost dbus[851]: [system] Successfully activated service'net.reactivated.Fprint'
12月 29 19:31:12 crrchost systemd[1]: Started Fingerprint Authentication Daemon.
-- Subject: Unit fprintd.service has finished start-up
-- Defined-By: systemd
-- Support:
--
-- Unit fprintd.service has finished starting up.
--
-- The start-up result is done.
12月 29 19:31:12 crrchost fprintd[6685]: Launching FprintObject
12月 29 19:31:12 crrchost fprintd[6685]:** Message: D-Bus service launched with name: net.reactivated.Fprint
12月 29 19:31:12 crrchost fprintd[6685]:** Message: entering main loop
12月 29 19:31:18 crrchost polkitd[835]: Operator of unix-session:1 successfully authenticated as unix-user:windfarm to gain TEMPORARY authorization for action org.freedesktop.systemd1.manage-units for system-bus
12月 29 19:31:18 crrchost systemd[1]: Starting LSB: Bring up/down networking...
-- Subject: Unit network.service has begun start-up
-- Defined-By: systemd
-- Support:
--
-- Unit network.service has begun starting up.
12月 29 19:31:18 crrchost network[6693]:正在打开环回接口: [ 确定 ]
12月 29 19:31:18 crrchost network[6693]:正在打开接口 enp7s0:
12月 29 19:31:24 crrchost network[6693]:正在确定 enp7s0的 IP信息...失败:不存在链接。检查电缆?
12月 29 19:31:24 crrchost network[6693]: [失败]
12月 29 19:31:24 crrchost network[6693]:正在打开接口 enp8s0: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: [ 确定 ]
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost systemd[1]: network.service: control process exited, code=exited status=1
12月 29 19:31:25 crrchost systemd[1]: Failed to start LSB: Bring up/down networking.
-- Subject: Unit network.service has failed
-- Defined-By: systemd
-- Support:
--
-- Unit network.service has failed.
--
-- The result is failed.
12月 29 19:31:25 crrchost systemd[1]: Unit network.service entered failed state.
12月 29 19:31:25 crrchost systemd[1]: network.service failed.
12月 29 19:31:25 crrchost polkitd[835]: Unregistered Authentication Agent for unix-process:6669:319312(system bus name:1.263, object path/org/freedesktop/PolicyKit1/AuthenticationAgent, locale zh_CN.UTF-8)(d
3.systemctl status network.service查看如下:
● network.service- LSB: Bring up/down networking
Loaded: loaded(/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed(Result: exit-code) since六 2018-12-29 18:38:17 CST; 1min 24s ago
Docs: man:systemd-sysv-generator(8)
Process: 909 ExecStart=/etc/rc.d/init.d/network start(code=exited, status=1/FAILURE)
12月 29 18:38:06 crrchost systemd[1]: Starting LSB: Bring up/down networking...
12月 29 18:38:06 crrchost network[909]:正在打开环回接口: [ 确定 ]
12月 29 18:38:06 crrchost network[909]:正在打开接口 enp7s0:
12月 29 18:38:12 crrchost network[909]:正在确定 enp7s0的 IP信息...失败:…?
12月 29 18:38:12 crrchost network[909]: [失败]
12月 29 18:38:17 crrchost network[909]:正在打开接口 enp8s0: [ 确定 ]
12月 29 18:38:17 crrchost systemd[1]: network.service: control process exi...=1
12月 29 18:38:17 crrchost systemd[1]: Failed to start LSB: Bring up/down n...g.
12月 29 18:38:17 crrchost systemd[1]: Unit network.service entered failed...e.
12月 29 18:38:17 crrchost systemd[1]: network.service failed.
Hint: Some lines were ellipsized, use-l to show in full.
1.参考网络方法停用NetworkManager,依旧报错
systemctl stop NetworkManager
systemctl disable NetworkManager
2.比对两个网卡的MAC地址和配置文件的MAC地址
a.查看mac地址配置,ipconfig
b.查看配置文件中的macd地址是否匹配,ifcfg-enp8s0和ifcfg-enp7s0,
按照网络方法增加一行HWADDR=ipconfig查询到的对应网卡MAC地址;
c.重启network服务依旧报错;
3.通过GUI界面查看网络,提示“系统的网络服务与此版本的网络管理器不兼容”
这与之前停掉NetworkManager有关,此处不表;
4.因为ifcfg-enp7s0实际上没有插网线,修正其配置文件如下:
ONBOOT=no
重新启动服务后网络正常;
5.检查网络
1.network和NetworkManager不同,通过界面和通过配置文件,可能会导致配置混乱,且NetworkManager有些程序不支持,需要停用;
2.BOOTPROTO=none虽然可以表示静态ip,但是如果要启用,必须设置其为
BOOTPROTO=static或BOOTPROTO=dhcp
3.一个网卡没哟被启用,也就是没有设置动态ip或静态ip,是无法被初始化的,不能设置ONBOOT=yes
In Centos7.0 disabling NetworkManager will leave a dhcp client running configured for NetworkManager. This causes the error message RTNETLINK answers: File exists when the network service is started.
The stale dhclient process has the additional"benefit" that when the lease expires your dhclientwill choke, since it cannot reach NetWorkManager, thus removing your IP address.
If you grep for it, you will see that it points to a NetWorkManager configuration file.
[root@host~]# ps-ef| grep dhc
root 1865 792 0 Apr28? 00:00:00/sbin/dhclient-d-sf\
/usr/libexec/nm-dhcp-helper-pf/var/run/dhclient-eno1.pid-lf\
/var/lib/NetworkManager/dhclient-c96e56d3-a4c9-4a87-85ca-93dc0ca268f2-eno1.lease\
-cf/var/lib/NetworkManager/dhclient-eno1.conf eno1
So what you can do is kill the dhclient and only then start your network service.
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 ftp.isc.org. 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放行。或者直接将放火墙关闭
centos DHCP服务启动不了
出现问题的可能有以下几个可能:
1.配置文件有问题。
1.1内容不符合语法结构,例如,少个分号;
1.2声明的子网和子网掩码不符合;
2.主机IP地址和声明的子网不在同一网段。
3.主机没有配置IP地址,或者网卡没有启动。
4.配置文件路径出问题,比如在RHEL6以下的版本中,配置文件保存在了/etc/dhcpd.conf,但是在rhel6及以上版本中,却保存在了/etc/dhcp/dhcpd.conf。