DHCP和FTP

DHCP和FTP

1 DHCP

DHCP:动态主机配置协议,应用在大型的局域网环境中。集中地址管理(地址池,可用ip地址的范围),自动分配客户端的ip地址,gateway(网关),dns服务信息等等。

客户端和服务端

  • 服务端:提供ip地址,某种特定功能的提供者。服务端的端口:67
  • 客户端:请求ip地址,请求对应的功能的使用者。客户端的端口:68

DHCP的优点

  1. 降低配置和部署设备的时间
  2. 降低了配置发生错误的可能
  3. 集中化管理ip地址的分配
  4. 提高了ip的利用率

DHCP工作原理

  • 发现阶段(DHCP DISCOVER):客户端发送广播报文寻找DHCP服务器。

  • 提供阶段(DHCP OFFER):DHCP服务器单播回应提供IP地址和其他配置信息。

  • 请求阶段(DHCP REQUEST):客户端根据接收到的OFFER报文,发送广播或单播报文请求IP地址。

  • 确认阶段(DHCP ACK):DHCP服务器发送单播报文确认分配的IP地址和其他配置信息。

  • 客户端下线之后:

    1. 客户端进行重新登录,发送一个包含之前dhcp服务端分配的ip信息的Renew Request报文(重新请求报文)。
    2. 服务端收到请求之后,尝试让客户端继续使用该地址,如果地址不可用才会分配一个新的,回复客户端ack报文。
  • 租约到期:

    1. 租约到期之后,服务端会把ip地址收回,客户端如果想要继续使用该ip地址,必须要更新租约。更新的方式:租约的时间到了一半,客户端发送Renew报文来续约。
    2. 服务端收到请求之后,尝试让客户端继续使用该地址,如果地址不可用才会分配一个新的,回复客户端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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值