Samba上的文件服务器,随处可见

在此简短的说明中,我将不涉及Samba配置,因为网络上有足够多的此类资料。



我想谈谈如何使访问文件服务器更加方便。







TL;博士:配置Avahi和WSD以在Windows,MacOS和Ubuntu上的“网络邻居”中显示文件服务器(当然还有其他发行版,但我还没有对其进行测试)。



因此,让我们从Windows开始。



在远古时代,当网络环境中的计算机列表是通过NetBIOS广播形成的时,一切都很简单。



我们开出smb.conf了类似的处方local master = yes并且很高兴。



那些日子已经一去不复返了,直到今天,为了在用户的网络环境中显示我们的文件服务器,您需要对每台计算机进行注册表手动处理,将过时且不安全的SMBv1连接回去,或者接受世界已经改变并开始使用Microsoft建议的WS-Discovery (WSD)。



为何Microsoft决定使用它,而不是使用早先出现并用于MacOS和Linux(又名Bonjour,又名Avahi)的mDNS?



好吧...是微软。



那么,我们需要什么来使WSD工作?



没什么-添加一个存储库,安装WSD守护程序,在配置中进行设置,重新启动服务,实际上就是这样。



apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4BBAE4C69C568C54
echo "deb https://pkg.ltec.ch/public/ $(grep VERSION_CODENAME /etc/os-release | cut -d'=' -f2) main" | tee /etc/apt/sources.list.d/wsdd.list
apt install wsdd


现在让我们对其进行一些更改。/etc/wsdd.conf

我的配置行如下所示:



WSDD_PARAMS="--shortlog --interface enp3s0 --hostname server --workgroup HOME"


我猜这些参数说明了一切,只是请注意,如果您在域控制器模式下使用Samba,--workgroup则应使用--domain



好吧,我建议您研究man wsdd以及wsdd信息库(还有Debian / Ubuntu以外的发行说明)



让我们通过重新启动服务来完成所有工作:



systemctl restart wsdd.service


并检查某些Vista或更早版本的Windows计算机,我们的服务器出现在网络环境中。



现在是时候到Avahi了。配置完成后,我们的文件服务器将开始在MacOS和Ubuntu中的“网络邻居”中显示。



首先,确保安装了avahi:



apt install avahi-daemon avahi-utils


现在,我们通过它宣布服务器:



nano /etc/avahi/services/smb.service

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
 <name replace-wildcards="yes">%h</name>
 <service>
   <type>_smb._tcp</type>
   <port>445</port>
 </service>
 <service>
   <type>_device-info._tcp</type>
   <port>0</port>
   <txt-record>model=RackMac</txt-record>
 </service>
</service-group>


您还可以查看/etc/avahi/avahi-daemon.conf广播,例如将广播限制在一个界面上,但这取决于您。



让我们通过重新启动服务来完成所有操作:



systemctl restart avahi-daemon.service


另外,我将提到以这种方式,您不仅可以宣布Samba,还可以宣布许多其他服务(列表在此处)。



我希望这篇文章可以节省您的时间,并为您的用户增加便利。



All Articles