nfs、iscsi共享服务的部署及安全优化

  • 1.nfs 的基本信息
  • 1.1nfs服务简介
  • 1.2 NFS的基本信息
  • 2. nfs 的安装与启用
  • 3.nfs配置参数
  • 4.nfs自动挂载
  • 5.iscsi设备共享
  • 6.永久挂载设备
  • 7.卸载设备


1.nfs 的基本信息

1.1nfs服务简介

NFS(Net File System)即网络文件系统,它是由SUN公司研制的UNIX表示层协议,能够使客户端主机访问网络上其余主机的文件系统资源。nfs的数据传输优化和安全性能要比samba好,其客户端和服务端组件是一体的,其服务由软件包nfs-utils提供,samba服务使用的是139、445固定端口,nfs默认使用的是2049端口。当客户端主机访问nfs服务器上的共享资源时,会先访问服务器上的rpc-bind服务,rpc-bind会为客户端主机分配一个随机的访问端口号,客户端主机使用该端口号进一步访问服务器上的mounted软件,mounted软件负责对nfs服务器上所有共享资源进行控管,当客户端主机需要访问的共享资源存在时,mounted程序会进一步带领客户端主机通过2049端口访问nfs服务的共享资源,由于rpc-bind为客户端主机分配的访问端口号是随机的,所以nfs的安全性能要比samba好。

1.2 NFS的基本信息

信息

解释

nfs-utils

安装包

nfs-server

服务脚本

/etc/exports

共享配置文件

默认端口

2049

2. nfs 的安装与启用

[root@westos_storage ~]# dnf install nfs-utils.x86_64 -y              //安装
[root@westos_storage ~]# systemctl enable --now nfs-server.service     //启用

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口

添加火墙策略

[root@westos_storage ~]# firewall-cmd --permanent --add-service=nfs
[root@westos_storage ~]# firewall-cmd --permanent --add-service=mountd
[root@westos_storage ~]# firewall-cmd --permanent --add-service=rpc-bind
[root@westos_storage ~]# firewall-cmd --reload

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_02

netstat -antlupe | grep 2049        //查看端口
showmount -e 172.25.254.100          //访问本机的共享资源

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务端_03

3.nfs配置参数

anonuid=1000,anongid=1000	#指定用户身份
sync						#更改生成后同步数据到服务器
async						#时时同步数据到服务器
rw							#读写
ro							#只读
no_root_squash				#root用户挂载不转换身份

建立实验环境:

mkdir /westosdir      /建立挂载目录
chmod 777 /westosdir/       //更改权限
touch /westosdir/westosfile{1..3}

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_04


1、所有文件只读共享

vim /etc/exports        //编写配置目录
cat /etc/exports       
/westosdir         *(ro,sync)                   //只读共享
exportfs -rv          //使配置文件生效
showmount -e 172.25.254.100                    //查看共享目录
mount 172.25.254.100:/westosdir   /mnt         挂载

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_05

怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_06


2、对200主机读写共享,其他主机只读共享

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务端_07


在服务端:

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务端_08

在客户端(172.25.254.200): 创建文件成功 ,可以进行读写共享

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_09

在服务端(172.25.254.100): 创建文件失败,只能可读共享, 当客户端挂载共享到本地目录后,使用到的用户身份是服务器上的nobody,

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_10

3、指定客户端在挂载时挂载用户是id=1000在服务端(172.25.254.100):

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_11

在客户端(172.25.254.200):

怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_12

在服务端(172.25.254.100):

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_13


4、no_root_squash即使用root用户身份挂载时不转换身份

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_14


在服务端(172.25.254.100):*

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_15


在客户端(172.25.254.200):

怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_16


在服务端(172.25.254.100):*

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务端_17

4.nfs自动挂载

dnf install autofs -y      //安装自动挂载软件

vim /etc/auto.master     //编辑主挂载策略文件
/westos               /etc/auto.nfs
最终挂载点的上层目录        子策略文件

vim /etc/auto.nfs       //  编辑子策略文件,该文件默认不存在,需要自行建立
nfs                 -rw     172.25.254.100:/westosdir    
最终挂载点的相对路径   挂载参数   nfs服务器上共享出来的资源

systemctl restart autofs.service         //重启服务

cd /westos/nfs                      //进入该目录,发现自动挂载
df

dnf install autofs -y //安装自动挂载软件

怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_18

怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_19


怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_20

5.iscsi设备共享

在服务端:

**磁盘分区**
virt-manager   //给服务端新建一块5G大小的硬盘

fdisk -l   查看 
Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 sectors

fdisk /dev/vdb  建立磁盘分区
Command (m for help): n
SelCommand (m for help): pect (default p): 
Partition number (1-4, default 1): 
First sector (2048-10485759, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): +2G
Command (m for help): p
Command (m for help): wq

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_21


怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_22

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_23

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_24

**共享策略**
dnf install targetcli -y    //安装与启用targetcli共享策略管理软件
systemctl enable --now target

targetcli    用此命令编写共享策略
/backstores/block create westos:storage1 /dev/vdb1   //建立内部指定设备
                           在此软件中设备的别名  系统中真实设备
/iscsi create iqn.2021-08.org.westos:storage1    
//建立对外共享名称,iqn的命名方式iscsi限定名称格式 iqn.YYYY-MM.域名反写:别名

iscsi/iqn.2021-08.org.westos:storage1/tpg1/luns create /backstores/block/westos:storage1
//把共享名称和内部指定设备关联

iscsi/iqn.2021-08.org.westos:storage1/tpg1/acls create iqn.2021-08.org.westos:westoskey
//为共享设备设定访问key 

exit

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务端_25

怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_26


怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_27

**火墙策略**
firewall-cmd --permanent --add-port=3260/tcp
//开放服务的端口
firewall-cmd --reload

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_28


在客户端:

**客户端安装与配置**
dnf install iscsi-initiator-utils.x86_64 -y  //安装客户端软件
systemctl status iscsid   对客户端配置控制服务
systemctl status iscsi    客户端对于资源利用的服务

怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_29

iscsiadm -m discovery -t st -p 172.25.254.100   //共享信息查询
        mode        指定要识别的识别理性   指定资源主机ip

iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.100 -l
访问名称                        登陆设备
//登陆共享设备,访问失败,需要指定共享key

vim /etc/iscsi/initiatorname.iscsi   //指定共享key  
InitiatorName=iqn.2021-08.org.westos:westoskey
systemctl restart iscsid.service

iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.100 -l
//登陆成功

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_30

fdisk -l
Disk /dev/sda: 2 GiB, 2147483648 bytes, 4194304 sectors

fdisk  /dev/sda     建立分区
Command (m for help): n
Select (default p): 
Partition number (1-4, default 1): 
First sector (2048-4194303, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303): 
Command (m for help): p
Command (m for help): wq

mkfs.xfs /dev/sda1 格式化设备

 mount /dev/sda1  /mnt/   挂载

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_31

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_32

6.永久挂载设备

blkid   查看设备id
vim /etc/fstab
UUID=5043c23e-c632-4cac-9607-6ff161df4ba1 /mnt                    xfs     defaults,_netdev 0 0
//指定此设备在挂载时先启用网络和iscsi服务后生效     
reboot
df  发现仍然挂载着           ,

网络设备因为网络通信的缘故可能发生名称变化,所以推荐挂载时用设备的id进行设备的指定

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_33

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务器_34

7.卸载设备

umount  /mnt
tree /var/lib/iscsi    //在客户端读取到的服务器的所有数据存放目录
iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.100 -u
//退出登陆

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_35

fdisk  -l  //退出登陆后,设备消失,但数据还在,重启iscsi服务后设备会自动出现
systemctl restart iscsi
fdisk  -l

怎么查看nfs服务占用的端口 nfs使用的是什么端口_服务端_36

iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.100 -u
iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.100 -o delete    删除客户主机中此网络 设备的数据
 tree /var/lib/iscsi
fdisk -l

怎么查看nfs服务占用的端口 nfs使用的是什么端口_客户端_37


在服务端:清除服务器中iscsi的共享数据

[root@westos_storage ~]# targetcli 
/> ls
/> clearconfig confirm=True
/> ls

怎么查看nfs服务占用的端口 nfs使用的是什么端口_怎么查看nfs服务占用的端口_38