紀錄一下DN42內網搭建的過程
紀錄一下DN42搭建內網的過程 鏈路層 內網路由 Anycast+DNS/RDNS Looking Glass+AutoPeer 鏈路隧道 首先要搞定的就是各節點的內網互連手段。 在DN42網路中,一般是使用VPN隧道。 真實網路則是光纜/網路線/無線電/wifi/衛星,當然你也可以在DN42中用這些 但DN42是用來低成本學習網路的,VPN最便宜 我自己用的VPN是我自己刻的 Etherguard-VPN 這是一個Layer2 VPN,能根據 單向延遲 來選路,而不是雙向延遲。具體 工作原理 隧道有分Layer2和Layer3,在這之上又分許多不同的軟體 L2和L3最大的差異就是是否攜帶了EtherFrame,EtherFrame裡面攜帶的是Src MacAddr和Dst MacAddr L2 VPN有帶,L3 VPN沒帶 假設今天來了一個封包,我們本地看到這個封包,有3個下一跳可以選 如果是L2 VPN,選擇完以後,我們只須把下一跳的MacAddr填入EtherFrame,然後送入VPN即可。只建立一個隧道,後面多個下一跳很容易做到 如果是L3 VPN,因為沒有EtherFrame,我們必須對每個下一跳,分別建立各自的VPN隧道 有n個下一跳,就要建立n條隧道。然後根據下一跳,送入指定的隧道。只建立一個隧道,後面對應多個下一跳是不可能的 在我們的情境中 L2 VPN像是一台switch,所有電腦接入就在相同內網了 L3 VPN則像是 單根網路線 ,p2p只有兩端。多台電腦互聯,就需要多根網路線了 L3 VPN,一對多連線模式也是存在的。像是openvpn/wireguard多個peer。但是在此種情境中,路由表示固定好的。wg設定檔的allowed ips,openvpn發配的ip,就已經決定好這個ip段該發去的peer節點了,由vpn server執行路由 但是DN42這裡,路由功能必須在自身節點上執行,而不是VPN server執行 所以L3 VPN只能使用p2p模式 但我自己覺得L3不是很方便,以 這位群友 為例,他的拓樸,內網就要配9條wg隧道 iBGP要求任意2節點的iBGP session兩兩互相可達,iBGP沒有維護內網路由的功能 L2 VPN 由VPN自身提供斷線繞路功能。但是在網路拓樸上,所有節點都是嚇一跳可達。繞路的行為被隱藏起來了 L3 V