No matter what I try, my Ubuntu Server machine (bare metal) won't accept router advertisements. I am able to pull an IPv6 address from DHCP, ping that address from another machine, but trying to ping back doesn't work. Neither does DNS over IPv6 (likely because it's not accepting router advertisements).
Any ideas? I've run out and exhausted my knowledge of networkd, netplan and networking in general.
As far as I can tell it's because of the kernel flag net.ipv6.conf.enp4s0.accept_ra = 0
.
- If I set the flag to 1 manually, it does nothing
- If I set the flag and reboot, it reverts to 0
- If I set the flag and run
netplan apply
, it reverts to 0
- If I set the flag and run
networkctl reload
, it stays at 1 but does nothing
- If I set the flag and run
networkctl reconfigure enp4s0
, it reverts to 0
- If I set the flag in
/etc/sysctl.conf
and reboot or sysctl -p
it stays at or reverts to 0
- If I set netplan
accept-ra: true
and run netplan apply
it stays at or reverts to 0
Here are my configurations
ethernets:
enp4s0:
dhcp4: true
dhcp6: true
accept-ra: true
version: 2
- /run/systemd/network/10-netplan-enp4s0.network
[Match]
Name=enp4s0
[Network]
DHCP=yes
LinkLocalAddressing=ipv6
IPv6AcceptRA=yes
[DHCP]
RouteMetric=100
UseMTU=true
net.ipv6.conf.enp4s0.accept_ra = 1
net.ipv6.conf.enp4s0.accept_dad = 1
net.ipv6.conf.enp4s0.accept_ra = 0
net.ipv6.conf.enp4s0.accept_ra_defrtr = 1
net.ipv6.conf.enp4s0.accept_ra_from_local = 0
net.ipv6.conf.enp4s0.accept_ra_min_hop_limit = 1
net.ipv6.conf.enp4s0.accept_ra_mtu = 1
net.ipv6.conf.enp4s0.accept_ra_pinfo = 1
net.ipv6.conf.enp4s0.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.enp4s0.accept_ra_rt_info_min_plen = 0
net.ipv6.conf.enp4s0.accept_ra_rtr_pref = 1
net.ipv6.conf.enp4s0.accept_redirects = 1
net.ipv6.conf.enp4s0.accept_source_route = 0
net.ipv6.conf.enp4s0.addr_gen_mode = 0
net.ipv6.conf.enp4s0.autoconf = 1
net.ipv6.conf.enp4s0.dad_transmits = 1
net.ipv6.conf.enp4s0.disable_ipv6 = 0
net.ipv6.conf.enp4s0.disable_policy = 0
net.ipv6.conf.enp4s0.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.enp4s0.drop_unsolicited_na = 0
net.ipv6.conf.enp4s0.enhanced_dad = 1
net.ipv6.conf.enp4s0.force_mld_version = 0
net.ipv6.conf.enp4s0.force_tllao = 0
net.ipv6.conf.enp4s0.forwarding = 0
net.ipv6.conf.enp4s0.hop_limit = 64
net.ipv6.conf.enp4s0.ignore_routes_with_linkdown = 0
net.ipv6.conf.enp4s0.keep_addr_on_down = 0
net.ipv6.conf.enp4s0.max_addresses = 16
net.ipv6.conf.enp4s0.max_desync_factor = 600
net.ipv6.conf.enp4s0.mc_forwarding = 0
net.ipv6.conf.enp4s0.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.enp4s0.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.enp4s0.mtu = 1500
net.ipv6.conf.enp4s0.ndisc_notify = 0
net.ipv6.conf.enp4s0.ndisc_tclass = 0
net.ipv6.conf.enp4s0.proxy_ndp = 0
net.ipv6.conf.enp4s0.regen_max_retry = 3
net.ipv6.conf.enp4s0.router_probe_interval = 60
net.ipv6.conf.enp4s0.router_solicitation_delay = 1
net.ipv6.conf.enp4s0.router_solicitation_interval = 4
net.ipv6.conf.enp4s0.router_solicitation_max_interval = 3600
net.ipv6.conf.enp4s0.router_solicitations = -1
net.ipv6.conf.enp4s0.seg6_enabled = 0
net.ipv6.conf.enp4s0.seg6_require_hmac = 0
net.ipv6.conf.enp4s0.suppress_frag_ndisc = 1
net.ipv6.conf.enp4s0.temp_prefered_lft = 86400
net.ipv6.conf.enp4s0.temp_valid_lft = 604800
net.ipv6.conf.enp4s0.use_oif_addrs_only = 0
net.ipv6.conf.enp4s0.use_tempaddr = 0