Linux网络DHCP与FTP

294 阅读5分钟

前言

DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

FTP(文件传输协议)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。 FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。

DHCP

dhcp工作原理

Snipaste_2022-08-12_14-12-19.png

dhcp是用于udp端口 67端口用于(服务端)68端口用于(客户端)

  1. 客户端在网络中搜索服务器
    DHCP客户机向局域网中所有DHCP服务器发送DHCP discovery请求。来请求DHCP服务器分配一个IP地址。
  2. 服务端向客户端响应服务
    局域网中所有DHCP服务器回复DHCP offer, 为客户机提供IP地址。
  3. 客户端向服务器发送服务请求
    客户机选择第一台DHCP服务器回复的ip地址, 并且要发送DHCP request,通告给局域网中所有的DHCP服务器,它选择了哪个IP和哪个DHCP (发送DHCP request的原因有两层,第- -层是通告所有DHCP,让未被选中的服务器,把未使用的地址收回,第二层是通告给被选中的服务器,这个IP地址客户机要使用了)
  4. 服务端向客户端提供服务
    被选中的DHCP服务器收到DHCP request消息后,会给DHCP客户机回复一个DHCP ACK,告知客户端此ip地址可以被使用了,客户机将此IP与自己的MAC地址绑定,方便下次使用,而其他DHCP服务器将收回分配给该客户机的ip地址。

Linux中基本配置

linux dhcp配置:

systemctl stop firewalld    @关闭防火墙
setenforce 0                @关闭核心防护
yum install -y dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.213.0 netmask 255.255.255.0 {        @要分配的网段地址
range 192.168.213.5 192.168.213.7;                    @设置地址池
option routers 192.168.213.254;                       @指定默认网关地址
}    
systemctl restart dhcpd                              @重启服务
vim /etc/sysconfig/network-s-scripts/ifcfg-ens33     @配置网卡设置
BOOTPROTO=dhcp                                       @改为动态获取
systemctl restart network                            @重启网卡服务
客户端
vim /etc/sysconfig/network-s-scripts/ifcfg-ens33     @配置网卡设置
BOOTPROTO=dhcp                                       @改为动态获取

Snipaste_2022-08-12_15-16-46.png DHCP配置文件配置 Snipaste_2022-08-12_15-28-53.png 网卡配置文件配置 Snipaste_2022-08-12_15-46-18.png

结果 Snipaste_2022-08-12_14-46-28.png

Snipaste_2022-08-12_15-51-38.png

  • 配置服务端中指定客户端登陆IP地址
@host主机声明(给单机分配固定的 IP 地址)
host hostname {                                @指定需要分配固定 IP地址的客户机名称
  hardware ethernet 00:0c:29:29:73:f6;         @指定该主机的 MAC地址
  fixed-address 192.168.213.213;                 @指定保留给该主机的 IP地址
}

Snipaste_2022-08-13_11-58-59.png

Snipaste_2022-08-13_14-05-12.png

FTP

ftp工作原理

Snipaste_2022-08-12_14-11-28.png

ftp 文件传输协议

FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接

Linux中ftp基本配置

ftp配置

yum install -y vsftpd             @安装vsftpd服务
cd /etc/vsftpd/                   @切换到配置目录中
cp vsftpd.conf vsftpd.conf.bak    @将配置文件备份
设置匿名用户访问的FTP服务(最大权限)
@修改配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES              @开启匿名用户访问。默认已开启
write_enable=YES                  @开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022                    @设置匿名用户所上传数据的权限掩码(反掩码)。
anon_upload_enable=YES            @允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES       @允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable =YES      @允许删除、重命名、覆盖等操作。需添加

chmod 777 /var/ftp/pub/           @给匿名访问ftp的根目录下的 pub子目录设置最大权限,以便匿名用户上传数据

systemctl start vsftpd            @开启vsftpd服务
systemctl stop firewalld          @关闭防火墙
setenforce 0                      @关selinux

修改匿名用户、本地用户登录的默认根目录
anon_root=自定义目录              @anon_root 针对匿名用户
local_root=自定义目录             @local_root 针对系统用户

Snipaste_2022-08-12_16-14-29.png Snipaste_2022-08-12_16-22-23.png

Snipaste_2022-08-12_16-58-57.png 结果

Snipaste_2022-08-13_14-48-39.png

使用user_list 用户列表文件
vim /etc/vsftpd/user_list
//末尾添加用户名称
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES         @启用user_list用户列表文件
userlist_deny=NO            @设置白名单,仅允许user_list用户列表文件的用户访问。默认为YES,为黑名单,禁用

Snipaste_2022-08-13_14-58-14.png

结束语:hdcp和ftp是网络中的协议,用于便捷自动化安装系统,传输文本。