33 lines
824 B
Bash
Executable File
33 lines
824 B
Bash
Executable File
#!/bin/sh
|
|
# Configura este nodo como un router IPv6
|
|
# Ver http://wiki.hackcoop.com.ar/LibreVPN:IPv6
|
|
set -e
|
|
|
|
# Obtener la interfaz de la ruta por defecto
|
|
4to6="$(ip -6 route show default |
|
|
grep -o "dev [a-z0-9]\+" |
|
|
cut -d" " -f2)"
|
|
|
|
# Si no hay ruta por defecto, salir
|
|
test -z "${4to6}" && exit 0
|
|
|
|
# Aunque sysctl soporta shell-expansion, si hay varias interfaces de
|
|
# salida estamos cagados.
|
|
# sysctl net.ipv6.conf.{${NETWORK},${4to6}}.forwarding=1
|
|
|
|
case $1 in
|
|
up)
|
|
# Habilitar forwardeo de IPv6 entre la interfaz de la VPN y la de salida
|
|
for dev in ${INTERFACE} ${4to6}; do
|
|
sysctl -w net.ipv6.conf.${dev}.forwarding=1
|
|
done
|
|
|
|
# Habilitar forwardeo en ip6tables
|
|
command ip6tables &>/dev/null &&
|
|
ip6tables -A FORWARD -j ACCEPT
|
|
;;
|
|
down)
|
|
# TODO deshacer o no deshacer?
|
|
;;
|
|
esac
|