1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-05 02:57:09 +02:00
Commit Graph

95 Commits

Author SHA1 Message Date
jow
0874d00715 firewall: allow local redirection of ports
Allow a redirect like:

config redirect
        option src 'wan'
        option dest 'lan'
        option src_dport '22001'
        option dest_port '22'
        option proto 'tcp'

note the absence of the "dest_ip" field, meaning to terminate the connection on the firewall itself.

This patch makes three changes:

(1) moves the conntrack module into the conntrack package (but not any of the conntrack_* helpers).
(2) fixes a bug where the wrong table is used when the "dest_ip" field is absent.
(3) accepts incoming connections on the destination port on the input_ZONE table, but only for DNATted
    connections.

In the above example,

ssh -p 22 root@myrouter

would fail from the outside, but:

ssh -p 22001 root@myrouter

would succeed.  This is handy if:

(1) you want to avoid ssh probes on your router, or
(2) you want to redirect incoming connections on port 22 to some machine inside your firewall, but
    still want to allow firewall access from outside.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26617 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-12 20:03:59 +00:00
jow
b12a3e34a3 [package] firewall: prevent duplicate values in interface state vars
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26382 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-03-30 20:29:17 +00:00
thepeople
d531cb04e9 Keep firewall.user during sysupgrades
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26241 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-03-20 00:57:47 +00:00
jow
a4666fa483 [package] firewall: move include sourcing into a subshell, this makes the firewall init immune against exit in the include scripts
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25835 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-03-02 19:20:29 +00:00
jow
ba53471109 [package] firewall: fix rule generation for v4 or v6 only zones (#8955)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25813 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-03-01 18:04:14 +00:00
jow
8abaf1c3f4 [package] firewall: fix wrong rule order if multiple protocols are used
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25179 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-27 22:19:53 +00:00
jow
b757185a71 [package] firewall: insert SNAT and DNAT rules according to the order of the configuration file (#8052)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23318 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-08 12:11:55 +00:00
jow
b592e5c373 [package] firewall: also establish forward rules when setting up nat reflection, back out early if reflection is disabled
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23201 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-03 18:11:59 +00:00
jow
43c3b75619 [package] firewall: fix chain selection logic, option dest must be ignored for notrack targets
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23143 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-28 11:38:31 +00:00
jow
889cf1f8c3 [package] firewall: don't setup nat reflection if negations are used
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23142 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-28 11:11:11 +00:00
jow
1efeaa35d1 [package] fireall:
- support negations for src_ip, dest_ip, src_dip options in rules and redirects
	- add NOTRACK target to rule sections, allows to define fine grained notrack rules


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23141 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-28 10:42:56 +00:00
jow
3d98699ef3 [package] firewall: protect iptables invocations with locks in interface ops, it might run concurrently due to hotplug invocations on network restart
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23090 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-19 15:01:47 +00:00
jow
6ce96a49f3 [package] firewall: make invalid redirects and duplicate zones non-fatal, print a notice and discard them
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23080 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-16 11:47:35 +00:00
jow
5986668ca9 [package] firewall: run ifdown hotplug events synchronized, fixes a racecondition on "ifup iface" when ifdown and ifup events are delivered with a small dealy
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23064 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-15 01:53:36 +00:00
jow
ac32f8a93b [package] firewall: deliver remove hotplug events for all active zones/networks when restarting the firewall
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23062 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-14 23:11:12 +00:00
jow
c653713313 [package] firewall:
- simplify masquerade rule setup
	- remove various subshell invocations
	- speedup fw() by not relying on xargs and pipes
	- rework SNAT support - attach to dest zone, use src_dip/src_dport as snat source


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23024 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-11 20:04:34 +00:00
jow
614052f0c6 [package] firewall:
- fix possible endless loop when the family option is used for forwardings
	- only generate forwarding rules in SNAT redirect sections if src_dip is specified


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22938 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-05 20:17:23 +00:00
jow
750dead792 [package] firewall: introduce SNAT support for redirect sections
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22937 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-05 19:03:17 +00:00
jow
c6d4a05eeb [package] firewall: add option to disable NAT reflection
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22908 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-04 17:49:14 +00:00
jow
291f78f21a [package] firewall:
- handle NAT reflection in firewall hotplug, solves synchronizing issues on boot
	- introduce masq_src and masq_dest options to limit zone masq to specific ip ranges, supports multiple subnets and negation


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22888 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-04 15:49:13 +00:00
jow
94c817eadb [package] firewall:
- fix processing of rules with an ip family option
	- append interface rules at the end of internal zone chains, simplifies injecting user or addon rules
	- support simple file logging (option log + option log_limit per zone)


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22847 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-31 01:54:08 +00:00
jow
4fbc2d59b9 [package] firwall: fix nat reflection for zones covering multiple networks
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22442 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-31 13:25:56 +00:00
jow
da83ad5b95 [package] firewall: add basic NAT reflection/NAT loopback support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22441 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-31 13:06:14 +00:00
jow
5fbf6ca9e6 [package] firewall: allow redirecting only destination port (#7197)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22227 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-16 06:03:15 +00:00
jow
30853c82f3 [package] firewall: fix another notrack related bug
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22218 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 23:24:01 +00:00
jow
e3060b618d [package] firewall:
- notrack support was broken in multiple ways, fix it
	- also consider a zone conntracked if any redirect references it (#7196)


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22215 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 22:01:48 +00:00
jow
3b07b2b809 [package] firewall:
- support alias ifnames different from parent ifname
	- properly handle multiple subnets per alias (v4+v6)


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21656 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-02 00:59:35 +00:00
jow
2c25f7e70c [package] firewall: Initial alias interface support. This allows to define zones covering alias interfaces and associated entries like rules and forwardings.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21653 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-01 21:58:48 +00:00
jow
ddb7d35392 [package] firewall: change the order of IPv4/IPv6 address detection, fixes mixed notation v6 improperly detected as v4 address
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21642 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-31 01:34:47 +00:00
jow
90b818e4a5 [package] firewall: fix support for netranges in redirect and rule sections
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21640 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-30 23:49:47 +00:00
jow
81279ca0f1 [package] firewall: count rules per chain and family, fix wrong order of ip6tables rules when ipv4 only or dual family rules are defined
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21533 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-22 02:01:19 +00:00
jow
cf06be1395 [package] firewall: don't apply default udp/68 rule to ip6tables
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21509 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-19 21:37:12 +00:00
jow
24931686cd [package] firewall:
- fix ip6tables rules when icmp_type option is set
	- add "family" option to zones, forwardings, redirects and rules to selectively apply rules to iptables and/or ip6tables


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21508 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-19 21:35:23 +00:00
jow
eecea36854 [package] firewall: add commented disable_ipv6 option to default config
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21505 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-19 09:49:21 +00:00
jow
205e31dc60 [package] firewall: implement disable_ipv6 uci option
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21503 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-19 01:55:46 +00:00
jow
389232eaac [package] firewall (#7355)
- partially revert r21486, start firewall on init again
	- skip iface hotplug events if base fw is not up yet
	- get ifname and up state with uci_get_state() in iface setup
	  since the values gathered by scan_interfaces() may be outdated
	  when iface coldplugging happens (observed with pptp)
	- ignore up state when bringing down interfaces because ifdown
	  reverts state vars before dispatching the iface event
	- bump package revision


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21502 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-19 00:50:14 +00:00
jow
0b44419f28 [package] firewall: fix a possible deadlock when the firewall config has syntax errors during restart
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21501 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-18 20:15:47 +00:00
jow
4a88a4e3b3 [package] firewall: use uci_get_state() wrapper
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21493 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-17 19:38:13 +00:00
jow
15b63637b4 [package] firewall: properly clear hooks in fw_stop() to prevent extensions from being called twice after fw_restart()
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21488 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-17 17:20:37 +00:00
jow
5acb7ec58a [package] firewall:
- defer firewall start until the first interface is brought up by hotplug, fixes race conditions on slow devices
	- create a file lock during firewall start and wait for it in hotplug events, prevents race conditions between start and addif
	- start firewall actions in background from hotplug handler since the firewall itself fires further hotplug events which results in a deadlock if not forked off
	- get loaded state direcly from the uci binary since updated value is not recognized by config_get after uci_set_state
	- bump package revision to r2


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21486 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-17 12:47:14 +00:00
jow
d2f8ac6e8c [package] firewall: properly unset position for delete command, fixes rule removal in ifdown
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21378 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-05 15:50:21 +00:00
jow
2efc23f468 [package] firewall: fix bug in iface hotplug handler
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21360 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-05 01:43:08 +00:00
jow
e8be3016c9 [package] firewall:
- replace uci firewall with a modular dual stack implementation	developed by Malte S. Stretz
	- bump version to 2


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21286 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-01 18:22:01 +00:00
thepeople
1054800824 allow ping
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20261 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-18 03:46:41 +00:00
jow
fa8f585a08 [package] firewall: insert rules at the beginning of chains again while maintaining non reversed order, fixes wrong ordering introduced by r18015
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19946 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 11:02:24 +00:00
jow
92af8399eb [package] firewall: fix bad number error in fw_redirect() (#6704)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19765 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-02-20 03:39:55 +00:00
thepeople
58a312461e Add destination ip of the wan adapter useful if you have multiple ip addresses.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19574 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-02-11 02:33:34 +00:00
jow
8084bc3069 [package] firewall: fix a race condition preventing interfaces from being added to the firewall on boot
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19232 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-19 23:02:11 +00:00
nbd
8b93389dca firewall: fix fallout from r18716 (fixes #6338)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18733 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-10 18:18:37 +00:00
nbd
6b2e482b31 firewall: get rid of recursive shell script inclusion to improve hush compatibility
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18716 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-09 14:04:37 +00:00