Rural broadband

Ukiah's City-Owned Fiber Passes 2,000 Homes and Businesses: What North Coast Towns Can Learn

Illustration of a large spool of orange cable mounted beside a wooden utility pole on a tree-lined residential street, with houses and power lines under a pale yellow sky

The Mendocino Voice reported today that Ukiah will hold a celebration on October 27 for its city-owned fiber network. According to the city and Vero Fiber, the company that runs it, fiber now reaches more than 2,000 homes and businesses in Ukiah.

That’s a real milestone for a small North Coast city, and it’s worth looking at closely from up here in Humboldt County. Not because Ukiah’s network will ever reach us, but because the way it was put together is a model that other towns on the North Coast could use, and because a lot of businesses are going to go through a fiber cutover in the next few years and it pays to do it right.

What Ukiah built

Here’s the short history, from the city’s and Vero’s announcements and local coverage:

  • Funding: The project is paid for with a California Public Utilities Commission (CPUC) Federal Funding Account last-mile grant, about $5.7 million according to the August announcement. Earlier coverage in October 2025 put it at nearly $5.6 million.
  • Ownership: The City of Ukiah owns the Phase 1 fiber. Vero Fiber operates and maintains it under a 35-year agreement.
  • Construction: Ground was broken in December 2025, on a plan for about 23 miles of new fiber inside the city.
  • Activation: By mid-August 2026, more than 1,600 homes and businesses were ready to activate service. Now it’s over 2,000.
  • What’s next: The multi-year project aims at about 3,000 homes, businesses, schools and community facilities. More neighborhoods are scheduled to come online as construction continues through December 2026, and engineering for Phase 2 has started.

Diagram: a CPUC Federal Funding Account last-mile grant funds the City of Ukiah, which owns the Phase 1 fiber; under a 35-year agreement Vero Fiber operates and maintains it for homes and businesses inside city limits; Phase 2 engineering is underway for future phases Who pays, who owns and who runs Ukiah’s network.

Ukiah isn’t alone in Mendocino County, either. Fort Bragg has its own city fiber network, which local coverage described in late July as nearing completion.

Why the ownership model matters

When most people think about getting fiber, they think about which company will come and build it. Ukiah split that into two questions: who owns the fiber in the ground, and who runs the service on it.

The city owns the asset. A company with the staff and systems to run an ISP operates it. I think that split is the most interesting part of this story, for a few reasons:

  1. The public money buys a public asset. The grant built fiber the city owns, rather than fiber a private company owns outright.
  2. The city doesn’t have to become an ISP. Running a network means support lines, billing, repairs at 2 a.m., and staff who know how to do all of that. Ukiah gets the network without building that operation from scratch.
  3. The agreement is long, but it ends. A 35-year term is a long time. It’s also a term, and at the end of it the city still owns the fiber.

I’m not saying this is the right model everywhere. A private build, a tribal utility or a co-op can all work, and up here several of them are in motion. But it’s an option small towns should know is on the table.

What this means for Humboldt and Trinity

Vero is no stranger to this part of the coast: it already runs fiber service in Eureka and has been building out Arcata. The rural parts of Humboldt and Trinity are a different story, and that’s where the planning work is happening right now.

The Redwood Rural Reach project, a $1 million USDA-funded effort led by Cal Poly Humboldt and Brightscape Networks, is putting together broadband plans for 23 rural communities in Humboldt and Trinity counties. Community meetings were held last week, from October 6 to 8. In the Hoopa Valley, the tribe’s utility district received about $39.7 million from the CPUC in March for a fiber project planned to reach more than 2,000 locations.

If you’re involved in any of those planning conversations, Ukiah gives you some good questions to ask:

  • Who will own the fiber once it’s built?
  • If a private operator runs it, how long is the agreement, and what happens at the end of it?
  • Will the network be available to other providers, or only one?
  • What’s the plan for repairs and support out where the nearest technician is an hour away?

When fiber reaches your street: plan the cutover

This is where I come in for most clients. Fiber arriving is great news, but switching a business from an old connection to a new one is a change like any other, and it goes better when it’s planned. Here’s the order I work in:

  1. Don’t cancel the old service yet. Keep it running until the new connection has been solid for a few weeks. Better yet, keep it as a backup connection permanently if the cost makes sense. Fiber can be cut.
  2. Bring the new line up next to the old one. If your router or firewall supports a second internet connection, add the fiber as a second link first and move traffic over once you trust it.
  3. Find everything that depends on your old public IP address. This is the step people skip, and it’s the one that causes the “why can’t I reach the cameras from home?” phone call a week later. VPNs, camera and NVR remote access, firewall allowlists at vendors, email services and DNS records can all be tied to your old address.
  4. Update DNS and allowlists, then test from outside. Check remote access from a phone on cellular, not from inside the building.
  5. Re-test after a week. Look at the evening hours and anything that runs overnight, like backups.

Find hostnames still pointing at the old IP

For step 3, list every hostname you own that might point at the office (VPN, camera access, mail and so on) in a text file, one per line. This Python script tells you which ones still resolve to the old address:

#!/usr/bin/env python3
"""List hostnames that still resolve to your old WAN IP address (IPv4 or IPv6)."""
import ipaddress
import socket
import sys

old_ip = ipaddress.ip_address(sys.argv[1])
with open(sys.argv[2]) as f:
    names = [line.strip() for line in f if line.strip() and not line.startswith("#")]

for name in names:
    try:
        addrs = {ipaddress.ip_address(info[4][0].split("%")[0])
                 for info in socket.getaddrinfo(name, None)}
    except socket.gaierror:
        print(f"{name}: does not resolve")
        continue
    if old_ip in addrs:
        print(f"{name}: still points at {old_ip}")

Run it as python3 ip_check.py 203.0.113.25 hostnames.txt, using your old address. If your old connection also had an IPv6 address, run it a second time with that address. Before you start, write down the old public IP from the router, or from curl -s https://api.ipify.org on a machine inside the office.

📝 Note: DNS changes don’t take effect everywhere at once. Records are cached for as long as their TTL says. A day or two before the cutover, I drop the TTL on the records I’m about to change to something short, like five minutes, so the switch is quick when it happens.

The bottom line

Ukiah went from a grant to fiber running to more than 2,000 homes and businesses in under a year of construction, with the city keeping ownership of what was built. That’s a useful example for North Coast towns weighing their options, and a reminder for every business owner that the day fiber shows up is the day to plan a clean cutover, not the day to cancel the old service.

If fiber is coming to your street, or you’re stuck waiting for it, we at Emerald Security are happy to help you plan either side of that.

Sources

Your next project starts here

Let’s build something that works.

A new building, a camera system for the back forty, or a network that needs a fresh start. Tell us what you’re working with — the first conversation is free.

Or email hello@emeraldsecurity.net