Since static IPv6 on Solaris 9 wasn't fun enough on its own, it turns out that my Solaris 9 servers start losing a lot of IPv6 packets after a reboot. The problem appears to be in.ndpd (what should be the IPv6 neighbor discovery protocol daemon, but appears primarily to be IPv6 routing instead), and syslog reports in.ndpd[PID]: [ID 302683 daemon.error] router_add_k: RTM_ADD (interface bge0): Network is unreachable RTM_ADD every 1 to 5 minutes.
The fix is to shut down IPv6 (it's not working anyway, so go ahead) and then restore IPv6; the only difference is that in.ndpd isn't running. However, just TERMinating in.ndpd isn't enough for IPv6 traffic to flow freely. Try this instead:
# kill in.ndpd
ps -ef | grep ndp
sudo kill -TERM 11292
# bring down the IPv6 interfaces
sudo ifconfig -a6
sudo ifconfig bge0:1 inet6 down unplumb
sudo ifconfig bge0 inet6 down unplumb
sudo ifconfig lo0 inet6 down unplumb
# flush IPv6 routes
sudo route flush -inet6
# verify that IPv6 is gone
sudo ifconfig -a6
netstat -nr
# restore IPv6 interfaces
sudo ifconfig lo0 inet6 plumb up
sudo ifconfig bge0 inet6 plumb up
sudo ifconfig bge0:1 inet6 plumb up your:ipv6:address::here/64
# verify interfaces
sudo ifconfig -a6
sudo ifconfig -a
# restore default IPv6 route
sudo route add -inet6 default your:ipv6:default:router::here
# verify route table
netstat -nr
I'm trying to stay off my diatribe soap box here, but I'm happy that Solaris 9 will be replaced with RHEL 6 in the coming months.
No comments:
Post a Comment