Advertisement
alynna

IPv6.sh for stateful config from router advertisements

Sep 17th, 2017
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.13 KB | None | 0 0
  1. #!/bin/bash
  2. #IPv6.sh - RA allocation version
  3.  
  4. # IFACE is our public facing ethernet interface.
  5. EXT=eth0
  6. FORWARD=0
  7. IPV6SUFFIX=:0f04:de5:1925:80
  8.  
  9. # Needs router discovery v6
  10. if [ ! $(which rdisc6) ]; then apt install ndisc6; done
  11.  
  12. # Do not accept router advertisements.
  13. # We will request them manually.
  14. sysctl -w net.ipv6.conf.all.disable_ipv6=1
  15. sysctl -w net.ipv6.conf.all.disable_ipv6=0
  16. sysctl -w net.ipv6.conf.all.accept_ra=0
  17. sysctl -w net.ipv6.conf.default.accept_ra=0
  18. sysctl -w net.ipv6.conf.$EXT.accept_ra=0
  19. # Wait for IPv6 to be ready.
  20. sleep 2
  21.  
  22. # Get router information
  23. rdisc6 -1 $EXT > /tmp/ipv6info
  24. IPV6PREFIX=`cat /tmp/ipv6info | grep Prefix | cut -d':' -f2- | cut -d' ' -f2 | cut -d':' -f1-4`
  25. IPV6ROUTER=`cat /tmp/ipv6info | grep from | cut -d' ' -f3`
  26.  
  27. echo "IPv6 prefix detected: $IPV6PREFIX"
  28. ip -6 addr replace ${IPV6PREFIX}${IPV6SUFFIX} dev $EXT home
  29. echo "IPV6 address added to external interface $EXT: ${IPV6PREFIX}${IPV6SUFFIX}"
  30. echo -n $IPV6PREFIX > /etc/ipv6-network
  31.  
  32. # And make the default route semi-permanent
  33. echo "IPv6 gateway set: $IPV6ROUTER"
  34. ip -6 route replace default via $IPV6ROUTER dev $EXT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement