需要异地组网,给一台服务器分享一个硬盘分区,给另一台服务器做挂载使用。
SMB方案是其中之一,先记录操作设置步骤,以后再改进优化。
SMB Server:A服务器(Ubuntu)
在Ubuntu上,可以使用以下命令安装Samba服务器软件包
sudo apt update
sudo apt install samba
配置Samba服务器:
编辑Samba配置文件 /etc/samba/smb.conf,并根据需求进行配置。
需要设置共享目录、访问权限、用户身份验证等参数。确保启用加密和安全选项。找到以下部分并确保它们设置为以下内容:
hosts allow = 192.168.1.100 192.168.1.101 //允许来访问的IP地址或者IP段
client min protocol = NT1
client max protocol = SMB3
server min protocol = SMB2
server max protocol = SMB3
ntlm auth = yes
lanman auth = no
lanman auth = no
client ntlmv2 auth = yes
client lanman auth = no
security = user
encrypt passwords = yes
[share] //局域网显示的名称
path = /srv/samba/share //需要共享的目录
read only = no
valid users = username //这个是你Linux系统已有的用户名
guest ok = no
write list = username //意思同上
对了,用户名必须是Linux已有的用户名,密码要单独设置个:
sudo smbpasswd -a username //username 换成自己需要的用户名
设置共享目录权限:
sudo chown -R username /srv/samba/share
重启Samba服务:
在完成配置后,重新启动Samba服务以使更改生效:
sudo systemctl restart smbd
CIFS(SMB Client):B服务器(Ubuntu/Debian)
安装cifs-utils软件包:
sudo apt update
sudo apt install cifs-utils
创建一个本地目录,用于挂载网络硬盘:
sudo mkdir /www/network_drive
/www/network_drive 可以是任何一个目录,我试过绑定了个7级目录,居然也可以挂载,厉害了。
B服务器挂载没有固定IP只有动态域名及非标端口xxx的A服务器共享硬盘
SMB 默认端口是445,但如果放到外网就有点危险,所以先去路由器做端口映射,建议五位数以上端口号:xxxxx
编辑 /etc/fstab 文件以实现开机自动挂载:
sudo nano /etc/fstab
or
sudo vi /etc/fstab
在 /etc/fstab 文件中添加一行来描述要挂载的网络硬盘,例如:
//dynamic_domain_address/network_drive_A /www/network_drive_B cifs port=xxxxx,username=your_username,password=your_password,vers=3.0,sec=ntlmv2,gid=www,file_mode=0775,dir_mode=0775 0 0
请将 dynamic_domain_address 替换为实际的动态域名地址,your_username 和 your_password 替换为连接到网络硬盘所需的用户名和密码。
gid不指定用户组的话,有以后会遇到系统里可以写,但WP不能读写的尴尬事。
对了,输入以下命令无需重启即可挂载:
sudo mount -a
以上,cifs连接挂载异地非固定IP地址非标准端口的网络硬盘功能就实现啦~