Rootless Router(Fin): 計畫終於完成,上線啦!

RootlessRouter系列:
  1. Rootless Router(Part: 0): 用戶態DN42節點
  2. Rootless Router(Part: 1): wggo-vpp
  3. Rootless Router(Re: 0): VPP Host stack
  4. Rootless Router(Part: 2): BIRD-vpp
  5. Rootless Router(Part: 3): EtherGuard
  6. Rootless Router(Extra):蒐集的Userspace 網路棧
  7. Rootless Router(Part: 4): 被VPP Host Stack衝康
  8. Rootless Router(Part: 5): 完結
  9. Rootless Router(Fin): UML版本上線啦!
  10. Rootless Router(Afterword): Azure App Service真的很靈

不知道RootlessRouter是什麼的人,請點上面第一篇,了解整個故事線

最後,RootlessRouter終於上線了! 完結灑花!

在放棄VPP以後,最初我的計劃長這樣:

自己刻一個Simple Router代替原本的VPP,大致架構不變

原本VPP的LD_PRELIAD的kernel bypass部分拿掉,改成端口轉發。把遠端端口179轉發到localhist:10079

然後BIRD就和localhost:10079 建立session,同時把遠端發往SimpleRouter的179端口轉發到localhost:179

同時也不忘看看這裡一些其他選項,在我看UML的時候,其中一句話吸引了我:
You can get extremely high performance for anything which is a “kernel specific task” such as forwarding, firewalling, etc while still being isolated from the host kernel.

我決定相信他所謂的extremely high performance。而且BIRD正好不怎麼fork,完美適合UML發揮的場景!

現在的架構長這樣: BIRD是運作在UML裡面的,圖片沒畫好又有點懶得改,附註一下



同時我決定把計畫更名,從原本的RootlessRouter改成RootlessRouter-UML,和以前做出區別

而且這個架構下,wireguaed是C++版本呢,性能++



經過半年,這個計畫終於搞定了!
所有元件都在用戶態執行,甚至連root權限都不需要!

現在節點也上線了,處於beta測試階段。現有9個節點可供peer,列表如下
以下是我的節點列表,如果你也是DN42玩家,並且延遲還OK,請務必和我peer!

  1. https://dn42usw.azurewebsites.net
  2. https://dn42ca.azurewebsites.net
  3. https://dn42jpe.azurewebsites.net
  4. https://dn42sg.azurewebsites.net
  5. https://dn42ch.azurewebsites.net
  6. https://dn42uk.azurewebsites.net
  7. https://dn42au.azurewebsites.net
  8. https://dn42br.azurewebsites.net
  9. https://dn42uae.azurewebsites.net

節點狀態(用cf worker反代uptime robot status page):

https://42status.kskb.eu.org/

但是我的服務供應商擋掉了ICMP...只能請您用tcpping來測試延遲了
網址點進去,按左上角的Peer with me就可以peer了!

Github 項目頁面:

https://github.com/KusakabeSi/RootlessRouter-UML/

可惜的是比起以前RootlessRouter,多要了ptrace() 權限。
然而heroku還在用kernel 4.4,docker並不開放ptrace權限
還是不能把牠跑在heroku裡面...


下一篇: 無

留言

  1. 请教博主,怎么弄得主题,很好用的样子,而且国内可用,能否发文介绍一下就最好了

    回覆刪除
    回覆
    1. 我前端很爛,只會用模板,不會自己刻...開一個blogger,主題裡面找Contempo就有了
      国内可用單純是是因為我套了cf而已

      刪除

張貼留言