發表文章

目前顯示的是 11月, 2023的文章

公網 ASN 勸退文

我擁有自己的 ASN 一段時間了。 自從踏入 DN42 接觸到網路的世界,到擁有公網 ASN 在網路世界上留下自己的足跡 想了解 ASN 是什麼的朋友可以先看看 這篇文章 經過一段時間,我的網路也經由各位朋友的幫忙, transit 到當地上游。 內網也搭好了,anycast unicast multicast 也都實驗過,只差沒有 ipv4 了 經過群友的指點,我也更加了解這個世界的眉眉角角 以前我會說: 先玩 DN42 ,熟悉了玩公網 現在我會說: 玩 DN42 熟悉網路挺好的,別玩公網 DN42 和公網主要差異在發表: 首先複習一下 peer 和 transit 的差別: 一般來說每個 AS 都視為一個主體,peer 和 transit 是兩個相對的詞。 peer 是指兩個 AS 之間互相交換流量。「A→B」這樣的架構     bgp session 間交換的路由,不包含第三方 AS transit 是指有一個 AS 在中間,「A→B→C」這樣的架構     A和C通訊要經過B,我們就可以說「B正在幫A/C做transit」 DN42 交流時,其實一直都是誤用這個詞 大家都說來 peer ,但實際上大部分都是互相幫對方 transit 而公網主流這三種協議: 上游/對等/下游 下游付錢,相對於下游,自己就成為了上游。 上游具體做的事情則是「幫下游 transit」。所以是做這兩件事: 1. 從下游收來的路由,轉發給其他人 2. 從其他人收到的路由,轉發給下游 就能整理出這樣的表: 發給上游: 下游 發給對等: 下游 發給下游: 全表 收上游表: 發給下游 收對等表: 發給下游 收下游表: 發給其他所有人 (自己的路由表也算是下游的表) 所以兩個網路互相 peering ,只會互相發自己&下游的表,單純只能讓兩邊網路+下游可以互通 不像 DN42 ,說是互相 peering ,其實都在做 transit ,接一個人就通全網了 (當然也可以自己設定,不做 transit,比較少人這樣做) 擁有公網 ASN 個實體,我們大概可以分成兩類: ISP/IDC/雲服務商/雲供應商 物理機 使用 Cisco/Juniper/華為/Arista/HPE 之類,商用等級路由器 使用 物理光纖/海底光纜/dark fiber/專線/傳輸 之類, 「實體存在的」網路線 來做

Wireguard + Babeld 內網搭建

圖片
玩DN42,igp有很多方案。 使用L2 VPN,鏈路層和igp綁定在一起。由VPN軟體來負責選路 我是使用etherguard搭建內網,由etherguard負責選路。 這樣的話,igp和etherguard綁在一起了。我一直以來都這樣用 還有一種方案,鏈路層和內網路由分開,鏈路層隨意,上面再跑一層OSPF/babel 假設你有abcd四個節點,就可以這樣搭配 a-b走wireguard b-c走openvpn c-d走v2ray a-c走gre a-d走無線電/wifi b-d拉實體光纖 優點是靈活搭配,根據不同網路情況建立不同隧道 缺點則是配置繁瑣,每個元件都是互相獨立的 還有一個方案,就是在鏈路層上面做內網路由,例如我的etherguard,或是zerotier/tinc之類 他們會在內部建立起路由表,然後根據MacAddress尋路 缺點就是鏈路層和igp綁定了,要用只能用全套的。 如果某節點針對UDP的限速很嚴重,單獨對這個節點我想換別的鏈路層就十分麻煩 理論上eg的過牆性能和wg應該是一樣的。 現在wg正常使用,但不知道哪天會被封。加上wg協議本身沒有隱蔽性,很容易被識別 為了縮MTU,eg的header被我魔改過,長得有點不一樣 最近某群友贊助了我一台江蘇的server 為了未雨綢繆,哪天etherguard無法連線,我決定把igp和鏈路層分開,使用babeld來維護內網路由 如果用上了 igp , ibgp 的設定就很不一樣了 我們的路由表,又稱作RIB,一定要變成轉發表,又稱作FIB,封包才能真正地送出去 路由表的資料結構有以下這些欄位: 1.prefix 2.device(optional) 3. nexthop(optional) 而轉發表非常類似,有這些欄位: 1. prefix 2. device 3.MAC address (note: L2 裝置比如tap,或是物理網卡才有 mac address。 L3裝置比如 tun,沒有 MAC address) 我們可以看到,只有第三點不一樣: nexthop vs MAC address 。這和一個概念很相關: 「直接可達」 IP地址代表了某台電腦。nexthop 填入的是一個IP,但是不能隨便填。nexthop的IP,必須要是「直接可達」的IP。 甚麼是直接可達的IP呢? 就是「可以被轉換