CentOS7部署FTP服务器

  1. 首先准备一台centos7虚拟机,作为服务器IP地址必须是固定的。
bash 复制代码
vim /etc/sysconfig/network-scripts/ifcfg-ens33

配置内容如下:

bash 复制代码
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="6e4ae749-6c47-4cd8-b494-fd80eb40490b"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.1.56
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS1=8.8.8.8
DNS2=114.114.114.114
  1. 配置CentOS7的主机名
bash 复制代码
vim /etc/hostname

自定义一个主机名,最好是三段式,例如:

bash 复制代码
ly.tantanly.org

将主机名信息添加到hosts文件中

bash 复制代码
vim /etc/hosts

内容如下:

重启网络服务:

bash 复制代码
systemctl restart network

检验一下主机名是否已修改:

bash 复制代码
hostname
  1. 准备一个本地的分享数据源(这里采用rpm数据作为分享源文件)

先卸载软件光盘,防止其自动挂载

bash 复制代码
umount /dev/cdrom

重新创建一个挂载目录

bash 复制代码
mkdir /media/cdrom

将光盘挂载到新建的目录上

bash 复制代码
mount /dev/cdrom /media/cdrom
  1. 安装FTP服务
bash 复制代码
[root@localhost ~]# cd /media/cdrom/Packages/
[root@localhost Packages]# rpm -Uvh vsftpd-3.0.2-28.el7.x86_64.rpm 

将packages包的内容拷贝到FTP服务器站点,并启动vsftpd服务

bash 复制代码
[root@localhost Packages]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir yum
[root@localhost ftp]# cd yum
[root@localhost yum]# cp -rf /media/cdrom/* ./

启动vsftpd服务,并将服务添加到开机自启动中

bash 复制代码
systemctl start vsftpd
systemctl enable vsftpd

查看vsftpd服务是否启动

bash 复制代码
netstat -atpn | grep 21
  1. 配置vsfpd安全

a.在防火墙上允许ftp服务

b.添加允许TCP端口3001-3100

修改配置文件:/etc/vsftpd/vsftpd.conf,启动被动模式

bash 复制代码
vim /etc/vsftpd/vsftpd.conf

添加一下内容:

bash 复制代码
pasv_enable=YES
pasv_min_port=3001
pasv_max_port=3100

设置SELinux规则:

bash 复制代码
setsebool allow_ftpd_full_access 1
setsebool httpd_enable_ftp_server 1

重启vsftpd服务

bash 复制代码
systemctl restart vsftpd

防火墙配置

勾选ftp服务

端口添加:3001-3100

  1. 测试,找一台与ftp服务器在同一网段下的主机,没有也可以用物理机修改网卡属性,使其与ftp服务器在同一网段下。

配置好之后,直接在文件夹目录栏中输入:ftp://192.168.1.56,将能访问ftp服务器站点内的数据了。

相关推荐
Nick.Q14 小时前
vim插件的管理与离线安装
linux·编辑器·vim
J2虾虾15 小时前
Docker启动超时,吓得我一身汗
运维·docker·容器
一生只为赢16 小时前
通俗易懂:ARM指令的寻址方式(三)
运维·arm开发·数据结构·嵌入式实时数据库
运维行者_16 小时前
2026 技术升级,OpManager 新增 AI 网络拓扑与带宽预测功能
运维·网络·数据库·人工智能·安全·web安全·自动化
代码的奴隶(艾伦·耶格尔)16 小时前
Nginx
java·服务器·nginx
头发还没掉光光16 小时前
HTTP协议从基础到实战全解析
linux·服务器·网络·c++·网络协议·http
液态不合群16 小时前
Nginx多服务静态资源路径冲突解决方案
运维·nginx
小白同学_C16 小时前
Lab2-system calls && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
物理与数学17 小时前
linux内核 struct super_block
linux·linux内核
Getgit17 小时前
Linux 下查看 DNS 配置信息的常用命令详解
linux·运维·服务器·面试·maven