Bug #15800
closedGateway of a disabled interface cannot be configured in System > Routing or Dynamic DNS
0%
Description
Scenario: An interface and gateway are configured, and the gateway is added to a gateway group. The interface is then disabled.
The system log will contain messages similar to:
/rc.filter_configure_sync: The gateway: WAN_GW is invalid or unknown, not using it. /rc.newwanip: The gateway: WAN_GW is invalid or unknown, not using it.
Attempting to disable with gateway will give an error that it is used by gateway groups.
The gateway groups do not show the gateway, so it cannot be removed.
The interface must be re-enabled in order to remove the gateway from the gateway group and disabled the gateway.
The system log shows that Dynamic DNS is trying to update the entries that are associated to the disabled interface:
rc.dyndns.update: Dynamic DNS (<redacted>) There was an error trying to determine the public IP for interface - wan (ix3 ).
The Dynamic DNS Status widget shows wan instead of WAN for the interface name.
In the Dynamic DNS Clients list, the entry shows no Interface.
When editing the Dynamic DNS Client, the Interface to monitor defaults to LAN, and the disabled interface is not an option.
There seems to be an inconsistency in how disabled interfaces and their associated gateways are treated; The disabled interface and gateway are no longer configurable in the GUI, but some processes still try using the disabled interface and gateway
If the interface and gateway are still actively being used by various background processes, then what is the harm in leaving it accessible as an option in the various GUI sections? I think it would be more intuitive to have the disabled interface and gateway remain configurable in the GUI than to have the functionality of some GUI pages break or change, and the GUI dependencies on interfaces/gateways are not obvious.
On the flip side, background processes should NOT process interfaces or gateways that are down/disabled, as it creates further confusion by generating errors in the logs for something that is disabled and should be inactive.