相关的题外话:
再输入systemctl指令时 比如,总会在最后的服务后总会有d,这个d就表示deamon服务的。包括进程中的后边的d也是这个意思,他会在后台一直存在,运行。比如firewalld,比如dhcpd。等等等。
DHCP服务是动态获取IP的服务,比如一个人带着电脑想要临时在这里上网,不会设置IP,这是最好的办法就是配置DHCP服务器来简化别人的操作。又或者同网络下的电脑很多,都需要配置IP,手动配置IP就比较麻烦,还容易出错,那就可以用DHCP服务简化操作,计算机直接自动获取IP了。
给局域网内的节点动态的分配IP地址、子网掩码、网关及dns等,能够保证IP地址不冲突。
这个分配的IP一定是和DHCP服务器本身的IP在同一个网段内。
使用DHCP服务要用到某些端口,其中服务端要用到67端口,客户端要用到68端口,传输协议最好是udp协议,如果有重要的数据可以用tcp。
DHCP配置思路:
1、有DHCP这个服务的软件,安装软件。
2、编辑配置文件,设置要发布的网段 IP,网关,DNS等等。
3、重新启动服务,让系统重新加载新的配置文件。
4、简单测试下。
操作如下:
用的是minimal安装的CentOS7。
1、配网,做DHCP服务器的主机本身的IP一定要是静态的。
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.12.10 netmask 255.255.0.0 broadcast 172.16.255.255
inet6 fe80::cb55:ad38:7fd6:7c63 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:fc:0e:36 txqueuelen 1000 (Ethernet)
RX packets 287 bytes 23019 (22.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 80 bytes 10920 (10.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
初始化:
主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.12.10 geili
防火墙
[root@localhost yum.repos.d]# systemctl stop firewalld
[root@localhost yum.repos.d]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
selinux
[root@localhost yum.repos.d]# vi /etc/sysconfig/selinux
[root@localhost yum.repos.d]# setenforce 0
2、安装软件
安装软件要有yum源,先配置yum源。
[root@localhost yum.repos.d]# mount | grep iso
/dev/sr0 on /mnt/cdrom-CentOS7iso type iso9660 (ro,relatime)
[root@localhost yum.repos.d]# cat file_mnt_cdrom-CentOS7.repo
[file_mnt_cdrom]
name=ben-di-yum-yuam-jing-xiang-/mnt/cdrom-
baseurl=file:///mnt/cdrom-CentOS7iso
enabled=1
gpgcheck=0
正式安装。
[root@localhost yum.repos.d]# yum install dhcp -y
Verifying : 12:dhcp-4.2.5-58.el7.centos.x86_64 1/1
Installed:
dhcp.x86_64 12:4.2.5-58.el7.centos
Complete!
[root@localhost yum.repos.d]# rpm -qa| grep dhcp
dhcp-4.2.5-58.el7.centos.x86_64
dhcp-libs-4.2.5-58.el7.centos.x86_64
dhcp-common-4.2.5-58.el7.centos.x86_64
2、修改配置文件。
[root@localhost yum.repos.d]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf *********
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost yum.repos.d]# vi /etc/dhcp/dhcpd.conf ******
vi进入这个配置文件中找到示例的配置文件
[root@localhost yum.repos.d]# head -10 /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
配置文件中第二行的那个。
然后用 :r 尾行模式读取进来
有这几行是最重要的配置信息
option domain-name "geili.org"; //DNS服务器
option domain-name-servers 8.8.8.8; // DNS地址
default-lease-time 600; //每600秒检查下DHCP服务器
max-lease-time 7200; // 最大的使用周期
log-facility local7; //日志信息用的是local7,另外local7的日志文件在rsyslog.conf文件中能够看到,是/var/log/boot.log
subnet 172.16.0.0 netmask 255.255.0.0 { //分配的IP段和网关
range 172.16.12.100 172.16.12.200;
option routers 172.16.0.254;
}
这个IP段要和DNS服务提供者本身的IP在同一网段内。
其他的可以注释掉
3、重启:
//重新启动
[root@localhost yum.repos.d]# systemctl restart dhcpd
//查看状态
[root@localhost yum.repos.d]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2019-10-28 18:05:29 CST; 23s ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
//查看进程
[root@localhost yum.repos.d]# ps -ef | grep dhcp
dhcpd 1710 1 0 18:05 ? 00:00:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -groupdhcpd --no-pid
root 1713 1513 0 18:06 pts/1 00:00:00 grep --color=auto dhcp
//查看端口
[root@localhost yum.repos.d]# netstat -antlup | grep 67
udp 0 0 0.0.0.0:67 0.0.0.0:* 1710/dhcpd
udp6 0 0 :::26777 :::* 1710/dhcpd
4、测试:
启动另一个主机。配置网络为动态。
我的应该是172.16.12.100开始的但是环境中有干扰…QAQ,不过有67端口,服务启动,有进程,就已经能确定是开启了DHCP服务。