FTP服务及部署YUM仓库与NFS服务!

Posted 龙少。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP服务及部署YUM仓库与NFS服务!相关的知识,希望对你有一定的参考价值。

一.FTP服务

1.概述

FTP(File Transfer Protocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端钦件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。tcp协议:20,21端口

2.ftp服务的2种模式

FTP是一种文件传输协议,它支持两种模式一种方式叫做Standard (也就是Active,主动方式)一种是Passive(也就是PASV.被动方式)。Standard模式FTP的客户端发送 PORT命令到FTP server。Passive模式FTP的客户端发送PASV命令到FTP Server

Standard模式

FTP客户端首先和FTP Server的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

Passive模式

在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

3.搭建ftp服务

(1)搭建环境

一台linux,ip:192.168.206.174
一台win10,ip:192.168.206.1

(2)安装

linux系统中,是vsftpd提供ftp的服务(没有依赖包,可直接yum安装,也可光盘安装);vsftp全称:very secure ftp daemon;非常安全的ftp服务

安装ftp服务
yun -y install vsftpd


[root@localhost ~]# yum info vsftpd

已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.lzu.edu.cn
 * extras: mirror.lzu.edu.cn
 * updates: mirror.lzu.edu.cn
已安装的软件包
名称    :vsftpd
架构    :x86_64
版本    :3.0.2
发布    :28.el7
大小    :353 k
源    :installed
来自源:base
简介    : Very Secure Ftp Daemon
网址    :https://security.appspot.com/vsftpd.html
协议    : GPLv2 with exceptions
描述    : vsftpd is a Very Secure FTP daemon. It was written completely from
         : scratch.

(3)配置文件

rpm -ql vsftpd

在这里插入图片描述
在这里插入图片描述

4.查看匿名用户,开启服务,查看服务端口是否开启

[root@localhost ~]# cat /etc/passwd |grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

[root@localhost ~]# systemctl start vsftpd

[root@localhost ~]# netstat -antp | grep vsftp
tcp6       0      0 :::21                   :::*                    LISTEN      10829/vsftpd        
[root@localhost ~]# 

5.连接

win10本机端ftp连接,并用ftp登录
在这里插入图片描述
win10本机端用ftp连接,用用户登录
在这里插入图片描述

服务端

[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub

查看主配置文件
vim /etc/vsftpd/vsftpd.conf
在这里插入图片描述

本机ftp连接服务端并下载文件

先在服务端创建一个文件

[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub

[root@localhost ftp]# touch lisi
[root@localhost ftp]# ll
总用量 0
-rw-r--r--. 1 root root 0 63 16:55 lisi
drwxr-xr-x. 2 root root 6 1014 2020 pub
[root@localhost ftp]# 

本机端下载
使用get下载
在这里插入图片描述
本机查看下载的文件
在这里插入图片描述

从本机端上传文件到服务端

需要修改配置文件参数
vim /etc/vsftpd/vsftpd.conf

在这里插入图片描述

给权限
在这里插入图片描述

测试验证上传

在这里插入图片描述

二.NFS服务

1.nfs概念

NFS 是一种基于 TCP/IP 传输的网络文件系统协议
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远 程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。NFS端口号2049,RPC端口号111
但是,NFC没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网内使用

2.nfs的优缺点

对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。

3.具体配置

(1)安装软件

[root@localhost ~]# yum -y install nfs-utils.x86_64 rpcbind.x86_64
。。。
nfs-utils.x86_64 1:1.3.0-0.68.el7 rpcbind.x86_64 0:0.2.0-49.el7

完毕!
[root@localhost ~]#

(2)设置共享目录

mkdir -p /opt/lic
chmod 777 /opt/lic

vim /etc/exports
/opt/wwwroot 192.168.184.0/24(rw,sync,no_root_squash)
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw)

(3)启动 NFS 服务程序

手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs

systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

(4)查看本机发布的 NFS 共享目录

exportfs -rv #发布共享
showmount -e

(5)手动挂载NFS共享目录

mkdir /kgc
mount 192.168.184.10:/root/ljm /kgc
df -Th

(6)设置自动挂载

vim /etc/fstab

192.168.80.10:/opt/wwwroot /myshare nfs defaults,_netdev 0 0

_netdev :表示挂载设备需要网络

(7)查看自动挂载是否设置成功

umount /kgc
df
mount -a
df

(8)强制解挂

如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。

umount -lf /myshare

三.yum仓库

// An highlighted block
var foo = 'bar';

1.更换yum源为阿里云源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 
yum clean all  //清理缓存数据
 
yum makecache    //重建元数据缓存

2.更换yum源为本地安装源

①准备软件仓库

[root@localhost ~]# mount /dev/sr0 /mnt   //挂载光盘充当yum仓库
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /mnt    //查看挂载后的目录有哪些内容(Packages内为rpm软件包)
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@localhost ~]# 

②配置软件仓库位置

[root@localhost ~]# vim /etc/yum.repos.d/local.repo     //yum软件仓库载此目录下,在创建一个
 
[local]            //表示仓库类别
name=local             //仓库名称(说明)
baseurl=file:///mnt     //访问路径
enable=1       //启用此仓库
gpgcheck=0     //不验证软件包的签名

③清楚缓存,建立元数据缓存

[root@localhost ~]# yum clean all    //清除缓存
已加载插件:fastestmirror, langpacks
正在清理软件源: FTP local
Cleaning up list of fastest mirrors
Other repos take up 401 M of disk space (use --verbose for details)
[root@localhost ~]# yum makecache     //建立元数据缓存
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
FTP                                                                                          | 2.9 kB  00:00:00     
local                                                                                        | 3.6 kB  00:00:00     
(1/7): FTP/filelists_db                                                                      | 3.2 MB  00:00:00     
(2/7): FTP/primary_db                                                                        | 3.2 MB  00:00:00     
(3/7): local/group_gz                                                                        | 166 kB  00:00:00     
(4/7): FTP/other_db                                                                          | 1.3 MB  00:00:00     
(5/7): local/filelists_db                                                                    | 3.2 MB  00:00:00     
(6/7): local/primary_db                                                                      | 3.1 MB  00:00:00     
(7/7): local/other_db                                                                        | 1.3 MB  00:00:00     
元数据缓存已建立
[root@localhost ~]# 

④查看软件源

[root@localhost ~]# yum repolist 
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                                  源名称                                                 状态
local                                                   local                                                  4,021
repolist: 4,021
[root@localhost ~]# 

⑤验证

[root@localhost ~]# yum -y install httpd

3.更换源为内网FTP发布的YUM源

①安装启用vsftpd服务

[root@localhost ~]# yum -y install vsftpd //下载安装

[root@localhost ~]# systemctl start vsftpd //启用vsftpd服务

②配置软件仓库

[root@localhost ~]# mount /dev/sr0 /mnt   //挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# mkdir /var/ftp/ftp     //创建挂载目录
[root@localhost ~]# cp -a /mnt/ *  /var/ftp/ftp/    //将光盘内容复制到该文件夹,充当软件仓库

③ 配置软件仓库位置(客户机)

[root@localhost ~]# vim /etc/yum.repos.d/ftp.repo
[root@localhost ~]# cat /etc/yum.repos.d/ftp.repo
[FTP]      //标识仓库类别
name=FTP    //仓库名称
baseurl=ftp://192.168.30.4/ftp    //访问路径
enable=1             //启用此仓库
gpgcheck=0          //不验证软件包的签名
 
[root@localhost ~]# 

④清缓存,建立元数据缓存(客户机)

[root@localhost ~]# yum clean all     //清除缓存
已加载插件:fastestmirror, langpacks
正在清理软件源: FTP
Cleaning up list of fastest mirrors
Other repos take up 401 M of disk space (use --verbose for details)
[root@localhost ~]# yum makecache    //建立元数据缓存
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
FTP                                                                                          | 3.6 kB  00:00:00     
(1/4): FTP/group_gz                                                                          | 166 kB  00:00:00     
(2/4): FTP/primary_db                                                                        | 3.1 MB  00:00:00     
(3/4): FTP/filelists_db                                                                      | 3.2 MB  00:00:00     
(4/4): FTP/other_db                                                                          | 1.3 MB  00:00:00     
元数据缓存已建立
[root@localhost ~]# yum repolist    //显示软件源
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                                   源名称                                                状态
FTP                                                      FTP                                                   4,021
repolist: 4,021
[root@localhost ~]#

⑤测试安装httpd(客户机)

[root@localhost ~]# yum -y install httpd //安装httpd

[root@localhost ~]#

⑥FTP软件仓库增加软件时,需更新yum源的元数据信息

[root@localhost data]# ls
nginx-1.16.1-3.el7.x86_64.rpm                        nginx-mod-http-xslt-filter-1.16.1-3.el7.x86_64.rpm
nginx-all-modules-1.16.1-3.el7.noarch.rpm            nginx-mod-mail-1.16.1-3.el7.x86_64.rpm
nginx-filesystem-1.16.1-3.el7.noarch.rpm             nginx-mod-stream-1.16.1-3.el7.x86_64.rpm
nginx-mod-http-image-filter-1.16.1-3.el7.x86_64.rpm  openssl11-libs-1.1.1g-3.el7.x86_64.rpm
nginx-mod-http-perl-1.16.1-3.el7.x86_64.rpm
 
[root@localhost data]# cp * /var/ftp/ftp/Packages/     //将rpm包放到软件仓库中
 
[root@localhost data]# createrepo --update /var/ftp/ftp/Packages/    //手动更新依赖关系
Could not find valid repo at: /var/ftp/ftp/Packages/
Spawning worker 0 with 2015 pkgs
Spawning worker 1 with 2015 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost data]# 

⑦更新客户机软件仓库位置

[root@localhost ~]# vim /etc/yum.repos.d/ftp.repo  
 
[FTP]
name=FTP
baseurl=ftp://192.168.30.4/ftp/Packages    //手动更新Packages目录
enable=1
gpgcheck=0

⑧查看可安装软件数量

[root@localhost ~]# yum repolist     //4021没变化
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                                   源名称                                                状态
FTP                                                      FTP                                                   4,021
repolist: 4,021
[root@localhost ~]# 

⑨清除缓存,重建元数据信息

[root@localhost ~]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: FTP
Cleaning up list of fastest mirrors
Other repos take up 401 M of disk space (use --verbose for details)
[root@localhost ~]# yum makecache 
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
FTP                                                                                          | 2.9 kB  00:00:00     
(1/3): FTP/filelists_db                                                                      | 3.2 MB  00:00:00     
(2/3): FTP/other_db                                                                          | 1.3 MB  00:00:00     
(3/3): FTP/primary_db                                                                        | 3.2 MB  00:00:00     
元数据缓存已建立
[root@localhost ~]# yum repolist    //变为4030
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                                   源名称                                                状态
FTP                                                      FTP                                                   4,030
repolist: 4,030
[root@localhost ~]#

⑩测试安装nginx

[root@localhost ~]# yum -y install nginx

以上是关于FTP服务及部署YUM仓库与NFS服务!的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统部署YUM远程仓库及NFS共享服务

部署YUM源仓库与NFS共享存储服务

linux --FTP服务器,部署YUM仓库,NFS共享服务

Linux不得不会的技能之FTP服务NFS服务及yum仓库

Linux中部署YUM仓库及NFS共享服务

linux-FTP服务器YUM仓库服务NFS共享存储服务