• Hacer que una interfaz de OpenWrt use la IP de otra interfaz como gateway

    Si queremos que una interfaz de OpenWrt (por ejemplo intlanit) no utilice la interfaz WAN como gateway y, por ejemplo, salga a internet por la interfaz WWAN, podemos hacer lo siguiente:

    Creamos el script para actualizar el gateway de la interfaz intlanit:

    nano /etc/hotplug.d/iface/99-intlanit-gw

    y le metemos dentro el siguiente texto:

    #!/bin/sh
    # Actualiza la puerta de enlace de intlanit con la IP de intwwan cuando esta última conecta
    
    [ "$ACTION" = "ifup" ] || [ "$ACTION" = "ifupdate" ] || exit 0
    [ "$INTERFACE" = "intwwan" ] || exit 0
    
    vGateway=$(ubus call network.interface.intwwan status | jsonfilter -e '@["route"][0].nexthop')
    [ -z "$vGateway" ] && exit 0
    
    uci set network.intlanit.gateway="$vGateway"
    uci commit network
    /etc/init.d/network reload
    

    A partir de ese momento, cada vez que la interfaz intwwan cambie de IP, dicha IP se agregará como gateway de la intlanit, reemplazando la IP anterior.

    Esto puede ser útil, por ejemplo, para:

    • conseguir que el tráfico de los invitados salga a internet por la WWAN, de forma que no naveguen con nuestra IP pública de casa.
    • conseguir que los dispositivos IoT hagan lo mismo.
    • usar una red específica para salir a Internet por otra IP y evitar limitaciones del ISP o de los servicios a los que queremos llegar.

    Los comentarios están cerrados.