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.
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.
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
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
Configure service policy on the sub-interface to enable QoS.
interface GigabitEthernet0/0.2 service-policy output tag_out_to_google_fiber
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
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!