Add PPTP runtime and GUI
[tomato.git] / release / src / router / miniupnpd / netfilter / iptables_init_and_clean.sh
blobaaa90a161d1d3f74e7ede24420a8dfba55f1004d
1 #! /bin/sh
2 # $Id: iptables_init_and_clean.sh,v 1.1 2011/05/13 09:58:47 nanard Exp $
3 # Improved Miniupnpd iptables init script.
4 # Checks for state of filter before doing anything..
6 EXTIF=eth0
7 IPTABLES=/sbin/iptables
8 EXTIP="`LC_ALL=C /sbin/ifconfig $EXTIF | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"
9 NDIRTY="`LC_ALL=C /sbin/iptables -t nat -L -n | grep 'MINIUPNPD' | awk '{printf $1}'`"
10 FDIRTY="`LC_ALL=C /sbin/iptables -t filter -L -n | grep 'MINIUPNPD' | awk '{printf $1}'`"
11 echo "External IP = $EXTIP"
13 if [[ $NDIRTY = "MINIUPNPDChain" ]]; then
14 echo "Nat table dirty; Cleaning..."
15 $IPTABLES -t nat -F MINIUPNPD
16 elif [[ $NDIRTY = "Chain" ]]; then
17 echo "Dirty NAT chain but no reference..? Fixsted."
18 $IPTABLES -t nat -A PREROUTING -d $EXTIP -i $EXTIF -j MINIUPNPD
19 $IPTABLES -t nat -F MINIUPNPD
20 else
21 echo "NAT table clean..initalizing.."
22 $IPTABLES -t nat -N MINIUPNPD
23 $IPTABLES -t nat -A PREROUTING -d $EXTIP -i $EXTIF -j MINIUPNPD
25 if [[ $FDIRTY = "MINIUPNPDChain" ]]; then
26 echo "Filter table dirty; Cleaning..."
27 $IPTABLES -t filter -F MINIUPNPD
28 elif [[ $FDIRTY = "Chain" ]]; then
29 echo "Dirty filter chain but no reference..? Fixsted."
30 $IPTABLES -t filter -I FORWARD 4 -i $EXTIF ! -o $EXTIF -j MINIUPNPD
31 $IPTABLES -t filter -F MINIUPNPD
32 else
33 echo "Filter table clean..initalizing.."
34 $IPTABLES -t filter -N MINIUPNPD
35 $IPTABLES -t filter -I FORWARD 4 -i $EXTIF ! -o $EXTIF -j MINIUPNPD
36 fi