centos7 ntp server , samba,nfs

最近公司内部一个需求:必须 Linux建个 ntp server ,并且 Windows可以net time \\ip 访问。

 想要解决问题,还得解决前置问题

服务器不能上网,无法直接访问外部 yum源 , 只能使用光盘了。

########### 更改yum源为 cdrom 
# 光盘正确连接的情况下:
mkdir -p /media/cdrom
mount /dev/cdrom /media/cdrom   

yum clean all                    # 清缓存
cd /etc/yum.repos.d/
mkdir bak
mv *.repo ./bak                  # 备份
mv ./bak/CentOS-Media.repo ./    # 只留一个光盘源
yum-config-manager --enable c7-media  # 启用光盘源 
# 如果上面这条执行不成功,也可以修改CentOS-Media.repo 将倒数第二行 enabled=1 保存退出
yum list # 看看能否显示c7-media源 yum install zip # 测试安装,Repository 应显示 c7-media

或者:使用外网机离线下载,然后再上传到内网机上。 

#--------------------------- 离线下载方式 ------------------------------
# 联网机
yum install yum-plugin-downloadonly  # 安装下载工具
mkdir -p /data/rpm                   # 下载目录
yum install --downloadonly --downloaddir=/data/rpm samba # 下载某软件包及依赖
ll /data/rpm                         # 查看文件

## 手动复制文件到内网机,或scp 或rsync
# 内网机
mkdir -p /data/samba
cd /data/samba
rsync -a 192.168.52.6:/data/rpm ./   # 从远端复制文件过来
yum localinstall *.rpm -y            # 安装当前目录下所有包

 

为什么要使用NTP server ?  crontab 里加上 ntpdate 命令不行吗?

因为很多应用服务或程序,需要线性的时间同步,不能出现时间跳跃。ntpdate命令,会使本机时间直接跳跃到与ntp服务器同步的时间。

时间的跳跃可能会对某些应用程序数据产生不良影响。

比如:Mongodb 就需要使用ntp 服务来同步时间,官方文档说:时间不同步可能会造成分片集群或复制集节点挂机.

 

 

########### ntp server

ip a     # 本机IP 192.168.52.5

yum install -y ntp # 安装服务

ntpdate cn.pool.ntp.org # 先同步一次公网时间 

# 参考:https://www.cnblogs.com/harrymore/p/9566229.html
vim /etc/ntp.conf # 配置文件 (部分修改的有注释)

driftfile /var/lib/ntp/drift

restrict default nomodify notrap nopeer noquery

restrict 127.0.0.1 
restrict ::1

restrict 192.168.52.0 mask 255.255.255.0 nomodify notrap # 此网段更少限制

server cn.pool.ntp.org prefer   # 优先
server asia.pool.ntp.org
server asia.pool.ntp.org
server 127.127.1.0                # 收到客户端请求,若未更新则使用本地时间 不是127.0.0.1 确实是127.127.1.0

fudge 127.127.1.0 stratum 10      # 服务器层次

systemctl start ntpd     # 启动服务 , 可能要5到15分钟才会生效 

systemctl enable ntpd   # 设为开机启动

ntpq -p   # 显示 npt server 列表,* 表示当前的
ntpstat   # 显示同步状态 synchronised to NTP server (...)
watch ntpq -p  # 监视状态,注意reach变化,以poll

此时如果想要 ntpdate 则需要加参数 -u

 

客户端测试:

###### Linux 客户端执行测试:
ntpdate 192.168.52.5  
# 成功则显示如下某一行 :
# 3 Aug 07:37:30 ntpdate[6243]: adjust time server 192.168.52.5 offset 0.149892 sec
# 3 Aug 07:41:16 ntpdate[6246]: step time server 192.168.52.5 offset 2463.842440 sec

###### Windows 10 测试 ():
# 设置日期和时间,Internet时间,更改设置,打勾,填上 192.168.52.5 
# 点击立即更新,提示同步成功!

 

###### 特殊情况 smb
# 约几十台 瘦客户机 程序需要使用以下Windows命令:
net stop w32time & net start w32time & net time \\192.168.52.5
# 也就是依次执行:停止时间服务,启动时间服务,获取远端电脑时间

为了支持对windows机的响应,安装samba

# 双反斜杠\\开头 访问Linux, 通常是samba协议,跟ntp无关

yum install -y samba

vim /etc/samba/smb.conf  # 配置文件,需要设置免密访问
[global]
workgroup = SAMBA                        # 与win不同也没关系 
server string = Samba Server Version %v  # 描述
security = user                          # 密码登录
map to guest = Bad User                  # 无须用户名和密码(关键)

[temp]                     # Windows中显示的文件夹
comment = temp directory
path = /temp               # 共享目录 
browseable = yes
writeable = yes
guest ok = yes             # 允许guest即任意用户访问  
create mode = 0777         # 权限
directory mode = 2777      # 权限

mkdir /temp           # 创建共享目录 
systemctl start smb   # 启动服务

 

使用windows测试:

# Win测试 
\\192.168.52.5           # 显示共享文件夹
# cmd
net time \\192.168.52.5     # 命令成功完成 
net time \\192.168.52.5 /set /y    # 同步本机时间 


如果Linux想要挂载 windows的共享 :
mkdir /mydir/
mount -t cifs -o username='user1',password='123456',dir_mode=0777,file_mode=0777 //10.175.0.111/tmp /mydir
# 使用了windows的访问账号和密码,以及指定的文件夹权限。

 

Windows ntp server:

######### 若 Windows 开启ntp server, 只需简单几步:
# 执行下面的命令:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" /f /v "Enabled" /t REG_DWORD /d 1
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config" /f /v "AnnounceFlags" /t REG_DWORD /d 5
net stop w32time & net start w32time

# 在关闭防火墙的前提下,其它电脑再按上面方法访问测试。

 

不想用ntpd的话,用crontab加ntpdate也可以。间隔时间不长的话,时间跳跃也会很小(毫秒级)

#ntp.sh脚本

#!/bin/bash
/usr/sbin/ntpdate 192.168.1.100
/usr/sbin/hwclock -w


# crontab 每隔4小时
15 1,5,9,13,17,21 * * * /opt/scripts/ntp.sh >> /opt/ntp.log

 

 

NFS

# ------------------------------- server -------------------------------
yum install -y nfs-utils

vim /etc/exports  # 共享目录,允许的网段,读写方式
/data    192.168.1.0/24(rw,async)

# 准备共享目录并授权
mkdir /data/
chown -R nfsnobody.nfsnobody /data/

systemctl start nfs

# 查看服务器端信息
rpcinfo -p 192.168.1.123

# 查看是否共享成功
showmount -e localhost


# ------------------------------- client -------------------------------
yum install -y nfs-utils

showmount -e 192.168.1.123

# 准备目录并挂载
mkdir /bak
mount -t nfs 192.168.1.123:/data /bak

 

 

python3

自带的只有2.7.5,需要安装python3 的话,最方便的是 tar 包编译的方式。并且不影响原有的 2.7。

# 安装编译器
yum install zlib-devel bzip2-devel openssl-devel gcc -y

tar zxf Python-3.9.5.tgz

cd Python-3.9.5
./configure prefix=/usr/local/python3

make && make install

ll /usr/local/python3/bin 

#创建软链接
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

# 以后调用的时候直接 python3 xxxxx即可 

 

posted @ 2019-08-03 16:02  枫若雪  阅读(906)  评论(0编辑  收藏  举报