Search

Lazy Man Joe's Ramblings

Month

April 2017

Network-wide ad-blocking using a Raspberry Pi and “Pi-hole(tm)”

Ad-blocking seems to be quite a “thing” these days and I have to say that sometimes the amount of ads on web pages just gets too much !

I do understand it’s a way to get your product noticed, but some web pages have way too many ads on it 😦 and most of the time not really related to me [sorry Google/whoever for profiling me 🙂 ]

I’ve been looking around for an easy and cost-effective solution and found “Pi-hole(tm) : A black hole for Internet advertisements” 🙂

The idea is not to “hide away” (i.e. get some privacy), but rather to block ads so we don’t see them anymore.

I had a Raspberry Pi 2+ available (using it for some home automation testing) and I thought I’d give Pi-hole a go.

Pi-hole essentially runs as a DNS server on your network and block requests for known ad-serving addresses/domains.

Pi-hole can also be used as a DHCP server and in my configuration, I decided to utilize this feature as well (main reason being that my router’s configuration limits me from specifying my own DNS settings). Using DHCP on the Raspberry Pi, I can serve out IP addresses on the network and as part of the configuration, the Pi-hole server is specified as the DNS server !

Installation is very easy:

  • Install a unix based OS on your Raspberry Pi
    • I opted for the latest Raspbian Lite version (Jessie) found here
  • Once you have the basic configuration going, with your Raspberry Pi on your network and connected to the internet, you need to start the installation.
  • I used the following command (although you can get the code from GitHub & run the installer locally as well)
    • curl -sSL https://install.pi-hole.net | bash
    • This connects to the latest Pi-hole installation and runs the scripts to install it on your Raspberry Pi
  • Basically follow the instructions
    • Select the IP address you want to use (your Pi-hole server needs a static address, as you want to ensure your network clients point to it even after restarts, etc.)
    • Once installed, the installer will tell you which IP address to connect to for the web configuration and the password to use (192.168.x.x/admin)
      • It’s important to note the password as it’s only given to you once
      • If you loose it for some reason, you can only change it via command line (see notes below)
    • Configure your router DNS to point to the Pi-hole server to ensure it uses it for your network traffic OR as in my case, configure DHCP on the Pi-hole to serve the IP addresses with the DNS information.
    • Use the web interface to check the DHCP configuration, etc. and rest of the configuration (very easy to follow)

The dashboard view gives you a quick overview of the DNS blocking, requests, etc. as well as access to the settings page to configure DHCP, etc.

Pi-Hole-Dashboard_1

That’s essentially it !

Some notes:

The Web interface password is only given to you ONCE at the end of the installation – if you don’t make a note of this, you will have to use the command line on your Raspberry Pi to reset the password.

Use the following command from the command line to reset your password:

  • “pihole -a -p somepasswordhere”
  • You can also remove the password using the following command – “pihole -a -p”

Have fun !

BTW – this is an interesting article as well … “Ad-blockers might actually make it easier for advertisers to track you” – TNW

 

 

Installing a NAS on a Raspberry PI (OpenMediaVault)

It seems I’ve been on a roll the last couple of weeks/days 🙂

Recently my DROBO died and then I installed NAS4Free on my Home Server to serve our storage needs at home.

Well, we’re going on holiday soon and we need to take some of the media content we have with us !

So I had the following hardware available:

  • Raspberry Pi 3+
  • 2.5″ 500GB external drive (powered)
  • Apple TV
  • iPads
  • MacBook Air

What to do, what to do ?

🙂

Well, I tried installing Plex on the Raspberry Pi and although it worked “okay” it could not keep up with the transcoding process 😦

So I had a couple of options:

  • transcode ALL the content to something usable [very time consuming]
  • have the content available on the network and do the transcoding ON the device you’re using
    • iPad
    • OSX
    • Windows 10
    • etc.

Well, I opted for the latter (well – it’s a proof of concept at the moment)

Looking around I found the following NAS software for the Raspberry Pi (OpenMediaVault)

OpenMediaVault runs on Debian Linux (Jessie) and they have a Raspberry Pi 3 image to download (here)

Installation is fairly simple:

  • download the image
  • write it to your SD card (I recommend Etcher)
  • Boot up the Raspberry Pi and let the configuration complete
  • The setup will then tell you which IP address to connect to (in my instance it was 192.168.1.10) [I forced the Router to have a static IP address for the Raspberry Pi – makes it easier in the long-run]
  • Using your browser, connect to the IP address specified
  • Use admin/openmediavault (remember to change the password)
    • OpenVault_Login
  • Use the Web Interface to add your devices (I have an external USB drive (500GB), which I mounted)
    • OpenMediaVault_Drives
  • Once mounted, you have need to SHARE this drive on the network
  • Under Services ->SMB/CIFS you need to enable the service
  • Once enabled, go to Shares and configure the Share (defaults are fine)
    • I allowed GUEST access to make it easier and it’s contained to my local network
    • OpenMediaVault_Shares
  • That’s it !

OpenMediaVault_Stats

The plan for the holiday is to have the Raspberry Pi connected to our 3G/LTE router and use the router as a local WiFi hotspot.

With the Raspberry Pi connected directly to the router, we won’t have WiFi lag, but then we’ll be able to connect to the NAS over WiFi and AirPlay from our iPads or MacBooks to our Apple TV (3rd Gen), or lie in bed in the evening and catch-up on some series on our iPads (I recommend VLC Mobile).

We’ll use AirPlay as it looks like to easiest option at the moment to play content on the TV.

OpenMediaVault has quite a couple of plug-ins you can enable on it – one of which is a Plex Media Server.

My initial tests showed me what I suspected – the Raspberry Pi 3+ (although more powerful than previous iterations) just can’t keep up with the transcoding process – so I disabled that feature again 😦 [especially when the content is 720p or 1080p]

There are a lot of plug-ins to choose from and as I need more time to investigate, I’ll have to report back on my findings in future.

For now it seems we’re set for an OpenMediaVault-RaspberryPi-NAS configuration to stream our content to which-ever device we want 🙂

Like always – HAVE FUN !

Installing a NAS at home using NAS4Free on an HP N40L Mini Server

Recently my DROBO Gen 1 storage device “died” and I was looking for a solution to cater for our media needs (cord-cutter) – movies, TV series, etc. using Plex Media Server to serve it up to our devices in the home.

I also needed a storage area for our day-to-day photo usage, software needs, etc.

The basic requirement was for as much storage as possible, with great speed and easy access on multiple devices (windows/mac/ios/etc.)

I had the following hardware available:

  • HP N40L mini server (more details) with 4GB RAM
  • 2 x 3.5″ 1TB SATA drives
  • 1 x 3.5″ 2TB SATA drive

After some investigation on the web, I found this great piece of software – NAS4Free – which suited my needs and hardware perfectly.

NAS4Free is built on FreeBSD and has multiple features “in-the-box”.

Installing it was a cinch !

  • Basically, download the Live-USB image
  • Extract the image
  • Write the image to USB device (your installation device)
  • Boot from (installation) USB device
  • Follow the prompts and select “9” to install on to (another) USB flash disk (the one you’ll use to boot your server)
  • Installation is quick & easy and once done, remove installation USB drive – insert the actual USB boot device into your server and switch on !

I opted to install the software on a USB flash disk (4 GB is fine), which the HP server allows you to do (there is an internal USB slot for booting your OS).

This opened up the 4 internal drive slots for storage use, ideal for my requirement.

Once the USB boot device was configured, I shut the system down and installed the drives into the slots in the HP server. (using 3 of the 4 available)

I then proceeded to boot the server and started the configuration – all done via web interface (once you boot, the server screen will tell you what the IP address is and you use admin / nas4free as username/password [remember to change it !])

NAS4Free-login

Setup is fairly easy and all the instructions can be followed form here

Once you have the basics done, it’s time to add your drives

Go to Disks -> Management and add the drives you have to the system. NAS4Free supports ZFS storage (which is apparently a great system 🙂 )

LazyNAS-Drives

NOTE:
Please note I made a conscious decision here
– I wanted the MOST drive space at the fastest rate – so I created a single volume, stacking all my drives together.

THIS IS RISKY !
If one of the drives fail, then the whole pool fails …

Typically you’d rather create a pool as a mirror or RAID-X, or something and ensure you have redundancy.

ZFS-options

My aim though was to have a much space available as possible, fast access times and I’ll manage backups separately. (well that’s my initial thoughts 🙂 )

Once the drives are accessible to NAS4Free, you need to create a Virtual Device which contains your drives (under the ZFS menu).

Then you add your drives to the Virtual Device and your NAS has space available.

NOW you need to share this on your network.

Easy with NAS4Free 🙂

Go to Services -> CIFS/SMB (especially if you have Windows devices on your network)

Configure the settings under the settings page (defaults are fine and you just Save&Restart to get going).

Create a SHARE – once you’ve enabled CIFS/SMB.

SMB-Shares

This is easy – create a name, select the mount point on the pool and “Bob’s your uncle” … it’s available to use !

One of the easiest software configurations I’ve had in a while and after about 2-3 weeks I can report that the system is performing amazingly well.

Side note:

Yes, I know … I’m running the risk of loosing a drive (similar to my DROBO experience) and then loosing ALL the content on the NAS.

I do have a plan though … I have 1 slot open in the HP Server and plan on getting another 2TB (maybe 3TB 🙂 ) drive to put in there – then I’ll mirror/sync the (important) content to that drive … but for now I’m VERY HAPPY with NAS4Free !

That’s all folks !

Like always, have fun !

🙂

Free File Sync – great tool to keep files in sync

As I mentioned in my post about our DROBO dying, part of my recovery process involved copying all the files (I could recover) from the device onto an external device.

As the DROBO was acting up, I could not use standard copy/paste as it would stop during the process and you weren’t sure which files copied vs. which did not ! 😦

Using FreeFileSync (www.freefilesync.org), my troubles were much less! (software worked fine – amount of data caused headaches)

I could select multiple folders at a time and then sync them to an external device. FreeFileSync would copy the files, verify that they actually copied and move on. It was a slow process, but in the end I moved around 1.2TB of data this way !

The time-consuming work was to select multiple folders at a time and clicking sync (I was too scared to select ALL of them at once, so opted for a set of folders at a time but this meant I had to spend a lot of time on it).

The nice feature for FreeFileSync is that you can save a “configuration” – so if you set up folders to sync, you could save this configuration for future use. I did exactly that when the DROBO acted up between copy processes – then all I had to do was reload the last config and rerun the sync – it would only copy the files not yet copied, while checking file size, etc. to ensure the files went across correctly.

I can certainly recommend FreeFileSync as it’s cross-platform and works very well.

FreeFileSync saved my life … well, almost 😉

The day my DROBO died :-(

About 3 weeks ago we went through a period where we had a few power interruptions in our area (not really something new in SA, but a bit out of the ordinary for a couple a months); anyways it seems that one of the 1TB drives I had in my DROBO died in the process.

Well, that should not be a problem (I thought) – get a new drive and the DROBO will rebuild itself … not so easy 😦

Although we could access the info on the DROBO for a while after the drive died, the DROBO was acting a bit “weird” – at times VERY slow, at times it would just reboot itself and I could not move any data off the DROBO – but we could watch the movies we had on there … strange.

After ordering a new 2TB drive to replace the broken 1TB (always good time to upgrade :-)), I popped it into the DROBO and it it started churning away – recovering the info and “settling in” – or so I thought.

We left the DROBO to do it’s thing and left it alone for 4 days ! The strange behaviour continued though – it would state that it’s rebuilding (don’t remove any drives with flashing lights – ALL of them) and then reboot without warning – sometimes the OS would se it again, sometimes not (and that needed a power off/on sequence).

Eventually I took the DROBO from the server it was connected to (Windows Home Server 2011) and connected it to an iMac with the DROBO dashboard and ran some disk utility checks on the drive – it needed some attention to get going and after MANY hours spent, I could access some of the data.

We have almost 1TB of photos between Heidi & myself, with NO backup elsewhere (why would you when you have a DROBO RAID system protecting it ? … lesson learnt).

I found a great piece of software (Mac & Windows) – FreeFileSync – which is great to ensure that files are synched between folders. I used this to slowly, but surely, move items from the DROBO to an external drive (the newly purchased 2TB drive).

It took me almost 3 days to move the photos and also recover “some” of the other files on the DROBO – although the Photos were the main item I focussed on. Remember – these are photos from ALL our trips to the Kgalagadi, all family photos, weddings (ours and other people), our honeymoon, the kids … you get the picture – ALL of our photos for the last 13 years !!!

Once I had the content moved off the DROBO, I checked each of the 3 x 1TB drives left after the disaster – it turns out one of the drives was failing, but concerning to me was that the DROBO did not pick this up 😦

I suspect that part of the problem why the recovery of the data took so long was that the one 1TB drive was working intermittently and causing a slow-down in the process.

I think my DROBO (which I love dearly), has probably met the end of life expectancy – I don’t trust it anymore. 😦

I revived 3 x 250 GB drives from an old server and put them in the DROBO for now – although we’re not using it anymore. I want to keep an eye on the DROBO – which seems to be “okay” for now, but I don’t know if I’ll ever put important data on it … 😦

Lessons learnt:

  1. Always have backups of your backups !
    1. We’re now working with a copy of our photos on a NAS (more on this in another post [NAS4Free]
    2. BUT, we also do backups on a monthly basis onto an external drive which is then stored away
    3. Soon we’ll be moving our content into cloud storage as an extra precaution
  2. Backup, backup, backup
  3. Hardware gets old … keep an eye on it …

Notes:

  1. We have one of the original DROBO GEN 1 units – 4 drive slots with a max of 8TB storage available and USB 2.0 connectivity only
  2. The DROBO has served us well, and I’ll keep an eye on the current setup and maybe use it again in future
  3. DROBO Dashboard did not indicate any issues with the failing 1TB drive, but when I ran a S.M.A.R.T. test on the drive (once removed from the DROBO) it indicated that it’s failing …
  4. I think the major issue was that more than 1 drive actually failed / was failing and this caused issues for the DROBO.

Blog at WordPress.com.

Up ↑