DHCP和FTP
1 DHCP
DHCP:动态主机配置协议,应用在大型的局域网环境中。集中地址管理(地址池,可用ip地址的范围),自动分配客户端的ip地址,gateway(网关),dns服务信息等等。
客户端和服务端
- 服务端:提供ip地址,某种特定功能的提供者。服务端的端口:67
- 客户端:请求ip地址,请求对应的功能的使用者。客户端的端口:68
DHCP的优点
- 降低配置和部署设备的时间
- 降低了配置发生错误的可能
- 集中化管理ip地址的分配
- 提高了ip的利用率
DHCP工作原理
-
发现阶段(DHCP DISCOVER):客户端发送广播报文寻找DHCP服务器。
-
提供阶段(DHCP OFFER):DHCP服务器单播回应提供IP地址和其他配置信息。
-
请求阶段(DHCP REQUEST):客户端根据接收到的OFFER报文,发送广播或单播报文请求IP地址。
-
确认阶段(DHCP ACK):DHCP服务器发送单播报文确认分配的IP地址和其他配置信息。
-
客户端下线之后:
- 客户端进行重新登录,发送一个包含之前dhcp服务端分配的ip信息的Renew Request报文(重新请求报文)。
- 服务端收到请求之后,尝试让客户端继续使用该地址,如果地址不可用才会分配一个新的,回复客户端ack报文。
-
租约到期:
- 租约到期之后,服务端会把ip地址收回,客户端如果想要继续使用该ip地址,必须要更新租约。更新的方式:租约的时间到了一半,客户端发送Renew报文来续约。
- 服务端收到请求之后,尝试让客户端继续使用该地址,如果地址不可用才会分配一个新的,回复客户端ack报文。
1.1 Ubuntu
cd /etc/dhcp
cp dhcpd.conf dhcp.conf.bak # 备份原配置文件(养成好习惯)
vim dhcpd.conf
subnet 192.168.31.0 netmask 255.255.255.0 # 设置网段、子网掩码
range 192.168.31.60 192.168.31.62 # 设置地址池范围
option routers 192.168.31.2 # 设置网关地址
systemctl restart isc-dhcp-server # 重启dhcp服务
dhclient # 刷新
1.2 CentOS
yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcp.conf.example /etc/dhcp/dhcp.conf # centos 原配置文件为空,将example模板复制过来修改
systemctl stop firewalld # 关闭防火墙
setenforce 0 # 关闭selinux安全机制
systemctl restart dhcpd
2 FTP
FTP:File Transfer Protocal:文件传输协议
网络上控制文件的双向传输,虽然说市面上有很多类似ftp的工具,但是协议都是基于ftp的协议,都是一个应用程序。
FTP的端口:
- 20:建立数据连接,并传输文件数据
- 21:建立连接控制,传输ftp的控制命令
ftp数据连接的方式
-
主动模式:服务端对客户端主动发起数据连接(一般不用)
-
被动模式:客户端对服务端发起连接(主要模式)
2.1 vsftp
以 vsftp (开源)为例
apt -y install vsftpd # 下载vsftp
vim /etc/vsftpd.conf # 打开vsftp配置文件,作如下修改
listen=YES
# 启用 vsftpd 监听 IPv4 连接。如果设置为 NO,vsftpd 将不会运行。
anonymous_enable=YES
# 允许匿名用户登录。设置为 NO 将禁止匿名访问。
local_enable=YES
# 允许本地用户登录。设置为 NO 将禁止本地系统用户登录。
write_enable=YES
# 允许 FTP 命令中的写操作(如 STOR, STOU, DELE, RMD, RNFR, RNTO, MKD, WRQ)。设置为 NO 将禁止所有写操作。
anon_upload_enable=YES
# 允许匿名用户上传文件。如果 anonymous_enable 也是 YES,则匿名用户可以上传文件到服务器。
anon_mkdir_write_enable=YES
# 允许匿名用户创建新目录。如果 anonymous_enable 也是 YES,则匿名用户可以创建新目录。
chroot_local_user=YES
# 限制本地用户的访问范围,确保他们只能在其主目录内活动,从而提高 FTP 服务器的安全性。
allow_writeable_chroot=YES
# 允许 chroot 目录具有写权限。这在使用 chroot 功能时很重要,以确保用户可以在其 chroot 环境中进行写操作。
userlist_file=/etc/vsftpd.userlist
# 指定用户列表文件的路径。该文件包含允许或拒绝登录的用户列表。
userlist_enable=YES
# 启用用户列表功能。如果设置为 NO,则忽略 userlist_file 中的设置。
userlist_deny=YES
# 设置为 YES,则在 userlist_file 中列出的用户将被拒绝登录(黑名单,允许所有,拒绝个别)。设置为 NO,则列出的用户将被允许登录(白名单,拒绝所有,允许个别)。
systemctl restart vsftpd.service # 修改完成后重启服务
注:root等权限高的的系统用户都被列在 /etc/ftpusers 中,默认不允许登录。

2.2 其他 ftp 命令
sz 将Linux中的文件下载到电脑
rz 将电脑的文件上传到Linux
893

被折叠的 条评论
为什么被折叠?



