Geek Freely: networking

    Featured Post

    The whole point in this post is to run your own VPN service, and allow you to connect remote devices to your home network.

    To start off yo…

    Showing posts with label networking.

    Showing posts with label networking.

    The whole point in this post is to run your own VPN service, and allow you to connect remote devices to your home network.

    To start off you need to choose a server that is going to be always available, or at least you should try to do that. Next thing is to install OpenVPN on the server and configure it, this can be done in no time at all with the help of the following site:

    The first command you are going to need to do is as follows:

    This downloads and executes the installation script, I had to run this as sudo, so:

    This script will take you through a variety of questions where you are prompted for entry, in most cases the default option will be appropriate and filled – however if you are running behind a firewall (which you probably will be, I’d like to point out a couple of gotchas).

    The IP address of the local machine should indeed be the local IP, there are other sites that suggest this should be the WAN IP of the server, that’s fine if the server has direct access to the internet – which mine does not, since it is behind the firewall I choose the local IP so it configures the correct interface to be monitoring.

    Next major question is configuring your external IP if you are behind a NAT, honestly you should be using a FQDN and not an IP – check out my previous post on options []

    Once you are finished answering the questions you are ready to make client profiles, run the installer again and you will be prompted a variety of options, you are going to want to add a user:

    1) Add a new user

    2) Revoke an existing user

    3) Remove OpenVPN

    4) Exit

    Now that you have OpenVPN server installed in Ubuntu, and a client profile created for your device – all you have to do is setup any port forwarding required to the OpenVPN server.

    So in my case I setup a rule to forward all 1178 (1194 if you followed the default options) UDP VPN requests from my external IP address to the local IP address of the server running OpenVPN. This was done at my cable modem/router.

    That’s it, you’re done. Let me know if you have any questions or comments below – feel free to donate/tip the creator of the script on the following site:

    So I decided to setup a samba share on my Plex Media Server so I could pull off the mobile photos that are uploaded.

    First off you need to know the location of your mobile uploads, on Ubuntu Server 12.04 that would be:

    cd /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Media\ Upload/Mobile\ Photos/

    Once you are aware of the location you can now define the samba share. Open the following file, with write privileges:

    sudo nano /etc/samba/smb.conf

    At the very end of this file, put in your share details:


    path = /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Media Upload/Mobile Photos/

    available = yes

    valid users = macleod

    read only = yes

    browseable = yes

    public = yes

    writable = no

    Share name is [Pictures], path is obviously path and the rest of the settings are self-explanatory.

    Restart samba using the following command

    sudo service smbd restart

    And to test the syntax use the following:


    I used the following link for most of the information provided here:

    First off I want to say, this was the best use of $179 in a while..just buy it:

    This box blows away my old Zotac ION – and it’s fanless.  It kills on performance compared to the Raspberry Pi and Zotac ION, and it’s small and portable, it’s fanless, it boots very quick! I love it.

    Disclaimer: All the information in this guide is completely taken from the following link:

    But I have formatted it in the appropriate manner for myself to reference in future.

    Follow this guide if you want to replace Chrome OS with OpenELEC and have it boot in automatically, I do not do the backup like the wiki, I create a backup USB after the fact on a Windows box, but you can do it from any OS it appears.  I have tested this backup and it works, so this is my preferred and quicker method.

    has updated the wiki to provide an  You must still complete steps 1.1 and 1.2.

    1 Device Preparation

    Putting the ChromeBox in developer mode will allow you to access the underlying Linux operating system features necessary for installing XBMC.

    WARNING: This will erase all user data on the device.

    With the device powered off:

    Disabling the firmware write protect will allow us to set the firmware boot flags to shorten the developer boot screen timeout (from 30s to ~1s), and optionally boot directly to the legacy BIOS (and into Ubuntu or OpenELEC). This is not absolutely necessary, but highly convenient and carries little to no risk.

    With the device powered off and unplugged:

    It is necessary to update the legacy BIOS to enable booting from USB/SD media, or if replacing ChromeOS with Ubuntu/OpenELEC, as the stock legacy BIOS is completely broken. If you dual booting and using either the ChrUbuntu or ChrOpenELEC scripts to install, then this step is included as part of those scripts and does not need to be done manually.

    To update the legacy BIOS:

    This updated legacy BIOS has a ~1.5s wait on the ‘Press ECS to show boot menu’ screen.

    Setting the following boot flags will allow you to boot either to a backup copy of ChromeOS on USB/SD (using CTRL-U) or to the legacy BIOS (using CTRL-L) and into Ubuntu or OpenELEC.

    Important: These boot flags must be set before installing either Ubuntu or OpenELEC.

    To set the boot flags, perform the following steps:

    With the firmware write-protect disabled, we can shorten the default developer-mode boot wait time (from 30s to ~1s) and set the ChromeBox to default to booting the legacy BIOS (and into Ubuntu or OpenELEC) instead of requiring CTRL-D or CTRL-L to be pressed each time.

    Follow this guide:

    I corrupted my backup from the wiki, so this was my only option – but it is tested and works.

    2 Installing OpenELEC

    In order to install OpenELEC, you’ll need to download a custom build tailored to the ChromeBox. This build differs from the regular OpenELEC Generic x86_64 build in that it uses a slightly older version of the syslinux bootloader (5.10, vs 6.02), as the version included with OpenELEC does not work properly on the ChromeBox at this time. This custom build also includes a fix for some MCE IR remotes, which fail to work when connected to USB 3.0 ports (fix has been submitted as a patch and hopefully will be included in future Linux and OpenELEC releases).

    Download the custom build of OpenELEC from

    Once downloaded, unzip/extract the files.

    If you have set the firmware boot flags as above, OpenELEC should boot right up in about 15 seconds. Otherwise, you will need to hit CTRL-L to boot the legacy BIOS.

    That’s it, you can update to the latest official OpenELEC build. Afterwards, updates should be automatic.

    Update:  Please check the following location for a list of known issues an their available workarounds:

    It’s pretty good.  But I am not sure it is any better than my Netgear WNR3500L running DD-WRT, my wireless range isn’t any better.  I guess the best thing about it is the daul band wireless, I find I get higher wireless speeds.

    I set the base station up using only my iPhone.  The software for desktop is only available for Windows or Mac.  The Windows version requires Windows 7 SP1.

    Previously on FreeNAS 0.7.2 I had to use the following configuration

    to get additional speed on my transfers, and those benefits were only

    when copying to the NAS, not from it.

    Everything was acceptable on FreeNAS 0.7.2, however updates had

    halted, FreeNAS took a leap to version 0.7.5, which there is no official

    upgrade route from 0.7.2, then 0.7.5 seems to have branched off into


    So what to do?

    I changed my FreeNAS 0.7.2 installation into an embedded install,

    then upgraded to 0.7.5.  At this point I had to re-mount all my drives

    (backup configurations at every stage).  I was able to check the

    permissions I had configured by checking my old configuration_###.xml

    files.  Within minutes I had FreeNAS 0.7.5 running, additional benefits

    were already there – however the plan was to move to NAS4Free since I

    see FreeNAS support halting completely in the future.

    Upgrading to NAS4Free, while experimental, was the simplest process:

    Make a backup of your configuration. (Web GUI ‘System|Backup/Restore’)

    Modify the configuration by changing the upper most

    and the most lowest string

    on the configuration to



    Change the version to 1.0.

    Burn the Live CD (ISO) and install NAS4Free.

    Restart the server without the CDROM.

    Import your modified configuration (Web GUI ‘System|Backup/Restore’) and restore.

    At this point I was able to remove all the extra auxiliary parameters for SAMBA.

    Update:  NAS4Free has an upgrade path from FreeNAS now.

    Notes can be found at the following location:

    This version supports upgrading from FreeNAS 0.7.2 or 0.7.5.

    The supported lowest config version is 8.9. (

    So I recently took the opportunity to upgrade my Netgear 3500NL v1 to the latest DD-WRT firmware out there:

    I had been running an older version, I believe it was a MEGA build (), but decided based on other changes in my network – why not go the whole hog.

    Unfortunately there were a couple of issues:

    I couldn’t use my previous settings, since the port forwarding rules were not impoted correctly.

    Filter WAN NAT Redirection seems to be broken and required a workaround

    The following firewall script was required, under Administrations | Commands:

    iptables -t nat -A POSTROUTING -j MASQUERADE

    This worked around the Filter WAN NAT Redirection problem (it doesn’t appear that I can disable it)

    Point 2 specifically prevented me reaching internal services that had port forwarding associated with them.

    So the other month I bought a ton of new equipment for a new NAS box.  The question was, which NAS software to go for?  As ever it needed to be free, preferably open-source, and have all the functionality I was looking for.


    FTP server



    I wrote about my excitment for

    more than a few months back ().  However during this wait my current NAS ) began to fail, due to harddrive issues, and the fact that it was a crappy old box.

    OMV has yet to be released, so I was in a bit of a pickle, I have new hardware, I need a new NAS, so I began to try my alternatives.  I installed and checked out the following NAS solutions:

    P.S. There are more, but some of them were ruled out due to hardware limitations, or pricing for several drive solutions ().

    eBox was nice in the fact that it had a built in LDAP server, but I soon realized that it is not something I really need.  Openfiler was cool, but I had some issues with my

    drives (a), and I wasn’t really a fan of the Volume Management. And Amahi… it sounds good, but the plug and play aspect is a little cluncky/cloogy in my mind.

    So in the end, I stuck with FreeNAS!  I have implemented encryption on my drives, FreeNAS handles the WD EARS no problem, setup the UPS feature for safe power downs.  All in all I am happy with my decision, there is no guarantee that OMV will be in a good shape when it is release, so why take the risk – stick with something I know and love!

    I just bought myself the WNR3500L from Netgear, because it ca be flashed with custom firmware – which is great.  My old buffalo router could do the same, and I used Tomato.

    I decided, new router, new firmware… not such a stunning idea.  My immediate issues with DD-WRT over Tomato:

    Other than these inconveniences I like it, I will update this as I find the time and move forward.  I am sure DD-WRT will become more user friendly, but I expected more from it – especially the way everyone rave about it.  For now I would tell ppl who are looking into these firmwares to go with Tomato.

    So I have been thinking a lot about VPN, I want to securely access my home network and VPN is the best way to do that.

    As I have mentioned in previous post I use

    on my router.  This free software allows me to adapt my .  One of the variants out there for Tomato firmware allows me to run an

    server from the router.

    Using this

    I would have the ability to connect securely and become part of my network from anywhere in the world.  This got me thinking a little more…

    I have a small portable

    solution, running on Ubuntu, if I had a VPN server up and running on my router I could configure the VPN client on Ubuntu to securely connect and be part of my network – allowing me to stream my content securely/encrypted anywhere in the world!

    So I am on the search, I need to find a good application for port


    I use uTorrent for getting various content/distributions, however I

    don’t want traffic hitting my router when I am not using the

    application.  To get the best out of uTorrent you need to open a port on

    your router (port forward), but I don’t want that port to be open when

    my application is not running, so what’s the solution – port triggering.

    There is an application out there that will work ,

    but it is not supported in Windows 7.  The basic idea is that when Port

    Trigger sees the application of choice (uTorrent) running, it will

    intermittently send a request to a port.  This port request can then be

    set up at your router to open the configured port for your application

    connection.  Then, when the application is not running Port Trigger no

    longer ‘pings’ the trigger port, and the router will not open the port

    for the application.

    If anyone has any suggestions for a Windows 7 supported application,

    please get in touch!

    My router running Tomato firmware:

    Looks like developer is leaving FreeNAS behind due to limitations, and moving to a Linux based system called – which then later changed to .  Being somewhat excited about an update for future-proofing and allowing major development , I was happy to hear the developer taking steps – however, there could be some time before we see anything.

    For all you FreeNAS lovers out there, don’t worry, looks like

    is going to take over FreeNAS development.

    Myself, I am going to look into ….

    If you got the money to fork out – then drobo is your solution:

    Subscribe to:


    Blog Archive


    Leave a Reply

    Your email address will not be published.