在執行mit命令前可通過配置模式下show命令查看當前候選配置(Candidate Config),在執行mit后配置模式下可通過run show config命令查看當前有效配置(Active config)。此外可通過執行show | pare比對候選配置和有效配置的差異。
SRX上由於配備大容量硬盤存儲器,缺省按先后mit順序自動保存50份有效配置,並可通過執行rolback和mit命令返回到以前配置(如rollback 0/mit可返回到前一mit配置);也可以直接通過執行save configname.conf手動保存當前配置,並執行load override configname.conf / mit調用前期手動保存的配置。執行load factory-default / mit命令可恢復到出廠缺省配置。
SRX可對模塊化配置進行功能關閉與激活,如執行deactivate security nat/it命令可使NAT相關配置不生效,並可通過執行activate security nat/mit使NAT配置再次生效。
SRX通過set語句來配置防火牆,通過delete語句來刪除配置,如delete security nat和edit security nat / delete一樣,均可刪除security防火牆層級下所有NAT相關配置,刪除配置和ScreenOS不同,配置過程中需加以留意。
部署SRX防火牆主要有以下幾個方面需要進行配置:
System:主要是系統級內容配置,如主機名、管理員賬號口令及權限、時鍾時區、Syslog、SNMP、系統級開放的遠程管理服務(如tel)等內容。
Interface:接口相關配置內容。
Security: 是SRX防火牆的主要配置內容,安全相關部分內容全部在Security層級下完成配置,如NAT、Zone、Policy、Address-book、Ipsec、Screen、Idp等,可簡單理解為ScreenOS防火牆安全相關內容都遷移至此配置層次下,除了Application自定義服務。
Application:自定義服務單獨在此進行配置,配置內容與ScreenOS基本一致。
routing-options: 配置靜態路由或router-id等系統全局路由屬性配置。
-_________________________________________________________________________________________________
--- JUNOS 9.5R1.8 built 2009-07-16 15:04:30 UTC
root% cli /***進入操作模式***/
root>
root> configure
Entering configuration mode /***進入配置模式***/
[edit]
Root#
2.1.2設置root用戶口令
設置root用戶口令
root# set system root-authentication plain-text-password
root# new password : root123
root# retype new password: root123
密碼將以密文方式顯示
root# show system root-authentication
encrypted-password "$1$xavDeUe6$fNM6olGU.8.M7B62u05D6."; # SECRET-DATA
注意:強烈建議不要使用其它加密選項來加密root和其它user口令(如encrypted-password加密方式),此配置參數要求輸入的口令應是經加密算法加密后的字符串,采用這種加密方式手工輸入時存在密碼無法通過驗證風險。
注:root用戶僅用於console連接本地管理SRX,不能通過遠程登陸管理SRX,必須成功設置root口令后,才能執行mit提交后續配置命令。
2.1.3設置遠程登陸管理用戶
root# set system login user lab class super-user authentication plain-text-password
root# new password : lab123
root# retype new password: lab123
注:此lab用戶擁有超級管理員權限,可用於console和遠程管理訪問,另也可自行靈活定義其它不同管理權限用戶。
2.1.4遠程管理SRX相關配置
run set date YYYYMMDDhhmm.ss /***設置系統時鍾***/
set system time-zone Asia/Shanghai /***設置時區為上海***/
set system host-name SRX3400-A /***設置主機名***/
set system name-server 1.1.1.1 /***設置DNS服務器***/
set system services ftp
set system services tel
set system services web-management
/***在系統級開啟ftp/tel/遠程接入管理服務***/
set routing-options static route 0.0.0.0/0 next-hop 10.1.1.1
/***配置邏輯接口地址及缺省路由,SRX接口要求IP地址必須配置在邏輯接口下(類似ScreenOS的子接口),通常使用邏輯接口0即可***/
set security zones security-zone untrust interfaces ge-0/0/0.0
/***將ge-0/0/0.0接口放到untrust zone去,類似ScreenOS***/
set security zones security-zone untrust host-inbound-traffic system-services ping
set security zones security-zone untrust host-inbound-traffic system-services
set security zones security-zone untrust host-inbound-traffic system-services tel
/***在untrust zone打開允許遠程登陸管理服務,ScreenOS要求基於接口開放服務,SRX要求基於Zone開放,從SRX主動訪問出去流量開啟服務,類似ScreenOS***/
Policy配置方法與ScreenOS基本一致,僅在配置命令上有所區別,其中策略的允許/拒絕的動作(Action)需要額外配置一條then語句(將ScreenOS的一條策略分解成兩條及以上配置語句)。Policy需要手動配置policy name,policy name可以是字符串,也可以是數字(與ScreenOS的policy ID類似,只不過需要手工指定)。
set security zones security-zone untrust address-book address server1 10.0.2.1/32
/***與ScreenOS一樣,在trust和untrust zone下分別定義地址對象便於策略調用,地址對象的名稱可以是地址/掩碼形式***/
set security zones security-zone trust address-book address-set addr-group1 address pc1
/***在trust zone下定義名稱為add-group1的地址組,並將pc1地址放到該地址組中***/
set security policies from-zone trust to-zone untrust policy 001 match source-address addr-group1 destination-address server1 application any
set security policies from-zone trust to-zone untrust policy 001 then permit
/***定義從trust 到untrust方向permit策略,允許addr-group1組的源地址訪問server1地址any服務***/
SRX NAT較ScreenOS在功能實現方面基本保持一致,但在功能配置上有較大區別,配置的主要差異在於ScreenOS的NAT與policy是綁定的,無論是MIP/VIP/DIP還是基於策略的NAT,在policy中均要體現出NAT內容(除了缺省基於untrust接口的Souec-NAT模式外),而SRX 的NAT則作為網絡層面基礎內容進行獨立配置(獨立定義地址映射的方向、映射關系及地址范圍),Policy中不再包含NAT相關配置信息,這樣的好處是易於理解、簡化運維,當網絡拓朴和NAT映射關系發生改變時,無需調整Policy配置內容。
SRX NAT和Policy執行先后順序為:目的地址轉換-目的地址路由查找-執行策略檢查-源地址轉換,結合這個執行順序,在配置Policy時需注意:Policy中源地址應是轉換前的源地址,而目的地址應該是轉換后的目的地址,換句話說,Policy中的源和目的地址應該是源和目的兩端的真實IP地址,這一點和ScreenOS存在區別,需要加以注意。
SRX中不再使用MIP/VIP/DIP這些概念,其中MIP被Static靜態地址轉換取代,兩者在功能上完全一致;DIP被Source NAT取代;基於Policy的目的地址轉換及VIP被 Destination NAT取代。ScreenOS中基於Untrust zone接口的源地址轉換被保留下來,但在SRX中不再是缺省模式(SRX中Trust Zone接口沒有NAT模式概念),需要手工配置。類似ScreenOS,Static屬於雙向NAT,其他類型均屬於單向NAT,
此外,SRX還多了一個proxy-arp概念,如果定義的IP Pool(可用於源或目的地址轉換)與接口IP在同一子網時,需配置SRX對這個Pool內的地址提供ARP代理功能,這樣對端設備能夠解析到IP Pool地址的MAC地址(使用接口MAC地址響應對方),以便於返回報文能夠送達SRX。下面是配置舉例及相關說明:
2.3.1 Interface based NAT
NAT:
set security nat source rule-set 1 from zone trust
set security nat source rule-set 1 to zone untrust
set security nat source rule-set 1 rule rule1 match source-address 0.0.0.0/0 destination-address 0.0.0.0/0
set security nat source rule-set 1 rule rule1 then source-nat interface
上述配置定義NAT源地址映射規則,從Trust Zone訪問Untrust Zone的所有流量用Untrust Zone接口IP做源地址轉換。
Policy:
set security policies from-zone trust to-zone untrust policy 1 match source-address 10.1.2.2
set security policies from-zone trust to-zone untrust policy 1 match destination-address any
set security policies from-zone trust to-zone untrust policy 1 match application any
set security policies from-zone trust to-zone untrust policy 1 then permit
上述配置定義Policy策略,允許Trust zone 10.1.2.2地址訪問Untrust方向任何地址,根據前面的NAT配置,SRX在建立session時自動執行接口源地址轉換。
2.3.2 Pool based Source NAT
NAT:
set security nat source pool pool-1 address 100.1.1.10 to 100.1.1.20
set security nat source rule-set 1 from zone trust
set security nat source rule-set 1 to zone untrust
set security nat source rule-set 1 rule rule1 match source-address 0.0.0.0/0 destination-address 0.0.0.0/0
set security nat source rule-set 1 rule rule1 then source-nat pool pool-1
set security nat proxy-arp interface ge-0/0/2 address 100.1.1.10 to 100.1.1.20
上述配置表示從trust方向(any)到untrust方向(any)訪問時提供源地址轉換,源地址池為pool1(100.1.1.10 -100.1.1.20),同時ge-0/0/2接口為此pool IP提供ARP代理。需要注意的是:定義Pool時不需要與Zone及接口進行關聯。配置proxy-arp目的是讓返回包能夠送達SRX,如果Pool與出接口IP不在同一子網,則對端設備需要配置指向100.1.1.1的Pool地址路由。
Policy:
set security policies from-zone trust to-zone untrust policy 1 match source-address 10.1.1.2
set security policies from-zone trust to-zone untrust policy 1 match destination-address any
set security policies from-zone trust to-zone untrust policy 1 match application any
set security policies from-zone trust to-zone untrust policy 1 then permit
上述配置定義Policy策略,允許Trust zone 10.1.2.2地址訪問Untrust方向任何地址,根據前面的NAT配置,SRX在建立session時自動執行源地址轉換。
2.3.3 Pool base destination NAT
NAT:
set security nat destination pool 111 address 192.168.1.100/32
set security nat destination rule-set 1 from zone untrust
set security nat destination rule-set 1 rule 111 match source-address 0.0.0.0/0
set security nat destination rule-set 1 rule 111 match destination-address 100.100.100.100/32
set security nat destination rule-set 1 rule 111 then destination-nat pool 111
上述配置將外網any訪問100.100.100.100地址映射到內網192.168.1.100地址,注意:定義的Dst Pool是內網真實IP地址,而不是映射前的公網地址。這點和Src-NAT Pool有所區別。
Policy:
set security policies from-zone trust to-zone untrust policy 1 match source-address any
set security policies from-zone trust to-zone untrust policy 1 match destination-address 192.168.1.100
set security policies from-zone trust to-zone untrust policy 1 match application any
set security policies from-zone trust to-zone untrust policy 1 then permit
上述配置定義Policy策略,允許Untrust方向任何地址訪問Trust方向192.168.1.100,根據前面的NAT配置,公網訪問100.100.100.100時,SRX自動執行到192.168.1.100的目的地址轉換。
ScreenOS VIP功能對應的SRX Dst-nat配置:
set security nat destination pool 222 address 192.168.1.200/32 port 8000
set security nat destination rule-set 1 from zone untrust
set security nat destination rule-set 1 rule 111 match source-address 0.0.0.0/0
set security nat destination rule-set 1 rule 111 match destination-address 100.100.100.100/32
set security nat destination rule-set 1 rule 111 match destination-port 8000
set security nat destination rule-set 1 rule 111 then destination-nat pool 222
上述NAT配置定義:訪問100.100.100.100地址8000端口映射至192.168.1.200地址8000端口,功能與ScreenOS VIP端口映射一致。
2.3.4 Pool base Static NAT
NAT:
set security nat static rule-set static-nat from zone untrust
set security nat static rule-set static-nat rule rule1 match destination-address 100.100.100.100
set security nat static rule-set static-nat rule rule1 then static-nat prefix 192.168.1.200
Policy:
set security policies from-zone trust to-zone untrust policy 1 match source-address any
set security policies from-zone trust to-zone untrust policy 1 match destination-address 192.168.1.200
set security policies from-zone trust to-zone untrust policy 1 match application any
set security policies from-zone trust to-zone untrust policy 1 then permit
Static NAT概念與ScreenOS MIP一致,屬於靜態雙向一對一NAT,上述配置表示訪問100.100.100.100時轉換為192.168.1.200,當192.168.1.200訪問Inter時自動轉換為100.100.100.100。
SRX IPSEC VPN支持Site-to-Site VPN 和基於NS-remote的撥號VPN,和ScreenOS一樣,site-to-site VPN也支持路由模式和Policy模式,在配置方面也和ScreenOS基本一致。SRX中的加密/驗證算法在命名上和ScreenOS存在一些區別,配置過程中建議選擇ike和ipsec的proposal為 standard模式,standard中包含SRX支持的全部加密/驗證算法,只要對端設備支持其中任何一種即可。SRX中通道接口使用st0接口,對應ScreenOS中的tunnel虛擬接口。
下面是圖中左側SRX基於路由方式Site-to-site VPN配置:
set routing-options static route 10.1.2.0/24 next-hop st0.0
定義st0 tunnel接口地址/Zone及通過VPN通道到對端網絡路由
set security ike policy ABC mode main
set security ike policy ABC proposal-set standard
set security ike policy ABC pre-shared-key ascii-text juniper
定義IKE Phase1 policy參數,main mode,standard proposal及預共享密鑰方式
set security ike gateway gw1 ike-policy ABC
set security ike gateway gw1 address 10.0.2.1
set security ike gateway gw1 external-interface ge-0/0/1.0
定義IKE gaeway參數,預共享密鑰認證,對端網關10.0.2.1,出接口ge-0/0/1(位於untrust zone)
set security ipsec policy AAA proposal-set standard
set security ipsec vpn vpn1 bind-interface st0.0
set security ipsec vpn vpn1 ike gateway gw1
set security ipsec vpn vpn1 ike ipsec-policy AAA
set security ipsec vpn vpn1 establish-tunnels immediately
定義ipsec Phase 2 VPN參數:standard proposal、與st0.0接口綁定,調用Phase 1 gw1 ike網關。
set security policies from-zone untrust to-zone trust policy vpn-policy match source-address any
set security policies from-zone untrust to-zone trust policy vpn-policy match destination-address any
set security policies from-zone untrust to-zone trust policy vpn-policy match application any
set security policies from-zone untrust to-zone trust policy vpn-policy then permit
set security policies from-zone trust to-zone untrust policy vpn-policy match source-address any
set security policies from-zone trust to-zone untrust policy vpn-policy match destination-address any
set security policies from-zone trust to-zone untrust policy vpn-policy match application any
set security policies from-zone trust to-zone untrust policy vpn-policy then permit
開啟雙向policy以允許VPN流量通過
SRX中自定義服務及ALG使用方法與ScreenOS保持一致,系統缺省開啟FTP ALG,為TCP 21服務提供FTP應用ALG。自定義服務如果屬於FTP類應用,需要將此自定義服務(非TCP 21端口)與FTP應用進行關聯。下面舉例定義一個FTP類服務ftp-test,使用目的端口為TCP 2100,服務超時時間為3600秒,並將此自定義服務與FTP應用關聯(ALG),系統將識別此服務為FTP應用並開啟FTP ALG來處理該應用流量。
set applications application ftp-test protocol tcp destination-port 2100 inactivity-timeout 3600
set applications application ftp-test application-protocol ftp
JSRP是Juniper SRX的私有HA協議,對應ScreenOS的NSRP雙機集群協議,支持A/P和A/A模式,JSRP對ScreenOS NSRP協議和JUNOS Cluster集群技術進行了整合集成,熟悉NSRP協議有助於對JSRP協議的理解。JSRP和NSRP最大的區別在於JSRP是完全意義上的Cluster概念,兩台設備完全當作一台設備來看待,兩台設備的接口板卡順序編號、運維變更將對兩台設備同時進行操作,無需額外執行ScreenOS的配置和會話同步等操作,而ScreenOS NSRP可看作在同步配置和動態對象(session)基礎上獨立運行的兩台單獨設備。
JSRP要求兩台設備在軟件版本、硬件型號、板卡數量、插槽位置及端口使用方面嚴格一一對應。由於SRX 是轉發與控制層面完全分裂架構,JSRP需要控制層面 (配置同步)和數據層面(Session同步)兩個平面的互聯,建議控制和數據層面互聯鏈路使用光纖鏈路直連(部分平台強制要求光纖鏈路直連)。
JSRP接口命名方式采用多個機箱抽象成一個邏輯機箱之后再統一為各個槽位進行編號,如上所示的SRX5800,每個SRX5800機箱有12個業務槽位,節點0槽位號從0開始編號,節點1槽位號從12開始往后編。
整個JSRP配置過程包括如下7個步驟
l 配置Cluster id和Node id (對應ScreenOS NSRP 的cluster id並需手工指定設備使用節點id)
l 指定Control Port (指定控制層面使用接口,用於配置同步及心跳)
l 指定Fabric Link Port (指定數據層面使用接口,主要session等RTO同步)
l 配置Redundancy Group (類似NSRP的VSD group,優先級與搶占等配置)
l 每個機箱的個性化配置 (單機無需同步的個性化配置,如主機名、帶外管理口IP地址等)
l 配置Redundant Ether Interface (類似NSRP的Redundant冗余接口)
l 配置Interface Monitoring (類似NSRP interface monitor,是RG數據層面切換依據)
SRX JSRP配置樣例:
l 配置Cluster id和Node id
SRX-A>set chassis cluster cluster-id 1 node 0 reboot(注意該命令需在operational模式下輸入,Cluster ID取值范圍為1 15,當Cluster ID = 0時將unsets the cluster)
SRX-B>set chassis cluster cluster-id 1 node 1 reboot
l 指定Control Port(如果主控板RE上有固定control-ports,則無需指定):
set chassis cluster control-ports fpc 11 port 0
set chassis cluster control-ports fpc 23 port 0
l 指定Fabric Link Port
set interfaces fab0 fabric-options member-interfaces ge-1/0/0
set interfaces fab1 fabric-options member-interfaces ge-13/0/0
注:Fabric Link中的Fab0固定用於node 0,Fab1固定用於node 1
l 配置Redundancy Group
RG0固定用於主控板RE切換,RG1以后用於redundant interface切換,RE切換獨立於接口切換
set chassis cluster reth-count 10 (指定整個Cluster中redundant ether interface最多數量)
set chassis cluster redundancy-group 0 node 0 priority 200 (高值優先,與NSRP相反)
set chassis cluster redundancy-group 0 node 1 priority 100
set chassis cluster redundancy-group 1 node 0 priority 200 (高值優先,與NSRP相反)
set chassis cluster redundancy-group 1 node 1 priority 100
l 每個機箱的個性化配置,便於對兩台設備的區分與管理
set groups node0 system host-name SRX-A
set groups node0 interfaces fxp0 unit 0 family i address 1.1.1.1/24 (帶外網管口名稱為fxp0,區別ScreenOS的MGT口)
set groups node1 system host-name SRX-B
set groups node1 interfaces fxp0 unit 0 family i address 1.1.1.2/24
set apply-groups ${node} (應用上述groups配置)
l 配置Redundant Ether Interface
Redundant Ether Interface類似ScreenOS里的redundant interface,只不過Redundant Ether interface是分布在不同的機箱上 (這一特性又類似ScreenOS 的VSI接口)。雲服務器租用
Set interface ge-0/0/0 gigether-options redundant-parent reth0 (node 1的ge-0/0/0接口)
Set interface ge-13/0/0 gigether-options redundant-parent reth0 (node 1的ge-0/0/0接口)
Set interface reth0 redundant-ether-options redundancy-group 1 (reth0屬於RG1)
Set interface reth0 unit 0 family i address 192.168.0.1/24
l 配置Interface Monitoring,被監控的接口Down掉后,RG1將自動進行主備切換(與ScreenOS類似),
Set cluster redundancy-group 1 interface-monitor ge-0/0/0 weight 255
Set cluster redundancy-group 1 interface-monitor ge-0/0/1 weight 255
Set cluster redundancy-group 1 interface-monitor ge-13/0/1 weight 255
l JSRP維護命令
a) 手工切換JSRP Master,RG1 原backup將成為Master
root@srx5800a> request chassis cluster failover redundancy-group 1 node 1
b) 手工恢復JSRP狀態,按照優先級重新確定主備關系(高值優先)
root@srx5800b> request chassis cluster failover reset redundancy-group 1
c) 查看cluster interface
root@router> show chassis cluster interfaces
d) 查看cluster 狀態、節點狀態、主備關系
lab@srx5800a# run show chassis cluster status
e) 取消cluster配置
srx5800a# set chassis cluster disable reboot
f) 升級JSRP軟件版本
SRX目前暫不支持軟件在線升級(ISSU),升級過程會中斷業務。
升級步驟如下:
1.升級node 0,注意不要重啟系統
2.升級node 1,注意不要重啟系統.
3.同時重啟兩個系統
g) 恢復處於disabled狀態的node
當control port或fabric link出現故障時,為避免出現雙master (split-brain)現象,JSRP會把出現故障前狀態為secdonary的node設為disabled狀態,即除了RE,其余部件都不工作。想要恢復必須reboot該node。
3.1 設備關機
SRX因為主控板上有大容量硬盤,為防止強行斷電關機造成硬件故障,要求設備關機必須按照下面的步驟進行操作:
1. 管理終端連接SRX console口。
2. 使用具有足夠權限的用戶名和密碼登陸CLI命令行界面。
3. 在提示符下輸入下面的命令:
Please press any key to reboot(除非需要重啟設備,此時不要敲任何鍵,否則設備將進行重啟)
4. 等待console輸出上面提示信息后,確認操作系統已停止運行,關閉機箱背后電源模塊電源。
3.2 設備重啟
SRX重啟必須按照下面的步驟進行操作:
1. 管理終端連接SRX console口。
2. 使用具有足夠權限的用戶名和密碼登陸CLI命令行界面。
3. 在提示符下輸入下面的命令:
4. 等待console設備的輸出,操作系統已經重新啟動。
3.3 操作系統升級
SRX操作系統軟件升級必須按照下面的步驟進行操作:
1. 管理終端連接SRX console口,便於升級過程中查看設備重啟和軟件加載狀態。
2. SRX上開啟FTP服務,並使用具有超級用戶權限的非root用戶通過FTP客戶端將下載的升級軟件介質上傳到SRX上。
3. 升級前,執行下面的命令備份舊的軟件及設定:
5. 軟件加載成功后, SRX將自動重啟,重啟完成后檢查系統當前軟件版本號:
3.4 密碼恢復
SRX Root密碼丟失,並且沒有其他的超級用戶權限,那么就需要執行密碼恢復,該操作需要中斷設備正常運行,但不會丟失配置信息,這點與ScreenOS存在區別。
要進行密碼恢復,請按照下面操作進行:
1. Console口連接SRX,然后重啟SRX。
2. 在啟動過程中,console上出現下面的提示的時候,按空格鍵中斷正常啟動方式,然后再進入單用戶狀態,並輸入:boot -s
Loading /boot/defaults/loader.conf
/kernel data=… … syms=[… …]
Hit [Enter] to boot immediately, or space bar for mand prompt.
loader>
loader> boot -s
3. 執行密碼恢復:在以下提示文字后輸入recovery,設備將自動進行重啟
Enter full pathname of shell or 'recovery' for root password recovery or RETURN for /bin/sh: recovery
4. 進入配置模式,刪除root密碼,並重現設置root密碼:
user@host> configure
Entering configuration mode
user@host#delete system root-authentication
user@host#set system root-authentication plain-text-password
user@host#New password:
user@host#Retype new password:
user@host# mit
mit plete
下列操作命令在操作模式下使用,或在配置模式下run show…
l show system software 查看當前軟件版本號
l show system uptime 查看系統啟動時間
l show chassis haredware 查看硬件板卡及序列號
l show chassis environment 查看硬件板卡當前狀態
l show chassis routing-engine 查看主控板(RE)資源使用及狀態
l show route 查看路由表
l show arp 查看ARP表
l show log messages 查看系統日志
l show interface terse 查看所有接口運行狀態
l show interface ge-x/y/z detail 查看接口運行細節信息
l monitor interface ge-x/y/z 動態統計接口數據包轉發信息
l monitor traffic interface ge-x/y/z 動態報文抓取(Tcpdump,類似ScreenOS snoop命令)
l show security flow session summary 查看當前防火牆並發會話數
l show security flow session 查看當前防火牆具體並發會話
l clear security flow session all 清除當前session
l show security alg status 檢查全局ALG開啟情況
l SRX對應ScreenOS debug flow basic跟蹤報文處理路徑的命令:
§ set security flow traceoptions flag basic-datapath 開啟SRX基本報文處理Debug
§ set security flow traceoptions file filename.log 將輸出信息記錄到指定文件中
§ set security flow traceoptions file filename.log size 設置該文件大
小,缺省128k
§ set security flow traceoptions packet-filter filter1 destination-prefix 5.5.5.2
設置報文跟蹤過濾器
§ run file show filename.log 查看該Log輸出信息
l SRX對應ScreenOS get tech命令,開Case時需要抓取的信息:request support information
本文出自“高森網絡 技術交流論壇” 博客,請務必保留此出處://yzmbk.blog.51cto.//