目录
一、dhcp
1、dhcp工作原理
static:静态主机配置协议,写死,固定IP地址。主机IP地址不变,只有人工介入调整才会变化
dhcp:动态主机配置协议,不是固定的IP地址,有dhcp服务端动态的分配一个IP地址黑客户端使用
dhcp有一个地址池,可以分配的IP地址范围
dhcp主要应用场景是在大型局域网中,主要集中地址管理,分配IP地址,可以在网络环境中动态的 分配IP地址、网关、DNS解析地址
dhcp分为客户端和服务端
客户端端口:68 用IP地址范围
服务端端口:67 提供IP地址范围
dhcp的分配方式:
2、dhcp的租约的过程:
第一步:客户端在网络中搜索服务器(广播方式进行大量搜寻)
不仅广播还发送报文:dhcp discover 全网搜索可以给我提供IP地址的服务器
第二步:服务端向客户端响应服务(我是dhcp服务的提供者,我能给你提供IP地址)
服务端只是收到了请求,先检查自己的地址池(检查自身还有没有能够提供的IP地址)
检查完之后若没有可用的IP地址,不能提供服务,消息直接丢弃
检查完之后有可用IP地址,会把IP地址封装在dhcp offer的报文中,以广播的形式发送报文,进行响应客户端
第三步:客户端向目标服务器发出服务请求(向服务端申请,从地址池当中获取一个IP地址)
客户端只会响应第一个收到的offer报文,服务端会把提供的IP地址保留,暂不分配
第四步:服务器向客户端提供请求(服务器给客户端提供IP地址)
服务器确定租约,客户端收到offer报文之后,会发一个request请求到服务端,形成租约:包括IP地址和其他的相关信息,一并以ACK报文发送到客户端
最后客户端收到ACK消息,然后开始配置IP地址、网关、DNS等相关信息。开始使用。
之后若是重启客户端:在租约范围之内会继续使用
第五步、更新租约:
租约达到50%,服务端提醒客户端,是否使用IP地址。如果想要继续使用必须更新租约
客户端发送request包,服务器收到确认你要继续使用,再发一个offer报文,我给你用,但是客户端响应renew报文给服务端,表示更新租约继续使用
3、dhcp实验:
要两台服务器:
服务端:提供IP地址池
客户端:从服务端获取IP地址
50:服务端
51:客户端
全部关闭防火墙安全机制
先服务端:yum -y install dhcp安装dhcp
改配置文件,配置地址池
进入cd /etc/dhcp
进入vim dhcpd.conf
会显示
去模版目录,将模板配置文件复制到dhcp目录下:
因为dhcp只能识别dhcpd.conf配置文件,所以要将模板文件重命名为dhcpd.conf
重命名之前将之前的dhcpd.conf删除,文件名重复
配置文件之前要备份
更改配置文件vim dhcpd.conf
改完配置就要重启服务
回到客户端 进入ens33 把static换成dhcp
之后重启网卡设备:systemctl restart network
去messages看日志
基于host主机声明IP地址:一个mac地址绑定一个IP地址不再改变
host hostname {
hardware ethernet 00:c0:c3:22:46:81;
fixed-address 192.168.4.100;
}
二、FTP:文件传输协议
网络上对文件传输的控制协议。双向传输。
虽然操作系统各不相同,所有文件传输都是基于ftp协议来的
FTP服务器默认使用tcp协议的20、21端口进行通信
20端口建立数据连接,并且传输数据
21端口建立控制连接,传输FTP的控制命令
1、FTP两种模式:
主动模式:
客户端选择一个端口个FTP服务器端的21(建立好控制连接)
传输文件数据时。客户端会选择另外一个端口(1025)和服务端的20端口进行数据连接
服务端通过刚才的控制连接把数据发送到客户端选择的领一个端口(1025)
被动模式:
客户端(1024)也适合服务端的21端口建立控制连接
客户端也会选择另外一个端口(1025),而且服务端也会选择另外一个端口(2023)。
服务端选择一个20的映射端口(2023)
用2023端口和1025端口建立数据传输连接
服务端通过控制连接,从映射端口2023发送数据请求
ftp两种模式:
主动:用服务端21建立控制连接,客户端选择一个端口和服务端的端口进行数据传输
被动:也是用服务端21建立控制连接,客户端选择另外一个端口和服务端的虚拟映射端口连接传输数据
一般情况下,都是被动模式
2、tcp文件传输配置使用:
关闭防火墙和安全机制
安装vsftpd:yum -y install vsftpd
进入vsftpd目录 vim /etc/vsftpd
备份: cp -a vsftpd.conf vsftpd.conf.bak.2023.0911
1、匿名用户登录ftp:
annoymous_enable=YES
允许匿名用户登录
local_enbale=YES
允许系统用户登录(Linux用户)
write_enable=YES
开启上传权限(写权限)
local_umask=022
权限掩码,默认022
anon_upload_enable=YES
允许匿名用户上传文件,默认注释状态。
anon_mkdir_write_enable=YES
允许匿名用户上传目录,默认注释状态
2、允许匿名用户进行增删改查:
手动配置:
anon_other_write_enable=yes
重启服务
netstat -antp | grep vsftpd
查看端口,看是否正常运行
进入cmd 以匿名方式连接服务端
匿名用户的默认家目录在 cd /var/ftp/
给pub家目录赋权 chmod 777 pub
在pnb家目录里创建一个11.txt文件
测试客户端下载:
客户端先进入家目录:cd pub
用创建好的文件上传:
3、禁止匿名用户登录,只允许系统用户登录:
匿名用户登录=no
4、普通用户禁锢在家目录中:
进入配置文件
vim vsftpd.com
/chroot查找n向下匹配
上传下载:
修改匿名用户和系统用户的默认根目录(家目录)
anon_root=/opt/anon/ 匿名用户修改家目录
local_root=/opt/local/ 系统用户修改家目录
先把系统用户的家目录修改,然后禁锢,然后上传和下载
5、vsftpd的黑名单和白名单:
黑名单:允许所有,拒绝个别
白名单:拒绝所有,允许个别
白名单更安全
vim vsftpd打开配置文件
设置黑名单,user_list里面的用户就是黑名单
设置白名单,user_list里面的用户就是白名单
根据设置的黑白名单,去user_list 修改用户名
设置白名单,这时还是不能登录root,因为root用户的权限太高了,有最后一道防线ftpusers防止root用户登录
进去ftpusers将root注释掉或者删除即可登录
最后去去cmd登录