]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/initscripts/init.d/firewall
Forward Firewall: fixed 12 Bugs from forum.
[ipfire-2.x.git] / src / initscripts / init.d / firewall
index cc6b6190eb8ecb7c376934b1aa74968915c46c6c..0af3d4b2af5340d99f12402470e0d1aaacff9fb6 100644 (file)
@@ -183,12 +183,26 @@ case "$1" in
        /sbin/iptables -A FORWARD -j IPSECFORWARD
        /sbin/iptables -A FORWARD -j OPENSSLVIRTUAL -m comment --comment "OPENSSLVIRTUAL FORWARD"
        /sbin/iptables -A OUTPUT -j IPSECOUTPUT
+       /sbin/iptables -t nat -N OVPNNAT
        /sbin/iptables -t nat -N IPSECNAT
+       /sbin/iptables -t nat -A POSTROUTING -j OVPNNAT
        /sbin/iptables -t nat -A POSTROUTING -j IPSECNAT
 
+       # TOR
+       /sbin/iptables -N TOR_INPUT
+       /sbin/iptables -A INPUT -j TOR_INPUT
+
        # Outgoing Firewall
        /sbin/iptables -A FORWARD -j OUTGOINGFWMAC
 
+       # Forward Firewall
+       /sbin/iptables -N FORWARDFW
+       /sbin/iptables -A FORWARD -j FORWARDFW
+
+       # Input Firewall
+       /sbin/iptables -N INPUTFW
+       /sbin/iptables -A INPUT -m state --state NEW -j INPUTFW
+
        # localhost and ethernet.
        /sbin/iptables -A INPUT   -i lo -m state --state NEW -j ACCEPT
        /sbin/iptables -A INPUT   -s 127.0.0.0/8 -m state --state NEW -j DROP   # Loopback not on lo
@@ -197,7 +211,7 @@ case "$1" in
        /sbin/iptables -A FORWARD -s 127.0.0.0/8 -m state --state NEW -j DROP
        /sbin/iptables -A FORWARD -d 127.0.0.0/8 -m state --state NEW -j DROP
        /sbin/iptables -A INPUT   -i $GREEN_DEV  -m state --state NEW -j ACCEPT ! -p icmp
-       /sbin/iptables -A FORWARD -i $GREEN_DEV  -m state --state NEW -j ACCEPT
+       #/sbin/iptables -A FORWARD -i $GREEN_DEV  -m state --state NEW -j ACCEPT
 
        # If a host on orange tries to initiate a connection to IPFire's red IP and
        # the connection gets DNATed back through a port forward to a server on orange
@@ -212,12 +226,6 @@ case "$1" in
        /sbin/iptables -N OPENSSLPHYSICAL
        /sbin/iptables -A INPUT -j OPENSSLPHYSICAL
 
-       # WIRELESS chains
-       /sbin/iptables -N WIRELESSINPUT
-       /sbin/iptables -A INPUT -m state --state NEW -j WIRELESSINPUT
-       /sbin/iptables -N WIRELESSFORWARD
-       /sbin/iptables -A FORWARD -m state --state NEW -j WIRELESSFORWARD
-
        # RED chain, used for the red interface
        /sbin/iptables -N REDINPUT
        /sbin/iptables -A INPUT -j REDINPUT
@@ -228,17 +236,6 @@ case "$1" in
 
        iptables_red
 
-       # DMZ pinhole chain.  setdmzholes setuid prog adds rules here to allow
-       # ORANGE to talk to GREEN / BLUE.
-       /sbin/iptables -N DMZHOLES
-       if [ "$ORANGE_DEV" != "" ]; then
-               /sbin/iptables -A FORWARD -i $ORANGE_DEV -m state --state NEW -j DMZHOLES
-       fi
-
-       # XTACCESS chain, used for external access
-       /sbin/iptables -N XTACCESS
-       /sbin/iptables -A INPUT -m state --state NEW -j XTACCESS
-
        # PORTFWACCESS chain, used for portforwarding
        /sbin/iptables -N PORTFWACCESS
        /sbin/iptables -A FORWARD -m state --state NEW -j PORTFWACCESS
@@ -252,9 +249,8 @@ case "$1" in
        # upnp chain for our upnp daemon
        /sbin/iptables -t nat -N UPNPFW
        /sbin/iptables -t nat -A PREROUTING -j UPNPFW
-       /sbin/iptables -A FORWARD -m state --state NEW -j UPNPFW
-       # This chain only contains dummy rules.
        /sbin/iptables -N UPNPFW
+       /sbin/iptables -A FORWARD -m state --state NEW -j UPNPFW
 
        # Custom mangle chain (for port fowarding)
        /sbin/iptables -t mangle -N PORTFWMANGLE
@@ -281,11 +277,17 @@ case "$1" in
                /sbin/iptables -A INPUT -m limit --limit 10/minute -j LOG --log-prefix "DROP_INPUT "
        fi
        /sbin/iptables -A INPUT -j DROP -m comment --comment "DROP_INPUT"
-       if [ "$DROPOUTPUT" == "on" ]; then
-               /sbin/iptables -A FORWARD -m limit --limit 10/minute -j LOG --log-prefix "DROP_OUTPUT "
-       fi
-       /sbin/iptables -A FORWARD -j DROP -m comment --comment "DROP_OUTPUT"
-        ;;
+       #if [ "$DROPFORWARD" == "on" ]; then
+       #       /sbin/iptables -A FORWARD -m limit --limit 10/minute -j LOG --log-prefix "DROP_FORWARD "
+       #fi
+       #/sbin/iptables -A FORWARD -j DROP -m comment --comment "DROP_FORWARD"
+       
+       #POLICY CHAIN
+       /sbin/iptables -N POLICY
+       /sbin/iptables -A FORWARD -j POLICY
+       
+       /usr/sbin/firewall-forward-policy
+       ;;
   startovpn)  
        # run openvpn
        /usr/local/bin/openvpnctrl --create-chains-and-rules
@@ -317,11 +319,11 @@ case "$1" in
                /sbin/iptables -A INPUT   -m limit --limit 10/minute -j LOG --log-prefix "DROP_INPUT "
        fi
        /sbin/iptables -A INPUT -j DROP -m comment --comment "DROP_INPUT"
-       if [ "$DROPOUTPUT" == "on" ]; then
-               /sbin/iptables -A FORWARD -m limit --limit 10/minute -j LOG --log-prefix "DROP_OUTPUT "
+       if [ "$DROPFORWARD" == "on" ]; then
+               /sbin/iptables -A FORWARD -m limit --limit 10/minute -j LOG --log-prefix "DROP_FORWARD "
        fi
-       /sbin/iptables -A FORWARD -j DROP -m comment --comment "DROP_OUTPUT"
-        ;;
+       /sbin/iptables -A FORWARD -j DROP -m comment --comment "DROP_FORWARD"
+       ;;
   stopovpn)
        # stop openvpn
        /usr/local/bin/openvpnctrl --delete-chains-and-rules