Commit Graph

130 Commits (5e48d47dfe7134080ef13fddb506a461d109a2de)

Author SHA1 Message Date
Jo-Philipp Wich c7ac1b5b0c firewall: do not produce 0.0.0.0/0 if a symbolic masq_src or masq_dest is given but does not resolve to an ip
SVN-Revision: 28628
13 years ago
Jo-Philipp Wich 204bf6e5fe firewall: prevent ip6tables -t nat rules (#10265)
SVN-Revision: 28535
13 years ago
Jo-Philipp Wich 69df551be3 firewall: fix another instance of unquoted "*"
SVN-Revision: 28529
13 years ago
Jo-Philipp Wich 9a61d9e513 firewall: fix possible expansion of "*" when rules with "option src *" are processed
SVN-Revision: 28527
13 years ago
Jo-Philipp Wich e0e73928da firewall: do not check for module availability, let iptables fail if a feature is not present (#7610)
SVN-Revision: 28525
13 years ago
Jo-Philipp Wich 995face56d firewall: make ESTABLISHED,RELATED rules match before INVALID, use conntrack instead of state match (#10038)
SVN-Revision: 28148
13 years ago
Jo-Philipp Wich f1e7045d30 firewall: further tune ICMPv6 default rules according to RFC4890 (#9893)
SVN-Revision: 27979
13 years ago
Jo-Philipp Wich 7a206885df firewall: prevent redundant rules if multiple ports and multiple icmp types are given in a rule block for both icmp and other protocols
SVN-Revision: 27792
13 years ago
Jo-Philipp Wich 90ac92e8be firewall: fix serious bug in state var handling (#9746)
SVN-Revision: 27711
13 years ago
Jo-Philipp Wich 78fa88ca81 firewall: rework state variable handling, use uci_toggle_state() where applicable and properly handle duplicates in add and del state helpers (#9152, #9710)
SVN-Revision: 27618
13 years ago
Jo-Philipp Wich a92ed1808c firewall: make sure that -m mac is used with --mac-source, follow up to r27508
SVN-Revision: 27519
13 years ago
Daniel Dickinson ca7383e701 firewall: also correct another variable missed in previous commit
SVN-Revision: 27508
13 years ago
Daniel Dickinson c8531fca5d firewall: fix wrong variable names for protocol command line parameter - were missed during r27500
SVN-Revision: 27507
13 years ago
Jo-Philipp Wich dd4934a943 firewall: - solve scoping issues when multiple values are used, thanks Daniel Dickinson - ignore src_port/dest_port for proto icmp rules, ignore icmp_type for non-icmp rules - properly handle icmp when proto is given in numerical form (1, 58) - support negated icmp types
SVN-Revision: 27500
13 years ago
Daniel Dickinson 05c45f0f5e firewall: fix udp rules for tcpudp proto rules using src_port and dest_port after modification by the parsing of the tcp rule
SVN-Revision: 27469
13 years ago
Jo-Philipp Wich 600a8517ad firewall: fix port range quirk in previous commit
SVN-Revision: 27335
13 years ago
Jo-Philipp Wich df14a48dc9 firewall: properly handle negated ports in nat reflection
SVN-Revision: 27334
13 years ago
Jo-Philipp Wich 07abf4a81e firewall: refine default ICMPv6 rules to better conform with RFC4890, do not forward link local ICMP message types, allow parameter problem
SVN-Revision: 27321
13 years ago
Jo-Philipp Wich 8f0fb81dfe firewall: restore local port relocation ability from r26617
SVN-Revision: 27318
13 years ago
Jo-Philipp Wich 68a1c8e1e3 firewall: - allow multiple ports, protocols, macs, icmp types per rule - implement "limit" and "limit_burst" options for rules - implement "extra" option to rules and redirects for passing arbritary flags to iptables - implement negations for "src_port", "dest_port", "src_dport", "src_mac", "proto" and "icmp_type" options - allow wildcard (*) "src" and "dest" options in rules to allow specifying "any" source or destination - validate symbolic icmp-type names against the selected iptables binary - properly handle forwarded ICMPv6 traffic in the default configuration
SVN-Revision: 27317
13 years ago
Jo-Philipp Wich 9f37422f2f firewall: ensure that fw_get_subnet4() sets an empty value if no (valid) IPv4 addr was found
SVN-Revision: 27198
13 years ago
Jo-Philipp Wich c014101d73 firewall: allow symbolic names of interfaces and aliases in masq_src and masq_dest
SVN-Revision: 27196
13 years ago
Jo-Philipp Wich f2b7c81d46 firewall: explictely mention network in default configuration, makes it less confusing
SVN-Revision: 26961
13 years ago
Jo-Philipp Wich 2e9e4c435f firewall: revert accidential committed changes from r26805
SVN-Revision: 26806
13 years ago
Jo-Philipp Wich ad23dd94b6 firewall: provide examples of ssh port relocation on firewall and IPsec passthrough Two examples of potentially useful configurations (commented out, of course):
(a) map the ssh service running on the firewall to 22001 externally, without modifying the configuration of the daemon itself. this allows port 22 on the WAN side to then be port-forwarded to a
LAN-based machine if desired, or if not, simply obscures the port from external attack.

(b) allow IPsec/ESP and ISAKMP (UDP-based key exchange) to happen by default. useful for most modern VPN clients you might have on your WAN.

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

SVN-Revision: 26805
13 years ago
Jo-Philipp Wich 2a386cee99 firewall: prevent excessive uci state data aggregation (#9152)
SVN-Revision: 26740
13 years ago
Jo-Philipp Wich a9977eca91 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>

SVN-Revision: 26617
13 years ago
Jo-Philipp Wich af82471525 firewall: prevent duplicate values in interface state vars
SVN-Revision: 26382
13 years ago
Travis Kemen a2cd7b2883 Keep firewall.user during sysupgrades
SVN-Revision: 26241
13 years ago
Jo-Philipp Wich 13333a6742 firewall: move include sourcing into a subshell, this makes the firewall init immune against exit in the include scripts
SVN-Revision: 25835
13 years ago
Jo-Philipp Wich 1ca64678bb firewall: fix rule generation for v4 or v6 only zones (#8955)
SVN-Revision: 25813
13 years ago
Jo-Philipp Wich 04b20727d8 firewall: fix wrong rule order if multiple protocols are used
SVN-Revision: 25179
14 years ago
Jo-Philipp Wich a43f5b5038 firewall: insert SNAT and DNAT rules according to the order of the configuration file (#8052)
SVN-Revision: 23318
14 years ago
Jo-Philipp Wich b0ca17ae6e firewall: mark /etc/firewall.user as conffile
SVN-Revision: 23231
14 years ago
Jo-Philipp Wich 7bf84dc4f8 firewall: also establish forward rules when setting up nat reflection, back out early if reflection is disabled
SVN-Revision: 23201
14 years ago
Jo-Philipp Wich 1cb2abca8e add maintainer information
SVN-Revision: 23159
14 years ago
Jo-Philipp Wich 1a0d7a3612 firewall: fix chain selection logic, option dest must be ignored for notrack targets
SVN-Revision: 23143
14 years ago
Jo-Philipp Wich a1a31f1831 firewall: don't setup nat reflection if negations are used
SVN-Revision: 23142
14 years ago
Jo-Philipp Wich 6a335579b8 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
SVN-Revision: 23141
14 years ago
Jo-Philipp Wich b07620df31 firewall: protect iptables invocations with locks in interface ops, it might run concurrently due to hotplug invocations on network restart
SVN-Revision: 23090
14 years ago
Jo-Philipp Wich f90328f26e firewall: make invalid redirects and duplicate zones non-fatal, print a notice and discard them
SVN-Revision: 23080
14 years ago
Jo-Philipp Wich 7557011cb1 firewall: run ifdown hotplug events synchronized, fixes a racecondition on "ifup iface" when ifdown and ifup events are delivered with a small dealy
SVN-Revision: 23064
14 years ago
Jo-Philipp Wich 1fe50da4bb firewall: deliver remove hotplug events for all active zones/networks when restarting the firewall
SVN-Revision: 23062
14 years ago
Jo-Philipp Wich f3dd8278bb 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
SVN-Revision: 23024
14 years ago
Jo-Philipp Wich 5ab58aa39c 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
SVN-Revision: 22938
14 years ago
Jo-Philipp Wich eb79296cc1 firewall: introduce SNAT support for redirect sections
SVN-Revision: 22937
14 years ago
Jo-Philipp Wich f4ee14e1c3 firewall: add option to disable NAT reflection
SVN-Revision: 22908
14 years ago
Jo-Philipp Wich baf4782be6 firewall: clean up description (#7875)
SVN-Revision: 22905
14 years ago
Jo-Philipp Wich ca5bf9e291 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
SVN-Revision: 22888
14 years ago
Jo-Philipp Wich ee4dd61b10 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)
SVN-Revision: 22847
14 years ago