Ubuntu 18.04 LTS 上离线安装 NFS 且固定端口
安装 NFS
前提
-
无法访问互联网的Ubuntu 18.04 LTS服务器
-
可以访问互联网的Ubuntu 18.04 LTS服务器
联网的服务器
目标机器是一个新安装系统的机器,所以需要做一个完整的包
# 清空缓存目录,该目录存的都是通过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
如果天边有光亮