IPv6: enable RA routes on secondary interfaces by hopkiw · Pull Request #160 · GoogleCloudPlatform/guest-agent

1 min read Original article ↗

Tested working, output from secondary interfaces block:

DEBUG main.go:248 exec: /usr/bin/systemctl list-units --all sshd.service
DEBUG instance_setup.go:289 write guest attribute "guest-agent/sshable"
DEBUG addresses.go:305 Enable network interfaces
DEBUG main.go:248 exec: /usr/sbin/dhclient ens5
DEBUG main.go:248 exec: /usr/sbin/sysctl net.ipv6.conf.ens5.accept_ra_rt_info_max_plen=128
DEBUG main.go:248 exec: /usr/sbin/dhclient -6 ens5

and correct routes were added:

$ ip -6 r
::1 dev lo proto kernel metric 256 pref medium
2600:1901:ffb0:7842:: dev ens4 proto kernel metric 256 pref medium
2600:1901:ffb0:7842::/65 via fe80::4001:aff:fe03:1 dev ens4 proto ra metric 1024 expires 66sec pref medium
2600:1901:ffb0:fe69:: dev ens5 proto kernel metric 256 pref medium
2600:1901:ffb0:fe69::/65 via fe80::4001:aff:fe01:1 dev ens5 proto ra metric 1024 expires 66sec pref medium
fe80::/64 dev ens5 proto kernel metric 256 pref medium
fe80::/64 dev ens4 proto kernel metric 256 pref medium
default via fe80::4001:aff:fe03:1 dev ens4 proto ra metric 1024 expires 66sec pref medium

The route entries with proto ra were provided by RA daemon and handled by the kernel, as permitted by this sysctl change. The proto ra entry for ens5 was not present prior to this PR