No WAN Connectivity with Manual Static IP – OPNsense 25.7.1 Fresh Install

Started by machine3532, August 19, 2025, 05:57:42 AM

Previous topic - Next topic
Hi all,

I've spent the past few days trying to get WAN connectivity working with a manually assigned static IP in OPNsense and have hit a wall. I recently upgraded from an older version and noticed a significant drop in internet speeds, so I decided to do a fresh install of 25.7.1, wiping the SSD and configuring everything from scratch.

Setup:
Fresh install of OPNsense 25.7.1 from ISO on two firewalls (updated to 25.7.1_1 later).

My ISP provides two static IPs:
One manual static IP
One DHCP reservation

Using the DHCP-reserved IP works fine.
Using the static IP fails — no connectivity at all.

Sanitized IP Example:
For privacy reasons I swapped my IP for a bogon in this post.
Manual Static IP: 192.168.231.165/25
DHCP reservation: 192.168.231.162/25
Gateway: 192.168.231.129 (same for both static and DHCP IPs)

Configuration Steps:
System > Gateways > Configuration
Name: STATIC_WAN
Interface: WAN
Address: 192.168.231.129
Priority: default (255)
Saved and applied.

Interfaces > WAN
IPv4 Configuration Type: Static IPv4
IP Address: 192.168.231.165/25
Gateway: STATIC_WAN
Saved and applied.

The Problem:
No internet connectivity.
Cannot ping the gateway (192.168.231.129) — ping just hangs.
No errors or route feedback — just silence.
Switching back to DHCP brings the connection back immediately.

Interesting Observation:
If I obtain a DHCP lease first, then switch to the static configuration (same subnet), connectivity continues to work until the lease expires or is cleared. Not sure if that's a red herring, but it seems like OPNsense may be holding onto something internally (ARP cache, routing state, etc.).

Additional Notes:
The second OPNsense firewall (same ISP and subnet) also fails with the static IP.
It reports a "gateway misconfiguration" warning when configured the same way — while the first firewall shows the gateway as online, but still doesn't connect.
The static IP and gateway are known-good — I used this same static IP without issue prior to the upgrade and reinstall.

Question:
Has anyone experienced this with OPNsense 25.7+?
Is there something extra I need to configure or clear when switching to a manual static IP?

All troubleshooting was done on the home firewall, which originally had the static IP. I've since moved it to the DHCP reservation just to maintain connectivity.

Any help or ideas are greatly appreciated!

I finally figured it out. I changed the MAC address at the time of upgrading. The ARP table of the upstream router had my old MAC address which didn't match the new one. Also my two routers were plugged into a switch since the ONT only has one port. OPNsense couldn't get the MAC into the ARP table until it was plugged into the ONT directly and the ARP table of the upstream router was cleared.

The was a problem I caused.

I had a similar situation, but different circumstances with the same symptoms.  Adding my situation to this post because this was one of the few that I found that matched the symptoms I was seeing.

Upgraded to a new firewall and did a fresh install shortly after fiber became available in my neighborhood.  Had the new system set up, but with 2 WAN connections since my xfinity line was still active, and added the new fiber line from Metronet.

A week after getting it set up and it was running fine, I got a static IP address from Metronet.  I changed the interface for that line to use the static IP address, but when I changed the gateway setting for it, nothing could travel through it.  Especially weird was that I could ssh to the opnsense system, and will just the Metronet/static IP line connected, I could ping IP addresses from the WAN, but nothing in my LAN could ping outside of the LAN.

The solution for me was to create a new gateway in opnsense specifically for the static IP address instead of editing the existing DHCP gateway and changing it to a static.  Once I did that and changed the interface to use the new gateway rule instead of the edited one, it worked just fine.