summaryrefslogtreecommitdiff
path: root/root/etc/init.d/S45firewall
diff options
context:
space:
mode:
Diffstat (limited to 'root/etc/init.d/S45firewall')
-rwxr-xr-xroot/etc/init.d/S45firewall22
1 files changed, 22 insertions, 0 deletions
diff --git a/root/etc/init.d/S45firewall b/root/etc/init.d/S45firewall
new file mode 100755
index 0000000000..40ac81a49f
--- /dev/null
+++ b/root/etc/init.d/S45firewall
@@ -0,0 +1,22 @@
+#!/bin/sh
+. /etc/functions.sh
+
+WAN=$(nvram_get wan_ifname)
+
+IPT=/usr/sbin/iptables
+
+for T in filter nat mangle ; do
+ $IPT -t $T -F
+ $IPT -t $T -X
+done
+
+$IPT -t filter -A INPUT -m state --state INVALID -j DROP
+$IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
+$IPT -t filter -A INPUT -p icmp -j ACCEPT
+$IPT -t filter -A INPUT -i $WAN -p tcp -j REJECT --reject-with tcp-reset
+$IPT -t filter -A INPUT -i $WAN -j REJECT --reject-with icmp-port-unreachable
+$IPT -t filter -A FORWARD -m state --state INVALID -j DROP
+$IPT -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
+$IPT -t filter -A FORWARD -i $WAN -m state --state NEW,INVALID -j DROP
+
+$IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE