X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/65157ef12a8118a41bf16f73e2c03ba1bc9da7a3..0f661400c526b3a6be1db208aa83cadf77dc44a8:/openwrt/package/base-files/default/etc/init.d/S45firewall diff --git a/openwrt/package/base-files/default/etc/init.d/S45firewall b/openwrt/package/base-files/default/etc/init.d/S45firewall index c9986011a..0110cfc77 100755 --- a/openwrt/package/base-files/default/etc/init.d/S45firewall +++ b/openwrt/package/base-files/default/etc/init.d/S45firewall @@ -5,13 +5,13 @@ ${FAILSAFE:+exit} . /etc/functions.sh . /etc/network.overrides -[ -e /etc/config/network ] && . /etc/config/network +[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network WAN=$(nvram get wan_ifname) LAN=$(nvram get lan_ifname) ## CLEAR TABLES -for T in filter nat mangle; do +for T in filter nat; do iptables -t $T -F iptables -t $T -X done @@ -81,9 +81,11 @@ iptables -t nat -N postrouting_rule iptables -A FORWARD -j forwarding_rule # allow - iptables -A FORWARD -i br0 -o br0 -j ACCEPT - [ -z "$WAN" ] || iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT - + # if there is bridge splitting this workaround works too + for iface in $LAN; do + iptables -A FORWARD -i $iface -o $iface -j ACCEPT + [ -z "$WAN" ] || iptables -A FORWARD -i $iface -o $WAN -j ACCEPT + done # reject (what to do with anything not allowed earlier) # uses the default -P DROP