QuickSet uses 0.0.0.0 for DHCP server network

I just bought my first Mikrotik router and it’s CCR2004-1G-12S+2XS.
Installed RouterOS 7.16 (Stable)
Installed WinBox 4.0beta9 on MacOS
Configured router with “QuickSet” (see attachment)
Applied.
And router appears to be working ok and have internet connection, but connected device (laptop) - no connectivity.
While troubleshooting, I found that DHCP server network set incorrectly:

/ip dhcp-server network print
Columns: ADDRESS, GATEWAY, DNS-SERVER
# ADDRESS     GATEWAY  DNS-SERVER
0 0.0.0.0/24  0.0.0.0  0.0.0.0

Is it WinBox bug? Or am I doing something incorrectly?

I fixed the issue by setting correct network for DHCP server, so I don’t need help with that.
Screenshot 2024-10-10 at 17.53.03.png

Could be a Quickset bug.
Or did you use quickset after already having made some changes ?
That’s a big no-no.
Only use Quickset ONCE right after reset, never touch it again afterwards since it can really mess with settings you changed via webfig/winbox/ssh/…

Or … winbox4 bug.
Do you have the same issue using winbox3 ?
It will require to reset again and start over to check this.

Most seasoned users never touch quickset (or once right after reset to gain some time).

Nothing wrong with using QuickSet for initial setup. It gets the basic stuff done. The thing you observed may be a bug in QuickSet. In my first days of Mikrotik (2020s) I also observed a bug in QuickSet. When you changed “IP Address” in QuickSet to something different than the default 192.168.88.1, Quickset was too dumb to change all places where 192.168.88.1 was used. So it kept DNS-Server=192.168.88.1 in DHCP-Server network config thus leaving the device in an inoperable state. I had to manually adjust that. And it was reproducible every time after a configuration reset. I reported that to Mikrotik Support, they acknowledged it as usual with their words “we can reproduce this. yeah, but we can’t tell you an ETA when it’s gonna be fixed”. I guess it is fixed as of today, but I think it took like 2 years to fix this little (to me probably looking like a XS bug that a junior developer can fix) gotcha.

Sooooooo, nothing wrong when using QuickSet. But you have to review by looking at “/export” what this magic wand actually did.

PS:
I looked that up.

What's new in 7.7 (2023-Jan-12 09:35):

*) quickset - update DNS server IP address when changing router's IP address;

I reported that bug on “02. April 2021”. But it existed before.

I think QuickSet is not supposed to work with CCR devices. CCR devices have an “IP Only” initial configuration and must be configured by hand:

https://help.mikrotik.com/docs/display/ROS/Default+configurations#Defaultconfigurations-IPOnly

Quote from https://help.mikrotik.com/docs/display/ROS/Quick+Set

Quickset is available for all devices that have some sort of default configuration from factory. Devices that do not have configuration must be configured by hand.

Good job, Mikrotik! Exposing QuickSet on unsupported devices. Genius!

So, it’s a QS bug :laughing:

It’s a mix of a bug, stubbornness, and poor or missing documentation. In slavikf’s screenshot, you can see the quickset mode is called “Ethernet.” This mode isn’t mentioned in MikroTik’s Quick Set documentation. I’m not sure if the CCR2004-1G-12S+2XS comes with a default configuration, but I think CCR devices usually don’t have one. The whole thing is really strange.

Actually, that was also my impression: everything CCR needs to be configured from scratch.

Another case of MT staff dont use the equipment they sell, should have been discovered long ago.
OR
Their test process is flawed, take your pick.

That’s really taking a shortcut …
In all fairness: it’s common knowledge CCR is to be setup from scratch.
It’s even in the user guide you should use Webfig or Winbox for first setup. Nowhere quickset is being mentioned.

It’s impossible to test for all cases a device is NOT intented to be used for.
Who looks at quickset then ?
They are not putting it in a laundry machine either, do they ?

It’s a bug and it should already have been removed somewhere after the report from April 2021.

You must be joking.
If I had one euro for each thing (command/setting/reference/whatever) that exists in router OS or on the device that is not mentioned anywhere (and certainly not on the related documentation) I wouldn’t be rich, but certainly I would be much better off.

Only as a (completely unrelated) example yesterday I was trying to understand whether the mAp 2nd had a mode button, and the ONLY reference I could find (if you can call it a reference) is the product photo, on which the button on the side is marked RESET/MODE. (no reference to the mode button on the product page, nor in the manual, let alone quickstart guide).

Now, try searching for “RESET/MODE” …

Absence of evidence is not evidence of absence.

Nowhere quickset is being mentioned.

This is Mikrotik speak. Every time you do something that leads to instability or some obscur behaviour, you report it on the forum and sometimes someone from Mikrotik staff answers like this: “we’re not responsible for your misconfiguration”

Yeah, like laundry machine vendors who were forced to include in their manual those devices can not be used to put pets inside for washing or they got swamped with lawsuits because it wasn’t mentioned.
That really happened.

Let’s keep it serious, shall we ?
It’s a quickset bug which shouldn’t be there to begin with on CCR-line.

To catch up your laundry machine sample.

It’s like buying a new washing machine that has a “quick-wash” program. You use it, but after the machine finished, you realize your clothes weren’t rinsed. Then someone tells you, “Of course! This model isn’t meant to use the quick-wash function, even though there’s a button for it. Just ignore it.”

Who is going to by CCR class router and not have to schmucks about how to program it?
I think MT should require proof of MTCNA prior to purchase :wink:
( says the guy who bought a CCR1009 without any schmucks, truth be told I cut my teeth on two hex’s, capac and RBG450G. )

Obviously semeone who has bucks to spare on a few “MT devices for dummies” :wink:

Regardless what forum denizens think… QuickSet should work reliably. And it’s useful - instead of visiting 5-10+ dialogs/CLI cmds, you can get a router online with IP and routing in ONE screen. And, the CCR2004-1G-12S+2XS’s website suggests as much:

The “Improvise. Adapt. Overcome.” mindset can be very helpful, but sometimes you simply need a device that works and > solves the problem without additional tinkering> .

Not everyone use cases are same… and not everyone may want to be an expert on RouterOS. There are lot of cases where you need high-speed local switching, but perhaps with a modest sized upstream internet connection… and a CCR2004-1G-12S+2XS be might be choice. i.e. you just want one WAN, and NAT rules, and some default management network that uses it to start.

But it’s hard to blame the user here. And just to confirm, yes, it’s “was” a bug and fixed. But … the fix depending on the exact install steps I suspect. So in that sense it’s still a bug — since the whole idea is QuickSet should “just work” to initially configure a router.

Underlying issue is QuickSet expects the /system/default-configuration installed to match that same RouterOS version. But when you upgrade RouterOS, it does NOT re-apply the default-configuration - since you have a config. And if the default configuration Mikrotik uses changes between release (and it does), QuickSet can, sometimes, no longer “find” the right items to update, since default-configuration is still based on the older version’s factory applied (or last netinstall) defaults…

The obvious catch-22, is the factory-installed default-configuration might very well have the “DHCP 0.0.0.0 network” bug. So using QuickSet before upgrading may not work. And OP totally reasonably upgraded, then after upgrade, ran QuickSet - which also didn’t work since defaults were based on older version…

Installed RouterOS 7.16 (Stable)
Installed WinBox 4.0beta9 on MacOS
Configured router with “QuickSet” (see attachment)
Applied.

… while we don’t know what factory version, it likely we have QuickSet using 7.16 trying to modify perhaps a 7.8-based default-config … and I believe the DHCP 0.0.0.0 “fix” depends on all the versions aligning. And certainly older RouterOS did have the 0.0.0.0 dhcp-network bug.

So if before QuickSet is used, the newer factory default is applied as the current config… then QuickSet likely avoid the 0.0.0.0.

/system/reset-configuration no-defaults=no keep-users=yes

or… pressing the reset button 5-10 while powering also causes the default configuration from the currently installed RouterOS to get applied.

This won’t work, because from the link that I posted above, the default configuration for CCR routers does almost nothing, and only adds 192.168.88.1/24 to ether1:

https://help.mikrotik.com/docs/display/ROS/Default+configurations?preview=/167706788/234914117/ccr.txt#Defaultconfigurations-IPOnly

Here is the script section for non-CAPS-mode:


# 2024-02-09 08:47:35 by RouterOS 7.13.4
# software id = ES9Q-80CK
#
            script: #| Welcome to RouterOS!
                    #|    1) Set a strong router password in the System > Users menu
                    #|    2) Upgrade the software in the System > Packages menu
                    #|    3) Enable firewall on untrusted networks
                    #| -----------------------------------------------------------------------------
                    #| LAN:
                    #|     IP on ether1:    192.168.88.1/24;
                    
                    :global defconfMode;
                    :log info "Starting defconf script";
                    #-------------------------------------------------------------------------------
                    # Apply configuration.
                    # these commands are executed after installation or configuration reset
                    #-------------------------------------------------------------------------------
                    :if ($action = "apply") do={
                      # wait for interfaces
                      :local count 0;
                      :while ([/interface ethernet find] = "") do={
                        :if ($count = 30) do={
                          :log warning "DefConf: Unable to find ethernet interfaces";
                          /quit;
                        }
                        :delay 1s; :set count ($count +1); 
                      };
                    /ip address add address=192.168.88.1/24 interface=ether1 comment="defconf";
                    }
                    #-------------------------------------------------------------------------------
                    # Revert configuration.
                    # these commands are executed if user requests to remove default configuration
                    #-------------------------------------------------------------------------------
                    :if ($action = "revert") do={
                     :if (!($keepUsers = "yes")) do={
                       /user set admin password=""
                       :delay 0.5
                       /user expire-password admin 
                     }
                     /system routerboard mode-button set enabled=no
                     /system routerboard mode-button set on-event=""
                     /system script remove [find comment~"defconf"]
                     /system health settings set fan-full-speed-temp=65C fan-target-temp=58C fan-min-speed-percent=0% fan-control-interval=30s
                     /ip firewall filter remove [find comment~"defconf"]
                     /ipv6 firewall filter remove [find comment~"defconf"]
                     /ipv6 firewall address-list remove [find comment~"defconf"]
                     /ip firewall nat remove [find comment~"defconf"]
                     /interface list member remove [find comment~"defconf"]
                     /interface detect-internet set detect-interface-list=none
                     /interface detect-internet set lan-interface-list=none
                     /interface detect-internet set wan-interface-list=none
                     /interface detect-internet set internet-interface-list=none
                     /interface list remove [find comment~"defconf"]
                     /tool mac-server set allowed-interface-list=all
                     /tool mac-server mac-winbox set allowed-interface-list=all
                     /ip neighbor discovery-settings set discover-interface-list=!dynamic
                       :local o [/ip dhcp-server network find comment="defconf"]
                       :if ([:len $o] != 0) do={ /ip dhcp-server network remove $o }
                       :local o [/ip dhcp-server find name="defconf" !disabled]
                       :if ([:len $o] != 0) do={ /ip dhcp-server remove $o }
                       /ip pool {
                         :local o [find name="default-dhcp" ranges=192.168.88.10-192.168.88.254]
                         :if ([:len $o] != 0) do={ remove $o }
                       }
                       :local o [/ip dhcp-client find comment="defconf"]
                       :if ([:len $o] != 0) do={ /ip dhcp-client remove $o }
                     /ip dns {
                       set allow-remote-requests=no
                       :local o [static find comment="defconf"]
                       :if ([:len $o] != 0) do={ static remove $o }
                     }
                     /ip address {
                       :local o [find comment="defconf"]
                       :if ([:len $o] != 0) do={ remove $o }
                     }
                     :foreach iface in=[/interface ethernet find] do={
                       /interface ethernet set $iface name=[get $iface default-name]
                     }
                     /interface bridge port remove [find comment="defconf"]
                     /interface bridge remove [find comment="defconf"]
                     /interface bonding remove [find comment="defconf"]
                     /interface wireless cap set enabled=no interfaces="" caps-man-addresses=""
                      /caps-man manager set enabled=no
                      /caps-man manager interface remove [find comment="defconf"]
                      /caps-man manager interface set [ find default=yes ] forbid=no
                      /caps-man provisioning remove [find comment="defconf"]
                      /caps-man configuration remove [find comment="defconf"]
                      /caps-man security remove [find comment="defconf"]
                    }
                    :log info Defconf_script_finished;
                    :set defconfMode;

There is no bridge, no DHCP server, no DHCP network, … Which means if QuickSet wants to work correctly, it has to create those itself.