Cisco Router Configuration for Google Fiber


Bypassing the Google Fiber network box is a highly desirable idea if you’re need and want additional control over your network. Google support is not likely to provide much information on what is needed and definitely will not provide configuration support for third party equipment.
For this reason I am posting the steps that I have taken here. The configuration below is from a Cisco 1941 with EHWIC-D-8ESG-P. Three important things to know about configuring your router is that 802.1Q encapsulation must be enabled on the WAN interface,  your switch ports must be assigned to VLAN2,  and QoS must also be enabled. You will also need to configure the DHCP server and setup NAT.

<kbd>WAN Interface</kbd>

The configuration for the WAN interface is very basic due to the need for encapsulation.

interface GigabitEthernet0/0
 no ip address
 load-interval 30
 duplex full
 speed 1000
 no cdp enable

<kbd>Create and Configure VLAN2</kbd>

In order to communicate with the Optical Network Terminal (ONT) your switch ports must also be on VLAN2, otherwise your end devices will not be able to communicate with Google’s network.

interface Vlan2
 ip address 192.168.0.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly in

<kbd>Assign switch ports to VLAN2</kbd>

This will allow any device connected to the configured switch ports to access the internet.

Individually

interface GigabitEthernet0/1/0
 switchport access vlan 2
 no ip address

or port range

Router(config)#interface range g0/1/0-7
Router(config-if-range)#switchport access vlan 2

<kbd>802.1Q Encapsulated Sub-Interface</kbd>

Without this, your WAN interface will not be able to communicate with the G Network and associated with VLAN2.

interface GigabitEthernet0/0.2
 encapsulation dot1Q 2
 no ip dhcp client request dns-nameserver
 ip address dhcp
 ip nbar protocol-discovery
 ip nat outside
 ip virtual-reassembly in
 no cdp enable

<kbd>QoS</kbd>

If you only want approximately 90% of your download, and 10% of your upload speeds, then you can skip this.  Otherwise, you may really want to enable this.

class-map match-all cmap-match-dhcp
 match protocol dhcp

policy-map tag_out_to_google_fiber
 class cmap-match-dhcp
 set cos 2
 class class-default
 set cos 3

<kbd>QoS (Continued)</kbd>

Configure service policy on the sub-interface to enable QoS.

interface GigabitEthernet0/0.2
 service-policy output tag_out_to_google_fiber

<kbd>DHCP</kbd>

Pick your own network and excluded address range, but be mindful of the IP address that you set for vlan2.

ip dhcp excluded-address 192.168.0.1 192.168.0.99
ip dhcp pool DHCPPOOLNAME
 network 192.168.0.0 255.255.255.0
 default-router 192.168.0.1
 dns-server 192.168.0.1

<kbd>NAT</kbd>

Just know that this is important if you want your router to communicate outside of your network. (More information about Network Address Translation.)

ip nat inside source list 1 interface GigabitEthernet0/0.2 overload

<mark>Bonus</mark> <kbd>Port Forwarding</kbd>

This will also be required if you are running a service that you would like to be available to external networks.

ip nat inside source static tcp <destination_IP> <destination_Port> interface GigabitEthernet0/0.2 <source_Port>

You should now be fully connected to your Google Fiber connection!