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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM