DHCP(动态主机配置协议)
一个局域网的网络协议,使用UDP协议:服务器67号端口,客户端68号端口
给内部网络或服务供应商自动分配IP地址
给用户或者内部网络管理员作为对所有计算机中央管理手段
减少管理员的工作量
避免输入错误的可能
避免IP地址冲突
当网络更改IP地址段时,不需要再重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置
分配方式:手动分配、自动分配、动态分配。
DHCP的IP地址自动获取工作原理
第一步:客户端在网络中搜索服务器。
客户端通过广播发送 DHCP Discover报文寻找服务器端
第二步:服务器向客户端响应服务
服务器端通过广播发送DHCP Offer报文向客户端提供I地址等网络信息,从I地址池中挑选一个尚未分配的I地址分配给客户端
第三步:客户端向服务器发出服务请求
如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只接受第一个收到的DHCP- offer报文并提取I地址,然后客户端通过广播发送 DHCP Request报文告知服务器端本地选择使用该IP地址
第四步:服务器向客户端提供服务
服务器通过广播发送 DHCP ACK报文告知客户端I地址是合法可用的,并在选项字段中增加I地址的使用租期信息
(5)重新登录
DHCP客户机每次重新登录网络时,不需要再发送 DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的 DHCP Request请求信息
(6)更新租约
当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request包,要求更新现有的地址租约
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210426153413360.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLm
NzZG4ubmV0L3dlaXhpbl81NTYwOTkwNQ==,size_16,color_FFFFFF,t_70)
配置DHCP服务器
yum install -y dhcp
cd /usr/share/doc/dhcp-4.2.5/
vim /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
设置全局配置参数
default-lease-time 600; 默认租约为10分钟,单位为秒
max- lease-time 7200; 最大租约为2小时,单位为秒.
option domain-name "benet.con" ; 指定默认域名
option domain-name-servers 8.8.8.8; 指定DNS服务器地址
ddns-update-style none; 禁用DNS动态更新
subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
声明要分配的网段地址
subnet 192.168.100.0 netmask 255.255.255.0 {
设置地址池
range 192.168.100.10 192.168.100.200;
指定默认网关地址
option routers 192.168.80.254;
}
host主机声明( 给单机分配固定的IP地址)
指定需要分配固定IP地址的客户机名称
host hostname {
指定该主机的MAC地址
hardware ethernet 00:c0:c3:22: 46:81;
指定保留给该主机的IP地址
fixed-address 192. 168.4.100;
}
systemctl restart dhcpd 启动dhcp服务
ystemctl status dhcpd 查看DHCP服务是否启动
[SW2]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
[SW2]int v10
[SW2-Vlanif10]dhcp select relay
[SW2-Vlanif10]dhcp relay server-ip 192.168.100.20
[SW2-Vlanif10]int v20
[SW2-Vlanif20]dhcp select relay
[SW2-Vlanif20]dhcp relay server-ip 192.168.100.20
option domain-name "benet.con";
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.200;
option routers 192.168.100.254;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.120;
option routers 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.130 192.168.2.150;
option routers 192.168.2.254;
option domain-name-servers 9.9.9.9;
default-lease-time 21600;
max-lease-time 47200;
Linux客户端使用DHCP动态获取IP
方法一
vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
ifdown ens33 ; ifup ens33
方法二
dhlclient -d ens33
查看租约文件
less /var/l ib/ dhcpd/ dhcpd. lease
FTP使用tcp协议的20、21号端口
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
FTP分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接
yum install -y vsftpd
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak
设置匿名用户访问的FTP服务(最大权限)
修改配置文件
vim /etc/vsftpd/vsftpd.conf
开启匿名用户访问。默认已开启
anonymous_enable=YES
开放服务器的写权限(若要上传,必须开启)。默认已开启
write_enable=YES
设置匿名用户所上传数据的权限掩码(反掩码)。
anon_umask=022
允许匿名用户上传文件。默认E注释,需取消注释
anon_upload_enable=YES
允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_mkdir_write_enable=YES
允许删除、重命名、覆盖等操作。需添加
anon_other_write_enable=YES
为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户上传数据.
chmod 777 /var/ftp/pub/
开启服务,关闭防火墙和增强型安全功能
systemctl start vsftpd
systemctl stop firewalld
setenforce 0
名访问测试
在windows系统打开开始菜单,输入cmd命令打开命令提示符
建立ftp连接
ftp 192.168.100.20
匿名访问,用户名为ftp,密码为空,直接回车即可完成登录
匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ftp
查看当前目录
ftp> ls
切换到pub目录
ftp> cd pub
下载文件到当前windows本地目录
ftp> get文件名
上传文件到ftp目录
ftp> put文件名
退出
ftp> quit
设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
修改配置文件
vim /etc/vsftpd/ vsftpd. conf
启用本地用户
local_enable=Yes
关闭匿名用户访问
anonymous_enable=NO
开放服务器的写权限(若要上传,必须开启)
write_enable=YES
可设置仅宿主用户拥有被_上传的文件的权限( 反掩码)
local_umask=077
将访问禁锢在用户的宿主目录中
chroot_local_user=YES
允许被限制的用户主目录具有写权限
allow_writeable_chroot=YES
重启服务
systemctl restart vsftpd
ftp 192.168.100.20
或
ftp://[email protected]
修改匿名用户、本地用户登录的默认根目录
anon_root=/var/www/html anon_root 针对匿名用户
local_root=/var/www/html local_root 针对系统用户
使用user_list用户列表文件
vim /etc/vsftpd/user_list 末尾添加zhangsan用户
zhangsan
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES 启用user_list用户列表文件
userlist_deny=NO 设置黑名单,仅允许user_list用户列表文件的用户访问。默认为YES,为白名单
:
DCHP动态地址解析配置文件在/etc/dhcp/dhcpd.conf文件中配置 注意文件格式结束要;
启用本地用户登陆ftp时要关闭匿名登陆 (注释无效,系统默认开启)