Google Fiber with Ubiquity EdgeRouter PoE

I guess, being a new father, I should strive to post more about the baby, but Leslie has so completely outrun me in that regard it’s hard to muster much enthusiasm to compete.

So instead, let me brag about our wicked fast Google Fiber internet that got hooked up just before Xmas.

Google Fiber speed test
As measured this morning. That’s what I call delivering on the promise of gigabit internet!

A few interesting notes on the installation and setup: the fiber strand is run right to the side of your house, where it’s terminated in a little box at a fiber coupling. The installer uses the coupling to connect another piece of fiber that runs into your house to something Google calls a “fiber jack”, which converts from the fiber strand to CAT5 ethernet.

Fiber termination/coupling outside the house
Fiber termination/coupling outside the house
fiber_jack
The “fiber jack” that converts from optical fiber to good ol’ CAT5e ethernet cable. Notice the absence of a power cable–it’s powered via ethernet.

I originally planned to have the optical cable fished all the way into my pantry, where the coax cable (now unused) and AT&T Cat5 were terminated. I was sure that these wires had been run after the house was built, and so I would be able to use them to fish the optical cable through, but I learned painfully after crawling around in the space above my living room that they had been installed before the spray-foam insulation that coats the envelope of my house, and so couldn’t be moved nor a new cable run. To his credit, the installer was patient waiting for me to discover this, and had a long-enough fiber run to accommodate my plan ready. In the end, he drilled into the side of the house a small hole through which he ran the fiber and a Cat5 cable, installed the fiber jack, then coupled the Cat5 to one of the existing AT&T Cat5 runs starting outside the house (both unused), so I got my wish of having the network terminate in the pantry. Again, the installer impressed by back filling the hole with silicone and neatly routing all the cables within the boxes and on the outside of the house. I was very impressed.

The fiber jack connects to the “Google Fiber Network Box,” a combination router and WiFi access point (and DVR, if you get TV service). I tried hard to be satisfied with the box, which delivered excellent speeds on hard-wired connections, and had a nice, user-friendly web-based configuration system that Google makes available right from your account page through some sort of hairpin NAT or something.

But, it had several flaws that made me look for something better (although all but the first are self-inflicted by my super-fussy home network setup):

  • Sub-par wireless reception. It replaced an Asus RT-AC66U running Merlin that covered my whole house with pretty-good 5GHz and excellent 2.4GHz reception. In comparison, I struggled to stream video to my laptop two rooms away with the Google Fiber Network Box.
  • Poor support for port-forwarding. Specifically, the external and internal ports of the forwarded services must match, which is a major limitation.
  • No facility for running a local DNS server.

Unfortunately, if I tried to replace the Google Fiber Network Box with my old Asus, I would sacrifice a lot of speed–the Asus just doesn’t have the horsepower to handle all of the througput.

Enter the Ubiquiti EdgeRouter PoE. I had already heard some good things about Ubiquiti’s networking products, which are marketed for commercial applications as alternatives to super-expensive kit from Cisco and the like. They have developed quite a following in the “enthusiast” (i.e. over-the-top unnecessary home networking hobbyist, i.e. me) crowd, and their EdgeRouter line has several models capable of supporting the 1Gbps Google Fiber throughput. Further, I found guides like this one that explained in detail how to configure similar EdgeRouter Lite for use with Google Fiber.

I selected the EdgeRouter PoE instead because it supports powering devices connected to any port via PoE, most importantly the Google “fiber jack”. It also includes hardware switching for three of its ports, which happened to be exactly how many I needed in the pantry to connect all my RJ45 keystones terminated throughout the house.

It's so little, it fits right in my wire dungeon box in the pantry!
It’s so little, it fits right in my wire dungeon box in the pantry!

I used the configuration developed in this Google Fiber support thread and refined in the guide above as a starting point. The really critical piece is that Google Fiber will not give an IP address to an interface unless it is on VLAN 2; my buddy guessed that this may be an intentional stumbling block meant to weed out casual users from replacing their GFNB with their own router. Who knows? I further honed the setup for the EdgeRouter PoE to:

  • Power the fiber jack via 48V PoE.
  • Fix DNS forwarding by advertising the EdgeRouter’s DNS server to DHCP clients and then forwarding to Google’s DNS. This also allows me to inject static host entries for names on the local network.
  • Expose three hardware-switched ports as the LAN interface ‘switch0’

My entire config is posted in this Gist for the curious.

The best part of this whole enterprise was getting to finally cancel my Time Warner cable internet. Word to the wise–when you do this, just bring your cable box / modem directly to their branch them without calling first. The staff in the branches seem not to be trained to give you a hard time when you cancel (it took me 30 seconds), whereas if you call I have heard that they will talk your ear off before actually doing it.