I am looking for suggestions on how to build a super NAS like system.
So I want it to have VPN access, Be a file server and maybe even run plex (Haven’t decided on this yet) also SSH and something like Wireshark (When I am diagnosing network issues)
I need to be able to access the system no matter where I am, we have a similar setup at work, this will mostly contain Linux isos.
I also need it to be usable in Windows, Linux and possibly Android easily, I have picked Android because it seems simple to connect to the file server.
Is what I am asking even possible? I expect it is but would it be too much for the Rpi?
Im in similar thoughts and came to the conclusion that a pi is enough for small data transfers, so I guess it is technically possible but I would not go for any type of video decoding on it, in my opinion it not suitable for video streaming, but as a set and forget file server if you have low demands for performance sure!
Amazing idea also read into OpenVPN and something like SAMBA for multi platform support! Good luck with your endavours in this project im as mentioned very interested aswell!
Linux ISOs can be 1GB or more in size for some mainstream desktop distros. I'll warn you, a Pi is going to suck for file transfers. It's just going to be slow no matter what you do. It may outrun a residential internet connection's upload speed, but it will still be slug slow for even smaller Linux ISOs (like the 200-300mb server distros). The VPN idea is good, just be aware you'll need to configure routes in whatever router you have. If you have DD-WRT or pfSense I would just do it on the router because it will "just work" for the most part. Definitely let us know how the VPN works out though, I've heard good things about the Pi as a "drop in" VPN gateway. I've considered putting together a Pi-based thing that you just plug in to any network and it'll connect to a VPN server, giving you remote access to said network. Obviously that could be considered malicious, and would be if used as such, but for troubleshooting stuff remotely it would be cool to have a "hold on just lemme hook this up real quick" kind of solution.
Realistically speaking the RPI3 shouldn't have any issues running PMS which doesn't do transcoding unless you force it. And even if you do force it, whether or not it would be sufficient for your media is a whole different question. I'd test this but I don't have a RPI3 or any RPI for that matter.
Ramblings: Even though RPI2 > RPI3 might seem like a small upgrade, the CPU now has A53 cores. And it's running them at 1.2Ghz which is nothing to sneeze at.
I've seen benchmarks showing the speed gains being around 50-60% going from RPI2 to RPI3. Which is pretty much inline if you do the math yourself. Cortex A7 does 1.9 DMIPS/Mhz. The RPI2 runs 4xA7 at 900Mhz.
Cortex A53 does 2.3 DMIPS/Mhz. The RPI3 runs 4xA53 at 1200Mhz.
That's 6840 DMIPS vs 11040 DMIPS. Or in other words, +61.4%. Throw in other benefits of ARM64 in the future when the software catches up.
Although the integrated WiFi is great for hobbyists as that allows one more USB port for stuff! But not so much for Plex users as I've seen the numbers and they're less than 40Mbps so.. Yeah.. Still gonna have to use a dongle for Plex WiFi or wired. For wired, I've seen people achieving "Gigabit" speeds, well, more than 100Mbps that is, along the lines of 200-220Mbps with USB Gigabit adapters. But like K4KFH said, it's gonna be slow nevertheless because of the way the I/O is.
@K4KFH What you suggested would be a good idea I think, although it would only be used on my own network, I take it then just SSH into the Pi and check the network that way? Thing is what base would you use for this? Kali headless or Miniban? as well for diagnostics the terminal will give a better output compared to a GUI. I may investigate this when I am home.
@Lagittaja Yeah there is an improvement on CPU side performance but its the I/O that needs improving, I would gladly pay an extra £10 or so for a dedicated Ethernet controller just to get that 1gpbs transfer, and may even pay more for a esata connector and provide my own power supply, although its selling point is its price I suppose. Another problem is software, is there actually any native RPi apps that support the 64bit architecture yet? although look at the state of most Windows applications they still run in x86 so I guess I cant complain there.
@axelsson The decoding would be done off the RPi, although the RPi GPU is said to be rather good at decoding for videos, specifically H.264 I believe. Most files on the drive would be small applications for Windows, specifically Portable files when I am at work, and of course network diagnostics at home although I do plan to see if I can encrypt all traffic leaving the network at some point soon which could affect diagnostics.
Aha well it comes down to preference I guess, I have read comments about the pi both being great as a media player and bad, it comes down to personal preference, but I'm all for people doing cool things, and if you stick to H.264 it should be fine, although H.265 is probably not really there yet and I have no idea if it's possible. But I would say go for it stuff like this is really cool!
What I was suggesting is probably not quite what you need, it's more of a project idea just for messing about with a Pi and learning how OpenVPN works. For your needs, it sounds like you'd need the Pi to be the VPN server, and your work PC be the client. For what I said, the Pi would be a client to another VPN server running at your home. When you plug it up to a network, the Pi would connect to your home server, and consequently give your home network a way in to the network the Pi is physically connected to. Since it would be a client, not a server, it would traverse most firewalls without any issues, and it would be a nice drop in solution for complex troubleshooting of school/work networks from far away. I don't recommend doing this without approval from administrators, though, because most sysadmins would probably be rather unhappy with an outside user having total access to their network.
TL;DR - My idea was more of a fun project idea for a weekend, not a polished solution for your needs. What you need is a server at home and a client at work (or wherever else) that connects to the home server. The Pi would work for this too, but you'd have to set routes in your router. That's why I suggested using pfSense or another more advanced router; if you run the VPN server on the router, the un-normal routing is handled automagically for you.