初心易得,始終難守
C'est la vie.© 2002 - 2026
  • 我是誰-Who Am I
  • 我在哪-Where Am I
  • 我是什麼-What Am I
  • 年鑑-YearBook
    • 二零零六年终总结
    • 一吻定情—二零零八年年终总结
    • 突如其来的明天—二零零九年年终总结
    • 人生大起大落得太快——二零一零年年终总结
    • 贰零①①年年终总结-女朋友已经成家了
    • 贰零壹贰年年终总结-奔波的肿瘤
    • 贰零壹叁年年终总结
    • 雪字怎么写-贰零壹肆年年终总结
    • 每个不曾表白的今天,都是对青春的亏欠-贰零壹伍年年终总结
    • 按部就班的IT 人生-貳零貳肆年年終總結
    • 真正的閱讀-貳零貳伍年年終總結
  • 連結
RSS
7 月 15 日, 2024 年

傳統的刮鬚刀

Ken 隨筆 0 Comments

帶過來的吉列鋒隱刀片不知道放去了哪裡,怎麼找也找不到,上Pchome看了一下,一個刀片居然要價一百多塊,也是,淘寶上都是經銷商的水貨,或是跨區域攛貨的價格,Pchome根本拼不贏,但問題是這個長期成本到底算起來還是貴的。

所以我尋覓了一下傳統刮鬚刀,買了兩隻,一隻金色,一隻銀色。

刀片的選擇就各國爭鮮鬥豔了,德國的,俄國的,美國的,先選了十片俄國的,看看效果如何,傳統刀片大約十五到二十塊一片,就算每個月換一片,一年也才差不多吉列一個刀片的價格,但吉列的刀片只能用三個月左右,一年的成本是四百塊到五百塊,傳統刀片成本大約是一半。

好了,以上是買買買的理由,兩個刀頭花了三千塊。那也就是說,每年的刀片差價為二百五十塊,需要十年才能把刀頭的價格賺回來,除非刀片可以使用超過一個月,如果可以達到吉列五層刀片的三個月時長就能更快回本。

上一次見到這刀片,還是外公還在世的時候,我去他家看到的,這一轉眼,已經快要三十年了吧。

HHKB用得尚好,可能因為他和Mac鍵盤區別並不大,習慣了Windows鍵盤的人可能需要時間來適應,不過他的位置比MagicKeyboard要高那麼一點點,還是要去買個手托才行。

下午終於在辦公室見到了Lannie,我就覺得這妹紙很眼熟,但是一下子又沒想起來是誰,等她走過去才想起來,我這記憶力缺失有點嚴重,眼熟是因為只在公司的宣傳影片中見過她,雖然通話了很多次,但從沒見過真人。

還有一個妹紙叫Judy,之所以會注意到她是因為她走路的步伐,其他人的步伐都是穩穩的踩在地上,或是輕輕踩在地板上,或是像Sonia一樣直接風一般咚咚咚跑過去,只有Judy的步伐,像是踩在棉花上要走著走著快要倒下去的感覺,使得我總是升高了Alert,幾次之後就發現,是她,
就是她。

7 月 12 日, 2024 年

UPS跳閘

Ken 隨筆 0 Comments

租的這間房位置很好,每天上午窗邊都會有直直落下的陽光,但是我的ups自從裝上後就時不時的跳閘,上面的警示燈也一直亮著,ups的說明書上並沒有說明警示燈亮著可能的原因是什麼,只是說讓召喚專業電工師傅來查看。我覺得這可能是因為房東男主人自己把房間裡面的線路重新拉過,因為房東女主人講起這件事情的時候並沒有表現出自豪感,我深深的懷疑可能是地線沒有接地,所以我用電筆測了一下。

火線110v
中性線/零線55v
地線12v

這他媽的到底是接地了還是沒接地啊?

ups跳閘倒並不那麼嚴重,因為他很快就跳了回去,並沒有進入電池低容量狀態,觸發NAS關機,然而,最近兩天不知道為什麽NAS關機了兩次,我以為是NAS的boot volume又掛了,拆開檢查了一遍,重新啟動沒有發現任何日誌記錄,反反覆覆查看日誌,發現是ups觸發了關機。

APC 650M1的這款ups 是在台灣可以買到支持通過數據訊號自動關機價格最低的入門款,但是他和在中國銷售的型號不太一樣,我之前在中國使用的型號是BK650,也許是usb driver 有所不同?所以我把FreeNAS裡面的usb driver 換了一個,運行了幾天,似乎沒有再出問題,當然,根本原因也許只是usb 線鬆了,就像最近的群組裡面大家已經開始在懷疑數據中心的溫度和濕度對於網路丟包的影響。

從日本亞馬遜買的hhkb終於到手,一共三萬日圓,其實比淘寶還貴了,這是因為中國的官方代理在淘寶上似乎偷偷把日本的官方翻新機當作全新機賣,我對此有一些疑慮,所以才直接從日本買。

還好,並沒有很驚艷的感覺,大概是因為我二十幾年前第一個keyboard就是acer的機械鍵盤而不是現在的這些薄膜鍵盤,機械鍵盤現在的價格真是莫名其妙,acer還沒倒閉,居然還在生產超級本。

7 月 10 日, 2024 年

天龍國夏季的天氣總是會有午後雷陣雨,像極了花都的天氣

Ken 隨筆 0 Comments

AL2023 真難用,不知道研發團隊是怎麼想的,常用套件,沒有,有的吧,還很舊,然後明年AL2就要EOL,我感覺這不是要逼著客人換AL2023,這是要逼著客人換其他的OS,不如大膽的預測一下,明年AL2會繼續推遲EOL時間,直到AL2023上形成足夠豐富的軟體套件。

但是我仔細看了一下官方文件,發現文件在暗示EL9的軟體都可以用,我試了幾個,確實如此。

下午和Alex 聊了一會兒,原來他一直在竹科晶片行業,能跑馬拉松的人我是很敬佩的,42公里我是斷然拒絕的,騎車也不行,在帝都的時候騎車好像最多也是騎過40公里,上午兩小時下午兩小時,好像後面兩天都腿酸得不行。

Catherine 真是很八卦,逢人就說我說她像明星,還擔心我說的是不漂亮的明星,我是沒說她又胖了,瘦下來才比較像陳嘉玲,不過她貌似對藍綠議題很敏感,我說中配她要陸配,雖然我並不持有什麼立場態度,但某些詞彙確實是很好的試探,不是讓藍的生氣,就是讓綠的生氣,哈哈哈。

公司新來了一批CS和SE,然後Manager 們組織了一個迎新的活動,我也算是新人,第一個活動是牆壁上掛滿了寫著我們各自名字的卡片,而卡片背後是另外一個人的描述,這些描述是上個星期由CS manager Ines 發出來的表單收集的。

我拿到了Maeve 的卡片,Jenny 拿到了我的卡片,Claire 一開場就跑過來問我她的卡片背面寫的是不是我,我看了一下上面寫的是來公司六年,看來在Claire眼裡我年紀很大。

Maeve 是和我一起進公司新人培訓認識的,她在Deployment ,我知道她的愛好是戶外,爬山,但是我拿到的卡片上寫著一個人去爬了富士山我還真沒想到是她,因為我覺得這也太慘了,孤獨的十級境界裡面,這應該要算七八級,不符合她大大咧咧的性格,不過回想起新人培訓時她要強的性格,也許是我理解不正確。

Jenny拿到了我的卡片,想要表現出她對水草的興趣,但其實我還沒在天龍國開始養水草,我現在比較擔心有地震,魚缸會掉下來。

Claire,則像極了十幾年前,琦姐剛到公司的時候,那種充滿自信但又帶著初出社會的懵懂,她直接趴在地上棒式的時候,我第一時間在想棒式是什麼,好吧,這暴露了我的身分,但是我沒有問別人,而是事後查了一下,原來是plank,這個。

天龍國夏季的天氣總是會有午後雷陣雨,像極了花都的天氣,使得我沒有辦法晚上出去騎車,不過這白雲還不錯。

不得不說,天龍國的物價真是太低了,雖然有三千塊一客的牛排,但是也有一百塊的自助餐,而這一百塊,他們還覺得貴。

上面這份因為我加了一大隻雞腿,所以是一百三十五。

他們會去吃更便宜又大碗的麵食,我是不吃的,因為太鹹了,怪不得這麼多人洗腎。

7 月 6 日, 2024 年

IPsec VPN between pfSense and AWS with BGP routing

Ken Tech 0 Comments

IPsec VPN這個話題很常見,但是也很不常見,常見是因為企業應用中必然有他的影子,不常見是因為他配置好之後就幾乎再也不會去動他。

使用static routing 方式配置pfSense 到AWS的IPsec VPN,網路上的blog和youtube 有很多很多很多。

但是,使用BGP routing的我沒看到,我也不會,因為我跟BGP沒有很熟,直到我昨天發現了有一個人使用Azure 配置IPsec VPN with BGP routing的示例,所以我就照著畫葫蘆,不錯,方案可行。

AWS 提供的IPsec VPN 默認就是使用BGP routing的方式,也就是說,網路上所有配置為static routing的blog和youtube,都是手動修改為static routing的,我的理解是,他們也不會。

BGP routing的好處在於,一個connection 上的兩條tunnel 可以HA方式同時運行,畢竟兩條tunnel後面就是兩台ec2 instance,偶爾壞個一次,也並非是很難見到的情形,而企業應用中,高可用在很多場景下都是必要的元素。

而在我之前的使用經驗中,使用static routing的方式,flapping的情形還是很多的。

環境描述:

雲端 10.2.0.0/16
地端 10.1.2.0/24

在AWS上創建IPsec VPN 只需要點幾下,首先在VPC中創建cgw,然後創建vgw,把vgw attach到VPC,

然後創建VPN connection,在該頁面選擇之前創建好的vgw和cgw,在routing options 請保留為默認的Dynamic,也就是BGP。

在VPN connection 創建完成後,會根據客人本地使用的防火牆型號提供一個詳細的配置說明文件,文件中包含了AWS側的public IP,phase1和phase2的協商加密方式,pre-share key,BGP配置信息等,對於pfSense 來說,需要選擇Generic。

和static routing方式配置不一樣的地方是,該配置說明文件中包含了BGP配置信息,其中有雲端的AS,地端的AS,以及私有互聯IP。

到這裡,AWS上的配置就已經完成了,是不是很簡單。

接下來進行pfSense的配置,首先從Package Manager 來安裝FRR。

FRR routing daemon for BGP, OSPF。

安裝完成後,啟用FRR。

創建Route Maps,為他起個名字,Action設置為permit。

進入BGP配置,啟用BGP Routing,並設置Local AS和Networks to Distribute,這裡我們要advertise的就是本地網路10.1.2.0/24,而Local AS 65000 來自於剛才從AWS下載的配置說明文件。

接下來再打開從AWS下載的配置說明文件,裡面除了Local AS,還有AWS側的Remote AS,以及neighbor address,那麼兩條tunnel,就會有兩個neighbor。

依次添加兩個neighbor:

將neighbor添加完成後,啊,VPN還沒創建呢。

在pfSense上創建VPN的方式就不多說了,phase1 和static routing 方式一模一樣,區別在於,phase2 mode 需要修改為VTI方式,並在Networks 中填入由AWS下載的配置說明文件中分配的雲端和地端私有IP地址。

當VPN創建完成,連結成功建立後,可以從Status中來查看BGP的狀態,也可以斷掉一條測試看看。

從AWS側,你將會看到提示,有1 BGP route up,也就是上面的10.1.2.0/24。

參考文件:https://www.linkedin.com/pulse/site-to-site-vpn-between-pfsense-azure-bgp-allow-dynamic-mario-brenes-ud10e/

7 月 5 日, 2024 年

Install pfSense on AWS

Ken Tech 0 Comments

眾所周知Netgate 在去年的時候取消了CE版本使用家庭版許可證升級到Plus 版本的選項。所有的CE版本選擇升級到Plus版本都會需要付出129美金的年費,但是對於已經升級為Plus版本的個體,Netgate官方含糊其辭,只是建議重灌為CE版本,對於是否會取消許可並沒有說得很清楚,取消免費升級的時候,網路上一陣哀號,也有人破口大罵。

當然,大量中國製造的廉價noname box 在美國傾銷並濫用家庭許可Plus 版本是原因之一,Netgate 自有設備銷售價格非常不合理也是原因之一。

根據多方不明確的信源,pfSensePlus的許可證是綁定在網卡的mac地址上,我簡單的測試了一下,激活過許可證的實體確實可以從安裝好的CE版在升級菜單中選擇升級到Plus版本而無需再次激活,通過已經激活的實體dd clone過去的Plus版鏡像在另外一個已經激活的實體上也可以正常啟動和升級,但問題是我沒有測試更換硬碟,不能明確硬碟的serial number是否會對許可證產生影響。

Netgate的早期設備使用的是PC Engines的APU,這是由台灣生產,瑞士賣家在全球銷售的一款熱門主機板,他使用了AMD的低功耗APU,和Intel的內置顯卡多合一是一個概念,當然主要是低功耗。

後來Netgate開始在台灣尋找其他的貼牌代工,也就是現在的產品線,不得不說,這家公司的設計師審美真的很差,做出來的產品外型,果粉不想買,Geek也沒有要想買。

今天要說的是如何在AWS上安裝pfSense,在AWS的Marketplace裡面有pfSensePlus版本,是需要付費的,一年799美金,還只是授權費用,沒算上instance和traffic fees。

我原本想要安裝CE版本上去,因為在2017年Netgate曾經有一篇Blog,說明從pfSense 2.4.1版本開始,Netgate發布的版本會支持AWS的ena network driver。

https://www.netgate.com/blog/aws-elastic-network-adapter-ena-now-supported

Amazon Drivers:https://github.com/amzn/amzn-drivers

但是,經過我的測試,他們已經悄悄的把這個driver拿掉並且用某種方式限制自行編譯的driver 從kldload加載,為什麼會這麼說呢?

因為每一個版本的pfSense 他們都使用了FreeBSD的current版本,目前CE2.7.2是FreeBSD 14.0-current,我使用從12.0-release,13.0-release,14.0-release,14.1-release,15.0-current 編譯出來的ena driver 都不能在CE2.7.2中正確加載,當然,也可能是因為必須要使用14.0-current,但是我找不到這個版本的source code。

在2017年的這篇Blog最後,有寫到

Complete instructions for enabling AWS ENA features are available in the Netgate AWS documentation.

但是,這篇Netgate AWS documentation 連結已經404 找不到了,我想,如果不是我的方法有問題,那就是這篇文件中有一些特別的設置。

https://docs.netgate.com/pfsense/en/latest/solutions/aws-vpn-appliance/enabling-elastic-network-adapter-ena.html

Netgate 這家公司小動作很多,當然我是希望他們能賺錢$$$,不然不知道又要搞出什麼花兒來,然而,他們在許可證這件事情上做的並不嚴謹。

我想他們是出於簡化安裝過程或是多年來客人要求可以直接安裝Plus版本的目的(在此之前你不能直接安裝Plus版本,只能先安裝CE版本後從CE版本註冊升級為Plus版本),推出了一個新的installer,這個installer iso是二合一,他的模式是啟用一個具備網路環境的txt interface,然後根據選擇從網路下載相應的CE版本或Plus版本來安裝,在安裝的時候就會連線Netgate 的server 進行驗證當前實體是否具備安裝Plus的許可。

如果你在一台沒有激活過許可的物理機上使用這個installer,那麼你將無法安裝Plus版本,但是,你可以在AWS上,直接安裝Plus版本。

這有兩種可能,

第一,這個installer把AWS的mac地址範圍加入了白名單,但我觀察AWS的mac地址並沒有明顯特徵(AWS的mac地址不能修改,這是我懷疑的原因之一,因為mac地址在很多軟體中都會被設置為許可證相關的元素)。

第二,這個installer把來自於AWS source ip的安裝請求加入了白名單。

安裝的必要條件:

第一,AWS VPC中至少有兩個subnet,一個public subnet,一個private subnet,在兩個subnet中創建兩個eni,public subnet那張eni需要分配public IP。

第二:去pfSense官方網站下載iso。

第三:錢。

安裝的步驟如下:

使用本地的虛擬化平台,esxi或者proxmox 啟動一台linux,啟動後,加載pfSense官方的install iso,再添加一塊8GB 硬碟。

然後從linux 中,將iso 直接 dd 到8GB硬碟上。

dd if=/dev/sr0 of=/dev/sdb bs=1M status=progress

接下來,將8GB硬碟導出為vmdk,將這個vmdk上傳到S3,使用AWS的vmimport,將這個vmdk導入為snapshot。

aws ec2 import-snapshot –disk-container file://containers.json

—containers.json—
{
“Description”: “pfSense-installer”,
“Format”: “VMDK”,
“UserBucket”: {
“S3Bucket”: “s3-bucket”,
“S3Key”: “pfSense-installer.vmdk”
}
}
—containers.json—

aws ec2 describe-import-snapshot-tasks –import-task-id import-snap-0000000000631379

這中間你可能首先需要創建vmimport的IAM role,然後需要為vmimport的role 添加各種policy ,跟著錯誤提示走就可以,當snapshot 導入完成後,從這個snapshot創建一個ami,使用這個ami,啟動一台有serial console 的instance,例如t3.small,此時只需要有root volume和public subnet的那張eni。

啟動後,為這個instance 再添加一塊8GB的硬碟,從serial console來進行安裝,需要注意的是,你必須在剛開始的高級選項中開啟pfSense的 serial,否則安裝完成後,他不會輸出到ec2的serial console,你將會變成無頭蒼蠅,同時,在選擇硬碟的時候,請選擇第二塊。

Netgate的官方文件說明AWS Marketplace中的pfSensePlus初始化,是需要在user-data中設置password,這讓我懷疑,官方版本的ami沒有開啟serial,使得他沒有輸出到ec2的serial console,才需要從user-data去設置password,當然,這也可能是一種簡化用戶動作的辦法。

整個安裝過程很簡單,這個installer 檢測到是AWS之後,他就會自行安裝Plus版本,甚至你需要手動更改,才能變更安裝CE版本,當然,CE版本安裝上去會因為缺少ena network driver 而無法使用。

在AWS上運行的第三方防火牆軟體,需要遵循三個基本的原則,

第一,具備public IP的WAN口eni在public subnet,而LAN口eni在private subnet。

第二,關閉eni 的source/destination check。

第三,WAN和LAN均開啟為DHCP獲取IP地址。

安裝完成後,首先從serial console進行WAN口初始化,此時,只設置WAN口,不要設置LAN口,同時重置管理密碼。

當WAN口設置完成,再從AWS webconsole為ec2添加位於private subnet的那張eni,

此時我們應該可以從public IP進行連結,使用上一步重置的管理密碼登入,首先進入NAT設置,修改Outbound NAT方式為manual Outbound NAT rule generation,然後,從Interface Assignments 添加LAN口interface並設置為dhcp獲取IP地址,LAN口interface 添加完成後,再進入Outbound NAT,為需要進行nat 轉換的地址範圍手動添加nat rule。

不可以使用自動喔,否則你會連不上去。

最後,為我們的private subnet添加一條默認路由,指向LAN口的那張eni。

這樣所有在private subnet 裡面的instances 都可以把pfSense 作為nat gateway 來上網了。

安裝完成的pfSensePlus在註冊頁面並不能顯示為已註冊版本,和有正常許可證的顯示不太一樣,但這並不影響他升級,升級到新版本完全沒有任何問題。

而在物理機上通過dd clone的pfSensePlus 版本安裝在未激活許可證的實體上,不但顯示為未註冊,而且是不能升級的。

所以,我相信Netgate對於運行在AWS上的pfSensePlus 升級應該是採用了針對AWS source IP的白名單。

這也許是Netgate 故意要讓CE版本無法運行在AWS上的原因,因為,如果許可證檢測方式簡化為針對AWS source IP的白名單,在AWS上成功安裝的CE版本將會可以直接升級到Plus版本,這可不妙。

參考文件:https://yhf8377.medium.com/replace-aws-nat-gateway-with-pfsense-vm-5454066585c2

«‹ 11 12 13 14›»

過 客

  1. R2 on 卷進了美商5 月 15 日, 2024 年

    终于回来了,好。

  2. Ken on Mommy最後的樣子11 月 6 日, 2023 年

    也沒有很久吧,最近終於閒下來

  3. R2 on Mommy最後的樣子10 月 26 日, 2023 年

    好久不见

  4. Ken on 天朝Loli控组曲(带歌词,修正版)10 月 12 日, 2023 年

    哈哈哈,祝福你,好人一生平安

  5. liu on 天朝Loli控组曲(带歌词,修正版)10 月 12 日, 2023 年

    hello,我在找天朝lolicon组曲时发现了你的博客,感谢你十四年前做出的贡献,祝一切安好

March 2026
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031  
« Feb    

Spam Blocked

102,559 spam blocked by Akismet

↑

© 初心易得,始終難守 2026
Powered by WordPress • Themify WordPress Themes