CentOS7--dhcp
一、dhcpsvr
hostname
修改主机名配置文件network,将主机名设为dhcpsvr.benet.com
[root@dhcpsvr ~]# hostname
dhcpsvr.benet.com
[root@dhcpsvr ~]#
修改网卡eno33554960
将IP地址设为192.168.4.11/24,默认网关地址设为192.168.4.1
[root@dhcpsvr ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno33554960
[root@dhcpsvr ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno33554960
HWADDR=00:0C:29:D1:35:73
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.4.11
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno33554960
UUID=ae37c129-fcad-4b90-a960-5eb5e1328aa7
ONBOOT=yes
GATEWAY=192.168.4.1
[root@dhcpsvr ~]#
修改域名解析配置文件
添加两行配置记录,指定两台DNS服务器的IP地址分别为192.168.4.2和192.168.4.3
[root@dhcpsvr ~]# vi /etc/resolv.conf
[root@dhcpsvr ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.4.2
nameserver 192.168.4.3
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
dhcp包
[root@dhcpsvr ~]# rpm -qa | grep dhcp
dhcp-common-4.2.5-42.el7.centos.x86_64
dhcp-libs-4.2.5-42.el7.centos.x86_64
dhcp-4.2.5-42.el7.centos.x86_64
查看prtsvr eno33554944的MAC地址
[root@prtsvr ~]# ifconfig
docker0: flags=4099 mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:a6:cc:0c:f6 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno16777736: flags=4163 mtu 1500
inet 192.168.142.166 netmask 255.255.255.0 broadcast 192.168.142.255
inet6 fe80::20c:29ff:fe68:c48d prefixlen 64 scopeid 0x20
ether 00:0c:29:68:c4:8d txqueuelen 1000 (Ethernet)
RX packets 1905 bytes 140046 (136.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 404 bytes 47836 (46.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno33554944: flags=4163 mtu 1500
inet6 fe80::20c:29ff:fe68:c497 prefixlen 64 scopeid 0x20
ether 00:0c:29:68:c4:97 txqueuelen 1000 (Ethernet)
RX packets 265 bytes 28553 (27.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 240 bytes 41952 (40.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 24 bytes 2040 (1.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 2040 (1.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
编辑dhcp主配置文件
[root@dhcpsvr ~]# vim /etc/dhcp/dhcpd.conf
[root@dhcpsvr ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
default-lease-time 21600;
max-lease-time 43200;
option domain-name "ns1.benet.com";
option domain-name-server 192.168.4.2, 192.168.4.3;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.20 192.168.4.200;
option routers 192.168.4.1;
}
hot prtsvr {
hardware ethernet 00:0c:29:68:c4:97
fixed-address 192.168.4.9;
}
[root@dhcpsvr ~]#
[root@dhcpsvr ~]# systemctl start dhcpd
Job for dhcpd.service failed because the control process exited with error code. See "systemctl status dhcpd.service" and "journalctl -xe" for details.
[root@dhcpsvr ~]# systemctl status dhcpd.service
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2016-07-27 12:32:04 CST; 17s ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
Process: 3737 ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid (code=exited, status=1/FAILURE)
Main PID: 3737 (code=exited, status=1/FAILURE)
Jul 27 12:32:04 dhcpsvr.benet.com dhcpd[3737]: option domain-name-server 192.
Jul 27 12:32:04 dhcpsvr.benet.com dhcpd[3737]: ^
Jul 27 12:32:04 dhcpsvr.benet.com dhcpd[3737]: /etc/dhcp/dhcpd.conf line 16: semicolon expected.
Jul 27 12:32:04 dhcpsvr.benet.com dhcpd[3737]: hot prtsvr
Jul 27 12:32:04 dhcpsvr.benet.com dhcpd[3737]: ^
Jul 27 12:32:04 dhcpsvr.benet.com dhcpd[3737]: Configuration file errors encountered -- exiting
Jul 27 12:32:04 dhcpsvr.benet.com systemd[1]: dhcpd.service: main process exited, code=exited, sta...URE
Jul 27 12:32:04 dhcpsvr.benet.com systemd[1]: Failed to start DHCPv4 Server Daemon.
Jul 27 12:32:04 dhcpsvr.benet.com systemd[1]: Unit dhcpd.service entered failed state.
Jul 27 12:32:04 dhcpsvr.benet.com systemd[1]: dhcpd.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
[root@dhcpsvr ~]#
重新修改配置文件
[root@dhcpsvr ~]# vim /etc/dhcp/dhcpd.conf
[root@dhcpsvr ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
default-lease-time 21600;
max-lease-time 43200;
option domain-name "ns1.benet.com";
option domain-name-server 192.168.4.2, 192.168.4.3;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.20 192.168.4.200;
option routers 192.168.4.1;
}
hot prtsvr {
hardware ethernet 00:0c:29:68:c4:97;
fixed-address 192.168.4.9;
}
[root@dhcpsvr ~]#
[root@dhcpsvr dhcp]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2016-07-27 12:44:48 CST; 7s ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
Main PID: 4260 (dhcpd)
Status: "Dispatching packets..."
CGroup: /system.slice/dhcpd.service
└─4260 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]: Sending on LPF/eno33554960/00:0c:29:d1:35:73/192..../24
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]:
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]: No subnet declaration for eno16777728 (173.16.16.7).
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]: ** Ignoring requests on eno16777728. If this is not what
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]: you want, please write a subnet declaration
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]: in your dhcpd.conf file for the network segment
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]: to which interface eno16777728 is attached. **
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]:
Jul 27 12:44:48 dhcpsvr.benet.com dhcpd[4260]: Sending on Socket/fallback/fallback-net
Jul 27 12:44:48 dhcpsvr.benet.com systemd[1]: Started DHCPv4 Server Daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@dhcpsvr dhcp]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
default-lease-time 21600;
max-lease-time 43200;
option domain-name "ns1.benet.com";
option domain-name-servers 192.168.4.2, 192.168.4.3;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.20 192.168.4.200;
option routers 192.168.4.1;
}
host prtsvr {
hardware ethernet 00:0c:29:68:c4:97;
fixed-address 192.168.4.9;
}
[root@dhcpsvr dhcp]#
二、prtsvr端测试
nmtui 选择edit a connection

选择Wired

在Profile name 处输入eno33554944
IPv4 CONFIGURATION 当前为Automatic,即自动获取IP地址(dhcp)
退出

查看
[root@prtsvr ~]# ifconfig
docker0: flags=4099 mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:a6:cc:0c:f6 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno16777736: flags=4163 mtu 1500
inet 192.168.142.166 netmask 255.255.255.0 broadcast 192.168.142.255
inet6 fe80::20c:29ff:fe68:c48d prefixlen 64 scopeid 0x20
ether 00:0c:29:68:c4:8d txqueuelen 1000 (Ethernet)
RX packets 3378 bytes 238913 (233.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 668 bytes 86686 (84.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno33554944: flags=4163 mtu 1500
inet 192.168.4.9 netmask 255.255.255.0 broadcast 192.168.4.255
inet6 fe80::20c:29ff:fe68:c497 prefixlen 64 scopeid 0x20
ether 00:0c:29:68:c4:97 txqueuelen 1000 (Ethernet)
RX packets 280 bytes 30584 (29.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 370 bytes 65292 (63.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 28 bytes 2380 (2.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28 bytes 2380 (2.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@prtsvr ~]#
测试成功