dappnode / DAppNode

General repository of the project dappnode
GNU General Public License v3.0
578 stars 98 forks source link

Ability to use DAppNode as a wifi router #93

Closed uniconstructor closed 3 years ago

uniconstructor commented 5 years ago

I want to replace my old wifi router an I have an idea to use the DAppNode for this. I have only basic knowledge about network administration - so I have some questions: 1) Does this idea make any sense? From the one hand - some routers have a very bad firmware support and often contain old non-updated Apache2 or nginx packages (for their web UI). This is bad for security: your router can run a botnet and you can even don't know about it. From the other hand router is a separate device that do some work with the network packages (routing, splitting traffic between several devices, I don't know what else): it may be a bad idea to put this work on the DAppNode. 2) Do I need a special hardware for establishing a wifi network from ordinary PC or standard wifi-card will be enough for this? 3) What actions should I perform to turn my DAppNode PC into WiFi router? What should be changed in VPN config, network interfaces and so on? What should I read for this, or what things I should google first?

vdo commented 5 years ago

A few comments:

Shelpin commented 5 years ago

Hi @uni!!! are your doubts solved ?

uniconstructor commented 5 years ago

Hello, @Shelpin No, I am failed to build wifi drivers for the my home server for Debian, so now I have a wifi module that cannot work with my system. I plan to use different (more popular) wifi card, so now I am decided to use a different solution. I did some research, checked out existing solutions, and decided that machine running the DAppNode is probably not the best point for the wifi router in my home network. Currently I focused on single-board hardware solutions (like Raspberry Pi), and task-specific software (like OpenWRT project).

After reading a LOT of docs, discussions and manuals I defined a more clear vision of the problem for myself. Here is my key ideas: 1) WiFi router is an entry point for my home network. It has a public IP (static or dynamic). Security takes priority here, so It should ran a most simple and secured OS, that handles all the possible attacks. 2) I am also want to use my router as a central point of all my internet connections. If I use VPN - I want to set up it in one place (on router), and not for all my home devices separatley. 3) I wanted to use DAppNode as a router for one main reason: the apps inside it (IPFS, VPN and so on) will not work property when DAppNode machine is connected to the WAN via router (not directly). I think there is a problem of DAppNode - it should work fine with any type of connection (but it may need additional setup steps for different connection types during install - it's ok). 4) Network management, routing, securing all my traffic via VPN, processing "ipfs://" links and resolving ".onion", ".i2p", ".bit" and other non-standard domains is also a router task. DAppNode should run Apps, router should, you know, route. :)

Finally: I currently don't know how to combine router-based VPN, I2P, TOR, and blockchain-based domain resolving, but I suspect this is possible. The closest solution that I found is implemented in FreedomBox project. It has some very important features that worked out-of-the box:

FreedomBox running on Raspberry Pi, is a best candidate for the new router in my home network, but even this project still lacks some features:

Also: I am don't know what to do to make my router support ".bit" or ".eth" domains. Raspberry definetly will not able to run a full Etherum node - so it need some exchange mechanism with DAppNode to make a DNS resolution. A am even not close to the solution here. My knowlenge about network management is poor, I don't even know what wrong with ".eth" domain zone now and why it cannot be resolved by modern browsers out-of-the-box.

Another question that is not clear for me for now: do I need an OpenWRT if I use FreedomBox as a router? If yes - how to combine those systems together, is it possible at all, what is the best way to separate tasks between them?

So, finally: still need more research here, don't have a working solution yet, but definitely have progress in this task.

uniconstructor commented 5 years ago

I see my desired solution as home network, having this list of nodes:

My main idea and final goal: I want to achieve complete self-sovereignty in my digital life. That's what I need a DAppNode for. Full data ownage. Full data control. No piece of my data can be used without my (revocable) permission. Zero-knowledge proof is your friend. Privacy by design. Say goodbye to the dark ages of Internet and welcome to the digital humanism era, motherfuckers! :)

Any thoughts about this network architecture? Comments, feedback and ideas are welcome.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions!