Ubuntu 18.04 LTS 上离线安装 NFS 且固定端口

安装 NFS

前提

联网的服务器

目标机器是一个新安装系统的机器,所以需要做一个完整的包

# 清空缓存目录,该目录存的都是通过apt-get install 安装软件的的安装包及依赖包
sudo rm -rf /var/cache/apt/archives/*  
# 下载安装包,-d选项是只下载,不进行解析安装(只能下载未安装的软件)
# 需要的安装包及依赖都会下载到 /var/cache/apt/archives 目录
sudo apt-get -d install <包名>

生成包索引文件(主机:可联网)

sudo touch /var/debs/Packages.gz
# 必须增加文件的读写执行权限
sudo chmod -R 777 /var/debs

# 需要进入到debs目录
cd /var/debs
# 需要安装apt-utils工具
sudo apt-get install apt-utils -y
# 创建索引
# apt-ftparchive packages . > Packages 
# apt-ftparchive release ./ > Release 

# debs父目录
apt-ftparchive packages debs > debs/Packages
cd debs
gzip -c Packages > Packages.gz
# 创建release file
apt-ftparchive release ./ > Release

未联网的服务器

# 将安装包和依赖包放置在一个目录下
/deb/
## 使用sudo dpkg -i [包名]
# 先安装依赖文件,再安装nfs
sudo dpkg -i nfs-kernel-server_1%3a1.3.4-2.1ubuntu5.5_amd64.deb

# 重启nfs
sudo service nfs-kernel-server restart

固定端口

在ubuntu中安装NFS服务 并固定端口 假定已经安装完成NFS

通过rpcinfo命令可以查看 NFS 相关的端口:

rpcinfo -p

复制

以上这些端口中,2049 和 111 端口是固定端口,mountd 和 nlockmgr 对应的端口是随机分配的。正常情况下,应该还有 status服务占用端口,不知道为啥没有。 mountd、nlockmgr、和status服务默认情况下是随机分配端口的,但这样搞不好配置防火墙或者端口映射啥的。

修改/etc/default/nfs-common文件,配置status服务端口为30004:

STATDOPTS="--port 40000"

复制

修改/etc/default/nfs-kernel-server文件,配置mountd服务端口为30003:

RPCMOUNTDOPTS="--manage-gids --port 30003"

复制

创建/etc/modprobe.d/options.conf文件,添加如下内容,配置nlockmgr端口为30006:

options lockd nlm_udpport=30006 nlm_tcpport=30006

复制

在/etc/modules文件中添加lockd:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lockd

复制

重启电脑: reboot 查看服务 rpcinfo -p

最后允许上面的这几个端口通过防火墙。 防火墙允许2049 111 30003 30004 30006端口

sudo ufw  allow  111
sudo ufw  allow  2049
sudo ufw  allow  30003
sudo ufw  allow  30004
sudo ufw  allow  30006
posted @ 2024-04-26 14:54  余飞不在  阅读(16)  评论(0编辑  收藏  举报