Enabling ICMP redirects through set firewall send-redirects enable does its job by setting the appropriate kernel parameter:
admin@vyos# sysctl -a | grep send_redirects net.ipv4.conf.all.send_redirects = 1 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.eth0.send_redirects = 0 net.ipv4.conf.eth1.send_redirects = 0 net.ipv4.conf.eth2.send_redirects = 0 net.ipv4.conf.eth3.send_redirects = 0 net.ipv4.conf.lo.send_redirects = 1 net.ipv4.conf.wg0.send_redirects = 0
However, no ICMP redirects get sent from the router.
Before having access to the LTS release, I was doing some testing with the rolling release (VyOS 1.4-rolling-202210090955) with the exact same configuration (with the version specific config syntax of course) and ICMP redirects worked perfectly fine.
Checking for differences between LTS and rolling release, I noticed that the kernel parameters look very different and I'm not sure if this is intentional.
With the rolling release, after set firewall send-redirects enable and commit they look like this:
net.ipv4.conf.all.send_redirects = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.eth0.send_redirects = 1 net.ipv4.conf.eth1.send_redirects = 1 net.ipv4.conf.eth2.send_redirects = 1 net.ipv4.conf.eth3.send_redirects = 1 net.ipv4.conf.lo.send_redirects = 1 net.ipv4.conf.wg0.send_redirects = 1
Rebooting the router changes them to this:
net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.eth0.send_redirects = 1 net.ipv4.conf.eth1.send_redirects = 1 net.ipv4.conf.eth2.send_redirects = 1 net.ipv4.conf.eth3.send_redirects = 1 net.ipv4.conf.lo.send_redirects = 1 net.ipv4.conf.wg0.send_redirects = 0