Tiernan's Comms Closet

Geek, Programmer, Photographer, network egineer…

2 Cable modems = Double Internet Speed? Well… not really… Part 1

[NOTE] This part 1 in a series of posts. The rest can be found here.

First, a bit of background, and then I will explain what I am currently running in Part 2…

For the last 15 or so years, I have had at least 2 internet connections in to the house… 2 of them have always been Cable Modems from NTL, which became UPC, and now is Virgin Media. When I started, I think the modems where 150/50kbit/s and 600/150kb/s, and have steadily increased in speed, currently at 360/36Mbit/s each… But they have always been somewhat separate, and single thread downloads have always been limited to 1 of the connections… I have been looking for ways around this for years…

It started with a Linksys RV042 router which allowed me to load balance my connections… At the time, and I can’t even remember when this was, my total bandwidth would not exceed the router. The RV042 has 2 10/100mbit WAN links and 4 100mb/s LAN links…So, when the connection bandwidth increased, I moved to a new router…

The next router vendor I tried was Mikrotik. I tried a few different options, including an RB1100 and running their RouterOS on x86 hardware… Both worked, well, ok, and the Load balancing with nth stuff did do what I needed, along with other stuff, like routing traffic destined for some sites (like BBC iPlayer) to go over a VPN. But in the end, hardware issues and performance problems with the x86 machine (Mikrotik at the time was limited to 2GB of RAM on x86 hardware) I ended up at PfSense.

PfSense was installed on the same hardware, a HP ProLiant ML110 G5 with 8GB RAM, a Core2Quad processor and 12 GigE Network cards… And, on PfSense, things were good… Performance was stable, load balancing worked as expected, I could set some traffic to go over certain links, etc. all was good… But I lacked IPv6… Plus, the HP used a LOT of power…

The current instalment of my network uses a Ubiquiti Networks Edge Router POE. To show the difference in power, check out the graphs from my Ubnt MPower device. ProLiant first, EdgeRouter second:

<img srcset=" https://res.cloudinary.com/tiernanotoole/image/upload/w_500/20150916-proliant-power-usage.PNG 500w, https://res.cloudinary.com/tiernanotoole/image/upload/w_710/20150916-proliant-power-usage.PNG 710w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1000/20150916-proliant-power-usage.PNG 1000w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1420/20150916-proliant-power-usage.PNG 1420w” src=”https://res.cloudinary.com/tiernanotoole/image/upload/w_500/20150916-proliant-power-usage.PNG” alt=””>

<img srcset=" https://res.cloudinary.com/tiernanotoole/image/upload/w_500/20150916-edgerouter-power-usage.PNG 500w, https://res.cloudinary.com/tiernanotoole/image/upload/w_710/20150916-edgerouter-power-usage.PNG 710w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1000/20150916-edgerouter-power-usage.PNG 1000w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1420/20150916-edgerouter-power-usage.PNG 1420w” src=”https://res.cloudinary.com/tiernanotoole/image/upload/w_500/20150916-edgerouter-power-usage.PNG” alt=””>

Plus, the EdgeRouter does not produce as much heat, and its a LOT smaller that the PowerEdge! It does all the same things I could get PfSense to do, in a lot smaller package (I could, in theory, get a smaller box for PfSense).

So, where does that leave us? Well, I now have 720Mbit/s down and 72Mbit/s up, if I can do multiple threads for uploading… But what if I don’t? What’s next? Well, in the second post, I will explain what I have been trying to do in resent weeks, and what I can do now…

Announcing B2 Uploader and Hubic Testing 2.0

I have 2 new side projects to announce on the site today. First has been running for a while (first check-in was December 28th) and it’s called B2Uploader. Its a fairly simple Windows application to upload files to BackBlaze B2. If you are not familiar with BackBlaze, they provide unlimited backup storage for the low price of a fiver a month. They are the guys who design the BackBlaze storage pods (I want one, by the way!) that allow them to provide unlimited storage for the fiver a month (I currently backup over 4Tb to them!), and late last year, they started offing B2 which is a storage platform on their pods, and it has a (somewhat) easy to use API. AND ITS CHEAP! half a cent, up 0.5c, per gig stored per month! That’s crazy cheap!

B2Uploader uses the B2 API to upload files (it could do more, but currently, as the name suggests, its upload only). Its quite simple, and all the code is available. More stuff coming over the next few weeks. some of the usual badges for open source applications are below. if you want to shout at me, shout in the Gitter chatroom and I will reply. You can see the latest builds over on travis-ci, and the latest releases are available on GitHub.

Join the chat at https://Gitter.im/tiernano/b2uploader

Build Status

The second project is still in the planning phase, and it’s an update to an older project I was working on called HubicTesting. The name is very cleverly called, wait for it… HubicTesting 2.0! I have mentioned Hubic before here. Cheap (about a tenner a month) for lots of storage (10TB!) but an odd API.. It uses Swift for storage, but has a weird(ish) API for authentication. Anyway, more details will be on the site once I write it up.

So, anyone needing to upload files to B2, check out B2Uploader. Want to work with stuff on Hubic, check out HubicTesting 2.0. Any questions, drop me a mail or find me on the Gitter channel. Have a good one!

Edge Router, Sophos UTM, DMZ and LAN Networks

I have been using an EdgeRouer POE as my main router for most of the network (some of the network still uses PFSense as a router, but that’s being removed soon) for the last few weeks, and I am quite happy with it. I also have a second router, a Sophos UTM VM between my first LAN (essentially a DMZ) and my client LAN (there will be more “LANs” over there soon). The Client LAN is NATed between the DMZ and the LAN, which means anything on the LAN I want to access from the DMZ has to be port forwarded… Ideally, not much from the LAN should be accessible through the DMZ, but in my initial setup, stuff like Plex, etc, is…

What I wanted to do was setup a proper firewall between both networks, without the use of NAT… To do this, I first had to disable th masquerading rules in Sophos:

<img srcset=" https://res.cloudinary.com/tiernanotoole/image/upload/w_500/v1530620916/20150930-masquerading-off.png 500w, https://res.cloudinary.com/tiernanotoole/image/upload/w_710/v1530620916/20150930-masquerading-off.png 710w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1000/v1530620916/20150930-masquerading-off.png 1000w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1420/v1530620916/20150930-masquerading-off.png 1420w” src=”https://res.cloudinary.com/tiernanotoole/image/upload/w_500/v1530620916/20150930-masquerading-off.png” alt=””>

next, on the EdgeRouter, I added a static route to point at the new network:

<img srcset=" https://res.cloudinary.com/tiernanotoole/image/upload/w_500/v1530620916/20150930-static-route.png 500w, https://res.cloudinary.com/tiernanotoole/image/upload/w_710/v1530620916/20150930-static-route.png 710w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1000/v1530620916/20150930-static-route.png 1000w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1420/v1530620916/20150930-static-route.png 1420w” src=”https://res.cloudinary.com/tiernanotoole/image/upload/w_500/v1530620916/20150930-static-route.png” alt=””>

And finally, under firewall rules, I allowed what I wanted to allow (in this case, SSH from any DMZ client (not advised) to my Mac Mini).

<img srcset=" https://res.cloudinary.com/tiernanotoole/image/upload/w_500/v1530620916/20150930-firewall-rules.png 500w, https://res.cloudinary.com/tiernanotoole/image/upload/w_710/v1530620916/20150930-firewall-rules.png 710w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1000/v1530620916/20150930-firewall-rules.png 1000w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1420/v1530620916/20150930-firewall-rules.png 1420w” src=”https://res.cloudinary.com/tiernanotoole/image/upload/w_500/v1530620916/20150930-firewall-rules.png” alt=””>

And that, as they say, is that! So far, so good!

Network and HomeLab V.Next (Part 4)

So, after some messing, tweaking, and thinking, I have made some progress with the home lab… or at least broken some stuff… I mentioned previously that I had a Ubiquiti networks EdgeRouter POE in the home lab. Originally, the plan was to use a Virtual PFSense box for my core router… Given the power usage of the current PfSense Box (I have 2 MPower Pro’s watching power in the lab) I am now thinking of moving to just the EdgeRouter for, well, edge routing… below is the usage of the ProLiant for the last 12 hours or so:

<img srcset=" https://res.cloudinary.com/tiernanotoole/image/upload/w_500/20150916-proliant-power-usage.PNG 500w, https://res.cloudinary.com/tiernanotoole/image/upload/w_710/20150916-proliant-power-usage.PNG 710w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1000/20150916-proliant-power-usage.PNG 1000w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1420/20150916-proliant-power-usage.PNG 1420w” src=”https://res.cloudinary.com/tiernanotoole/image/upload/w_500/20150916-proliant-power-usage.PNG” alt=””>

for the same period, here is the usage for the Edge Router:

<img srcset=" https://res.cloudinary.com/tiernanotoole/image/upload/w_500/20150916-edgerouter-power-usage.PNG 500w, https://res.cloudinary.com/tiernanotoole/image/upload/w_710/20150916-edgerouter-power-usage.PNG 710w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1000/20150916-edgerouter-power-usage.PNG 1000w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1420/20150916-edgerouter-power-usage.PNG 1420w” src=”https://res.cloudinary.com/tiernanotoole/image/upload/w_500/20150916-edgerouter-power-usage.PNG” alt=””>

I am also setting up a DMZ for front facing services, and then a LAN for inside facing machines. There will be a firewall (currently thinking Sophos UTM or similar) between the DMZ and the network. Some machines will be able to access the DMZ, and there may be machines allowed into the LAN, but only some things… not even sure if that would be done…

I also need to work out the VLAN side of things. I have currently though of the following VLAN setup:

  • WAN 1 (connected directly to the Cable modem)
  • WAN 2 (again, direct to cable modem)
  • LAN Network
  • DMZ Network
  • VoIP Network
  • IOT (stuff for running the house, like Nest, the MPower devices or the like)
  • Media Network (Plex, Roku, Apple TV, Chrome Cast, etc. Not sure if I need to separate this, but it might be done…)

The current Cisco 3560G switch should do all that, without problems, so no new switch needed… lets see what I can break over the next while…

Windows Server 2012 R2 returning to The GodBoxV2

After a few months of running Sabayon Linux on the GodboxV2, I am going back to Windows Server. Back around October of last year, I installed Windows 10 Preview on the GodBoxV2, and, well, there where issues with graphics drivers, etc. Then, some time after, I can’t remember off hand when, I moved to Sabayon Linux. Its based on Gentoo but has a lot of the components pre-built. Gentoo is a “Build from scratch” sort of OS. You get a basic kernel and a basic set of components, but you build everything else from scratch… including rebuilding the kernel if you want. Sabayon, on the other hand has all that mostly prebuilt, though you can still use Gentoo’s Portage to build stuff yourself.

Anyway, for the last few months, all was going mostly well… but I miss Windows. And, given I have pretty much always ran a server OS on my main workstations, I am heading back to Server 2012R2. I was tempted by 2016, but its still very early days… Maybe I will run it as a VM for a while, but we will see…

ZFS Home storage pool

Over the weekend, my BTRFS pool for my /home directory on Linux failed… Not sure what happened, but it made me do something I wanted to do for a while: Build a ZFS pool for my home dir.

First things first, the pool consists of 4 2Tb hard drives and 1 128Gb SSD. Its setup in RAIDZ1 (equivalent of RAID 5) and then the SSD is set for caching.

To create the pool I ran

zpool create home raidz sda sde sdf sdg

then, to add the cache drive

zpool add home cache sdd

the pool (in my case) got mounted to /home, and then I restored my backup to it. to do some tests, I can the following…

614MB/s write and 5.3GB a second read is nothing to be sniffed at! :)

Ubiquiti EdgeRouter PoE in the lab

Today, my Ubiquiti EdgeRouter POE arrived in the house. I got it hooked up to both UPC connections (as secondary connections) and all seems to be working grand. Some notes I wanted to put up here:

  • out of the box, the install was quite simple. set my Ethernet connection to a static ip in the 192.168.1.x/24 range, using 192.168.1.1 as gateway and dns, and then point at http://192.168.1.1 for admin. login (ubit for both username and password) and hey presto. I was asked did I agree to the license, and then I’m in.
  • by default, NAT is off… I turned it on, and enabled DNS and was able to surf.
  • I also noticed the software was out of date… Oddly, there did not seem to be an option to update automatically, but you can manually download the tar and upload it, which I did.
  • so far, so good… not sure yet if I will be using it as my main router, but it may end up being a VoIP router.

Finally, speed test result below:

<img srcset=" https://res.cloudinary.com/tiernanotoole/image/upload/w_500/v1530620885/20150805.ubiquiti.speedtest.compressed-resized.jpg 500w, https://res.cloudinary.com/tiernanotoole/image/upload/w_710/v1530620885/20150805.ubiquiti.speedtest.compressed-resized.jpg 710w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1000/v1530620885/20150805.ubiquiti.speedtest.compressed-resized.jpg 1000w, https://res.cloudinary.com/tiernanotoole/image/upload/w_1420/v1530620885/20150805.ubiquiti.speedtest.compressed-resized.jpg 1420w” src=”https://res.cloudinary.com/tiernanotoole/image/upload/w_500/v1530620885/20150805.ubiquiti.speedtest.compressed-resized.jpg” alt=””>

More Ubiquiti stuff arriving tomorrow… will post more stuff then.

Network and HomeLab V.Next (Part 3)

So, this part of my article set will be talking specifically about the router and wireless network. At the moment, my router is way overkill:

  • Old HP Proliant ML110 G5
  • Intel Core2Quad Q6600
  • 8 Gb RAM
  • total of 12 Gigabit network cards (of which 4 are currently used…)
  • 500Gb HDD

I have been playing with some networking in the house and have managed to build some VLANs. The modems are connected both directly to the Router and to a dedicated switch port for a given VLAN. The plan for the upgrade, which I hope to complete sooner than the rest of the network is as follows:

  • get the ML110 running ESXi and visualize PFSense. Give it 2gb of RAM and some processor.
  • take some of the network cards out of the box. It does not need 12 ports, but maybe leave the 2 quad ports in there. They should be connected to the main switch trunked. 8 may be overkill, but I never do things by half.
  • the PFSEnse VM should be connected to all 3 WAN VlANs (900, 901 and 902) and should also have at least one port to the LAN. There may also be other ports for other internal VLANs.

with the spare processor, I can then add other (small) VMs to this machine.

Network and HomeLab V.Next (Part 2)

So, in my last post I talked about the requirements for the home lab, and in this post, I’m going to talk about a few more updates I have made in the last few weeks.

First, the processors: in the first post, I talked about Xeon D or Xeon E3… Well, I missed one… The Xeon E5. I have 2 of these in GodBox 2, and you can get them into a microATX board. There does seem to be some limits with the microatx boards, but hopefully enough searching will find me what I am looking for. Ideally, I want it to take “normal” DDR3/4 memory (not SODIMMs like the ASRock one above) and also take enough of them to run 64 or 128Gb of ram (thinking 8 would do the job!). Also, I would like to have 4 GigE ports onboard and 1 management port. 4 onboard is not a hard requirement: If I can get one with 2 ports, I can always get a 4 port card for the PCI-Express slot… Finally, I would like it to have at least 6 SATA ports and possibly an MSATA port. Thinking Boot off MSATA (Windows Server 2016 Nano Server would be used), 2 SSDs and 4 HDDs. Using Storage Spaces, use the 2 SSDs as “Fast” storage for the pool.

I also think I moved off the idea of 10Gb. I like the idea of it, but given a small 10Gb switch costs upwards of a grand, and the plan is to build a machine for that price, I would prefer a fifth machine and using my existing Cisco 48 port switch and leave 10Gb as a future upgrade.

Also, changed from last time round is machine count. Originally I was saying 3-4 machines… now I am thinking 6-7… 5-6 of them should be Hyper-V boxes and the last one would be a Media Box.

I also think the Synology or SAN requirement is out… Hyper-V can be setup to do replication between hosts, and with a 4Gb link to the LAN, I think I should be OK. Also, if I have the media box separate, I should be ok there too. I will detail the media center in a later post.

So, any suggestions or thoughts on what should and shouldn’t be looked at?

Network and Homelab V.Next (Part 1)

So, its that time again… HomeLab upgrade time… Or at least the planning for it. I am in the process of rebuilding my home lab, which involves pull all old servers out of the rack and replacing them with new ones… It also means rewriting the network, possibly upgrading some existing gear and hopefully getting the whole lot done on a budget of some sort…

So, why? Well, biggest reason for all this is currently heat and power usage. We use about 4-6x more electricity than the average house here in Ireland, which means our electricity bill is fairly high. It also means that the lab, which is also my office/bedroom, gets quite warm and uncomfortable during the summer month. There is an Air-Con unit in the room, and, well, that’s costing the most on electricity!

So, what I got is a basic overview of what I want from the homelab and hopefully in the next post, I will have an idea of what it will look like..

  • 3-4 machines running a Hyper Visor (HyperV, VMWare ESXi or other). Leaning more towards Hyper-V purely because its what I got currently and its what we use in our main office.
  • each machine should be connected to at least 2 networks: one for storage and migration, one for “public” to the LAN. There may be more VLANs for other networks, but 2 is a start.
  • ideally, 10Gb connections would be nice, but multiple 1Gb connections would also work.
  • shared storage (iSCSI, SMB3, etc) would also be a nice to have, but may bump up the server count (not actually a problem) but would increase power and cooling costs. An off the shelf box, like a Synology could do the job…
  • Lower power usage and less heat produced is also a major requirement. Most of the boxes I am decommissioning are older Xeon hardware (5000 series up to a 5200 series process and even an older Xeon P4!). The newer Xeon E3 and the even newer Xeon D are a lot more efficient, use less power, produce less heat and are way faster than what I currently have. The E3 can use up to 32Gb of RAM and the Xeon D top out at 128Gb… Me being me would like more than 32Gb RAM… :)
  • smaller machines would also be nice. I have been looking at both Xeon D and Xeon E3 Mini-ITX boards and cases for them. I do have a half height Dell Rack, which I host these machines, and ideally, these machines should be rack mountable, but micro ATX cases could work. 2 per shelf would work grand.
  • Onboard IPMI and KVM support is something I want too… I do have a KVMoIP switch in the house, and it works, most of the time, but getting a box that has this embedded into the board would be ideal… A lot of the server boards had it as standard or allowed it to be speced, so that’s all good.
  • I am also thinking of upgrading the router to a similar spec board… Possibly a Xeon E3, or even an i5…. Ideally it should have IPMI and KVMoIP on board and should produce less heat. Biggest issues is getting enough network cards into the box…

These are my requirements at a high level overview. Over time things may change, but lets see how we get on…