廣告

2025 年 1 月
 12345
6789101112
13141516171819
20212223242526
2728293031  

彙整

WSUS資料庫索引重建-改善效能隨著時間而降低與改善出現重設伺服器節點的狀況

WSUS Server 安裝SQL Server Management Studio Express
可上微軟官網抓取
SSMS-Setup-CHT_2014.exe

開啟SQL Server Management Studio Express 連線位置輸入(WSUS使用WID資料庫安裝模式)
\\.\pipe\MICROSOFT##WID\tsql\query

建立自訂索引 新增查詢

— Create custom index in tbLocalizedPropertyForRevision
USE [SUSDB]

CREATE NONCLUSTERED INDEX [nclLocalizedPropertyID] ON [dbo].[tbLocalizedPropertyForRevision]
(
      [LocalizedPropertyID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

— Create custom index in tbRevisionSupersedesUpdate
CREATE NONCLUSTERED INDEX [nclSupercededUpdateID] ON [dbo].[tbRevisionSupersedesUpdate]
(
      [SupersededUpdateID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]


新增查詢執行索引重建 T-SQL
USE SUSDB;
GO
SET NOCOUNT ON;
 
— Rebuild or reorganize indexes based on their fragmentation levels
DECLARE @work_to_do TABLE (
    objectid int
    , indexid int
    , pagedensity float
    , fragmentation float
    , numrows int
)
 
DECLARE @objectid int;
DECLARE @indexid int;
DECLARE @schemaname nvarchar(130); 
DECLARE @objectname nvarchar(130); 
DECLARE @indexname nvarchar(130); 
DECLARE @numrows int
DECLARE @density float;
DECLARE @fragmentation float;
DECLARE @command nvarchar(4000); 
DECLARE @fillfactorset bit
DECLARE @numpages int
 
— Select indexes that need to be defragmented based on the following
— * Page density is low
— * External fragmentation is high in relation to index size
PRINT ‘Estimating fragmentation: Begin. ‘ + convert(nvarchar, getdate(), 121) 
INSERT @work_to_do
SELECT
    f.object_id
    , index_id
    , avg_page_space_used_in_percent
    , avg_fragmentation_in_percent
    , record_count
FROM 
    sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, ‘SAMPLED’) AS f
WHERE
    (f.avg_page_space_used_in_percent < 85.0 and f.avg_page_space_used_in_percent/100.0 * page_count < page_count – 1)
    or (f.page_count > 50 and f.avg_fragmentation_in_percent > 15.0)
    or (f.page_count > 10 and f.avg_fragmentation_in_percent > 80.0)
 
PRINT ‘Number of indexes to rebuild: ‘ + cast(@@ROWCOUNT as nvarchar(20))
 
PRINT ‘Estimating fragmentation: End. ‘ + convert(nvarchar, getdate(), 121)
 
SELECT @numpages = sum(ps.used_page_count)
FROM
     @work_to_do AS fi
    INNER JOIN sys.indexes AS i ON fi.objectid = i.object_id and fi.indexid = i.index_id
    INNER JOIN sys.dm_db_partition_stats AS ps on i.object_id = ps.object_id and i.index_id = ps.index_id
 
— Declare the cursor for the list of indexes to be processed.
DECLARE curIndexes CURSOR FOR SELECT * FROM @work_to_do
 
— Open the cursor.
OPEN curIndexes
 
— Loop through the indexes
WHILE (1=1)
BEGIN
    FETCH NEXT FROM curIndexes
    INTO @objectid, @indexid, @density, @fragmentation, @numrows;
    IF @@FETCH_STATUS < 0 BREAK;
 
    SELECT 
        @objectname = QUOTENAME(o.name)
        , @schemaname = QUOTENAME(s.name)
    FROM 
        sys.objects AS o
         INNER JOIN sys.schemas as s ON s.schema_id = o.schema_id
     WHERE 
        o.object_id = @objectid;
 
    SELECT 
         @indexname = QUOTENAME(name)
        , @fillfactorset = CASE fill_factor WHEN 0 THEN 0 ELSE 1 END
    FROM 
        sys.indexes
    WHERE
        object_id = @objectid AND index_id = @indexid;
 
    IF ((@density BETWEEN 75.0 AND 85.0) AND @fillfactorset = 1) OR (@fragmentation < 30.0)
        SET @command = N’ALTER INDEX ‘ + @indexname + N’ ON ‘ + @schemaname + N’.’ + @objectname + N’ REORGANIZE’;
    ELSE IF @numrows >= 5000 AND @fillfactorset = 0
        SET @command = N’ALTER INDEX ‘ + @indexname + N’ ON ‘ + @schemaname + N’.’ + @objectname + N’ REBUILD WITH (FILLFACTOR = 90)’;
    ELSE
        SET @command = N’ALTER INDEX ‘ + @indexname + N’ ON ‘ + @schemaname + N’.’ + @objectname + N’ REBUILD’;
    PRINT convert(nvarchar, getdate(), 121) + N’ Executing: ‘ + @command;
    EXEC (@command);
    PRINT convert(nvarchar, getdate(), 121) + N’ Done.’;
END
 
— Close and deallocate the cursor.
CLOSE curIndexes;
DEALLOCATE curIndexes;
 
 
IF EXISTS (SELECT * FROM @work_to_do)
BEGIN
    PRINT ‘Estimated number of pages in fragmented indexes: ‘ + cast(@numpages as nvarchar(20))
    SELECT @numpages = @numpages – sum(ps.used_page_count)
    FROM
        @work_to_do AS fi
         INNER JOIN sys.indexes AS i ON fi.objectid = i.object_id and fi.indexid = i.index_id
        INNER JOIN sys.dm_db_partition_stats AS ps on i.object_id = ps.object_id and i.index_id = ps.index_id
 
    PRINT ‘Estimated number of pages freed: ‘ + cast(@numpages as nvarchar(20))
END
GO
 
 
–Update all statistics
PRINT ‘Updating all statistics.’ + convert(nvarchar, getdate(), 121) 
EXEC sp_updatestats
PRINT ‘Done updating statistics.’ + convert(nvarchar, getdate(), 121) 
GO

 

共用印表機救星 0x00000709

微軟更新後對於PRINTER SERVER安全性要求更高,導致老舊SERVER的PRINTER服務使用WINDOWS 10以上連線會異常。

檔案下載 共用印表機救星

或到這邊看教學影片也有下載連結 https://www.youtube.com/watch?v=87NdWdIjx6M&ab_channel=%E6%9E%97R%E7%B7%AF

這部分確定 WINDOWS 10下有效

如何從Windows 7升級到Windows 10 出現 0x80072F8F – 0x20000 問題排除

感謝此作者貢獻 https://slashview.com/archive2022/20220711.html

只是Windows 7早已於2020-01-14終止支援,因此時至今日(2022)來說,原本簡單點兩下就開始安裝的事情,在無形中會已經產生重重的困擾阻擋你升級到Windows 10,這篇文章帶你走一次,避免踏足我走過數小時的冤枉路。(會找到這篇文章我想我應該知道你要幹嘛,在此心照不宣)

從Windows 7升級到Windows 10

Step 1. 請下載「Windows 7 Service Pack 1」的64位元版本之ISO檔案並製作成開機USB,進行Windows系統安裝。(請一定要下載Service Pack 1版本,你將會少走很多冤枉路)

Step 2. 安裝完Windows 7並開通網路後,接下來是各顯神通的時刻。請想辦法「啟動」Windows 7,且不需要浪費時間驅動任何驅動程式,不需要進行任何Windows Update(事實上你根本無法連線到官方,也不用浪費時間去解決無法連線的問題),最後應如下圖所示:

Step 3. 請到微軟官方網站下載最新版的Media Creation Tool,詳見下圖並執行:

Step 4. 接著你應該會看到這個錯誤訊息:

無法確認發生什麼事,但無法在你的電腦上執行此工具。若問題繼續發生,請聯絡客戶支援並提供您看到的錯誤碼。錯誤碼:0x80072F8F - 0x20000

We're not sure what happened, but we're unable to run this tool on your PC. If you continue experiencing problems, reference the error code when contacting customer support. Error code: 0x80072F8F - 0x20000

Step 5. 會出現這個錯誤是因為Windows 7仍然預設使用不安全的通訊協定(SSL 2.0)的問題,請透過下列的方式開通TLS 1.1、TLS 1.2。(請下載我整理好的安裝包:FixMediaCreationBugInWindows7.zip,裡面有三個檔案,請依序執行後重新開機)

筆者在多做一條備援下載區:https://drive.google.com/file/d/1D98lMOOhx4ff0hmtznEIaTu5lWUse4T2/view?usp=sharing

Step 1. LowTlsEnable.reg(安裝註冊檔)
Step 2. KB3140245.msu(安裝KB3140245)
Step 3. MicrosoftEasyFix.msi(安裝微軟一點通)

Step 4. 再次進入Windows 7系統畫面後,點選MediaCreationTool執行就可以看到下列畫面啦!

最後建議,在Windows 7專業版下取得Windows 10專業版的數位授權(Digital License)完成後,建議再重新安裝一次Windows 10會比較乾淨,執行上也會順很多。另再補充說明一點,Windows 7裡面的Online ID Provider(WindowsLiveID)已經停止運作了,所以想透過KMS繞過來運行綁定微軟帳號並取得數位授權的人可能要失望了,取得正版Windows7金鑰才是上策。

自創論文,沒有抄襲,APPLE與ANDRIOD兩大品牌與專制與民主自由的關係

ANDRIOD 與 APPLE 兩大陣營各自有擁護的族群,若對於ANDRIOD與APPLE系統拿來比喻民主自由與獨裁,說出來你還真會錯愕,其實很多人喜歡的APPLE就是屬於獨裁的系統,而ANDRIOD就是屬於民主自由系統。
ANDRIOD系統屬於OPEN SOURCE自由軟體,各家廠商都可以拿去做品牌手機的基礎作業系統,再去開發自己想要的介面,軟體軔體功能,是不是很自由?
APPLE系統則是屬於封閉系統,要用APPLE產品的人,就必須忍受APPLE的獨裁,比方他只能用他出的接頭規格,就算提倡環保,還是堅持不使用業界統一標準的USB或TYPE C,充電線沒原廠認證,可能就會出現無法充電問題,是不是很像獨裁。
——
小編智慧型手機出現後從三星的S1 S3 NOTE5 NOTE8 最後跳到APPLE(中間不乏用過其他品牌的ANDRIOD手機),從堅持不用ALLPE,到最後使用APPLE的過程,就有如本來只堅持民主自由,到最後走向專制,是有相當的關聯性的,身為工程師的我也很講求邏輯性問題,尤其是寫程式的部分,邏輯不通,出來的結果也就是垃圾!
——
為何堅持使用ANDRIOD?
因為ANDRIOD可以直接聽MP3,還可以輕易地安裝盜版使用免費正版功能王八蛋APP,,IPHONE什麼都要花錢才能享受,還有硬體周邊線材統一,不管換哪家廠商都能共用,這才環保,最重要的是手機售價都比APPLE便宜。
——
這一兩年怎會跳到APPLE陣營?
一開始是因為NOTE 8只有64G,三不五時就跳出空間不足,備份移轉刪檔案久了就萌生想換儲存空間大一點的手機念頭,正想著要換S21還是NOTE 20,剛好老婆坐月子想換掉IPHONE 6,本想勸老婆投奔自由的ANDRIOD陣營,但因老婆用習慣IPHONE,於是就買了IPHONE 12犒賞老婆,以下就是小編跳陣營的原因:
1.IPHONE換手機無痛移轉比ANDRIOD強。在幫老婆IPHONE移轉手機資料的過程發現,基本上就是無腦移轉,手機靠近就會自動詢問無腦移轉,完全不用重新來過,這是ANDRIOD目前無法做到這麼完美的!小編每次ANDRIOD換機總要花一兩天來讓手機恢復正常使用!
2.IPHONE手機的順暢度ANDRIOD就算買到旗艦機種也還是跟不上
3.IPHONE安裝APP速度比ANDRIOD快很多
4.封閉系統的好處就是安全性高些
5.ANDRIOD自由系統音各家廠商發展的結果的包袱越來越多
——
專制與民主自由
民主自由的ANDRIOD你的確能輕鬆享受ROOT功能,比較容易隨便想幹嘛就幹嘛(例如罵政腐,其實現在也不能亂罵會被告),但使用上就是很多問題都無法改善,例如划畫面的流暢度,安裝APP的速度,各家手機還是存在很多差異的功能。
——
專制封閉的APPLE
專制封閉的APPLE為何還能擁有廣大的使用族群與愛戴者?因為她就算系統封閉,硬體獨特不環保,即便他兩年後使用韌體降你手機速度讓手機變慢會想換新手機,不更新手機韌體又會讓你無法使用新APP,還是有很多人欣然接受。

經過這些年的洗禮,比對手機發展與台灣政治發展史,我得到的結論是,真的要能做事進步,還是要專制比較容易達成,同樣的條件,APPLE只需要一個專制而有能力的領導者(如賈伯斯),領導者再用他的認知去找能執行他理念的夥伴去執行,結果APPLE就強盛起來了。

ANDRIOD之所以可以強盛,是因為他給你更多自由,但也因為這個更多的自由導致發展受到重重阻礙,意見太多,很難取捨,也造成包袱太多,很難發展,結果ANDRIOD的使用經驗越來越糟糕,這就是民主自由的後遺症。

多數人的決定並不代表就是最好的決定,你要知道真正厲害的只有少數人,就是所謂的菁英,如果多數平庸的人決定了不正確的事,菁英也只是受到牽連被拖累,近代最明顯的案例就是蔡政府的能源政策錯誤後產生的骨牌效應。

結論:

如果你用APPLE,那你真的很難說服我你喜歡民主自由,因為你正被專制綁架,但你用的很舒服,所以甘願被綁,如果這說法成立,你還覺得專制就絕對是壞事?只要由賈伯斯帶領,就如同APPLE一樣,專制也能給人民幸福!

大陸唐山燒烤店惡魔打人事件

6月天真的發生太多駭人聽聞的事,先是大陸唐山燒烤店打人事件,再來是新竹東大路縱火燒死自家8人的事件,讓我心情整個DOWN到谷底!
縱火的只有死刑能寬恕他
唐山打死人的惡魔也是只有死刑能寬恕他們   


習近平先生有能力能趁這次機會打老虎嗎? 唐山事件真的太可惡了,做黑道也講個道義,這些人不是人,是惡魔!

https://www.youtube.com/watch?v=iKKHL7nbL9I&ab_channel=%E6%96%B0%E8%81%9E%E7%9C%8B%E9%BB%9E%E6%9D%8E%E6%B2%90%E9%99%BD

沒有絕對的好與壞,主要還是要看作為-民主

少數服從多數,多數若是智障,那下場真的會很慘
#民主

安裝好WINDOWS 10 21H2 直接部給安裝網路印表機出現 0x00000709 還沒有更新可以移除

先幹譙微軟一下!

安裝好WINDOWS 10 21H2 直接部給安裝網路印表機出現 0x00000709 還沒有更新可以移除,天啊,好險有人分想了解決方案直接執行批次黨即可,但敢不敢用就看個人。

https://drive.google.com/file/d/1uakCJIvx4H37Dz7Km63aUfB_VJHu2qex/view

或備用區

https://drive.google.com/file/d/1HoYJPHvI6QBh9vN7G0H-M93JnXZb2VWG/view?usp=sharing

NETGEAR + NAS 設定802.3AD LCAP

文章出處

https://mesak.tw/hardware/6464/netgear-gs108tv2-want-use-link-aggregation-need-this-switch

想玩 Link Aggregation 但是設備不支援,該從哪個設備開始下手呢?

Link Aggregation 不算是一個很新的技術,這技術是 IEEE 標準規格 802.3ad協定中的一部份,簡單的說就是在機器中連接兩條以上的網路線,然後將速度合併傳輸,這樣可以讓你的速度在理論值上獲得 N倍的傳輸速度。過去大檔案傳輸似乎都不是非常的重要,因為寫入的速度以及網路的速度常常兩者都無法相符,但是現在有了 SSD技術,寫入硬碟的時間有了相當大的進步,網路設備的傳輸速度也有不小的進步,在區域網路內的傳輸速度的需求也隨著需求變大,以家用較能安裝的 CAT6A 網路線來看,單條銅芯網路線能負載的網路傳輸量是 10Gbps (大約 1G的傳輸量 ) ,這個傳輸量可能可以承載一般人的單次使用量,但是當量大一點的話,網路常常就不堪負荷,出現一點延遲的狀況產生。

也許有不少人有經驗,當一個 使用者在區域網路內傳輸檔案給另一端的時候,網路就會變得莫名的慢,除了網路占用頻寬之外,傳輸量不足也是一個問題所在,Link Aggregation 可以提供大流量傳輸,一次性的快速大量傳輸,可以讓你等待的時間變短,應付更多種多樣化的工作。

當然想要體驗 Link Aggregation 功能,必須要購買有 802.3ad 協定的機器,如果家中剛好要順道換無線分享器的話,個人推薦這款 Netgear R8500 不僅支援 Link Aggregation 還支援 802.11AC (AC5300) 的無線網路,規格相當強大,配裝也比較省事,不過如果你只想升級區網內的設備的話,就要選擇支援  802.3ad 協定的機器。今天要介紹這台 Netgear GS108Tv2 ,就是屬於支援 Link Aggregation 的交換器(Switch),當然還有更多功能支援,在產品的定位上,屬於企業級應用產品,家用的話就較少會應用到,不過有需求就會有產品研發出來,我想提升一下區網內的檔案交換速度,就挑選了這台 Netgear GS108Tv2 來操作。

clip_image001

因為不是家用產品,包裝上應該就有點力求精簡,沒有花俏的圖案,直接採用紙盒包裝。

clip_image002

內容物:Netgear GS108Tv2 本體一台、變壓器、說明書、光碟片,以及安裝牆壁壁掛的扣具。

clip_image003

Netgear GS108Tv2 的正面。

clip_image004

Netgear GS108Tv2 的背面

clip_image005

可以看到網路孔這面一共有八個接孔,第一個接口為 PoE ( Power over Ethernet),也就是可由網路線來供電的設備

這是根據 802.3at 協定的 PoE+ 設計,目的是用於網路線供電,可為裝置提供最大 25.5W 的功率,不過要注意的是這邊的 PoE 是受電端,本身並沒有供電的功能,反而是可以接受上一端設備的供電,這樣一來只要你的上一層可以提供 PoE 網路線供電,你的 Netgear GS108Tv2 就可以不用接上變壓器來供電,對於節省插座空間可說是相當的有幫助

clip_image006

背面是電源接頭以及機身序號,還有一個金屬片設計應該是接地的設計

clip_image007

Netgear GS108Tv2 底部有寫明 Switch 管理介面的進入地址,以及登入密碼,設計了三向勾槽,可以方便讓機身方便裝置在牆壁上。

clip_image009

clip_image011

Netgear GS108Tv2  的大小 158 x 105 x 27mm 不算太大,提供 8 個 Port 網路口使用

clip_image012

機身本體是沒有附,當然要用在 Nas 上線材也不能馬虎,這邊是直接挑 露天的賣家訂製 50cm 的 Cat6A 線材。

clip_image013

可以看到線材的寬度相當的粗壯,少說也有 8.5mm 左右,快到一公分寬了。

clip_image014

看一下我自己之前買的Cat5e 線材,寬度大約 4mm 這個粗細程度就差很多

§ Cat6A 的速度可以支援到 10Gbit/s 傳輸頻率 可高達 500 MHz

§ Cat6 的速度可以支援到 1Gbit/s 傳輸頻率 可高達 250 MHz

§ Cat5e 的速度可以支援到 1Gbit/s 傳輸頻率 可高達 125 MHz

§ Cat5 的速度可以支援到 100Mbit/s 傳輸頻率 可高達 100 MHz

為了網路速度的流暢度,挑選了 Cat6A 也算是相當不錯的投資,至少短期內不用顧慮到線材的升級。

Cat6A 中間增加了隔板,每條絞線之間都會有一定的遮蔽程度,可以有效的傳輸資料不被干擾。

clip_image015

東西都準備好了,就準備來安裝到我之前安裝好的網路設備箱了。

clip_image016

這次把 UPS 移動到右邊,這樣就不會打架。Nas 依然放在左側,然後為了接上 Nas的雙 LAN 口,Netgear GS108Tv2 就直接放在旁邊了。

clip_image017

雖然這樣放著有點難看,不過為了方便還是先這樣固定住,反正放在箱子,沒有太大的問題。

clip_image018

機身用久了為發出微熱的溫度,最好不要跟其他設備疊堆。

clip_image019

如果可以的話找個東西墊高也是個不錯的散熱方法,圖中是我用 3D列印機 印的架高器,簡單的設計,方便就好

接下來介紹一下 Nas  端與介面該如何開啟 Link Aggregation

一樣,先進入 Nas 裡面,在控制台內執行網路選項,選擇網路介面,可以看到區網1 區網2 都已連線

clip_image020

按下新增 >Bond

clip_image021

在這邊選擇第二個選項 IEEE 802.23ad Link Aggregation 動態模式

clip_image022

然後設定原本的 ip,如果沒有指定就選擇 自動取得 DHCP,讓 Router 來配置。

clip_image023

建立完畢後就可以看到 兩個網路已經變成一個 Bond 1 。

clip_image024

展開後還沒設定完畢,目前可以看到連線狀態都是失敗的。

接著就要進入 Netgear GS108Tv2 的後台,要進入後台必須到 你本身的 Router 去找到連線的位置,如果沒有 DHCP 配發,預設的 IP位置會是 192.168.0.239,進入後台後輸入密碼 password 就可以進入  Netgear GS108Tv2 的管理後台,一般的交換器都不會有管理的介面,這台主要是針對企業應用,所以說後台介面的設定也是相當的豐富。

clip_image025

目前只需要設定 Link Aggregation (LCAP) 的模式,所以直接進入 Switching 的選項,接著選擇 LAG的 Configuration

clip_image026

直接點選第一個 LAG1 的選項,進入後可以修改名稱,接著是將要合併的 Port 給按下方框,就會指定需要合併的 Port,大部分都應該接上 第1、2 個 Port ,選擇完畢後按下右下角的 Apply 套用

clip_image027

接著打勾該選項,並且在上方選擇 LACP

clip_image028

另一種模式是靜態,不過這邊要選 LCAP 才有作用,選擇完畢後直接按下介面中右下角的 Apply 套用,接著回到 nas 的介面。

clip_image029

回到介面就可以看到 網路狀態目前跑了全雙工 2000Mb/s ,這樣一來就可以利用兩條網路線應付大量存取,不怕因為大量複製檔案或是下載造成網路延遲,如果想要跑到極限的網路,自己傳輸的電腦也需要有 LACP 的網路卡才可以支援。

本來我以為我電腦有 killer network 的網路卡,也就是雙網卡設計可以使用,不過仔細詳查主機板的規格書才寫道,Killer E2201 內建網路不支援線路匯整功能(Teaming),必須要買一片 Intel E1G42ET 的網卡,這樣繼續測試 LAN的瞬間極限傳送才有意義,不然受限於用戶端,每條線路最大也 1Gbps 的傳輸量可以使用,不過對於家庭網路環境,這樣的裝置已經能夠帶來許多的效益,也沒有必要買一台用戶端都升級到最高端的效果,在 Nas 的存取可以加快區網內的讀寫速度,就已經足夠應付一般家用的使用量。如果想要挑戰更極致的網路速度,那還需要線路網卡以及硬體的整體提升。

聰明的人都懂 百姓就只想過安居樂業的生活

聰明的人都懂

#百姓就只想過安居樂業的生活

https://www.youtube.com/watch?v=sOPSnIbISPA&ab_channel=%E8%A7%80%E9%BB%9E

Centos+postfix+opendkim安裝DKIM證書

20220310-若有用MAILSCANNER加入簽名功能,改到表身BODY資料,DKIM驗證會失敗,取消即可。

https://www.catidc.com/news/content/3.html

CentOS 5.x系列 官方停止更新支持后yum源失效解决方案

发布时间:2021-04-22 22:02:55

近期CentOS 5.x系列官方已经停止更新支持,同时官方也把yum源删除了,目前CentOS 5.x系统使用yum命令安装软件包基本都是失败,报错404 NotFound,因此需要更换yum源。

执行以下代码后即可恢复正常使用

cat  >  /etc/yum.repos.d/CentOS-Base.repo  <<EOF
[base]
name=CentOS-$releasever – Base
baseurl=http://mirrors.aliyun.com/centos-vault/5.11/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5#released updates [updates]
name=CentOS-$releasever – Updates
baseurl=http://mirrors.aliyun.com/centos-vault/5.11/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5#packages used/produced in the build but not released[addons]
name=CentOS-$releasever – Addons
baseurl=http://mirrors.aliyun.com/centos-vault/5.11/addons/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5#additional packages that may be useful[extras]
name=CentOS-$releasever – Extras
baseurl=http://mirrors.aliyun.com/centos-vault/5.11/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5#additional packages that extend functionality of existing packages[centosplus]
name=CentOS-$releasever – Plus
baseurl=http://mirrors.aliyun.com/centos-vault/5.11/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5#contrib – packages by Centos Users[contrib]
name=CentOS-$releasever – Contrib
baseurl=http://mirrors.aliyun.com/centos-vault/5.11/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
EOF

================

來源:https://www.itread01.com/content/1542104586.html

Centos+postfix+opendkim安裝DKIM證書

2018-11-13 254

很多時候,我們自行搭建的郵件系統,在傳送郵件時,會進入收信方的垃圾箱裡,而不是進入收件箱,如果評論者用的QQ郵箱,很可能在垃圾箱裡找不到,只能自助查詢裡找一找。這種情況發生的原因大多是因為我們伺服器發的郵件被標記為SPAM。使用這個網站可以檢視伺服器的發件分數http://www.mail-tester.com/,得分10在沒有特殊情況是不會被攔截的。

現在國內發信,首先收件運營商會檢測你是不是正常的使用者,避免你模仿其他人發垃圾郵件甚至詐騙郵件給使用者,避免使用者受到損失。

這裡最基礎的檢測是SPF記錄以及你郵箱的RDNS記錄,DKIM記錄主要是保證收發信的傳輸過程中保證郵件內容不被篡改,目前DKIM記錄國內貌似只有比較大的運營商在用,很多小的運營商沒有用。

國外一些郵箱尤其是Gmail還會檢測你的郵件是否配置了TLS加密,還有DMARC記錄等等這裡只介紹DKIM。

那DKIM怎麼保證郵件內容不被篡改的?

DKIM 技術通過在每封電子郵件上增加加密的數字標誌,然後與合法的網際網路地址資料庫中的記錄進行比較。當收到電子郵件後,只有加密資訊與資料庫中記錄匹配的電子郵件,才能夠進入使用者的收件箱。它還能檢查郵件的完整性,避免黑客等未授權者的修改。 DKIM 的基本工作原理同樣是基於傳統的金鑰認證方式,他會產生兩組鑰匙,公鑰(public key)和私鑰(private key),公鑰將會存放在 DNS 中,而私鑰會存放在寄信伺服器中。私鑰會自動產生,並依附在郵件頭中,傳送到寄信者的伺服器裡。公鑰則放在DNS伺服器上,供自動獲得。收信的伺服器,將會收到夾帶在郵件頭中的私鑰和在DNS上自己獲取公鑰,然後進行比對,比較寄信者的域名是否合法,如果不合法,則判定為垃圾郵件。 由於數字簽名是無法仿造的(準確的說是DKIM的加密演算法特別特別難,幾乎沒有人可以破解),因此這項技術對於垃圾郵件製造者將是一次致命的打擊,他們很難再像過去一樣,通過盜用發件人姓名、改變附件屬性等小伎倆達到目的。

假定我們的postfix郵件系統已經安裝好,在此基礎上新增DKIM證書。

配置EPEL yum 源

EPEL,即Extra Packages for Enterprise Linux,這個軟體倉庫裡有很多非常常用的軟體,OpenDKIM 也在其中

wget -P /tmp http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh /tmp/epel-release-6-8.noarch.rpm
rm -f /tmp/epel-release-6-8.noarch.rpm

安裝OpenDKIM

使用yum命令直接安裝

yum install opendkim

配置OpenDKIM

接下來要修改配置檔案,檔案在/etc/opendkim.conf

AutoRestart             Yes
AutoRestartRate         10/1h
LogWhy                  Yes
Syslog                  Yes
SyslogSuccess           Yes
Mode                    sv
Canonicalization        relaxed/simple
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
SignatureAlgorithm      rsa-sha256
Socket                  inet:8891@localhost (這邊改預設這樣 文章內的會出問題)
PidFile                 /var/run/opendkim/opendkim.pid
UMask                   022
UserID                  opendkim:opendkim
TemporaryDirectory      /var/tmp

生成公鑰和私鑰

mydomain.com 替換成你的域名

mkdir /etc/opendkim/keys/mydomain.com
opendkim-genkey -D /etc/opendkim/keys/mydomain.com/ -d mydomain.com -s default
chown -R opendkim: /etc/opendkim/keys/mydomain.com
mv /etc/opendkim/keys/mydomain.com/default.private /etc/opendkim/keys/mydomain.com/default

把mydomain.com新增到/etc/opendkim/KeyTable

default._domainkey.mydomain.com mydomain.com:default:/etc/opendkim/keys/mydomain.com/default

接下來修改/etc/opendkim/SigningTable並新增如下記錄

*@mydomain.com default._domainkey.mydomain.com

新增信任主機到/etc/opendkim/TrustedHosts

127.0.0.1
mydomain.com
host.mydomain.com

確保你的域名mydomain.com和伺服器名稱都是host.mydomain.com

最後給你的域名新增一個TXT記錄,記錄在/etc/opendkim/keys/mydomain.com/default.txt

default._domainkey      IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDApHRr7ZmXRaAB+RQRbP4VdMwIrIHIP18KFtXRsv/xpWc0Gix6ZXN13fcG03KNGKZo2PY+csPkGC5quDnH5V0JEhDZ78KcDWFsU6u4fr9ktVAdt6P7jWXjcyqdHOZ8+YN4cAeU4lRFNgQvdupIcByYwzPYMgBFHfJm9014HvRqhwIDAQAB" )  ; ----- DKIM key default for mydomain.com

如果你沒有新增SPF記錄可以順便新增一下

mydomain.com. 14400 IN TXT "v=spf1 a mx ~all"

可以通過http://dkimcore.org/tools/來檢測記錄是否正確

配置postfix

為了把OpenDKIM和Postfix整合到一起需要修改/etc/postfix/main.cf

smtpd_milters           = inet:127.0.0.1:8891
non_smtpd_milters       = $smtpd_milters
milter_default_action   = accept
milter_protocol         = 2

重啟服務並設定為開機啟動  (重啟opendkim時,最好不用restart,分別使用stop和start。)

service opendkim start
chkconfig opendkim on
service postfix restart

如果是centos7 則使用以下命令

systemctl start opendkim.service
systemctl enable opendkim.service
systemctl restart postfix.service
測試

1.本地發郵件,檢視日誌

1)tail -f /var/log/maillog



2)OpenDkim啟動時,正常工作輸出

opendkim[4397]: OpenDKIM Filter: mi_stop=1

opendkim[4397]: OpenDKIM Filter v2.4.2 terminating with status 0, errno = 0

opendkim[27444]: OpenDKIM Filter v2.4.2 starting (args: -x /etc/opendkim.conf)



3)當發郵件時,正常簽名時輸出

opendkim[22254]: 53D0314803B: DKIM-Signature header added

2.向 [email protected] 傳送一封郵件,會收到自動回覆

The Port25 Solutions, Inc. team

==========================================================
Summary of Results
==========================================================
SPF check:          pass
"iprev" check:      pass
DKIM check:         pass
SpamAssassin check: ham

3.或者通過 https://www.mail-tester.com/ 網站來檢測垃圾郵件匹配度

[email protected]傳送一封郵件,點選下面的 檢視你的郵件得分,也可以針對結果進行優化。

反向解析rDNS

反向DNS查詢或者反向DNS解析(rDNS)用於判定一個域名與給定IP是否互相關聯。有些公司例如AOL會拒絕沒有進行反向解析的發件伺服器發出的所有訊息,所以你必須確保你進行了反向解析。

這貨也是決定因素之一,一些國內的IDC是無法提供此服務的。但是如果你用的是阿里雲,只需要提交一個工單,提供你的IP和域名要求設定反向解析就OK了。

原文:https://fatesinger.com/1144