DHCP和FTP

182 阅读5分钟

image.png


DHCP动态主机配置协议

DHCP使用UDP协议工作,有两个端口,服务端为67,客户端为68
其中服务器使用由静态配置的固定IP

主要有两个用途

  1. 给内部网络或网络服务供应商自动分配IP地址
  2. 给用户或者内部网络管理员作为对所有计算机作中央管理的手段

使用DHCP的好处

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免IP地址冲突
  • 当更改IP地址段时,不需要重新配置每个用户的IP地址
  • 提高了IP地址的利用率
  • 方便客户端的配置

DHCP的IP地址自动获取工作原理

image.png

  • 第一步(DHCP_DISCOVER):客户端在网络中搜索服务器。客户端通过广播发送DHCP Discover报文寻找服务器端
  • 第二步(DHCP_OFFER):服务器向客户端响应服务。服务器端通过单播发送DHCP Offer报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的IP地址分配给客户端
    • 华为的路由器使用的是单播
    • 其余的(思科、windows、linux)使用的是广播
  • 第三步(DHCP_REQUEST):客户端向服务器发出服务请求。如果有多台DHCP服务器向该客户端发来DHCP offer报文,客户端只接受第一个收到的DACP-offer报文并提取IP地址,然后客户端通过广播发送DHCP Request报文告知服务器端本地选择使用该IP地址
    • 华为系统的DHCP服务器会按照由大到小的顺序从IP池里分配IP
    • 其他的是从小到大分配
  • 第四步(DHCP_ACK):服务器向客户端提供服务。服务器通过单播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息
  • 第五步:重新连接 DHCP客户机每次重新登录网络时,不需要再发送 DHCP Discover信息,而是直接发送包含前一次所分配的 IP地址的DHCP Request请求信息
  • 第六步:更新租约 当DAcP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request包,要求更新现有的地址租约

配置DHCP服务器

DHCP服务器可以通过路由器,或者Win/Linux服务器主机来设置

全局配置参数

  • 默认租约为6小时,单位为秒:default-lease-time 21600;
  • 最大租约为12小时,单位为秒:max-lease-time 43200;
  • 指定默认域名:option domain-name "benet.com" ;
  • 指定DNS服务器地址:option domain-name-servers 202.106.0.20, 202.106.148.1;
  • 禁用DNS动态更新:ddns-update-style none;

准备工作

  • 安装DHCP image.png
  • 关闭防火墙和selinux image.png image.png

操作过程

  1. 前往查看配置文件,但配置文件目录为空 image.png

  2. 将样例文件覆盖原来的空配置文件,在复制来的文件下进行操作 image.png image.png

  3. 在配置文件中配置相关信息,并开启dhcpd服务,设为开机自启 image.png image.png image.png

  4. 将虚拟网络适配器改为仅主机,取消勾选本地DHCP。服务端和客户端都选择创建的仅主机模式 image.png image.png

  5. 进入客户端网卡配置,BOOTPROTO改成动态dhcp,下面配置的地址注释了,保存退出 image.png

  6. 重启客户端网卡服务,发现获取到了地址池里的地址 image.png

FTP用来传输文件的协议

FTP服务器默认使用TCP协议,通过20和21端口与客户端通信

  • 20端口用于建立数据连接,并传输文件数据
  • 21端口用于建立控制连接,并传输FTP控制命令

FTP数据连接两种模式

  • 主动模式:服务器主动发起数据连接
  • 被动模式:服务器被动等待数据连接

准备工作

  • 安装vsftpd image.png

  • 备份配置文件。如果更改完配置文件出问题,可通过备份修复 image.png

  • 开启服务systemctl start vsftpd,关闭防火墙和selinux image.png image.png

设置匿名用户访问的FTP服务

匿名用户可以有最大权限

  1. 修改配置文件/etc/vsftpd/vsftpd.conf image.png image.png

2.在匿名访问ftp的根目录下创建一个新目录,设置最大权限,以便匿名用户上传数据 image.png image.png

  1. 新建一个测试用的文件 image.png

  2. 匿名访问测试,在Windows系统打开开始菜单,输入 cmd 命令打开命令提示符。用户名为ftp,密码为空,直接回车即可完成登录。匿名用户访问的根目录即/var/ftp目录 image.png image.png

  3. 用get命令进行下载,下载到当前目录。如果打算下载到桌面,则从桌面登录进行下载 image.png image.png image.png image.png

  4. put用于上传文件 image.png image.png image.png

设置本地用户验证访问ftp

禁止切换到ftp以外的目录,默认登录的根目录为本地用户的家目录

  1. 修改配置文件/etc/vsftpd/vsftpd.conf,修改完重启vsftp服务 image.png 这两项如果不设置,登录的用户可切换所在目录进行修改,风险较大。 image.png

  2. 添加一个新用户用于测试 image.png

  3. 登录测试的用户,登录上后,位置在该用户家目录

    • tips:使用匿名用户用登录ftp,根目录为/var/ftp;本地用户登录,根目录为用户自己的家目录
      image.png
  4. 上传文件,然后在该用户家目录中就能看到文件被上传过来。 image.png image.png 反过来传输文件同样可行 image.png image.png

修改用户登入的默认根目录 修改配置文件/etc/vsftpd/vsftpd.conf

  • anon_root 对匿名用户:anon_root=/var/www/html
  • local_root 对系统用户:local_root=/var/www/html image.png

图形界面访问

  1. 双击网络,框中输入ftp://IP地址,然后通过用户名和密码登录 image.png

  2. 需要上传下载文件,直接拖动进入即可 image.png image.png

用户列表设置

相当于白名单黑名单

用户列表文件/etc/vsftpd/user_list

  • 如果userlist_deny=NO,这就相当于白名单,只有名单上的用户可访问
  • 如果userlist_deny=YES,这就相当于黑名单,名单上的用户不可访问 image.png image.png 重启服务,再使用不在列表上的用户登录将无法成功。 image.png