DHCP服务是什么意思?
DHCP是一种基于客户/服务器模式的服务协议。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC
2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP
Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP
failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。
DHCP的工作原理是在安装有DHCP服务器的网络中,客户端启动时自动与DHCP服务器通信,要求服务器提供自动分配IP地址的服务,而安装了DHCP服务器软件的服务器响应这个要求,并向客户端发送出合法的IP地址。
参考资料:
安装DHCP服务
在Windows Server 2003系统中默认没有安装DHCP服务,因此需要安装DHCP服务。 第1步 单击“开始”按钮,在“控制面板”中双击“添加或删除程序”图标,在打开的窗口左侧单击“添加/删除Windows组件”按钮,打开“Windows组件向导”对话框。 第2步 在“组件”列表中找到并勾选“网络服务”复选框,然后单击“详细信息”按钮,打开“网络服务”对话框。接着在“网络服务的子组件”列表中勾选“动态主机配置协议(DHCP)”复选框,依次单击“确定→下一步”按钮开始配置和安装DHCP服务。最后单击“完成”按钮完成安装。 提示:如果是在Active Directory(活动目录)域中部署DHCP服务器,还需要进行授权才能使DHCP服务器生效。本例的网络基于工作组管理模式,因此无需进行授权操作即可进行创建IP作用域的操作。
创建IP作用域
要想为同一子网内的所有客户端电脑自动分配IP地址,首先要做就是创建一个IP作用域,这也是事先确定一段IP地址作为IP作用域的原因。下面开始创建IP作用域的操作。 第1步 依次单击“开始→管理工具→DHCP”,打开“DHCP”控制台窗口。在左窗格中右击DHCP服务器名称,执行“新建作用域”命令。 第2步 在打开的“新建作用域向导”对话框中单击“下一步”按钮,打开“作用域名”向导页。在“名称”框中为该作用域键入一个名称(如“CCE”)和一段描述性信息,单击“下一步”按钮。 小提示:这里的作用域名称只起到一个标识的作用,基本上没有实际应用。 第3步 打开“IP地址范围”向导页,分别在“起始IP地址”和“结束IP地址”编辑框中键入事先确定的IP地址范围(本例为“101152232~10115223254”)。接着需要定义子网掩码,以确定IP地址中用于“网络/子网ID”的位数。由于本例网络环境为城域网内的一个子网,因此根据实际情况将“长度”微调框的值调整为“23”,单击“下一步”按钮(图3)。 第4步 在打开的“添加排除”向导页中可以指定排除的IP地址或IP地址范围。由于已经使用了几个IP地址作为其它服务器的静态IP地址,因此需要将它们排除。在“起始IP地址”编辑框中键入排除的IP地址并单击“添加”按钮。重复操作即可,接着单击“下一步”按钮。 第5步 在打开的“租约期限”向导页中,默认将客户端获取的IP地址使用期限限制为8天。如果没有特殊要求保持默认值不变,单击“下一步”按钮。 第6步 打开“配置DHCP选项”向导页,保持选中“是,我想现在配置这些选项”单选框并单击“下一步”按钮。在打开的“路由器(默认网关)”向导页中根据实际情况键入网关地址(本例为“10115223254”)并依次单击“添加→下一步”按钮。 第7步 在打开的“域名称和DNS服务器”向导页中没有做任何设置,这是因为网络中没有安装DNS服务器且尚未升级成域管理模式依次单击“下一步”按钮,跳过“WINS服务器”向导页打开“激活作用域”向导页。保持“是,我想现在激活此作用域”单选框选中状态,并依次单击“下一步”→“完成”按钮结束配置。
设置DHCP客户端
安装了DHCP服务并创建了IP作用域后, 要想使用DHCP方式为客户端电脑分配IP地址,除了网络中有一台DHCP服务器外,还要求客户端电脑应该具备自动向DHCP服务器获取IP地址的能力,这些客户端电脑就被称作DHCP客户端。 因此我们对一台运行Windows XP的客户端电脑面前进行了如下设置:在桌面上右击“网上邻居”图标,执行“属性”命令。在打开的“网络连接”窗口中右击“本地连接”图标并执行“属性”,打开“本地连接 属性”对话框。然后双击“Internet协议(TCP/IP)”选项,点选“自动获得IP地址”单选框,并依次单击“确定”按钮。 提示:默认情况下端电脑使用的都是自动获取IP地址的方式,一般无需进行修改,只需检查一下就行了。 至此,DHCP服务器端和客户端已经全部设置完成了。在DHCP服务器正常运行的情况下,首次开机的客户端会自动获取一个IP地址并拥有八天的使用期限。
不能。根据相关服务器软件dhcp公开资料查询显示,其与win10系统不兼容容易发生系统崩溃,至2022年12月7日只兼容win11系统。dhcp是一种动态主机配置协议服务器软件系统。
方法/步骤
用管理员账号登入系统内,建议用命令界面操作,若在图形界面,在桌面新建终端输入init 3进入字符界面。
标准的光盘一般是3张,要安装服务器端软件包一般在光盘2,放入光驱,虚拟机则把第2个iso文件挂载上去。
安装操作之前应该先在windows下进入光盘目录下查看下dhcp服务包的大概位置,这对于新手很重要,windows下找一份文件大家都比较熟悉,linux相对较复杂些,一般在光盘里的RedHat/RPM下,名字为dhcp-(版本号,我的是30pl1-23i386)。
在linux提示符后输入rpm-qa | grep dhcp 命令检查安装的dhcp服务,如图显示服务未安装
输入mount /dev/cdrom /mnt/cdrom 挂载光盘
由于之前已经查看了目录路径,所以可以直接输入路劲查看,输入cd /mnt/cdrom/RedHat/RPMS 进入软件包目录,也可以在进入cdrom目录后用ls一步一步进入。
用rpm-ivh命令安装,完整命令是rpm-ivh(后面是安装包的完整名字我的名称是dhcp-30pl1-23i386,记不住名称可以在输入dhcp-30后按两下键盘的tab键补全),然后回车。
安装成功!
1、创建私有CA并进行证书申请。
1 :创建 CA 私钥
$ openssl genrsa -des3 -out cakey 4096
2 :生成 CA 的自签名证书,其实 CA 证书就是一个自签名证书
$ openssl req -new -x509 -days 365 -key cakey -outcacrt
3 :生成需要颁发证书的私钥
$ openssl genrsa -des3 -out serverkey 4096
4 :生成要颁发证书的证书签名请求
Ps:证书签名请求当中的 Common Name 必须区别于 CA 的证书里面的 Common
Name
$ openssl req -new -key serverkey -out servercsr
5 :创建一个ext文件,内容如下
keyUsage = nonRepudiation, digitalSignature,keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
subjectAltName=@SubjectAlternativeName
[ SubjectAlternativeName ]
DNS1=abccom
DNS2=abccom
6 :用 2 创建的 CA 证书给 4 生成的 签名请求 进行签名
$ openssl x509 -req -days 365 -extfile httpext -inservercsr -CA cacrt -CAkey cakey -set_serial 01 -out servercrt
7 :最终会得到一下几个文件
cacrt: 这个是ca证书,客户端信任该证书意味着会信任该证书颁发出去的所有证书
cakey: ca证书的密钥
serverkey: 服务器密钥,需要配置的
servercsr: 证书签名请求,通常是交给CA机构,这里我们就自己解决了
servercrt: 服务器证书,需要配置的
2、总结ssh常用参数、用法
ssh命令是ssh客户端,允许实现对远程系统经验证地加密安全访问。ssh客户端配置文件是:/etc/ssh/ssh_config
ssh
命令配合的常见选项:
-p port
:远程服务器监听的端口
ssh 19216818 -p 2222
-b
指定连接的源IP
ssh 19216818 -p 2222 -b 192168188
-v
调试模式
ssh 19216818 -p 2222 -v
-C
压缩方式
-X
支持x11转发支持将远程linux主机上的图形工具在当前设备使用
-t
强制伪tty分配,如:ssh -t remoteserver1 ssh -t remoteserver2 ssh
remoteserver3
-o option
如:-oStrictHostKeyChecking=no
-i
指定私钥文件路径,实现基于key验证,默认使用文件:~/ssh/id_dsa,
~/ssh/id_ecdsa,/ssh/id_ed25519
,/ssh/id_rsa等
3、总结sshd服务常用参数。服务器端的配置文件: /etc/ssh/sshd_config
常用参数:
Port #
端口号
ListenAddress ipLoginGraceTime 2m #
宽限期
PermitRootLogin yes #
默认ubuntu不允许root远程ssh登录
StrictModes yes #
检查ssh/文件的所有者,权限等
MaxAuthTries 6
MaxSessions 10 #
同一个连接最大会话
PubkeyAuthentication yes #
基于key验证
PermitEmptyPasswords no #
空密码连接
PasswordAuthentication yes #
基于用户名和密码连接
GatewayPorts no
ClientAliveInterval 10 #
单位:秒
ClientAliveCountMax 3 #
默认3
UseDNS yes #
提高速度可改为no
GSSAPIAuthentication yes #
提高速度可改为no
MaxStartups #
未认证连接最大值,默认值10
Banner /path/file
以下可以限制可登录用户的办法:
AllowUsers user1 user2 user3
DenyUsers
AllowGroups
ssh
服务的最佳实践建议使用非默认端口禁止使用protocol version 1
限制可登录用户设定空闲会话超时时长利用防火墙设置ssh访问策略仅监听特定的IP地址基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom| head -c 12|
xargs
使用基于密钥的认证禁止使用空密码禁止root用户直接登录限制ssh的访问频度和并发在线数经常分析日志
4、搭建dhcp服务,实现ip地址申请分发
一、配置DHCP服务器
1、安装DHCP服务器软件
[root@centos01 ~]# mount /dev/cdrom /mnt/<!--挂载操作系统光盘-->
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos01 ~]# rm -rf /etc/yumreposd/CentOS-<!--删除系统自动yum源-->
[root@centos01 ~]# yum -y install dhcp<!--安装DHCP服务 -->
2、建立主配置文件dhcpdconf
[root@centos01 ~]# vim /etc/dhcp/dhcpdconf<!--编辑主配置文件-->
:r /usr/share/doc/dhcp-425/dhcpdconfexample<!--读取默认配置文件-->
ddns-update-style none;<!--禁用DNS动态更新-->
option domain-name "benetcom";<!--指定默认搜索域-->
option domain-name-servers 202106010, 202106020;
<!--指定DNS服务器地址-->
default-lease-time 600;<!--默认租约时间-->
max-lease-time 7200;<!--最大租约时间-->
1)/etc/dhcp/dhcpdconf文件的配置构成
在主配置文件dhcpdconf中,可以使用声明、参数、选项这三种类型的配置,各自的作用和表现形式如下所述:
声明:用来描述dhcpd服务器中对网络布局的划分,是网络设置的逻辑范围。常见的声明是subnet、host,其中subnet声明用来约束一个网段。host声明用来约束一台特定主机。
参数:由配置关键字和对应的值组成,总是以“;”(分号)结束,一般位于指定的声明范围之内,用来设置所在范围的运行特性(如默认租约时间、最大租约时间等)。
选项:由“option”引导,后面跟具体的配置关键字和对应的值,也是以“;”结束,用于指定分配给客户机的各种地址参数(如默认网关地址、子网掩码、DNS服务器地址等)。
2)确定dhcpd服务的全局配置
为了使配置文件的结构更加清晰、全局配置通常会放在配置文件dhcodconf的开头部分,可以是配置参数,也可以是配置选项。常用的全局配置参数和选项如下所述:
ddns-update-style:动态DNS更新模式。用来设置与DHCP服务相关联的DNS数据动态更新模式。在实际的DHCP应用中很少用到该参数。将值设为“none”即可。
default-lease-time:默认租约时间。单位为秒,表示客户端可以从DHCP服务器租用某个IP地址的默认时间。
max-lease-time:最大租约时间。单位为秒,表示允许DHCP客户端请求的最大租约时间,当客户端未请求明确的租约时间时,服务器将采用默认租约时间。
option domain-name:默认搜索区域。未客户机指定解析主机名时的默认搜索域,该配置选项将体现在客户机的/etc/resolvconf配置文件中,如“search benetcom”。
option domain-name-servers:DNS服务器地址。为客户端指定解析域名时使用的DNS服务器地址,该配置选项同样将体现在客户机的/etc/resolvconf配置文件中,如“nameserver 202106020”。需要设置多个DNS服务器地址时,以逗号进行分隔。
3)确定subnet网段声明
一台DHCP服务器可以为多个网段提供服务,因此subnet网段声明必须有而且可以有多个。例如,若要DHCP服务器为1921681000/24网段提供服务,用于自动分配的IP地址范围为192168100。100~192168100200,为客户机指定默认网关地址为192168100254,则ke可以修改dhcpdconf配置文件,参考以下内容调整subnet网段声明:
[root@centos01 ~]# vim /etc/dhcp/dhcpdconf<!--编辑主配置文件-->
subnet 1921681000 netmask 2552552550 {<!--声明网段地址-->
range 192168100100 192168100200;<!--设置地址池,可以有多个-->
option routers 192168100254;<!--指定默认网关地址-->
}
4)确定host主机声明
host声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固定的IP地址(保留地址),这些主机的共同特点是要求每次获取的IP地址相同,以确保服务的稳定性。
host声明通过host关键字指定需要使用保留地址的客户机名称,并使用“hardware ethernet”参数指定该主机的MAC地址,使用“fixed-address”参数指定保留给该主机的IP地址。例如,若要为打印机prtsvr(MAC地址为00:0C:29:0D:BA:6B)分配固定的IP地址192168100101,可以修改dhcpdconf配置文件,参考以下内容在网段声明内添加host主机声明。
C:\Users\Administrator>getmac
物理地址 传输名称
=================== =======================================================
00-0C-29-0D-BA-6B \Device\Tcpip_{92E3F48B-40F0-4A0D-9604-6386AAAE3233}<!--客户端获取MAC地址-->
[root@centos01 ~]# vim /etc/dhcp/dhcpdconf
host win7 {
hardware ethernet 00:0C:29:0D:BA:6B;<!--客户机的MAC地址-->
fixed-address 192168100101;<!--分配给客户机的IP地址-->
}
3、启动dhcpd服务
在启动dhcpd服务之前,应确认提供DHCP服务器的网络接口具有静态指定的固定IP地址,并且至少有一个网络接口的IP地址与DHCP服务器中的一个subnet网段相对应,否则将无法正常启动dhcpd服务。例如,DHCP服务器的IP地址为19216810010,用于为网段192。1681000/24内的其他客户机提供自动分配地址服务。
安装dhcp软件包以后,对应的系统服务脚本位于/usr/lib/systemd/system/dhcpdservice,可以使用systemd服务进行控制。例如,执行以下操作可以启动dhcpd服务,并检查UDP的67端口是否在监听,以确认DHCP服务器是否正常。
[root@centos01 ~]# systemctl start dhcpd<!--启动dhcp服务-->
[root@centos01 ~]# systemctl enable dhcpd<!--设置服务开机自动启动-->
[root@centos01 ~]# netstat -anptu | grep 67<!--监听DHCP服务端口号-->
udp 0 0 0000:67 0000: 2102/dhcpd
udp 0 0 0000:67 0000: 1064/dnsmasq
注意:需要关闭、重启dhcpd服务时,只要将上述操作命令中的“start”改为“stop”或“restart”即可。
二、使用DHCP客户端
1、windows客户端
ipconfig /renew<!--可以为主机重新获取新的IP地址-->
ipconfig /release<!--释放IP地址-->
tracert IP地址<!--可以测试从当前主机到目的主机经过的网络节点-->
route print<!--查看路由表-->
2、Linux客户端
在Linux客户机中可以设置使用DHCP的方式获取地址。只需要编辑对应网卡的配置文件,修改或添加“BOOTPROTO=dhcp”配置行,并重新加载配置文件或者重新启动network服务即可。例如,执行以下操作可修改网卡配置文件,并重新加载配置以通过DHCP方式自动获取地址:
[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=ens32
DEVICE=ens32
ONBOOT=yes
[root@centos02 ~]# ifdown ens32 ; ifup ens32
[root@centos02 ~]# systemctl restart network
在Linux客户机中,还可以使用dhclient工具来测试DHCP服务器。若直接执行“dhclient”命令,则dhclient将尝试为除回环接口lo以外的所有网络接口通过DHCP方式申请新的地址,然后自动转入后台继续运行。当然,测试时可以指定一个具体的网络接口,并结合“-d”选项使其在前台运行,测试完毕后按Ctrl+C组合键终止。例如,执行“dhclient -d ens32”命令后,可以为网卡ens32自动获取新的IP地址,并显示获取过程。
[root@centos02 ~]# dhclient -d ens32
Internet Systems Consortium DHCP Client 425
Copyright 2004-2013 Internet Systems Consortium
All rights reserved
For info, please visit https://wwwiscorg/software/dhcp/
Listening on LPF/ens32/00:0c:29:97:5c:9f
Sending on LPF/ens32/00:0c:29:97:5c:9f
Sending on Socket/fallback
DHCPDISCOVER on ens32 to 255255255255 port 67 interval 4 (xid=0x5364e17f)
DHCPDISCOVER on ens32 to 255255255255 port 67 interval 6 (xid=0x5364e17f)
DHCPDISCOVER on ens32 to 255255255255 port 67 interval 14 (xid=0x5364e17f)<!--DHCP发现-->
DHCPREQUEST on ens32 to 255255255255 port 67 (xid=0x5364e17f)<!--DHCP请求-->
DHCPOFFER from 19216810010<!--DHCP提供-->
DHCPACK from 19216810010 (xid=0x5364e17f)<!--DHCP确认-->
bound to 192168100102 -- renewal in 229 seconds
<!--按Ctrl+C组合键终止-->
客户端需要通过dhclient命令释放获取的IP租约时,可以结合“-r”选项。例如,执行以下的“dhclient -r ens32”将会释放之前为网卡ens32获取的IP租约。此时再通过执行“ifconfig ens32”命令就看不到分配的IP地址了。
[root@centos02 ~]# dhclient -r ens32
0条评论