Routed network proxy_ndp issue

Host: Ubuntu 22.04

Error: Failed to start device “eth1”: Routed mode requires sysctl net.ipv6.conf.eno4.proxy_ndp=1

sysctl.conf
net.ipv6.conf.default.autoconf=1
net.ipv6.conf.eno4.autoconf=1
net.ipv6.conf.all.proxy_ndp=1
net.ipv6.conf.eno4.proxy_ndp=1

A sysctl -p or sysctl net.ipv6.conf.eno4.proxy_ndp=1 solves the problem.
Though net.ipv6.conf.eno4.proxy_ndp=1 is in sysctl.conf, after host reboot it doesnt apply:

sysctl -a | grep net.ipv6.conf.eno4.proxy_ndp
net.ipv6.conf.eno4.proxy_ndp = 0

I guess, it probabely is netplan, i tried sofar accept-ra: true/false and

also sysctl.d/ ipv6 privacy
net.ipv6.conf.default.use_tempaddr=0/1/2/
net.ipv6.conf.all.use_tempaddr=0/1/2
net.ipv6.conf.eno4.use_tempaddr=0/1/2
with no result sofar.

The old /etc/network/interfaces had an option autoconf 1, i dont know what the replacement is in netplan.

I think you need to use systemd-sysctl service to apply at boot

Thanks Thomas.
Indeed, sysctl runs too early and something, probabely netplan messing around with it.

Bug #50093 “Some sysctls are ignored on boot” : Bugs : procps package : Ubuntu (launchpad.net)

Bug #1771222 “Using sysctl to permanently disable IPv6 doesn’t h…” : Bugs : linux package : Ubuntu (launchpad.net)

Any action scheduling another sysctl -p at a later schedule would resolve.
It can be as you mentioned:

  1. creating a new systemd
  2. GRUB_CMDLINE_LINUX_DEFAULT=“net.ipv6.conf.iface_name.proxy_ndp quiet splash”
  3. CRONTAB: @reboot root sleep 5 && sysctl --system