34 lines
944 B
Bash
Executable File
34 lines
944 B
Bash
Executable File
#!/bin/sh
|
|
# Intentar lograr que el router de la LAN donde estemos abra los
|
|
# puertos, con NAT-PMP y UPnP. **Tip**: configurar el nodo para usar
|
|
# puertos altos (>1024)
|
|
|
|
HOST_FILE="hosts/${NAME}"
|
|
# Obtener el puerto local
|
|
PORT=$(grep "^Port" "${HOST_FILE}" |
|
|
cut -d"=" -f2 |
|
|
tr -d " ")
|
|
# Obtener la IP de salida
|
|
IP=$(ip route get 8.8.8.8 |
|
|
grep -o "src .*" |
|
|
cut -d " " -f 2)
|
|
|
|
# Asegurarse que haya un puerto
|
|
PORT=${PORT:-655}
|
|
|
|
case $1 in
|
|
up)
|
|
# Pasar a segundo plano para no hacer esperar a tincd
|
|
natpmpc -a ${PORT} ${PORT} tcp 999999999999 &
|
|
natpmpc -a ${PORT} ${PORT} udp 999999999999 &
|
|
upnpc -a ${IP} ${PORT} ${PORT} tcp 999999999999 &
|
|
upnpc -a ${IP} ${PORT} ${PORT} udp 999999999999 &
|
|
;;
|
|
down)
|
|
natpmpc -a ${PORT} ${PORT} tcp 0 &
|
|
natpmpc -a ${PORT} ${PORT} udp 0 &
|
|
upnpc -a ${IP} ${PORT} ${PORT} tcp 0 &
|
|
upnpc -a ${IP} ${PORT} ${PORT} udp 0 &
|
|
;;
|
|
esac
|