netbirdio/netbird · error

add DNAT rule: %w

Error message

add DNAT rule: %w

What it means

Error "add DNAT rule: %w" thrown in netbirdio/netbird.

Source

Thrown at client/firewall/nftables/manager_linux.go:573

			return fmt.Errorf("flush v6 acl: %w", err)
		}
	}

	if err := m.refreshNoTrackChains(); err != nil {
		log.Errorf("failed to refresh notrack chains: %v", err)
	}

	return nil
}

// AddDNATRule adds a DNAT rule
func (m *Manager) AddDNATRule(rule firewall.ForwardRule) (firewall.Rule, error) {
	m.mutex.Lock()
	defer m.mutex.Unlock()

	if rule.TranslatedAddress.Is6() {
		if !m.hasIPv6() {
			return nil, fmt.Errorf("add DNAT rule: %w", firewall.ErrIPv6NotInitialized)
		}
		return m.router6.AddDNATRule(rule)
	}
	return m.router.AddDNATRule(rule)
}

// DeleteDNATRule deletes a DNAT rule
func (m *Manager) DeleteDNATRule(rule firewall.Rule) error {
	m.mutex.Lock()
	defer m.mutex.Unlock()

	r, err := m.routerForRuleID(rule.ID(), (*router).hasDNATRule)
	if err != nil {
		return err
	}
	return r.DeleteDNATRule(rule)
}

View on GitHub (pinned to 93e97f4bf1)

When it happens

Trigger: Thrown at client/firewall/nftables/manager_linux.go:573 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of netbirdio/netbird@93e97f4bf1 (2026-08-16). Data as JSON: /api/errors/f5ba494ed15f74f0. Report an issue: GitHub.