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 ● 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
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
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
wireguard-p2p: Confgure # /etc/wireguard-p2p.conf [wg0] Peer1=L33UsFS1bqI914MZ7sHMUTF... Peer2=ANGjhuZ5bwm0cUAKZMUi4ed... Peer2=qgJoFLslpa/icBSG1N6f4hO... ... $ wireguard-p2p daemon 7
Wireguard Network Manager Plugin 8
Packaging ● Bulletinboard – Debian and Fedora packages available – cargo install bulletinboard ● wireguard-p2p – cargo install wireguard-p2p (Rust nightly required) 9
Code: https://github.com/manuels 10
Recommend
More recommend