diff --git a/package/comgt/files/3g.iface b/package/comgt/files/3g.iface index a8476ca8df..cd4e4cc5c6 100644 --- a/package/comgt/files/3g.iface +++ b/package/comgt/files/3g.iface @@ -3,8 +3,19 @@ config_load network scan_interfaces config_get proto "$INTERFACE" proto [ "$proto" = "3g" ] && { + config_get iface "$INTERFACE" ifname case "$ACTION" in - ifup) set_3g_led 1 1 0;; - ifdown) set_3g_led 0 0 0;; + ifup) + iptables -I LAN_ACCEPT 1 -i "$iface" -j RETURN + iptables -A FORWARD -o "$iface" -j ACCEPT + iptables -t nat -A POSTROUTING -o "$iface" -j MASQUERADE + set_3g_led 1 1 0 + ;; + ifdown) + iptables -D LAN_ACCEPT -i "$iface" -j RETURN + iptables -D FORWARD -o "$iface" -j ACCEPT + iptables -t nat -D POSTROUTING -o "$iface" -j MASQUERADE + set_3g_led 0 0 0 + ;; esac }