FTP服务及部署YUM仓库与NFS服务!
Posted 龙少。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP服务及部署YUM仓库与NFS服务!相关的知识,希望对你有一定的参考价值。
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 6月 3 16:55 lisi
drwxr-xr-x. 2 root root 6 10月 14 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服务!的主要内容,如果未能解决你的问题,请参考以下文章