Invalid Arp Entries in 7.4 version

Hi to All,

I’ve updated the main router in my school this week from the 6.x to last 7.x version (7.4) and I’ve started noticing some problem that I haven’t noticed in my lab environment:

I’m using from many years the “reply-only” arp option on the interfaces of the laboratories of my school, to increase the security, assigning all the ips from the mikrotik’s dhcp (static leases), and with the 6.x version, and previous versions, have ever worked perfectly.
Now the “reply-only” option seam still working, but I’ve some problem on the arp table: many of the record of the table from those interfaces are marked as invalid, like this one:
mikrotik_arp_problem_example.png
I’ve tried deleting one of those invalid records from the arp table and made the computer to do a new dhcp request. I can see the leases on the dhcp server that is bound, but nothing appear on the arp table for that device.
I’ve double checked in the dhcp server configuration and the “Add ARP for leases” option is flagged.

Here’s are part of the configuration of one of the interfaces and the relative dhcp server:

/interface vlan
add arp=reply-only interface="LAN (sfp-sfpplus2)" name="lab_6 (24)" vlan-id=24
/ip dhcp-server
add add-arp=yes authoritative=after-2sec-delay interface="lab_6 (24)" \
    lease-time=3d name=lab_6
/ip dhcp-server network
add address=10.1.24.0/23 dns-server=10.1.100.101,10.1.100.102,10.1.24.254 \
    gateway=10.1.24.254 netmask=23 wins-server=10.1.100.102
/ip dhcp-server lease
add address=10.1.25.8 comment="igroove - L33-PC08" mac-address=\
    xx:xx:xx:xx:xx:xx server=lab_6

Does something have changed on this arp/dhcp server part in the 7.x releases? Could be a bug?

Thanks to all
Best regards
Daniele

I have the same problem with version 7.7

Same problem too. Searched a little after upgrading from 6.4 why hotspot was not working…
Is there a solution except set enable arp on interface?

hello
the same for me but it happens from time to time. all arp are invalid. devices are getting dhcp but have no internet access.
I was tryiung to make supout file but each time ccr is been rebooting after 32%.
I use hotspot on the bridge where bonding and vlans are setupped. and I had no such issue before upgrading from 6 ROS to 7

I also had the same problem on version 7.9 when I turned on Reply-only ARP, then the Hotspot login page didn’t work, I checked the ARP table and it said Invalid

do you have to try reboot your router? maybe will work for you

Seem still the same in 7.11

Issue still there in 7.11
Anyone have it running in 7.x ? Can’t mikrotik fix this ?

Didn’t see anything related in 7.12RC changelog…so should still be there in 7.12

Had the similar problem with 7.12.1 on RB952Ui (MIPSBE) but not C53UiG (arm64). The reboot fixed invalid static entries, as they became valid.

SUP-137777 (cool number)

Still the same with 7.13

Same on 7.13.1

Except this time the ARP record remains invalid even after a reboot. To get this fixed I had to remove and re-add the entry. Rebooted after each action, for good measure.

Smooth upgrade from 7.13.1 to 7.13.2: the static ARP record was not marked as invalid. Fixed?

For me, the problem seems to occur immediately after the hotspot user appears in the active list. As a workaround, disabling the ARP entry and then enabling it using the following hotspot user-profiles On-Login script has solved the problem for now.

:local arplist [/ip arp find where disabled =no]
:foreach i in=$arplist do={
  if ([/ip arp get $i address] = $address) do={
/ip arp disable $i
/ip arp enable $i
}
}

To add the script to all Hotspot users (removes current On-Login scripts):

updated below

The above script works only for static ARP entries. A workaround for dynamic entries is to disable and enable add-arp-for-leases on the DHCP server.
Here is a script that works for both (removes current On-Login scripts):

/ip hotspot user profile set [find] on-login="Fix_arp_schedule"


/system script add dont-require-permissions=no name=Fix_arp owner=admin policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":lo\
    cal darplist [/ip arp find where invalid=yes and dynamic=yes]\r\
    \nif ( [:len \$darplist] > 0 ) do={ \r\
    \n:log info [:len \$darplist]\r\
    \n:local dlist [/ip dhcp-server find where add-arp=yes and disabled=no]; \r\
    \n/ip dhcp-server set \$dlist add-arp=no; \r\
    \n/ip dhcp-server set \$dlist add-arp=yes; }\r\
    \n\r\
    \n\r\
    \n:local sarplist [/ip arp find where invalid=yes and dynamic=no and disable\
    d=no]\r\
    \nif ( [:len \$sarplist] > 0 ) do={ \r\
    \n/ip arp disable \$sarplist;\r\
    \n/ip arp enable \$sarplist;\r\
    \n}"

/system script add dont-require-permissions=no name=Fix_arp_schedule owner=admin policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/\
    system scheduler add name=Fix_arp interval=00:00:01 on-event=\"/system sch\
    eduler remove Fix_arp;/system script run Fix_arp;\""
    
/system scheduler add disabled=no interval=5s name=FixArp on-event=Fix_arp policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon

The 7.13.2 → 7.13.3 upgrade broke the ARP record, it’s “invalid” upon the first boot. Had to delete the record, reboot, and add then re-add it.

The 7.13.3 → 7.13.4 upgrade broke the ARP record, it’s “invalid” upon the first boot. Toggling the enabled status fixed the issue.

What’s new in 7.16beta7 (2024-Jul-25 12:55):
*) arp - fixed possible issue with invalid entries;

Still not working for me on 7.16rc4 when using Hotspot with interfaces that have reply-only ARP, I still get invalid entries.

Still not working on final 7.16…frustating