DHCP
动态主机配置协议-----DHCP
服务器配置好了地址池 192.168.233.10 192.168.233.20
客户端从地址池中随机获取一个IP地址,IP地址会发生变化,使用服务端提供的IP地址,时间限制,重启之后也会更换。
DHCP优点
1.降低了配置和部署的时间
2.降低了发生配置错误的可能性
3.IP地址可以进行集中化管理
4.提高了ip利用率
服务端和客户端
服务端--提供某种特定的服务
客户端--使用这种特定的服务
c/s client servers 客户端 服务端 应用程序之间,通过端口进行通信,实现c/s
b/s browser servers 浏览器 服务端 页面
DHCP分配方式
·自动分配: 分配到一个IP地址后永久使用
·手动分配: 由DHCP服务器管理员专门指定IP地址
·动态分配: 自动分配,时间限制,重启之后,ip会被回收,给下一个客户机继续使用
DHCP租约过程
初始化过程:
1.在整个局域网中发送广播寻找dhcp的服务器。discover报文
2.服务器向客户端响应,发送offer,华为设备是单播,其他是广播
3.客户端向服务端发送服务器强求request报文,请求服务端分配一个ip地址
4.服务端收到了请求,在地址池中选一个ip,标记为已用,设定租期
5.客户端收到了这个信息,然后开始使用回复服务端ack报文。
使用过程:
1.租约到期后重启
2.重新从服务端获取地址客户端发送一个renew request服务器收到请求,从地址池当中获取一个ip,标记医用,设置租约
客户端使用ip地址,ack报文
test1 服务端 dchp服务 192.168.233.10 192.168.233.100-192.168.233.110
test2 客户端 修改获取ip地址的方式
dhcp服务端的端口号是67
客户端的端口号是68
FTP
ftp:file transfer protocol 文件传输协议。在网络上用于双向进行传输。也是一个应用程序
c/s架构
不同的操作系统有不同ftp的软件,使用的协议都是一样的。
ftp基于tcp协议,有两个端口
20建立数据连接,传输数据
21连接控制,传输ftp的控制命令
ftp服务端和客户端,建立连接之后,双向进行的文件传输。
ftp建立数据连接的模式:
主动模式:服务器主动向端口发起数据连接。
被动模式:服务器等待客户端发起连接。
ftp被动模式更容易穿越防火墙,默认是被动模式。
匿名用户默认的根目录:/var/ftp/pub
上传是put,本地文件上传到服务器
下载get ,把服务器的文件下载到本地
匿名用户的权限太高,存在安全隐患。禁止匿名用户登录!
只要是系统用户登录,都禁锢在家目录。
黑名单和白名单
黑名单:在名单上的不允许登录(允许所有拒绝个别)
白名单:只有在名单上的才允许登录(拒绝所有允许个别)
实验1
[root@test2 dhcp]# cd /etc/vsftpd/
[root@test2 vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd.conf.bak.20240604 vsftpd_conf_migrate.sh
[root@test2 vsftpd]# cd /var/ftp/pub/
[root@test2 pub]# pwd
/var/ftp/pub
[root@test2 pub]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #允许匿名用户登录
local_enable=YES #允许系统用户访问
write_enable=YES #可以在服务器上进行操作
#anon_upload_enable=YES #允许匿名用户上传文件
#anon_mkdir_write_enable=YES #允许匿名用户创建,上传目录
实验2
第一步关闭防火墙安装vsftpd
[root@test2 ~]# systemctl stop firewalld
[root@test2 ~]# setenforce 0
[root@test2 ~]# yum -y install vsftpd
第二步:进入vsftpd并对vsftpd进行备份
[root@test2 ~]# cd /etc/vsftpd
[root@test2 vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@test2 vsftpd]# cp vsftpd.conf vsftpd.conf.bak.20240604
[root@test2 vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd.conf.bak.20240604 vsftpd_conf_migrate.sh
第三步:配置文件
[root@test2 vsftpd]# vim vsftpd.conf
12 anonymous_enable=YES
13 #允许匿名用户登录
16 local_enable=YES
17 #允许系统用户访问
19 write_enable=YES
20 #可以在服务器上进行操作
29 #anon_upload_enable=YES
30 #允许匿名用户上传文件
33 #anon_mkdir_write_enable=YES
34 #允许匿名用户创建,上传目录
第四步:配置好文件后重启设备
[root@test2 vsftpd]# systemctl restart vsftpd
第五步:win+r cmd
Microsoft Windows [版本 10.0.22631.3593]
(c) Microsoft Corporation。保留所有权利。
C:\Users\王>ftp 192.168.65.21
连接到 192.168.65.21。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.65.21:(none)): ftp
331 Please specify the password.
密码:
230 Login successful.
第六步:在Xshell赋予所有权限写入信息
[root@test2 pub]# chmod 777 /var/ftp/pub/
[root@test2 pub]# ls
[root@test2 pub]# echo "hello" > test.txt
[root@test2 pub]# ls
test.txt
第七步:在win+r里查看是否受到写入信息
ftp> cd pub
250 Directory successfully changed.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
test.txt
226 Directory send OK.
ftp: 收到 13 字节,用时 0.00秒 13.00千字节/秒。