標籤:
1. 構建NTP時間伺服器NTP伺服器是用於區域網路伺服器時間同步使用的,可以保證區域網路所有的伺服器與時間伺服器的時間保持一致,某些應用對時間即時性要求高的必須統一時間。
互連網的時間伺服器也有很多,例如ntpdate ntp.fudan.edu.cn 複旦大學的NTP免費提供互連網時間同步。
NTP伺服器監聽連接埠為UDP的123,那就需要在本地防火牆開啟運行用戶端訪問123連接埠,vi /etc/sysconfig/iptables添加如下規則:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
NTP時間伺服器配置:
yum install ntp ntpdate -y 即可!
修改ntp.conf設定檔
cp /etp/ntp.conf /etc/ntp.conf.bak
vi /etc/ntp.conf 只修改如下兩行,把#號去掉即可!
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
以守護進程啟動ntpd
/etc/init.d/ntpd start 即可
(注意*: ntpd啟動後,客戶機要等幾分鐘再與其進行時間同步,否則會提示“no server suitable for synchronization found”錯誤。)
配置時間同步客戶機
crontab -e
增加一行,在每天的6點10分與時間同步伺服器進行同步
10 06 * * * /usr/sbin/ntpdate ntp-server的ip >>/usr/local/logs/crontab/ntpdate.log
備忘:如果客戶機沒有ntpdate,可以yum –y install ntp 即可!
以下是ntp伺服器設定檔內容(區域網路NTP,如果需要跟外網同步,添加外網server即可)
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
下面是參數詳解:
restrict default ignore |
# 關閉所有的 NTP 要求封包 |
restrict 127.0.0.1 |
# 開啟內部遞迴網路介面 lo |
restrict 192.168.0.0 mask 255.255.255.0 nomodify |
#在內部子網裡面的用戶端可以進行網路校時,但不能修改NTP伺服器的時間參數。 |
server 198.123.30.132 |
#198.123.30.132作為上級時間伺服器參考 |
restrict 198.123.30.132 |
#開放server 訪問我們ntp服務的許可權 |
driftfile /var/lib/ntp/drift |
在與上級時間伺服器聯絡時所花費的時間,記錄在driftfile參數後面的檔案內 |
broadcastdelay 0.008 |
#廣播延遲時間 |
自此NTP服務搭建完畢,然後在所有用戶端crontab裡面添加如下語句:
0 0 * * * /usr/sbin/ntpdate 10.0.0.155 >>/data/logs/ntp.log 2>&12. 構建DHCP伺服器DHCP(Dynamic Host Configuration Protocol,動態主機設定通訊協定)是一個區域網路的網路通訊協定,使用UDP協議工作,主要用途:給內部網路或網路服務供應商自動分配IP地址,DHCP有3個連接埠,其中UDP67和UDP68為正常的DHCP服務連接埠,分別作為DHCP Server和DHCP Client的服務連接埠。
DHCP可以部署在伺服器、交換器或者伺服器,可以控制一段IP位址範圍,客戶機登入伺服器時就可以自動獲得DHCP伺服器分配的IP地址和子網路遮罩。其中DHCP所在伺服器的需要安裝TCP/IP協議,需要設定靜態IP地址、子網路遮罩、預設閘道。
正式安裝DHCP服務:
Yum install dhcp dhcp-devel –y 即可,然後修改DHCP /etc/dhcpd.conf設定檔內容如下:
ddns-update-style interim;
ignore client-updates;
next-server 192.168.0.79;
filename "pxelinux.0";
allow booting;
allow bootp;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.252.0;
# option nis-domain "domain.org";
# option domain-name "192.168.0.10";
# option domain-name-servers 192.168.0.11;
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don‘t change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.100 192.168.0.200;
host ns {
hardware ethernet 00:1a:a0:2b:38:81;
fixed-address 192.168.0.101;}
}
參數解析如下:
選 項 |
解 釋 |
|
|
ddns-update-style interim|ad-hoc|none |
參數用來設定DHCP伺服器與DNS伺服器的動態資訊更新模式:interim為DNS互動更新模式,ad-hoc為特殊DNS更新模式,none為不支援動態更新模式。 |
next-server ip |
pxeclient遠程安裝系統,指定tftp server 地址 |
filename |
開始開機檔案的名稱,應用於無盤安裝,可以是tftp的相對或絕對路徑 |
ignore client-updates |
為忽略用戶端更新 |
subnet-mask |
為用戶端設定子網路遮罩 |
option routers |
為用戶端指定網關地址 |
domain-name |
為用戶端指明DNS名字 |
domain-name-servers |
為用戶端指明DNS伺服器的IP地址 |
host-name |
為用戶端指定主機名稱 |
broadcast-address |
為用戶端設定廣播位址 |
ntp-server |
為用戶端設定網路時間伺服器的IP地址 |
time-offset |
為用戶端設定格林威治時間的位移時間,單位是秒 |
注意如上配置,需要修改成對應伺服器網段IP,然後重啟DHCP服務,/etc/init.d/dhcpd restart即可。
用戶端要從這個DHCP伺服器擷取IP,需要做簡單的設定,如果是linux需要把/etc/sysconfig/network-scritps/ifcfg-eth0裡BOOTPROTO相改成dhcp即可,windows機器的話,需要修改本地串連,把它設定成自動擷取IP即可。
BOOTPROTO=dhcp3. 搭建Samba伺服器Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟體,由伺服器及用戶端程式構成,
SMB(Server Messages Block,資訊服務塊)是一種在區域網路上共用檔案和印表機的一種通訊協定,它為區域網路內的不同電腦之間提供檔案及印表機等資源的共用服務。
SMB協議是客戶機/伺服器型協議,客戶機通過該協議可以訪問伺服器上的共用檔案系統、印表機及其他資源。通過設定“NetBIOS over TCP/IP”使得Samba不但能與區域網路絡主機分享資源,還能與全世界的電腦分享資源。
安裝SAMBA伺服器:
Yum install samba –y
安裝完畢,然後做如下設定(過濾#號行、空行如下命令)
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ;egrep -v "#|^$" /etc/samba/smb.conf.bak |grep -v "^;" >/etc/samba/smb.conf
查看smb.conf設定檔如下:
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
security = share
passdb backend = tdbsam
load printers = yes
cups options = raw
[temp]
comment=Temporary file space
path=/tmp
read only=no
public=yes
[data]
comment=Temporary file space
path=/data
read only=no
public=yes
根據需求修改之後重啟服務:
[[email protected] ~]# /etc/init.d/smb restart
Shutting down SMB services: [FAILED]
Shutting down NMB services: [FAILED]
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
workgroup = |
WORKGROUP 設Samba Server 所要加入的工作群組或者域。 |
server string = Samba Server Version %v |
Samba Server 的注釋,可以是任何字串,也可以不填。宏%v表示顯示Samba的版本號碼。 |
security = user |
1.share:使用者訪問Samba Server不需要提供使用者名稱和口令, 安全效能較低。 2. user:Samba Server共用目錄只能被授權的使用者訪問,由Samba Server負責檢查帳號和密碼的正確性。帳號和密碼要在本Samba Server中建立。 3. server:依靠其他Windows NT/2000或Samba Server來驗證使用者的帳號和密碼,是一種代理驗證。此種安全模式下,系統管理員可以把所有的Windows使用者和口令集中到一個NT系統上,使用Windows NT進行Samba認證, 遠程伺服器可以自動認證全部使用者和口令,如果認證失敗,Samba將使用使用者層次安全性模式作為替代的方式。 4. domain:域安全層級,使用主網域控制站(PDC)來完成認證。 |
comment = test |
是對該共用的描述,可以是任一字元串。 |
path = /home/test |
共用目錄路徑 |
browseable= yes/no |
用來指定該共用是否可以瀏覽。 |
writable = yes/no |
writable用來指定該共用路徑是否可寫。 |
available = yes/no |
available用來指定該共用資源是否可用 |
admin users = admin |
該共用的管理者 |
valid users = test |
允許訪問該共用的使用者 |
invalid users = test |
禁止訪問該共用的使用者 |
write list = test |
允許寫入該共用的使用者 |
public = yes/no |
public用來指定該共用是否允許guest賬戶訪問。 |
在瀏覽器裡面訪問方式為:\\192.168.33.10 (SMB檔案分享權限設定服務端IP),如何沒有許可權訪問,需要注意防火牆和selinux設定,可以使用如下命令關閉:
/etc/init.d/iptables stop ;sed –i ‘/SELINUX/s/enforcing/disabled’ /etc/sysconfig/selinux4. 搭建NFS伺服器NFS 是Network File System的縮寫,即網路檔案系統。一種使用於分散式檔案系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網路讓不同的機器、不同的作業系統能夠彼此分享個別的資料,讓應用程式在用戶端通過網路訪問位於伺服器磁碟中的資料,是在類Unix系統間實現磁碟檔案分享權限設定的一種方法。
NFS在檔案傳送或資訊傳送過程中依賴於RPC協議。RPC,遠端程序呼叫 (Remote Procedure Call) 是能使用戶端執行其他系統中程式的一種機制。NFS本身是沒有提供資訊傳輸的協議和功能的。
NFS應用情境,常用於高可用檔案分享權限設定,多台伺服器共用同樣的資料,可擴充性比較差,本身高可用方案不完善,取而代之的資料量比較大的可以採用MFS、TFS、HDFS等等Distributed File System。
NFS安裝配置:
Yum install nfs* portmap -y 如,安裝成功即可。
NFS安裝完畢,需要建立共用目錄,共用目錄在/etc/exports檔案裡面配置,可配置參數如下:
/data/ 192.168.33.11(rw,sync,no_hide,no_all_squash)
在設定檔中添加如上一行,然後重啟Portmap,NFS服務即可,/etc/init.d/portmap restart ;/etc/init.d/nfs restart
第一列/data/表示需要共用的目錄。
IP表示允許哪個用戶端訪問。
IP後括弧裡的設定表示對該共用檔案的許可權。
ro 唯讀訪問
rw 讀寫訪問
sync 所有資料在請求時寫入共用
hide 在NFS共用目錄中不共用其子目錄
no_hide 共用NFS目錄的子目錄
all_squash 共用檔案的UID和GID映射匿名使用者anonymous,適合公用目錄。
no_all_squash 保留共用檔案的UID和GID(預設)
root_squash root使用者的所有請求映射成如anonymous使用者一樣的許可權(預設)
no_root_squas root使用者具有根目錄的完全管理存取權限
Linux用戶端,如何想使用這個NFS檔案系統,需要在用戶端掛載,掛載命令為:
Mount –t nfs 192.168.33.10:/data/ /mnt 即可。如果有報錯根據錯誤資訊排查。常見問題有rpc服務沒有啟動、防火牆沒關閉、selinux未關閉等問題。(拓展* 有興趣的童鞋可以研究MFS(Distributed File System)。)5. 搭建FTP伺服器FTP 是檔案傳輸通訊協定,正是由於這種協議使得主機間可以共用檔案。 FTP 使用TCP 產生一個虛擬串連用於控制資訊,然後再產生一個單獨的 TCP 串連用於資料轉送。
vsftpd是一款在Linux發行版中最主流的FTP伺服器程式;特點是小巧輕快,安全易用;能讓其自身特點得發發揮和掌握。
目前在開源作業系統中常用的FTP伺服器程式主要有vsftpd、ProFTPD、PureFTPd和wuftpd等,這麼多FTP伺服器程式,關鍵在於自己熟練哪一個就使用哪一個。今天我們來研究一下VSFTPD簡單安裝及使用。安裝命令: yum install vsftpd* -y
修改設定檔如下:
#vsftpd config 2014 by wugk
anonymous_enable=NO //禁止匿名使用者存取
local_enable=YES //允許本機使用者登入FTP
write_enable=YES //運行使用者在FTP目錄有寫入的許可權
local_umask=022 //設定本機使用者的檔案產生掩碼為022,預設是077
dirmessage_enable=YES //啟用目錄資訊,當遠端使用者更改目錄時,將出現提示資訊
xferlog_enable=YES //啟用上傳和下載日誌功能
connect_from_port_20=YES //啟用FTP資料連接埠的串連請求
xferlog_std_format=YES //是否使用標準的ftpd xferlog記錄檔格式
listen=YES //使vsftpd處於獨立啟動監聽連接埠模式
pam_service_name=vsftpd //設定PAM認證服務組態檔名稱,檔案存放在/etc/pam.d/目錄
userlist_enable=YES //使用者列表中的使用者是否允許登入FTP伺服器,預設是不允許
tcp_wrappers=YES //使用tcp_wrqppers作為主機存取控制方式
1) 第一種方法就是使用系統使用者登入FTP,但是也是比較危險的,先測試系統使用者登入FTP,在Linux系統上建立useradd test 使用者,並為其設定名,然後在xp用戶端開啟我的電腦資源裡面訪問 ftp://192.168.33.10,輸入使用者名稱和密碼即可訪問,進行建立和刪除操作。
2) 第二種方法比較安全,配置相對複雜一點,就是使用vsftpd虛擬使用者登入FTP伺服器進行常見的操作。
Ø 首先安裝FTP 虛擬使用者需要用到的軟體及認證模組
yum install pam* db4* --skip-broken –y
建立並產生vsftpd資料庫檔案vi /etc/vsftpd/ftpusers.txt,內容如下:
第一行為FTP虛擬使用者,登入使用者名稱,第二行為密碼,第三行為使用者名稱,依次類推。
wugk
1
wugk1
1
Ø 產生資料庫檔案命令:
db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db
Ø 配置PAM驗證檔案:
在設定檔vi /etc/pam.d/vsftpd 行首加入如下兩行認證語句:(如果是32位,lib64需改成lib,如果RedHat,加入的語句不一樣,需注意)
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
Ø 建立vsftpd映射本機使用者:
所有的FTP虛擬使用者需要使用一個系統使用者,這個系統使用者不要求輸入密碼,也不需要登入。主要用來做虛擬使用者映射使用。
useradd –d /home/ftpuser –s /sbin/nologin ftpuser
Ø 修改完整版設定檔內容如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
儲存重啟,/etc/init.d/vsftpd restart 即可使用虛擬使用者登入,這時候所有的虛擬使用者共同使用/home/ftpuser目錄上傳下載,如果想使用自己獨立的目錄,可以在/etc/vsftpd/vsftpd_user_conf目錄建立各自的設定檔,如給wugk建立獨立的設定檔:
vi /etc/vsftpd/vsftpd_user_conf/wugk ,內容如下,建立自己的FTP目錄。
local_root=/home/ftpsite/wugk
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
重啟,使用用戶端登入FTP,測試即可。關於FTP講解就到此,windows還可以使用Server-U來搭建FTP伺服器端,有興趣的童鞋可以研究一下。
Ø FTP主被動模式
FTP主動模式:用戶端從一個任意的非特權連接埠N(N>1024)串連到FTP伺服器的port 21命令連接埠。然後用戶端開始監聽連接埠N+1,並發送FTP命令“port N+1”到FTP伺服器。接著伺服器會從它自己的資料連接埠(20)串連到用戶端指定的資料連接埠(N+1)。
FTP被動模式:用戶端從一個任意的非特權連接埠N(N>1024)串連到FTP伺服器的port 21命令連接埠。然後用戶端開始監聽連接埠N+1,同時用戶端提交 PASV命令。伺服器會開啟一個任意的非特權連接埠(P >1024),並發送PORT P命令給用戶端。然後用戶端發起從本地連接埠N+1到伺服器的連接埠P的串連用來傳送資料。
Linux服務部署