summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/comgt/files/3g.iface15
1 files changed, 13 insertions, 2 deletions
diff --git a/package/comgt/files/3g.iface b/package/comgt/files/3g.iface
index a8476ca8d..cd4e4cc5c 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
}