diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-12-20 05:58:41 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-12-20 05:58:41 +0000 | 
| commit | 49166d75b6920d2058d89c4735bdb528c8a65d88 (patch) | |
| tree | 0505a01d11bbf88fb083611f4af19504bb409a98 | |
| parent | afacc5b25a838a15a7a2d3854198aa8fb4c0b56f (diff) | |
prepare for moving part of the firewall to hotplug. created new chains {input,forwarding,prerouting}_wan for wan port forwardings and updated the examples. syntax of /etc/config/firewall unchanged and old firewall.user files are still compatible
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5878 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | package/iptables/files/firewall.awk | 24 | ||||
| -rwxr-xr-x | package/iptables/files/firewall.init | 8 | ||||
| -rw-r--r-- | package/iptables/files/firewall.user | 22 | 
3 files changed, 25 insertions, 29 deletions
| diff --git a/package/iptables/files/firewall.awk b/package/iptables/files/firewall.awk index 902c7b188..31dbae0f3 100644 --- a/package/iptables/files/firewall.awk +++ b/package/iptables/files/firewall.awk @@ -1,20 +1,6 @@  # Copyright (C) 2006 OpenWrt.org  BEGIN { -	print "ifname=\"$WAN\"" -	print "[ -z \"$ifname\" ] && exit" -	print "" -	print "iptables -X input_$ifname 2>&- >&-" -	print "iptables -N input_$ifname" -	print "iptables -X forward_$ifname 2>&- >&-" -	print "iptables -N forward_$ifname" -	print "iptables -t nat -X prerouting_$ifname 2>&- >&-" -	print "iptables -t nat -N prerouting_$ifname" -	print "" -	print "iptables -A input_rule -i \"$ifname\" -j input_$ifname" -	print "iptables -A forwarding_rule -i \"$ifname\" -j forward_$ifname" -	print "iptables -t nat -A prerouting_rule -i \"$ifname\" -j prerouting_$ifname" -	print ""  	FS=":"  } @@ -32,15 +18,15 @@ BEGIN {  ($1 == "accept") {  	target = " -j ACCEPT"  	for (o in _opt) { -		print "iptables -t nat -A prerouting_$ifname" _opt[o] str2ipt($2) target -		print "iptables        -A input_$ifname     " _opt[o] str2ipt($2) target +		print "iptables -t nat -A prerouting_wan" _opt[o] str2ipt($2) target +		print "iptables        -A input_wan     " _opt[o] str2ipt($2) target  		print ""  	}  }  ($1 == "drop") {  	for (o in _opt) { -		print "iptables -t nat -A prerouting_$ifname" _opt[o] str2ipt($2) " -j DROP" +		print "iptables -t nat -A prerouting_wan" _opt[o] str2ipt($2) " -j DROP"  		print ""  	}  } @@ -57,8 +43,8 @@ BEGIN {  		else fwopts = ""  	}  	for (o in _opt) { -		print "iptables -t nat -A prerouting_$ifname" _opt[o] str2ipt($2) target -		print "iptables        -A forward_$ifname   " _opt[o] " -d " $3 fwopts " -j ACCEPT" +		print "iptables -t nat -A prerouting_wan" _opt[o] str2ipt($2) target +		print "iptables        -A forwarding_wan   " _opt[o] " -d " $3 fwopts " -j ACCEPT"  		print ""  	}  } diff --git a/package/iptables/files/firewall.init b/package/iptables/files/firewall.init index 6f1ba8b15..a4014f3ee 100755 --- a/package/iptables/files/firewall.init +++ b/package/iptables/files/firewall.init @@ -18,10 +18,13 @@ start() {  	done  	iptables -N input_rule +	iptables -N input_wan  	iptables -N output_rule  	iptables -N forwarding_rule +	iptables -N forwarding_wan  	iptables -t nat -N prerouting_rule +	iptables -t nat -N prerouting_wan  	iptables -t nat -N postrouting_rule  	iptables -N LAN_ACCEPT @@ -42,6 +45,7 @@ start() {  	# insert accept rule or to jump to new accept-check table here  	#  	iptables -A INPUT -j input_rule +	[ -z "$WAN" ] || iptables -A INPUT -i $WAN -j input_wan  	# allow  	iptables -A INPUT -j LAN_ACCEPT	# allow from lan/wifi interfaces  @@ -85,6 +89,7 @@ start() {  	# insert accept rule or to jump to new accept-check table here  	#  	iptables -A FORWARD -j forwarding_rule +	[ -z "$WAN" ] || iptables -A FORWARD -i $WAN -j forwarding_wan  	# allow  	iptables -A FORWARD -i $LAN -o $LAN -j ACCEPT @@ -95,6 +100,7 @@ start() {  	### MASQ  	iptables -t nat -A PREROUTING -j prerouting_rule +	[ -z "$WAN" ] || iptables -t nat -A PREROUTING -i "$WAN" -j prerouting_wan  	iptables -t nat -A POSTROUTING -j postrouting_rule  	[ -z "$WAN" ] || iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE @@ -111,8 +117,10 @@ stop() {  	iptables -P OUTPUT ACCEPT  	iptables -P FORWARD ACCEPT  	iptables -F +	iptables -X  	iptables -t nat -P PREROUTING ACCEPT  	iptables -t nat -P POSTROUTING ACCEPT  	iptables -t nat -P OUTPUT ACCEPT  	iptables -t nat -F +	iptables -t nat -X  } diff --git a/package/iptables/files/firewall.user b/package/iptables/files/firewall.user index 5f295babf..f4eb18ef7 100644 --- a/package/iptables/files/firewall.user +++ b/package/iptables/files/firewall.user @@ -7,22 +7,24 @@ iptables -F forwarding_rule  iptables -t nat -F prerouting_rule  iptables -t nat -F postrouting_rule -### BIG FAT DISCLAIMER -## The "-i $WAN" is used to match packets that come in via the $WAN interface. -## it WILL NOT MATCH packets sent from the $WAN ip address -- you won't be able -## to see the effects from within the LAN. +# The following chains are for traffic directed at the IP of the  +# WAN interface + +iptables -F input_wan +iptables -F forwarding_wan +iptables -t nat -F prerouting_wan  ### Open port to WAN  ## -- This allows port 22 to be answered by (dropbear on) the router -# iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 22 -j ACCEPT  -# iptables        -A input_rule      -i $WAN -p tcp --dport 22 -j ACCEPT +# iptables -t nat -A prerouting_wan -p tcp --dport 22 -j ACCEPT  +# iptables        -A input_wan      -p tcp --dport 22 -j ACCEPT  ### Port forwarding  ## -- This forwards port 8080 on the WAN to port 80 on 192.168.1.2 -# iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 8080 -j DNAT --to 192.168.1.2:80 -# iptables        -A forwarding_rule -i $WAN -p tcp --dport 80 -d 192.168.1.2 -j ACCEPT +# iptables -t nat -A prerouting_wan -p tcp --dport 8080 -j DNAT --to 192.168.1.2:80 +# iptables        -A forwarding_wan -p tcp --dport 80 -d 192.168.1.2 -j ACCEPT  ### DMZ  ## -- Connections to ports not handled above will be forwarded to 192.168.1.2 -# iptables -t nat -A prerouting_rule -i $WAN -j DNAT --to 192.168.1.2 -# iptables        -A forwarding_rule -i $WAN -d 192.168.1.2 -j ACCEPT +# iptables -t nat -A prerouting_wan -j DNAT --to 192.168.1.2 +# iptables        -A forwarding_wan -d 192.168.1.2 -j ACCEPT | 
