在Windows中,cmd,使用指令「certutil -url <cert path>」,可以從該憑證中抓取資訊,像是AIA、CRL、OCSP等,然後檢查該憑證的狀態,是否被註銷等。
繼續閱讀 “使用Certutil檢測一張憑證的註銷狀態”網路教學與日常學習
網路教學與日常學習
SCP Server – MobaSSH

如何讓Windows當SCP Servder?使用MobaSSH。
AI總結
使用MobaSSH讓您的Windows機器成為SCP服務器,您需要遵循幾個簡單的步驟,包括下載MobaSSH、創建SSH用戶、安裝並啟動服務。重要注意事項包括檢查防火牆設置、禁用臨時帳戶以及卸載軟件。
MobaSSH是一個很棒的工具,特別適用於需要在互聯網上安全傳輸文件的用戶。使用正確的設置,該軟件易於使用且非常安全。按照上面概述的步驟,您可以在Windows機器上快速設置SCP服務器。
在安裝MobaSSH時,請務必檢查防火牆設置,以確保軟件不會被阻擋。您還需要創建SSH用戶,只需按照提供的說明進行即可。用戶創建完成後,您可以安裝並啟動服務,開始安全地傳輸文件。
為確保服務器的安全性,請採取一些措施,包括禁用臨時帳戶以及在使用完畢後卸載軟件。通過這些簡單的預防措施,您可以使用MobaSSH創建一個安全可靠的SCP服務器。
繼續閱讀 “SCP Server – MobaSSH”從內部訪問對外服務無法使用
當使用者在公司內部網路,嘗試訪問外部服務時,有時會遇到無法連線的問題。這可能是由於公司防火牆或網路設定所造成的問題。
以下是一些可能的原因和解決方案:
- 防火牆設定:公司防火牆可能會限制哪些連接可以從內部網路連接到外部網路。如果訪問某個外部服務被防火牆阻擋,可以嘗試聯繫公司的 IT 支援團隊,請求他們開放所需的端口或網域名稱,以允許使用者訪問外部服務。
- DNS 設定:DNS 是將網域名稱轉換為 IP 位址的協議。如果公司內部 DNS 設定不正確,使用者可能無法訪問外部服務。可以嘗試將 DNS 設定更改為公共 DNS 伺服器,例如 Google DNS 或 Cloudflare DNS。
- 代理設定:公司可能使用代理伺服器來監視和控制使用者對外部服務的訪問。如果代理設定不正確,使用者可能無法訪問外部服務。可以嘗試檢查代理設定是否正確,或者嘗試更改代理設定以解決問題。
- 網路設定:如果網路設定不正確,使用者可能無法訪問外部服務。可以嘗試重新啟動網路設備,例如路由器或交換機,以解決問題。
如果以上方法都無法解決問題,可以嘗試聯繫公司的 IT 支援團隊,請他們協助解決問題。
(以上為AI生成)
不過我們就是IT人員😂,是被聯繫的,所以要懂得更多。
閱讀全文: 從內部訪問對外服務無法使用先說個NAT,
Network Address Translation
NAT是「網路位址轉換」(Network Address Translation)的縮寫,是一種網路協議,用於將私有網路的IP位址轉換為公共網路上的IP位址,以實現多個設備共享一個公共IP位址的目的。
由於要讓服務對外,會讓位於內部伺服器的IP位置去對應一個外部IP位置。連到對應的外部IP位置,透過NAT,就能存取內部伺服器。
如果人在內部,訪問伺服器服務直接找伺服器IP會比較有效率。因此會做內部外部的差異化,也就是內部、外部DNS差異。
同樣是mail,在公司內部解析是內部IP,在外部解析是外部IP。一旦解錯了會怎樣?
使用者連線服務的外部IP,然後因為是內對外,因此防火牆或路由器沒有做目的地轉換,接著防火牆或路由器會發現外部IP不在ARP表內,因此廣播ARP,卻得不到回應,然後就使用者IP位置無法路由到達服務的外部IP。
人在內部卻解析成外部IP的情況,常見於「VPN」。連上VPN後,會優先使用配置的DNS Server,通常是外部DNS,所以內部服務就會被解析成外部IP。
因此我們要做一對一NAT的轉換,而且還是目的地的轉換,讓在內部的使用者即便使用服務的外部IP,也能被NAT導回服務的內部IP。
以下以Fortigate為例,我想把去「118.163.81.63」改成去「192.168.111.2」,192.168.111.2是我的Home Assistant。
新增虛擬IP


這邊新增虛擬IP,做Static NAT的設定。
新增防火牆政策

由於虛擬IP轉換後的IP 192.168.111.2,實質上是會內部網(192.168.111.0/24)去,因此防火牆是介面是內對內,接著目的要選擇剛剛新增的虛擬IP。雖然是內對內,但避免去回不同路,建議開啟NAT功能,不然就要讓Fortigate當根節點。
接著使用瀏覽器輸入118.163.81.63:8123,看到我的Home Assistant網頁登入提示,這代表轉換正常成功。(目的地 118.163.81.63 => 192.168.111.2)

Aruba OS 6 elegantly upgrade to Aruba OS 8 優雅地升大版
Aruba OS 6升到 OS 8是整個系統系改寫,沒有向下支援性,於是一旦從6升到8,設定就要重新來過。
Config模組改寫過,以至於8版無法吃進6版時的Config。吃不進Config,密碼加密又會改過值,導致所有Preshared Key都沒辦法直接加到8版上。License放在licensedb,一群SQL,如果匯不進去,就會刪掉該行。
如果要優雅地升版,那就要先將事前作業準備好,才不至於事後缺漏。
閱讀全文: Aruba OS 6 elegantly upgrade to Aruba OS 8 優雅地升大版準備項目
- 使用PSK的SSID
- 使用PSK的Auth Server
- 管理者帳號密碼
- 6版本flashbackup
- License Key
- UserDB
- CaptivePortal
- OS 6轉OS 8的Config
使用PSK的SSID
使用WPA X Personal的SSID,其Key。
使用PSK的Auth Server
像是Radius Server的PSK,這部份若知道密碼一旦要記錄,如果認證伺服器跟控制器給不同人管,這樣很難隨意更改。
管理者帳號密碼
所有人的帳號密碼。
6版本flashbackup
裡面有Config跟licensedb與userdb,或是上傳檔案以及其他相關。若是失敗,還可以用此恢復。以下要拆成兩類,一類是Config,另一類是非Config的。
License Key
Controller要能使用,第一步就是匯入License。因此先從WebUI把License Key備份,或是從flashbackup中「db-back.licensedb」內容中找到License Key。
UserDB
使用者帳號與密碼。只要在6版本時匯出,升級到8版並不會清除掉自身的flash空間,接著在8版時就能從flash匯入6版本時的資料庫。
CaptivePortal
強制門戶,俗稱網頁登入,這部份有些會把網頁放在控制器上(內部),但是有做了一些修改,像是上傳自己的html或是上傳了logo。這些也須要留意。
OS 6轉OS 8的Config
這裡有很多要轉換的,幸好大部分指令都能直接用,所以把自定義的部分找出來就好。以下為檢查清單,有順序性。
- VLAN&Interface&IP Address
- NTP
- DNS
- SNMP
- LOGGING
- 目前使用的AP Group
前五項幾乎能從Config中直接轉移。但無線網路設定包含AP Group、SSID、Auth Server、 Server Group、Role、Policy等眼花撩亂,很難讓人從上而下就備份出對的檔案。
不過,如果有使用到,它都會相關連。因此使用「AP Group」做為開頭,就能連根拔起所有相關連的設定。
以下是以一個AP Group舉例:
ap-group "Test"
virtual-ap "WiFi"
virtual-ap "Guset-WiFi"
如此可以找到該AP Group的非預設設定。像是 Virtual AP。
接著使用 Virtual AP 搜尋,建議使用名稱去搜尋,找到如下:
wlan virtual-ap "WiFi"
aaa-profile "WiFi"
ssid-profile "WiFi"
vlan 11
allowed-band a
no broadcast-filter arp
這時我們找到兩種Profile,繼續去搜尋,直到最底層,像是Captive Portal或是Alias(netdestination)等。
如果照著順序抓取的話,AP Group是第一層在最上方,Virtual AP在第二層,Alias(netdestination)在最底層。
倒回設定時,是要從底層先匯入,也就是 Alias(netdestination) > … > Virtual AP > AP Group。這樣才不會出現找不到Profile的報錯。
如果過程有錯誤訊息,請停下,仔細看錯誤訊息是關於什麼,千萬不要一口氣全部倒回去。
Cisco Switch Syslog記錄使用者所下的指令
今天早上碰到客戶的LACP其中一Port有狀況,隨後到公司檢查,發現是Transceiver數值異常,因此更換。更換後發現連不到管理IP,之後發現在排除狀況時加入了同網段IP,去回不同路而導致連不上。
之前也有發生設定被改過而出事,所以最好使用者下的指令都記錄在syslog中,便能方便追蹤是誰下了關鍵指令。
在Cisco中,此項功能稱為「Archive」。
Chapter: Configuration Change Notification and Logging
The Configuration Change Notification and Logging (Config Log Archive) feature allows the tracking of configuration changes entered on a per-session and per-user basis by implementing an archive function. This archive saves configuration logs that track each configuration command that is applied, who applied the command, the parser return code (PRC) for the command, and the time the command was applied. This feature also adds a notification mechanism that sends asynchronous notifications to registered applications whenever the configuration log changes.
Before the introduction of the Configuration Change Notification and Logging feature, the only way to determine if the Cisco software configuration had changed was to save a copy of the running and startup configurations to a local computer and do a line-by-line comparison. This comparison method can identify changes that occurred, but does not specify the sequence in which the changes occurred, or the person responsible for the changes.
如何設定?
參照官方文件流程
DETAILED STEPS
enable configure terminal archive log config logging enable logging size 200 hidekeys notify syslog end
其中最關鍵的指令是「notify syslog」,這將使用者下的指令會通知給syslog。如此讓我們能從syslog追蹤到過去使用者所送出的指令。
Python判斷日期是否為臺灣工作日
Home Assistant取得一個實體entity的歷史數值 (Get the historical values of a Home Assistant entity)
在Home Assistant中,要取得實體的歷史數值,需要有recorder把實體數值保存。
如果確定有一實體有過往數值,那可以使用以下的SQL範例。
範例為 entity_id = ‘<your_entity_id>’ 取30天前的第一筆資料:
SELECT
states.state
FROM
states
WHERE
metadata_id = (
SELECT
metadata_id
FROM
states_meta
WHERE
entity_id = '<your_entity_id>'
)
AND FROM_UNIXTIME(last_updated_ts) >= DATE_SUB(NOW(), INTERVAL 30 DAY)
ORDER BY
last_updated_ts ASC
LIMIT
1;
Home Assistant在保存數值是放入states資料表,而state透過metadata_id去對應entity_id,因此需要先從states_meta去找到entity_id對應的metadata_id,然後再從states找metadata_id符合的記錄。
將著states記錄中的時間欄位為last_updated_ts,使用timestamp格式,需要轉換成datetime類別才能做時間比較。

如果看不出timestamp的時間為某年某月某日,可以將值輸入到此網頁去轉換成時期格式。
DATE_SUB中的DAY,可以換成MONTH或是HOUR,依據使用需要。
步驟
從整合中,添加SQL。


在欄位打上state,在選擇查詢將sql語句貼上。

Excel優雅地使數值小於0變為0
最近在寫預算表,發現這是寫過最難的Excel,因為能想像中的概念跟表達出來的有落差,為了補足落差,只好把概念想得更清楚,這才有了一份結構複雜的Excel。
基於某些計算,項目的預算居然會小於0!(當然要讓概念又要再補充到更詳盡
當然知道
=if(a<0,0,a)
這種很簡單的寫法,但是我的公式長到一行,又不想多一欄,多欄位會破壞美觀。
以下是另外一種寫法,最大的差異是只用一次「a」,這裡是代數。
=NUMBERVALUE(TEXT(a,"0;!0;0;!0"))
以下是我的實際公式為例
如果使用「if」
=if([@粗估預算]-IF([@預算類型]="類別預算",SUM(FILTER(年度預算表[[#資料],[粗估預算]],(年度預算表[[#資料],[類別項目]]=[@類別項目])*(年度預算表[[#資料],[名稱]]<>"預算"),0)),0)<0,0,[@粗估預算]-IF([@預算類型]="類別預算",SUM(FILTER(年度預算表[[#資料],[粗估預算]],(年度預算表[[#資料],[類別項目]]=[@類別項目])*(年度預算表[[#資料],[名稱]]<>"預算"),0)),0))
如果使用「NUMBERVALUE(TEXT(a,”0;!0;0;!0″))」
=NUMBERVALUE(TEXT([@粗估預算]-IF([@預算類型]="類別預算",SUM(FILTER(年度預算表[[#資料],[粗估預算]],(年度預算表[[#資料],[類別項目]]=[@類別項目])*(年度預算表[[#資料],[名稱]]<>"預算"),0)),0),"0;!0;0;!0"))
Excel一旦突破一行一半,可讀性就會大幅下降。建議避免讓同樣的部分二次出現,因此使用「NUMBERVALUE(TEXT(a,”0;!0;0;!0″))」可以優雅地使小於0的值變成0。
Visual Studio文件選擇編碼儲存
因為經常遇到編碼問題,只有統一編碼才不會有問題,最廣泛適用的編碼是「uft8」,以往還有耐心使用記事本開啟,再以utf8保存,現在想直接在Visual Studio上修改。
參考文章多半是使用簡體中文,所以譯名跟繁體中文會不太一樣。如果使用繁體中文的Vitual Studio,名稱是「進階儲存選項」。
步驟
開啟Visual Studio,上方「工具」>「自訂」。

「命令」>功能表列選擇「檔案」>「加入命令」> 分類選擇「檔案」 > 「進階儲存選項」,並且按確定。之後將其移置到喜歡的位置。

接著從上方「檔案」就能看到「進階儲存選項」。

按下後如下圖,就能調整編碼。

標籤化群組化管理電腦檔案 Tablacus Explorer
筆者最近有感而發,檔案好多好雜,為了尋找一個檔案,就要從很多地方去搜尋,反而花時間在樹狀目錄之下,Windows檔案總管是沒有標籤化功能,只有最愛功能,如果有關聯的檔案分在兩處,就得至少開兩個頁籤去處理。
對了,Windows檔案總管有頁籤,也是Windows 11才有的。
我們在找檔案時,最常是基於用途。Windows總管可沒有基於用途的分類,弄得像一點建資料夾再建捷徑,只能做到一層。而今天要介紹的軟體,可以做到兩層,於是就更實用了。
Tablacus Explorer官方網站與下載點
是個小巧且陽春的檔案管理器,支援Windows11跟10。如果只是單純下載就拿來用,會被其陽春的介面嚇到,怎麽跟介紹圖上的介面差這麼多,也沒有標籤化功能。
別著急,標籤功能要在附加元件中下載安裝,才會出現呢。
一開始下載的時候就是繁體中文,雖然能看懂,但是跟Windows原生的檔案總管比,此時可能檔案總管還好些。

接下來照著步驟走,來把標籤功能實裝起來吧。
先從「工具 > 附加元件」。

「附加元件 > 取得附加元件」

在搜尋欄打上「Label」,然後按下搜尋鈕。
安裝「標籤(Label)」、「Label button」、「Overlay label」

「Label」是核心功能,安裝完Label,可以幫檔案或資料夾編輯標籤。
「Label button」可以選擇一個label,顯示出屬於該label的檔案或資料夾。
「Overlay label」在檢視欄位中的名稱中,顯示出該檔案或資料夾的label。
一個檔案或資料夾可以有多個label,要區分多個label,使用「;」區隔。
標籤化步驟
以我的工具程式資料夾為例,雖然都是工具程式,但是用途有些不同。

我是網路工程師,使用網路相關的工具程式的機率會高些,於是想先把網路相關的工具程式標上標籤。
點擊「Label button」>「編輯」。

輸入「網路」按下確定。

這時候因為「Overlay label」,剛剛輸入的標籤名稱會出現在名稱欄位置右。

這時候,幫另外一個程式上標籤,就選3CDaemon,標籤為「網路;ftp;tftp;syslog」,一次輸入四組標籤「網路」、「ftp」、「tftp」與「syslog」。(為了做範例而分類)


點選「Label button」>「網路」,接著就會呈現具有「網路」label的檔案或資料夾。


點選「Label button」>「ftp」,接著就會呈現具有「ftp」label的檔案或資料夾。
如今已經完成了「標籤化」的功能,如果標籤很多,想將標籤做群組,可以安裝「label groups」。
Label好用,但是Label沒有辦法排序,這時候可以安裝「Color Labels(以背景色標示)」與「Color Label Sort」,就能利用將同一標籤套用相同背景色,然後做排序。
群組化步驟
Window 11的檔案總管已經有頁籤功能,在檔案名稱或是在捷徑上做巧思,是能實現標籤化的相似功能,但是很費工。
接下來群組化,就是檔案總管沒有的功能,也是讓 Tablacus Explorer 相比 檔案總管 更好用的關鍵!
在「附加元件」>「取得附加元件」,搜尋「groups」。

安裝完工作區之後,可以看到頁籤上方多了一層頁籤「Group1」,而該層即為工作區。

對工作區按右鍵可以重新命名。
拍照是個人興趣之一,每次拍完照都會處理照片,照片會有原始檔(raw, .cr3)與點陣圖(.hif)或是影片(.mp4)。
如果是好的照片,就會拿RAW檔去開Lightroom去精修。然後因為.hif是無法直接預覽的且多數不支援,需要轉換成.jpg格式,這時候就會開啟Digital Photo Professional 4去將.hif轉jpg。
於是我把這些流程會用到的檔案或資料夾都上標籤「修圖」。

個人電腦經常會用來修圖,於是把工作區跟頁籤都釘選住(滑鼠右鍵>鎖定)。

釘選住的工作區與頁籤不會被關掉跟移動路徑位置,如果點開其中的資料夾,就會長出新的頁籤。
假設我今天要修圖,在 Tablacus Explorer 選擇修圖,就能在一個頁籤把所有會用到的檔案跟資料夾集中,這樣操作起來,就能省去在不同檔案總管切換來去的時間。
雖然檔案總管有頁籤,頁籤沒辦法鎖定位置,或是跳出一個新的檔案總管,實在不好用。
快捷鍵
- 滑鼠左鍵連擊兩下,位置移至桌面。
- 滑鼠右鍵按住,可以進行手勢操作。在附加元件「滑鼠」選項內,可設定手勢快捷功能。預設: 「2U」回到上一層、「2D」新增頁籤、「2DR」關閉頁籤。

2023/04/28 Switch教育訓練撰寫指南
教育訓練對象通常是給入門者,對象在日後執行日常維護或簡易修改等事項。
因此以「基礎網路概念」去設定篇章,範圍以「日常維護」為限,這部份會給與較為詳盡的講說與指令。
後面則呈現設備特有功能,如Aruba Switch VSF(Virtual Switching Framework),如果有使用到再放上較詳細的解說。如果沒有,則以功能介紹帶過。
最後放上參考來源,主要為官方文件中的設定指南與安裝指南,整片教育訓練文件基於此產生也比較嚴謹。
建議的章節安排
設備外觀燈號介紹
這部份從Install Guide之類的可以找到,如燈號表示的意義、Console Port所在位置等。
管理介面連線方式
以下表格為ArubaOS,實體無線控制器為範例。
| 連線方式 | 支援 | 備註 |
| Console | V | Speed: 9600 |
| Telnet | V | 預設關閉 |
| SSH | V | |
| WebUI | V |
設備OS
該設備使用的OS名稱與撰寫時參考的OS版本。
篇幅不夠的話可以塞點用同套OS的設備型號。
網路概念或基本操作
- 如何得到設備資訊: MAC Address、SerialNumber、OS Version
- 如何得到常用資訊: show開頭(show 設定、LLDP、Log)
- VLAN或介面設定: 具有IP Address的,L3 Interface。
- Port設定: Access 或是 Trunk,以及如何指定相關VLAN。
- LinkAggregation設定: 如何將多介面綁成邏輯上的單一介面,以及其Port設定,取得(Show)相關狀態。
- Routing設定: IP default Gateway或是IP default route。啟用、添加routing,取得(Show)相關狀態。
- NTP與時間設定
- Logging與Logging Server設定
- 管理帳號設定: 如何設定帳號,設定權限,並且啟用帳號認證。
- 韌體升級方式
- 設定檔備份方式
以下為可選
- SNMP支援版本與設定
- SPANNING TREE支援版本與設定: 如支援 MSTP、RVST
- DHCP-SNOOPING功能介紹與設定
- LOOP-PROTECT功能介紹與設定
特色功能介紹
如果有用到就寫詳盡,如果沒有就功能介紹簡單帶過。
- 支援VSF (Virtual Switching Framework)
- 支援VSX (Virtual Switching Extension)
- 支援 VXLAN (Virtual Extension LAN)
- 支援NetEdit (Aruba CX Switch)
- 支援Aruba CX Mobile APP
設定注意提醒
設定指令邏輯不與通用概念相似。
如Aruba Switch的VLAN TAG與UNTAGGED。
如HPE 19xx系列為WebUI,TRUNK設定須知等。
參考資源
通常為官方文件,撰寫過程有看什麼文件參考,就放上來。
2023/04/26 測線沒問題但只發無收
一般來說,只要測線沒問題,線路八成沒問題。
而測線只測線對正確,端到端沒有異常。因為拿網路交換器測線,沒有FLUKE能測線損的功能。一開始推給線損,如果線路損耗(電阻)如果到達臨界值,可能也會時好時壞,線對測試是沒問題。線損可能隨著老化(氧化)而增加,把頭打掉重壓就能去掉老化部分。
測線測試數次都得到同結果,而線路早就完成,前面也正常運作中,突然就變成完全不能使用,實在無語。
觀察該介面,有Up,但是MAC Address Table卻沒有學到任何東西。根據之前的記錄,該Port就是接設備的,應該也不會隨便亂動吧?畢竟動那個很麻煩跟費工,沒事沒人想動。
觀察一下介面的計數,發現該線只發封包無接收封包。
線正常、設備正常,在這前提之下,讓我深思一下。今天如果是光纖就好辦了,一端收一端發,如果只發無收是不是就從對面的發端過來有斷路或是光纖模組損壞。
突然驚覺!那如果線對收對收發對發,是不是就會只發不收!?
線對沒有異常,所以異常的是「MDI&MDX」自動交換!?
基於這點,我先看目前是MDI還是MDX,是MDX,於是強制指定為MDI。
過一陣子,開始收到封包了,然後設備就上線了,非常神奇,又學到了一課。
MDI&MDX
以往終端為MDI,網路交換器端為MDX,接正線(平行線,兩端線對排序一致),就會使發端對上收端,讓資料能正常收發。
但是如果終端對終端(MDI-MDI)或是網路交換器對網路交換器(MDX-MDX),就如要有個交叉,使發端與收端對上,這種線稱為跳線。
但是網路線長得非常像,為了更通用與方便,於是有了Auto MDIX,具有Auto MDIX功能的介面,可以根據演算法,交換自己的發端與收端,去配合對方的收端與發端。
於是網路線慢慢只剩正線。