bulletinboard dht and wireguard p2p
play

Bulletinboard DHT and wireguard-p2p https://github.com/manuels - PowerPoint PPT Presentation

Bulletinboard DHT and wireguard-p2p https://github.com/manuels FOSDEM 2018 February 2 nd Mission Statement Connect any computers by just knowing their public keys 2 Bulletinboard: Kademlia Protocol 3 Bulletinboard: General Purpose DHT


  1. Bulletinboard DHT and wireguard-p2p https://github.com/manuels FOSDEM 2018 February 2 nd

  2. Mission Statement Connect any computers by just knowing their public keys 2

  3. Bulletinboard: Kademlia Protocol 3

  4. Bulletinboard: General Purpose DHT ● UDP-based, implemented in Rust ● DBus Service – Put Put(str str app_id app_id, , byte[] byte[] key key, , byte[] byte[] value value) – Get Get(str str app_id app_id, , byte[] byte[] key key) → byte[][] byte[][] values values – TODO: Subscribe(byte app_id, byte[] key) → byte[][] values ● Max. value size: Soft: MTU, Hard (2KB) 4

  5. Wireguard VPN ● UDP-based ● Using Noise protocol ● Almost Linux mainline kernel $ wg genkey $ wg genkey 6KRW+XV/Ef6+zDtS6fO0Ype7qXcUzSs0lZDCVjWLyWg= 6KRW+XV/Ef6+zDtS6fO0Ype7qXcUzSs0lZDCVjWLyWg= $ wg genkey | wg pubkey $ wg genkey | wg pubkey +LrzGOqVx21DJ5yOmpgvXdTmnOm4EsH1Z3XtCnix9QU= +LrzGOqVx21DJ5yOmpgvXdTmnOm4EsH1Z3XtCnix9QU= 5

  6. wireguard-p2p: Concept DHT STUN host B lo port B wg on lo lo port A wg-p2p host A lo port C host C Internet 6

  7. wireguard-p2p: Confgure # /etc/wireguard-p2p.conf [wg0] Peer1=L33UsFS1bqI914MZ7sHMUTF... Peer2=ANGjhuZ5bwm0cUAKZMUi4ed... Peer2=qgJoFLslpa/icBSG1N6f4hO... ... $ wireguard-p2p daemon 7

  8. Wireguard Network Manager Plugin 8

  9. Packaging ● Bulletinboard – Debian and Fedora packages available – cargo install bulletinboard ● wireguard-p2p – cargo install wireguard-p2p (Rust nightly required) 9

  10. Code: https://github.com/manuels 10

Recommend


More recommend