2003-03-12 21:55:17 +01:00
|
|
|
#
|
|
|
|
# Shorewall version 1.4 - Sample Rules File For Three Interfaces
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# /etc/shorewall/rules
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
|
|
|
# Rules in this file govern connection establishment. Requests and
|
|
|
|
# responses are automatically allowed using connection tracking.
|
|
|
|
#
|
2002-05-18 21:48:34 +02:00
|
|
|
# In most places where an IP address or subnet is allowed, you
|
|
|
|
# can preceed the address/subnet with "!" (e.g., !192.168.1.0/24) to
|
|
|
|
# indicate that the rule matches all addresses except the address/subnet
|
|
|
|
# given. Notice that no white space is permitted between "!" and the
|
|
|
|
# address/subnet.
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2002-05-18 21:48:34 +02:00
|
|
|
# Columns are:
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
|
|
|
#
|
2003-04-20 16:37:26 +02:00
|
|
|
# ACTION ACCEPT, DROP, REJECT, DNAT, DNAT-, REDIRECT,
|
2003-07-21 20:01:35 +02:00
|
|
|
# REDIRECT-, CONTINUE or LOG.
|
2003-03-12 21:55:17 +01:00
|
|
|
#
|
|
|
|
# ACCEPT
|
|
|
|
# Allow the connection request
|
|
|
|
# DROP
|
|
|
|
# Ignore the request
|
|
|
|
# REJECT
|
|
|
|
# Disallow the request and return an
|
|
|
|
# icmp-unreachable or an RST packet.
|
|
|
|
# DNAT
|
|
|
|
# Forward the request to another
|
|
|
|
# system (and optionally another
|
|
|
|
# port).
|
|
|
|
# DNAT-
|
|
|
|
# Advanced users only.
|
|
|
|
# Like DNAT but only generates the
|
|
|
|
# DNAT iptables rule and not
|
|
|
|
# the companion ACCEPT rule.
|
|
|
|
# REDIRECT
|
|
|
|
# Redirect the request to a local
|
|
|
|
# port on the firewall.
|
2003-06-08 21:51:18 +02:00
|
|
|
# REDIRECT-
|
|
|
|
# Advanced users only.
|
|
|
|
# Like REDIRECT but only generates the
|
|
|
|
# REDIRECT iptables rules and not the
|
|
|
|
# companion ACCEPT rule.
|
2003-03-12 21:55:17 +01:00
|
|
|
# CONTINUE
|
|
|
|
# (For experts only). Do Not Process
|
|
|
|
# any of the following rules for this
|
|
|
|
# (source zone,destination zone). If
|
|
|
|
# the source and/or destination IP
|
|
|
|
# address falls into a zone defined
|
|
|
|
# later in /etc/shorewall/zones, this
|
|
|
|
# connection request will be passed
|
|
|
|
# to the rules defined for that
|
|
|
|
# (those) zones(s).
|
2003-04-20 16:37:26 +02:00
|
|
|
# LOG
|
|
|
|
# Simply log the packet and continue.
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
|
|
|
# May optionally be followed by ":" and a syslog log
|
|
|
|
# level (e.g, REJECT:info). This causes the packet to be
|
|
|
|
# logged at the specified level.
|
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# You may also specify ULOG (must be in upper case) as a
|
|
|
|
# log level. This will log to the ULOG target for routing
|
|
|
|
# to a separate log through use of ulogd.
|
2002-12-22 20:00:24 +01:00
|
|
|
# (http://www.gnumonks.org/projects/ulogd).
|
|
|
|
#
|
2002-05-18 21:48:34 +02:00
|
|
|
# SOURCE Source hosts to which the rule applies. May be a zone
|
2003-03-12 21:55:17 +01:00
|
|
|
# defined in /etc/shorewall/zones, $FW to indicate the
|
2002-11-24 21:27:16 +01:00
|
|
|
# firewall itself, or "all" If the ACTION is DNAT or
|
|
|
|
# REDIRECT, sub-zones of the specified zone may be
|
|
|
|
# excluded from the rule by following the zone name with
|
|
|
|
# "!' and a comma-separated list of sub-zone names.
|
|
|
|
#
|
|
|
|
# Except when "all" is specified, clients may be further
|
|
|
|
# restricted to a list of subnets and/or hosts by
|
|
|
|
# appending ":" and a comma-separated list of subnets
|
|
|
|
# and/or hosts. Hosts may be specified by IP or MAC
|
|
|
|
# address; mac addresses must begin with "~" and must use
|
|
|
|
# "-" as a separator.
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# Some Examples:
|
|
|
|
#
|
|
|
|
# net:155.186.235.1
|
|
|
|
# Host 155.186.235.1 on the Internet
|
2002-05-18 21:48:34 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# loc:192.168.1.0/24
|
|
|
|
# Subnet 192.168.1.0/24 on the
|
|
|
|
# Local Network
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# net:155.186.235.1,155.186.235.2
|
|
|
|
# Hosts 155.186.235.1 and
|
|
|
|
# 155.186.235.2 on the Internet.
|
|
|
|
#
|
|
|
|
# loc:~00-A0-C9-15-39-78
|
|
|
|
# Host on the Local Network with
|
|
|
|
# MAC address 00:A0:C9:15:39:78.
|
2002-05-18 21:48:34 +02:00
|
|
|
#
|
2002-05-01 00:42:57 +02:00
|
|
|
# Alternatively, clients may be specified by interface
|
2002-09-23 23:36:27 +02:00
|
|
|
# by appending ":" to the zone name followed by the
|
2003-03-12 21:55:17 +01:00
|
|
|
# interface name. For example, net:eth0 specifies a
|
2002-09-23 23:36:27 +02:00
|
|
|
# client that communicates with the firewall system
|
2003-03-12 21:55:17 +01:00
|
|
|
# through eth0. This may be optionally followed by
|
2002-09-23 23:36:27 +02:00
|
|
|
# another colon (":") and an IP/MAC/subnet address
|
2003-03-12 21:55:17 +01:00
|
|
|
# as described above (e.g., net:eth0:192.168.1.5).
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2002-05-18 21:48:34 +02:00
|
|
|
# DEST Location of Server. May be a zone defined in
|
2002-11-24 21:27:16 +01:00
|
|
|
# /etc/shorewall/zones, $FW to indicate the firewall
|
|
|
|
# itself or "all"
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2002-11-24 21:27:16 +01:00
|
|
|
# Except when "all" is specified, the server may be
|
|
|
|
# further restricted to a particular subnet, host or
|
|
|
|
# interface by appending ":" and the subnet, host or
|
|
|
|
# interface. See above.
|
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# Restrictions:
|
2002-11-24 21:27:16 +01:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# 1. MAC addresses are not allowed.
|
|
|
|
# 2. In DNAT rules, only IP addresses are
|
|
|
|
# allowed; no FQDNs or subnet addresses
|
|
|
|
# are permitted.
|
2003-04-20 16:37:26 +02:00
|
|
|
# 3. You may not specify both an interface and
|
|
|
|
# an address.
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-07-21 20:01:35 +02:00
|
|
|
# Unlike in the SOURCE column, you may specify a range of
|
|
|
|
# up to 256 IP addresses using the syntax
|
|
|
|
# <first ip>-<last ip>. When the ACTION is DNAT or DNAT-,
|
|
|
|
# the connections will be assigned to addresses in the
|
|
|
|
# range in a round-robin fashion.
|
|
|
|
#
|
2002-05-01 00:42:57 +02:00
|
|
|
# The port that the server is listening on may be
|
|
|
|
# included and separated from the server's IP address by
|
|
|
|
# ":". If omitted, the firewall will not modifiy the
|
2002-07-25 21:01:17 +02:00
|
|
|
# destination port. A destination port may only be
|
|
|
|
# included if the ACTION is DNAT or REDIRECT.
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# Example: net:155.186.235.1:25 specifies a Internet
|
|
|
|
# server at IP address 155.186.235.1 and listening on port
|
|
|
|
# 25. The port number MUST be specified as an integer
|
2002-05-01 00:42:57 +02:00
|
|
|
# and not as a name from /etc/services.
|
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# If the ACTION is REDIRECT, this column needs only to
|
2002-05-18 21:48:34 +02:00
|
|
|
# contain the port number on the firewall that the
|
|
|
|
# request should be redirected to.
|
|
|
|
#
|
2002-05-01 00:42:57 +02:00
|
|
|
# PROTO Protocol - Must be "tcp", "udp", "icmp", a number,
|
2003-03-12 21:55:17 +01:00
|
|
|
# "all".
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# DEST PORT(S) Destination Ports. A comma-separated list of Port
|
2002-05-18 21:48:34 +02:00
|
|
|
# names (from /etc/services), port numbers or port
|
|
|
|
# ranges; if the protocol is "icmp", this column is
|
|
|
|
# interpreted as the destination icmp-type(s).
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2002-07-25 21:01:17 +02:00
|
|
|
# A port range is expressed as <low port>:<high port>.
|
2003-03-12 21:55:17 +01:00
|
|
|
#
|
2002-05-01 00:42:57 +02:00
|
|
|
# This column is ignored if PROTOCOL = all but must be
|
2003-07-21 20:01:35 +02:00
|
|
|
# entered if any of the following fields are supplied.
|
2002-05-01 00:42:57 +02:00
|
|
|
# In that case, it is suggested that this field contain
|
|
|
|
# "-"
|
|
|
|
#
|
2003-07-21 20:01:35 +02:00
|
|
|
# If your kernel contains multi-port match support, then
|
2002-06-25 21:27:55 +02:00
|
|
|
# only a single Netfilter rule will be generated if in
|
|
|
|
# this list and the CLIENT PORT(S) list below:
|
|
|
|
# 1. There are 15 or less ports listed.
|
|
|
|
# 2. No port ranges are included.
|
|
|
|
# Otherwise, a separate rule will be generated for each
|
|
|
|
# port.
|
|
|
|
#
|
2002-05-01 00:42:57 +02:00
|
|
|
# CLIENT PORT(S) (Optional) Port(s) used by the client. If omitted,
|
2002-05-18 21:48:34 +02:00
|
|
|
# any source port is acceptable. Specified as a comma-
|
|
|
|
# separated list of port names, port numbers or port
|
|
|
|
# ranges.
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
|
|
|
# If you don't want to restrict client ports but need to
|
|
|
|
# specify an ADDRESS in the next column, then place "-"
|
|
|
|
# in this column.
|
|
|
|
#
|
2003-07-21 20:01:35 +02:00
|
|
|
# If your kernel contains multi-port match support, then
|
2002-06-25 21:27:55 +02:00
|
|
|
# only a single Netfilter rule will be generated if in
|
|
|
|
# this list and the DEST PORT(S) list above:
|
|
|
|
# 1. There are 15 or less ports listed.
|
|
|
|
# 2. No port ranges are included.
|
|
|
|
# Otherwise, a separate rule will be generated for each
|
|
|
|
# port.
|
|
|
|
#
|
2003-06-08 21:51:18 +02:00
|
|
|
# ORIGINAL DEST (0ptional -- only allowed if ACTION is DNAT[-] or
|
|
|
|
# REDIRECT[-]) If included and different from the IP
|
2002-05-01 00:42:57 +02:00
|
|
|
# address given in the SERVER column, this is an address
|
|
|
|
# on some interface on the firewall and connections to
|
|
|
|
# that address will be forwarded to the IP and port
|
2002-05-18 21:48:34 +02:00
|
|
|
# specified in the DEST column.
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-07-21 20:01:35 +02:00
|
|
|
# A comma separated list of addresses may also be used.
|
|
|
|
# This is usually most useful with the REDIRECT target
|
|
|
|
# where you want to redirect traffic destined for
|
|
|
|
# a particular set of hosts.
|
|
|
|
#
|
|
|
|
# Finally, if the list of addresses begines with "!" then
|
|
|
|
# the rule will be followed only if the original
|
|
|
|
# destination address in the connection request does not
|
|
|
|
# match any of the addresses listed.
|
|
|
|
#
|
2002-05-18 21:48:34 +02:00
|
|
|
# The address may optionally be followed by
|
|
|
|
# a colon (":") and a second IP address. This causes
|
|
|
|
# Shorewall to use the second IP address as the source
|
|
|
|
# address in forwarded packets. See the Shorewall
|
|
|
|
# documentation for restrictions concerning this feature.
|
|
|
|
# If no source IP address is given, the original source
|
|
|
|
# address is not altered.
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# Also by default all outbound loc -> net communications are allowed.
|
|
|
|
# You can change this behavior in the sample policy file.
|
|
|
|
#
|
|
|
|
# Example: Accept www requests to the firewall.
|
|
|
|
#
|
|
|
|
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
|
|
|
# # PORT PORT(S) DEST
|
|
|
|
# ACCEPT net fw tcp http
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# Example: Accept SMTP requests from the Local Network to the Internet
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
|
|
|
# # PORT PORT(S) DEST
|
|
|
|
# ACCEPT loc net tcp smtp
|
|
|
|
#
|
|
|
|
# Example: Forward all ssh and http connection requests from the Internet
|
|
|
|
# to dmz system 192.168.2.3
|
|
|
|
#
|
|
|
|
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
|
|
|
# # PORT PORT(S) DEST
|
|
|
|
# DNAT net dmz:192.168.2.3 tcp ssh,http
|
|
|
|
#
|
|
|
|
# Example: Redirect all locally-originating www connection requests to
|
|
|
|
# port 3128 on the firewall (Squid running on the firewall
|
|
|
|
# system) except when the destination address is 192.168.2.2
|
|
|
|
#
|
|
|
|
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
|
|
|
# # PORT PORT(S) DEST
|
|
|
|
# REDIRECT loc 3128 tcp www - !192.168.2.2
|
|
|
|
#
|
|
|
|
# Example: All http requests from the Internet to address
|
|
|
|
# 130.252.100.69 are to be forwarded to 192.168.1.3
|
|
|
|
#
|
|
|
|
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
|
|
|
# # PORT PORT(S) DEST
|
|
|
|
# DNAT net loc:192.168.1.3 tcp 80 - 130.252.100.69
|
|
|
|
##############################################################################
|
|
|
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
|
|
|
# PORT PORT(S) DEST
|
2002-05-18 21:48:34 +02:00
|
|
|
#
|
2003-04-06 23:41:28 +02:00
|
|
|
# Accept DNS connections from the firewall to the Internet
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
ACCEPT fw net tcp 53
|
|
|
|
ACCEPT fw net udp 53
|
2002-05-18 21:48:34 +02:00
|
|
|
#
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-03-12 21:55:17 +01:00
|
|
|
# Accept SSH connections from the local network to the firewall and DMZ
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-04-06 23:41:28 +02:00
|
|
|
ACCEPT loc fw tcp 22
|
|
|
|
ACCEPT loc dmz tcp 22
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-04-06 23:41:28 +02:00
|
|
|
# DMZ DNS access to the Internet
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-04-06 23:41:28 +02:00
|
|
|
ACCEPT dmz net tcp 53
|
|
|
|
ACCEPT dmz net udp 53
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-07-21 20:01:35 +02:00
|
|
|
# Make ping work bi-directionally between the dmz, net, Firewall and local zone
|
2003-03-13 02:15:49 +01:00
|
|
|
# (assumes that the loc-> net policy is ACCEPT).
|
2002-05-01 00:42:57 +02:00
|
|
|
#
|
2003-04-06 23:41:28 +02:00
|
|
|
ACCEPT net fw icmp 8
|
|
|
|
ACCEPT loc fw icmp 8
|
|
|
|
ACCEPT dmz fw icmp 8
|
|
|
|
ACCEPT loc dmz icmp 8
|
|
|
|
ACCEPT dmz loc icmp 8
|
|
|
|
ACCEPT dmz net icmp 8
|
|
|
|
ACCEPT fw loc icmp 8
|
|
|
|
ACCEPT fw dmz icmp 8
|
|
|
|
ACCEPT net dmz icmp 8 # Only with Proxy ARP and
|
|
|
|
ACCEPT net loc icmp 8 # static NAT
|
2002-05-01 00:42:57 +02:00
|
|
|
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
|