0X0
通常我们在windows上搭建samba(smb)服务,如果两台机子再同一个内网的话,并且都开机主机发现功能的话,两个主机是可以再网络中发现的,并且可以使用smb服务。但是通常我们linux中搭建的samba服务通常都是使用ip进行访问,如果是静态地址还好,可以获取到固定的ip,但是如果是动态地址的话,还必须使用ddns进行动态ip映射。
对于Windows 10版本1511以后的版本,默认情况下禁用对SMBv1的支持,因此NetBIOS设备发现被禁用。所以再ubuntu中安装的samba服务无法被windows发现。
WSDD 是 Web Service Discovery host daemon的简称,实现了web服务可以被windows主机发现,这可以有效的帮助smb服务被发现。
安装
安装wsdd
ubuntu
# cd tmp
cd /tmp
# 下载和解压
wget https://github.com/christgau/wsdd/archive/master.zip
unzip master.zip
# 重命名wsdd.py
sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd
# 复制到bin中
sudo cp wsdd-master/src/wsdd /usr/bin
# 将wsdd配置为服务
sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system
sudo nano /etc/systemd/system/wsdd.service
#########################################################################
[Unit]
Description=Web Services Dynamic Discovery host daemon
; Start after the network has been configured
After=network-online.target
Wants=network-online.target
; It makes sense to have Samba running when wsdd starts, but is not required
;Wants=smb.service
[Service]
Type=simple
ExecStart=/usr/bin/wsdd --shortlog
; Replace those with an unprivledged user/group that matches your environment,
; like nobody/nogroup or daemon:daemon or a dedicated user for wsdd
; User=nobody
; Group=nobody
; The following lines can be used for a chroot execution of wsdd.
; Also append '--chroot /run/wsdd/chroot' to ExecStart to enable chrooting
;AmbientCapabilities=CAP_SYS_CHROOT
;ExecStartPre=/usr/bin/install -d -o nobody -g nobody -m 0700 /run/wsdd/chroot
;ExecStopPost=rmdir /run/wsdd/chroot
[Install]
WantedBy=multi-user.target
# reload start and enable
sudo systemctl daemon-reload
sudo systemctl start wsdd
sudo systemctl enable wsdd
# 查看状态
sudo service wsdd status
CentOS, Fedora, RHEL
dnf install wsdd
引用
https://devanswers.co/discover-ubuntu-machines-samba-shares-windows-10-network/
https://github.com/christgau/wsdd
欢迎访问我的个人博客ximikang.icu