上周有个用户反馈他们公司准备把之前在 EPM
上配置的 Windows
首选服务器替换成 Linux
服务器,问我是否可行,我个人感觉理论上来说是可行的,但是没有测试过,于是我问了一下群里的大佬,大佬说不可以,有点小失望
我自己上官网搜了一下,发现在 2015 年的时候有人求助过是否能用 Linux
作为首选服务器,官方回复没有测试过,但是理论上来说客户端只要能通过 UNC
路径获取到程序包,不管什么系统应该都是能实现的
感觉有戏,因为仅仅是首选服务器的话,应该能行,但是复制器必须要是要 Windows
操作系统,于是用之前本地的一台 CentOS 7
搭建 Samba
测试
首选服务器是 EPM 分发程序包的时候,可以按照子网划分让客户端去找首选服务器下载程序包,而不是从核心下载,从而减少核心的网络带宽
-
环境介绍
|Machine|IP Address|
|:-😐:-😐
| 核心服务器 | 192.168.80.160|
| 首选服务器 | 192.168.80.134|
| 客户机 | 192.168.80.128|
# Samba 配置
登录到 Centos
服务器,下载 Samba
yum install samba -y
添加一个新用户用于存放共享目录,我这边就不给这个用户设置密码了,直接禁止该用户登录 shell
, 在用户家目录添加一个共享目录,由于我目前是用 root
用户登录创建的,所以还需要给目录添加用户 owner
权限
-
useradd -s /sbin/nologin bob
-
mkdir /home/bob/SoftwarePackage
-
chown -R bob:bob /home/user/SoftwarePackage
然后把该用户添加到 samba
用户并设置访问密码
pdbedit -a bob
pdbedit -L
// 查看是否添加成功
备份 smb
配置文件
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
编辑 smb.conf 配置文件,在尾部添加共享信息
vi /etc/samba/smb.conf
[share] //共享名称必须和服务器共享一致 | |
path = /home/bob/SoftwarePackage | |
valid users = bob | |
read only = yes |
启动 samba
服务并添加开机启动
systemctl start smb && systemctl enable smb
为了方便测试,我直接关闭防火墙和 selinux
-
systemctl stop firewalld && systemctl disable firewalld
-
sed -i 's/=enforcing/=disable/' /etc/sysconfig/selinux
完成后重启服务器,一定要重启服务器,不重启服务器的情况下,不管如何重启 smb
服务,客户端访问共享目录都会提示没有权限,我当时一直以为是自己的配置有问题,最后快到下班就关机不管了,结果第二天上班开机就发现访问目录正常了,卧槽
后面为了验证自己猜想,我把服务器还原了,重新配置好 samba
服务,从客户端访问依然是提示没有权限,然后我直接重启服务器,重启后客户端访问就正常了🙄
# EPM 配置
Samba
服务配置好后,接下来就是在 EPM
控制台里配置首选服务器,这个就很简单了,在内容复制功能里面选择首选服务器,然后添加
填写 Samba
服务器的凭证信息,然后测试凭证,如果凭证不通过请检查是否无法解析 Samba
服务器计算名
凭证通过后,就是配置 IP 地址范围,让这些 IP 段在收到分发任务的时候去找首选服务器下载
填好配置和 IP 地址完后,其它的不需要配置了,直接保存即可
# 客户端配置
客户端这边也比较简单,首选如果客户端之前有配置过其它的首先服务器的话,需要先在 C:\Program Files (x86)\LANDesk\LDClient\sdmcache
目录下删除 preferredservers.dat
文件和 C:\Program Files (x86)\LANDesk\LDClient\sdmcache\LDCacheInfo
目录下的 preferredservers.dat.info
文件,然后执行一次安全扫描,让客户端重新向服务器更新配置即可,最后再确认一下 preferredservers.dat
文件是否包含首选服务器的信息
这里必须要确认客户端的 DNS
能够解析 Samba
服务器的计算机名,否则下载分发包失败
# 下载测试
先把需要测试程序包拷贝到 Samba
服务器,然后在 EPM
创建一个分发程序包任务,为了方便测试,我用 fsutil
命令创建了一个超大的 exe
文件用于任务下发,创建好后拷贝一份到 Samba
文件服务器
在 EPM
控制台上创建可执行文件包
创建任务并添加目标设备,然后执行任务,如果客户端是从 Samba
服务器下载的话就证明我们的配置都是正常的
在 Samba
服务器上用 iftop
查看数据包流量,如果你的服务器上没有该命令请自行安装
从 iftop
流量界面可以看到 Samba
服务器和客户端有大量的传输数据, 足以说明当前客户端的程序包是从 Samba
服务器上下载
好了,到这整个测试到此结束