Yes, I recognize that it can be disabled. It still consumes resources, as far as I can tell.
I also wonder what other modules are now compiled in, such as calea, that I definitely do not want anywhere near any system of mine.
One of the nicer features or RouterOS was its configurability. This change does not seem a positive move.
I think he’s just saying that when certain things were modular they were presumably guaranteed to not be loaded into RAM, whereas when they are built into the kernel on v7 (or whatever the appropriate term is for how they’re included, baked in, non-optional, etc) then they are implicitly taking up some RAM that might otherwise be saved. Maybe he’s on an older device or on that is more RAM-limited.
I would say to the OP that HeX (750Gr3) routers are extremely cheap (~$50 in the US, probably similarly cheap elsewhere) and have 256GB of RAM, a glut even for many Mikrotik devices, since they can run The Dude. Even with Dude running in most instances it still has a lot of RAM to spare.
More precisely, they could not be loaded, at all, as the code was not present in the box.
So no risk of an unknown exploit activating and exploiting the unneeded code.
I’m pretty sure that even in ROS v6, where IPv6 was separate package, kernel shiped in system package had IPv6 support included[*]. What ipv6.npk package added were configuration parsers and utilities … and perhaps change in kernel boot parameters and/or sysctl settings. Which can be (or even are) handled by setting mentioned by @tdw above. So the only benefit of having separate ipv6 package is inability to configure IPv6, but if there’s exploit in the wild that can compromise router without relying on configuration tools, it could do its job even in ROS v6 without ipv6.npk installed.
OTOH it’s about time for just everybody to support dual stack (IPv4 and IPv6) and security (through obscurity) should not be excuse. Specially so as installing ipv6 package on ROS v6 after initial deployment meant big hassle to get decent IPv6 firewall in place (there are different ways, none of them are easy). Having IPv6 installed by default makes this part much easier, specially for less experienced MT users.
[*] I might be wrong and ipv6 kernel module is actually included in ipv6.npk … feel free to verify and prove my thinking wrong. Personally I don’t care and thus won’t check myself.
Basic tenet of security. Enable what you use, disable what you don’t.
Every unnecessary function you enable adds potential vulnerability’s.
IPv6 evangelists aside, the need for IPv6 is dubious at best. For me at least it is absolutely unnecessary.
It’s less efficient than ipv4. It’s more complex than ipv4. ipv6 tunneled over IPv4 is the worst of both worlds.
It offers as its justification “universal connectivity”.
That is simply an alternative statement of “universal vulnerability”.
Worse it builds in auto configuration. So if some device on the network tries to bypass the blocks that exist to limit “universal vulnerability” the ipv6 functions will actively assist in bypassing those blocks.
On ipv4 those “features” are add-ons to the protocol and can be disabled.
If the kernel command line was an accessible property of routeros, I’d be less unhappy, since Linux does properly honer ip6disable=1 on the kernel command line, and will block
attempts to start ipv6. Other “blocks” can be overwritten from the running system.
I’m also disgusted to note that the service ports menu on ip firewall is now effectively useless, as any attempt to disable a service port simply gets the message that that is a built in and cannot be disabled.
Wonderful
Maybe you should bring the “enable IPv6 once it is disabled” under the “need to press button within a minute” dance?
That would maybe satisfy him that a remote hacker cannot re-enable IPv6 when he has disabled it.
Yes, indeed it is an irritating bug that installing or enabling an optional package that wasn’t enabled on the first router boot will not apply default configuration.
It mostly affects IPv6. Most users will power-up the router, start configuring it, after some time notice that IPv6 is disabled (in v6), enable it, and then they have no firewall.
Of course the correct sequence of installation of a new device is:
make minimal connection to internet (preferably behind another router, e.g. connect ether1 to a LAN that has DHCP and NAT access to internet)
login and set password
enable IPv6 package
perform upgrade to latest stable release (reboot)
upgrade firmware too
do a full reset to defaults except user info (reboot)
only now, start real configuration work
But that is not what it says on the short leaflet in the box, so who is going to do it that way?
Those helpers are not separate modules that can be unloaded like the rest. They are built into connection tracking, so they can be inactive only when connection tracking itself is disabled.
But that is insider technical info for someone who knows how helper modules are enabled/disabled which is not obvious for people like Shoka who simply want to disable everything they do not use or do not understand…
When you think “I do not use dccp, let’s disable that” you do not know beforehand “disabling a service port in the firewall menu means unloading the helper module, and that cannot be done when the helper isn’t a module”.
Basically allow damaged data into the system and hope that the upper layers can cope…
Not used anywhere in my network, and any application requiring it probably needs banning as well.
Of interest only in VOIP networks.
I segregate the VOIP network from the general network because of the
dubious security of a slew of voice protocols.
The voice router may need this but the others do not.
Largely obsolete, replaced by other protocols like https://en.wikipedia.org/wiki/XMPP that use tcp or http as the underlayer.
Commonly used as the command channel for a number of bot-nets. Disable unless you have a “real” need for the protocol.
So far I don’t.
Some voice and games traffic. No requirement on my network, never seen it on the uplink. Nothing breaks if I shut it off.
What I’m struggling with, is that Linux provides a pretty strong modularization suite, that v6 used to great effect.
The regression to essentially a monolithic kernel. with all the unneeded shit built in is really really sad.
I’m guessing that race to the bottom is driven by the need to cater to the ignorant newbies.