forked from extern/shorewall_code
Shorewall-1.4.6
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@672 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
7a02da79e0
commit
07d90b6fe4
@ -20,7 +20,7 @@
|
||||
# ZONE - The name of a zone defined in /etc/shorewall/zones
|
||||
#
|
||||
# HOST(S) - The name of an interface followed by a colon (":") and
|
||||
# either:
|
||||
# a comma-separated list whose elements are either:
|
||||
#
|
||||
# a) The IP address of a host
|
||||
# b) A subnetwork in the form
|
||||
@ -33,6 +33,7 @@
|
||||
#
|
||||
# eth1:192.168.1.3
|
||||
# eth2:192.168.2.0/24
|
||||
# eth3:192.168.2.0/24,192.168.3.1
|
||||
#
|
||||
# OPTIONS - A comma-separated list of options. Currently-defined
|
||||
# options are:
|
||||
|
@ -20,6 +20,10 @@
|
||||
# an alias (e.g., eth0:0) here; see
|
||||
# http://www.shorewall.net/FAQ.htm#faq18
|
||||
#
|
||||
# You may specify wildcards here. For example, if you
|
||||
# want to make an entry that applies to all PPP
|
||||
# interfaces, use 'ppp+'.
|
||||
#
|
||||
# DO NOT DEFINE THE LOOPBACK INTERFACE (lo) IN THIS FILE.
|
||||
#
|
||||
# BROADCAST The broadcast address for the subnetwork to which the
|
||||
@ -89,6 +93,16 @@
|
||||
# sub-networking as described at:
|
||||
# http://www.tldp.org/HOWTO/mini/Proxy-ARP-Subnet
|
||||
#
|
||||
# newnotsyn - TCP packets that don't have the SYN
|
||||
# flag set and which are not part of an
|
||||
# established connection will be accepted
|
||||
# from this interface, even if
|
||||
# NEWNOTSYN=No has been specified in
|
||||
# /etc/shorewall/shorewall.conf.
|
||||
#
|
||||
# This option has no effect if
|
||||
# NEWNOTSYN=Yes.
|
||||
#
|
||||
# The order in which you list the options is not
|
||||
# significant but the list should have no embedded white
|
||||
# space.
|
||||
|
@ -42,12 +42,15 @@
|
||||
# will automatically add this address to the
|
||||
# INTERFACE named in the first column.
|
||||
#
|
||||
# WARNING: Do NOT specify ADD_SNAT_ALIASES=Yes if
|
||||
# the address given in this column is the primary
|
||||
# IP address for the interface in the INTERFACE
|
||||
# column.
|
||||
# You may also specify a range of up to 256
|
||||
# IP addresses if you want the SNAT address to
|
||||
# be assigned from that range in a round-robin
|
||||
# range by connection. The range is specified by
|
||||
# <first ip in range>-<last ip in range>.
|
||||
#
|
||||
# This column may not contain a DNS Name.
|
||||
# Example: 206.124.146.177-206.124.146.180
|
||||
#
|
||||
# This column may not contain DNS Names.
|
||||
#
|
||||
# Example 1:
|
||||
#
|
||||
|
@ -107,6 +107,12 @@
|
||||
# 3. You may not specify both an interface and
|
||||
# an address.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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
|
||||
@ -137,7 +143,7 @@
|
||||
# In that case, it is suggested that this field contain
|
||||
# "-"
|
||||
#
|
||||
# If MULTIPORT=Yes in /etc/shorewall/shorewall.conf, then
|
||||
# If your kernel contains multi-port match support, then
|
||||
# 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.
|
||||
@ -154,7 +160,7 @@
|
||||
# specify an ADDRESS in the next column, then place "-"
|
||||
# in this column.
|
||||
#
|
||||
# If MULTIPORT=Yes in /etc/shorewall/shorewall.conf, then
|
||||
# If your kernel contains multi-port match support, then
|
||||
# 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.
|
||||
@ -214,6 +220,14 @@
|
||||
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
||||
# # PORT PORT(S) DEST
|
||||
# DNAT net loc:192.168.1.3 tcp 80 - 130.252.100.69
|
||||
#
|
||||
# Example: You want to accept SSH connections to your firewall only
|
||||
# from internet IP addresses 130.252.100.69 and 130.252.100.70
|
||||
#
|
||||
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
||||
# # PORT PORT(S) DEST
|
||||
# ACCEPT net:130.252.100.69,130.252.100.70 \
|
||||
# tcp 22
|
||||
##############################################################################
|
||||
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
||||
# PORT PORT(S) DEST
|
||||
|
@ -67,14 +67,14 @@ LOGFILE=/var/log/messages
|
||||
#
|
||||
# If you want to integrate Shorewall with fireparse, then set LOGFORMAT as:
|
||||
#
|
||||
# LOGFORMAT="fp=%s:%d a=%s "
|
||||
# LOGFORMAT="fp=%s:%d a=%s "
|
||||
#
|
||||
# If not specified or specified as empty (LOGFORMAT="") then the value
|
||||
# "Shorewall:%s:%s:" is assumed.
|
||||
#
|
||||
# CAUTION: /sbin/shorewall uses the leading part of the LOGFORMAT string (up
|
||||
#
|
||||
# CAUTION: /sbin/shorewall uses the leading part of the LOGFORMAT string (up
|
||||
# to but not including the first '%') to find log messages in the 'show log',
|
||||
# 'status' and 'hits' commands. This part should not be omitted (the
|
||||
# 'status' and 'hits' commands. This part should not be omitted (the
|
||||
# LOGFORMAT should not begin with "%") and the leading part should be
|
||||
# sufficiently unique for /sbin/shorewall to identify Shorewall messages.
|
||||
|
||||
@ -144,7 +144,7 @@ BLACKLIST_LOGLEVEL=
|
||||
# Example: LOGNEWNOTSYN=debug
|
||||
|
||||
|
||||
LOGNEWNOTSYN=
|
||||
LOGNEWNOTSYN=info
|
||||
|
||||
#
|
||||
# MAC List Log Level
|
||||
@ -191,6 +191,14 @@ RFC1918_LOG_LEVEL=info
|
||||
#
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
|
||||
|
||||
#
|
||||
# SHELL
|
||||
#
|
||||
# The firewall script is normally interpreted by /bin/sh. If you wish to change
|
||||
# the shell used to interpret that script, specify the shell here.
|
||||
|
||||
SHOREWALL_SHELL=/bin/sh
|
||||
|
||||
# SUBSYSTEM LOCK FILE
|
||||
#
|
||||
# Set this to the name of the lock file expected by your init scripts. For
|
||||
@ -230,24 +238,6 @@ MODULESDIR=
|
||||
#
|
||||
FW=fw
|
||||
|
||||
#
|
||||
# ENABLE NAT SUPPORT
|
||||
#
|
||||
# You probally want yes here. Only gateways not doing NAT in any form, like
|
||||
# SNAT,DNAT masquerading, port forwading etc. should say "no" here.
|
||||
#
|
||||
NAT_ENABLED=Yes
|
||||
|
||||
#
|
||||
# ENABLE MANGLE SUPPORT
|
||||
#
|
||||
# If you say "no" here, Shorewall will ignore the /etc/shorewall/tos file
|
||||
# and will not initialize the mangle table when starting or stopping
|
||||
# your firewall. You must enable mangling if you want Traffic Shaping
|
||||
# (see TC_ENABLED below).
|
||||
#
|
||||
MANGLE_ENABLED=Yes
|
||||
|
||||
#
|
||||
# ENABLE IP FORWARDING
|
||||
#
|
||||
@ -378,26 +368,6 @@ ROUTE_FILTER=No
|
||||
|
||||
NAT_BEFORE_RULES=Yes
|
||||
|
||||
# MULTIPORT support
|
||||
#
|
||||
# If your kernel includes the multiport match option
|
||||
# (CONFIG_IP_NF_MATCH_MULTIPORT), you may enable it's use here. When this
|
||||
# option is enabled by setting it's value to "Yes" or "yes":
|
||||
#
|
||||
# 1) If you list more that 15 ports in a comma-seperated list in
|
||||
# /etc/shorewall/rules, Shorewall will not use the multiport option
|
||||
# but will generate a separate rule for each element of each port
|
||||
# list.
|
||||
# 2) If you include a port range (<low port>:<high port>) in the
|
||||
# rule, Shorewall will not use the multiport option but will generate
|
||||
# a separate rule for each element of each port list.
|
||||
#
|
||||
# See the /etc/shorewall/rules file for additional information on this option.
|
||||
#
|
||||
# if this variable is not set or is set to the empty value, "No" is assumed.
|
||||
|
||||
MULTIPORT=No
|
||||
|
||||
# DNAT IP ADDRESS DETECTION
|
||||
#
|
||||
# Normally when Shorewall encounters the following rule:
|
||||
@ -447,7 +417,7 @@ MUTEX_TIMEOUT=60
|
||||
#
|
||||
# NEWNOTSYN
|
||||
#
|
||||
# If this variable is set to "No" or "no", then When a TCP packet that does
|
||||
# If this variable is set to "No" or "no", then when a TCP packet that does
|
||||
# not have the SYN flag set and the ACK and RST flags clear then unless the
|
||||
# packet is part of an established connection, it will be dropped by the
|
||||
# firewall
|
||||
@ -458,6 +428,9 @@ MUTEX_TIMEOUT=60
|
||||
# Users with a High-availability setup with two firewall's and one acting
|
||||
# as a backup should set NEWNOTSYN=Yes. Users with asymmetric routing may
|
||||
# also need to select NEWNOTSYN=Yes.
|
||||
#
|
||||
# The behavior of NEWNOTSYN=Yes may also be enabled on a per-interface basis
|
||||
# using the 'newnotsyn' option in /etc/shorewall/interfaces.
|
||||
|
||||
NEWNOTSYN=No
|
||||
|
||||
|
@ -82,6 +82,22 @@
|
||||
# be automatically reinstated the
|
||||
# next time that Shorewall starts.
|
||||
#
|
||||
# shorewall ipaddr [ <address>/<cidr> | <address> <netmask> ]
|
||||
#
|
||||
# Displays information about the network
|
||||
# defined by the argument[s]
|
||||
#
|
||||
# shorewall iprange <address>-<address> Decomposes a range of IP addresses into
|
||||
# a list of network/host addresses.
|
||||
#
|
||||
# Fatal Error
|
||||
#
|
||||
fatal_error() # $@ = Message
|
||||
{
|
||||
echo " $@" >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
# Display a chain if it exists
|
||||
#
|
||||
|
||||
@ -138,6 +154,13 @@ get_config() {
|
||||
[ -n "LOGFORMAT" ] && LOGFORMAT="${LOGFORMAT%%%*}"
|
||||
|
||||
[ -n "$LOGFORMAT" ] || LOGFORMAT="Shorewall:"
|
||||
|
||||
if [ -n "$SHOREWALL_SHELL" ]; then
|
||||
if [ ! -e "$SHOREWALL_SHELL" ]; then
|
||||
echo "The program specified in SHOREWALL_SHELL does not exist or is not executable" >&2
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
@ -521,6 +544,8 @@ usage() # $1 = exit status
|
||||
echo " reject <address> ..."
|
||||
echo " allow <address> ..."
|
||||
echo " save"
|
||||
echo " ipcalc [ <address>/<vlsm> | <address> <netmask> ]"
|
||||
echo " iprange <address>-<address>"
|
||||
exit $1
|
||||
}
|
||||
|
||||
@ -653,11 +678,13 @@ esac
|
||||
case "$1" in
|
||||
start|stop|restart|reset|clear|refresh|check)
|
||||
[ $# -ne 1 ] && usage 1
|
||||
exec $FIREWALL $debugging $nolock $1
|
||||
get_config
|
||||
exec $SHOREWALL_SHELL $FIREWALL $debugging $nolock $1
|
||||
;;
|
||||
add|delete)
|
||||
[ $# -ne 3 ] && usage 1
|
||||
exec $FIREWALL $debugging $nolock $1 $2 $3
|
||||
get_config
|
||||
exec $SHOREWALL_SHELL $FIREWALL $debugging $nolock $1 $2 $3
|
||||
;;
|
||||
show|list)
|
||||
[ $# -gt 2 ] && usage 1
|
||||
@ -860,7 +887,48 @@ case "$1" in
|
||||
fi
|
||||
mutex_off
|
||||
;;
|
||||
ipcalc)
|
||||
if [ $# -eq 2 ]; then
|
||||
address=${2%/*}
|
||||
vlsm=${2#*/}
|
||||
elif [ $# -eq 3 ]; then
|
||||
address=$2
|
||||
vlsm=`ip_vlsm $3`
|
||||
else
|
||||
usage 1
|
||||
fi
|
||||
|
||||
[ -z "$vlsm" ] && exit 2
|
||||
[ "x$address" = "x$vlsm" ] && usage 2
|
||||
[ $vlsm -gt 32 ] && echo "Invalid VLSM: /$vlsm" >&2 && exit 2
|
||||
|
||||
address=$address/$vlsm
|
||||
|
||||
echo " CIDR=$address"
|
||||
temp=`ip_netmask $address`; echo " NETMASK=`encodeaddr $temp`"
|
||||
temp=`ip_network $address`; echo " NETWORK=$temp"
|
||||
temp=`broadcastaddress $address`; echo " BROADCAST=$temp"
|
||||
;;
|
||||
|
||||
iprange)
|
||||
case $2 in
|
||||
*.*.*.*-*.*.*.*)
|
||||
ip_range $2
|
||||
;;
|
||||
*)
|
||||
usage 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
call)
|
||||
#
|
||||
# Undocumented way to call functions in /usr/share/shorewall/functions directly
|
||||
#
|
||||
shift;
|
||||
$@
|
||||
;;
|
||||
*)
|
||||
usage 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
@ -233,8 +233,7 @@ createchain() # $1 = chain name, $2 = If "yes", create default rules
|
||||
run_iptables -N $1
|
||||
|
||||
if [ $2 = yes ]; then
|
||||
state="ESTABLISHED,RELATED"
|
||||
run_iptables -A $1 -m state --state $state -j ACCEPT
|
||||
run_iptables -A $1 -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
[ -z "$NEWNOTSYN" ] && \
|
||||
run_iptables -A $1 -m state --state NEW -p tcp ! --syn -j newnotsyn
|
||||
fi
|
||||
@ -495,10 +494,17 @@ first_chains() #$1 = interface
|
||||
#
|
||||
find_hosts() # $1 = host zone
|
||||
{
|
||||
local hosts
|
||||
local hosts interface address addresses
|
||||
|
||||
while read z hosts options; do
|
||||
[ "x`expand $z`" = "x$1" ] && expandv hosts && echo `separate_list $hosts`
|
||||
if [ "x`expand $z`" = "x$1" ]; then
|
||||
expandv hosts
|
||||
interface=${hosts%:*}
|
||||
addresses=${hosts#*:}
|
||||
for address in `separate_list $addresses`; do
|
||||
echo $interface:$address
|
||||
done
|
||||
fi
|
||||
done < $TMP_DIR/hosts
|
||||
}
|
||||
|
||||
@ -608,7 +614,7 @@ validate_interfaces_file() {
|
||||
|
||||
for option in $options; do
|
||||
case $option in
|
||||
dhcp|norfc1918|tcpflags)
|
||||
dhcp|norfc1918|tcpflags|newnotsyn)
|
||||
;;
|
||||
routefilter|dropunclean|logunclean|blacklist|proxyarp|maclist|-)
|
||||
;;
|
||||
@ -636,18 +642,20 @@ validate_hosts_file() {
|
||||
r="$z $hosts $options"
|
||||
validate_zone $z || startup_error "Invalid zone ($z) in record \"$r\""
|
||||
|
||||
interface=${hosts%:*}
|
||||
|
||||
list_search $interface $all_interfaces || \
|
||||
startup_error "Unknown interface ($interface) in record \"$r\""
|
||||
|
||||
hosts=${hosts#*:}
|
||||
|
||||
for host in `separate_list $hosts`; do
|
||||
interface=${host%:*}
|
||||
|
||||
list_search $interface $all_interfaces || \
|
||||
startup_error "Unknown interface ($interface) in record \"$r\""
|
||||
|
||||
for option in `separate_list $options`; do
|
||||
case $option in
|
||||
maclist|-)
|
||||
;;
|
||||
routeback)
|
||||
eval ${z}_routeback=\"$host \$${z}_routeback\"
|
||||
eval ${z}_routeback=\"$interface:$host \$${z}_routeback\"
|
||||
;;
|
||||
*)
|
||||
error_message "Warning: Invalid option ($option) in record \"$r\""
|
||||
@ -689,7 +697,7 @@ validate_policy()
|
||||
[ $1 = $2 ] || \
|
||||
[ $1 = all ] || \
|
||||
[ $2 = all ] || \
|
||||
echo " Policy for $1 to $2 is $policy"
|
||||
echo " Policy for $1 to $2 is $policy using chain $chain"
|
||||
}
|
||||
|
||||
all_policy_chains=
|
||||
@ -832,6 +840,15 @@ find_interface_address() # $1 = interface
|
||||
echo $addr | sed 's/inet //;s/\/.*//;s/ peer.*//'
|
||||
}
|
||||
|
||||
#
|
||||
# Find interface addresses--returns the set of addresses assigned to the passed
|
||||
# device
|
||||
#
|
||||
find_interface_addresses() # $1 = interface
|
||||
{
|
||||
ip addr show $1 | grep inet | sed 's/inet //;s/\/.*//;s/ peer.*//'
|
||||
}
|
||||
|
||||
#
|
||||
# Find interfaces that have the passed option specified
|
||||
#
|
||||
@ -848,10 +865,18 @@ find_interfaces_by_option() # $1 = option
|
||||
#
|
||||
find_hosts_by_option() # $1 = option
|
||||
{
|
||||
local ignore hosts interface address addresses options
|
||||
|
||||
while read ignore hosts options; do
|
||||
expandv options
|
||||
list_search $1 `separate_list $options` && \
|
||||
echo `expand $hosts`
|
||||
if list_search $1 `separate_list $options`; then
|
||||
expandv hosts
|
||||
interface=${hosts%:*}
|
||||
addresses=${hosts#*:}
|
||||
for address in `separate_list $addresses`; do
|
||||
echo $interface:$address
|
||||
done
|
||||
fi
|
||||
done < $TMP_DIR/hosts
|
||||
|
||||
for interface in $all_interfaces; do
|
||||
@ -1685,14 +1710,16 @@ check_config() {
|
||||
|
||||
disclaimer() {
|
||||
echo
|
||||
echo "WARNING: THE 'check' COMMAND IS TOTALLY UNSUPPORTED AND PROBLEM"
|
||||
echo " REPORTS COMPLAINING ABOUT ERRORS THAT IT DIDN'T CATCH"
|
||||
echo " WILL NOT BE ACCEPTED"
|
||||
echo "Notice: The 'check' command is unsupported and problem"
|
||||
echo " reports complaining about errors that it didn't catch"
|
||||
echo " will not be accepted"
|
||||
echo
|
||||
}
|
||||
|
||||
disclaimer
|
||||
|
||||
report_capabilities
|
||||
|
||||
echo "Verifying Configuration..."
|
||||
|
||||
verify_os_version
|
||||
@ -1839,7 +1866,11 @@ add_nat_rule() {
|
||||
|
||||
if [ -n "$serv" ]; then
|
||||
servport="${servport:+:$servport}"
|
||||
target1="DNAT --to-destination ${serv}${servport}"
|
||||
serv1=
|
||||
for srv in `separate_list $serv`; do
|
||||
serv1="$serv1 --to-destination ${srv}${servport}"
|
||||
done
|
||||
target1="DNAT $serv1"
|
||||
else
|
||||
target1="REDIRECT --to-port $servport"
|
||||
fi
|
||||
@ -1856,7 +1887,10 @@ add_nat_rule() {
|
||||
chain=nonat${nonat_seq}
|
||||
nonat_seq=$(($nonat_seq + 1))
|
||||
createnatchain $chain
|
||||
run_iptables -t nat -A OUTPUT $cli $proto $multiport $sports $dports -j $chain
|
||||
|
||||
for adr in `separate_list $addr`; do
|
||||
run_iptables2 -t nat -A OUTPUT $cli $proto $multiport $sports $dports -d $adr -j $chain
|
||||
done
|
||||
|
||||
for adr in $excludedests; do
|
||||
addnatrule $chain -d $adr -j RETURN
|
||||
@ -1866,11 +1900,15 @@ add_nat_rule() {
|
||||
log_rule $loglevel $chain $logtarget -t nat
|
||||
fi
|
||||
|
||||
addnatrule $chain -j $target1
|
||||
addnatrule $chain $proto -j $target1 # Protocol is necessary for port redirection
|
||||
else
|
||||
for adr in `separate_list $addr`; do
|
||||
run_iptables2 -t nat -A OUTPUT $proto $sports -d $adr \
|
||||
$multiport $dports -j $target1
|
||||
if [ -n "$loglevel" ]; then
|
||||
log_rule $loglevel $OUTPUT $logtarget -t nat \
|
||||
`fix_bang $proto $cli $sports -d $adr $multiport $dports`
|
||||
fi
|
||||
|
||||
run_iptables2 -t nat -A OUTPUT $proto $sports -d $adr $multiport $dports -j $target1
|
||||
done
|
||||
fi
|
||||
else
|
||||
@ -1880,13 +1918,15 @@ add_nat_rule() {
|
||||
chain=nonat${nonat_seq}
|
||||
nonat_seq=$(($nonat_seq + 1))
|
||||
createnatchain $chain
|
||||
addnatrule `dnat_chain $source` $cli $proto $multiport $sports $dports -j $chain
|
||||
|
||||
for adr in `separate_list $addr`; do
|
||||
addnatrule `dnat_chain $source` $cli $proto $multiport $sports $dports -d $adr -j $chain
|
||||
done
|
||||
|
||||
for z in $excludezones; do
|
||||
eval hosts=\$${z}_hosts
|
||||
for host in $hosts; do
|
||||
for adr in `separate_list $addr`; do
|
||||
addnatrule $chain -s ${host#*:} -d $adr -j RETURN
|
||||
done
|
||||
addnatrule $chain -s ${host#*:} -j RETURN
|
||||
done
|
||||
done
|
||||
|
||||
@ -1894,13 +1934,11 @@ add_nat_rule() {
|
||||
addnatrule $chain -d $adr -j RETURN
|
||||
done
|
||||
|
||||
for adr in `separate_list $addr`; do
|
||||
if [ -n "$loglevel" ]; then
|
||||
log_rule $loglevel $chain $logtarget -t nat -d `fix_bang $adr`
|
||||
fi
|
||||
if [ -n "$loglevel" ]; then
|
||||
log_rule $loglevel $chain $logtarget -t nat
|
||||
fi
|
||||
|
||||
addnatrule $chain -d $adr -j $target1
|
||||
done
|
||||
addnatrule $chain $proto -j $target1 # Protocol is necessary for port redirection
|
||||
else
|
||||
for adr in `separate_list $addr`; do
|
||||
if [ -n "$loglevel" ]; then
|
||||
@ -1943,6 +1981,8 @@ add_nat_rule() {
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
[ "x$addr" = "x0.0.0.0/0" ] && addr=
|
||||
}
|
||||
|
||||
#
|
||||
@ -2015,9 +2055,12 @@ add_a_rule()
|
||||
servport=$serverport
|
||||
multiport=
|
||||
|
||||
[ x$port = x- ] && port=
|
||||
[ x$cport = x- ] && cport=
|
||||
|
||||
case $proto in
|
||||
tcp|udp|TCP|UDP|6|17)
|
||||
if [ -n "$port" -a "x${port}" != "x-" ]; then
|
||||
if [ -n "$port" ]; then
|
||||
dports="--dport"
|
||||
if [ -n "$multioption" -a "$port" != "${port%,*}" ]; then
|
||||
multiport="$multioption"
|
||||
@ -2026,7 +2069,7 @@ add_a_rule()
|
||||
dports="$dports $port"
|
||||
fi
|
||||
|
||||
if [ -n "$cport" -a "x${cport}" != "x-" ]; then
|
||||
if [ -n "$cport" ]; then
|
||||
sports="--sport"
|
||||
if [ -n "$multioption" -a "$cport" != "${cport%,*}" ]; then
|
||||
multiport="$multioption"
|
||||
@ -2036,18 +2079,17 @@ add_a_rule()
|
||||
fi
|
||||
;;
|
||||
icmp|ICMP|1)
|
||||
[ -n "$port" ] && [ "x${port}" != "x-" ] && \
|
||||
dports="--icmp-type $port"
|
||||
[ -n "$port" ] && dports="--icmp-type $port"
|
||||
state=
|
||||
;;
|
||||
all|ALL)
|
||||
[ -n "$port" ] && [ "x${port}" != "x-" ] && \
|
||||
fatal_error "Port number not allowed with \"all\"; rule: \"$rule\""
|
||||
[ -n "$port" ] && \
|
||||
fatal_error "Port number not allowed with protocol \"all\"; rule: \"$rule\""
|
||||
proto=
|
||||
;;
|
||||
*)
|
||||
state=
|
||||
[ -n "$port" ] && [ "x${port}" != "x-" ] && \
|
||||
[ -n "$port" ] && \
|
||||
fatal_error "Port number not allowed with protocol \"$proto\"; rule: \"$rule\""
|
||||
;;
|
||||
esac
|
||||
@ -2098,15 +2140,39 @@ add_a_rule()
|
||||
fi
|
||||
|
||||
if [ -z "$dnat_only" -a $chain != ${FW}2${FW} ]; then
|
||||
serv="${serv:+-d $serv}"
|
||||
if [ -n "$serv" ]; then
|
||||
for serv1 in `separate_list $serv`; do
|
||||
for srv in `ip_range $serv1`; do
|
||||
if [ -n "$addr" -a -n "$CONNTRACK_MATCH" ]; then
|
||||
for adr in `separate_list $addr`; do
|
||||
if [ -n "$loglevel" -a -z "$natrule" ]; then
|
||||
log_rule $loglevel $chain $logtarget -m conntrack --ctorigdst $adr \
|
||||
`fix_bang $proto $sports $multiport $state $cli -d $srv $dports`
|
||||
fi
|
||||
|
||||
if [ -n "$loglevel" -a -z "$natrule" ]; then
|
||||
log_rule $loglevel $chain $logtarget \
|
||||
`fix_bang $proto $sports $multiport $state $cli $serv $dports`
|
||||
run_iptables2 -A $chain $proto $multiport $state $cli $sports \
|
||||
-d $srv $dports -m conntrack --ctorigdst $adr -j $target
|
||||
done
|
||||
else
|
||||
if [ -n "$loglevel" -a -z "$natrule" ]; then
|
||||
log_rule $loglevel $chain $logtarget \
|
||||
`fix_bang $proto $sports $multiport $state $cli -d $srv $dports`
|
||||
fi
|
||||
|
||||
run_iptables2 -A $chain $proto $multiport $state $cli $sports \
|
||||
-d $srv $dports -j $target
|
||||
fi
|
||||
done
|
||||
done
|
||||
else
|
||||
if [ -n "$loglevel" -a -z "$natrule" ]; then
|
||||
log_rule $loglevel $chain $logtarget \
|
||||
`fix_bang $proto $sports $multiport $state $cli $dports`
|
||||
fi
|
||||
|
||||
run_iptables2 -A $chain $proto $multiport $state $cli $sports \
|
||||
$dports -j $target
|
||||
fi
|
||||
|
||||
run_iptables2 -A $chain $proto $multiport $state $cli $sports \
|
||||
$serv $dports -j $target
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@ -2218,11 +2284,11 @@ process_rule() # $1 = target
|
||||
fatal_error "Empty source zone or qualifier: rule \"$rule\""
|
||||
fi
|
||||
|
||||
if [ "$clientzone" = "${clientzone%\!*}" ]; then
|
||||
if [ "$clientzone" = "${clientzone%!*}" ]; then
|
||||
excludezones=
|
||||
else
|
||||
excludezones="${clientzone#*\!}"
|
||||
clientzone="${clientzone%\!*}"
|
||||
excludezones="${clientzone#*!}"
|
||||
clientzone="${clientzone%!*}"
|
||||
|
||||
[ "$logtarget" = DNAT ] || [ "$logtarget" = REDIRECT ] ||\
|
||||
fatal_error "Exclude list only allowed with DNAT or REDIRECT"
|
||||
@ -2293,42 +2359,83 @@ process_rule() # $1 = target
|
||||
|
||||
# Generate Netfilter rule(s)
|
||||
|
||||
if [ -n "$MULTIPORT" -a \
|
||||
"$ports" = "${ports%:*}" -a \
|
||||
"$cports" = "${cports%:*}" -a \
|
||||
`list_count $ports` -le 15 -a \
|
||||
`list_count $cports` -le 15 ]
|
||||
then
|
||||
#
|
||||
# MULTIPORT is enabled, there are no port ranges in the rule and less than
|
||||
# 16 ports are listed - use multiport match.
|
||||
#
|
||||
multioption="-m multiport"
|
||||
for client in `separate_list ${clients:=-}`; do
|
||||
for server in `separate_list ${servers:=-}`; do
|
||||
#
|
||||
# add_a_rule() modifies these so we must set their values each time
|
||||
#
|
||||
port=${ports:=-}
|
||||
cport=${cports:=-}
|
||||
add_a_rule
|
||||
done
|
||||
done
|
||||
else
|
||||
#
|
||||
# MULTIPORT is disabled or the rule isn't compatible with multiport match
|
||||
#
|
||||
multioption=
|
||||
for client in `separate_list ${clients:=-}`; do
|
||||
for server in `separate_list ${servers:=-}`; do
|
||||
for port in `separate_list ${ports:=-}`; do
|
||||
for cport in `separate_list ${cports:=-}`; do
|
||||
case $logtarget in
|
||||
DNAT*)
|
||||
if [ -n "$MULTIPORT" -a \
|
||||
"$ports" = "${ports%:*}" -a \
|
||||
"$cports" = "${cports%:*}" -a \
|
||||
`list_count $ports` -le 15 -a \
|
||||
`list_count $cports` -le 15 ]
|
||||
then
|
||||
#
|
||||
# MULTIPORT is enabled, there are no port ranges in the rule and less than
|
||||
# 16 ports are listed - use multiport match.
|
||||
#
|
||||
multioption="-m multiport"
|
||||
for client in `separate_list ${clients:=-}`; do
|
||||
#
|
||||
# add_a_rule() modifies these so we must set their values each time
|
||||
#
|
||||
server=${servers:=-}
|
||||
port=${ports:=-}
|
||||
cport=${cports:=-}
|
||||
add_a_rule
|
||||
done
|
||||
else
|
||||
#
|
||||
# MULTIPORT is disabled or the rule isn't compatible with multiport match
|
||||
#
|
||||
multioption=
|
||||
for client in `separate_list ${clients:=-}`; do
|
||||
for port in `separate_list ${ports:=-}`; do
|
||||
for cport in `separate_list ${cports:=-}`; do
|
||||
server=${servers:=-}
|
||||
add_a_rule
|
||||
done
|
||||
done
|
||||
done
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
|
||||
if [ -n "$MULTIPORT" -a \
|
||||
"$ports" = "${ports%:*}" -a \
|
||||
"$cports" = "${cports%:*}" -a \
|
||||
`list_count $ports` -le 15 -a \
|
||||
`list_count $cports` -le 15 ]
|
||||
then
|
||||
#
|
||||
# MULTIPORT is enabled, there are no port ranges in the rule and less than
|
||||
# 16 ports are listed - use multiport match.
|
||||
#
|
||||
multioption="-m multiport"
|
||||
for client in `separate_list ${clients:=-}`; do
|
||||
for server in `separate_list ${servers:=-}`; do
|
||||
#
|
||||
# add_a_rule() modifies these so we must set their values each time
|
||||
#
|
||||
port=${ports:=-}
|
||||
cport=${cports:=-}
|
||||
add_a_rule
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
fi
|
||||
else
|
||||
#
|
||||
# MULTIPORT is disabled or the rule isn't compatible with multiport match
|
||||
#
|
||||
multioption=
|
||||
for client in `separate_list ${clients:=-}`; do
|
||||
for server in `separate_list ${servers:=-}`; do
|
||||
for port in `separate_list ${ports:=-}`; do
|
||||
for cport in `separate_list ${cports:=-}`; do
|
||||
add_a_rule
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
#
|
||||
# Report Result
|
||||
#
|
||||
@ -2360,7 +2467,7 @@ process_rules() # $1 = name of rules file
|
||||
while read xtarget xclients xservers xprotocol xports xcports xaddress; do
|
||||
case "${xtarget%:*}" in
|
||||
|
||||
ACCEPT|DROP|REJECT|DNAT|DNAT|DNAT-|REDIRECT|REDIRECT-|LOG|CONTINUE)
|
||||
ACCEPT|DROP|REJECT|DNAT|DNAT-|REDIRECT|REDIRECT-|LOG|CONTINUE)
|
||||
expandv xclients xservers xprotocol xports xcports xaddress
|
||||
|
||||
if [ "x$xclients" = xall ]; then
|
||||
@ -2382,7 +2489,7 @@ process_rules() # $1 = name of rules file
|
||||
;;
|
||||
*)
|
||||
rule="`echo $xtarget $xclients $xservers $xprotocol $xports $xcports $xaddress`"
|
||||
fatal_error "Invalid Target in rule \"$rule\""
|
||||
fatal_error "Invalid Action in rule \"$rule\""
|
||||
;;
|
||||
|
||||
esac
|
||||
@ -2582,24 +2689,19 @@ loadmodule() # $1 = module name, $2 - * arguments
|
||||
{
|
||||
local modulename=$1
|
||||
local modulefile
|
||||
local suffix
|
||||
|
||||
if [ -z "`lsmod | grep $modulename`" ]; then
|
||||
shift
|
||||
modulefile=$MODULESDIR/${modulename}.o
|
||||
|
||||
for suffix in o gz ko ; do
|
||||
modulefile=$MODULESDIR/${modulename}.${suffix}
|
||||
|
||||
if [ -f $modulefile ]; then
|
||||
insmod $modulefile $*
|
||||
return
|
||||
fi
|
||||
#
|
||||
# If the modules directory contains compressed modules then we'll
|
||||
# assume that insmod can load them
|
||||
#
|
||||
modulefile=${modulefile}.gz
|
||||
|
||||
if [ -f $modulefile ]; then
|
||||
insmod $modulefile $*
|
||||
fi
|
||||
if [ -f $modulefile ]; then
|
||||
insmod $modulefile $*
|
||||
return
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
@ -2900,8 +3002,16 @@ setup_masq()
|
||||
esac
|
||||
|
||||
if [ -n "$address" -a -n "$ADD_SNAT_ALIASES" ]; then
|
||||
list_search $address $aliases_to_add || \
|
||||
aliases_to_add="$aliases_to_add $address $fullinterface"
|
||||
for addr in `ip_range $address` ; do
|
||||
if ! list_search $addr $aliases_to_add; then
|
||||
aliases_to_add="$aliases_to_add $addr $fullinterface"
|
||||
case $fullinterface in
|
||||
*:*)
|
||||
fullinterface=${fullinterface%:*}:$((${fullinterface#*:} + 1 ))
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
destination=$destnet
|
||||
@ -3118,7 +3228,7 @@ verify_os_version() {
|
||||
osversion=`uname -r`
|
||||
|
||||
case $osversion in
|
||||
2.4.*|2.5.*)
|
||||
2.4.*|2.5.*|2.6.*)
|
||||
;;
|
||||
*)
|
||||
startup_error "Shorewall version $version does not work with kernel version $osversion"
|
||||
@ -3134,35 +3244,30 @@ verify_os_version() {
|
||||
#
|
||||
add_ip_aliases()
|
||||
{
|
||||
local external
|
||||
local interface
|
||||
local primary
|
||||
local addresses external interface inet cidr rest val
|
||||
|
||||
do_one()
|
||||
address_details()
|
||||
{
|
||||
#
|
||||
# Folks feel uneasy if they don't see all of the same
|
||||
# decoration on these IP addresses that they see when their
|
||||
# distro's net config tool adds them. In an attempt to reduce
|
||||
# the anxiety level, we have the following code which sets
|
||||
# the VLSM and BRD from the primary address
|
||||
# the VLSM and BRD from an existing address in the same subnet
|
||||
#
|
||||
# Get all of the lines that contain inet addresses with broadcast
|
||||
# Get all of the lines that contain inet addresses
|
||||
#
|
||||
val=`ip addr show $interface | grep 'inet.*brd '` 2> /dev/null
|
||||
|
||||
if [ -n "$val" ] ; then
|
||||
#
|
||||
# Hack off the leading 'inet <ip addr>' (actually cut off the
|
||||
# "/" as well but add it back in).
|
||||
#
|
||||
val="/${val#*/}"
|
||||
#
|
||||
# Now get the VLSM, "brd" and the broadcast address
|
||||
#
|
||||
val=${val%% scope*}
|
||||
fi
|
||||
ip addr show $interface 2> /dev/null | grep 'inet' | while read inet cidr rest ; do
|
||||
if in_subnet $external $cidr; then
|
||||
echo "/${cidr#*/} brd `broadcastaddress $cidr`"
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
do_one()
|
||||
{
|
||||
val=`address_details`
|
||||
run_ip addr add ${external}${val} dev $interface $label
|
||||
echo "$external $interface" >> ${STATEDIR}/nat
|
||||
[ -n "$label" ] && label="with $label"
|
||||
@ -3182,9 +3287,9 @@ add_ip_aliases()
|
||||
label="label $interface:$label"
|
||||
fi
|
||||
|
||||
primary=`find_interface_address $interface`
|
||||
shift;shift
|
||||
[ "x${primary}" = "x${external}" ] || do_one
|
||||
|
||||
list_search $external `find_interface_addresses $interface` || do_one
|
||||
done
|
||||
}
|
||||
|
||||
@ -3207,10 +3312,46 @@ load_kernel_modules() {
|
||||
# Verify that the 'ip' program is installed
|
||||
|
||||
verify_ip() {
|
||||
qt which ip ||\
|
||||
qt ip link ls ||\
|
||||
startup_error "Shorewall $version requires the iproute package ('ip' utility)"
|
||||
}
|
||||
|
||||
#
|
||||
# Determine which optional facilities are supported by iptables/netfilter
|
||||
#
|
||||
determine_capabilities() {
|
||||
qt iptables -t nat -L -n && NAT_ENABLED=Yes || NAT_ENABLED=
|
||||
qt iptables -t mangle -L -n && MANGLE_ENABLED=Yes || MANGLE_ENABLED=
|
||||
|
||||
CONNTRACK_MATCH=
|
||||
MULTIPORT=
|
||||
|
||||
if qt iptables -N fooX1234 ; then
|
||||
qt iptables -A fooX1234 -m conntrack --ctorigdst 192.168.1.1 -j ACCEPT && CONNTRACK_MATCH=Yes
|
||||
qt iptables -A fooX1234 -p tcp -m multiport --dports 21,22 -j ACCEPT && MULTIPORT=Yes
|
||||
|
||||
qt iptables -F fooX1234
|
||||
qt iptables -X fooX1234
|
||||
fi
|
||||
}
|
||||
|
||||
report_capability() # $1 = Capability Name, $2 Capability Setting (if any)
|
||||
{
|
||||
local setting=
|
||||
|
||||
[ "x$1" = "xYes" ] && { setting="Available"; shift; } || setting="Not available"
|
||||
|
||||
echo " " $@: $setting
|
||||
}
|
||||
|
||||
report_capabilities() {
|
||||
echo "Shorewall has detected the following iptables/netfilter capabilities:"
|
||||
report_capability $NAT_ENABLED "NAT"
|
||||
report_capability $MANGLE_ENABLED "Packet Mangling"
|
||||
report_capability $MULTIPORT "Multi-port Match"
|
||||
report_capability $CONNTRACK_MATCH "Connection Tracking Match"
|
||||
}
|
||||
|
||||
#
|
||||
# Perform Initialization
|
||||
# - Delete all old rules
|
||||
@ -3221,6 +3362,8 @@ verify_ip() {
|
||||
#
|
||||
initialize_netfilter () {
|
||||
|
||||
report_capabilities
|
||||
|
||||
echo "Determining Zones..."
|
||||
|
||||
determine_zones
|
||||
@ -3307,7 +3450,16 @@ initialize_netfilter () {
|
||||
|
||||
if [ -z "$NEWNOTSYN" ]; then
|
||||
createchain newnotsyn no
|
||||
|
||||
for interface in `find_interfaces_by_option newnotsyn`; do
|
||||
run_iptables -A newnotsyn -i $interface -p tcp --tcp-flags ACK ACK -j ACCEPT
|
||||
run_iptables -A newnotsyn -i $interface -p tcp --tcp-flags RST RST -j ACCEPT
|
||||
run_iptables -A newnotsyn -i $interface -p tcp --tcp-flags FIN FIN -j ACCEPT
|
||||
run_iptables -A newnotsyn -i $interface -j RETURN
|
||||
done
|
||||
|
||||
run_user_exit newnotsyn
|
||||
|
||||
if [ -n "$LOGNEWNOTSYN" ]; then
|
||||
log_rule $LOGNEWNOTSYN newnotsyn DROP
|
||||
fi
|
||||
@ -3334,7 +3486,7 @@ initialize_netfilter () {
|
||||
done < /var/lib/shorewall/save
|
||||
fi
|
||||
|
||||
echo "Creating input Chains..."
|
||||
echo "Creating Interface Chains..."
|
||||
|
||||
for interface in $all_interfaces; do
|
||||
createchain `forward_chain $interface` no
|
||||
@ -3369,6 +3521,7 @@ build_common_chain() {
|
||||
if [ -n "$NEWNOTSYN" ]; then
|
||||
run_iptables -A common -p tcp --tcp-flags ACK ACK -j ACCEPT
|
||||
run_iptables -A common -p tcp --tcp-flags RST RST -j ACCEPT
|
||||
run_iptables -A common -p tcp --tcp-flags FIN FIN -j ACCEPT
|
||||
fi
|
||||
#
|
||||
# BROADCASTS
|
||||
@ -3462,13 +3615,17 @@ add_common_rules() {
|
||||
#
|
||||
# DHCP
|
||||
#
|
||||
echo "Adding rules for DHCP"
|
||||
interfaces=`find_interfaces_by_option dhcp`
|
||||
|
||||
for interface in `find_interfaces_by_option dhcp`; do
|
||||
run_iptables -A `input_chain $interface` -p udp --dport 67:68 -j ACCEPT
|
||||
run_iptables -A OUTPUT -o $interface -p udp --dport 67:68 -j ACCEPT
|
||||
done
|
||||
if [ -n "$interfaces" ]; then
|
||||
|
||||
echo "Adding rules for DHCP"
|
||||
|
||||
for interface in $interfaces; do
|
||||
run_iptables -A `input_chain $interface` -p udp --dport 67:68 -j ACCEPT
|
||||
run_iptables -A OUTPUT -o $interface -p udp --dport 67:68 -j ACCEPT
|
||||
done
|
||||
fi
|
||||
#
|
||||
# RFC 1918
|
||||
#
|
||||
@ -3487,11 +3644,12 @@ add_common_rules() {
|
||||
|
||||
run_iptables -A logdrop -j DROP
|
||||
|
||||
if [ -n "$MANGLE_ENABLED" ]; then
|
||||
if [ -n "$MANGLE_ENABLED" -a -z "$CONNTRACK_MATCH" ]; then
|
||||
#
|
||||
# Mangling is enabled -- create a chain in the mangle table to
|
||||
# filter RFC1918 destination addresses. This must be done in the
|
||||
# mangle table before we apply any DNAT rules in the nat table
|
||||
# Mangling is enabled but conntrack match isn't available --
|
||||
# create a chain in the mangle table to filter RFC1918 destination
|
||||
# addresses. This must be done in the mangle table before we apply
|
||||
# any DNAT rules in the nat table
|
||||
#
|
||||
# Also add a chain to log and drop any RFC1918 packets that we find
|
||||
#
|
||||
@ -3511,11 +3669,17 @@ add_common_rules() {
|
||||
esac
|
||||
|
||||
run_iptables2 -A rfc1918 -s $subnet -j $target
|
||||
#
|
||||
# If packet mangling is enabled, trap packets with an
|
||||
# RFC1918 destination
|
||||
#
|
||||
if [ -n "$MANGLE_ENABLED" ]; then
|
||||
|
||||
if [ -n "$CONNTRACK_MATCH" ]; then
|
||||
#
|
||||
# We have connection tracking match -- match on the original destination
|
||||
#
|
||||
run_iptables2 -A rfc1918 -m conntrack --ctorigdst $subnet -j $target
|
||||
elif [ -n "$MANGLE_ENABLED" ]; then
|
||||
#
|
||||
# No connection tracking match but we have mangling -- add a rule to
|
||||
# the mangle table
|
||||
#
|
||||
run_iptables2 -t mangle -A man1918 -d $subnet -j $target
|
||||
fi
|
||||
done < $TMP_DIR/rfc1918
|
||||
@ -3525,7 +3689,7 @@ add_common_rules() {
|
||||
run_iptables -A $chain -m state --state NEW -j rfc1918
|
||||
done
|
||||
|
||||
[ -n "$MANGLE_ENABLED" ] && \
|
||||
[ -n "$MANGLE_ENABLED" -a -z "$CONNTRACK_MATCH" ] && \
|
||||
run_iptables -t mangle -A PREROUTING -m state --state NEW -i $interface -j man1918
|
||||
done
|
||||
|
||||
@ -4366,6 +4530,7 @@ added_param_value_no() # $1 = Parameter Name, $2 = Parameter value
|
||||
# Initialize this program
|
||||
#
|
||||
do_initialize() {
|
||||
|
||||
# Run all utility programs using the C locale
|
||||
#
|
||||
# Thanks to Vincent Planchenault for this tip #
|
||||
@ -4388,8 +4553,6 @@ do_initialize() {
|
||||
LOGRATE=
|
||||
LOGBURST=
|
||||
LOGPARMS=
|
||||
NAT_ENABLED=
|
||||
MANGLE_ENABLED=
|
||||
ADD_IP_ALIASES=
|
||||
ADD_SNAT_ALIASES=
|
||||
TC_ENABLED=
|
||||
@ -4399,7 +4562,6 @@ do_initialize() {
|
||||
CLAMPMSS=
|
||||
ROUTE_FILTER=
|
||||
NAT_BEFORE_RULES=
|
||||
MULTIPORT=
|
||||
DETECT_DNAT_IPADDRS=
|
||||
MUTEX_TIMEOUT=
|
||||
NEWNOTSYN=
|
||||
@ -4433,6 +4595,7 @@ do_initialize() {
|
||||
FUNCTIONS=$SHARED_DIR/functions
|
||||
|
||||
if [ -f $FUNCTIONS ]; then
|
||||
echo "Loading $FUNCTIONS..."
|
||||
. $FUNCTIONS
|
||||
else
|
||||
startup_error "$FUNCTIONS does not exist!"
|
||||
@ -4463,8 +4626,6 @@ do_initialize() {
|
||||
ALLOWRELATED="`added_param_value_yes ALLOWRELATED $ALLOWRELATED`"
|
||||
[ -n "$ALLOWRELATED" ] || \
|
||||
startup_error "ALLOWRELATED=No is not supported"
|
||||
NAT_ENABLED="`added_param_value_yes NAT_ENABLED $NAT_ENABLED`"
|
||||
MANGLE_ENABLED="`added_param_value_yes MANGLE_ENABLED $MANGLE_ENABLED`"
|
||||
ADD_IP_ALIASES="`added_param_value_yes ADD_IP_ALIASES $ADD_IP_ALIASES`"
|
||||
TC_ENABLED="`added_param_value_yes TC_ENABLED $TC_ENABLED`"
|
||||
|
||||
@ -4496,7 +4657,6 @@ do_initialize() {
|
||||
ADD_SNAT_ALIASES=`added_param_value_no ADD_SNAT_ALIASES $ADD_SNAT_ALIASES`
|
||||
ROUTE_FILTER=`added_param_value_no ROUTE_FILTER $ROUTE_FILTER`
|
||||
NAT_BEFORE_RULES=`added_param_value_yes NAT_BEFORE_RULES $NAT_BEFORE_RULES`
|
||||
MULTIPORT=`added_param_value_no MULTIPORT $MULTIPORT`
|
||||
DETECT_DNAT_IPADDRS=`added_param_value_no DETECT_DNAT_IPADDRS $DETECT_DNAT_IPADDRS`
|
||||
FORWARDPING=`added_param_value_no FORWARDPING $FORWARDPING`
|
||||
[ -n "$FORWARDPING" ] && \
|
||||
@ -4567,6 +4727,19 @@ do_initialize() {
|
||||
#
|
||||
strip_file interfaces
|
||||
strip_file hosts
|
||||
#
|
||||
# Determine the capabilities of the installed iptables/netfilter
|
||||
#
|
||||
determine_capabilities
|
||||
#
|
||||
# Check out the user's shell
|
||||
#
|
||||
[ -n "$SHOREWALL_SHELL" ] || SHOREWALL_SHELL=/bin/sh
|
||||
|
||||
temp=`decodeaddr 192.168.1.1`
|
||||
if [ `encodeaddr $temp` != 192.168.1.1 ]; then
|
||||
startup_error "Shell $SHOREWALL_SHELL is broken and may not be used with Shorewall"
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
@ -4719,6 +4892,15 @@ case "$command" in
|
||||
my_mutex_off
|
||||
;;
|
||||
|
||||
call)
|
||||
#
|
||||
# Undocumented way to call functions in /usr/share/shorewall/firewall directly
|
||||
#
|
||||
shift;
|
||||
do_initialize
|
||||
EMPTY=
|
||||
$@
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
|
@ -83,29 +83,23 @@ find_display() # $1 = zone, $2 = name of the zone file
|
||||
[ "x$1" = "x$z" ] && echo $display
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# This function assumes that the TMP_DIR variable is set and that
|
||||
# its value named an existing directory.
|
||||
#
|
||||
determine_zones()
|
||||
{
|
||||
local zonefile=`find_file zones`
|
||||
|
||||
multi_display=Multi-zone
|
||||
|
||||
if [ -f $zonefile ]; then
|
||||
zones=`find_zones $zonefile`
|
||||
zones=`echo $zones` # Remove extra trash
|
||||
|
||||
for zone in $zones; do
|
||||
dsply=`find_display $zone $zonefile`
|
||||
eval ${zone}_display=\$dsply
|
||||
done
|
||||
else
|
||||
zones="net local dmz gw"
|
||||
net_display=Net
|
||||
local_display=Local
|
||||
dmz_display=DMZ
|
||||
gw_display=Gateway
|
||||
fi
|
||||
|
||||
strip_file zones $zonefile
|
||||
zones=`find_zones $TMP_DIR/zones`
|
||||
zones=`echo $zones` # Remove extra trash
|
||||
|
||||
for zone in $zones; do
|
||||
dsply=`find_display $zone $TMP_DIR/zones`
|
||||
eval ${zone}_display=\$dsply
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
@ -225,3 +219,164 @@ strip_file() # $1 = Base Name of the file, $2 = Full Name of File (optional)
|
||||
> $TMP_DIR/$1
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Note: The following set of IP address manipulation functions have anomalous
|
||||
# behavior when the shell only supports 32-bit signed arithmatic and
|
||||
# the IP address is 128.0.0.0 or 128.0.0.1.
|
||||
#
|
||||
#
|
||||
# So that emacs doesn't get lost, we use $LEFTSHIFT rather than <<
|
||||
#
|
||||
LEFTSHIFT='<<'
|
||||
|
||||
#
|
||||
# Convert an IP address in dot quad format to an integer
|
||||
#
|
||||
decodeaddr() {
|
||||
local x
|
||||
local temp=0
|
||||
local ifs=$IFS
|
||||
|
||||
IFS=.
|
||||
|
||||
for x in $1; do
|
||||
temp=$(( $(( $temp $LEFTSHIFT 8 )) | $x ))
|
||||
done
|
||||
|
||||
echo $temp
|
||||
|
||||
IFS=$ifs
|
||||
}
|
||||
|
||||
#
|
||||
# convert an integer to dot quad format
|
||||
#
|
||||
encodeaddr() {
|
||||
addr=$1
|
||||
local x
|
||||
local y=$(($addr & 255))
|
||||
|
||||
for x in 1 2 3 ; do
|
||||
addr=$(($addr >> 8))
|
||||
y=$(($addr & 255)).$y
|
||||
done
|
||||
|
||||
echo $y
|
||||
}
|
||||
|
||||
#
|
||||
# Enumerate the members of an IP range -- When using a shell supporting only
|
||||
# 32-bit signed arithmetic, the range cannot span 128.0.0.0.
|
||||
#
|
||||
ip_range() {
|
||||
local first last l x y z vlsm
|
||||
|
||||
case $1 in
|
||||
[0-9]*.*.*.*-*.*.*.*)
|
||||
;;
|
||||
*)
|
||||
echo $1
|
||||
return
|
||||
;;
|
||||
esac
|
||||
|
||||
first=`decodeaddr ${1%-*}`
|
||||
last=`decodeaddr ${1#*-}`
|
||||
|
||||
if [ $first -gt $last ]; then
|
||||
fatal_error "Invalid IP address range: $1"
|
||||
fi
|
||||
|
||||
l=$(( $last + 1 ))
|
||||
|
||||
while [ $first -le $last ]; do
|
||||
vlsm=
|
||||
x=31
|
||||
y=2
|
||||
z=1
|
||||
|
||||
while [ $(( $first % $y )) -eq 0 -a $(( $first + $y )) -le $l ]; do
|
||||
vlsm=/$x
|
||||
x=$(( $x - 1 ))
|
||||
z=$y
|
||||
y=$(( $y * 2 ))
|
||||
done
|
||||
|
||||
echo `encodeaddr $first`$vlsm
|
||||
first=$(($first + $z))
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# Netmask from CIDR
|
||||
#
|
||||
ip_netmask() {
|
||||
local vlsm=${1#*/}
|
||||
|
||||
[ $vlsm -eq 0 ] && echo 0 || echo $(( -1 $LEFTSHIFT $(( 32 - $vlsm )) ))
|
||||
}
|
||||
|
||||
#
|
||||
# Network address from CIDR
|
||||
#
|
||||
ip_network() {
|
||||
local decodedaddr=`decodeaddr ${1%/*}`
|
||||
local netmask=`ip_netmask $1`
|
||||
|
||||
echo `encodeaddr $(($decodedaddr & $netmask))`
|
||||
}
|
||||
|
||||
#
|
||||
# The following hack is supplied to compensate for the fact that many of
|
||||
# the popular light-weight Bourne shell derivatives don't support XOR ("^").
|
||||
#
|
||||
# Note: 2147483647 = 0x7fffffff
|
||||
|
||||
ip_broadcast() {
|
||||
local x=$(( ${1#*/} - 1 ))
|
||||
|
||||
[ $x -eq -1 ] && echo -1 || echo $(( 2147483647 >> $x ))
|
||||
}
|
||||
|
||||
#
|
||||
# Calculate broadcast address from CIDR
|
||||
#
|
||||
broadcastaddress() {
|
||||
local decodedaddr=`decodeaddr ${1%/*}`
|
||||
local netmask=`ip_netmask $1`
|
||||
local broadcast=`ip_broadcast $1`
|
||||
|
||||
echo `encodeaddr $(( $(($decodedaddr & $netmask)) | $broadcast ))`
|
||||
}
|
||||
|
||||
#
|
||||
# Test for subnet membership
|
||||
#
|
||||
in_subnet() # $1 = IP address, $2 = CIDR network
|
||||
{
|
||||
local netmask=`ip_netmask $2`
|
||||
|
||||
test $(( `decodeaddr $1` & $netmask)) -eq $(( `decodeaddr ${2%/*}` & $netmask ))
|
||||
}
|
||||
|
||||
#
|
||||
# Netmask to VLSM
|
||||
#
|
||||
ip_vlsm() {
|
||||
local mask=`decodeaddr $1`
|
||||
local vlsm=0
|
||||
local x=$(( 128 $LEFTSHIFT 24 ))
|
||||
|
||||
while [ $(( $x & $mask )) -ne 0 ]; do
|
||||
[ $mask -eq $x ] && mask=0 || mask=$(( $mask $LEFTSHIFT 1 )) # Don't Ask...
|
||||
vlsm=$(($vlsm + 1))
|
||||
done
|
||||
|
||||
if [ $(( $mask & 2147483647)) -ne 0 ]; then
|
||||
echo "Invalid net mask: $1" >&2
|
||||
else
|
||||
echo $vlsm
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -1 +1 @@
|
||||
1.4.5
|
||||
1.4.6
|
||||
|
@ -1 +1 @@
|
||||
1.4.5
|
||||
1.4.6
|
||||
|
@ -1,15 +1,53 @@
|
||||
Changes since 1.4.4b
|
||||
Changes since 1.4.5
|
||||
|
||||
1) The command "shorewall debug try <directory>" now correctly traces
|
||||
the attempt.
|
||||
1) Worked around RH7.3 "service" anomaly.
|
||||
|
||||
2) The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] rule may now
|
||||
contain a list of addresses. If the list begins with "!' then the
|
||||
rule will take effect only if the original destination address in
|
||||
the connection request does not match any of the addresses listed.
|
||||
2) Implemented 'newnotsyn' interface option.
|
||||
|
||||
3) Enhanced processing of the zones file to allow the INCLUDE
|
||||
directive.
|
||||
|
||||
4) Fix processing of the routestopped file's second column.
|
||||
3) Document range in masq ADDRESS column and suppress ADD_SNAT_ALIASES
|
||||
behavior in that case.
|
||||
|
||||
4) Enable ADD_SNAT_ALIASES=Yes for SNAT ranges.
|
||||
|
||||
5) Allow Shorewall to add aliases to other than the first subnet on an
|
||||
interface.
|
||||
|
||||
6) Add support for load-balancing.
|
||||
|
||||
7) Toned down the disclaimer for the 'check' command.
|
||||
|
||||
8) Implemented support for the Connection Tracking Match extension in
|
||||
iptables 1.2.8/Kernel 2.4.21.
|
||||
|
||||
9) Removed the NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration
|
||||
parameters and replaced them with code that detects these
|
||||
capabilities.
|
||||
|
||||
10) Added the SHOREWALL_SHELL configuraiton parameter.
|
||||
|
||||
11) Fixed capability reporting (thanks to Simon Matter).
|
||||
|
||||
12) Correct the implementation of destination IP list in DNAT[-] rules.
|
||||
|
||||
13) Check for shells whose arithmetic support is broken.
|
||||
|
||||
14) Moved IP Address manipulation functions to
|
||||
/usr/share/shorewall/functions.
|
||||
|
||||
15. Added ipcalc command.
|
||||
|
||||
16. Fixed handling of destination DNS names containing a "-"
|
||||
|
||||
17. Make ip_range() smarter.
|
||||
|
||||
18. Added /sbin/shorewall iprange command.
|
||||
|
||||
19. Fixed handling of excluded zone processing in DNAT and REDIRECT
|
||||
rules (re-added the protocol to the rule). Fixed parsing of exclude
|
||||
zones.
|
||||
|
||||
20. Display policy chain along with policy in 'check' command.
|
||||
|
||||
21. Support Linux 2.6 compressed modules.
|
||||
|
||||
22. Don't display DHCP message when there are no DHCP interface.
|
||||
|
@ -1,142 +1,143 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>6to4 Tunnels</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">6to4 Tunnels</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h3>The 6to4 tunnel documentation is provided by Eric de Thouars.<br>
|
||||
</h3>
|
||||
|
||||
<h3><font color="#ff6633">Warning: </font>The 6to4 tunnel feature of Shorewall
|
||||
only facilitates IPv6 over IPv4 tunneling. It does not provide any IPv6 security
|
||||
measures.</h3>
|
||||
|
||||
<p>6to4 tunneling with Shorewall can be used to connect your IPv6 network
|
||||
to another IPv6 network over an IPv4 infrastructure</p>
|
||||
|
||||
</h3>
|
||||
|
||||
<h3><font color="#ff6633">Warning: </font>The 6to4 tunnel feature of Shorewall
|
||||
only facilitates IPv6 over IPv4 tunneling. It does not provide any IPv6
|
||||
security measures.</h3>
|
||||
|
||||
<p>6to4 tunneling with Shorewall can be used to connect your IPv6 network
|
||||
to another IPv6 network over an IPv4 infrastructure</p>
|
||||
|
||||
<p>More information on Linux and IPv6 can be found in the <a
|
||||
href="http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO">Linux IPv6 HOWTO</a>. Details
|
||||
on how to setup a 6to4 tunnels are described in the section <a
|
||||
href="http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/configuring-ipv6to4-tunnels.html">Setup
|
||||
of 6to4 tunnels</a>.</p>
|
||||
|
||||
href="http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO">Linux IPv6 HOWTO</a>.
|
||||
Details on how to setup a 6to4 tunnels are described in the section <a
|
||||
href="http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/configuring-ipv6to4-tunnels.html">Setup
|
||||
of 6to4 tunnels</a>.</p>
|
||||
|
||||
<h2>Connecting two IPv6 Networks</h2>
|
||||
|
||||
|
||||
<p>Suppose that we have the following situation:</p>
|
||||
|
||||
|
||||
<p align="center"> <img border="0" src="images/TwoIPv6Nets1.png"
|
||||
width="745" height="427" alt="">
|
||||
</p>
|
||||
|
||||
<p align="left">We want systems in the 2002:100:333::/64 subnetwork to be
|
||||
able to communicate with the systems in the 2002:488:999::/64 network. This
|
||||
is accomplished through use of the /etc/shorewall/tunnels file and the "ip"
|
||||
utility for network interface and routing configuration.</p>
|
||||
|
||||
<p align="left">Unlike GRE and IPIP tunneling, the /etc/shorewall/policy,
|
||||
/etc/shorewall/interfaces and /etc/shorewall/zones files are not used. There
|
||||
is no need to declare a zone to represent the remote IPv6 network. This remote
|
||||
network is not visible on IPv4 interfaces and to iptables. All that is visible
|
||||
on the IPv4 level is an IPv4 stream which contains IPv6 traffic. Separate
|
||||
IPv6 interfaces and ip6tables rules need to be defined to handle this traffic.
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<p align="left">We want systems in the 2002:100:333::/64 subnetwork to be
|
||||
able to communicate with the systems in the 2002:488:999::/64 network. This
|
||||
is accomplished through use of the /etc/shorewall/tunnels file and the "ip"
|
||||
utility for network interface and routing configuration.</p>
|
||||
|
||||
<p align="left">Unlike GRE and IPIP tunneling, the /etc/shorewall/policy,
|
||||
/etc/shorewall/interfaces and /etc/shorewall/zones files are not used. There
|
||||
is no need to declare a zone to represent the remote IPv6 network. This
|
||||
remote network is not visible on IPv4 interfaces and to iptables. All that
|
||||
is visible on the IPv4 level is an IPv4 stream which contains IPv6 traffic.
|
||||
Separate IPv6 interfaces and ip6tables rules need to be defined to handle
|
||||
this traffic. </p>
|
||||
|
||||
<p align="left">In /etc/shorewall/tunnels on system A, we need the following:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6to4</td>
|
||||
<td>net</td>
|
||||
<td>134.28.54.2</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>6to4</td>
|
||||
<td>net</td>
|
||||
<td>134.28.54.2</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>This entry in /etc/shorewall/tunnels, opens the firewall so that the IPv6
|
||||
</blockquote>
|
||||
|
||||
<p>This entry in /etc/shorewall/tunnels, opens the firewall so that the IPv6
|
||||
encapsulation protocol (41) will be accepted to/from the remote gateway.</p>
|
||||
|
||||
|
||||
<p>Use the following commands to setup system A:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>>ip tunnel add tun6to4 mode sit ttl 254 remote 134.28.54.2<br>
|
||||
>ip link set dev tun6to4 up<br>
|
||||
>ip addr add 3ffe:8280:0:2001::1/64 dev tun6to4<br>
|
||||
>ip route add 2002:488:999::/64 via 3ffe:8280:0:2001::2</p>
|
||||
</blockquote>
|
||||
|
||||
>ip link set dev tun6to4 up<br>
|
||||
>ip addr add 3ffe:8280:0:2001::1/64 dev tun6to4<br>
|
||||
>ip route add 2002:488:999::/64 via 3ffe:8280:0:2001::2</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Similarly, in /etc/shorewall/tunnels on system B we have:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6to4</td>
|
||||
<td>net</td>
|
||||
<td>206.191.148.9</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>6to4</td>
|
||||
<td>net</td>
|
||||
<td>206.191.148.9</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>And use the following commands to setup system B:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>>ip tunnel add tun6to4 mode sit ttl 254 remote 206.191.148.9<br>
|
||||
>ip link set dev tun6to4 up<br>
|
||||
>ip addr add 3ffe:8280:0:2001::2/64 dev tun6to4<br>
|
||||
>ip route add 2002:100:333::/64 via 3ffe:8280:0:2001::1</p>
|
||||
</blockquote>
|
||||
|
||||
<p>On both systems, restart Shorewall and issue the configuration commands
|
||||
as listed above. The systems in both IPv6 subnetworks can now talk to each
|
||||
other using IPv6.</p>
|
||||
|
||||
<p><font size="2">Updated 5/18/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
>ip link set dev tun6to4 up<br>
|
||||
>ip addr add 3ffe:8280:0:2001::2/64 dev tun6to4<br>
|
||||
>ip route add 2002:100:333::/64 via 3ffe:8280:0:2001::1</p>
|
||||
</blockquote>
|
||||
|
||||
<p>On both systems, restart Shorewall and issue the configuration commands
|
||||
as listed above. The systems in both IPv6 subnetworks can now talk to each
|
||||
other using IPv6.</p>
|
||||
|
||||
<p><font size="2">Updated 5/18/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003Thomas M. Eastep and Eric de Thouars.</font></a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,82 +2,90 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Shorewall and ECN</title>
|
||||
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
|
||||
<meta name="author" content="Tom Eastep">
|
||||
</head>
|
||||
<body>
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber4"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td
|
||||
width="100%">
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td
|
||||
width="100%">
|
||||
<h1 align="center"><font color="#ffffff">ECN</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
Explicit Congestion Notification (ECN) is described in RFC 3168 and is a
|
||||
proposed internet standard. Unfortunately, not all sites support ECN and
|
||||
when a TCP connection offering ECN is sent to sites that don't support it,
|
||||
the result is often that the connection request is ignored.<br>
|
||||
<br>
|
||||
To allow ECN to be used, Shorewall allows you to enable ECN on your Linux
|
||||
systems then disable it in your firewall when the destination matches a list
|
||||
<br>
|
||||
Explicit Congestion Notification (ECN) is described in RFC 3168 and is a
|
||||
proposed internet standard. Unfortunately, not all sites support ECN and when
|
||||
a TCP connection offering ECN is sent to sites that don't support it, the
|
||||
result is often that the connection request is ignored.<br>
|
||||
<br>
|
||||
To allow ECN to be used, Shorewall allows you to enable ECN on your Linux
|
||||
systems then disable it in your firewall when the destination matches a list
|
||||
that you create (the /etc/shorewall/ecn file).<br>
|
||||
<br>
|
||||
You enable ECN by<br>
|
||||
<br>
|
||||
<blockquote>
|
||||
<pre><b><font color="#009900">echo 1 > /proc/sys/net/ipv4/tcp_ecn</font></b></pre>
|
||||
</blockquote>
|
||||
You must arrange for that command to be executed at system boot. Most distributions
|
||||
have a method for doing that -- on RedHat, you make an entry in /etc/sysctl.conf.<br>
|
||||
<br>
|
||||
<blockquote>
|
||||
<pre><b><font color="#009900">net.ipv4.tcp_ecn = 1<br><br></font></b></pre>
|
||||
</blockquote>
|
||||
Entries in /etc/shorewall/ecn have two columns as follows:<br>
|
||||
<br>
|
||||
INTERFACE - The name of an interface on your system<br>
|
||||
<br>
|
||||
HOST(S) - An address (host or subnet)
|
||||
of a system or group of systems accessed through the interface in the
|
||||
first column. You may include a comma-separated list of such addresses in
|
||||
this column. <br>
|
||||
<br>
|
||||
Example: Your external interface is eth0 and you want to disable ECN for
|
||||
tcp connections to 192.0.2.0/24:<br>
|
||||
<br>
|
||||
In /etc/shorewall/ecn:<br>
|
||||
<br>
|
||||
<blockquote>
|
||||
<table cellpadding="2" cellspacing="0" border="1">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top"><b>INTERFACE<br>
|
||||
</b></td>
|
||||
<td valign="top"><b>HOST(S)<br>
|
||||
</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">eth0<br>
|
||||
</td>
|
||||
<td valign="top">192.0.2.0/24<br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
</blockquote>
|
||||
<font size="2">Last updated 3/28/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
<br>
|
||||
You enable ECN by<br>
|
||||
<br>
|
||||
|
||||
<blockquote>
|
||||
<pre><b><font color="#009900">echo 1 > /proc/sys/net/ipv4/tcp_ecn</font></b></pre>
|
||||
</blockquote>
|
||||
You must arrange for that command to be executed at system boot. Most distributions
|
||||
have a method for doing that -- on RedHat, you make an entry in /etc/sysctl.conf.<br>
|
||||
<br>
|
||||
|
||||
<blockquote>
|
||||
<pre><b><font color="#009900">net.ipv4.tcp_ecn = 1<br><br></font></b></pre>
|
||||
</blockquote>
|
||||
Entries in /etc/shorewall/ecn have two columns as follows:<br>
|
||||
<br>
|
||||
INTERFACE - The name of an interface on your system<br>
|
||||
<br>
|
||||
HOST(S) - An address (host or subnet)
|
||||
of a system or group of systems accessed through the interface in the
|
||||
first column. You may include a comma-separated list of such addresses in
|
||||
this column. <br>
|
||||
<br>
|
||||
Example: Your external interface is eth0 and you want to disable ECN for
|
||||
tcp connections to 192.0.2.0/24:<br>
|
||||
<br>
|
||||
In /etc/shorewall/ecn:<br>
|
||||
<br>
|
||||
|
||||
<blockquote>
|
||||
<table cellpadding="2" cellspacing="0" border="1">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top"><b>INTERFACE<br>
|
||||
</b></td>
|
||||
<td valign="top"><b>HOST(S)<br>
|
||||
</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">eth0<br>
|
||||
</td>
|
||||
<td valign="top">192.0.2.0/24<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
</blockquote>
|
||||
<font size="2">Last updated 3/28/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
</p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,42 +1,45 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Support Forum</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Support Forum</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h3><font color="#ff6633"></font></h3>
|
||||
<h1>REPORTING A PROBLEM OR ASKING FOR HELP? If you haven't already, please
|
||||
|
||||
<h1>REPORTING A PROBLEM OR ASKING FOR HELP? If you haven't already, please
|
||||
read the <a href="support.htm">Shorewall Support Guide</a>.</h1>
|
||||
<p><a href="http://www.developercube.com/forum/index.php?c=8">Shorewall Support
|
||||
|
||||
<p><a href="http://www.developercube.com/forum/index.php?c=8">Shorewall Support
|
||||
Forum</a><br>
|
||||
</p>
|
||||
|
||||
<p><font size="2">Updated 3/6/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</p>
|
||||
|
||||
<p><font size="2">Updated 3/6/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2003 Thomas M. Eastep.</font></a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,282 +1,341 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<title>Copyright</title>
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Copyright</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h2 align="center"><font color="#FFFFFF">GNU Free Documentation License</font></h2>
|
||||
</td>
|
||||
</tr>
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h2 align="center"><font color="#ffffff">GNU Free Documentation License</font></h2>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Version 1.1, March 2000 </p>
|
||||
<pre>Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
</pre>
|
||||
|
||||
<pre>Copyright (C) 2000 Free Software Foundation, Inc.<br>59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>Everyone is permitted to copy and distribute verbatim copies<br>of this license document, but changing it is not allowed.<br></pre>
|
||||
|
||||
<p><strong>0. PREAMBLE</strong> </p>
|
||||
<p>The purpose of this License is to make a manual, textbook, or other written
|
||||
document "free" in the sense of freedom: to assure everyone the effective
|
||||
freedom to copy and redistribute it, with or without modifying it, either
|
||||
commercially or noncommercially. Secondarily, this License preserves for the
|
||||
author and publisher a way to get credit for their work, while not being
|
||||
|
||||
<p>The purpose of this License is to make a manual, textbook, or other written
|
||||
document "free" in the sense of freedom: to assure everyone the effective
|
||||
freedom to copy and redistribute it, with or without modifying it, either
|
||||
commercially or noncommercially. Secondarily, this License preserves for
|
||||
the author and publisher a way to get credit for their work, while not being
|
||||
considered responsible for modifications made by others. </p>
|
||||
<p>This License is a kind of "copyleft", which means that derivative works of
|
||||
the document must themselves be free in the same sense. It complements the GNU
|
||||
General Public License, which is a copyleft license designed for free software.
|
||||
</p>
|
||||
<p>We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free program should
|
||||
come with manuals providing the same freedoms that the software does. But this
|
||||
License is not limited to software manuals; it can be used for any textual work,
|
||||
regardless of subject matter or whether it is published as a printed book. We
|
||||
recommend this License principally for works whose purpose is instruction or
|
||||
reference. </p>
|
||||
|
||||
<p>This License is a kind of "copyleft", which means that derivative works
|
||||
of the document must themselves be free in the same sense. It complements
|
||||
the GNU General Public License, which is a copyleft license designed for
|
||||
free software. </p>
|
||||
|
||||
<p>We have designed this License in order to use it for manuals for free software,
|
||||
because free software needs free documentation: a free program should come
|
||||
with manuals providing the same freedoms that the software does. But this
|
||||
License is not limited to software manuals; it can be used for any textual
|
||||
work, regardless of subject matter or whether it is published as a printed
|
||||
book. We recommend this License principally for works whose purpose is instruction
|
||||
or reference. </p>
|
||||
|
||||
<p><strong>1. APPLICABILITY AND DEFINITIONS</strong> </p>
|
||||
<p>This License applies to any manual or other work that contains a notice
|
||||
placed by the copyright holder saying it can be distributed under the terms of
|
||||
this License. The "Document", below, refers to any such manual or work. Any
|
||||
member of the public is a licensee, and is addressed as "you". </p>
|
||||
<p>A "Modified Version" of the Document means any work containing the Document
|
||||
or a portion of it, either copied verbatim, or with modifications and/or
|
||||
translated into another language. </p>
|
||||
<p>A "Secondary Section" is a named appendix or a front-matter section of the
|
||||
Document that deals exclusively with the relationship of the publishers or
|
||||
authors of the Document to the Document's overall subject (or to related
|
||||
matters) and contains nothing that could fall directly within that overall
|
||||
subject. (For example, if the Document is in part a textbook of mathematics, a
|
||||
Secondary Section may not explain any mathematics.) The relationship could be a
|
||||
matter of historical connection with the subject or with related matters, or of
|
||||
legal, commercial, philosophical, ethical or political position regarding them.
|
||||
</p>
|
||||
<p>The "Invariant Sections" are certain Secondary Sections whose titles are
|
||||
designated, as being those of Invariant Sections, in the notice that says that
|
||||
the Document is released under this License. </p>
|
||||
<p>The "Cover Texts" are certain short passages of text that are listed, as
|
||||
Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document
|
||||
is released under this License. </p>
|
||||
<p>A "Transparent" copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the general public,
|
||||
whose contents can be viewed and edited directly and straightforwardly with
|
||||
generic text editors or (for images composed of pixels) generic paint programs
|
||||
or (for drawings) some widely available drawing editor, and that is suitable for
|
||||
input to text formatters or for automatic translation to a variety of formats
|
||||
suitable for input to text formatters. A copy made in an otherwise Transparent
|
||||
file format whose markup has been designed to thwart or discourage subsequent
|
||||
modification by readers is not Transparent. A copy that is not "Transparent" is
|
||||
called "Opaque". </p>
|
||||
<p>Examples of suitable formats for Transparent copies include plain ASCII
|
||||
without markup, Texinfo input format, LaTeX input format, SGML or XML using a
|
||||
publicly available DTD, and standard-conforming simple HTML designed for human
|
||||
modification. Opaque formats include PostScript, PDF, proprietary formats that
|
||||
can be read and edited only by proprietary word processors, SGML or XML for
|
||||
which the DTD and/or processing tools are not generally available, and the
|
||||
machine-generated HTML produced by some word processors for output purposes
|
||||
only. </p>
|
||||
<p>The "Title Page" means, for a printed book, the title page itself, plus such
|
||||
following pages as are needed to hold, legibly, the material this License
|
||||
requires to appear in the title page. For works in formats which do not have any
|
||||
title page as such, "Title Page" means the text near the most prominent
|
||||
appearance of the work's title, preceding the beginning of the body of the text.
|
||||
</p>
|
||||
|
||||
<p>This License applies to any manual or other work that contains a notice
|
||||
placed by the copyright holder saying it can be distributed under the terms
|
||||
of this License. The "Document", below, refers to any such manual or work.
|
||||
Any member of the public is a licensee, and is addressed as "you". </p>
|
||||
|
||||
<p>A "Modified Version" of the Document means any work containing the Document
|
||||
or a portion of it, either copied verbatim, or with modifications and/or translated
|
||||
into another language. </p>
|
||||
|
||||
<p>A "Secondary Section" is a named appendix or a front-matter section of
|
||||
the Document that deals exclusively with the relationship of the publishers
|
||||
or authors of the Document to the Document's overall subject (or to related
|
||||
matters) and contains nothing that could fall directly within that overall
|
||||
subject. (For example, if the Document is in part a textbook of mathematics,
|
||||
a Secondary Section may not explain any mathematics.) The relationship could
|
||||
be a matter of historical connection with the subject or with related matters,
|
||||
or of legal, commercial, philosophical, ethical or political position regarding
|
||||
them. </p>
|
||||
|
||||
<p>The "Invariant Sections" are certain Secondary Sections whose titles are
|
||||
designated, as being those of Invariant Sections, in the notice that says
|
||||
that the Document is released under this License. </p>
|
||||
|
||||
<p>The "Cover Texts" are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that the
|
||||
Document is released under this License. </p>
|
||||
|
||||
<p>A "Transparent" copy of the Document means a machine-readable copy, represented
|
||||
in a format whose specification is available to the general public, whose
|
||||
contents can be viewed and edited directly and straightforwardly with generic
|
||||
text editors or (for images composed of pixels) generic paint programs or
|
||||
(for drawings) some widely available drawing editor, and that is suitable
|
||||
for input to text formatters or for automatic translation to a variety of
|
||||
formats suitable for input to text formatters. A copy made in an otherwise
|
||||
Transparent file format whose markup has been designed to thwart or discourage
|
||||
subsequent modification by readers is not Transparent. A copy that is not
|
||||
"Transparent" is called "Opaque". </p>
|
||||
|
||||
<p>Examples of suitable formats for Transparent copies include plain ASCII
|
||||
without markup, Texinfo input format, LaTeX input format, SGML or XML using
|
||||
a publicly available DTD, and standard-conforming simple HTML designed for
|
||||
human modification. Opaque formats include PostScript, PDF, proprietary formats
|
||||
that can be read and edited only by proprietary word processors, SGML or
|
||||
XML for which the DTD and/or processing tools are not generally available,
|
||||
and the machine-generated HTML produced by some word processors for output
|
||||
purposes only. </p>
|
||||
|
||||
<p>The "Title Page" means, for a printed book, the title page itself, plus
|
||||
such following pages as are needed to hold, legibly, the material this License
|
||||
requires to appear in the title page. For works in formats which do not have
|
||||
any title page as such, "Title Page" means the text near the most prominent
|
||||
appearance of the work's title, preceding the beginning of the body of the
|
||||
text. </p>
|
||||
|
||||
<p><strong>2. VERBATIM COPYING</strong> </p>
|
||||
<p>You may copy and distribute the Document in any medium, either commercially
|
||||
or noncommercially, provided that this License, the copyright notices, and the
|
||||
license notice saying this License applies to the Document are reproduced in all
|
||||
copies, and that you add no other conditions whatsoever to those of this
|
||||
License. You may not use technical measures to obstruct or control the reading
|
||||
or further copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough number of
|
||||
copies you must also follow the conditions in section 3. </p>
|
||||
<p>You may also lend copies, under the same conditions stated above, and you may
|
||||
publicly display copies. </p>
|
||||
|
||||
<p>You may copy and distribute the Document in any medium, either commercially
|
||||
or noncommercially, provided that this License, the copyright notices, and
|
||||
the license notice saying this License applies to the Document are reproduced
|
||||
in all copies, and that you add no other conditions whatsoever to those of
|
||||
this License. You may not use technical measures to obstruct or control the
|
||||
reading or further copying of the copies you make or distribute. However,
|
||||
you may accept compensation in exchange for copies. If you distribute a large
|
||||
enough number of copies you must also follow the conditions in section 3.
|
||||
</p>
|
||||
|
||||
<p>You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies. </p>
|
||||
|
||||
<p><strong>3. COPYING IN QUANTITY</strong> </p>
|
||||
<p>If you publish printed copies of the Document numbering more than 100, and
|
||||
the Document's license notice requires Cover Texts, you must enclose the copies
|
||||
in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover
|
||||
Texts on the front cover, and Back-Cover Texts on the back cover. Both covers
|
||||
must also clearly and legibly identify you as the publisher of these copies. The
|
||||
front cover must present the full title with all words of the title equally
|
||||
prominent and visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve the title
|
||||
of the Document and satisfy these conditions, can be treated as verbatim copying
|
||||
in other respects. </p>
|
||||
<p>If the required texts for either cover are too voluminous to fit legibly, you
|
||||
should put the first ones listed (as many as fit reasonably) on the actual
|
||||
|
||||
<p>If you publish printed copies of the Document numbering more than 100,
|
||||
and the Document's license notice requires Cover Texts, you must enclose
|
||||
the copies in covers that carry, clearly and legibly, all these Cover Texts:
|
||||
Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover.
|
||||
Both covers must also clearly and legibly identify you as the publisher of
|
||||
these copies. The front cover must present the full title with all words
|
||||
of the title equally prominent and visible. You may add other material on
|
||||
the covers in addition. Copying with changes limited to the covers, as long
|
||||
as they preserve the title of the Document and satisfy these conditions,
|
||||
can be treated as verbatim copying in other respects. </p>
|
||||
|
||||
<p>If the required texts for either cover are too voluminous to fit legibly,
|
||||
you should put the first ones listed (as many as fit reasonably) on the actual
|
||||
cover, and continue the rest onto adjacent pages. </p>
|
||||
<p>If you publish or distribute Opaque copies of the Document numbering more
|
||||
than 100, you must either include a machine-readable Transparent copy along with
|
||||
each Opaque copy, or state in or with each Opaque copy a publicly-accessible
|
||||
computer-network location containing a complete Transparent copy of the
|
||||
Document, free of added material, which the general network-using public has
|
||||
access to download anonymously at no charge using public-standard network
|
||||
protocols. If you use the latter option, you must take reasonably prudent steps,
|
||||
when you begin distribution of Opaque copies in quantity, to ensure that this
|
||||
Transparent copy will remain thus accessible at the stated location until at
|
||||
least one year after the last time you distribute an Opaque copy (directly or
|
||||
through your agents or retailers) of that edition to the public. </p>
|
||||
<p>It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give them a
|
||||
chance to provide you with an updated version of the Document. </p>
|
||||
|
||||
<p>If you publish or distribute Opaque copies of the Document numbering more
|
||||
than 100, you must either include a machine-readable Transparent copy along
|
||||
with each Opaque copy, or state in or with each Opaque copy a publicly-accessible
|
||||
computer-network location containing a complete Transparent copy of the Document,
|
||||
free of added material, which the general network-using public has access
|
||||
to download anonymously at no charge using public-standard network protocols.
|
||||
If you use the latter option, you must take reasonably prudent steps, when
|
||||
you begin distribution of Opaque copies in quantity, to ensure that this Transparent
|
||||
copy will remain thus accessible at the stated location until at least one
|
||||
year after the last time you distribute an Opaque copy (directly or through
|
||||
your agents or retailers) of that edition to the public. </p>
|
||||
|
||||
<p>It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give them
|
||||
a chance to provide you with an updated version of the Document. </p>
|
||||
|
||||
<p><strong>4. MODIFICATIONS</strong> </p>
|
||||
<p>You may copy and distribute a Modified Version of the Document under the
|
||||
conditions of sections 2 and 3 above, provided that you release the Modified
|
||||
Version under precisely this License, with the Modified Version filling the role
|
||||
of the Document, thus licensing distribution and modification of the Modified
|
||||
Version to whoever possesses a copy of it. In addition, you must do these things
|
||||
in the Modified Version: </p>
|
||||
<p> </p>
|
||||
|
||||
<p>You may copy and distribute a Modified Version of the Document under the
|
||||
conditions of sections 2 and 3 above, provided that you release the Modified
|
||||
Version under precisely this License, with the Modified Version filling the
|
||||
role of the Document, thus licensing distribution and modification of the
|
||||
Modified Version to whoever possesses a copy of it. In addition, you must
|
||||
do these things in the Modified Version: </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<ul>
|
||||
<li><strong>A.</strong> Use in the Title Page (and on the covers, if any) a
|
||||
title distinct from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section of the
|
||||
Document). You may use the same title as a previous version if the original
|
||||
publisher of that version gives permission. </li>
|
||||
<li><strong>B.</strong> List on the Title Page, as authors, one or more
|
||||
persons or entities responsible for authorship of the modifications in the
|
||||
Modified Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has less than five). </li>
|
||||
<li><strong>C.</strong> State on the Title page the name of the publisher of
|
||||
the Modified Version, as the publisher. </li>
|
||||
<li><strong>D.</strong> Preserve all the copyright notices of the Document.
|
||||
<li><strong>A.</strong> Use in the Title Page (and on the covers, if any)
|
||||
a title distinct from that of the Document, and from those of previous
|
||||
versions (which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version if the
|
||||
original publisher of that version gives permission. </li>
|
||||
<li><strong>B.</strong> List on the Title Page, as authors, one or more
|
||||
persons or entities responsible for authorship of the modifications in
|
||||
the Modified Version, together with at least five of the principal authors
|
||||
of the Document (all of its principal authors, if it has less than five).
|
||||
</li>
|
||||
<li><strong>E.</strong> Add an appropriate copyright notice for your
|
||||
modifications adjacent to the other copyright notices. </li>
|
||||
<li><strong>F.</strong> Include, immediately after the copyright notices, a
|
||||
license notice giving the public permission to use the Modified Version under
|
||||
the terms of this License, in the form shown in the Addendum below. </li>
|
||||
<li><strong>G.</strong> Preserve in that license notice the full lists of
|
||||
Invariant Sections and required Cover Texts given in the Document's license
|
||||
notice. </li>
|
||||
<li><strong>H.</strong> Include an unaltered copy of this License. </li>
|
||||
<li><strong>I.</strong> Preserve the section entitled "History", and its
|
||||
title, and add to it an item stating at least the title, year, new authors,
|
||||
and publisher of the Modified Version as given on the Title Page. If there is
|
||||
no section entitled "History" in the Document, create one stating the title,
|
||||
year, authors, and publisher of the Document as given on its Title Page, then
|
||||
add an item describing the Modified Version as stated in the previous
|
||||
sentence. </li>
|
||||
<li><strong>J.</strong> Preserve the network location, if any, given in the
|
||||
Document for public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions it was based
|
||||
on. These may be placed in the "History" section. You may omit a network
|
||||
location for a work that was published at least four years before the Document
|
||||
itself, or if the original publisher of the version it refers to gives
|
||||
permission. </li>
|
||||
<li><strong>K.</strong> In any section entitled "Acknowledgements" or
|
||||
"Dedications", preserve the section's title, and preserve in the section all
|
||||
the substance and tone of each of the contributor acknowledgements and/or
|
||||
dedications given therein. </li>
|
||||
<li><strong>L.</strong> Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers or the equivalent
|
||||
<li><strong>C.</strong> State on the Title page the name of the publisher
|
||||
of the Modified Version, as the publisher. </li>
|
||||
<li><strong>D.</strong> Preserve all the copyright notices of the Document.
|
||||
</li>
|
||||
<li><strong>E.</strong> Add an appropriate copyright notice for your
|
||||
modifications adjacent to the other copyright notices. </li>
|
||||
<li><strong>F.</strong> Include, immediately after the copyright notices,
|
||||
a license notice giving the public permission to use the Modified Version
|
||||
under the terms of this License, in the form shown in the Addendum below.
|
||||
</li>
|
||||
<li><strong>G.</strong> Preserve in that license notice the full lists
|
||||
of Invariant Sections and required Cover Texts given in the Document's
|
||||
license notice. </li>
|
||||
<li><strong>H.</strong> Include an unaltered copy of this License. </li>
|
||||
<li><strong>I.</strong> Preserve the section entitled "History", and its
|
||||
title, and add to it an item stating at least the title, year, new authors,
|
||||
and publisher of the Modified Version as given on the Title Page. If there
|
||||
is no section entitled "History" in the Document, create one stating the
|
||||
title, year, authors, and publisher of the Document as given on its Title
|
||||
Page, then add an item describing the Modified Version as stated in the
|
||||
previous sentence. </li>
|
||||
<li><strong>J.</strong> Preserve the network location, if any, given in
|
||||
the Document for public access to a Transparent copy of the Document, and
|
||||
likewise the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the "History" section. You may
|
||||
omit a network location for a work that was published at least four years
|
||||
before the Document itself, or if the original publisher of the version
|
||||
it refers to gives permission. </li>
|
||||
<li><strong>K.</strong> In any section entitled "Acknowledgements" or
|
||||
"Dedications", preserve the section's title, and preserve in the section
|
||||
all the substance and tone of each of the contributor acknowledgements
|
||||
and/or dedications given therein. </li>
|
||||
<li><strong>L.</strong> Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers or the equivalent
|
||||
are not considered part of the section titles. </li>
|
||||
<li><strong>M.</strong> Delete any section entitled "Endorsements". Such a
|
||||
section may not be included in the Modified Version. </li>
|
||||
<li><strong>N.</strong> Do not retitle any existing section as "Endorsements"
|
||||
<li><strong>M.</strong> Delete any section entitled "Endorsements". Such
|
||||
a section may not be included in the Modified Version. </li>
|
||||
<li><strong>N.</strong> Do not retitle any existing section as "Endorsements"
|
||||
or to conflict in title with any Invariant Section. </li>
|
||||
|
||||
</ul>
|
||||
<p>If the Modified Version includes new front-matter sections or appendices that
|
||||
qualify as Secondary Sections and contain no material copied from the Document,
|
||||
you may at your option designate some or all of these sections as invariant. To
|
||||
do this, add their titles to the list of Invariant Sections in the Modified
|
||||
Version's license notice. These titles must be distinct from any other section
|
||||
titles. </p>
|
||||
<p>You may add a section entitled "Endorsements", provided it contains nothing
|
||||
but endorsements of your Modified Version by various parties--for example,
|
||||
statements of peer review or that the text has been approved by an organization
|
||||
|
||||
<p>If the Modified Version includes new front-matter sections or appendices
|
||||
that qualify as Secondary Sections and contain no material copied from the
|
||||
Document, you may at your option designate some or all of these sections
|
||||
as invariant. To do this, add their titles to the list of Invariant Sections
|
||||
in the Modified Version's license notice. These titles must be distinct from
|
||||
any other section titles. </p>
|
||||
|
||||
<p>You may add a section entitled "Endorsements", provided it contains nothing
|
||||
but endorsements of your Modified Version by various parties--for example,
|
||||
statements of peer review or that the text has been approved by an organization
|
||||
as the authoritative definition of a standard. </p>
|
||||
<p>You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover
|
||||
Texts in the Modified Version. Only one passage of Front-Cover Text and one of
|
||||
Back-Cover Text may be added by (or through arrangements made by) any one
|
||||
entity. If the Document already includes a cover text for the same cover,
|
||||
previously added by you or by arrangement made by the same entity you are acting
|
||||
on behalf of, you may not add another; but you may replace the old one, on
|
||||
explicit permission from the previous publisher that added the old one. </p>
|
||||
<p>The author(s) and publisher(s) of the Document do not by this License give
|
||||
permission to use their names for publicity for or to assert or imply
|
||||
|
||||
<p>You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list of
|
||||
Cover Texts in the Modified Version. Only one passage of Front-Cover Text
|
||||
and one of Back-Cover Text may be added by (or through arrangements made
|
||||
by) any one entity. If the Document already includes a cover text for the
|
||||
same cover, previously added by you or by arrangement made by the same entity
|
||||
you are acting on behalf of, you may not add another; but you may replace
|
||||
the old one, on explicit permission from the previous publisher that added
|
||||
the old one. </p>
|
||||
|
||||
<p>The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or imply
|
||||
endorsement of any Modified Version. </p>
|
||||
|
||||
<p><strong>5. COMBINING DOCUMENTS</strong> </p>
|
||||
<p>You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified versions,
|
||||
provided that you include in the combination all of the Invariant Sections of
|
||||
all of the original documents, unmodified, and list them all as Invariant
|
||||
Sections of your combined work in its license notice. </p>
|
||||
<p>The combined work need only contain one copy of this License, and multiple
|
||||
identical Invariant Sections may be replaced with a single copy. If there are
|
||||
multiple Invariant Sections with the same name but different contents, make the
|
||||
title of each such section unique by adding at the end of it, in parentheses,
|
||||
the name of the original author or publisher of that section if known, or else a
|
||||
unique number. Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work. </p>
|
||||
<p>In the combination, you must combine any sections entitled "History" in the
|
||||
various original documents, forming one section entitled "History"; likewise
|
||||
combine any sections entitled "Acknowledgements", and any sections entitled
|
||||
"Dedications". You must delete all sections entitled "Endorsements." </p>
|
||||
|
||||
<p>You may combine the Document with other documents released under this License,
|
||||
under the terms defined in section 4 above for modified versions, provided
|
||||
that you include in the combination all of the Invariant Sections of all
|
||||
of the original documents, unmodified, and list them all as Invariant Sections
|
||||
of your combined work in its license notice. </p>
|
||||
|
||||
<p>The combined work need only contain one copy of this License, and multiple
|
||||
identical Invariant Sections may be replaced with a single copy. If there
|
||||
are multiple Invariant Sections with the same name but different contents,
|
||||
make the title of each such section unique by adding at the end of it, in
|
||||
parentheses, the name of the original author or publisher of that section
|
||||
if known, or else a unique number. Make the same adjustment to the section
|
||||
titles in the list of Invariant Sections in the license notice of the combined
|
||||
work. </p>
|
||||
|
||||
<p>In the combination, you must combine any sections entitled "History" in
|
||||
the various original documents, forming one section entitled "History"; likewise
|
||||
combine any sections entitled "Acknowledgements", and any sections entitled
|
||||
"Dedications". You must delete all sections entitled "Endorsements." </p>
|
||||
|
||||
<p><strong>6. COLLECTIONS OF DOCUMENTS</strong> </p>
|
||||
<p>You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this License
|
||||
in the various documents with a single copy that is included in the collection,
|
||||
provided that you follow the rules of this License for verbatim copying of each
|
||||
of the documents in all other respects. </p>
|
||||
<p>You may extract a single document from such a collection, and distribute it
|
||||
individually under this License, provided you insert a copy of this License into
|
||||
the extracted document, and follow this License in all other respects regarding
|
||||
verbatim copying of that document. </p>
|
||||
|
||||
<p>You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this License
|
||||
in the various documents with a single copy that is included in the collection,
|
||||
provided that you follow the rules of this License for verbatim copying of
|
||||
each of the documents in all other respects. </p>
|
||||
|
||||
<p>You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this License
|
||||
into the extracted document, and follow this License in all other respects
|
||||
regarding verbatim copying of that document. </p>
|
||||
|
||||
<p><strong>7. AGGREGATION WITH INDEPENDENT WORKS</strong> </p>
|
||||
<p>A compilation of the Document or its derivatives with other separate and
|
||||
independent documents or works, in or on a volume of a storage or distribution
|
||||
medium, does not as a whole count as a Modified Version of the Document,
|
||||
provided no compilation copyright is claimed for the compilation. Such a
|
||||
compilation is called an "aggregate", and this License does not apply to the
|
||||
other self-contained works thus compiled with the Document, on account of their
|
||||
being thus compiled, if they are not themselves derivative works of the
|
||||
Document. </p>
|
||||
<p>If the Cover Text requirement of section 3 is applicable to these copies of
|
||||
the Document, then if the Document is less than one quarter of the entire
|
||||
aggregate, the Document's Cover Texts may be placed on covers that surround only
|
||||
the Document within the aggregate. Otherwise they must appear on covers around
|
||||
the whole aggregate. </p>
|
||||
|
||||
<p>A compilation of the Document or its derivatives with other separate and
|
||||
independent documents or works, in or on a volume of a storage or distribution
|
||||
medium, does not as a whole count as a Modified Version of the Document, provided
|
||||
no compilation copyright is claimed for the compilation. Such a compilation
|
||||
is called an "aggregate", and this License does not apply to the other self-contained
|
||||
works thus compiled with the Document, on account of their being thus compiled,
|
||||
if they are not themselves derivative works of the Document. </p>
|
||||
|
||||
<p>If the Cover Text requirement of section 3 is applicable to these copies
|
||||
of the Document, then if the Document is less than one quarter of the entire
|
||||
aggregate, the Document's Cover Texts may be placed on covers that surround
|
||||
only the Document within the aggregate. Otherwise they must appear on covers
|
||||
around the whole aggregate. </p>
|
||||
|
||||
<p><strong>8. TRANSLATION</strong> </p>
|
||||
<p>Translation is considered a kind of modification, so you may distribute
|
||||
translations of the Document under the terms of section 4. Replacing Invariant
|
||||
Sections with translations requires special permission from their copyright
|
||||
holders, but you may include translations of some or all Invariant Sections in
|
||||
addition to the original versions of these Invariant Sections. You may include a
|
||||
translation of this License provided that you also include the original English
|
||||
version of this License. In case of a disagreement between the translation and
|
||||
the original English version of this License, the original English version will
|
||||
prevail. </p>
|
||||
|
||||
<p>Translation is considered a kind of modification, so you may distribute
|
||||
translations of the Document under the terms of section 4. Replacing Invariant
|
||||
Sections with translations requires special permission from their copyright
|
||||
holders, but you may include translations of some or all Invariant Sections
|
||||
in addition to the original versions of these Invariant Sections. You may
|
||||
include a translation of this License provided that you also include the
|
||||
original English version of this License. In case of a disagreement between
|
||||
the translation and the original English version of this License, the original
|
||||
English version will prevail. </p>
|
||||
|
||||
<p><strong>9. TERMINATION</strong> </p>
|
||||
<p>You may not copy, modify, sublicense, or distribute the Document except as
|
||||
expressly provided for under this License. Any other attempt to copy, modify,
|
||||
sublicense or distribute the Document is void, and will automatically terminate
|
||||
your rights under this License. However, parties who have received copies, or
|
||||
rights, from you under this License will not have their licenses terminated so
|
||||
long as such parties remain in full compliance. </p>
|
||||
|
||||
<p>You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to copy,
|
||||
modify, sublicense or distribute the Document is void, and will automatically
|
||||
terminate your rights under this License. However, parties who have received
|
||||
copies, or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance. </p>
|
||||
|
||||
<p><strong>10. FUTURE REVISIONS OF THIS LICENSE</strong> </p>
|
||||
<p>The Free Software Foundation may publish new, revised versions of the GNU
|
||||
Free Documentation License from time to time. Such new versions will be similar
|
||||
in spirit to the present version, but may differ in detail to address new
|
||||
problems or concerns. See http://www.gnu.org/copyleft/. </p>
|
||||
<p>Each version of the License is given a distinguishing version number. If the
|
||||
Document specifies that a particular numbered version of this License "or any
|
||||
later version" applies to it, you have the option of following the terms and
|
||||
conditions either of that specified version or of any later version that has
|
||||
been published (not as a draft) by the Free Software Foundation. If the Document
|
||||
does not specify a version number of this License, you may choose any version
|
||||
ever published (not as a draft) by the Free Software Foundation. </p>
|
||||
<p align="left"> </p>
|
||||
|
||||
|
||||
<p>The Free Software Foundation may publish new, revised versions of the
|
||||
GNU Free Documentation License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns. See http://www.gnu.org/copyleft/. </p>
|
||||
|
||||
<p>Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this License
|
||||
"or any later version" applies to it, you have the option of following the
|
||||
terms and conditions either of that specified version or of any later version
|
||||
that has been published (not as a draft) by the Free Software Foundation.
|
||||
If the Document does not specify a version number of this License, you may
|
||||
choose any version ever published (not as a draft) by the Free Software Foundation.
|
||||
</p>
|
||||
|
||||
<p align="left"> </p>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
||||
|
@ -1,248 +1,249 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>GRE/IPIP Tunnels</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">GRE and IPIP Tunnels</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3><font color="#ff6633">Warning: </font>GRE and IPIP Tunnels are insecure
|
||||
|
||||
<h3><font color="#ff6633">Warning: </font>GRE and IPIP Tunnels are insecure
|
||||
when used over the internet; use them at your own risk</h3>
|
||||
|
||||
<p>GRE and IPIP tunneling with Shorewall can be used to bridge two masqueraded
|
||||
|
||||
<p>GRE and IPIP tunneling with Shorewall can be used to bridge two masqueraded
|
||||
networks.</p>
|
||||
|
||||
<p>The simple scripts described in the <a href="http://ds9a.nl/lartc">Linux
|
||||
Advanced Routing and Shaping HOWTO</a> work fine with Shorewall. Shorewall
|
||||
also includes a tunnel script for automating tunnel configuration. If you
|
||||
have installed the RPM, the tunnel script may be found in the Shorewall documentation
|
||||
|
||||
<p>The simple scripts described in the <a href="http://ds9a.nl/lartc">Linux
|
||||
Advanced Routing and Shaping HOWTO</a> work fine with Shorewall. Shorewall
|
||||
also includes a tunnel script for automating tunnel configuration. If you
|
||||
have installed the RPM, the tunnel script may be found in the Shorewall documentation
|
||||
directory (usually /usr/share/doc/shorewall-<version>/).</p>
|
||||
|
||||
|
||||
<h2>Bridging two Masqueraded Networks</h2>
|
||||
|
||||
|
||||
<p>Suppose that we have the following situation:</p>
|
||||
|
||||
|
||||
<p align="center"> <img border="0" src="images/TwoNets1.png" width="745"
|
||||
height="427">
|
||||
</p>
|
||||
|
||||
<p align="left">We want systems in the 192.168.1.0/24 subnetwork to be able
|
||||
to communicate with the systems in the 10.0.0.0/8 network. This is accomplished
|
||||
through use of the /etc/shorewall/tunnels file, the /etc/shorewall/policy
|
||||
</p>
|
||||
|
||||
<p align="left">We want systems in the 192.168.1.0/24 subnetwork to be able
|
||||
to communicate with the systems in the 10.0.0.0/8 network. This is accomplished
|
||||
through use of the /etc/shorewall/tunnels file, the /etc/shorewall/policy
|
||||
file and the /etc/shorewall/tunnel script that is included with Shorewall.</p>
|
||||
|
||||
<p align="left">The 'tunnel' script is not installed in /etc/shorewall by
|
||||
default -- If you install using the tarball, the script is included in the
|
||||
tarball; if you install using the RPM, the file is in your Shorewall documentation
|
||||
|
||||
<p align="left">The 'tunnel' script is not installed in /etc/shorewall by
|
||||
default -- If you install using the tarball, the script is included in the
|
||||
tarball; if you install using the RPM, the file is in your Shorewall documentation
|
||||
directory (normally /usr/share/doc/shorewall-<version>).</p>
|
||||
|
||||
<p align="left">In the /etc/shorewall/tunnel script, set the 'tunnel_type'
|
||||
|
||||
<p align="left">In the /etc/shorewall/tunnel script, set the 'tunnel_type'
|
||||
parameter to the type of tunnel that you want to create.</p>
|
||||
|
||||
|
||||
<p align="left">Example:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">tunnel_type=gre</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left">On each firewall, you will need to declare a zone to represent
|
||||
the remote subnet. We'll assume that this zone is called 'vpn' and declare
|
||||
</blockquote>
|
||||
|
||||
<p align="left">On each firewall, you will need to declare a zone to represent
|
||||
the remote subnet. We'll assume that this zone is called 'vpn' and declare
|
||||
it in /etc/shorewall/zones on both systems as follows.</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>ZONE</strong></td>
|
||||
<td><strong>DISPLAY</strong></td>
|
||||
<td><strong>COMMENTS</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>VPN</td>
|
||||
<td>Remote Subnet</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p align="left">On system A, the 10.0.0.0/8 will comprise the <b>vpn</b> zone.
|
||||
In /etc/shorewall/interfaces:</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>BROADCAST</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>ZONE</strong></td>
|
||||
<td><strong>DISPLAY</strong></td>
|
||||
<td><strong>COMMENTS</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>VPN</td>
|
||||
<td>Remote Subnet</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>vpn</td>
|
||||
<td>tosysb</td>
|
||||
<td>10.255.255.255</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p align="left">On system A, the 10.0.0.0/8 will comprise the <b>vpn</b>
|
||||
zone. In /etc/shorewall/interfaces:</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>BROADCAST</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>tosysb</td>
|
||||
<td>10.255.255.255</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<p align="left">In /etc/shorewall/tunnels on system A, we need the following:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ipip</td>
|
||||
<td>net</td>
|
||||
<td>134.28.54.2</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>ipip</td>
|
||||
<td>net</td>
|
||||
<td>134.28.54.2</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>This entry in /etc/shorewall/tunnels, opens the firewall so that the IP
|
||||
</blockquote>
|
||||
|
||||
<p>This entry in /etc/shorewall/tunnels, opens the firewall so that the IP
|
||||
encapsulation protocol (4) will be accepted to/from the remote gateway.</p>
|
||||
|
||||
|
||||
<p>In the tunnel script on system A:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>tunnel=tosysb<br>
|
||||
myrealip=206.161.148.9 (for GRE tunnel only)<br>
|
||||
myip=192.168.1.1<br>
|
||||
hisip=10.0.0.1<br>
|
||||
gateway=134.28.54.2<br>
|
||||
subnet=10.0.0.0/8</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Similarly, On system B the 192.168.1.0/24 subnet will comprise the <b>vpn</b>
|
||||
myrealip=206.161.148.9 (for GRE tunnel only)<br>
|
||||
myip=192.168.1.1<br>
|
||||
hisip=10.0.0.1<br>
|
||||
gateway=134.28.54.2<br>
|
||||
subnet=10.0.0.0/8</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Similarly, On system B the 192.168.1.0/24 subnet will comprise the <b>vpn</b>
|
||||
zone. In /etc/shorewall/interfaces:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>BROADCAST</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>BROADCAST</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>tosysa</td>
|
||||
<td>192.168.1.255</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>vpn</td>
|
||||
<td>tosysa</td>
|
||||
<td>192.168.1.255</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>In /etc/shorewall/tunnels on system B, we have:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ipip</td>
|
||||
<td>net</td>
|
||||
<td>206.191.148.9</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>ipip</td>
|
||||
<td>net</td>
|
||||
<td>206.191.148.9</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>And in the tunnel script on system B:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>tunnel=tosysa<br>
|
||||
myrealip=134.28.54.2 (for GRE tunnel only)<br>
|
||||
myip=10.0.0.1<br>
|
||||
hisip=192.168.1.1<br>
|
||||
gateway=206.191.148.9<br>
|
||||
subnet=192.168.1.0/24</p>
|
||||
</blockquote>
|
||||
|
||||
<p>You can rename the modified tunnel scripts if you like; be sure that they
|
||||
myrealip=134.28.54.2 (for GRE tunnel only)<br>
|
||||
myip=10.0.0.1<br>
|
||||
hisip=192.168.1.1<br>
|
||||
gateway=206.191.148.9<br>
|
||||
subnet=192.168.1.0/24</p>
|
||||
</blockquote>
|
||||
|
||||
<p>You can rename the modified tunnel scripts if you like; be sure that they
|
||||
are secured so that root can execute them. </p>
|
||||
|
||||
<p align="left"> You will need to allow traffic between the "vpn" zone and
|
||||
the "loc" zone on both systems -- if you simply want to admit all
|
||||
traffic in both directions, you can use the policy file:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p align="left"> You will need to allow traffic between the "vpn" zone and
|
||||
the "loc" zone on both systems -- if you simply want to admit all traffic
|
||||
in both directions, you can use the policy file:</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>SOURCE</strong></td>
|
||||
<td><strong>DEST</strong></td>
|
||||
<td><strong>POLICY</strong></td>
|
||||
<td><strong>LOG LEVEL</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>vpn</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>loc</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>SOURCE</strong></td>
|
||||
<td><strong>DEST</strong></td>
|
||||
<td><strong>POLICY</strong></td>
|
||||
<td><strong>LOG LEVEL</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>vpn</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>loc</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>On both systems, restart Shorewall and run the modified tunnel script
|
||||
with the "start" argument on each system. The systems in the two masqueraded
|
||||
subnetworks can now talk to each other</p>
|
||||
|
||||
<p><font size="2">Updated 2/22/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</blockquote>
|
||||
|
||||
<p>On both systems, restart Shorewall and run the modified tunnel script with
|
||||
the "start" argument on each system. The systems in the two masqueraded subnetworks
|
||||
can now talk to each other</p>
|
||||
|
||||
<p><font size="2">Updated 2/22/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003Thomas M. Eastep.</font></a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,220 +1,221 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Installation</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Installation and
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Installation and
|
||||
Upgrade</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p align="center"><b>Before upgrading, be sure to review the <a
|
||||
href="upgrade_issues.htm">Upgrade Issues<br>
|
||||
</a></b></p>
|
||||
|
||||
<div align="left"><b>Before attempting installation, I strongly urge you to
|
||||
read and print a copy of the <a
|
||||
href="shorewall_quickstart_guide.htm">Shorewall QuickStart Guide</a>
|
||||
for the configuration that most closely matches your own.</b><br>
|
||||
</div>
|
||||
|
||||
</a></b></p>
|
||||
|
||||
<div align="left"><b>Before attempting installation, I strongly urge you
|
||||
to read and print a copy of the <a
|
||||
href="shorewall_quickstart_guide.htm">Shorewall QuickStart Guide</a>
|
||||
for the configuration that most closely matches your own.</b><br>
|
||||
</div>
|
||||
|
||||
<p><font size="4"><b><a href="#Install_RPM">Install using RPM</a><br>
|
||||
<a href="#Install_Tarball">Install using tarball<br>
|
||||
</a><a href="#LRP">Install the .lrp</a><br>
|
||||
<a href="#Upgrade_RPM">Upgrade using RPM</a><br>
|
||||
<a href="#Upgrade_Tarball">Upgrade using tarball<br>
|
||||
</a><a href="#LRP_Upgrade">Upgrade the .lrp</a><br>
|
||||
<a href="#Config_Files">Configuring Shorewall</a><br>
|
||||
<a href="fallback.htm">Uninstall/Fallback</a></b></font></p>
|
||||
|
||||
<a href="#Install_Tarball">Install using tarball<br>
|
||||
</a><a href="#LRP">Install the .lrp</a><br>
|
||||
<a href="#Upgrade_RPM">Upgrade using RPM</a><br>
|
||||
<a href="#Upgrade_Tarball">Upgrade using tarball<br>
|
||||
</a><a href="#LRP_Upgrade">Upgrade the .lrp</a><br>
|
||||
<a href="#Config_Files">Configuring Shorewall</a><br>
|
||||
<a href="fallback.htm">Uninstall/Fallback</a></b></font></p>
|
||||
|
||||
<p><a name="Install_RPM"></a>To install Shorewall using the RPM:</p>
|
||||
|
||||
<p><b>If you have RedHat 7.2 and are running iptables version 1.2.3 (at a
|
||||
shell prompt, type "/sbin/iptables --version"), you must upgrade to
|
||||
version 1.2.4 either from the <a
|
||||
href="http://www.redhat.com/support/errata/RHSA-2001-144.html">RedHat update
|
||||
site</a> or from the <a href="errata.htm">Shorewall Errata page</a>
|
||||
before attempting to start Shorewall.</b></p>
|
||||
|
||||
|
||||
<p><b>If you have RedHat 7.2 and are running iptables version 1.2.3 (at a
|
||||
shell prompt, type "/sbin/iptables --version"), you must upgrade to version
|
||||
1.2.4 either from the <a
|
||||
href="http://www.redhat.com/support/errata/RHSA-2001-144.html">RedHat update
|
||||
site</a> or from the <a href="errata.htm">Shorewall Errata page</a> before
|
||||
attempting to start Shorewall.</b></p>
|
||||
|
||||
<ul>
|
||||
<li>Install the RPM (rpm -ivh <shorewall rpm>).<br>
|
||||
<br>
|
||||
<b>Note1: </b>Some SuSE users have encountered a problem whereby
|
||||
rpm reports a conflict with kernel <= 2.2 even though a 2.4 kernel
|
||||
is installed. If this happens, simply use the --nodeps option to rpm
|
||||
<li>Install the RPM (rpm -ivh <shorewall rpm>).<br>
|
||||
<br>
|
||||
<b>Note1: </b>Some SuSE users have encountered a problem whereby
|
||||
rpm reports a conflict with kernel <= 2.2 even though a 2.4 kernel
|
||||
is installed. If this happens, simply use the --nodeps option to rpm
|
||||
(rpm -ivh --nodeps <shorewall rpm>.<br>
|
||||
<br>
|
||||
<b>Note2: </b>Beginning with Shorewall 1.4.0, Shorewall is dependent
|
||||
on the iproute package. Unfortunately, some distributions call this package
|
||||
iproute2 which will cause the installation of Shorewall to fail with the
|
||||
diagnostic:<br>
|
||||
<br>
|
||||
error: failed dependencies:iproute is needed by shorewall-1.4.x-1
|
||||
<br>
|
||||
<br>
|
||||
This may be worked around by using the --nodeps option of rpm (rpm -ivh
|
||||
--nodeps <shorewall rpm>).<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Edit the <a href="#Config_Files"> configuration files</a>
|
||||
to match your configuration. <font color="#ff0000"><b>WARNING - YOU CAN
|
||||
<u>NOT</u> SIMPLY INSTALL THE RPM AND ISSUE A "shorewall start" COMMAND.
|
||||
SOME CONFIGURATION IS REQUIRED BEFORE THE FIREWALL WILL START. IF YOU
|
||||
ISSUE A "start" COMMAND AND THE FIREWALL FAILS TO START, YOUR SYSTEM WILL
|
||||
NO LONGER ACCEPT ANY NETWORK TRAFFIC. IF THIS HAPPENS, ISSUE A "shorewall
|
||||
clear" COMMAND TO RESTORE NETWORK CONNECTIVITY.</b></font></li>
|
||||
<li>Start the firewall by typing "shorewall start"</li>
|
||||
|
||||
<b>Note2: </b>Beginning with Shorewall 1.4.0, Shorewall is dependent
|
||||
on the iproute package. Unfortunately, some distributions call this package
|
||||
iproute2 which will cause the installation of Shorewall to fail with the
|
||||
diagnostic:<br>
|
||||
<br>
|
||||
error: failed dependencies:iproute is needed by shorewall-1.4.x-1
|
||||
<br>
|
||||
<br>
|
||||
This may be worked around by using the --nodeps option of rpm (rpm -ivh
|
||||
--nodeps <shorewall rpm>).<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Edit the <a href="#Config_Files"> configuration files</a>
|
||||
to match your configuration. <font color="#ff0000"><b>WARNING - YOU CAN
|
||||
<u>NOT</u> SIMPLY INSTALL THE RPM AND ISSUE A "shorewall start"
|
||||
COMMAND. SOME CONFIGURATION IS REQUIRED BEFORE THE FIREWALL WILL START.
|
||||
IF YOU ISSUE A "start" COMMAND AND THE FIREWALL FAILS TO START, YOUR
|
||||
SYSTEM WILL NO LONGER ACCEPT ANY NETWORK TRAFFIC. IF THIS HAPPENS, ISSUE
|
||||
A "shorewall clear" COMMAND TO RESTORE NETWORK CONNECTIVITY.</b></font></li>
|
||||
<li>Start the firewall by typing "shorewall start"</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p><a name="Install_Tarball"></a>To install Shorewall using the tarball
|
||||
|
||||
<p><a name="Install_Tarball"></a>To install Shorewall using the tarball
|
||||
and install script: </p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>unpack the tarball (tar -zxf shorewall-x.y.z.tgz).</li>
|
||||
<li>cd to the shorewall directory (the version is encoded in
|
||||
<li>unpack the tarball (tar -zxf shorewall-x.y.z.tgz).</li>
|
||||
<li>cd to the shorewall directory (the version is encoded in
|
||||
the directory name as in "shorewall-1.1.10").</li>
|
||||
<li>If you are using <a
|
||||
<li>If you are using <a
|
||||
href="http://www.caldera.com/openstore/openlinux/">Caldera</a>, <a
|
||||
href="http://www.redhat.com">RedHat</a>, <a
|
||||
href="http://www.linux-mandrake.com">Mandrake</a>, <a
|
||||
href="http://www.corel.com">Corel</a>, <a
|
||||
href="http://www.slackware.com/">Slackware</a> or <a
|
||||
href="http://www.debian.org">Debian</a> then type "./install.sh"</li>
|
||||
<li>If you are using <a href="http://www.suse.com">SuSe</a> then
|
||||
type "./install.sh /etc/init.d"</li>
|
||||
<li>If your distribution has directory /etc/rc.d/init.d
|
||||
<li>If you are using <a href="http://www.suse.com">SuSe</a>
|
||||
then type "./install.sh /etc/init.d"</li>
|
||||
<li>If your distribution has directory /etc/rc.d/init.d
|
||||
or /etc/init.d then type "./install.sh"</li>
|
||||
<li>For other distributions, determine where your
|
||||
distribution installs init scripts and type "./install.sh
|
||||
<init script directory></li>
|
||||
<li>Edit the <a href="#Config_Files"> configuration files</a>
|
||||
to match your configuration.</li>
|
||||
<li>Start the firewall by typing "shorewall start"</li>
|
||||
<li>If the install script was unable to configure Shorewall to
|
||||
be started automatically at boot, see <a
|
||||
<li>For other distributions, determine where your
|
||||
distribution installs init scripts and type "./install.sh
|
||||
<init script directory></li>
|
||||
<li>Edit the <a href="#Config_Files"> configuration files</a>
|
||||
to match your configuration.</li>
|
||||
<li>Start the firewall by typing "shorewall start"</li>
|
||||
<li>If the install script was unable to configure Shorewall
|
||||
to be started automatically at boot, see <a
|
||||
href="starting_and_stopping_shorewall.htm">these instructions</a>.</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
<p><a name="LRP"></a>To install my version of Shorewall on a fresh Bering
|
||||
disk, simply replace the "shorwall.lrp" file on the image with the file
|
||||
that you downloaded. See the <a href="two-interface.htm">two-interface QuickStart
|
||||
Guide</a> for information about further steps required.</p>
|
||||
|
||||
<p><a name="Upgrade_RPM"></a>If you already have the Shorewall RPM installed
|
||||
|
||||
<p><a name="LRP"></a>To install my version of Shorewall on a fresh Bering
|
||||
disk, simply replace the "shorwall.lrp" file on the image with the file
|
||||
that you downloaded. See the <a href="two-interface.htm">two-interface
|
||||
QuickStart Guide</a> for information about further steps required.</p>
|
||||
|
||||
<p><a name="Upgrade_RPM"></a>If you already have the Shorewall RPM installed
|
||||
and are upgrading to a new version:</p>
|
||||
|
||||
<p>If you are upgrading from a 1.2 version of Shorewall to a 1.4 version
|
||||
or and you have entries in the /etc/shorewall/hosts file then please check
|
||||
your /etc/shorewall/interfaces file to be sure that it contains an entry
|
||||
for each interface mentioned in the hosts file. Also, there are certain
|
||||
1.2 rule forms that are no longer supported under 1.4 (you must use the
|
||||
new 1.4 syntax). See <a href="errata.htm#Upgrade">the upgrade issues </a>for
|
||||
details.</p>
|
||||
|
||||
|
||||
<p>If you are upgrading from a 1.2 version of Shorewall to a 1.4 version or
|
||||
and you have entries in the /etc/shorewall/hosts file then please check
|
||||
your /etc/shorewall/interfaces file to be sure that it contains an entry
|
||||
for each interface mentioned in the hosts file. Also, there are certain
|
||||
1.2 rule forms that are no longer supported under 1.4 (you must use the
|
||||
new 1.4 syntax). See <a href="errata.htm#Upgrade">the upgrade issues </a>for
|
||||
details.</p>
|
||||
|
||||
<ul>
|
||||
<li>Upgrade the RPM (rpm -Uvh <shorewall rpm file>) <b>Note:
|
||||
</b>If you are installing version 1.2.0 and have one of the 1.2.0
|
||||
Beta RPMs installed, you must use the "--oldpackage" option to rpm
|
||||
(e.g., "rpm -Uvh --oldpackage shorewall-1.2-0.noarch.rpm").
|
||||
|
||||
<p> <b>Note1: </b>Some SuSE users have encountered a problem whereby
|
||||
rpm reports a conflict with kernel <= 2.2 even though a 2.4 kernel
|
||||
is installed. If this happens, simply use the --nodeps option to rpm
|
||||
(rpm -Uvh --nodeps <shorewall rpm>).<br>
|
||||
<li>Upgrade the RPM (rpm -Uvh <shorewall rpm file>) <b>Note:
|
||||
</b>If you are installing version 1.2.0 and have one of the 1.2.0
|
||||
Beta RPMs installed, you must use the "--oldpackage" option to rpm
|
||||
(e.g., "rpm -Uvh --oldpackage shorewall-1.2-0.noarch.rpm").
|
||||
|
||||
<p> <b>Note1: </b>Some SuSE users have encountered a problem whereby
|
||||
rpm reports a conflict with kernel <= 2.2 even though a 2.4 kernel
|
||||
is installed. If this happens, simply use the --nodeps option to rpm
|
||||
(rpm -Uvh --nodeps <shorewall rpm>).<br>
|
||||
<br>
|
||||
<b>Note3: </b>Beginning with Shorewall 1.4.0, Shorewall is dependent
|
||||
on the iproute package. Unfortunately, some distributions call this package
|
||||
iproute2 which will cause the upgrade of Shorewall to fail with the diagnostic:<br>
|
||||
<br>
|
||||
<b>Note3: </b>Beginning with Shorewall 1.4.0, Shorewall is dependent
|
||||
on the iproute package. Unfortunately, some distributions call this package
|
||||
iproute2 which will cause the upgrade of Shorewall to fail with the diagnostic:<br>
|
||||
<br>
|
||||
error: failed dependencies:iproute is needed by shorewall-1.4.0-1
|
||||
error: failed dependencies:iproute is needed by shorewall-1.4.0-1
|
||||
<br>
|
||||
<br>
|
||||
This may be worked around by using the --nodeps option of rpm (rpm -Uvh
|
||||
--nodeps <shorewall rpm>). </p>
|
||||
</li>
|
||||
<li>See if there are any incompatibilities between your configuration
|
||||
and the new Shorewall version (type "shorewall check") and correct
|
||||
as necessary.</li>
|
||||
<li>Restart the firewall (shorewall restart).</li>
|
||||
|
||||
<br>
|
||||
This may be worked around by using the --nodeps option of rpm (rpm
|
||||
-Uvh --nodeps <shorewall rpm>). </p>
|
||||
</li>
|
||||
<li>See if there are any incompatibilities between your configuration
|
||||
and the new Shorewall version (type "shorewall check") and correct as
|
||||
necessary.</li>
|
||||
<li>Restart the firewall (shorewall restart).</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p><a name="Upgrade_Tarball"></a>If you already have Shorewall installed and
|
||||
are upgrading to a new version using the tarball:</p>
|
||||
|
||||
<p>If you are upgrading from a 1.2 version of Shorewall to a 1.4 version and
|
||||
you have entries in the /etc/shorewall/hosts file then please check your
|
||||
/etc/shorewall/interfaces file to be sure that it contains an entry for
|
||||
each interface mentioned in the hosts file. Also, there are certain 1.2
|
||||
rule forms that are no longer supported under 1.4 (you must use the new
|
||||
1.4 syntax). See <a href="errata.htm#Upgrade">the upgrade issues</a> for
|
||||
details. </p>
|
||||
|
||||
|
||||
<p><a name="Upgrade_Tarball"></a>If you already have Shorewall installed
|
||||
and are upgrading to a new version using the tarball:</p>
|
||||
|
||||
<p>If you are upgrading from a 1.2 version of Shorewall to a 1.4 version
|
||||
and you have entries in the /etc/shorewall/hosts file then please check
|
||||
your /etc/shorewall/interfaces file to be sure that it contains an entry
|
||||
for each interface mentioned in the hosts file. Also, there are certain
|
||||
1.2 rule forms that are no longer supported under 1.4 (you must use the
|
||||
new 1.4 syntax). See <a href="errata.htm#Upgrade">the upgrade issues</a>
|
||||
for details. </p>
|
||||
|
||||
<ul>
|
||||
<li>unpack the tarball (tar -zxf shorewall-x.y.z.tgz).</li>
|
||||
<li>cd to the shorewall directory (the version is encoded in
|
||||
<li>unpack the tarball (tar -zxf shorewall-x.y.z.tgz).</li>
|
||||
<li>cd to the shorewall directory (the version is encoded in
|
||||
the directory name as in "shorewall-3.0.1").</li>
|
||||
<li>If you are using <a
|
||||
<li>If you are using <a
|
||||
href="http://www.caldera.com/openstore/openlinux/">Caldera</a>, <a
|
||||
href="http://www.redhat.com">RedHat</a>, <a
|
||||
href="http://www.linux-mandrake.com">Mandrake</a>, <a
|
||||
href="http://www.corel.com">Corel</a>, <a
|
||||
href="http://www.slackware.com/">Slackware</a> or <a
|
||||
href="http://www.debian.org">Debian</a> then type "./install.sh"</li>
|
||||
<li>If you are using<a href="http://www.suse.com"> SuSe</a> then
|
||||
type "./install.sh /etc/init.d"</li>
|
||||
<li>If your distribution has directory /etc/rc.d/init.d
|
||||
<li>If you are using<a href="http://www.suse.com"> SuSe</a>
|
||||
then type "./install.sh /etc/init.d"</li>
|
||||
<li>If your distribution has directory /etc/rc.d/init.d
|
||||
or /etc/init.d then type "./install.sh"</li>
|
||||
<li>For other distributions, determine where your
|
||||
distribution installs init scripts and type "./install.sh
|
||||
<init script directory></li>
|
||||
<li>See if there are any incompatibilities between your configuration
|
||||
and the new Shorewall version (type "shorewall check") and correct
|
||||
as necessary.</li>
|
||||
<li>Restart the firewall by typing "shorewall restart"</li>
|
||||
|
||||
<li>For other distributions, determine where your
|
||||
distribution installs init scripts and type "./install.sh
|
||||
<init script directory></li>
|
||||
<li>See if there are any incompatibilities between your configuration
|
||||
and the new Shorewall version (type "shorewall check") and correct as
|
||||
necessary.</li>
|
||||
<li>Restart the firewall by typing "shorewall restart"</li>
|
||||
|
||||
</ul>
|
||||
<a name="LRP_Upgrade"></a>If you already have a running Bering
|
||||
installation and wish to upgrade to a later version of Shorewall:<br>
|
||||
<br>
|
||||
<b>UNDER CONSTRUCTION...</b><br>
|
||||
|
||||
<a name="LRP_Upgrade"></a>If you already have a running
|
||||
Bering installation and wish to upgrade to a later version of Shorewall:<br>
|
||||
<br>
|
||||
<b>UNDER CONSTRUCTION...</b><br>
|
||||
|
||||
<h3><a name="Config_Files"></a>Configuring Shorewall</h3>
|
||||
|
||||
<p>You will need to edit some or all of the configuration files to match
|
||||
your setup. In most cases, the <a href="shorewall_quickstart_guide.htm">Shorewall
|
||||
|
||||
<p>You will need to edit some or all of the configuration files to match your
|
||||
setup. In most cases, the <a href="shorewall_quickstart_guide.htm">Shorewall
|
||||
QuickStart Guides</a> contain all of the information you need.</p>
|
||||
|
||||
|
||||
<ul>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
<p><font size="2">Updated 4/8/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
|
||||
<p><font size="2">Updated 4/8/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,116 +2,120 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>MAC Verification</title>
|
||||
|
||||
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
|
||||
|
||||
<meta name="author" content="Tom Eastep">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber4"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">MAC Verification</font><br>
|
||||
</h1>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</h1>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
All traffic from an interface or from a subnet on an interface
|
||||
can be verified to originate from a defined set of MAC addresses. Furthermore,
|
||||
each MAC address may be optionally associated with one or more IP addresses.
|
||||
<br>
|
||||
<br>
|
||||
<b>Your kernel must include MAC match support (CONFIG_IP_NF_MATCH_MAC
|
||||
- module name ipt_mac.o).</b><br>
|
||||
<br>
|
||||
There are four components to this facility.<br>
|
||||
|
||||
<br>
|
||||
All traffic from an interface or from a subnet on an interface
|
||||
can be verified to originate from a defined set of MAC addresses. Furthermore,
|
||||
each MAC address may be optionally associated with one or more IP addresses.
|
||||
<br>
|
||||
<br>
|
||||
<b>Your kernel must include MAC match support (CONFIG_IP_NF_MATCH_MAC
|
||||
- module name ipt_mac.o).</b><br>
|
||||
<br>
|
||||
There are four components to this facility.<br>
|
||||
|
||||
<ol>
|
||||
<li>The <b>maclist</b> interface option in <a
|
||||
<li>The <b>maclist</b> interface option in <a
|
||||
href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>. When
|
||||
this option is specified, all traffic arriving on the interface is subjet
|
||||
to MAC verification.</li>
|
||||
<li>The <b>maclist </b>option in <a
|
||||
<li>The <b>maclist </b>option in <a
|
||||
href="Documentation.htm#Hosts">/etc/shorewall/hosts</a>. When this option
|
||||
is specified for a subnet, all traffic from that subnet is subject to
|
||||
is specified for a subnet, all traffic from that subnet is subject to
|
||||
MAC verification.</li>
|
||||
<li>The /etc/shorewall/maclist file. This file is used to associate
|
||||
MAC addresses with interfaces and to optionally associate IP addresses
|
||||
with MAC addresses.</li>
|
||||
<li>The <b>MACLIST_DISPOSITION </b>and <b>MACLIST_LOG_LEVEL </b>variables
|
||||
in <a href="Documentation.htm#Conf">/etc/shorewall/shorewall.conf.</a>
|
||||
The MACLIST_DISPOSITION variable has the value DROP, REJECT or ACCEPT
|
||||
and determines the disposition of connection requests that fail MAC verification.
|
||||
The MACLIST_LOG_LEVEL variable gives the syslogd level at which connection
|
||||
requests that fail verification are to be logged. If set the the empty
|
||||
value (e.g., MACLIST_LOG_LEVEL="") then failing connection requests are
|
||||
not logged.<br>
|
||||
</li>
|
||||
|
||||
<li>The /etc/shorewall/maclist file. This file is used to associate
|
||||
MAC addresses with interfaces and to optionally associate IP addresses
|
||||
with MAC addresses.</li>
|
||||
<li>The <b>MACLIST_DISPOSITION </b>and <b>MACLIST_LOG_LEVEL
|
||||
</b>variables in <a href="Documentation.htm#Conf">/etc/shorewall/shorewall.conf.</a>
|
||||
The MACLIST_DISPOSITION variable has the value DROP, REJECT or ACCEPT
|
||||
and determines the disposition of connection requests that fail MAC verification.
|
||||
The MACLIST_LOG_LEVEL variable gives the syslogd level at which connection
|
||||
requests that fail verification are to be logged. If set the the empty
|
||||
value (e.g., MACLIST_LOG_LEVEL="") then failing connection requests are
|
||||
not logged.<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
The columns in /etc/shorewall/maclist are:<br>
|
||||
|
||||
The columns in /etc/shorewall/maclist are:<br>
|
||||
|
||||
<ul>
|
||||
<li>INTERFACE - The name of an ethernet interface on the Shorewall
|
||||
system.</li>
|
||||
<li>MAC - The MAC address of a device on the ethernet segment
|
||||
connected by INTERFACE. It is not necessary to use the Shorewall MAC format
|
||||
in this column although you may use that format if you so choose.</li>
|
||||
<li>IP Address - An optional comma-separated list of IP addresses
|
||||
for the device whose MAC is listed in the MAC column.</li>
|
||||
|
||||
<li>INTERFACE - The name of an ethernet interface on the Shorewall
|
||||
system.</li>
|
||||
<li>MAC - The MAC address of a device on the ethernet segment
|
||||
connected by INTERFACE. It is not necessary to use the Shorewall MAC
|
||||
format in this column although you may use that format if you so choose.</li>
|
||||
<li>IP Address - An optional comma-separated list of IP addresses
|
||||
for the device whose MAC is listed in the MAC column.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Example 1: Here are my files:</h3>
|
||||
<b>/etc/shorewall/shorewall.conf:<br>
|
||||
</b>
|
||||
|
||||
<h3>Example 1: Here are my files (look <a href="myfiles.htm">here</a> for
|
||||
details about my setup):</h3>
|
||||
<b>/etc/shorewall/shorewall.conf:<br>
|
||||
</b>
|
||||
<pre> MACLIST_DISPOSITION=REJECT<br> MACLIST_LOG_LEVEL=info<br></pre>
|
||||
<b>/etc/shorewall/interfaces:</b><br>
|
||||
|
||||
<blockquote>
|
||||
<pre>#ZONE INTERFACE BROADCAST OPTIONS<br>net eth0 206.124.146.255 dhcp,norfc1918,routefilter,blacklist,tcpflags<br>loc eth2 192.168.1.255 dhcp<br>dmz eth1 192.168.2.255<br>wap eth3 192.168.3.255 dhcp,maclist<br>- texas 192.168.9.255</pre>
|
||||
</blockquote>
|
||||
<b>/etc/shorewall/maclist:</b><br>
|
||||
|
||||
<blockquote>
|
||||
<pre>#INTERFACE MAC IP ADDRESSES (Optional)<br>eth3 00:A0:CC:A2:0C:A0 192.168.3.7 #Work Laptop<br>eth3 00:04:5a:fe:85:b9 192.168.3.250 #WAP11<br>eth3 00:06:25:56:33:3c #WET11<br>eth3 00:0b:cd:C4:cc:97 192.168.3.8 #TIPPER</pre>
|
||||
</blockquote>
|
||||
As shown above, I use MAC Verification on my wireless zone.<br>
|
||||
<br>
|
||||
<b>Note: </b>The WET11 is a somewhat curious device; when forwarding DHCP
|
||||
traffic, it uses the MAC address of the host (TIPPER) but for other forwarded
|
||||
traffic it uses it's own MAC address. Consequently, I don't assign the WET11
|
||||
a fixed IP address in /etc/shorewall/maclist.<br>
|
||||
|
||||
<h3>Example 2: Router in Local Zone</h3>
|
||||
Suppose now that I add a second wireless segment to my wireless
|
||||
zone and gateway that segment via a router with MAC address 00:06:43:45:C6:15
|
||||
and IP address 192.168.3.253. Hosts in the second segment have IP addresses
|
||||
in the subnet 192.168.4.0/24. I would add the following entry to my /etc/shorewall/maclist
|
||||
file:<br>
|
||||
|
||||
<b>/etc/shorewall/interfaces:</b><br>
|
||||
|
||||
<blockquote>
|
||||
<pre>#ZONE INTERFACE BROADCAST OPTIONS<br>net eth0 206.124.146.255 dhcp,norfc1918,routefilter,blacklist,tcpflags<br>loc eth2 192.168.1.255 dhcp<br>dmz eth1 192.168.2.255<br>WiFi eth3 192.168.3.255 dhcp,maclist<br>- texas 192.168.9.255</pre>
|
||||
</blockquote>
|
||||
<b>/etc/shorewall/maclist:</b><br>
|
||||
|
||||
<blockquote>
|
||||
<pre>#INTERFACE MAC IP ADDRESSES (Optional)<br>eth3 00:A0:CC:A2:0C:A0 192.168.3.7 #Work Laptop<br>eth3 00:04:5a:fe:85:b9 192.168.3.250 #WAP11<br>eth3 00:06:25:56:33:3c 192.168.3.225,192.168.3.8 #WET11<br>eth3 00:0b:cd:C4:cc:97 192.168.3.8 #TIPPER</pre>
|
||||
</blockquote>
|
||||
As shown above, I use MAC Verification on my wireless zone.<br>
|
||||
<br>
|
||||
<b>Note: </b>While marketed as a wireless bridge, the WET11 behaves like
|
||||
a wireless router with DHCP relay. When forwarding DHCP traffic, it uses the
|
||||
MAC address of the host (TIPPER) but for other forwarded traffic it uses it's
|
||||
own MAC address. Consequently, I list the IP addresses of both devices in
|
||||
/etc/shorewall/maclist.<br>
|
||||
|
||||
<h3>Example 2: Router in Wireless Zone</h3>
|
||||
Suppose now that I add a second wireless segment to my wireless
|
||||
zone and gateway that segment via a router with MAC address 00:06:43:45:C6:15
|
||||
and IP address 192.168.3.253. Hosts in the second segment have IP addresses
|
||||
in the subnet 192.168.4.0/24. I would add the following entry to my /etc/shorewall/maclist
|
||||
file:<br>
|
||||
|
||||
<pre> eth3 00:06:43:45:C6:15 192.168.3.253,192.168.4.0/24<br></pre>
|
||||
This entry accomodates traffic from the router itself (192.168.3.253)
|
||||
and from the second wireless segment (192.168.4.0/24). Remember that
|
||||
This entry accomodates traffic from the router itself (192.168.3.253)
|
||||
and from the second wireless segment (192.168.4.0/24). Remember that
|
||||
all traffic being sent to my firewall from the 192.168.4.0/24 segment
|
||||
will be forwarded by the router so that traffic's MAC address will be
|
||||
that of the router (00:06:43:45:C6:15) and not that of the host sending
|
||||
the traffic.
|
||||
<p><font size="2"> Updated 6/10/2002 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
the traffic.
|
||||
<p><font size="2"> Updated 6/30/2002 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> ©
|
||||
<font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
<font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -1,117 +1,119 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall NAT</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<blockquote>
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Static NAT</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p><font color="#ff0000"><b>IMPORTANT: If all you want to do is forward
|
||||
ports to servers behind your firewall, you do NOT want to use static
|
||||
NAT. Port forwarding can be accomplished with simple entries in the
|
||||
<a href="Documentation.htm#Rules">rules file</a>.</b></font></p>
|
||||
|
||||
<p>Static NAT is a way to make systems behind a firewall and configured
|
||||
with private IP addresses (those reserved for private use in RFC1918)
|
||||
appear to have public IP addresses. Before you try to use this technique,
|
||||
I strongly recommend that you read the <a
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Static Nat</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<p><font color="#ff0000"><b>IMPORTANT: If all you want to do is forward
|
||||
ports to servers behind your firewall, you do NOT want to use static
|
||||
NAT. Port forwarding can be accomplished with simple entries in the
|
||||
<a href="Documentation.htm#Rules">rules file</a>.</b></font></p>
|
||||
<blockquote> </blockquote>
|
||||
<p>Static NAT is a way to make systems behind a firewall and configured
|
||||
with private IP addresses (those reserved for private use in RFC1918)
|
||||
appear to have public IP addresses. Before you try to use this technique,
|
||||
I strongly recommend that you read the <a
|
||||
href="shorewall_setup_guide.htm">Shorewall Setup Guide.</a></p>
|
||||
|
||||
<p>The following figure represents a static NAT environment.</p>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
<p>The following figure represents a static NAT environment.</p>
|
||||
<blockquote>
|
||||
<p align="center"><strong> <img src="images/staticnat.png"
|
||||
width="435" height="397">
|
||||
</strong></p>
|
||||
|
||||
</strong></p>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<p align="left">Static NAT can be used to make the systems with the 10.1.1.*
|
||||
addresses appear to be on the upper (130.252.100.*) subnet. If we assume
|
||||
that the interface to the upper subnet is eth0, then the following /etc/shorewall/NAT
|
||||
file would make the lower left-hand system appear to have IP address
|
||||
</blockquote>
|
||||
<p align="left">Static NAT can be used to make the systems with the 10.1.1.*
|
||||
addresses appear to be on the upper (130.252.100.*) subnet. If we assume
|
||||
that the interface to the upper subnet is eth0, then the following /etc/shorewall/NAT
|
||||
file would make the lower left-hand system appear to have IP address
|
||||
130.252.100.18 and the right-hand one to have IP address 130.252.100.19.</p>
|
||||
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>EXTERNAL</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>INTERNAL</b></td>
|
||||
<td><b>ALL INTERFACES</b></td>
|
||||
<td><b>LOCAL</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>130.252.100.18</td>
|
||||
<td>eth0</td>
|
||||
<td>10.1.1.2</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>130.252.100.19</td>
|
||||
<td>eth0</td>
|
||||
<td>10.1.1.3</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Be sure that the internal system(s) (10.1.1.2 and 10.1.1.3 in the above
|
||||
example) is (are) not included in any specification in /etc/shorewall/masq
|
||||
or /etc/shorewall/proxyarp.</p>
|
||||
|
||||
<p><a name="AllInterFaces"></a>Note 1: The "ALL INTERFACES" column is used
|
||||
to specify whether access to the external IP from all firewall interfaces
|
||||
should undergo NAT (Yes or yes) or if only access from the interface in
|
||||
the INTERFACE column should undergo NAT. If you leave this column empty,
|
||||
"Yes" is assumed. The ALL INTERFACES column was added in version 1.1.6.</p>
|
||||
|
||||
<p>Note 2: Shorewall will automatically add the external address to the
|
||||
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>EXTERNAL</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>INTERNAL</b></td>
|
||||
<td><b>ALL INTERFACES</b></td>
|
||||
<td><b>LOCAL</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>130.252.100.18</td>
|
||||
<td>eth0</td>
|
||||
<td>10.1.1.2</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>130.252.100.19</td>
|
||||
<td>eth0</td>
|
||||
<td>10.1.1.3</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Be sure that the internal system(s) (10.1.1.2 and 10.1.1.3 in the above
|
||||
example) is (are) not included in any specification in /etc/shorewall/masq
|
||||
or /etc/shorewall/proxyarp.</p>
|
||||
|
||||
<p><a name="AllInterFaces"></a>Note 1: The "ALL INTERFACES" column is used
|
||||
to specify whether access to the external IP from all firewall interfaces
|
||||
should undergo NAT (Yes or yes) or if only access from the interface in
|
||||
the INTERFACE column should undergo NAT. If you leave this column empty,
|
||||
"Yes" is assumed. The ALL INTERFACES column was added in version 1.1.6.</p>
|
||||
|
||||
<p>Note 2: Shorewall will automatically add the external address to the
|
||||
specified interface unless you specify <a
|
||||
href="Documentation.htm#Aliases">ADD_IP_ALIASES</a>="no" (or "No") in
|
||||
/etc/shorewall/shorewall.conf; If you do not set ADD_IP_ALIASES or if
|
||||
you set it to "Yes" or "yes" then you must NOT configure your own alias(es).
|
||||
<b>RESTRICTION: </b>Shorewall can only add external addresses to an interface
|
||||
that is configured with a single subnetwork -- if your external interface
|
||||
has addresses in more than one subnetwork, Shorewall can only add addresses
|
||||
to the first one.</p>
|
||||
|
||||
<p><a name="LocalPackets"></a>Note 3: The contents of the "LOCAL" column
|
||||
determine whether packets originating on the firewall itself and destined
|
||||
for the EXTERNAL address are redirected to the internal ADDRESS. If this
|
||||
column contains "yes" or "Yes" (and the ALL INTERFACES COLUMN also contains
|
||||
"Yes" or "yes") then such packets are redirected; otherwise, such packets
|
||||
are not redirected. The LOCAL column was added in version 1.1.8.</p>
|
||||
</blockquote>
|
||||
|
||||
href="Documentation.htm#Aliases">ADD_IP_ALIASES</a>="no" (or "No") in
|
||||
/etc/shorewall/shorewall.conf; If you do not set ADD_IP_ALIASES or
|
||||
if you set it to "Yes" or "yes" then you must NOT configure your own alias(es).
|
||||
<b>RESTRICTION: </b>Shorewall versions earlier than 1.4.6 can only add
|
||||
external addresses to an interface that is configured with a single subnetwork
|
||||
-- if your external interface has addresses in more than one subnetwork,
|
||||
Shorewall 1.4.5 and earlier can only add addresses to the first one.</p>
|
||||
|
||||
<p><a name="LocalPackets"></a>Note 3: The contents of the "LOCAL" column
|
||||
determine whether packets originating on the firewall itself and destined
|
||||
for the EXTERNAL address are redirected to the internal ADDRESS. If
|
||||
this column contains "yes" or "Yes" (and the ALL INTERFACES COLUMN
|
||||
also contains "Yes" or "yes") then such packets are redirected; otherwise,
|
||||
such packets are not redirected. The LOCAL column was added in version
|
||||
1.1.8.</p>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<p><font size="2">Last updated 4/11/2003 - </font><font size="2"> <a
|
||||
|
||||
<p><font size="2">Last updated 7/6/2003 - </font><font size="2"> <a
|
||||
href="support.htm">Tom Eastep</a></font> </p>
|
||||
<a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
<a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,282 +1,283 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>OpenVPN Tunnels</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">OpenVPN Tunnels</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h3><br>
|
||||
</h3>
|
||||
|
||||
<p>OpenVPN is a robust and highly configurable VPN (Virtual Private Network)
|
||||
daemon which can be used to securely link two or more private networks using
|
||||
an encrypted tunnel over the internet. OpenVPN is an Open Source project
|
||||
and is <a href="http://openvpn.sourceforge.net/license.html">licensed under
|
||||
</h3>
|
||||
|
||||
<p>OpenVPN is a robust and highly configurable VPN (Virtual Private Network)
|
||||
daemon which can be used to securely link two or more private networks using
|
||||
an encrypted tunnel over the internet. OpenVPN is an Open Source project
|
||||
and is <a href="http://openvpn.sourceforge.net/license.html">licensed under
|
||||
the GPL</a>. OpenVPN can be downloaded from <a
|
||||
href="http://openvpn.sourceforge.net/">http://openvpn.sourceforge.net/</a>.<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<p>OpenVPN support was added to Shorewall in version 1.3.14.<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<h2>Bridging two Masqueraded Networks</h2>
|
||||
|
||||
|
||||
<p>Suppose that we have the following situation:</p>
|
||||
|
||||
|
||||
<p align="center"><img border="0" src="images/TwoNets1.png" width="745"
|
||||
height="427">
|
||||
</p>
|
||||
|
||||
<p align="left">We want systems in the 192.168.1.0/24 subnetwork to be able
|
||||
to communicate with the systems in the 10.0.0.0/8 network. This is accomplished
|
||||
through use of the /etc/shorewall/tunnels file and the /etc/shorewall/policy
|
||||
</p>
|
||||
|
||||
<p align="left">We want systems in the 192.168.1.0/24 subnetwork to be able
|
||||
to communicate with the systems in the 10.0.0.0/8 network. This is accomplished
|
||||
through use of the /etc/shorewall/tunnels file and the /etc/shorewall/policy
|
||||
file and OpenVPN.</p>
|
||||
|
||||
<p align="left">While it was possible to use the Shorewall start and stop
|
||||
script to start and stop OpenVPN, I decided to use the init script of OpenVPN
|
||||
|
||||
<p align="left">While it was possible to use the Shorewall start and stop
|
||||
script to start and stop OpenVPN, I decided to use the init script of OpenVPN
|
||||
to start and stop it.</p>
|
||||
|
||||
<p align="left">On each firewall, you will need to declare a zone to represent
|
||||
the remote subnet. We'll assume that this zone is called 'vpn' and declare
|
||||
|
||||
<p align="left">On each firewall, you will need to declare a zone to represent
|
||||
the remote subnet. We'll assume that this zone is called 'vpn' and declare
|
||||
it in /etc/shorewall/zones on both systems as follows.</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>ZONE</strong></td>
|
||||
<td><strong>DISPLAY</strong></td>
|
||||
<td><strong>COMMENTS</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>VPN</td>
|
||||
<td>Remote Subnet</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>ZONE</strong></td>
|
||||
<td><strong>DISPLAY</strong></td>
|
||||
<td><strong>COMMENTS</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>VPN</td>
|
||||
<td>Remote Subnet</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p align="left">On system A, the 10.0.0.0/8 will comprise the <b>vpn</b> zone.
|
||||
In /etc/shorewall/interfaces:</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>BROADCAST</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>tun0</td>
|
||||
<td><br>
|
||||
</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p align="left">On system A, the 10.0.0.0/8 will comprise the <b>vpn</b>
|
||||
zone. In /etc/shorewall/interfaces:</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>BROADCAST</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>tun0</td>
|
||||
<td><br>
|
||||
</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<p align="left">In /etc/shorewall/tunnels on system A, we need the following:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>openvpn</td>
|
||||
<td>net</td>
|
||||
<td>134.28.54.2</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>openvpn</td>
|
||||
<td>net</td>
|
||||
<td>134.28.54.2</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>This entry in /etc/shorewall/tunnels opens the firewall so that OpenVPN
|
||||
traffic on the default port 5000/udp will be accepted to/from the remote
|
||||
gateway. If you change the port used by OpenVPN to 7777, you can define /etc/shorewall/tunnels
|
||||
</blockquote>
|
||||
|
||||
<p>This entry in /etc/shorewall/tunnels opens the firewall so that OpenVPN
|
||||
traffic on the default port 5000/udp will be accepted to/from the remote
|
||||
gateway. If you change the port used by OpenVPN to 7777, you can define /etc/shorewall/tunnels
|
||||
like this:<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>openvpn:7777</td>
|
||||
<td>net</td>
|
||||
<td>134.28.54.2</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>openvpn:7777</td>
|
||||
<td>net</td>
|
||||
<td>134.28.54.2</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>This is the OpenVPN config on system A:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p></p>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>dev tun<br>
|
||||
local 206.162.148.9<br>
|
||||
remote 134.28.54.2<br>
|
||||
ifconfig 192.168.99.1 192.168.99.2<br>
|
||||
up ./route-a.up<br>
|
||||
tls-server<br>
|
||||
dh dh1024.pem<br>
|
||||
ca ca.crt<br>
|
||||
cert my-a.crt<br>
|
||||
key my-a.key<br>
|
||||
comp-lzo<br>
|
||||
verb 5<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Similarly, On system B the 192.168.1.0/24 subnet will comprise the <b>vpn</b>
|
||||
local 206.162.148.9<br>
|
||||
remote 134.28.54.2<br>
|
||||
ifconfig 192.168.99.1 192.168.99.2<br>
|
||||
up ./route-a.up<br>
|
||||
tls-server<br>
|
||||
dh dh1024.pem<br>
|
||||
ca ca.crt<br>
|
||||
cert my-a.crt<br>
|
||||
key my-a.key<br>
|
||||
comp-lzo<br>
|
||||
verb 5<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Similarly, On system B the 192.168.1.0/24 subnet will comprise the <b>vpn</b>
|
||||
zone. In /etc/shorewall/interfaces:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>BROADCAST</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>tun0</td>
|
||||
<td>192.168.1.255</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>BROADCAST</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>tun0</td>
|
||||
<td>192.168.1.255</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>In /etc/shorewall/tunnels on system B, we have:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>openvpn</td>
|
||||
<td>net</td>
|
||||
<td>206.191.148.9</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>TYPE</b></td>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>GATEWAY</b></td>
|
||||
<td><b>GATEWAY ZONE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>openvpn</td>
|
||||
<td>net</td>
|
||||
<td>206.191.148.9</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>And in the OpenVPN config on system B:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>dev tun<br>
|
||||
local 134.28.54.2<br>
|
||||
remote 206.162.148.9<br>
|
||||
ifconfig 192.168.99.2 192.168.99.1<br>
|
||||
up ./route-b.up<br>
|
||||
tls-client<br>
|
||||
ca ca.crt<br>
|
||||
cert my-b.crt<br>
|
||||
key my-b.key<br>
|
||||
comp-lzo<br>
|
||||
verb 5<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left">You will need to allow traffic between the "vpn" zone and
|
||||
the "loc" zone on both systems -- if you simply want to admit all
|
||||
traffic in both directions, you can use the policy file:</p>
|
||||
|
||||
<blockquote>
|
||||
local 134.28.54.2<br>
|
||||
remote 206.162.148.9<br>
|
||||
ifconfig 192.168.99.2 192.168.99.1<br>
|
||||
up ./route-b.up<br>
|
||||
tls-client<br>
|
||||
ca ca.crt<br>
|
||||
cert my-b.crt<br>
|
||||
key my-b.key<br>
|
||||
comp-lzo<br>
|
||||
verb 5<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left">You will need to allow traffic between the "vpn" zone and
|
||||
the "loc" zone on both systems -- if you simply want to admit all traffic
|
||||
in both directions, you can use the policy file:</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>SOURCE</strong></td>
|
||||
<td><strong>DEST</strong></td>
|
||||
<td><strong>POLICY</strong></td>
|
||||
<td><strong>LOG LEVEL</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>vpn</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>loc</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>SOURCE</strong></td>
|
||||
<td><strong>DEST</strong></td>
|
||||
<td><strong>POLICY</strong></td>
|
||||
<td><strong>LOG LEVEL</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>vpn</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpn</td>
|
||||
<td>loc</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>On both systems, restart Shorewall and start OpenVPN. The systems in the
|
||||
</blockquote>
|
||||
|
||||
<p>On both systems, restart Shorewall and start OpenVPN. The systems in the
|
||||
two masqueraded subnetworks can now talk to each other.</p>
|
||||
|
||||
<p><font size="2">Updated 2/4/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
|
||||
<p><font size="2">Updated 2/4/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
<small>and Simon Mater</small><br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<p><font size="2"> </font></p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2003 Thomas M. Eastep. and Simon Mater<br>
|
||||
</font></a></font></p>
|
||||
<br>
|
||||
</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,188 +1,190 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Proxy ARP</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta name="Microsoft Theme" content="none">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Proxy ARP</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Proxy ARP allows you to insert a firewall in front of a set of servers
|
||||
without changing their IP addresses and without having to re-subnet.
|
||||
Before you try to use this technique, I strongly recommend that you read
|
||||
|
||||
<p>Proxy ARP allows you to insert a firewall in front of a set of servers
|
||||
without changing their IP addresses and without having to re-subnet.
|
||||
Before you try to use this technique, I strongly recommend that you read
|
||||
the <a href="shorewall_setup_guide.htm">Shorewall Setup Guide.</a></p>
|
||||
|
||||
|
||||
<p>The following figure represents a Proxy ARP environment.</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p align="center"><strong> <img src="images/proxyarp.png"
|
||||
width="519" height="397">
|
||||
</strong></p>
|
||||
|
||||
</strong></p>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
</blockquote>
|
||||
|
||||
<p align="left">Proxy ARP can be used to make the systems with addresses
|
||||
130.252.100.18 and 130.252.100.19 appear to be on the upper (130.252.100.*)
|
||||
subnet. Assuming that the upper firewall interface is eth0 and the
|
||||
lower interface is eth1, this is accomplished using the following entries
|
||||
</blockquote>
|
||||
|
||||
<p align="left">Proxy ARP can be used to make the systems with addresses
|
||||
130.252.100.18 and 130.252.100.19 appear to be on the upper (130.252.100.*)
|
||||
subnet. Assuming that the upper firewall interface is eth0 and the
|
||||
lower interface is eth1, this is accomplished using the following entries
|
||||
in /etc/shorewall/proxyarp:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ADDRESS</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>EXTERNAL</b></td>
|
||||
<td><b>HAVEROUTE</b></td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>130.252.100.18</td>
|
||||
<td>eth1</td>
|
||||
<td>eth0</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>130.252.100.19</td>
|
||||
<td>eth1</td>
|
||||
<td>eth0</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td><b>ADDRESS</b></td>
|
||||
<td><b>INTERFACE</b></td>
|
||||
<td><b>EXTERNAL</b></td>
|
||||
<td><b>HAVEROUTE</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>130.252.100.18</td>
|
||||
<td>eth1</td>
|
||||
<td>eth0</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>130.252.100.19</td>
|
||||
<td>eth1</td>
|
||||
<td>eth0</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>Be sure that the internal systems (130.242.100.18 and 130.252.100.19
|
||||
in the above example) are not included in any specification in /etc/shorewall/masq
|
||||
</blockquote>
|
||||
|
||||
<p>Be sure that the internal systems (130.242.100.18 and 130.252.100.19
|
||||
in the above example) are not included in any specification in /etc/shorewall/masq
|
||||
or /etc/shorewall/nat.</p>
|
||||
|
||||
<p>Note that I've used an RFC1918 IP address for eth1 - that IP address is
|
||||
|
||||
<p>Note that I've used an RFC1918 IP address for eth1 - that IP address is
|
||||
irrelevant. </p>
|
||||
|
||||
<p>The lower systems (130.252.100.18 and 130.252.100.19) should have their
|
||||
subnet mask and default gateway configured exactly the same way that
|
||||
the Firewall system's eth0 is configured. In other words, they should
|
||||
be configured just like they would be if they were parallel to the firewall
|
||||
|
||||
<p>The lower systems (130.252.100.18 and 130.252.100.19) should have their
|
||||
subnet mask and default gateway configured exactly the same way that
|
||||
the Firewall system's eth0 is configured. In other words, they should
|
||||
be configured just like they would be if they were parallel to the firewall
|
||||
rather than behind it.<br>
|
||||
</p>
|
||||
|
||||
<p><font color="#ff0000"><b>NOTE: Do not add the Proxy ARP'ed address(es)
|
||||
(130.252.100.18 and 130.252.100.19 in the above example) to the external
|
||||
</p>
|
||||
|
||||
<p><font color="#ff0000"><b>NOTE: Do not add the Proxy ARP'ed address(es)
|
||||
(130.252.100.18 and 130.252.100.19 in the above example) to the external
|
||||
interface (eth0 in this example) of the firewall.</b></font><br>
|
||||
</p>
|
||||
</p>
|
||||
|
||||
<div align="left"> </div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">A word of warning is in order here. ISPs typically configure
|
||||
their routers with a long ARP cache timeout. If you move a system from
|
||||
parallel to your firewall to behind your firewall with Proxy ARP, it will
|
||||
probably be HOURS before that system can communicate with the internet.
|
||||
|
||||
<div align="left">
|
||||
<p align="left">A word of warning is in order here. ISPs typically configure
|
||||
their routers with a long ARP cache timeout. If you move a system from
|
||||
parallel to your firewall to behind your firewall with Proxy ARP, it
|
||||
will probably be HOURS before that system can communicate with the internet.
|
||||
There are a couple of things that you can try:<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>(Courtesy of Bradey Honsinger) A reading of Stevens' <i>TCP/IP Illustrated,
|
||||
Vol 1</i> reveals that a <br>
|
||||
<br>
|
||||
"gratuitous" ARP packet should cause the ISP's router to refresh their
|
||||
ARP cache (section 4.7). A gratuitous ARP is simply a host requesting the
|
||||
MAC address for its own IP; in addition to ensuring that the IP address isn't
|
||||
a duplicate...<br>
|
||||
<br>
|
||||
"if the host sending the gratuitous ARP has just changed its hardware
|
||||
address..., this packet causes any other host...that has an entry in its
|
||||
<li>(Courtesy of Bradey Honsinger) A reading of Stevens' <i>TCP/IP
|
||||
Illustrated, Vol 1</i> reveals that a <br>
|
||||
<br>
|
||||
"gratuitous" ARP packet should cause the ISP's router to refresh their
|
||||
ARP cache (section 4.7). A gratuitous ARP is simply a host requesting the
|
||||
MAC address for its own IP; in addition to ensuring that the IP address
|
||||
isn't a duplicate...<br>
|
||||
<br>
|
||||
"if the host sending the gratuitous ARP has just changed its hardware
|
||||
address..., this packet causes any other host...that has an entry in its
|
||||
cache for the old hardware address to update its ARP cache entry accordingly."<br>
|
||||
<br>
|
||||
Which is, of course, exactly what you want to do when you switch a host
|
||||
from being exposed to the Internet to behind Shorewall using proxy ARP (or
|
||||
static NAT for that matter). Happily enough, recent versions of Redhat's
|
||||
<br>
|
||||
Which is, of course, exactly what you want to do when you switch a host
|
||||
from being exposed to the Internet to behind Shorewall using proxy ARP (or
|
||||
static NAT for that matter). Happily enough, recent versions of Redhat's
|
||||
iputils package include "arping", whose "-U" flag does just that:<br>
|
||||
<br>
|
||||
<font color="#009900"><b>arping -U -I <i><net if> <newly
|
||||
<br>
|
||||
<font color="#009900"><b>arping -U -I <i><net if> <newly
|
||||
proxied IP></i></b></font><br>
|
||||
<font color="#009900"><b>arping -U -I eth0 66.58.99.83 # for example</b></font><br>
|
||||
<font color="#009900"><b>arping -U -I eth0 66.58.99.83 # for example</b></font><br>
|
||||
<br>
|
||||
Stevens goes on to mention that not all systems respond correctly to
|
||||
gratuitous ARPs, but googling for "arping -U" seems to support the idea
|
||||
that it works most of the time.<br>
|
||||
<br>
|
||||
Stevens goes on to mention that not all systems respond correctly to gratuitous
|
||||
ARPs, but googling for "arping -U" seems to support the idea that it works
|
||||
most of the time.<br>
|
||||
<br>
|
||||
To use arping with Proxy ARP in the above example, you would have to:<br>
|
||||
<br>
|
||||
<font color="#009900"><b> shorewall clear<br>
|
||||
</b></font> <font color="#009900"><b>ip addr add 130.252.100.18
|
||||
To use arping with Proxy ARP in the above example, you would have to:<br>
|
||||
<br>
|
||||
<font color="#009900"><b> shorewall clear<br>
|
||||
</b></font> <font color="#009900"><b>ip addr add 130.252.100.18
|
||||
dev eth0<br>
|
||||
ip addr add 130.252.100.19 dev eth0</b></font><br>
|
||||
<font color="#009900"><b>arping -U -I eth0 130.252.100.18</b></font><br>
|
||||
<font color="#009900"><b>arping -U -I eth0 130.252.100.19</b></font><br>
|
||||
<b><font color="#009900">ip addr del 130.252.100.18 dev eth0<br>
|
||||
ip addr del 130.252.100.19 dev eth0<br>
|
||||
shorewall start</font></b><br>
|
||||
<br>
|
||||
</li>
|
||||
<li>You can call your ISP and ask them to purge the stale ARP cache
|
||||
ip addr add 130.252.100.19 dev eth0</b></font><br>
|
||||
<font color="#009900"><b>arping -U -I eth0 130.252.100.18</b></font><br>
|
||||
<font color="#009900"><b>arping -U -I eth0 130.252.100.19</b></font><br>
|
||||
<b><font color="#009900">ip addr del 130.252.100.18 dev eth0<br>
|
||||
ip addr del 130.252.100.19 dev eth0<br>
|
||||
shorewall start</font></b><br>
|
||||
<br>
|
||||
</li>
|
||||
<li>You can call your ISP and ask them to purge the stale ARP cache
|
||||
entry but many either can't or won't purge individual entries.</li>
|
||||
|
||||
|
||||
</ol>
|
||||
You can determine if your ISP's gateway ARP cache is stale using ping
|
||||
and tcpdump. Suppose that we suspect that the gateway router has a stale
|
||||
You can determine if your ISP's gateway ARP cache is stale using ping
|
||||
and tcpdump. Suppose that we suspect that the gateway router has a stale
|
||||
ARP cache entry for 130.252.100.19. On the firewall, run tcpdump as follows:</div>
|
||||
|
||||
<div align="left">
|
||||
|
||||
<div align="left">
|
||||
<pre> <font color="#009900"><b>tcpdump -nei eth0 icmp</b></font></pre>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Now from 130.252.100.19, ping the ISP's gateway (which we
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Now from 130.252.100.19, ping the ISP's gateway (which we
|
||||
will assume is 130.252.100.254):</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<pre> <b><font color="#009900">ping 130.252.100.254</font></b></pre>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">We can now observe the tcpdump output:</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<pre> 13:35:12.159321 <u>0:4:e2:20:20:33</u> 0:0:77:95:dd:19 ip 98: 130.252.100.19 > 130.252.100.254: icmp: echo request (DF)<br> 13:35:12.207615 0:0:77:95:dd:19 <u>0:c0:a8:50:b2:57</u> ip 98: 130.252.100.254 > 130.252.100.177 : icmp: echo reply</pre>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Notice that the source MAC address in the echo request is
|
||||
different from the destination MAC address in the echo reply!! In this
|
||||
case 0:4:e2:20:20:33 was the MAC of the firewall's eth0 NIC while 0:c0:a8:50:b2:57
|
||||
was the MAC address of the system on the lower left. In other words, the
|
||||
gateway's ARP cache still associates 130.252.100.19 with the NIC in that
|
||||
system rather than with the firewall's eth0.</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div align="left">
|
||||
<pre> 13:35:12.159321 <u>0:4:e2:20:20:33</u> 0:0:77:95:dd:19 ip 98: 130.252.100.19 > 130.252.100.254: icmp: echo request (DF)<br> 13:35:12.207615 0:0:77:95:dd:19 <u>0:c0:a8:50:b2:57</u> ip 98: 130.252.100.254 > 130.252.100.177 : icmp: echo reply</pre>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Notice that the source MAC address in the echo request is
|
||||
different from the destination MAC address in the echo reply!! In this
|
||||
case 0:4:e2:20:20:33 was the MAC of the firewall's eth0 NIC while 0:c0:a8:50:b2:57
|
||||
was the MAC address of the system on the lower left. In other words,
|
||||
the gateway's ARP cache still associates 130.252.100.19 with the NIC
|
||||
in that system rather than with the firewall's eth0.</p>
|
||||
</div>
|
||||
|
||||
<p><font size="2">Last updated 3/21/2003 - </font><font size="2"> <a
|
||||
href="support.htm">Tom Eastep</a></font> </p>
|
||||
<a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
<a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -1,52 +1,53 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Springtime in Seattle!!!</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Visit Seattle in the Springtime!!!!</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h3><font color="#ff6633"></font></h3>
|
||||
<img src="images/P1000048.jpg" alt="" width="640" height="480">
|
||||
<img src="images/P1000048.jpg" alt="" width="640" height="480">
|
||||
<br>
|
||||
<br>
|
||||
<b>March 6, 2003 - Nice day for a walk....</b><br>
|
||||
<br>
|
||||
<img src="images/P1000050.jpg" alt="" width="640" height="480">
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<b>March 6, 2003 - Nice day for a walk....</b><br>
|
||||
<br>
|
||||
<img src="images/P1000050.jpg" alt="" width="640" height="480">
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<img src="images/P1000049.jpg" alt="" width="480" height="640">
|
||||
|
||||
<p><b>The view from my office window -- think I'll go out and enjoy the deck
|
||||
<img src="images/P1000049.jpg" alt="" width="480" height="640">
|
||||
|
||||
<p><b>The view from my office window -- think I'll go out and enjoy the deck
|
||||
(Yes -- that is snow on the deck...)</b>.<br>
|
||||
</p>
|
||||
|
||||
<p><font size="2">Updated 3/7/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</p>
|
||||
|
||||
<p><font size="2">Updated 3/7/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002 Thomas M. Eastep.</font></a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,91 +2,91 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Shorewall Certificate Authority</title>
|
||||
|
||||
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
|
||||
|
||||
<meta name="author" content="Tom Eastep">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Certificate Authority
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Certificate Authority
|
||||
(CA) Certificate</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
Given that I develop and support Shorewall without asking for any renumeration,
|
||||
I can hardly justify paying $200US+ a year to a Certificate Authority such
|
||||
as Thawte (A Division of VeriSign) for an X.509 certificate to prove that
|
||||
I am who I am. I have therefore established my own Certificate Authority
|
||||
(CA) and sign my own X.509 certificates. I use these certificates on my list
|
||||
server (<a href="https://lists.shorewall.net">https://lists.shorewall.net</a>)
|
||||
<br>
|
||||
Given that I develop and support Shorewall without asking for any renumeration,
|
||||
I can hardly justify paying $200US+ a year to a Certificate Authority such
|
||||
as Thawte (A Division of VeriSign) for an X.509 certificate to prove that
|
||||
I am who I am. I have therefore established my own Certificate Authority
|
||||
(CA) and sign my own X.509 certificates. I use these certificates on my list
|
||||
server (<a href="https://lists.shorewall.net">https://lists.shorewall.net</a>)
|
||||
which hosts parts of this web site.<br>
|
||||
<br>
|
||||
X.509 certificates are the basis for the Secure Socket Layer (SSL). As
|
||||
part of establishing an SSL session (URL https://...), your browser verifies
|
||||
the X.509 certificate supplied by the HTTPS server against the set of Certificate
|
||||
Authority Certificates that were shipped with your browser. It is expected
|
||||
that the server's certificate was issued by one of the authorities whose
|
||||
<br>
|
||||
X.509 certificates are the basis for the Secure Socket Layer (SSL). As
|
||||
part of establishing an SSL session (URL https://...), your browser verifies
|
||||
the X.509 certificate supplied by the HTTPS server against the set of Certificate
|
||||
Authority Certificates that were shipped with your browser. It is expected
|
||||
that the server's certificate was issued by one of the authorities whose
|
||||
identities are known to your browser. <br>
|
||||
<br>
|
||||
This mechanism, while supposedly guaranteeing that when you connect to
|
||||
https://www.foo.bar you are REALLY connecting to www.foo.bar, means that
|
||||
the CAs literally have a license to print money -- they are selling a string
|
||||
<br>
|
||||
This mechanism, while supposedly guaranteeing that when you connect to
|
||||
https://www.foo.bar you are REALLY connecting to www.foo.bar, means that
|
||||
the CAs literally have a license to print money -- they are selling a string
|
||||
of bits (an X.509 certificate) for $200US+ per year!!!I <br>
|
||||
<br>
|
||||
I wish that I had decided to become a CA rather that designing and writing
|
||||
<br>
|
||||
I wish that I had decided to become a CA rather that designing and writing
|
||||
Shorewall.<br>
|
||||
<br>
|
||||
What does this mean to you? It means that the X.509 certificate that my
|
||||
server will present to your browser will not have been signed by one of the
|
||||
authorities known to your browser. If you try to connect to my server using
|
||||
SSL, your browser will frown and give you a dialog box asking if you want
|
||||
<br>
|
||||
What does this mean to you? It means that the X.509 certificate that my
|
||||
server will present to your browser will not have been signed by one of the
|
||||
authorities known to your browser. If you try to connect to my server using
|
||||
SSL, your browser will frown and give you a dialog box asking if you want
|
||||
to accept the sleezy X.509 certificate being presented by my server. <br>
|
||||
<br>
|
||||
There are two things that you can do:<br>
|
||||
|
||||
<br>
|
||||
There are two things that you can do:<br>
|
||||
|
||||
<ol>
|
||||
<li>You can accept the mail.shorewall.net certificate when your browser
|
||||
asks -- your acceptence of the certificate can be temporary (for that access
|
||||
<li>You can accept the mail.shorewall.net certificate when your browser
|
||||
asks -- your acceptence of the certificate can be temporary (for that access
|
||||
only) or perminent.</li>
|
||||
<li>You can download and install <a href="ca.crt">my (self-signed) CA
|
||||
certificate.</a> This will make my Certificate Authority known to your browser
|
||||
<li>You can download and install <a href="ca.crt">my (self-signed) CA
|
||||
certificate.</a> This will make my Certificate Authority known to your browser
|
||||
so that it will accept any certificate signed by me. <br>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
What are the risks?<br>
|
||||
|
||||
What are the risks?<br>
|
||||
|
||||
<ol>
|
||||
<li>If you install my CA certificate then you assume that I am trustworthy
|
||||
and that Shorewall running on your firewall won't redirect HTTPS requests
|
||||
intented to go to your bank's server to one of my systems that will present
|
||||
your browser with a bogus certificate claiming that my server is that of your
|
||||
bank.</li>
|
||||
<li>If you only accept my server's certificate when prompted then the
|
||||
most that you have to loose is that when you connect to https://mail.shorewall.net,
|
||||
<li>If you install my CA certificate then you assume that I am trustworthy
|
||||
and that Shorewall running on your firewall won't redirect HTTPS requests
|
||||
intented to go to your bank's server to one of my systems that will present
|
||||
your browser with a bogus certificate claiming that my server is that of
|
||||
your bank.</li>
|
||||
<li>If you only accept my server's certificate when prompted then the
|
||||
most that you have to loose is that when you connect to https://mail.shorewall.net,
|
||||
the server you are connecting to might not be mine.</li>
|
||||
|
||||
|
||||
</ol>
|
||||
I have my CA certificate loaded into all of my browsers but I certainly
|
||||
I have my CA certificate loaded into all of my browsers but I certainly
|
||||
won't be offended if you decline to load it into yours... :-)<br>
|
||||
|
||||
|
||||
<p align="left"><font size="2">Last Updated 1/17/2003 - Tom Eastep</font></p>
|
||||
|
||||
|
||||
<p align="left"><font face="Trebuchet MS"><a href="copyright.htm"> <font
|
||||
size="2">Copyright</font> © <font size="2">2001, 2002, 2003 Thomas
|
||||
M. Eastep.</font></a></font></p>
|
||||
size="2">Copyright</font> © <font size="2">2001, 2002, 2003 Thomas M.
|
||||
Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -2,50 +2,51 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Shorewall CVS Access</title>
|
||||
|
||||
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
|
||||
|
||||
<meta name="author" content="Tom Eastep">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall CVS Access</font>
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall CVS Access</font>
|
||||
</h1>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
Lots of people try to download the entire Shorewall website for off-line
|
||||
browsing, including the CVS portion. In addition to being an enormous volume
|
||||
of data (HTML versions of all versions of all Shorewall files), all of
|
||||
the pages in Shorewall CVS access are cgi-generated which places a tremendous
|
||||
load on my little server. I have therefore resorted to making CVS access
|
||||
password controlled. When you are asked to log in, enter "Shorewall" (NOTE
|
||||
<br>
|
||||
Lots of people try to download the entire Shorewall website for off-line
|
||||
browsing, including the CVS portion. In addition to being an enormous volume
|
||||
of data (HTML versions of all versions of all Shorewall files), all of the
|
||||
pages in Shorewall CVS access are cgi-generated which places a tremendous
|
||||
load on my little server. I have therefore resorted to making CVS access
|
||||
password controlled. When you are asked to log in, enter "Shorewall" (NOTE
|
||||
THE CAPITALIZATION!!!!!) for both the user name and the password.<br>
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<h3><a href="http://cvs.shorewall.net/cgi-bin/cvs/cvsweb.cgi"
|
||||
target="_top">CVS Login</a> <br>
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<p><font size="2" face="Century Gothic, Arial, Helvetica">Updated 1/14/2002
|
||||
- <a href="support.htm">Tom Eastep</a> </font>
|
||||
</p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<p><font size="2" face="Century Gothic, Arial, Helvetica">Updated 1/14/2002
|
||||
- <a href="support.htm">Tom Eastep</a> </font>
|
||||
</p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,138 +1,145 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Shorewall Index</title>
|
||||
|
||||
<base target="main">
|
||||
|
||||
<base
|
||||
target="main">
|
||||
<meta name="Microsoft Theme" content="none">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#4b017c" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%"
|
||||
height="90">
|
||||
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td
|
||||
width="100%" height="90">
|
||||
|
||||
|
||||
<h3 align="center"><font color="#ffffff">Shorewall</font></h3>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100%"
|
||||
bgcolor="#ffffff">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td
|
||||
width="100%" bgcolor="#ffffff">
|
||||
|
||||
|
||||
<ul>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="seattlefirewall_index.htm">Home</a></li>
|
||||
<li> <a
|
||||
href="shorewall_features.htm">Features</a></li>
|
||||
<li> <a
|
||||
<li>
|
||||
<a href="shorewall_features.htm">Features</a></li>
|
||||
<li><a href="Shorewall_Doesnt.html">What it Cannot Do</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
href="shorewall_prerequisites.htm">Requirements</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="download.htm">Download</a><br>
|
||||
</li>
|
||||
<li> <a href="Install.htm">Installation/Upgrade/</a><br>
|
||||
<a href="Install.htm">Configuration</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
</li>
|
||||
<li> <a
|
||||
href="Install.htm">Installation/Upgrade/</a><br>
|
||||
<a
|
||||
href="Install.htm">Configuration</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
href="shorewall_quickstart_guide.htm">QuickStart Guides (HOWTOs)</a><br>
|
||||
</li>
|
||||
<li>
|
||||
<b><a href="shorewall_quickstart_guide.htm#Documentation">Documentation
|
||||
Index</a></b></li>
|
||||
<li> <a
|
||||
href="Documentation.htm">Reference Manual</a></li>
|
||||
<li> <a
|
||||
href="FAQ.htm">FAQs</a></li>
|
||||
<li><a
|
||||
href="useful_links.html">Useful Links</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
href="troubleshoot.htm">Things to try if it doesn't work</a></li>
|
||||
<li> <a
|
||||
href="errata.htm">Errata</a></li>
|
||||
<li> <a
|
||||
href="upgrade_issues.htm">Upgrade Issues</a></li>
|
||||
<li> <a
|
||||
href="support.htm">Getting help or Answers to Questions</a></li>
|
||||
<li><a href="http://lists.shorewall.net">Mailing Lists</a><a
|
||||
href="http://lists.shorewall.net"> </a><br>
|
||||
</li>
|
||||
<li><a href="1.3"
|
||||
target="_top">Shorewall 1.3 Site</a></li>
|
||||
<li><a
|
||||
href="http://www1.shorewall.net/1.2/index.htm" target="_top">Shorewall 1.2
|
||||
Site</a></li>
|
||||
<li><a href="shorewall_mirrors.htm">Mirrors</a>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a
|
||||
target="_top" href="http://slovakia.shorewall.net">Slovak Republic</a></li>
|
||||
<li><a
|
||||
target="_top" href="http://shorewall.infohiiway.com">Texas, USA</a></li>
|
||||
<li><a
|
||||
target="_top" href="http://germany.shorewall.net">Germany</a></li>
|
||||
|
||||
<li><a target="_top"
|
||||
href="http://france.shorewall.net">France</a></li>
|
||||
<li><a href="http://shorewall.syachile.cl"
|
||||
target="_top">Chile</a></li>
|
||||
<li><a href="http://shorewall.greshko.com"
|
||||
target="_top">Taiwan</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="http://www.shorewall.net" target="_top">Washington State, USA</a><br>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
<li> <b><a
|
||||
href="shorewall_quickstart_guide.htm#Documentation">Documentation</a></b></li>
|
||||
|
||||
<li> <a href="FAQ.htm">FAQs</a></li>
|
||||
<li><a
|
||||
href="useful_links.html">Useful Links</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
href="troubleshoot.htm">Things to try if it doesn't work</a></li>
|
||||
<li> <a
|
||||
href="errata.htm">Errata</a></li>
|
||||
<li> <a
|
||||
href="upgrade_issues.htm">Upgrade Issues</a></li>
|
||||
<li> <a
|
||||
href="support.htm">Getting help or Answers to Questions</a></li>
|
||||
<li><a href="http://lists.shorewall.net">Mailing Lists</a><a
|
||||
href="http://lists.shorewall.net"> </a><br>
|
||||
</li>
|
||||
|
||||
<li><a href="shorewall_mirrors.htm">Mirrors</a>
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a
|
||||
target="_top" href="http://slovakia.shorewall.net">Slovak Republic</a></li>
|
||||
<li><a
|
||||
target="_top" href="http://shorewall.infohiiway.com">Texas, USA</a></li>
|
||||
<li><a
|
||||
target="_top" href="http://germany.shorewall.net">Germany</a></li>
|
||||
|
||||
<li><a target="_top"
|
||||
href="http://france.shorewall.net">France</a></li>
|
||||
<li><a href="http://shorewall.syachile.cl"
|
||||
target="_top">Chile</a></li>
|
||||
<li><a href="http://shorewall.greshko.com"
|
||||
target="_top">Taiwan</a></li>
|
||||
<li><a href="http://argentina.shorewall.net"
|
||||
target="_top">Argentina</a></li>
|
||||
<li><a href="http://shorewall.securityopensource.org.br"
|
||||
target="_top">Brazil</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="http://www.shorewall.net" target="_top">Washington State, USA</a><br>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="News.htm">News Archive</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="Shorewall_CVS_Access.html">CVS Repository</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="quotes.htm">Quotes from Users</a></li>
|
||||
<li>GSLUG Presentation</li>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="GSLUG.htm">HTML</a></li>
|
||||
<li><a href="GSLUG.ppt">PowerPoint</a><br>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="shoreline.htm">About the Author</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="seattlefirewall_index.htm#Donations">Donations</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001-2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
|
@ -1,138 +1,142 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Shorewall Index</title>
|
||||
|
||||
<base target="main">
|
||||
|
||||
<base
|
||||
target="main">
|
||||
<meta name="Microsoft Theme" content="none">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#4b017c" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%"
|
||||
height="90">
|
||||
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td
|
||||
width="100%" height="90">
|
||||
|
||||
|
||||
<h3 align="center"><font color="#ffffff">Shorewall</font></h3>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="100%"
|
||||
bgcolor="#ffffff">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td
|
||||
width="100%" bgcolor="#ffffff">
|
||||
|
||||
|
||||
<ul>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="seattlefirewall_index.htm">Home</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="shorewall_features.htm">Features</a></li>
|
||||
<li> <a
|
||||
<li><a href="Shorewall_Doesnt.html">What it Cannot Do</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
href="shorewall_prerequisites.htm">Requirements</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="download.htm">Download</a><br>
|
||||
</li>
|
||||
<li> <a href="Install.htm">Installation/Upgrade/</a><br>
|
||||
<a href="Install.htm">Configuration</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
</li>
|
||||
<li> <a
|
||||
href="Install.htm">Installation/Upgrade/</a><br>
|
||||
<a
|
||||
href="Install.htm">Configuration</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
href="shorewall_quickstart_guide.htm">QuickStart Guides (HOWTOs)</a><br>
|
||||
</li>
|
||||
<li>
|
||||
<b><a href="shorewall_quickstart_guide.htm#Documentation">Documentation
|
||||
Index</a></b></li>
|
||||
<li> <a
|
||||
href="Documentation.htm">Reference Manual</a></li>
|
||||
<li> <a
|
||||
href="FAQ.htm">FAQs</a></li>
|
||||
<li><a
|
||||
href="useful_links.html">Useful Links</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
href="troubleshoot.htm">Things to try if it doesn't work</a></li>
|
||||
<li> <a
|
||||
href="errata.htm">Errata</a></li>
|
||||
<li> <a
|
||||
href="upgrade_issues.htm">Upgrade Issues</a></li>
|
||||
<li> <a
|
||||
href="support.htm">Getting help or Answers to Questions</a>
|
||||
</li>
|
||||
<li><a
|
||||
href="http://lists.shorewall.net">Mailing Lists</a> <br>
|
||||
</li>
|
||||
<li><a href="1.3" target="_top">Shorewall 1.3 Site</a></li>
|
||||
<li><a
|
||||
href="http://www1.shorewall.net/1.2/index.htm" target="_top">Shorewall
|
||||
1.2 Site</a></li>
|
||||
<li><a href="shorewall_mirrors.htm">Mirrors</a>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a
|
||||
target="_top" href="http://slovakia.shorewall.net">Slovak Republic</a></li>
|
||||
<li><a
|
||||
target="_top" href="http://shorewall.infohiiway.com">Texas, USA</a></li>
|
||||
<li><a
|
||||
target="_top" href="http://germany.shorewall.net">Germany</a></li>
|
||||
|
||||
<li><a target="_top"
|
||||
href="http://france.shorewall.net">France</a></li>
|
||||
<li><a href="http://shorewall.syachile.cl"
|
||||
target="_top">Chile</a></li>
|
||||
<li><a href="http://shorewall.greshko.com"
|
||||
target="_top">Taiwan</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="http://www.shorewall.net" target="_top">Washington State, USA</a><br>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
<li> <b><a
|
||||
href="shorewall_quickstart_guide.htm#Documentation">Documentation</a></b></li>
|
||||
|
||||
<li> <a href="FAQ.htm">FAQs</a></li>
|
||||
<li><a
|
||||
href="useful_links.html">Useful Links</a><br>
|
||||
</li>
|
||||
<li> <a
|
||||
href="troubleshoot.htm">Things to try if it doesn't work</a></li>
|
||||
<li> <a
|
||||
href="errata.htm">Errata</a></li>
|
||||
<li> <a
|
||||
href="upgrade_issues.htm">Upgrade Issues</a></li>
|
||||
<li> <a
|
||||
href="support.htm">Getting help or Answers to Questions</a>
|
||||
</li>
|
||||
<li><a
|
||||
href="http://lists.shorewall.net">Mailing Lists</a> <br>
|
||||
</li>
|
||||
<li><a
|
||||
href="shorewall_mirrors.htm">Mirrors</a>
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a
|
||||
target="_top" href="http://slovakia.shorewall.net">Slovak Republic</a></li>
|
||||
<li><a
|
||||
target="_top" href="http://shorewall.infohiiway.com">Texas, USA</a></li>
|
||||
<li><a
|
||||
target="_top" href="http://germany.shorewall.net">Germany</a></li>
|
||||
|
||||
<li><a target="_top"
|
||||
href="http://france.shorewall.net">France</a></li>
|
||||
<li><a href="http://shorewall.syachile.cl"
|
||||
target="_top">Chile</a></li>
|
||||
<li><a href="http://shorewall.greshko.com"
|
||||
target="_top">Taiwan</a></li>
|
||||
<li><a href="http://argentina.shorewall.net"
|
||||
target="_top">Argentina</a></li>
|
||||
<li><a href="http://shorewall.securityopensource.org.br"
|
||||
target="_top">Brazil</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="http://www.shorewall.net" target="_top">Washington State, USA</a><br>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="News.htm">News Archive</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="Shorewall_CVS_Access.html">CVS Repository</a></li>
|
||||
<li>GSLUG Presentation</li>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="GSLUG.htm">HTML</a></li>
|
||||
<li><a href="GSLUG.ppt">PowerPoint</a><br>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="quotes.htm">Quotes from Users</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="shoreline.htm">About the Author</a></li>
|
||||
<li> <a
|
||||
<li> <a
|
||||
href="seattlefirewall_index.htm#Donations">Donations</a></li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001-2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
|
@ -1,104 +1,106 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>VPN</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">VPN</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>It is often the case that a system behind the firewall needs to be able
|
||||
to access a remote network through Virtual Private Networking (VPN). The
|
||||
two most common means for doing this are IPSEC and PPTP. The basic setup
|
||||
|
||||
<p>It is often the case that a system behind the firewall needs to be able
|
||||
to access a remote network through Virtual Private Networking (VPN). The
|
||||
two most common means for doing this are IPSEC and PPTP. The basic setup
|
||||
is shown in the following diagram:</p>
|
||||
|
||||
|
||||
<p align="center"><img border="0" src="images/VPN.png" width="568"
|
||||
height="796">
|
||||
</p>
|
||||
|
||||
<p align="left">A system with an RFC 1918 address needs to access a remote
|
||||
network through a remote gateway. For this example, we will assume that
|
||||
the local system has IP address 192.168.1.12 and that the remote gateway
|
||||
has IP address 192.0.2.224.</p>
|
||||
|
||||
<p align="left">If PPTP is being used, there are no firewall requirements
|
||||
beyond the default loc->net ACCEPT policy. There is one restriction however:
|
||||
Only one local system at a time can be connected to a single remote gateway
|
||||
unless you patch your kernel from the 'Patch-o-matic' patches available
|
||||
at <a href="http://www.netfilter.org">http://www.netfilter.org</a>. </p>
|
||||
|
||||
<p align="left">If IPSEC is being used then only one system may connect to
|
||||
the remote gateway and there are firewall configuration requirements as
|
||||
follows:</p>
|
||||
|
||||
<blockquote>
|
||||
</p>
|
||||
|
||||
<p align="left">A system with an RFC 1918 address needs to access a remote
|
||||
network through a remote gateway. For this example, we will assume that the
|
||||
local system has IP address 192.168.1.12 and that the remote gateway has
|
||||
IP address 192.0.2.224.</p>
|
||||
|
||||
<p align="left">If PPTP is being used, there are no firewall requirements
|
||||
beyond the default loc->net ACCEPT policy. There is one restriction however:
|
||||
Only one local system at a time can be connected to a single remote gateway
|
||||
unless you patch your kernel from the 'Patch-o-matic' patches available at
|
||||
<a href="http://www.netfilter.org">http://www.netfilter.org</a>. </p>
|
||||
|
||||
<p align="left">If IPSEC is being used then only one system may connect to
|
||||
the remote gateway and there are firewall configuration requirements as follows:</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
bordercolor="#111111" id="AutoNumber2" height="98">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td height="38"><u><b>ACTION</b></u></td>
|
||||
<td height="38"><u><b>SOURCE</b></u></td>
|
||||
<td height="38"><u><b>DESTINATION</b></u></td>
|
||||
<td height="38"><u><b>PROTOCOL</b></u></td>
|
||||
<td height="38"><u><b>PORT</b></u></td>
|
||||
<td height="38"><u><b>CLIENT<br>
|
||||
PORT</b></u></td>
|
||||
<td height="38"><u><b>ORIGINAL<br>
|
||||
DEST</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="38"><u><b>ACTION</b></u></td>
|
||||
<td height="38"><u><b>SOURCE</b></u></td>
|
||||
<td height="38"><u><b>DESTINATION</b></u></td>
|
||||
<td height="38"><u><b>PROTOCOL</b></u></td>
|
||||
<td height="38"><u><b>PORT</b></u></td>
|
||||
<td height="38"><u><b>CLIENT<br>
|
||||
PORT</b></u></td>
|
||||
<td height="38"><u><b>ORIGINAL<br>
|
||||
DEST</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="19">DNAT</td>
|
||||
<td height="19">net:192.0.2.224</td>
|
||||
<td height="19">loc:192.168.1.12</td>
|
||||
<td height="19">50</td>
|
||||
<td height="19"> </td>
|
||||
<td height="19"> </td>
|
||||
<td height="19"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="19">DNAT</td>
|
||||
<td height="19">net:192.0.2.224</td>
|
||||
<td height="19">loc:192.168.1.12</td>
|
||||
<td height="19">udp</td>
|
||||
<td height="19">500</td>
|
||||
<td height="19"> </td>
|
||||
<td height="19"> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td height="19">DNAT</td>
|
||||
<td height="19">net:192.0.2.224</td>
|
||||
<td height="19">loc:192.168.1.12</td>
|
||||
<td height="19">50</td>
|
||||
<td height="19"> </td>
|
||||
<td height="19"> </td>
|
||||
<td height="19"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="19">DNAT</td>
|
||||
<td height="19">net:192.0.2.224</td>
|
||||
<td height="19">loc:192.168.1.12</td>
|
||||
<td height="19">udp</td>
|
||||
<td height="19">500</td>
|
||||
<td height="19"> </td>
|
||||
<td height="19"> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>If you want to be able to give access to all of your local systems to
|
||||
the remote network, you should consider running a VPN client on your firewall.
|
||||
</blockquote>
|
||||
|
||||
<p>If you want to be able to give access to all of your local systems to the
|
||||
remote network, you should consider running a VPN client on your firewall.
|
||||
As starting points, see <a
|
||||
href="http://www.shorewall.net/Documentation.htm#Tunnels"> http://www.shorewall.net/Documentation.htm#Tunnels</a>
|
||||
href="http://www.shorewall.net/Documentation.htm#Tunnels"> http://www.shorewall.net/Documentation.htm#Tunnels</a>
|
||||
or <a href="http://www.shorewall.net/PPTP.htm">http://www.shorewall.net/PPTP.htm</a>.</p>
|
||||
|
||||
|
||||
<p><font size="2">Last modified 12/21/2002 - <a href="support.htm">Tom Eastep</a></font></p>
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"> <font size="2">Copyright</font>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"> <font size="2">Copyright</font>
|
||||
© <font size="2">2002 Thomas M. Eastep.</font></a></font></p>
|
||||
|
||||
<p> </p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,98 +1,98 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Blacklisting Support</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Blacklisting Support</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p>Shorewall supports two different forms of blacklisting; static and dynamic.</p>
|
||||
|
||||
|
||||
<h2>Static Blacklisting</h2>
|
||||
|
||||
<p>Shorewall static blacklisting support has the following configuration
|
||||
parameters:</p>
|
||||
|
||||
|
||||
<p>Shorewall static blacklisting support has the following configuration parameters:</p>
|
||||
|
||||
<ul>
|
||||
<li>You specify whether you want packets from blacklisted hosts dropped
|
||||
or rejected using the <a href="Documentation.htm#BLDisposition">BLACKLIST_DISPOSITION</a>
|
||||
<li>You specify whether you want packets from blacklisted hosts dropped
|
||||
or rejected using the <a href="Documentation.htm#BLDisposition">BLACKLIST_DISPOSITION</a>
|
||||
setting in /etc/shorewall/shorewall.conf</li>
|
||||
<li>You specify whether you want packets from blacklisted hosts logged
|
||||
<li>You specify whether you want packets from blacklisted hosts logged
|
||||
and at what syslog level using the <a
|
||||
href="Documentation.htm#BLLoglevel">BLACKLIST_LOGLEVEL</a> setting in
|
||||
href="Documentation.htm#BLLoglevel">BLACKLIST_LOGLEVEL</a> setting in
|
||||
/etc/shorewall/shorewall.conf</li>
|
||||
<li>You list the IP addresses/subnets that you wish to blacklist in
|
||||
<a href="Documentation.htm#Blacklist">/etc/shorewall/blacklist.</a> Beginning
|
||||
with Shorewall version 1.3.8, you may also specify PROTOCOL and Port numbers/Service
|
||||
<li>You list the IP addresses/subnets that you wish to blacklist in
|
||||
<a href="Documentation.htm#Blacklist">/etc/shorewall/blacklist.</a> Beginning
|
||||
with Shorewall version 1.3.8, you may also specify PROTOCOL and Port numbers/Service
|
||||
names in the blacklist file.<br>
|
||||
</li>
|
||||
<li>You specify the interfaces whose incoming packets you want checked
|
||||
</li>
|
||||
<li>You specify the interfaces whose incoming packets you want checked
|
||||
against the blacklist using the "<a
|
||||
href="Documentation.htm#Interfaces">blacklist</a>" option in /etc/shorewall/interfaces.</li>
|
||||
<li>The black list is refreshed from /etc/shorewall/blacklist by the
|
||||
<li>The black list is refreshed from /etc/shorewall/blacklist by the
|
||||
"<a href="Documentation.htm#Starting">shorewall refresh</a>" command.</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Dynamic Blacklisting</h2>
|
||||
|
||||
<p>Dynamic blacklisting support was added in version 1.3.2. Dynamic blacklisting
|
||||
doesn't use any configuration parameters but is rather controlled using
|
||||
|
||||
<p>Dynamic blacklisting support was added in version 1.3.2. Dynamic blacklisting
|
||||
doesn't use any configuration parameters but is rather controlled using
|
||||
/sbin/shorewall commands:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>drop <i><ip address list> </i>- causes packets from the listed
|
||||
<li>drop <i><ip address list> </i>- causes packets from the listed
|
||||
IP addresses to be silently dropped by the firewall.</li>
|
||||
<li>reject <i><ip address list> </i>- causes packets from the
|
||||
<li>reject <i><ip address list> </i>- causes packets from the
|
||||
listed IP addresses to be rejected by the firewall.</li>
|
||||
<li>allow <i><ip address list> </i>- re-enables receipt of packets
|
||||
<li>allow <i><ip address list> </i>- re-enables receipt of packets
|
||||
from hosts previously blacklisted by a <i>deny</i> or <i>reject</i> command.</li>
|
||||
<li>save - save the dynamic blacklisting configuration so that it will
|
||||
<li>save - save the dynamic blacklisting configuration so that it will
|
||||
be automatically restored the next time that the firewall is restarted.</li>
|
||||
<li>show dynamic - displays the dynamic blacklisting configuration.</li>
|
||||
|
||||
<li>show dynamic - displays the dynamic blacklisting configuration.</li>
|
||||
|
||||
</ul>
|
||||
Dynamic blacklisting is <u>not</u> dependent on the "blacklist" option in
|
||||
Dynamic blacklisting is <u>not</u> dependent on the "blacklist" option in
|
||||
/etc/shorewall/interfaces.<br>
|
||||
|
||||
|
||||
<p>Example 1:</p>
|
||||
|
||||
|
||||
<pre> <b><font color="#009900">shorewall drop 192.0.2.124 192.0.2.125</font></b></pre>
|
||||
|
||||
|
||||
<p> Drops packets from hosts 192.0.2.124 and 192.0.2.125</p>
|
||||
|
||||
|
||||
<p>Example 2:</p>
|
||||
|
||||
|
||||
<pre> <b><font color="#009900">shorewall allow 192.0.2.125</font></b></pre>
|
||||
|
||||
|
||||
<p> Reenables access from 192.0.2.125.</p>
|
||||
|
||||
|
||||
<p><font size="2">Last updated 2/7/2003 - <a href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2002, 2003 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
@ -1,407 +1,409 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Configuration File Basics</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Configuration Files</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p><b><font color="#ff0000">Warning: </font>If you copy or edit your configuration
|
||||
files on a system running Microsoft Windows, you <u>must</u>
|
||||
run them through <a
|
||||
files on a system running Microsoft Windows, you <u>must</u>
|
||||
run them through <a
|
||||
href="http://www.megaloman.com/%7Ehany/software/hd2u/"> dos2unix</a>
|
||||
before you use them with Shorewall.</b></p>
|
||||
|
||||
before you use them with Shorewall.</b></p>
|
||||
|
||||
<h2><a name="Files"></a>Files</h2>
|
||||
|
||||
|
||||
<p>Shorewall's configuration files are in the directory /etc/shorewall.</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>/etc/shorewall/shorewall.conf - used to set
|
||||
several firewall parameters.</li>
|
||||
<li>/etc/shorewall/params - use this file to set
|
||||
shell variables that you will expand in other files.</li>
|
||||
<li>/etc/shorewall/zones - partition the firewall's
|
||||
view of the world into <i>zones.</i></li>
|
||||
<li>/etc/shorewall/policy - establishes firewall
|
||||
high-level policy.</li>
|
||||
<li>/etc/shorewall/interfaces - describes the
|
||||
interfaces on the firewall system.</li>
|
||||
<li>/etc/shorewall/hosts - allows defining zones
|
||||
in terms of individual hosts and subnetworks.</li>
|
||||
<li>/etc/shorewall/masq - directs the firewall
|
||||
where to use many-to-one (dynamic) Network Address Translation
|
||||
(a.k.a. Masquerading) and Source Network Address Translation
|
||||
(SNAT).</li>
|
||||
<li>/etc/shorewall/modules - directs the firewall
|
||||
to load kernel modules.</li>
|
||||
<li>/etc/shorewall/rules - defines rules that
|
||||
are exceptions to the overall policies established in /etc/shorewall/policy.</li>
|
||||
<li>/etc/shorewall/nat - defines static NAT rules.</li>
|
||||
<li>/etc/shorewall/proxyarp - defines use of Proxy
|
||||
ARP.</li>
|
||||
<li>/etc/shorewall/routestopped (Shorewall 1.3.4
|
||||
and later) - defines hosts accessible when Shorewall is stopped.</li>
|
||||
<li>/etc/shorewall/tcrules - defines marking of
|
||||
packets for later use by traffic control/shaping or policy routing.</li>
|
||||
<li>/etc/shorewall/tos - defines rules for setting
|
||||
the TOS field in packet headers.</li>
|
||||
<li>/etc/shorewall/tunnels - defines IPSEC, GRE
|
||||
and IPIP tunnels with end-points on the firewall system.</li>
|
||||
<li>/etc/shorewall/blacklist - lists blacklisted
|
||||
IP/subnet/MAC addresses.</li>
|
||||
<li>/etc/shorewall/init - commands that you wish to execute at the
|
||||
beginning of a "shorewall start" or "shorewall restart".</li>
|
||||
<li>/etc/shorewall/start - commands that you wish to execute at the
|
||||
completion of a "shorewall start" or "shorewall restart"</li>
|
||||
<li>/etc/shorewall/stop - commands that you wish to execute at the
|
||||
beginning of a "shorewall stop".</li>
|
||||
<li>/etc/shorewall/stopped - commands that you wish to execute at
|
||||
the completion of a "shorewall stop".</li>
|
||||
<li>/etc/shorewall/ecn - disable Explicit Congestion Notification (ECN
|
||||
- RFC 3168) to remote hosts or networks.<br>
|
||||
</li>
|
||||
|
||||
<li>/etc/shorewall/shorewall.conf - used to
|
||||
set several firewall parameters.</li>
|
||||
<li>/etc/shorewall/params - use this file to
|
||||
set shell variables that you will expand in other files.</li>
|
||||
<li>/etc/shorewall/zones - partition the firewall's
|
||||
view of the world into <i>zones.</i></li>
|
||||
<li>/etc/shorewall/policy - establishes firewall
|
||||
high-level policy.</li>
|
||||
<li>/etc/shorewall/interfaces - describes the
|
||||
interfaces on the firewall system.</li>
|
||||
<li>/etc/shorewall/hosts - allows defining zones
|
||||
in terms of individual hosts and subnetworks.</li>
|
||||
<li>/etc/shorewall/masq - directs the firewall
|
||||
where to use many-to-one (dynamic) Network Address Translation
|
||||
(a.k.a. Masquerading) and Source Network Address Translation
|
||||
(SNAT).</li>
|
||||
<li>/etc/shorewall/modules - directs the firewall
|
||||
to load kernel modules.</li>
|
||||
<li>/etc/shorewall/rules - defines rules that
|
||||
are exceptions to the overall policies established in /etc/shorewall/policy.</li>
|
||||
<li>/etc/shorewall/nat - defines static NAT
|
||||
rules.</li>
|
||||
<li>/etc/shorewall/proxyarp - defines use of
|
||||
Proxy ARP.</li>
|
||||
<li>/etc/shorewall/routestopped (Shorewall 1.3.4
|
||||
and later) - defines hosts accessible when Shorewall is stopped.</li>
|
||||
<li>/etc/shorewall/tcrules - defines marking
|
||||
of packets for later use by traffic control/shaping or policy
|
||||
routing.</li>
|
||||
<li>/etc/shorewall/tos - defines rules for setting
|
||||
the TOS field in packet headers.</li>
|
||||
<li>/etc/shorewall/tunnels - defines IPSEC,
|
||||
GRE and IPIP tunnels with end-points on the firewall system.</li>
|
||||
<li>/etc/shorewall/blacklist - lists blacklisted
|
||||
IP/subnet/MAC addresses.</li>
|
||||
<li>/etc/shorewall/init - commands that you wish to execute at
|
||||
the beginning of a "shorewall start" or "shorewall restart".</li>
|
||||
<li>/etc/shorewall/start - commands that you wish to execute at
|
||||
the completion of a "shorewall start" or "shorewall restart"</li>
|
||||
<li>/etc/shorewall/stop - commands that you wish to execute at
|
||||
the beginning of a "shorewall stop".</li>
|
||||
<li>/etc/shorewall/stopped - commands that you wish to execute
|
||||
at the completion of a "shorewall stop".</li>
|
||||
<li>/etc/shorewall/ecn - disable Explicit Congestion Notification (ECN
|
||||
- RFC 3168) to remote hosts or networks.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2><a name="Comments"></a>Comments</h2>
|
||||
|
||||
|
||||
<p>You may place comments in configuration files by making the first non-whitespace
|
||||
character a pound sign ("#"). You may also place comments at
|
||||
the end of any line, again by delimiting the comment from the
|
||||
character a pound sign ("#"). You may also place comments
|
||||
at the end of any line, again by delimiting the comment from the
|
||||
rest of the line with a pound sign.</p>
|
||||
|
||||
|
||||
<p>Examples:</p>
|
||||
|
||||
|
||||
<pre># This is a comment</pre>
|
||||
|
||||
|
||||
<pre>ACCEPT net fw tcp www #This is an end-of-line comment</pre>
|
||||
|
||||
|
||||
<h2><a name="Continuation"></a>Line Continuation</h2>
|
||||
|
||||
|
||||
<p>You may continue lines in the configuration files using the usual backslash
|
||||
("\") followed immediately by a new line character.</p>
|
||||
|
||||
("\") followed immediately by a new line character.</p>
|
||||
|
||||
<p>Example:</p>
|
||||
|
||||
|
||||
<pre>ACCEPT net fw tcp \<br>smtp,www,pop3,imap #Services running on the firewall</pre>
|
||||
|
||||
|
||||
<h2><a name="INCLUDE"></a>IN<small><small></small></small>CLUDE Directive</h2>
|
||||
Beginning with Shorewall version 1.4.2, any file may contain INCLUDE directives.
|
||||
An INCLUDE directive consists of the word INCLUDE followed by a file name
|
||||
and causes the contents of the named file to be logically included into
|
||||
the file containing the INCLUDE. File names given in an INCLUDE directive
|
||||
are assumed to reside in /etc/shorewall or in an alternate configuration
|
||||
directory if one has been specified for the command.<br>
|
||||
<br>
|
||||
INCLUDE's may be nested to a level of 3 -- further nested INCLUDE directives
|
||||
are ignored with a warning message.<big><big><br>
|
||||
<br>
|
||||
</big></big> Examples:<big> </big> <br>
|
||||
|
||||
Beginning with Shorewall version 1.4.2, any file may contain INCLUDE directives.
|
||||
An INCLUDE directive consists of the word INCLUDE followed by a file name
|
||||
and causes the contents of the named file to be logically included into
|
||||
the file containing the INCLUDE. File names given in an INCLUDE directive
|
||||
are assumed to reside in /etc/shorewall or in an alternate configuration
|
||||
directory if one has been specified for the command.<br>
|
||||
<br>
|
||||
INCLUDE's may be nested to a level of 3 -- further nested INCLUDE directives
|
||||
are ignored with a warning message.<big><big><br>
|
||||
<br>
|
||||
</big></big> Examples:<big> </big> <br>
|
||||
|
||||
<blockquote> shorewall/params.mgmt:<br>
|
||||
|
||||
|
||||
<blockquote> MGMT_SERVERS=1.1.1.1,2.2.2.2,3.3.3.3<br>
|
||||
TIME_SERVERS=4.4.4.4<br>
|
||||
BACKUP_SERVERS=5.5.5.5<br>
|
||||
TIME_SERVERS=4.4.4.4<br>
|
||||
BACKUP_SERVERS=5.5.5.5<br>
|
||||
</blockquote>
|
||||
----- end params.mgmt -----<br>
|
||||
</blockquote>
|
||||
----- end params.mgmt -----<br>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<blockquote> shorewall/params:<br>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote> # Shorewall 1.3 /etc/shorewall/params<br>
|
||||
[..]<br>
|
||||
#######################################<br>
|
||||
<br>
|
||||
INCLUDE params.mgmt <br>
|
||||
<br>
|
||||
# params unique to this host here<br>
|
||||
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE<br>
|
||||
[..]<br>
|
||||
#######################################<br>
|
||||
<br>
|
||||
INCLUDE params.mgmt <br>
|
||||
<br>
|
||||
# params unique to this host here<br>
|
||||
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE<br>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<blockquote> ----- end params -----<br>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<blockquote> shorewall/rules.mgmt:<br>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote> ACCEPT net:$MGMT_SERVERS $FW tcp 22<br>
|
||||
ACCEPT $FW net:$TIME_SERVERS udp 123<br>
|
||||
ACCEPT $FW net:$BACKUP_SERVERS tcp 22<br>
|
||||
ACCEPT $FW net:$TIME_SERVERS udp 123<br>
|
||||
ACCEPT $FW net:$BACKUP_SERVERS tcp 22<br>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<blockquote> ----- end rules.mgmt -----<br>
|
||||
</blockquote>
|
||||
|
||||
<blockquote> shorewall/rules:<br>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote> # Shorewall version 1.3 - Rules File<br>
|
||||
[..]<br>
|
||||
#######################################<br>
|
||||
<br>
|
||||
INCLUDE rules.mgmt <br>
|
||||
<br>
|
||||
# rules unique to this host here<br>
|
||||
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE<br>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<blockquote> shorewall/rules:<br>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<blockquote> # Shorewall version 1.3 - Rules File<br>
|
||||
[..]<br>
|
||||
#######################################<br>
|
||||
<br>
|
||||
INCLUDE rules.mgmt <br>
|
||||
<br>
|
||||
# rules unique to this host here<br>
|
||||
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE<br>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<blockquote> ----- end rules -----<br>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h2><a name="dnsnames"></a>Using DNS Names</h2>
|
||||
|
||||
|
||||
<p align="left"> </p>
|
||||
|
||||
|
||||
<p align="left"><b>WARNING: I personally recommend strongly <u>against</u>
|
||||
using DNS names in Shorewall configuration files. If you use DNS
|
||||
names and you are called out of bed at 2:00AM because Shorewall won't
|
||||
start as a result of DNS problems then don't say that you were not forewarned.
|
||||
<br>
|
||||
</b></p>
|
||||
|
||||
using DNS names in Shorewall configuration files. If you use DNS
|
||||
names and you are called out of bed at 2:00AM because Shorewall won't
|
||||
start as a result of DNS problems then don't say that you were not forewarned.
|
||||
<br>
|
||||
</b></p>
|
||||
|
||||
<p align="left"><b> -Tom<br>
|
||||
</b></p>
|
||||
|
||||
<p align="left">Beginning with Shorwall 1.3.9, Host addresses in Shorewall
|
||||
configuration files may be specified as either IP addresses or DNS
|
||||
Names.<br>
|
||||
<br>
|
||||
DNS names in iptables rules aren't nearly as useful as
|
||||
they first appear. When a DNS name appears in a rule, the iptables
|
||||
utility resolves the name to one or more IP addresses and inserts
|
||||
those addresses into the rule. So changes in the DNS->IP address
|
||||
relationship that occur after the firewall has started have absolutely
|
||||
no effect on the firewall's ruleset. </p>
|
||||
|
||||
</b></p>
|
||||
|
||||
<p align="left">Beginning with Shorewall 1.3.9, Host addresses in Shorewall
|
||||
configuration files may be specified as either IP addresses or DNS
|
||||
Names.<br>
|
||||
<br>
|
||||
DNS names in iptables rules aren't nearly as useful
|
||||
as they first appear. When a DNS name appears in a rule, the iptables
|
||||
utility resolves the name to one or more IP addresses and inserts
|
||||
those addresses into the rule. So changes in the DNS->IP address
|
||||
relationship that occur after the firewall has started have absolutely
|
||||
no effect on the firewall's ruleset. </p>
|
||||
|
||||
<p align="left"> If your firewall rules include DNS names then:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>If your /etc/resolv.conf is wrong then your firewall
|
||||
won't start.</li>
|
||||
<li>If your /etc/nsswitch.conf is wrong then your firewall
|
||||
<li>If your /etc/resolv.conf is wrong then your firewall
|
||||
won't start.</li>
|
||||
<li>If your Name Server(s) is(are) down then your firewall
|
||||
won't start.</li>
|
||||
<li>If your startup scripts try to start your firewall
|
||||
before starting your DNS server then your firewall won't start.<br>
|
||||
</li>
|
||||
<li>Factors totally outside your control (your ISP's
|
||||
router is down for example), can prevent your firewall from starting.</li>
|
||||
<li>You must bring up your network interfaces prior to
|
||||
starting your firewall.<br>
|
||||
</li>
|
||||
|
||||
<li>If your /etc/nsswitch.conf is wrong then your firewall
|
||||
won't start.</li>
|
||||
<li>If your Name Server(s) is(are) down then your firewall
|
||||
won't start.</li>
|
||||
<li>If your startup scripts try to start your firewall
|
||||
before starting your DNS server then your firewall won't start.<br>
|
||||
</li>
|
||||
<li>Factors totally outside your control (your ISP's
|
||||
router is down for example), can prevent your firewall from starting.</li>
|
||||
<li>You must bring up your network interfaces prior
|
||||
to starting your firewall.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p align="left"> Each DNS name much be fully qualified and include a minumum
|
||||
of two periods (although one may be trailing). This restriction is
|
||||
imposed by Shorewall to insure backward compatibility with existing
|
||||
configuration files.<br>
|
||||
<br>
|
||||
Examples of valid DNS names:<br>
|
||||
</p>
|
||||
|
||||
of two periods (although one may be trailing). This restriction is
|
||||
imposed by Shorewall to insure backward compatibility with existing
|
||||
configuration files.<br>
|
||||
<br>
|
||||
Examples of valid DNS names:<br>
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>mail.shorewall.net</li>
|
||||
<li>shorewall.net. (note the trailing period).</li>
|
||||
|
||||
<li>mail.shorewall.net</li>
|
||||
<li>shorewall.net. (note the trailing period).</li>
|
||||
|
||||
</ul>
|
||||
Examples of invalid DNS names:<br>
|
||||
|
||||
Examples of invalid DNS names:<br>
|
||||
|
||||
<ul>
|
||||
<li>mail (not fully qualified)</li>
|
||||
<li>shorewall.net (only one period)</li>
|
||||
|
||||
<li>mail (not fully qualified)</li>
|
||||
<li>shorewall.net (only one period)</li>
|
||||
|
||||
</ul>
|
||||
DNS names may not be used as:<br>
|
||||
|
||||
DNS names may not be used as:<br>
|
||||
|
||||
<ul>
|
||||
<li>The server address in a DNAT rule (/etc/shorewall/rules
|
||||
file)</li>
|
||||
<li>In the ADDRESS column of an entry in /etc/shorewall/masq.</li>
|
||||
<li>In the /etc/shorewall/nat file.</li>
|
||||
|
||||
<li>The server address in a DNAT rule (/etc/shorewall/rules
|
||||
file)</li>
|
||||
<li>In the ADDRESS column of an entry in /etc/shorewall/masq.</li>
|
||||
<li>In the /etc/shorewall/nat file.</li>
|
||||
|
||||
</ul>
|
||||
These restrictions are not imposed by Shorewall simply
|
||||
for your inconvenience but are rather limitations of iptables.<br>
|
||||
|
||||
These restrictions are not imposed by Shorewall simply
|
||||
for your inconvenience but are rather limitations of iptables.<br>
|
||||
|
||||
<h2><a name="Compliment"></a>Complementing an Address or Subnet</h2>
|
||||
|
||||
|
||||
<p>Where specifying an IP address, a subnet or an interface, you can precede
|
||||
the item with "!" to specify the complement of the item. For example,
|
||||
!192.168.1.4 means "any host but 192.168.1.4". There must be no white space
|
||||
following the "!".</p>
|
||||
|
||||
the item with "!" to specify the complement of the item. For example,
|
||||
!192.168.1.4 means "any host but 192.168.1.4". There must be no white space
|
||||
following the "!".</p>
|
||||
|
||||
<h2><a name="Lists"></a>Comma-separated Lists</h2>
|
||||
|
||||
|
||||
<p>Comma-separated lists are allowed in a number of contexts within the
|
||||
configuration files. A comma separated list:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>Must not have any embedded white space.<br>
|
||||
Valid: routefilter,dhcp,norfc1918<br>
|
||||
Invalid: routefilter, dhcp, norfc1818</li>
|
||||
<li>If you use line continuation to break a comma-separated
|
||||
list, the continuation line(s) must begin in column 1 (or
|
||||
there would be embedded white space)</li>
|
||||
<li>Entries in a comma-separated list may appear
|
||||
in any order.</li>
|
||||
|
||||
<li>Must not have any embedded white space.<br>
|
||||
Valid: routefilter,dhcp,norfc1918<br>
|
||||
Invalid: routefilter, dhcp,
|
||||
norfc1818</li>
|
||||
<li>If you use line continuation to break a
|
||||
comma-separated list, the continuation line(s) must begin
|
||||
in column 1 (or there would be embedded white space)</li>
|
||||
<li>Entries in a comma-separated list may appear
|
||||
in any order.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2><a name="Ports"></a>Port Numbers/Service Names</h2>
|
||||
|
||||
|
||||
<p>Unless otherwise specified, when giving a port number you can use either
|
||||
an integer or a service name from /etc/services. </p>
|
||||
|
||||
an integer or a service name from /etc/services. </p>
|
||||
|
||||
<h2><a name="Ranges"></a>Port Ranges</h2>
|
||||
|
||||
|
||||
<p>If you need to specify a range of ports, the proper syntax is <<i>low
|
||||
port number</i>>:<<i>high port number</i>>. For example,
|
||||
if you want to forward the range of tcp ports 4000 through 4100 to
|
||||
local host 192.168.1.3, the entry in /etc/shorewall/rules is:<br>
|
||||
</p>
|
||||
|
||||
port number</i>>:<<i>high port number</i>>. For example,
|
||||
if you want to forward the range of tcp ports 4000 through 4100 to
|
||||
local host 192.168.1.3, the entry in /etc/shorewall/rules is:<br>
|
||||
</p>
|
||||
|
||||
<pre> DNAT net loc:192.168.1.3 tcp 4000:4100<br></pre>
|
||||
If you omit the low port number, a value of zero is assumed; if you omit
|
||||
the high port number, a value of 65535 is assumed.<br>
|
||||
|
||||
If you omit the low port number, a value of zero is assumed; if you
|
||||
omit the high port number, a value of 65535 is assumed.<br>
|
||||
|
||||
<h2><a name="Variables"></a>Using Shell Variables</h2>
|
||||
|
||||
|
||||
<p>You may use the /etc/shorewall/params file to set shell variables
|
||||
that you can then use in some of the other configuration files.</p>
|
||||
|
||||
|
||||
<p>It is suggested that variable names begin with an upper case letter<font
|
||||
size="1"> </font>to distinguish them from variables used internally
|
||||
within the Shorewall programs</p>
|
||||
|
||||
within the Shorewall programs</p>
|
||||
|
||||
<p>Example:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<pre>NET_IF=eth0<br>NET_BCAST=130.252.100.255<br>NET_OPTIONS=routefilter,norfc1918</pre>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p><br>
|
||||
Example (/etc/shorewall/interfaces record):</p>
|
||||
<font
|
||||
face="Century Gothic, Arial, Helvetica">
|
||||
<blockquote>
|
||||
Example (/etc/shorewall/interfaces record):</p>
|
||||
<font
|
||||
face="Century Gothic, Arial, Helvetica">
|
||||
<blockquote>
|
||||
<pre><font face="Courier">net $NET_IF $NET_BCAST $NET_OPTIONS</font></pre>
|
||||
</blockquote>
|
||||
</font>
|
||||
</blockquote>
|
||||
</font>
|
||||
<p>The result will be the same as if the record had been written</p>
|
||||
<font
|
||||
face="Century Gothic, Arial, Helvetica">
|
||||
<blockquote>
|
||||
<font
|
||||
face="Century Gothic, Arial, Helvetica">
|
||||
<blockquote>
|
||||
<pre>net eth0 130.252.100.255 routefilter,norfc1918</pre>
|
||||
</blockquote>
|
||||
</font>
|
||||
</blockquote>
|
||||
</font>
|
||||
|
||||
<p>Variables may be used anywhere in the other configuration
|
||||
files.</p>
|
||||
|
||||
files.</p>
|
||||
|
||||
<h2><a name="MAC"></a>Using MAC Addresses</h2>
|
||||
|
||||
|
||||
<p>Media Access Control (MAC) addresses can be used to specify packet
|
||||
source in several of the configuration files. To use this
|
||||
feature, your kernel must have MAC Address Match support (CONFIG_IP_NF_MATCH_MAC)
|
||||
included.</p>
|
||||
|
||||
source in several of the configuration files. To use this
|
||||
feature, your kernel must have MAC Address Match support
|
||||
(CONFIG_IP_NF_MATCH_MAC) included.</p>
|
||||
|
||||
<p>MAC addresses are 48 bits wide and each Ethernet Controller has a unique
|
||||
MAC address.<br>
|
||||
<br>
|
||||
In GNU/Linux, MAC addresses are usually written
|
||||
as a series of 6 hex numbers separated by colons. Example:<br>
|
||||
<br>
|
||||
[root@gateway root]# ifconfig eth0<br>
|
||||
eth0 Link encap:Ethernet HWaddr <b><u>02:00:08:E3:FA:55</u></b><br>
|
||||
inet addr:206.124.146.176 Bcast:206.124.146.255
|
||||
Mask:255.255.255.0<br>
|
||||
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br>
|
||||
RX packets:2398102 errors:0 dropped:0 overruns:0
|
||||
frame:0<br>
|
||||
TX packets:3044698 errors:0 dropped:0 overruns:0
|
||||
carrier:0<br>
|
||||
collisions:30394 txqueuelen:100<br>
|
||||
RX bytes:419871805 (400.4 Mb) TX bytes:1659782221
|
||||
(1582.8 Mb)<br>
|
||||
Interrupt:11 Base address:0x1800<br>
|
||||
<br>
|
||||
Because Shorewall uses colons as a separator for
|
||||
address fields, Shorewall requires MAC addresses to be written
|
||||
in another way. In Shorewall, MAC addresses begin with a tilde
|
||||
("~") and consist of 6 hex numbers separated by hyphens. In Shorewall,
|
||||
the MAC address in the example above would be written "~02-00-08-E3-FA-55".<br>
|
||||
</p>
|
||||
|
||||
MAC address.<br>
|
||||
<br>
|
||||
In GNU/Linux, MAC addresses are usually written
|
||||
as a series of 6 hex numbers separated by colons. Example:<br>
|
||||
<br>
|
||||
[root@gateway root]# ifconfig eth0<br>
|
||||
eth0 Link encap:Ethernet HWaddr <b><u>02:00:08:E3:FA:55</u></b><br>
|
||||
inet addr:206.124.146.176 Bcast:206.124.146.255
|
||||
Mask:255.255.255.0<br>
|
||||
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br>
|
||||
RX packets:2398102 errors:0 dropped:0 overruns:0
|
||||
frame:0<br>
|
||||
TX packets:3044698 errors:0 dropped:0 overruns:0
|
||||
carrier:0<br>
|
||||
collisions:30394 txqueuelen:100<br>
|
||||
RX bytes:419871805 (400.4 Mb) TX bytes:1659782221
|
||||
(1582.8 Mb)<br>
|
||||
Interrupt:11 Base address:0x1800<br>
|
||||
<br>
|
||||
Because Shorewall uses colons as a separator for
|
||||
address fields, Shorewall requires MAC addresses to be written
|
||||
in another way. In Shorewall, MAC addresses begin with a tilde
|
||||
("~") and consist of 6 hex numbers separated by hyphens. In Shorewall,
|
||||
the MAC address in the example above would be written "~02-00-08-E3-FA-55".<br>
|
||||
</p>
|
||||
|
||||
<p><b>Note: </b>It is not necessary to use the special Shorewall notation
|
||||
in the <a href="MAC_Validation.html">/etc/shorewall/maclist</a> file.<br>
|
||||
</p>
|
||||
|
||||
in the <a href="MAC_Validation.html">/etc/shorewall/maclist</a> file.<br>
|
||||
</p>
|
||||
|
||||
<h2><a name="Levels"></a>Shorewall Configurations</h2>
|
||||
|
||||
|
||||
<p> Shorewall allows you to have configuration directories other than /etc/shorewall.
|
||||
The <a href="starting_and_stopping_shorewall.htm">shorewall start
|
||||
and restart</a> commands allow you to specify an alternate configuration
|
||||
directory and Shorewall will use the files in the alternate directory
|
||||
rather than the corresponding files in /etc/shorewall. The alternate
|
||||
directory need not contain a complete configuration; those files not
|
||||
in the alternate directory will be read from /etc/shorewall.</p>
|
||||
|
||||
The <a href="starting_and_stopping_shorewall.htm">shorewall check,
|
||||
start and restart</a> commands allow you to specify an alternate
|
||||
configuration directory and Shorewall will use the files in the alternate
|
||||
directory rather than the corresponding files in /etc/shorewall. The
|
||||
alternate directory need not contain a complete configuration; those
|
||||
files not in the alternate directory will be read from /etc/shorewall.</p>
|
||||
|
||||
<p> This facility permits you to easily create a test or temporary configuration
|
||||
by:</p>
|
||||
|
||||
by:</p>
|
||||
|
||||
<ol>
|
||||
<li> copying the files that need modification
|
||||
from /etc/shorewall to a separate directory;</li>
|
||||
<li> modify those files in the separate directory;
|
||||
and</li>
|
||||
<li> specifying the separate directory in a shorewall
|
||||
start or shorewall restart command (e.g., <i><b>shorewall -c /etc/testconfig
|
||||
restart</b></i> )</li>
|
||||
|
||||
<li> copying the files that need modification
|
||||
from /etc/shorewall to a separate directory;</li>
|
||||
<li> modify those files in the separate directory;
|
||||
and</li>
|
||||
<li> specifying the separate directory in a
|
||||
shorewall start or shorewall restart command (e.g., <i><b>shorewall
|
||||
-c /etc/testconfig restart</b></i> )</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><font size="2"> Updated 4/18/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
The <a href="starting_and_stopping_shorewall.htm"><b>try</b> command</a>
|
||||
allows you to attempt to restart using an alternate configuration and if an
|
||||
error occurs to automatically restart the standard configuration.<br>
|
||||
|
||||
<p><font size="2"> Updated 6/29/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,45 +1,46 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Copyright</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Copyright</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p align="left">Copyright <font face="Trebuchet MS">©</font> 2000, 2001,
|
||||
|
||||
<p align="left">Copyright <font face="Trebuchet MS">©</font> 2000, 2001,
|
||||
2003 Thomas M Eastep<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">Permission is granted to copy, distribute and/or modify
|
||||
this document under the terms of the GNU Free Documentation License, Version
|
||||
1.1 or any later version published by the Free Software Foundation; with
|
||||
no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts.
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">Permission is granted to copy, distribute and/or modify
|
||||
this document under the terms of the GNU Free Documentation License, Version
|
||||
1.1 or any later version published by the Free Software Foundation; with
|
||||
no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts.
|
||||
A copy of the license is included in the section entitled "<a
|
||||
href="GnuCopyright.htm">GNU Free Documentation License</a>".<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,82 +1,85 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>DHCP</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">DHCP</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h2 align="left">If you want to Run a DHCP Server on your firewall</h2>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">Specify the "dhcp" option on each interface to be
|
||||
served by your server in the <a href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>
|
||||
file. This will generate rules that will allow DHCP to and from your
|
||||
firewall system. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">When starting "dhcpd", you need to list those interfaces
|
||||
on the run line. On a RedHat system, this is done by modifying /etc/sysconfig/dhcpd.
|
||||
<li>
|
||||
<p align="left">Specify the "dhcp" option on each interface to be served
|
||||
by your server in the <a href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>
|
||||
file. This will generate rules that will allow DHCP to and from your firewall
|
||||
system. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">When starting "dhcpd", you need to list those interfaces
|
||||
on the run line. On a RedHat system, this is done by modifying /etc/sysconfig/dhcpd.
|
||||
</p>
|
||||
</li>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 align="left">If a Firewall Interface gets its IP Address via DHCP</h2>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">Specify the "dhcp" option for this interface in the
|
||||
<a href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>
|
||||
file. This will generate rules that will allow DHCP to and from your firewall
|
||||
<li>
|
||||
<p align="left">Specify the "dhcp" option for this interface in the
|
||||
<a href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>
|
||||
file. This will generate rules that will allow DHCP to and from your firewall
|
||||
system. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">If you know that the dynamic address is always going
|
||||
to be in the same subnet, you can specify the subnet address in the interface's
|
||||
entry in the <a href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">If you know that the dynamic address is always going to
|
||||
be in the same subnet, you can specify the subnet address in the interface's
|
||||
entry in the <a href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>
|
||||
file. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">If you don't know the subnet address in advance, you
|
||||
should specify "detect" for the interface's subnet address in the <a
|
||||
href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a> file
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">If you don't know the subnet address in advance, you should
|
||||
specify "detect" for the interface's subnet address in the <a
|
||||
href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a> file
|
||||
and start Shorewall after the interface has started. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">In the event that the subnet address might change while
|
||||
Shorewall is started, you need to arrange for a "shorewall refresh"
|
||||
command to be executed when a new dynamic IP address gets assigned to
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">In the event that the subnet address might change while
|
||||
Shorewall is started, you need to arrange for a "shorewall refresh"
|
||||
command to be executed when a new dynamic IP address gets assigned to
|
||||
the interface. Check your DHCP client's documentation. </p>
|
||||
</li>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p align="left"><font size="2">Last updated 11/03/2002 - <a
|
||||
href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,191 +1,231 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Download</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Download</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p><b>I strongly urge you to read and print a copy of the <a
|
||||
href="shorewall_quickstart_guide.htm">Shorewall QuickStart Guide</a>
|
||||
for the configuration that most closely matches your own.<br>
|
||||
</b></p>
|
||||
|
||||
</b></p>
|
||||
|
||||
<p>The entire set of Shorewall documentation is available in PDF format at:</p>
|
||||
|
||||
|
||||
<p> <a href="ftp://slovakia.shorewall.net/mirror/shorewall/pdf/">ftp://slovakia.shorewall.net/mirror/shorewall/pdf/</a><br>
|
||||
<a
|
||||
<a
|
||||
href="http://slovakia.shorewall.net/pub/shorewall/pdf/">http://slovakia.shorewall.net/pub/shorewall/pdf/</a><br>
|
||||
<a href="rsync://slovakia.shorewall.net/shorewall/pdf/">rsync://slovakia.shorewall.net/shorewall/pdf/</a>
|
||||
</p>
|
||||
|
||||
<a
|
||||
href="rsync://slovakia.shorewall.net/shorewall/pdf/">rsync://slovakia.shorewall.net/shorewall/pdf/</a>
|
||||
</p>
|
||||
|
||||
<p>The documentation in HTML format is included in the .rpm and in the
|
||||
.tgz packages below.</p>
|
||||
|
||||
|
||||
<p> Once you've printed the appropriate QuickStart Guide, download <u>
|
||||
one</u> of the modules:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>If you run a <b>RedHat</b>, <b>SuSE, Mandrake</b>,
|
||||
<b> Linux PPC</b> or <b> TurboLinux</b> distribution
|
||||
with a 2.4 kernel, you can use the RPM version (note: the
|
||||
RPM should also work with other distributions that store
|
||||
init scripts in /etc/init.d and that include chkconfig or
|
||||
insserv). If you find that it works in other cases, let <a
|
||||
<li>If you run a <b>RedHat</b>, <b>SuSE, Mandrake</b>,
|
||||
<b> Linux PPC</b> or <b> TurboLinux</b> distribution
|
||||
with a 2.4 kernel, you can use the RPM version (note: the
|
||||
RPM should also work with other distributions that store
|
||||
init scripts in /etc/init.d and that include chkconfig
|
||||
or insserv). If you find that it works in other cases, let <a
|
||||
href="mailto:teastep@shorewall.net"> me</a> know so that
|
||||
I can mention them here. See the <a href="Install.htm">Installation
|
||||
Instructions</a> if you have problems installing the RPM.</li>
|
||||
<li>If you are running LRP, download the .lrp file
|
||||
(you might also want to download the .tgz so you will have a
|
||||
copy of the documentation).</li>
|
||||
<li>If you run <a href="http://www.debian.org"><b>Debian</b></a>
|
||||
and would like a .deb package, Shorewall is included in both
|
||||
the <a
|
||||
I can mention them here. See the <a href="Install.htm">Installation
|
||||
Instructions</a> if you have problems installing the RPM.</li>
|
||||
<li>If you are running LRP, download the .lrp
|
||||
file (you might also want to download the .tgz so you will
|
||||
have a copy of the documentation).</li>
|
||||
<li>If you run <a
|
||||
href="http://www.debian.org"><b>Debian</b></a> and would
|
||||
like a .deb package, Shorewall is included in both the <a
|
||||
href="http://packages.debian.org/testing/net/shorewall.html">Debian
|
||||
Testing Branch</a> and the <a
|
||||
href="http://packages.debian.org/unstable/net/shorewall.html">Debian Unstable
|
||||
Branch</a>.</li>
|
||||
<li>Otherwise, download the <i>shorewall</i>
|
||||
module (.tgz)</li>
|
||||
|
||||
Branch</a>.</li>
|
||||
<li>Otherwise, download the <i>shorewall</i>
|
||||
module (.tgz)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p>The documentation in HTML format is included in the .tgz and .rpm files
|
||||
and there is an documentation .deb that also contains the documentation. The
|
||||
.rpm will install the documentation in your default document directory
|
||||
which can be obtained using the following command:<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
and there is an documentation .deb that also contains the documentation. The
|
||||
.rpm will install the documentation in your default document directory
|
||||
which can be obtained using the following command:<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p><font color="#009900"><b>rpm --eval '%{defaultdocdir}'</b></font></p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>Please check the <font color="#ff0000"> <a href="errata.htm"> errata</a></font>
|
||||
to see if there are updates that apply to the version
|
||||
that you have downloaded.</p>
|
||||
|
||||
to see if there are updates that apply to the version
|
||||
that you have downloaded.</p>
|
||||
|
||||
<p><font color="#ff0000"><b>WARNING - YOU CAN <u>NOT</u> SIMPLY INSTALL
|
||||
THE RPM AND ISSUE A "shorewall start" COMMAND. SOME CONFIGURATION
|
||||
IS REQUIRED BEFORE THE FIREWALL WILL START. Once you have completed configuration
|
||||
of your firewall, you can enable startup by removing the file /etc/shorewall/startup_disabled.</b></font></p>
|
||||
|
||||
THE RPM AND ISSUE A "shorewall start" COMMAND. SOME CONFIGURATION
|
||||
IS REQUIRED BEFORE THE FIREWALL WILL START. Once you have completed
|
||||
configuration of your firewall, you can enable startup by removing
|
||||
the file /etc/shorewall/startup_disabled.</b></font></p>
|
||||
|
||||
<p><b></b></p>
|
||||
|
||||
|
||||
<p><b>Download Sites:</b></p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>SERVER LOCATION</b></td>
|
||||
<td><b>DOMAIN</b></td>
|
||||
<td><b>HTTP</b></td>
|
||||
<td><b>FTP</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SourceForge<br>
|
||||
</td>
|
||||
<td>sf.net</td>
|
||||
<td><a
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>SERVER LOCATION</b></td>
|
||||
<td><b>DOMAIN</b></td>
|
||||
<td><b>HTTP</b></td>
|
||||
<td><b>FTP</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SourceForge<br>
|
||||
</td>
|
||||
<td>sf.net</td>
|
||||
<td><a
|
||||
href="http://sourceforge.net/project/showfiles.php?group_id=22587">Browse</a></td>
|
||||
<td>N/A</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Slovak Republic</td>
|
||||
<td>Shorewall.net</td>
|
||||
<td><a
|
||||
<td>N/A</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Slovak Republic</td>
|
||||
<td>Shorewall.net</td>
|
||||
<td><a
|
||||
href="http://slovakia.shorewall.net/pub/shorewall/">Browse</a></td>
|
||||
<td> <a target="_blank"
|
||||
<td> <a target="_blank"
|
||||
href="ftp://slovakia.shorewall.net/mirror/shorewall/">Browse</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Texas, USA</td>
|
||||
<td>Infohiiway.com</td>
|
||||
<td><a
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Texas, USA</td>
|
||||
<td>Infohiiway.com</td>
|
||||
<td><a
|
||||
href="http://shorewall.infohiiway.com/pub/shorewall">Browse</a></td>
|
||||
<td><a target="_blank"
|
||||
<td><a target="_blank"
|
||||
href="ftp://ftp.infohiiway.com/pub/shorewall/">Browse</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Hamburg, Germany</td>
|
||||
<td>Shorewall.net</td>
|
||||
<td><a
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Hamburg, Germany</td>
|
||||
<td>Shorewall.net</td>
|
||||
<td><a
|
||||
href="http://germany.shorewall.net/pub/shorewall/">Browse</a></td>
|
||||
<td><a target="_blank"
|
||||
<td><a target="_blank"
|
||||
href="ftp://germany.shorewall.net/pub/shorewall">Browse</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>France</td>
|
||||
<td>Shorewall.net</td>
|
||||
<td><a
|
||||
</tr>
|
||||
<tr>
|
||||
<td>France</td>
|
||||
<td>Shorewall.net</td>
|
||||
<td><a
|
||||
href="http://france.shorewall.net/pub/shorewall/LATEST.lrp">Browse</a></td>
|
||||
<td> <a target="_blank"
|
||||
<td> <a target="_blank"
|
||||
href="ftp://france.shorewall.net/pub/mirrors/shorewall/">Browse</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">Taiwan<br>
|
||||
</td>
|
||||
<td valign="top">Greshko.com<br>
|
||||
</td>
|
||||
<td valign="top"><a
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">Taiwan<br>
|
||||
</td>
|
||||
<td valign="top">Greshko.com<br>
|
||||
</td>
|
||||
<td valign="top"><a
|
||||
href="http://shorewall.greshko.com/pub/shorewall/">Browse<br>
|
||||
</a></td>
|
||||
<td valign="top"><a
|
||||
</a></td>
|
||||
<td valign="top"><a
|
||||
href="ftp://shorewall.greshko.com/pub/shorewall/" target="_top">Browse</a><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">Argentina<br>
|
||||
</td>
|
||||
<td valign="top">Shorewall.net<br>
|
||||
</td>
|
||||
<td valign="top"><a
|
||||
href="http://argentina.shorewall.net/pub/shorewall/shorewall">Browse</a><br>
|
||||
</td>
|
||||
<td valign="top">N/A<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">Brazil<br>
|
||||
</td>
|
||||
<td valign="top">securityopensource.org.br<br>
|
||||
</td>
|
||||
<td valign="top"><a
|
||||
href="http://shorewall.securityopensource.org.br/pub/shorewall/">Browse</a><br>
|
||||
</td>
|
||||
<td valign="top">N/A<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Washington State, USA</td>
|
||||
<td>Shorewall.net</td>
|
||||
<td><a
|
||||
<td>Washington State, USA</td>
|
||||
<td>Shorewall.net</td>
|
||||
<td><a
|
||||
href="http://www.shorewall.net/pub/shorewall/">Browse</a></td>
|
||||
<td><a
|
||||
<td><a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/" target="_blank">Browse</a></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p align="left"><b>CVS:</b></p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">The <a target="_top"
|
||||
href="http://cvs.shorewall.net/Shorewall_CVS_Access.html">CVS repository
|
||||
at cvs.shorewall.net</a> contains the latest snapshots of the each
|
||||
Shorewall component. There's no guarantee that what you find there
|
||||
will work at all.<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left"><font size="2">Last Updated 3/24/2003 - <a
|
||||
at cvs.shorewall.net</a> contains the latest snapshots of the
|
||||
each Shorewall component. There's no guarantee that what you
|
||||
find there will work at all.<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left"><b>Shapshots:<br>
|
||||
</b></p>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">Periodic snapshots from CVS may be found at <a
|
||||
href="http://shorewall.net/pub/shorewall/Snapshots/">http://shorewall.net/pub/shorewall/Snapshots</a>
|
||||
(<a href="ftp://shorewall.net/pub/shorewall/Snapshots/" target="_top">FTP</a>).
|
||||
These snapshots have undergone initial testing and will have been installed
|
||||
and run at shorewall.net.<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left"><font size="2">Last Updated 7/15/2003 - <a
|
||||
href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -1,352 +1,355 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall 1.4 Errata</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta name="Microsoft Theme" content="none">
|
||||
|
||||
|
||||
<meta name="author" content="Tom Eastep">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Errata/Upgrade Issues</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p align="center"> <b><u>IMPORTANT</u></b></p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
|
||||
<p align="left"> <b><u>I</u>f you use a Windows system to download
|
||||
a corrected script, be sure to run the script through
|
||||
<u> <a
|
||||
<li>
|
||||
|
||||
<p align="left"> <b><u>I</u>f you use a Windows system to download
|
||||
a corrected script, be sure to run the script through
|
||||
<u> <a
|
||||
href="http://www.megaloman.com/%7Ehany/software/hd2u/"
|
||||
style="text-decoration: none;"> dos2unix</a></u> after you have moved
|
||||
style="text-decoration: none;"> dos2unix</a></u> after you have moved
|
||||
it to your Linux system.</b></p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left"> <b>If you are installing Shorewall for the first
|
||||
time and plan to use the .tgz and install.sh script, you can untar
|
||||
the archive, replace the 'firewall' script in the untarred directory
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left"> <b>If you are installing Shorewall for the
|
||||
first time and plan to use the .tgz and install.sh script, you can
|
||||
untar the archive, replace the 'firewall' script in the untarred directory
|
||||
with the one you downloaded below, and then run install.sh.</b></p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left"> <b>When the instructions say to install a corrected
|
||||
firewall script in /usr/share/shorewall/firewall, you
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left"> <b>When the instructions say to install a corrected
|
||||
firewall script in /usr/share/shorewall/firewall, you
|
||||
may rename the existing file before copying in the new file.</b></p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left"><b><font color="#ff0000">DO NOT INSTALL CORRECTED COMPONENTS
|
||||
ON A RELEASE EARLIER THAN THE ONE THAT THEY ARE LISTED UNDER
|
||||
BELOW. For example, do NOT install the 1.3.9a firewall script if
|
||||
you are running 1.3.7c.</font></b><br>
|
||||
</p>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left"><b><font color="#ff0000">DO NOT INSTALL CORRECTED COMPONENTS
|
||||
ON A RELEASE EARLIER THAN THE ONE THAT THEY ARE LISTED UNDER BELOW.
|
||||
For example, do NOT install the 1.3.9a firewall script if you are
|
||||
running 1.3.7c.</font></b><br>
|
||||
</p>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><b><a href="upgrade_issues.htm">Upgrade
|
||||
<li><b><a href="upgrade_issues.htm">Upgrade
|
||||
Issues</a></b></li>
|
||||
<li><b><a href="#V1.4">Problems in Version 1.4</a></b><br>
|
||||
</li>
|
||||
<li> <b><a
|
||||
<li><b><a href="#V1.4">Problems in Version 1.4</a></b><br>
|
||||
</li>
|
||||
<li> <b><a
|
||||
href="errata_3.html">Problems in Version 1.3</a></b></li>
|
||||
<li> <b><a
|
||||
<li> <b><a
|
||||
href="errata_2.htm">Problems in Version 1.2</a></b></li>
|
||||
<li> <b><font
|
||||
<li> <b><font
|
||||
color="#660066"> <a href="errata_1.htm">Problems in Version 1.1</a></font></b></li>
|
||||
<li> <b><font
|
||||
color="#660066"><a href="#iptables"> Problem with iptables version 1.2.3
|
||||
<li> <b><font
|
||||
color="#660066"><a href="#iptables"> Problem with iptables version 1.2.3
|
||||
on RH7.2</a></font></b></li>
|
||||
<li> <b><a
|
||||
href="#Debug">Problems with kernels >= 2.4.18 and RedHat
|
||||
iptables</a></b></li>
|
||||
<li><b><a href="#SuSE">Problems installing/upgrading
|
||||
<li> <b><a
|
||||
href="#Debug">Problems with kernels >= 2.4.18 and
|
||||
RedHat iptables</a></b></li>
|
||||
<li><b><a href="#SuSE">Problems installing/upgrading
|
||||
RPM on SuSE</a></b></li>
|
||||
<li><b><a href="#Multiport">Problems with
|
||||
iptables version 1.2.7 and MULTIPORT=Yes</a></b></li>
|
||||
<li><b><a href="#NAT">Problems with RH Kernel
|
||||
<li><b><a href="#Multiport">Problems
|
||||
with iptables version 1.2.7 and MULTIPORT=Yes</a></b></li>
|
||||
<li><b><a href="#NAT">Problems with RH Kernel
|
||||
2.4.18-10 and NAT</a></b></li>
|
||||
<li><b><a href="#REJECT">Problems with RH Kernels after 2.4.20-9 and REJECT
|
||||
(also applies to 2.4.21-RC1) <img src="images/new10.gif" alt="(New)"
|
||||
width="28" height="12" border="0">
|
||||
</a><br>
|
||||
</b></li>
|
||||
|
||||
<li><b><a href="#REJECT">Problems with RH Kernels after 2.4.20-9 and
|
||||
REJECT (also applies to 2.4.21-RC1) <img src="images/new10.gif"
|
||||
alt="(New)" width="28" height="12" border="0">
|
||||
</a><br>
|
||||
</b></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<hr>
|
||||
<h2 align="left"><a name="V1.4"></a>Problems in Version 1.4</h2>
|
||||
|
||||
|
||||
<h3></h3>
|
||||
|
||||
|
||||
<h3>1.4.4b</h3>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>Shorewall is ignoring records in /etc/shorewall/routestopped that
|
||||
have an empty second column (HOSTS). This problem may be corrected by installing
|
||||
<a
|
||||
<li>Shorewall is ignoring records in /etc/shorewall/routestopped that
|
||||
have an empty second column (HOSTS). This problem may be corrected by installing
|
||||
<a
|
||||
href="ftp://ftp1.shorewall.net/pub/shorewall/errata/1.4.4b/firewall"
|
||||
target="_top">this firewall script</a> in /usr/share/shorewall/firewall as
|
||||
described above.</li>
|
||||
<li>The INCLUDE directive doesn't work when placed in the /etc/shorewall/zones
|
||||
target="_top">this firewall script</a> in /usr/share/shorewall/firewall
|
||||
as described above.</li>
|
||||
<li>The INCLUDE directive doesn't work when placed in the /etc/shorewall/zones
|
||||
file. This problem may be corrected by installing <a
|
||||
href="ftp://ftp1.shorewall.net/pub/shorewall/errata/1.4.4b/functions"
|
||||
target="_top">this functions script</a> in /usr/share/shorewall/functions.<br>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>1.4.4-1.4.4a</h3>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>Log messages are being displayed on the system console even though
|
||||
the log level for the console is set properly according to <a
|
||||
href="FAQ.htm#faq16">FAQ 16</a>. This problem may be corrected by installing
|
||||
<a
|
||||
<li>Log messages are being displayed on the system console even though
|
||||
the log level for the console is set properly according to <a
|
||||
href="FAQ.htm#faq16">FAQ 16</a>. This problem may be corrected by installing
|
||||
<a
|
||||
href="ftp://ftp1.shorewall.net/pub/shorewall/errata/1.4.4a/firewall"
|
||||
target="_top">this firewall script</a> in /usr/share/shorewall/firewall as
|
||||
described above.<br>
|
||||
</li>
|
||||
|
||||
target="_top">this firewall script</a> in /usr/share/shorewall/firewall
|
||||
as described above.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>1.4.4<br>
|
||||
</h3>
|
||||
|
||||
</h3>
|
||||
|
||||
<ul>
|
||||
<li> If you have zone names that are 5 characters long, you may experience
|
||||
problems starting Shorewall because the --log-prefix in a logging rule
|
||||
is too long. Upgrade to Version 1.4.4a to fix this problem..</li>
|
||||
|
||||
<li> If you have zone names that are 5 characters long, you may experience
|
||||
problems starting Shorewall because the --log-prefix in a logging rule is
|
||||
too long. Upgrade to Version 1.4.4a to fix this problem..</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>1.4.3</h3>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>The LOGMARKER variable introduced in version 1.4.3 was intended
|
||||
to allow integration of Shorewall with Fireparse (http://www.firewparse.com).
|
||||
Unfortunately, LOGMARKER only solved part of the integration problem. I
|
||||
have implimented a new LOGFORMAT variable which will replace LOGMARKER which
|
||||
has completely solved this problem and is currently in production with fireparse
|
||||
here at shorewall.net. The updated files may be found at <a
|
||||
<li>The LOGMARKER variable introduced in version 1.4.3 was intended
|
||||
to allow integration of Shorewall with Fireparse (http://www.firewparse.com).
|
||||
Unfortunately, LOGMARKER only solved part of the integration problem.
|
||||
I have implimented a new LOGFORMAT variable which will replace LOGMARKER
|
||||
which has completely solved this problem and is currently in production
|
||||
with fireparse here at shorewall.net. The updated files may be found at
|
||||
<a
|
||||
href="ftp://ftp1.shorewall.net/pub/shorewall/errata/1.4.3/fireparse/"
|
||||
target="_top">ftp://ftp1.shorewall.net/pub/shorewall/errata/1.4.3/fireparse/</a>.
|
||||
See the 0README.txt file for details.<br>
|
||||
</li>
|
||||
|
||||
target="_top">ftp://ftp1.shorewall.net/pub/shorewall/errata/1.4.3/fireparse/</a>.
|
||||
See the 0README.txt file for details.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>1.4.2</h3>
|
||||
|
||||
<ul>
|
||||
<li>When an 'add' or 'delete' command is executed, a temporary directory
|
||||
created in /tmp is not being removed. This problem may be corrected by
|
||||
installing <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.4.2/firewall"
|
||||
target="_top">this firewall script</a> in /usr/share/shorewall/firewall as
|
||||
described above. <br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>1.4.1a, 1.4.1 and 1.4.0</h3>
|
||||
|
||||
<ul>
|
||||
<li>Some TCP requests are rejected in the 'common' chain with an
|
||||
ICMP port-unreachable response rather than the more appropriate TCP RST
|
||||
response. This problem is corrected in <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.4.1a/common.def"
|
||||
target="_top">this updated common.def file</a> which may be installed in
|
||||
/etc/shorewall/common.def.<br>
|
||||
<li>When an 'add' or 'delete' command is executed, a temporary
|
||||
directory created in /tmp is not being removed. This problem may be corrected
|
||||
by installing <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.4.2/firewall"
|
||||
target="_top">this firewall script</a> in /usr/share/shorewall/firewall
|
||||
as described above. <br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>1.4.1</h3>
|
||||
<h3>1.4.1a, 1.4.1 and 1.4.0</h3>
|
||||
|
||||
<ul>
|
||||
<li>When a "shorewall check" command is executed, each "rule"
|
||||
produces the harmless additional message:<br>
|
||||
<br>
|
||||
/usr/share/shorewall/firewall: line 2174: [: =: unary operator
|
||||
expected<br>
|
||||
<br>
|
||||
You may correct the problem by installing <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.4.1/firewall"
|
||||
target="_top">this corrected script</a> in /usr/share/shorewall/firewall
|
||||
as described above.<br>
|
||||
<li>Some TCP requests are rejected in the 'common' chain with
|
||||
an ICMP port-unreachable response rather than the more appropriate TCP
|
||||
RST response. This problem is corrected in <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.4.1a/common.def"
|
||||
target="_top">this updated common.def file</a> which may be installed in
|
||||
/etc/shorewall/common.def.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>1.4.0</h3>
|
||||
<h3>1.4.1</h3>
|
||||
|
||||
<ul>
|
||||
<li>When running under certain shells Shorewall will attempt
|
||||
to create ECN rules even when /etc/shorewall/ecn is empty. You may either
|
||||
just remove /etc/shorewall/ecn or you can install <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.4.0/firewall">this
|
||||
correct script</a> in /usr/share/shorewall/firewall as described above.<br>
|
||||
<li>When a "shorewall check" command is executed, each "rule"
|
||||
produces the harmless additional message:<br>
|
||||
<br>
|
||||
/usr/share/shorewall/firewall: line 2174: [: =: unary operator
|
||||
expected<br>
|
||||
<br>
|
||||
You may correct the problem by installing <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.4.1/firewall"
|
||||
target="_top">this corrected script</a> in /usr/share/shorewall/firewall
|
||||
as described above.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<hr width="100%" size="2">
|
||||
<h2 align="left"><a name="Upgrade"></a>Upgrade Issues</h2>
|
||||
|
||||
<p align="left">The upgrade issues have moved to <a
|
||||
href="upgrade_issues.htm">a separate page</a>.</p>
|
||||
|
||||
<hr>
|
||||
<h3 align="left"><a name="iptables"></a><font color="#660066"> Problem with
|
||||
iptables version 1.2.3</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">There are a couple of serious bugs in iptables 1.2.3 that
|
||||
prevent it from working with Shorewall. Regrettably,
|
||||
RedHat released this buggy iptables in RedHat 7.2. </p>
|
||||
|
||||
<p align="left"> I have built a <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3-3.i386.rpm">
|
||||
corrected 1.2.3 rpm which you can download here</a> and
|
||||
I have also built an <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/iptables-1.2.4-1.i386.rpm">
|
||||
iptables-1.2.4 rpm which you can download here</a>. If you are currently
|
||||
running RedHat 7.1, you can install either of these RPMs
|
||||
<b><u>before</u> </b>you upgrade to RedHat 7.2.</p>
|
||||
|
||||
<p align="left"><font color="#ff6633"><b>Update 11/9/2001: </b></font>RedHat
|
||||
has released an iptables-1.2.4 RPM of their own which you
|
||||
can download from<font color="#ff6633"> <a
|
||||
href="http://www.redhat.com/support/errata/RHSA-2001-144.html">http://www.redhat.com/support/errata/RHSA-2001-144.html</a>.
|
||||
</font>I have installed this RPM on my firewall and it
|
||||
works fine.</p>
|
||||
|
||||
<p align="left">If you would like to patch iptables 1.2.3 yourself,
|
||||
the patches are available for download. This <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/loglevel.patch">patch</a>
|
||||
which corrects a problem with parsing of the --log-level
|
||||
specification while this <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/tos.patch">patch</a>
|
||||
corrects a problem in handling the TOS target.</p>
|
||||
|
||||
<p align="left">To install one of the above patches:</p>
|
||||
|
||||
<ul>
|
||||
<li>cd iptables-1.2.3/extensions</li>
|
||||
<li>patch -p0 < <i>the-patch-file</i></li>
|
||||
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<h3><a name="Debug"></a>Problems with kernels >= 2.4.18 and
|
||||
RedHat iptables</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18/19
|
||||
may experience the following:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre># shorewall start<br>Processing /etc/shorewall/shorewall.conf ...<br>Processing /etc/shorewall/params ...<br>Starting Shorewall...<br>Loading Modules...<br>Initializing...<br>Determining Zones...<br>Zones: net<br>Validating interfaces file...<br>Validating hosts file...<br>Determining Hosts in Zones...<br>Net Zone: eth0:0.0.0.0/0<br>iptables: libiptc/libip4tc.c:380: do_check: Assertion<br>`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.<br>Aborted (core dumped)<br>iptables: libiptc/libip4tc.c:380: do_check: Assertion<br>`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.<br>Aborted (core dumped)<br></pre>
|
||||
</blockquote>
|
||||
|
||||
<p>The RedHat iptables RPM is compiled with debugging enabled but the
|
||||
user-space debugging code was not updated to reflect recent changes in
|
||||
the Netfilter 'mangle' table. You can correct the problem by
|
||||
installing <a
|
||||
href="http://www.shorewall.net/pub/shorewall/iptables-1.2.5-1.i386.rpm">
|
||||
this iptables RPM</a>. If you are already running a 1.2.5
|
||||
version of iptables, you will need to specify the --oldpackage
|
||||
option to rpm (e.g., "iptables -Uvh --oldpackage iptables-1.2.5-1.i386.rpm").</p>
|
||||
</blockquote>
|
||||
|
||||
<h3><a name="SuSE"></a>Problems installing/upgrading
|
||||
RPM on SuSE</h3>
|
||||
|
||||
<p>If you find that rpm complains about a conflict with kernel <=
|
||||
2.2 yet you have a 2.4 kernel installed, simply use the
|
||||
"--nodeps" option to rpm.</p>
|
||||
|
||||
<p>Installing: rpm -ivh --nodeps <i><shorewall rpm></i></p>
|
||||
|
||||
<p>Upgrading: rpm -Uvh --nodeps <i><shorewall rpm></i></p>
|
||||
|
||||
<h3><a name="Multiport"></a><b>Problems with iptables version 1.2.7 and
|
||||
MULTIPORT=Yes</b></h3>
|
||||
|
||||
<p>The iptables 1.2.7 release of iptables has made an incompatible
|
||||
change to the syntax used to specify multiport match rules;
|
||||
as a consequence, if you install iptables 1.2.7 you must
|
||||
be running Shorewall 1.3.7a or later or:</p>
|
||||
<h3>1.4.0</h3>
|
||||
|
||||
<ul>
|
||||
<li>set MULTIPORT=No
|
||||
in /etc/shorewall/shorewall.conf;
|
||||
or </li>
|
||||
<li>if you
|
||||
are running Shorewall 1.3.6 you may
|
||||
install <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.3.6/firewall">
|
||||
this firewall script</a> in /var/lib/shorewall/firewall
|
||||
as described above.</li>
|
||||
|
||||
<li>When running under certain shells Shorewall will attempt
|
||||
to create ECN rules even when /etc/shorewall/ecn is empty. You may either
|
||||
just remove /etc/shorewall/ecn or you can install <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.4.0/firewall">this
|
||||
correct script</a> in /usr/share/shorewall/firewall as described above.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<hr width="100%" size="2">
|
||||
<h2 align="left"><a name="Upgrade"></a>Upgrade Issues</h2>
|
||||
|
||||
<p align="left">The upgrade issues have moved to <a
|
||||
href="upgrade_issues.htm">a separate page</a>.</p>
|
||||
|
||||
<hr>
|
||||
<h3 align="left"><a name="iptables"></a><font color="#660066"> Problem with
|
||||
iptables version 1.2.3</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">There are a couple of serious bugs in iptables 1.2.3 that
|
||||
prevent it from working with Shorewall. Regrettably,
|
||||
RedHat released this buggy iptables in RedHat 7.2. </p>
|
||||
|
||||
<p align="left"> I have built a <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3-3.i386.rpm">
|
||||
corrected 1.2.3 rpm which you can download here</a> and
|
||||
I have also built an <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/iptables-1.2.4-1.i386.rpm">
|
||||
iptables-1.2.4 rpm which you can download here</a>. If you are currently
|
||||
running RedHat 7.1, you can install either of these RPMs
|
||||
<b><u>before</u> </b>you upgrade to RedHat 7.2.</p>
|
||||
|
||||
<p align="left"><font color="#ff6633"><b>Update 11/9/2001: </b></font>RedHat
|
||||
has released an iptables-1.2.4 RPM of their own which you
|
||||
can download from<font color="#ff6633"> <a
|
||||
href="http://www.redhat.com/support/errata/RHSA-2001-144.html">http://www.redhat.com/support/errata/RHSA-2001-144.html</a>.
|
||||
</font>I have installed this RPM on my firewall and it
|
||||
works fine.</p>
|
||||
|
||||
<p align="left">If you would like to patch iptables 1.2.3 yourself,
|
||||
the patches are available for download. This <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/loglevel.patch">patch</a>
|
||||
which corrects a problem with parsing of the --log-level
|
||||
specification while this <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/tos.patch">patch</a>
|
||||
corrects a problem in handling the TOS target.</p>
|
||||
|
||||
<p align="left">To install one of the above patches:</p>
|
||||
|
||||
<ul>
|
||||
<li>cd iptables-1.2.3/extensions</li>
|
||||
<li>patch -p0 < <i>the-patch-file</i></li>
|
||||
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<h3><a name="Debug"></a>Problems with kernels >= 2.4.18
|
||||
and RedHat iptables</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18/19
|
||||
may experience the following:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre># shorewall start<br>Processing /etc/shorewall/shorewall.conf ...<br>Processing /etc/shorewall/params ...<br>Starting Shorewall...<br>Loading Modules...<br>Initializing...<br>Determining Zones...<br>Zones: net<br>Validating interfaces file...<br>Validating hosts file...<br>Determining Hosts in Zones...<br>Net Zone: eth0:0.0.0.0/0<br>iptables: libiptc/libip4tc.c:380: do_check: Assertion<br>`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.<br>Aborted (core dumped)<br>iptables: libiptc/libip4tc.c:380: do_check: Assertion<br>`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.<br>Aborted (core dumped)<br></pre>
|
||||
</blockquote>
|
||||
|
||||
<p>The RedHat iptables RPM is compiled with debugging enabled but the
|
||||
user-space debugging code was not updated to reflect recent changes in
|
||||
the Netfilter 'mangle' table. You can correct the problem by
|
||||
installing <a
|
||||
href="http://www.shorewall.net/pub/shorewall/iptables-1.2.5-1.i386.rpm">
|
||||
this iptables RPM</a>. If you are already running a 1.2.5
|
||||
version of iptables, you will need to specify the --oldpackage
|
||||
option to rpm (e.g., "iptables -Uvh --oldpackage iptables-1.2.5-1.i386.rpm").</p>
|
||||
</blockquote>
|
||||
|
||||
<h3><a name="SuSE"></a>Problems installing/upgrading
|
||||
RPM on SuSE</h3>
|
||||
|
||||
<p>If you find that rpm complains about a conflict with kernel <=
|
||||
2.2 yet you have a 2.4 kernel installed, simply use the
|
||||
"--nodeps" option to rpm.</p>
|
||||
|
||||
<p>Installing: rpm -ivh --nodeps <i><shorewall rpm></i></p>
|
||||
|
||||
<p>Upgrading: rpm -Uvh --nodeps <i><shorewall rpm></i></p>
|
||||
|
||||
<h3><a name="Multiport"></a><b>Problems with iptables version 1.2.7 and
|
||||
MULTIPORT=Yes</b></h3>
|
||||
|
||||
<p>The iptables 1.2.7 release of iptables has made an incompatible
|
||||
change to the syntax used to specify multiport match rules;
|
||||
as a consequence, if you install iptables 1.2.7 you
|
||||
must be running Shorewall 1.3.7a or later or:</p>
|
||||
|
||||
<ul>
|
||||
<li>set
|
||||
MULTIPORT=No in /etc/shorewall/shorewall.conf;
|
||||
or </li>
|
||||
<li>if you
|
||||
are running Shorewall 1.3.6 you may
|
||||
install <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.3.6/firewall">
|
||||
this firewall script</a> in /var/lib/shorewall/firewall
|
||||
as described above.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3><a name="NAT"></a>Problems with RH Kernel 2.4.18-10 and NAT<br>
|
||||
</h3>
|
||||
/etc/shorewall/nat entries of the following form
|
||||
will result in Shorewall being unable to start:<br>
|
||||
<br>
|
||||
|
||||
</h3>
|
||||
/etc/shorewall/nat entries of the following form
|
||||
will result in Shorewall being unable to start:<br>
|
||||
<br>
|
||||
|
||||
<pre>#EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL<br>192.0.2.22 eth0 192.168.9.22 yes yes<br>#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE</pre>
|
||||
Error message is:<br>
|
||||
|
||||
Error message is:<br>
|
||||
|
||||
<pre>Setting up NAT...<br>iptables: Invalid argument<br>Terminated<br><br></pre>
|
||||
The solution is to put "no" in the LOCAL column.
|
||||
Kernel support for LOCAL=yes has never worked properly and 2.4.18-10
|
||||
has disabled it. The 2.4.19 kernel contains corrected support
|
||||
under a new kernel configuraiton option; see <a
|
||||
The solution is to put "no" in the LOCAL column.
|
||||
Kernel support for LOCAL=yes has never worked properly and 2.4.18-10
|
||||
has disabled it. The 2.4.19 kernel contains corrected support under
|
||||
a new kernel configuraiton option; see <a
|
||||
href="Documentation.htm#NAT">http://www.shorewall.net/Documentation.htm#NAT</a><br>
|
||||
<br>
|
||||
|
||||
<h3><a name="REJECT"></a><b> Problems with RH Kernels after 2.4.20-9 and REJECT
|
||||
(also applies to 2.4.21-RC1)</b></h3>
|
||||
Beginning with errata kernel 2.4.20-13.9, "REJECT --reject-with tcp-reset"
|
||||
is broken. The symptom most commonly seen is that REJECT rules act just like
|
||||
DROP rules when dealing with TCP. A kernel patch and precompiled modules to
|
||||
fix this problem are available at <a
|
||||
<br>
|
||||
|
||||
<h3><a name="REJECT"></a><b> Problems with RH Kernels after 2.4.20-9 and
|
||||
REJECT (also applies to 2.4.21-RC1)</b></h3>
|
||||
Beginning with errata kernel 2.4.20-13.9, "REJECT --reject-with tcp-reset"
|
||||
is broken. The symptom most commonly seen is that REJECT rules act just
|
||||
like DROP rules when dealing with TCP. A kernel patch and precompiled modules
|
||||
to fix this problem are available at <a
|
||||
href="ftp://ftp1.shorewall.net/pub/shorewall/errata/kernel"
|
||||
target="_top">ftp://ftp1.shorewall.net/pub/shorewall/errata/kernel</a>.<br>
|
||||
|
||||
<hr>
|
||||
<p><font size="2"> Last updated 6/13/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
</p>
|
||||
|
||||
|
||||
<hr>
|
||||
<p><font size="2"> Last updated 6/13/2003 - <a href="support.htm">Tom
|
||||
Eastep</a></font> </p>
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
</p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,215 +1,196 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Shorewall Errata for Version 1</title>
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Shorewall Errata for Version 1</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#FFFFFF">Shorewall Errata for Version 1.1</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Errata for Version
|
||||
1.1</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3 align="Left"><font color="#660066"><u>To those of you who downloaded the 1.1.13 updated firewall script prior
|
||||
to Sept 20, 2001:</u></font></h3>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p align="Left">Prior
|
||||
to 20:00 20 Sept 2001 GMT, the link under 1.1.13 pointed to a broken version
|
||||
of the firewall script. This has now been corrected. I apologize for any confusion
|
||||
this may have caused.</p>
|
||||
|
||||
<h3 align="left"><font color="#660066"><u>To those of you who downloaded
|
||||
the 1.1.13 updated firewall script prior to Sept 20, 2001:</u></font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">Prior to 20:00 20 Sept 2001 GMT, the link under 1.1.13
|
||||
pointed to a broken version of the firewall script. This has now been corrected.
|
||||
I apologize for any confusion this may have caused.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left">Version 1.1.18</h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">In the original .lrp, /etc/init.d/shorewall was not
|
||||
secured for execute access. I have replaced the incorrect .lrp
|
||||
(shorwall-1.1.18.lrp) with a corrected one (shorwall-1.1.18a.lrp).</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left">Version 1.1.18</h3>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p align="Left">In the original .lrp, /etc/init.d/shorewall was not
|
||||
secured for execute access. I have replaced the incorrect .lrp
|
||||
(shorwall-1.1.18.lrp) with a corrected one (shorwall-1.1.18a.lrp).</p>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
Version 1.1.17</font></h3>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p align="Left">In
|
||||
shorewall.conf, ADD_IP_ALIASES was incorrectly spelled
|
||||
IP_ADD_ALIASAES. There is a corrected version of the file <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.17/shorewall.conf">here.</a></p>
|
||||
|
||||
<p align="Left">This
|
||||
problem is also corrected in version 1.1.18.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
Version 1.1.16</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="Left">
|
||||
The ADD_IP_ALIASES variable added in 1.1.16 was incorrectly spelled IP_ADD_ALIASES
|
||||
in the firewall script. To correct this problem, install the <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.16/firewall">
|
||||
corrected firewall script</a>
|
||||
in the location pointed to by the symbolic link /etc/shorewall/firewall.</p>
|
||||
|
||||
<p align="Left">
|
||||
This problem is also corrected in version 1.1.17.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
Version 1.1.14-1.1.15</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="Left">
|
||||
There are no corrections for these versions.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
Version 1.1.13</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="Left">
|
||||
The firewall fails to start if a rule with the following format is given:</p>
|
||||
|
||||
<p align="Left">
|
||||
<disposition> z1:www.xxx.yyy.zzz z2 proto p1,p2,p3</p>
|
||||
|
||||
<p align="Left">
|
||||
To correct this problem, install <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.13/firewall">
|
||||
this corrected firewall script</a>
|
||||
in the location pointed to by the symbolic link /etc/shorewall/firewall. </p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
Version 1.1.12</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="Left">
|
||||
The LRP version of Shorewall 1.1.12 has the incorrect /etc/shorewall/functions
|
||||
file. This incorrect file results in many error messages of the form:</p>
|
||||
|
||||
<blockquote>
|
||||
<p align="Left">
|
||||
separate_list: not found</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="Left"><a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.12/functions">
|
||||
The correct file may be obtained here</a>
|
||||
. This problem is also corrected in version 1.1.13.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
Version 1.1.11</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="Left">
|
||||
There are no known problems with this version.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
Version 1.1.10</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="Left">
|
||||
If the following conditions were met:<br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
|
||||
<li>
|
||||
<p align="Left">
|
||||
A LAN segment attached to the firewall was served by a DHCP server
|
||||
running on the firewall.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p align="Left">
|
||||
There were entries in /etc/shorewall/hosts that referred to the
|
||||
interface to that LAN segment.</p>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p align="Left">
|
||||
then up until now it has been necessary to include entries for 0.0.0.0
|
||||
and 255.255.255.255 for that interface in /etc/shorewall/hosts. <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.10/firewall">
|
||||
This version of the firewall script</a>
|
||||
makes those additions unnecessary provided that you simply include
|
||||
"dhcp" in the options for the interface in /etc/shorewall/interfaces.
|
||||
Install the script into the location pointed to by the symbolic link
|
||||
/etc/shorewall/firewall.</p>
|
||||
|
||||
<p align="Left">
|
||||
This problem has also been corrected in version 1.1.11.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
Version 1.1.9</font></h3>
|
||||
|
||||
|
||||
<h3 align="left"><font color="#660066"> Version 1.1.17</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">In shorewall.conf, ADD_IP_ALIASES was incorrectly
|
||||
spelled IP_ADD_ALIASAES. There is a corrected version of the
|
||||
file <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.17/shorewall.conf">here.</a></p>
|
||||
|
||||
<p align="left">This problem is also corrected in version 1.1.18.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left"><font color="#660066"> Version 1.1.16</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"> The ADD_IP_ALIASES variable added in 1.1.16 was incorrectly
|
||||
spelled IP_ADD_ALIASES in the firewall script. To correct this problem,
|
||||
install the <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.16/firewall"> corrected
|
||||
firewall script</a> in the location pointed to by the symbolic link
|
||||
/etc/shorewall/firewall.</p>
|
||||
|
||||
<p align="left"> This problem is also corrected in version 1.1.17.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left"><font color="#660066"> Version 1.1.14-1.1.15</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"> There are no corrections for these versions.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left"><font color="#660066"> Version 1.1.13</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"> The firewall fails to start if a rule with the following
|
||||
format is given:</p>
|
||||
|
||||
<p align="left"> <disposition> z1:www.xxx.yyy.zzz z2
|
||||
proto p1,p2,p3</p>
|
||||
|
||||
<p align="left"> To correct this problem, install <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.13/firewall"> this
|
||||
corrected firewall script</a> in the location pointed to by the symbolic
|
||||
link /etc/shorewall/firewall. </p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left"><font color="#660066"> Version 1.1.12</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"> The LRP version of Shorewall 1.1.12 has the incorrect
|
||||
/etc/shorewall/functions file. This incorrect file results in many error
|
||||
messages of the form:</p>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"> separate_list: not found</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left"><a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.12/functions"> The
|
||||
correct file may be obtained here</a> . This problem is also corrected
|
||||
in version 1.1.13.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left"><font color="#660066"> Version 1.1.11</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"> There are no known problems with this version.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left"><font color="#660066"> Version 1.1.10</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"> If the following conditions were met:<br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<p align="left"> A LAN segment attached to the firewall was served
|
||||
by a DHCP server running on the firewall.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left"> There were entries in /etc/shorewall/hosts that referred
|
||||
to the interface to that LAN segment.</p>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p align="left"> then up until now it has been necessary to include entries
|
||||
for 0.0.0.0 and 255.255.255.255 for that interface in /etc/shorewall/hosts.
|
||||
<a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.10/firewall">
|
||||
This version of the firewall script</a> makes those additions unnecessary
|
||||
provided that you simply include "dhcp" in the options for the interface
|
||||
in /etc/shorewall/interfaces. Install the script into the location pointed
|
||||
to by the symbolic link /etc/shorewall/firewall.</p>
|
||||
|
||||
<p align="left"> This problem has also been corrected in version 1.1.11.</p>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left"><font color="#660066"> Version 1.1.9</font></h3>
|
||||
|
||||
<ul>
|
||||
<li>The shorewall "hits" command lists extraneous service names in the final
|
||||
report. <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.9/shorewall">
|
||||
This version of the shorewall script</a>
|
||||
corrects this problem.<br>
|
||||
|
||||
|
||||
</li>
|
||||
<li>The shorewall "hits" command lists extraneous service names in
|
||||
the final report. <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.9/shorewall"> This
|
||||
version of the shorewall script</a> corrects this problem.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3 align="Left">Version 1.1.8</h3>
|
||||
|
||||
|
||||
<h3 align="left">Version 1.1.8</h3>
|
||||
|
||||
<ul>
|
||||
<li>Under some circumstances, the "dhcp" option on an interface triggers
|
||||
a bug in the firewall script that results in a "chain already exists"
|
||||
error. <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.8/firewall">
|
||||
This version of the firewall script</a>
|
||||
corrects this problem. Install it into the location pointed to by
|
||||
the symbolic link /etc/shorewall/firewall.<br>
|
||||
<br>
|
||||
This problem is also corrected in version 1.1.9.<br>
|
||||
|
||||
|
||||
</li>
|
||||
<li>Under some circumstances, the "dhcp" option on an interface triggers
|
||||
a bug in the firewall script that results in a "chain already exists"
|
||||
error. <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.1.8/firewall"> This
|
||||
version of the firewall script</a> corrects this problem. Install
|
||||
it into the location pointed to by the symbolic link /etc/shorewall/firewall.<br>
|
||||
<br>
|
||||
This problem is also corrected in version 1.1.9.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3 align="Left">Version 1.1.7</h3>
|
||||
|
||||
|
||||
<h3 align="left">Version 1.1.7</h3>
|
||||
|
||||
<ul>
|
||||
<li>If the /etc/shorewall/rules template from version 1.1.7 is used, a warning
|
||||
message appears during firewall startup:<br>
|
||||
<br>
|
||||
Warning: Invalid Target - rule "@ icmp-unreachable packet."
|
||||
<li>If the /etc/shorewall/rules template from version 1.1.7 is used,
|
||||
a warning message appears during firewall startup:<br>
|
||||
<br>
|
||||
Warning: Invalid Target - rule "@ icmp-unreachable packet."
|
||||
ignored<br>
|
||||
<br>
|
||||
This warning may be eliminated by replacing the "@" in column 1 of
|
||||
<br>
|
||||
This warning may be eliminated by replacing the "@" in column 1 of
|
||||
line 17 with "#"</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<blockquote>
|
||||
<p align="Left">
|
||||
This problem is also corrected in version 1.1.8</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left"><font size="2">
|
||||
Last updated 12/21/2001 - </font><font size="2">
|
||||
<a href="support.htm">Tom Eastep</a></font>
|
||||
</p>
|
||||
|
||||
<p align="left"><a href="copyright.htm">
|
||||
<font size="2">Copyright</font> © <font size="2">2001, 2002 Thomas M. Eastep.</font></a></p>
|
||||
|
||||
|
||||
<blockquote>
|
||||
<p align="left"> This problem is also corrected in version 1.1.8</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="left"><font size="2"> Last updated 12/21/2001 - </font><font
|
||||
size="2"> <a href="support.htm">Tom Eastep</a></font> </p>
|
||||
|
||||
<p align="left"><a href="copyright.htm"> <font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002 Thomas M. Eastep.</font></a></p>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
@ -1,439 +1,425 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall 1.2 Errata</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="90" bgcolor="#400169">
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#FFFFFF">Shorewall 1.2 Errata</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p align="center">
|
||||
<font face="Century Gothic, Arial, Helvetica">
|
||||
|
||||
<b><u>IMPORTANT</u></b></font></p>
|
||||
|
||||
<p align="center">
|
||||
|
||||
<b><u>If you use a Windows system to download a corrected script, be sure to
|
||||
run the script through <a href="http://www.megaloman.com/%7Ehany/software/hd2u/">
|
||||
dos2unix</a>
|
||||
after you have moved it to your Linux system.</u></b></p>
|
||||
|
||||
<p align="center">
|
||||
|
||||
<u><b>When the instructions say to install a corrected firewall script in
|
||||
/etc/shorewall/firewall, use the 'cp' (or 'scp') utility to overwrite the
|
||||
existing file. DO NOT REMOVE OR RENAME THE OLD /etc/shorewall/firewall
|
||||
before you do that. /etc/shorewall/firewall is a symbolic link that points
|
||||
to the 'shorewall' file used by your system initialization scripts to
|
||||
start Shorewall during boot and it is that file that must be overwritten
|
||||
with the corrected script. </b></u></p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<h3 align="Left"><font color="#660066">
|
||||
<a href="errata_1.htm">
|
||||
Problems in Version 1.1</a></font></h3>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<h3 align="Left"><a href="#V1.2">Problems in Version 1.2</a></h3>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<h3 align="Left"><font color="#660066"><a href="#iptables">
|
||||
Problem with iptables version 1.2.3</a></font></h3>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<h3 align="Left"><a href="#Debug">Problems with kernel 2.4.18 and
|
||||
RedHat iptables</a></h3>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
<h3 align="Left"><a name="V1.2"></a>Problems in Version 1.2</h3>
|
||||
|
||||
<h3 align="Left">Version 1.2.13</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p align="Left">Some users have reported problems installing the RPM
|
||||
on SuSE 7.3 where rpm reports a conflict with kernel <= 2.2 even
|
||||
though a 2.4 kernel RPM is installed. To get around this problem, use
|
||||
the --nodeps option to rpm (e.g., "rpm -ivh --nodeps
|
||||
shorewall-1.2-13.noarch.rpm").<br>
|
||||
<br>
|
||||
The problem stems from the fact that SuSE does not
|
||||
include a package named "kernel" but rather has a number of packages
|
||||
that provide the virtual package "kernel". Since virtual packages have
|
||||
no version associated with them, a conflict results. Since the
|
||||
workaround is simple, I don't intend to change the Shorewall package.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="Left">Shorewall accepts invalid rules of the form:<br>
|
||||
<br>
|
||||
<font face="Courier">ACCEPT <src> <dest>:<ip addr> all <port number> -
|
||||
<original ip address><br>
|
||||
<br>
|
||||
</font>The <port number> is ignored with the result that <u>all</u>
|
||||
connection requests from the <src> zone whose original destination IP
|
||||
address matches the last column are forwarded to the <dest> zone, IP
|
||||
address <ip addr>.
|
||||
<a href="http://www.shorewall.net/pub/shorewall/errata/1.2.13/firewall">
|
||||
This corrected firewall script</a> correctly generates an error when
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" height="90" bgcolor="#3366ff">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall 1.2 Errata</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p align="center"> <font face="Century Gothic, Arial, Helvetica">
|
||||
<b><u>IMPORTANT</u></b></font></p>
|
||||
|
||||
<p align="center"> <b><u>If you use a Windows system to download a
|
||||
corrected script, be sure to run the script through <a
|
||||
href="http://www.megaloman.com/%7Ehany/software/hd2u/"> dos2unix</a>
|
||||
after you have moved it to your Linux system.</u></b></p>
|
||||
|
||||
<p align="center"> <u><b>When the instructions say to install a corrected
|
||||
firewall script in /etc/shorewall/firewall, use the 'cp' (or 'scp')
|
||||
utility to overwrite the existing file. DO NOT REMOVE OR RENAME THE
|
||||
OLD /etc/shorewall/firewall before you do that. /etc/shorewall/firewall
|
||||
is a symbolic link that points to the 'shorewall' file used by your
|
||||
system initialization scripts to start Shorewall during boot and it
|
||||
is that file that must be overwritten with the corrected script. </b></u></p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<h3 align="left"><font color="#660066"> <a href="errata_1.htm"> Problems
|
||||
in Version 1.1</a></font></h3>
|
||||
</li>
|
||||
<li>
|
||||
<h3 align="left"><a href="#V1.2">Problems in Version 1.2</a></h3>
|
||||
</li>
|
||||
<li>
|
||||
<h3 align="left"><font color="#660066"><a href="#iptables"> Problem
|
||||
with iptables version 1.2.3</a></font></h3>
|
||||
</li>
|
||||
<li>
|
||||
<h3 align="left"><a href="#Debug">Problems with kernel 2.4.18 and
|
||||
RedHat iptables</a></h3>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
<h3 align="left"><a name="V1.2"></a>Problems in Version 1.2</h3>
|
||||
|
||||
<h3 align="left">Version 1.2.13</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">Some users have reported problems installing the RPM
|
||||
on SuSE 7.3 where rpm reports a conflict with kernel <= 2.2 even
|
||||
though a 2.4 kernel RPM is installed. To get around this problem,
|
||||
use the --nodeps option to rpm (e.g., "rpm -ivh --nodeps
|
||||
shorewall-1.2-13.noarch.rpm").<br>
|
||||
<br>
|
||||
The problem stems from the fact that SuSE does not include
|
||||
a package named "kernel" but rather has a number of packages that
|
||||
provide the virtual package "kernel". Since virtual packages have
|
||||
no version associated with them, a conflict results. Since the
|
||||
workaround is simple, I don't intend to change the Shorewall package.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">Shorewall accepts invalid rules of the form:<br>
|
||||
<br>
|
||||
<font face="Courier">ACCEPT <src> <dest>:<ip addr>
|
||||
all <port number> - <original ip address><br>
|
||||
<br>
|
||||
</font>The <port number> is ignored with the result that
|
||||
<u>all</u> connection requests from the <src> zone whose
|
||||
original destination IP address matches the last column are forwarded
|
||||
to the <dest> zone, IP address <ip addr>.
|
||||
<a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.2.13/firewall">
|
||||
This corrected firewall script</a> correctly generates an error when
|
||||
such a rule is encountered.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="Left">Version 1.2.11</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p align="Left">The 'try' command is broken.</li>
|
||||
<li>
|
||||
|
||||
<p align="Left">The usage text printed by the shorewall utility
|
||||
doesn't show the optional timeout for the 'try' command.</li>
|
||||
</ul>
|
||||
|
||||
<p align="Left">Both problems are corrected by
|
||||
<a href="http://www.shorewall.net/pub/shorewall/errata/1.2.11/shorewall">
|
||||
this new version of /sbin/shorewall</a>.</p>
|
||||
|
||||
<h3 align="Left">Sample Configurations:</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p align="Left">There have been several problems with SSH, DNS and
|
||||
ping in the two- and three-interface examples. Before reporting
|
||||
problems with these services, please verify that you have the latest
|
||||
version of the appropriate sample 'rules' file.</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="Left">All Versions through 1.2.10</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p align="Left">The <a href="PPTP.htm#ServerFW">documentation for
|
||||
running PoPToP on the firewall system</a> contained an incorrect entry
|
||||
in the /etc/shorewall/hosts file. The corrected entry (underlined) is
|
||||
shown here:</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<table border="2">
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>HOST(S)</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td><u>eth2</u>:192.168.1.0/24</td>
|
||||
<td>routestopped</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>ppp+:192.168.1.0/24</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="Left">All Versions through 1.2.8</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p align="Left">The shorewall.conf file and the documentation
|
||||
incorrectly refer to a parameter in /etc/shorewall/shorewall.conf
|
||||
called LOCKFILE; the correct name for the parameter is SUBSYSLOCK (<a href="Documentation.htm#Conf">see
|
||||
the corrected online documentation</a>). Users of the rpm should
|
||||
change the name (and possibly the value) of this parameter so that
|
||||
Shorewall interacts properly with the SysV init scripts. The
|
||||
documentation on this web site has been corrected and
|
||||
<a href="http://www.shorewall.net/pub/shorewall/errata/1.2.8/shorewall.conf">
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 align="left">Version 1.2.11</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">The 'try' command is broken. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">The usage text printed by the shorewall utility
|
||||
doesn't show the optional timeout for the 'try' command. </p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p align="left">Both problems are corrected by <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.2.11/shorewall">
|
||||
this new version of /sbin/shorewall</a>.</p>
|
||||
|
||||
<h3 align="left">Sample Configurations:</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">There have been several problems with SSH, DNS and
|
||||
ping in the two- and three-interface examples. Before reporting
|
||||
problems with these services, please verify that you have the latest
|
||||
version of the appropriate sample 'rules' file. </p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="left">All Versions through 1.2.10</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">The <a href="PPTP.htm#ServerFW">documentation for
|
||||
running PoPToP on the firewall system</a> contained an incorrect entry
|
||||
in the /etc/shorewall/hosts file. The corrected entry (underlined)
|
||||
is shown here: </p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<blockquote>
|
||||
<blockquote>
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ZONE</b></td>
|
||||
<td><b>HOST(S)</b></td>
|
||||
<td><b>OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td><u>eth2</u>:192.168.1.0/24</td>
|
||||
<td>routestopped</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>ppp+:192.168.1.0/24</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left">All Versions through 1.2.8</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">The shorewall.conf file and the documentation
|
||||
incorrectly refer to a parameter in /etc/shorewall/shorewall.conf
|
||||
called LOCKFILE; the correct name for the parameter is SUBSYSLOCK (<a
|
||||
href="Documentation.htm#Conf">see the corrected online documentation</a>).
|
||||
Users of the rpm should change the name (and possibly the value)
|
||||
of this parameter so that Shorewall interacts properly with the
|
||||
SysV init scripts. The documentation on this web site has been
|
||||
corrected and <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.2.8/shorewall.conf">
|
||||
here's a corrected version of shorewall.conf</a>.</p>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="Left">The documentation indicates that a comma-separated
|
||||
list of IP/subnet addresses may appear in an entry in the hosts file.
|
||||
This is not the case; if you want to specify multiple addresses for a
|
||||
zone, you need to have a separate entry for each address.</p>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="Left">Version 1.2.7</h3>
|
||||
|
||||
<p align="Left">Version 1.2.7 is quite broken -- please install 1.2.8</p>
|
||||
|
||||
<p>If you have installed and started version 1.2.7 then before trying
|
||||
to restart under 1.2.8:</p>
|
||||
<ol>
|
||||
<li>Look at your /etc/shorewall/shorewall.conf file and note the directory
|
||||
named in the STATEDIR variable. If that variable is empty, assume
|
||||
/var/state/shorewall.</li>
|
||||
<li>Remove the file 'lock' in the directory determined in step 1.</li>
|
||||
</ol>
|
||||
<p>You may now restart using 1.2.8.</p>
|
||||
|
||||
<h3 align="Left">Version 1.2.6</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p align="Left">GRE and IPIP tunnels are broken.</li>
|
||||
<li>
|
||||
|
||||
<p align="Left">The following rule results in a start error:<br>
|
||||
<br>
|
||||
ACCEPT z1 z2
|
||||
icmp</li>
|
||||
</ul>
|
||||
|
||||
<p align="Left">To correct the above problems, install
|
||||
<a href="http://www.shorewall.net/pub/shorewall/errata/1.2.6/firewall">this
|
||||
corrected firewall script</a> in /etc/shorewall/firewall..<h3 align="Left">Version 1.2.5</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<p align="Left">The new ADDRESS column in /etc/shorewall/masq cannot
|
||||
contain a $-variable name.</li>
|
||||
<li>
|
||||
|
||||
<p align="Left">Errors result if $FW appears in the
|
||||
/etc/shorewall/policy file.</li>
|
||||
<li>
|
||||
|
||||
<p align="Left">Using Blacklisting without setting BLACKLIST_LOGLEVEL
|
||||
results in an error at start time.</li>
|
||||
</ul>
|
||||
|
||||
<p align="Left">To correct the above problems, install
|
||||
<a href="http://www.shorewall.net/pub/shorewall/errata/1.2.5/firewall">this
|
||||
corrected firewall script</a> in /etc/shorewall/firewall.<p align="Left"> <ul>
|
||||
<li>
|
||||
|
||||
<p align="Left">The /sbin/shorewall script produces error messages
|
||||
saying that 'mygrep' cannot be found.
|
||||
<a href="http://www.shorewall.net/pub/shorewall/errata/1.2.5/shorewall">
|
||||
Here is the correct version of /sbin/shorewall.</a></li>
|
||||
</ul>
|
||||
|
||||
<h3 align="Left">Version 1.2.4</h3>
|
||||
|
||||
<ul>
|
||||
<li><p align="Left">This version will not install "out of the box" without
|
||||
modification. Before attempting to start the
|
||||
firewall, please change the STATEDIR in /etc/shorewall/shorewall.conf to
|
||||
refer to /var/lib/shorewall. This only applies to fresh installations -- if
|
||||
you are upgrading from a previous version of Shorewall, version 1.2.4 will
|
||||
work without modification.</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="Left">Version 1.2.3</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="Left">When BLACKLIST_LOGLEVEL is set, packets from blacklisted
|
||||
hosts aren't logged. Install <a href="http://www.shorewall.net/pub/shorewall/errata/1.2.3/firewall">this
|
||||
corrected firewall script</a> in /etc/shorewall/firewall.</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
|
||||
<p>Alternatively, edit /etc/shorewall/firewall and change line 1564 from:</p>
|
||||
|
||||
</blockquote>
|
||||
<pre> run_iptables -A blacklst -d $addr -j LOG $LOGPARAMS --log-prefix \</pre>
|
||||
<blockquote>
|
||||
|
||||
<p>to</p>
|
||||
|
||||
</blockquote>
|
||||
<pre> run_iptables -A blacklst -s $addr -j LOG $LOGPARAMS --log-prefix \</pre>
|
||||
|
||||
<h3 align="Left">Version 1.2.2</h3>
|
||||
|
||||
<ul>
|
||||
<li>The "shorewall status" command hangs after
|
||||
it displays the chain information. <a href="pub/shorewall/errata/1.2.2/shorewall">Here's
|
||||
a corrected /sbin/shorewall.</a> if you want to simply modify your copy of
|
||||
/sbin/shorewall, then at line 445 change this:</li>
|
||||
</ul>
|
||||
|
||||
<div align="left">
|
||||
|
||||
<pre align="Left"> status)
|
||||
clear</pre>
|
||||
|
||||
</div>
|
||||
<blockquote>
|
||||
|
||||
<p align="Left">to this:</p>
|
||||
|
||||
</blockquote>
|
||||
<div align="left">
|
||||
|
||||
<pre align="Left"> status)
|
||||
get_config
|
||||
clear</pre>
|
||||
|
||||
</div>
|
||||
<ul>
|
||||
<li>The "shorewall monitor" command
|
||||
doesn't show the icmpdef chain - <a href="pub/shorewall/errata/1.2.2/shorewall">this
|
||||
corrected /sbin/shorewall</a> fixes that problem as well as the status
|
||||
problem described above.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>In all 1.2.x versions, the 'CLIENT PORT(S)'
|
||||
column in /etc/shorewall/tcrules is ignored. This is corrected in <a href="/pub/shorewall/errata/1.2.2/firewall">this
|
||||
updated firewall script</a>. Place the script in /etc/shorewall/firewall. Thanks to Shingo Takeda for
|
||||
spotting this bug.</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="Left">Version 1.2.1</h3>
|
||||
|
||||
<ul>
|
||||
<li>The new <i>logunclean </i>interface option is not
|
||||
described in the help text in /etc/shorewall/interfaces. An <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.2.1/interfaces">updated
|
||||
interfaces file</a> is available.</li>
|
||||
<li>When REJECT is specified in a TCP rule, Shorewall
|
||||
correctly replies with a TCP RST packet. Previous versions of the
|
||||
firewall script are broken in the case of a REJECT policy, however; in
|
||||
REJECT policy chains, all requests are currently replied to with an
|
||||
ICMP port-unreachable packet. <a href="http://www.shorewall.net/pub/shorewall/errata/1.2.1/firewall">This
|
||||
corrected firewall script</a> replies to TCP requests with TCP RST in
|
||||
REJECT policy chains. Place the script in /etc/shorewall/firewall.</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="Left">Version 1.2.0</h3>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p align="Left"><b>Note: </b>If you are upgrading from one of the Beta
|
||||
RPMs to 1.2.0, you must use the "--oldpackage" option to rpm
|
||||
(e.g., rpm -Uvh --oldpackage shorewall-1.2-0.noarch.rpm).</p>
|
||||
|
||||
<p align="Left">The tunnel script released in version 1.2.0 contained
|
||||
errors -- a <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.2.0/tunnel">corrected
|
||||
script</a> is available.</p>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3 align="Left"><a name="iptables"></a><font color="#660066">
|
||||
Problem with iptables version 1.2.3</font></h3>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p align="Left">There are a couple of serious bugs in iptables 1.2.3 that
|
||||
prevent it from working with Shorewall. Regrettably,
|
||||
RedHat released this buggy iptables in RedHat 7.2. </p>
|
||||
|
||||
<p align="Left"> I have built a <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3-3.i386.rpm">
|
||||
corrected 1.2.3 rpm which you can download here</a> and I have also built
|
||||
an <a href="ftp://ftp.shorewall.net/pub/shorewall/iptables-1.2.4-1.i386.rpm">
|
||||
iptables-1.2.4 rpm which you can download here</a>. If
|
||||
you are currently running RedHat 7.1, you can install either of these RPMs
|
||||
<b><u>before</u> </b>you upgrade to RedHat 7.2.</p>
|
||||
|
||||
<p align="Left"><font face="Century Gothic, Arial, Helvetica" color="#FF6633"><b>Update
|
||||
11/9/2001: </b></font>RedHat has
|
||||
released an iptables-1.2.4 RPM of their own which you can download from<font face="Century Gothic, Arial, Helvetica" color="#FF6633">
|
||||
<a href="http://www.redhat.com/support/errata/RHSA-2001-144.html">http://www.redhat.com/support/errata/RHSA-2001-144.html</a>.
|
||||
</font>I have installed this RPM
|
||||
on my firewall and it works fine.</p>
|
||||
|
||||
<p align="Left">If you
|
||||
would like to patch iptables 1.2.3 yourself, the patches are available
|
||||
for download. This <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/loglevel.patch">patch</a>
|
||||
which corrects a problem with parsing of the --log-level specification while
|
||||
this <a href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/tos.patch">patch</a>
|
||||
corrects a problem in handling the TOS target.</p>
|
||||
|
||||
<p align="Left">To install one of the above patches:</p>
|
||||
<ul>
|
||||
<li>cd iptables-1.2.3/extensions</li>
|
||||
<li>patch -p0 < <i>the-patch-file</i></li>
|
||||
</ul>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<h3><a name="Debug"></a>Problems with kernel 2.4.18
|
||||
and RedHat iptables</h3>
|
||||
<blockquote>
|
||||
<p>Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18 may
|
||||
experience the following:</p>
|
||||
<blockquote>
|
||||
<pre># shorewall start
|
||||
Processing /etc/shorewall/shorewall.conf ...
|
||||
Processing /etc/shorewall/params ...
|
||||
Starting Shorewall...
|
||||
Loading Modules...
|
||||
Initializing...
|
||||
Determining Zones...
|
||||
Zones: net
|
||||
Validating interfaces file...
|
||||
Validating hosts file...
|
||||
Determining Hosts in Zones...
|
||||
Net Zone: eth0:0.0.0.0/0
|
||||
iptables: libiptc/libip4tc.c:380: do_check: Assertion
|
||||
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
|
||||
Aborted (core dumped)
|
||||
iptables: libiptc/libip4tc.c:380: do_check: Assertion
|
||||
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
|
||||
Aborted (core dumped)
|
||||
</pre>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">The documentation indicates that a comma-separated
|
||||
list of IP/subnet addresses may appear in an entry in the hosts file.
|
||||
This is not the case; if you want to specify multiple addresses
|
||||
for a zone, you need to have a separate entry for each address.</p>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 align="left">Version 1.2.7</h3>
|
||||
|
||||
<p align="left">Version 1.2.7 is quite broken -- please install 1.2.8</p>
|
||||
|
||||
<p>If you have installed and started version 1.2.7 then before trying
|
||||
to restart under 1.2.8:</p>
|
||||
|
||||
<ol>
|
||||
<li>Look at your /etc/shorewall/shorewall.conf file and note the directory
|
||||
named in the STATEDIR variable. If that variable is empty, assume /var/state/shorewall.</li>
|
||||
<li>Remove the file 'lock' in the directory determined in step 1.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p>You may now restart using 1.2.8.</p>
|
||||
|
||||
<h3 align="left">Version 1.2.6</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">GRE and IPIP tunnels are broken. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">The following rule results in a start error:<br>
|
||||
<br>
|
||||
ACCEPT z1 z2 icmp </p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p align="left">To correct the above problems, install <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.2.6/firewall">this
|
||||
corrected firewall script</a> in /etc/shorewall/firewall..</p>
|
||||
<h3 align="left">Version 1.2.5</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">The new ADDRESS column in /etc/shorewall/masq cannot
|
||||
contain a $-variable name. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">Errors result if $FW appears in the /etc/shorewall/policy
|
||||
file. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">Using Blacklisting without setting BLACKLIST_LOGLEVEL
|
||||
results in an error at start time. </p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p align="left">To correct the above problems, install <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.2.5/firewall">this
|
||||
corrected firewall script</a> in /etc/shorewall/firewall.</p>
|
||||
<p align="left"> </p>
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">The /sbin/shorewall script produces error messages
|
||||
saying that 'mygrep' cannot be found. <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.2.5/shorewall">
|
||||
Here is the correct version of /sbin/shorewall.</a> </p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="left">Version 1.2.4</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">This version will not install "out of the box" without
|
||||
modification. Before attempting to start the firewall, please change
|
||||
the STATEDIR in /etc/shorewall/shorewall.conf to refer to /var/lib/shorewall.
|
||||
This only applies to fresh installations -- if you are upgrading from
|
||||
a previous version of Shorewall, version 1.2.4 will work without modification.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 align="left">Version 1.2.3</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">When BLACKLIST_LOGLEVEL is set, packets from blacklisted
|
||||
hosts aren't logged. Install <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.2.3/firewall">this
|
||||
corrected firewall script</a> in /etc/shorewall/firewall. </p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<blockquote>
|
||||
<p>Alternatively, edit /etc/shorewall/firewall and change line 1564 from:</p>
|
||||
</blockquote>
|
||||
<p>The RedHat iptables RPM is compiled with debugging enabled but the
|
||||
user-space debugging code was not updated to reflect recent changes in the
|
||||
Netfilter 'mangle' table. You can correct the problem by installing
|
||||
<a href="http://www.shorewall.net/pub/shorewall/iptables-1.2.5-1.i386.rpm">
|
||||
this iptables RPM</a>. If you are already running a 1.2.5 version of
|
||||
iptables, you will need to specify the --oldpackage option to rpm (e.g.,
|
||||
"iptables -Uvh --oldpackage iptables-1.2.5-1.i386.rpm").</p>
|
||||
</blockquote>
|
||||
|
||||
<p><font face="Century Gothic, Arial, Helvetica"><font size="2">
|
||||
Last updated 5/24/2002 - </font><font size="2">
|
||||
<a href="support.htm">Tom Eastep</a></font>
|
||||
</font></p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
|
||||
<pre> run_iptables -A blacklst -d $addr -j LOG $LOGPARAMS --log-prefix \</pre>
|
||||
|
||||
<blockquote>
|
||||
<p>to</p>
|
||||
</blockquote>
|
||||
|
||||
<pre> run_iptables -A blacklst -s $addr -j LOG $LOGPARAMS --log-prefix \</pre>
|
||||
|
||||
<h3 align="left">Version 1.2.2</h3>
|
||||
|
||||
<ul>
|
||||
<li>The "shorewall status" command hangs after it displays
|
||||
the chain information. <a href="pub/shorewall/errata/1.2.2/shorewall">Here's
|
||||
a corrected /sbin/shorewall.</a> if you want to simply modify
|
||||
your copy of /sbin/shorewall, then at line 445 change this:</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<div align="left">
|
||||
<pre align="Left"> status)<br> clear</pre>
|
||||
</div>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">to this:</p>
|
||||
</blockquote>
|
||||
|
||||
<div align="left">
|
||||
<pre align="Left"> status)<br> get_config<br> clear</pre>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li>The "shorewall monitor" command doesn't show the icmpdef chain
|
||||
- <a href="pub/shorewall/errata/1.2.2/shorewall">this corrected /sbin/shorewall</a>
|
||||
fixes that problem as well as the status problem described above.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li>In all 1.2.x versions, the 'CLIENT PORT(S)' column in /etc/shorewall/tcrules
|
||||
is ignored. This is corrected in <a
|
||||
href="/pub/shorewall/errata/1.2.2/firewall">this updated firewall script</a>.
|
||||
Place the script in /etc/shorewall/firewall. Thanks to Shingo Takeda for
|
||||
spotting this bug.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 align="left">Version 1.2.1</h3>
|
||||
|
||||
<ul>
|
||||
<li>The new <i>logunclean </i>interface option is not described
|
||||
in the help text in /etc/shorewall/interfaces. An <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.2.1/interfaces">updated
|
||||
interfaces file</a> is available.</li>
|
||||
<li>When REJECT is specified in a TCP rule, Shorewall correctly
|
||||
replies with a TCP RST packet. Previous versions of the firewall
|
||||
script are broken in the case of a REJECT policy, however; in REJECT
|
||||
policy chains, all requests are currently replied to with an ICMP
|
||||
port-unreachable packet. <a
|
||||
href="http://www.shorewall.net/pub/shorewall/errata/1.2.1/firewall">This
|
||||
corrected firewall script</a> replies to TCP requests with TCP
|
||||
RST in REJECT policy chains. Place the script in /etc/shorewall/firewall.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3 align="left">Version 1.2.0</h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left"><b>Note: </b>If you are upgrading from one of the Beta
|
||||
RPMs to 1.2.0, you must use the "--oldpackage" option to rpm
|
||||
(e.g., rpm -Uvh --oldpackage shorewall-1.2-0.noarch.rpm).</p>
|
||||
|
||||
<p align="left">The tunnel script released in version 1.2.0 contained
|
||||
errors -- a <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.2.0/tunnel">corrected
|
||||
script</a> is available.</p>
|
||||
</blockquote>
|
||||
|
||||
<hr>
|
||||
<h3 align="left"><a name="iptables"></a><font color="#660066"> Problem with
|
||||
iptables version 1.2.3</font></h3>
|
||||
|
||||
<blockquote>
|
||||
<p align="left">There are a couple of serious bugs in iptables 1.2.3 that
|
||||
prevent it from working with Shorewall. Regrettably, RedHat released
|
||||
this buggy iptables in RedHat 7.2. </p>
|
||||
|
||||
<p align="left"> I have built a <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3-3.i386.rpm">
|
||||
corrected 1.2.3 rpm which you can download here</a> and I have also built
|
||||
an <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/iptables-1.2.4-1.i386.rpm">
|
||||
iptables-1.2.4 rpm which you can download here</a>. If you are currently
|
||||
running RedHat 7.1, you can install either of these RPMs <b><u>before</u>
|
||||
</b>you upgrade to RedHat 7.2.</p>
|
||||
|
||||
<p align="left"><font face="Century Gothic, Arial, Helvetica"
|
||||
color="#ff6633"><b>Update 11/9/2001: </b></font>RedHat has released
|
||||
an iptables-1.2.4 RPM of their own which you can download from<font
|
||||
face="Century Gothic, Arial, Helvetica" color="#ff6633"> <a
|
||||
href="http://www.redhat.com/support/errata/RHSA-2001-144.html">http://www.redhat.com/support/errata/RHSA-2001-144.html</a>.
|
||||
</font>I have installed this RPM on my firewall and it works fine.</p>
|
||||
|
||||
<p align="left">If you would like to patch iptables 1.2.3 yourself,
|
||||
the patches are available for download. This <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/loglevel.patch">patch</a>
|
||||
which corrects a problem with parsing of the --log-level specification
|
||||
while this <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/tos.patch">patch</a>
|
||||
corrects a problem in handling the TOS target.</p>
|
||||
|
||||
<p align="left">To install one of the above patches:</p>
|
||||
|
||||
<ul>
|
||||
<li>cd iptables-1.2.3/extensions</li>
|
||||
<li>patch -p0 < <i>the-patch-file</i></li>
|
||||
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
<h3><a name="Debug"></a>Problems with kernel 2.4.18
|
||||
and RedHat iptables</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18
|
||||
may experience the following:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre># shorewall start<br>Processing /etc/shorewall/shorewall.conf ...<br>Processing /etc/shorewall/params ...<br>Starting Shorewall...<br>Loading Modules...<br>Initializing...<br>Determining Zones...<br>Zones: net<br>Validating interfaces file...<br>Validating hosts file...<br>Determining Hosts in Zones...<br>Net Zone: eth0:0.0.0.0/0<br>iptables: libiptc/libip4tc.c:380: do_check: Assertion<br>`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.<br>Aborted (core dumped)<br>iptables: libiptc/libip4tc.c:380: do_check: Assertion<br>`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.<br>Aborted (core dumped)<br></pre>
|
||||
</blockquote>
|
||||
|
||||
<p>The RedHat iptables RPM is compiled with debugging enabled but the
|
||||
user-space debugging code was not updated to reflect recent changes in
|
||||
the Netfilter 'mangle' table. You can correct the problem by installing
|
||||
<a
|
||||
href="http://www.shorewall.net/pub/shorewall/iptables-1.2.5-1.i386.rpm">
|
||||
this iptables RPM</a>. If you are already running a 1.2.5 version of
|
||||
iptables, you will need to specify the --oldpackage option to rpm (e.g.,
|
||||
"iptables -Uvh --oldpackage iptables-1.2.5-1.i386.rpm").</p>
|
||||
</blockquote>
|
||||
|
||||
<p><font face="Century Gothic, Arial, Helvetica"><font size="2"> Last updated
|
||||
5/24/2002 - </font><font size="2"> <a
|
||||
href="support.htm">Tom Eastep</a></font> </font></p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002 Thomas M. Eastep.</font></a></font></p>
|
||||
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,74 +1,77 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Fallback and Uninstall</title>
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Fallback and Uninstall</title>
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#FFFFFF">Fallback and Uninstall</font></h1>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Fallback and Uninstall</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p><strong>Shorewall includes
|
||||
a </strong><a href="#fallback"><strong>fallback script</strong></a><strong>
|
||||
and an </strong><a href="#uninstall"><strong>uninstall script</strong></a><strong>.</strong></p>
|
||||
|
||||
<h2><a name="fallback"></a>Falling Back to the Previous Version of Shorewall
|
||||
|
||||
<p><strong>Shorewall includes a </strong><a href="#fallback"><strong>fallback
|
||||
script</strong></a><strong> and an </strong><a href="#uninstall"><strong>uninstall
|
||||
script</strong></a><strong>.</strong></p>
|
||||
|
||||
<h2><a name="fallback"></a>Falling Back to the Previous Version of Shorewall
|
||||
using the Fallback Script</h2>
|
||||
|
||||
<p>If you install Shorewall and discover that
|
||||
it doesn't work for you, you can fall back to your previously
|
||||
installed version. To do that:</p>
|
||||
|
||||
|
||||
<p>If you install Shorewall and discover that it doesn't work for you, you
|
||||
can fall back to your previously installed version. To do that:</p>
|
||||
|
||||
<ul>
|
||||
<li>cd to the distribution directory for the version
|
||||
of Seattle Firewall <u>that you are
|
||||
currently running </u>(NOT the version
|
||||
that you want to fall back to).</li>
|
||||
<li>Type "./fallback.sh"</li>
|
||||
<li>cd to the distribution directory for the version of Seattle
|
||||
Firewall <u>that you are currently running </u>(NOT the version
|
||||
that you want to fall back to).</li>
|
||||
<li>Type "./fallback.sh"</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3><strong><u>Warning:</u> The fallback script
|
||||
will replace /etc/shorewall/policy, /etc/shorewall/rules, /etc/shorewall/interfaces,
|
||||
/etc/shorewall/nat, /etc/shorewall/proxyarp and /etc/shorewall/masq with the version of
|
||||
these files from before the current version was installed. Any
|
||||
changes to any of these files will be lost.</strong></h3>
|
||||
|
||||
<h2><a name="rpm"></a>Falling Back to the Previous Version of Shorewall using
|
||||
|
||||
<h3><strong><u>Warning:</u> The fallback script will replace /etc/shorewall/policy,
|
||||
/etc/shorewall/rules, /etc/shorewall/interfaces, /etc/shorewall/nat, /etc/shorewall/proxyarp
|
||||
and /etc/shorewall/masq with the version of these files from before the current
|
||||
version was installed. Any changes to any of these files will be lost.</strong></h3>
|
||||
|
||||
<h2><a name="rpm"></a>Falling Back to the Previous Version of Shorewall using
|
||||
rpm</h2>
|
||||
|
||||
<p>If your previous version of Shorewall was
|
||||
installed using RPM, you may fall back to that version by typing
|
||||
"rpm -Uvh --force <old rpm>" at a root shell
|
||||
prompt (Example: "rpm -Uvh --force /downloads/shorewall-3.1=0noarch.rpm" would fall back to the 3.1-0
|
||||
version of Shorewall).</p>
|
||||
|
||||
|
||||
<p>If your previous version of Shorewall was installed using RPM, you may
|
||||
fall back to that version by typing "rpm -Uvh --force <old rpm>" at
|
||||
a root shell prompt (Example: "rpm -Uvh --force /downloads/shorewall-3.1=0noarch.rpm"
|
||||
would fall back to the 3.1-0 version of Shorewall).</p>
|
||||
|
||||
<h2><a name="uninstall"></a>Uninstalling Shorewall</h2>
|
||||
|
||||
<p>If you no longer wish to use Shorewall, you
|
||||
may remove it by:</p>
|
||||
|
||||
|
||||
<p>If you no longer wish to use Shorewall, you may remove it by:</p>
|
||||
|
||||
<ul>
|
||||
<li>cd to the distribution directory for the version
|
||||
of Shorewall that you have installed.</li>
|
||||
<li>type "./uninstall.sh"</li>
|
||||
<li>cd to the distribution directory for the version of Shorewall
|
||||
that you have installed.</li>
|
||||
<li>type "./uninstall.sh"</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>If you installed using an rpm, at a root shell prompt
|
||||
type "rpm -e shorewall".</p>
|
||||
|
||||
<p><font size="2">Last updated 3/26/2001 - </font><font size="2">
|
||||
<a href="support.htm">Tom
|
||||
Eastep</a></font> </p>
|
||||
<a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002 Thomas M. Eastep.</font></a></body></html>
|
||||
|
||||
<p>If you installed using an rpm, at a root shell prompt type "rpm -e shorewall".</p>
|
||||
|
||||
<p><font size="2">Last updated 3/26/2001 - </font><font size="2"> <a
|
||||
href="support.htm">Tom Eastep</a></font> </p>
|
||||
<a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002 Thomas M. Eastep.</font></a><br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,78 +1,79 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>GNU Mailman</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">GNU Mailman/Postfix the Easy
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">GNU Mailman/Postfix the Easy
|
||||
Way</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h1 align="center"> </h1>
|
||||
|
||||
<h4>The following was posted on the Postfix mailing list on 5/4/2002 by Michael
|
||||
|
||||
<h4>The following was posted on the Postfix mailing list on 5/4/2002 by Michael
|
||||
Tokarev as a suggested addition to the Postfix FAQ.</h4>
|
||||
|
||||
|
||||
<p>Q: Mailman does not work with Postfix, complaining about GID mismatch<br>
|
||||
<br>
|
||||
A: Mailman uses a setgid wrapper that is designed to be used in system-wide
|
||||
aliases file so that rest of mailman's mail handling processes will run
|
||||
with proper uid/gid. Postfix has an ability to run a command specified in
|
||||
an alias as owner of that alias, thus mailman's wrapper is not needed here.
|
||||
The best method to invoke mailman's mail handling via aliases is to use
|
||||
separate alias file especially for mailman, and made it owned by mailman
|
||||
<br>
|
||||
A: Mailman uses a setgid wrapper that is designed to be used in system-wide
|
||||
aliases file so that rest of mailman's mail handling processes will run
|
||||
with proper uid/gid. Postfix has an ability to run a command specified in
|
||||
an alias as owner of that alias, thus mailman's wrapper is not needed here.
|
||||
The best method to invoke mailman's mail handling via aliases is to use
|
||||
separate alias file especially for mailman, and made it owned by mailman
|
||||
and group mailman. Like:<br>
|
||||
<br>
|
||||
alias_maps = hash:/etc/postfix/aliases, hash:/var/mailman/aliases<br>
|
||||
<br>
|
||||
Make sure that /var/mailman/aliases.db is owned by mailman user (this
|
||||
<br>
|
||||
alias_maps = hash:/etc/postfix/aliases, hash:/var/mailman/aliases<br>
|
||||
<br>
|
||||
Make sure that /var/mailman/aliases.db is owned by mailman user (this
|
||||
may be done by executing postalias as mailman userid).<br>
|
||||
<br>
|
||||
Next, instead of using mailman-suggested aliases entries with wrapper,
|
||||
<br>
|
||||
Next, instead of using mailman-suggested aliases entries with wrapper,
|
||||
use the following:<br>
|
||||
<br>
|
||||
instead of<br>
|
||||
mailinglist: /var/mailman/mail/wrapper post mailinglist<br>
|
||||
mailinglist-admin: /var/mailman/mail/wrapper mailowner mailinglist<br>
|
||||
mailinglist-request: /var/mailman/mail/wrapper mailcmd mailinglist<br>
|
||||
...<br>
|
||||
<br>
|
||||
use<br>
|
||||
mailinglist: /var/mailman/scripts/post mailinglist<br>
|
||||
mailinglist-admin: /var/mailman/scripts/mailowner mailinglist<br>
|
||||
mailinglist-request: /var/mailman/scripts/mailcmd mailinglist<br>
|
||||
...</p>
|
||||
|
||||
<h4>The above tip works with Mailman 2.0; Mailman 2.1 has adopted something
|
||||
very similar so that no workaround is necessary. See the README.POSTFIX file
|
||||
<br>
|
||||
instead of<br>
|
||||
mailinglist: /var/mailman/mail/wrapper post mailinglist<br>
|
||||
mailinglist-admin: /var/mailman/mail/wrapper mailowner mailinglist<br>
|
||||
mailinglist-request: /var/mailman/mail/wrapper mailcmd mailinglist<br>
|
||||
...<br>
|
||||
<br>
|
||||
use<br>
|
||||
mailinglist: /var/mailman/scripts/post mailinglist<br>
|
||||
mailinglist-admin: /var/mailman/scripts/mailowner mailinglist<br>
|
||||
mailinglist-request: /var/mailman/scripts/mailcmd mailinglist<br>
|
||||
...</p>
|
||||
|
||||
<h4>The above tip works with Mailman 2.0; Mailman 2.1 has adopted something
|
||||
very similar so that no workaround is necessary. See the README.POSTFIX file
|
||||
included with Mailman-2.1. </h4>
|
||||
|
||||
|
||||
<p align="left"><font size="2">Last updated 12/29/2002 - <a
|
||||
href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
|
||||
<p align="left"><font face="Trebuchet MS"><a href="copyright.htm"> <font
|
||||
size="2">Copyright</font> © <font size="2">2001, 2002 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
@ -1,146 +1,165 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Kernel Configuration</title>
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Kernel Configuration</title>
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#FFFFFF">Kernel Configuration</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Kernel Configuration</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<p>For information regarding configuring and building GNU/Linux kernels, see <a href="http://www.kernelnewbies.org">http://www.kernelnewbies.org</a>.</p>
|
||||
|
||||
<p>For information regarding configuring and building GNU/Linux kernels,
|
||||
see <a href="http://www.kernelnewbies.org">http://www.kernelnewbies.org</a>.</p>
|
||||
|
||||
<p>Here's a screen shot of my Network Options Configuration:</p>
|
||||
<blockquote>
|
||||
<p> <img border="0" src="images/netopts.jpg" width="609" height="842"></p>
|
||||
</blockquote>
|
||||
<p>While not all of the options that I've selected are required, they should be
|
||||
sufficient for most applications. Here's an excerpt from the corresponding .config
|
||||
file (Note: If you are running a kernel older than 2.4.17, be sure to select
|
||||
CONFIG_NETLINK and CONFIG_RTNETLINK):</p>
|
||||
|
||||
<blockquote>
|
||||
<font SIZE="2">
|
||||
|
||||
<blockquote>
|
||||
<p> <img border="0" src="images/netopts.jpg" width="609" height="842">
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>While not all of the options that I've selected are required, they should
|
||||
be sufficient for most applications. Here's an excerpt from the corresponding
|
||||
.config file (Note: If you are running a kernel older than 2.4.17, be sure
|
||||
to select CONFIG_NETLINK and CONFIG_RTNETLINK):</p>
|
||||
|
||||
<blockquote> <font size="2">
|
||||
<p>#<br>
|
||||
# Networking options<br>
|
||||
#<br>
|
||||
CONFIG_PACKET=y<br>
|
||||
# CONFIG_PACKET_MMAP is not set<br>
|
||||
# CONFIG_NETLINK_DEV is not set<br>
|
||||
CONFIG_NETFILTER=y<br>
|
||||
CONFIG_NETFILTER_DEBUG=y<br>
|
||||
CONFIG_FILTER=y<br>
|
||||
CONFIG_UNIX=y<br>
|
||||
CONFIG_INET=y<br>
|
||||
CONFIG_IP_MULTICAST=y<br>
|
||||
CONFIG_IP_ADVANCED_ROUTER=y<br>
|
||||
CONFIG_IP_MULTIPLE_TABLES=y<br>
|
||||
CONFIG_IP_ROUTE_FWMARK=y<br>
|
||||
CONFIG_IP_ROUTE_NAT=y<br>
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y<br>
|
||||
CONFIG_IP_ROUTE_TOS=y<br>
|
||||
CONFIG_IP_ROUTE_VERBOSE=y<br>
|
||||
# CONFIG_IP_ROUTE_LARGE_TABLES is not set<br>
|
||||
# CONFIG_IP_PNP is not set<br>
|
||||
CONFIG_NET_IPIP=m<br>
|
||||
CONFIG_NET_IPGRE=m<br>
|
||||
# CONFIG_NET_IPGRE_GROADCAST is not set<br>
|
||||
# CONFIG_IP_MROUTE is not set<br>
|
||||
# CONFIG_ARPD is not set<br>
|
||||
CONFIG_INET_ECN=y<br>
|
||||
CONFIG_SYN_COOKIES=y</p>
|
||||
</font>
|
||||
</blockquote>
|
||||
|
||||
# Networking options<br>
|
||||
#<br>
|
||||
CONFIG_PACKET=y<br>
|
||||
# CONFIG_PACKET_MMAP is not set<br>
|
||||
# CONFIG_NETLINK_DEV is not set<br>
|
||||
CONFIG_NETFILTER=y<br>
|
||||
CONFIG_NETFILTER_DEBUG=y<br>
|
||||
CONFIG_FILTER=y<br>
|
||||
CONFIG_UNIX=y<br>
|
||||
CONFIG_INET=y<br>
|
||||
CONFIG_IP_MULTICAST=y<br>
|
||||
CONFIG_IP_ADVANCED_ROUTER=y<br>
|
||||
CONFIG_IP_MULTIPLE_TABLES=y<br>
|
||||
CONFIG_IP_ROUTE_FWMARK=y<br>
|
||||
CONFIG_IP_ROUTE_NAT=y<br>
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y<br>
|
||||
CONFIG_IP_ROUTE_TOS=y<br>
|
||||
CONFIG_IP_ROUTE_VERBOSE=y<br>
|
||||
# CONFIG_IP_ROUTE_LARGE_TABLES is not set<br>
|
||||
# CONFIG_IP_PNP is not set<br>
|
||||
CONFIG_NET_IPIP=m<br>
|
||||
CONFIG_NET_IPGRE=m<br>
|
||||
# CONFIG_NET_IPGRE_GROADCAST is not set<br>
|
||||
# CONFIG_IP_MROUTE is not set<br>
|
||||
# CONFIG_ARPD is not set<br>
|
||||
CONFIG_INET_ECN=y<br>
|
||||
CONFIG_SYN_COOKIES=y</p>
|
||||
</font> </blockquote>
|
||||
|
||||
<p>Here's a screen shot of my Netfilter configuration:</p>
|
||||
<blockquote>
|
||||
|
||||
<p><img border="0" src="images/menuconfig.jpg" width="609" height="842"></p>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<blockquote>
|
||||
<p><img border="0" src="images/menuconfig.jpg" width="609"
|
||||
height="842">
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Here's an excerpt from the corresponding .config file.</p>
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p><font size="2">#<br>
|
||||
# IP: Netfilter Configuration<br>
|
||||
#<br>
|
||||
CONFIG_IP_NF_CONNTRACK=y<br>
|
||||
CONFIG_IP_NF_FTP=m<br>
|
||||
# CONFIG_IP_NF_QUEUE is not set<br>
|
||||
CONFIG_IP_NF_IPTABLES=y<br>
|
||||
CONFIG_IP_NF_MATCH_LIMIT=y<br>
|
||||
CONFIG_IP_NF_MATCH_MAC=y<br>
|
||||
CONFIG_IP_NF_MATCH_MARK=y<br>
|
||||
CONFIG_IP_NF_MATCH_MULTIPORT=y<br>
|
||||
CONFIG_IP_NF_MATCH_TOS=y<br>
|
||||
# CONFIG_IP_NF_MATCH_TCPMSS is not set<br>
|
||||
CONFIG_IP_NF_MATCH_STATE=y<br>
|
||||
# CONFIG_IP_NF_MATCH_UNCLEAN is not set<br>
|
||||
# CONFIG_IP_NF_MATCH_OWNER is not set<br>
|
||||
CONFIG_IP_NF_FILTER=y<br>
|
||||
CONFIG_IP_NF_TARGET_REJECT=y<br>
|
||||
# CONFIG_IP_NF_TARGET_MIRROR is not set<br>
|
||||
CONFIG_IP_NF_NAT=y<br>
|
||||
CONFIG_IP_NF_NAT_NEEDED=y<br>
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=y<br>
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=y<br>
|
||||
CONFIG_IP_NF_NAT_FTP=m<br>
|
||||
CONFIG_IP_NF_MANGLE=y<br>
|
||||
CONFIG_IP_NF_TARGET_TOS=y<br>
|
||||
CONFIG_IP_NF_TARGET_MARK=y<br>
|
||||
CONFIG_IP_NF_TARGET_LOG=y<br>
|
||||
CONFIG_IP_NF_TARGET_TCPMSS=y<br>
|
||||
# CONFIG_IPV6 is not set</font><font face="Courier"><br>
|
||||
</font></p>
|
||||
</blockquote>
|
||||
<p>Note that I have built everything I need into the kernel except for the FTP
|
||||
connection tracking and NAT modules. I have also run successfully with all of
|
||||
the options selected above built as modules:</p>
|
||||
|
||||
<blockquote>
|
||||
<p><img border="0" src="images/menuconfig1.jpg" width="609" height="842"></p>
|
||||
|
||||
# IP: Netfilter Configuration<br>
|
||||
#<br>
|
||||
CONFIG_IP_NF_CONNTRACK=y<br>
|
||||
CONFIG_IP_NF_FTP=m<br>
|
||||
# CONFIG_IP_NF_QUEUE is not set<br>
|
||||
CONFIG_IP_NF_IPTABLES=y<br>
|
||||
CONFIG_IP_NF_MATCH_LIMIT=y<br>
|
||||
CONFIG_IP_NF_MATCH_MAC=y<br>
|
||||
CONFIG_IP_NF_MATCH_MARK=y<br>
|
||||
CONFIG_IP_NF_MATCH_MULTIPORT=y<br>
|
||||
CONFIG_IP_NF_MATCH_TOS=y<br>
|
||||
# CONFIG_IP_NF_MATCH_TCPMSS is not set<br>
|
||||
CONFIG_IP_NF_MATCH_STATE=y<br>
|
||||
# CONFIG_IP_NF_MATCH_UNCLEAN is not set<br>
|
||||
# CONFIG_IP_NF_MATCH_OWNER is not set<br>
|
||||
CONFIG_IP_NF_FILTER=y<br>
|
||||
CONFIG_IP_NF_TARGET_REJECT=y<br>
|
||||
# CONFIG_IP_NF_TARGET_MIRROR is not set<br>
|
||||
CONFIG_IP_NF_NAT=y<br>
|
||||
CONFIG_IP_NF_NAT_NEEDED=y<br>
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=y<br>
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=y<br>
|
||||
CONFIG_IP_NF_NAT_FTP=m<br>
|
||||
CONFIG_IP_NF_MANGLE=y<br>
|
||||
CONFIG_IP_NF_TARGET_TOS=y<br>
|
||||
CONFIG_IP_NF_TARGET_MARK=y<br>
|
||||
CONFIG_IP_NF_TARGET_LOG=y<br>
|
||||
CONFIG_IP_NF_TARGET_TCPMSS=y<br>
|
||||
# CONFIG_IPV6 is not set</font><font face="Courier"><br>
|
||||
</font></p>
|
||||
</blockquote>
|
||||
|
||||
<p>Note that I have built everything I need into the kernel except for the
|
||||
FTP connection tracking and NAT modules. I have also run successfully with
|
||||
all of the options selected above built as modules:</p>
|
||||
|
||||
<blockquote>
|
||||
<p><img border="0" src="images/menuconfig1.jpg" width="609"
|
||||
height="842">
|
||||
</p>
|
||||
|
||||
<p><font size="2">#<br>
|
||||
# IP: Netfilter Configuration<br>
|
||||
#<br>
|
||||
CONFIG_IP_NF_CONNTRACK=m<br>
|
||||
CONFIG_IP_NF_FTP=m<br>
|
||||
# CONFIG_IP_NF_QUEUE is not set<br>
|
||||
CONFIG_IP_NF_IPTABLES=m<br>
|
||||
CONFIG_IP_NF_MATCH_LIMIT=m<br>
|
||||
CONFIG_IP_NF_MATCH_MAC=m<br>
|
||||
CONFIG_IP_NF_MATCH_MARK=m<br>
|
||||
CONFIG_IP_NF_MATCH_MULTIPORT=m<br>
|
||||
CONFIG_IP_NF_MATCH_TOS=m<br>
|
||||
# CONFIG_IP_NF_MATCH_TCPMSS is not set<br>
|
||||
CONFIG_IP_NF_MATCH_STATE=m<br>
|
||||
# CONFIG_IP_NF_MATCH_UNCLEAN is not set<br>
|
||||
# CONFIG_IP_NF_MATCH_OWNER is not set<br>
|
||||
CONFIG_IP_NF_FILTER=m<br>
|
||||
CONFIG_IP_NF_TARGET_REJECT=m<br>
|
||||
# CONFIG_IP_NF_TARGET_MIRROR is not set<br>
|
||||
CONFIG_IP_NF_NAT=m<br>
|
||||
CONFIG_IP_NF_NAT_NEEDED=m<br>
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m<br>
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m<br>
|
||||
CONFIG_IP_NF_NAT_FTP=m<br>
|
||||
CONFIG_IP_NF_MANGLE=m<br>
|
||||
CONFIG_IP_NF_TARGET_TOS=m<br>
|
||||
CONFIG_IP_NF_TARGET_MARK=m<br>
|
||||
CONFIG_IP_NF_TARGET_LOG=m<br>
|
||||
CONFIG_IP_NF_TARGET_TCPMSS=m<br>
|
||||
# CONFIG_IPV6 is not set<br>
|
||||
</font></p>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p><font size="2">Last updated 3/10/2002 - </font><font size="2">
|
||||
<a href="support.htm">Tom
|
||||
Eastep</a></font> </p>
|
||||
<a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002 Thomas M. Eastep.</font></a></body></html>
|
||||
# IP: Netfilter Configuration<br>
|
||||
#<br>
|
||||
CONFIG_IP_NF_CONNTRACK=m<br>
|
||||
CONFIG_IP_NF_FTP=m<br>
|
||||
# CONFIG_IP_NF_QUEUE is not set<br>
|
||||
CONFIG_IP_NF_IPTABLES=m<br>
|
||||
CONFIG_IP_NF_MATCH_LIMIT=m<br>
|
||||
CONFIG_IP_NF_MATCH_MAC=m<br>
|
||||
CONFIG_IP_NF_MATCH_MARK=m<br>
|
||||
CONFIG_IP_NF_MATCH_MULTIPORT=m<br>
|
||||
CONFIG_IP_NF_MATCH_TOS=m<br>
|
||||
# CONFIG_IP_NF_MATCH_TCPMSS is not set<br>
|
||||
CONFIG_IP_NF_MATCH_STATE=m<br>
|
||||
# CONFIG_IP_NF_MATCH_UNCLEAN is not set<br>
|
||||
# CONFIG_IP_NF_MATCH_OWNER is not set<br>
|
||||
CONFIG_IP_NF_FILTER=m<br>
|
||||
CONFIG_IP_NF_TARGET_REJECT=m<br>
|
||||
# CONFIG_IP_NF_TARGET_MIRROR is not set<br>
|
||||
CONFIG_IP_NF_NAT=m<br>
|
||||
CONFIG_IP_NF_NAT_NEEDED=m<br>
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m<br>
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m<br>
|
||||
CONFIG_IP_NF_NAT_FTP=m<br>
|
||||
CONFIG_IP_NF_MANGLE=m<br>
|
||||
CONFIG_IP_NF_TARGET_TOS=m<br>
|
||||
CONFIG_IP_NF_TARGET_MARK=m<br>
|
||||
CONFIG_IP_NF_TARGET_LOG=m<br>
|
||||
CONFIG_IP_NF_TARGET_TCPMSS=m<br>
|
||||
# CONFIG_IPV6 is not set<br>
|
||||
</font></p>
|
||||
</blockquote>
|
||||
|
||||
<p><font size="2">Last updated 3/10/2002 - </font><font size="2"> <a
|
||||
href="support.htm">Tom Eastep</a></font> </p>
|
||||
<a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002 Thomas M. Eastep.</font></a><br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,153 +1,148 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Shorewall Mailing Lists</title>
|
||||
|
||||
|
||||
<meta name="Microsoft Theme" content="none">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table height="90" bgcolor="#400169" id="AutoNumber1" width="100%"
|
||||
|
||||
<table height="90" bgcolor="#3366ff" id="AutoNumber1" width="100%"
|
||||
style="border-collapse: collapse;" cellspacing="0" cellpadding="0"
|
||||
border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="33%" valign="middle"
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="33%" valign="middle"
|
||||
align="left">
|
||||
|
||||
|
||||
<h1 align="center"><a
|
||||
href="http://www.centralcommand.com/linux_products.html"><img
|
||||
src="images/Vexira_Antivirus_Logo.gif" alt="Vexira Logo" width="78"
|
||||
height="79" align="left">
|
||||
</a></h1>
|
||||
<a
|
||||
</a></h1>
|
||||
<a
|
||||
href="http://www.gnu.org/software/mailman/mailman.html"> <img
|
||||
border="0" src="images/logo-sm.jpg" align="left" hspace="5" width="110"
|
||||
height="35" alt="">
|
||||
</a>
|
||||
|
||||
</a>
|
||||
|
||||
<p align="right"><font color="#ffffff"><b> </b></font><a
|
||||
href="http://razor.sourceforge.net/"><img src="images/razor.gif"
|
||||
alt="(Razor Logo)" width="100" height="22" align="left" border="0">
|
||||
</a> </p>
|
||||
</td>
|
||||
<td valign="middle" width="34%" align="center">
|
||||
|
||||
</a> </p>
|
||||
</td>
|
||||
<td valign="middle" width="34%" align="center">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Mailing Lists</font></h1>
|
||||
</td>
|
||||
<td valign="middle" width="33%">
|
||||
<a href="http://www.postfix.org/"> <img
|
||||
</td>
|
||||
<td valign="middle" width="33%">
|
||||
<a href="http://www.postfix.org/"> <img
|
||||
src="images/postfix-white.gif" align="right" border="0" width="158"
|
||||
height="84" alt="(Postfix Logo)">
|
||||
</a><br>
|
||||
|
||||
</a><br>
|
||||
|
||||
|
||||
<div align="left"><a href="http://www.spamassassin.org"><img
|
||||
src="images/ninjalogo.png" alt="" width="110" height="42" align="right"
|
||||
border="0">
|
||||
</a> </div>
|
||||
<br>
|
||||
|
||||
</a> </div>
|
||||
<br>
|
||||
|
||||
|
||||
<div align="right"><b><font color="#ffffff"><br>
|
||||
</font></b><br>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</font></b><br>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h1>REPORTING A PROBLEM OR ASKING FOR HELP? If you haven't already, please
|
||||
read the <a href="http://www.shorewall.net/support.htm">Shorewall Support
|
||||
Guide</a>.<br>
|
||||
</h1>
|
||||
|
||||
read the <a href="http://www.shorewall.net/support.htm">Shorewall Support
|
||||
Guide</a>.<br>
|
||||
</h1>
|
||||
|
||||
<p align="left">If you experience problems with any of these lists, please
|
||||
let <a href="mailto:postmaster@shorewall.net">me</a> know</p>
|
||||
|
||||
let <a href="mailto:postmaster@shorewall.net">me</a> know</p>
|
||||
|
||||
<h2 align="left">Not able to Post Mail to shorewall.net?</h2>
|
||||
|
||||
|
||||
<p align="left">You can report such problems by sending mail to tmeastep at
|
||||
hotmail dot com.</p>
|
||||
|
||||
|
||||
<h2>A Word about the SPAM Filters at Shorewall.net <a
|
||||
href="http://osirusoft.com/"> </a></h2>
|
||||
|
||||
|
||||
<p>Please note that the mail server at shorewall.net checks
|
||||
incoming mail:<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>against <a
|
||||
<li>against <a
|
||||
href="http://spamassassin.org">Spamassassin</a> (including <a
|
||||
href="http://razor.sourceforge.net/">Vipul's Razor</a>).<br>
|
||||
</li>
|
||||
<li>to ensure that the sender address is fully
|
||||
qualified.</li>
|
||||
<li>to verify that the sender's domain has an
|
||||
A or MX record in DNS.</li>
|
||||
<li>to ensure that the host name in the HELO/EHLO
|
||||
command is a valid fully-qualified DNS name that resolves.</li>
|
||||
<li>to ensure that the sending system has a valid PTR record in DNS.</li>
|
||||
|
||||
</li>
|
||||
<li>to ensure that the sender address is fully
|
||||
qualified.</li>
|
||||
<li>to verify that the sender's domain has
|
||||
an A or MX record in DNS.</li>
|
||||
<li>to ensure that the host name in the HELO/EHLO
|
||||
command is a valid fully-qualified DNS name that resolves.</li>
|
||||
|
||||
</ol>
|
||||
<big><font color="#cc0000"><b>This last point is important. If you run your
|
||||
own outgoing mail server and it doesn't have a valid DNS PTR record, your
|
||||
email won't reach the lists unless/until the postmaster notices that your
|
||||
posts are being rejected. To avoid this problem, you should configure your
|
||||
MTA to forward posts to shorewall.net through an MTA that <u>does</u> have
|
||||
a valid PTR record (such as the one at your ISP). </b></font></big><br>
|
||||
|
||||
|
||||
<h2>Please post in plain text</h2>
|
||||
A growing number of MTAs serving list subscribers are
|
||||
rejecting all HTML traffic. At least one MTA has gone so far as to
|
||||
blacklist shorewall.net "for continuous abuse" because it has been my
|
||||
policy to allow HTML in list posts!!<br>
|
||||
<br>
|
||||
I think that blocking all HTML is a Draconian way to
|
||||
control spam and that the ultimate losers here are not the spammers
|
||||
but the list subscribers whose MTAs are bouncing all shorewall.net
|
||||
mail. As one list subscriber wrote to me privately "These e-mail admin's
|
||||
need to get a <i>(explitive deleted)</i> life instead of trying to rid
|
||||
the planet of HTML based e-mail". Nevertheless, to allow subscribers
|
||||
A growing number of MTAs serving list subscribers are
|
||||
rejecting all HTML traffic. At least one MTA has gone so far as to
|
||||
blacklist shorewall.net "for continuous abuse" because it has been
|
||||
my policy to allow HTML in list posts!!<br>
|
||||
<br>
|
||||
I think that blocking all HTML is a Draconian way to
|
||||
control spam and that the ultimate losers here are not the spammers
|
||||
but the list subscribers whose MTAs are bouncing all shorewall.net
|
||||
mail. As one list subscriber wrote to me privately "These e-mail admin's
|
||||
need to get a <i>(explitive deleted)</i> life instead of trying to rid
|
||||
the planet of HTML based e-mail". Nevertheless, to allow subscribers
|
||||
to receive list posts as must as possible, I have now configured the
|
||||
list server at shorewall.net to strip all HTML from outgoing posts.
|
||||
This means that HTML-only posts will be bounced by the list server.<br>
|
||||
|
||||
|
||||
<p align="left"> <b>Note: </b>The list server limits posts to 120kb.<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<h2>Other Mail Delivery Problems</h2>
|
||||
If you find that you are missing an occasional list post,
|
||||
your e-mail admin may be blocking mail whose <i>Received:</i> headers
|
||||
contain the names of certain ISPs. Again, I believe that such policies
|
||||
hurt more than they help but I'm not prepared to go so far as to start
|
||||
stripping <i>Received:</i> headers to circumvent those policies.<br>
|
||||
|
||||
If you find that you are missing an occasional list post,
|
||||
your e-mail admin may be blocking mail whose <i>Received:</i> headers
|
||||
contain the names of certain ISPs. Again, I believe that such policies
|
||||
hurt more than they help but I'm not prepared to go so far as to start
|
||||
stripping <i>Received:</i> headers to circumvent those policies.<br>
|
||||
|
||||
<h2 align="left">Mailing Lists Archive Search</h2>
|
||||
|
||||
|
||||
<form method="post" action="http://lists.shorewall.net/cgi-bin/htsearch">
|
||||
|
||||
<p> <font size="-1"> Match:
|
||||
|
||||
<p> <font size="-1"> Match:
|
||||
<select name="method">
|
||||
<option value="and">All </option>
|
||||
<option value="or">Any </option>
|
||||
<option value="boolean">Boolean </option>
|
||||
</select>
|
||||
Format:
|
||||
Format:
|
||||
<select name="format">
|
||||
<option value="builtin-long">Long </option>
|
||||
<option value="builtin-short">Short </option>
|
||||
</select>
|
||||
Sort by:
|
||||
Sort by:
|
||||
<select name="sort">
|
||||
<option value="score">Score </option>
|
||||
<option value="time">Time </option>
|
||||
@ -156,149 +151,151 @@ This means that HTML-only posts will be bounced by the list server.<br>
|
||||
<option value="revtime">Reverse Time </option>
|
||||
<option value="revtitle">Reverse Title </option>
|
||||
</select>
|
||||
</font> <input type="hidden" name="config"
|
||||
value="htdig"> <input type="hidden" name="restrict"
|
||||
</font> <input type="hidden"
|
||||
name="config" value="htdig"> <input type="hidden" name="restrict"
|
||||
value="[http://lists.shorewall.net/pipermail/.*]"> <input type="hidden"
|
||||
name="exclude" value=""> <br>
|
||||
Search: <input type="text" size="30"
|
||||
Search: <input type="text" size="30"
|
||||
name="words" value=""> <input type="submit" value="Search"> </p>
|
||||
</form>
|
||||
|
||||
</form>
|
||||
|
||||
<h2 align="left"><font color="#ff0000">Please do not try to download the entire
|
||||
Archive -- it is 75MB (and growing daily) and my slow DSL line simply won't
|
||||
stand the traffic. If I catch you, you will be blacklisted.<br>
|
||||
</font></h2>
|
||||
|
||||
</font></h2>
|
||||
|
||||
<h2 align="left">Shorewall CA Certificate</h2>
|
||||
If you want to trust X.509 certificates issued
|
||||
by Shoreline Firewall (such as the one used on my web site),
|
||||
If you want to trust X.509 certificates issued
|
||||
by Shoreline Firewall (such as the one used on my web site),
|
||||
you may <a href="Shorewall_CA_html.html">download and install my CA certificate</a>
|
||||
in your browser. If you don't wish to trust my certificates
|
||||
then you can either use unencrypted access when subscribing to
|
||||
in your browser. If you don't wish to trust my certificates
|
||||
then you can either use unencrypted access when subscribing to
|
||||
Shorewall mailing lists or you can use secure access (SSL) and
|
||||
accept the server's certificate when prompted by your browser.<br>
|
||||
|
||||
|
||||
<h2 align="left">Shorewall Users Mailing List</h2>
|
||||
|
||||
|
||||
<p align="left">The Shorewall Users Mailing list provides a way for users
|
||||
to get answers to questions and to report problems. Information
|
||||
of general interest to the Shorewall user community is also
|
||||
to get answers to questions and to report problems. Information
|
||||
of general interest to the Shorewall user community is also
|
||||
posted to this list.</p>
|
||||
|
||||
|
||||
<p align="left"><b>Before posting a problem report to this list, please see
|
||||
the <a href="http://www.shorewall.net/support.htm">problem
|
||||
reporting guidelines</a>.</b></p>
|
||||
|
||||
the <a href="http://www.shorewall.net/support.htm">problem
|
||||
reporting guidelines</a>.</b></p>
|
||||
|
||||
<p align="left">To subscribe to the mailing list:<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><b>Insecure: </b><a
|
||||
<li><b>Insecure: </b><a
|
||||
href="http://lists.shorewall.net/mailman/listinfo/shorewall-users">http://lists.shorewall.net/mailman/listinfo/shorewall-users</a></li>
|
||||
<li><b>SSL:</b> <a
|
||||
<li><b>SSL:</b> <a
|
||||
href="https://lists.shorewall.net/mailman/listinfo/shorewall-users"
|
||||
target="_top">https//lists.shorewall.net/mailman/listinfo/shorewall-users</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p align="left">To post to the list, post to <a
|
||||
href="mailto:shorewall-users@lists.shorewall.net">shorewall-users@lists.shorewall.net</a>.</p>
|
||||
|
||||
|
||||
<p align="left">The list archives are at <a
|
||||
href="http://lists.shorewall.net/pipermail/shorewall-users/index.html">http://lists.shorewall.net/pipermail/shorewall-users</a>.</p>
|
||||
|
||||
|
||||
<p align="left">Note that prior to 1/1/2002, the mailing list was hosted
|
||||
at <a href="http://sourceforge.net">Sourceforge</a>. The archives from that
|
||||
list may be found at <a
|
||||
href="http://www.geocrawler.com/lists/3/Sourceforge/9327/0/">www.geocrawler.com/lists/3/Sourceforge/9327/0/</a>.</p>
|
||||
|
||||
|
||||
<h2 align="left">Shorewall Announce Mailing List</h2>
|
||||
|
||||
|
||||
<p align="left">This list is for announcements of general interest to the
|
||||
Shorewall community. To subscribe:<br>
|
||||
</p>
|
||||
|
||||
Shorewall community. To subscribe:<br>
|
||||
</p>
|
||||
|
||||
<p align="left"></p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><b>Insecure:</b> <a
|
||||
<li><b>Insecure:</b> <a
|
||||
href="http://lists.shorewall.net/mailman/listinfo/shorewall-announce">http://lists.shorewall.net/mailman/listinfo/shorewall-announce</a></li>
|
||||
<li><b>SSL</b>: <a
|
||||
<li><b>SSL</b>: <a
|
||||
href="https://lists.shorewall.net/mailman/listinfo/shorewall-announce"
|
||||
target="_top">https//lists.shorewall.net/mailman/listinfo/shorewall-announce.</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p align="left"><br>
|
||||
The list archives are at <a
|
||||
The list archives are at <a
|
||||
href="http://lists.shorewall.net/pipermail/shorewall-announce">http://lists.shorewall.net/pipermail/shorewall-announce</a>.</p>
|
||||
|
||||
|
||||
<h2 align="left">Shorewall Development Mailing List</h2>
|
||||
|
||||
|
||||
<p align="left">The Shorewall Development Mailing list provides a forum for
|
||||
the exchange of ideas about the future of Shorewall and for
|
||||
coordinating ongoing Shorewall Development.</p>
|
||||
|
||||
the exchange of ideas about the future of Shorewall and for
|
||||
coordinating ongoing Shorewall Development.</p>
|
||||
|
||||
<p align="left">To subscribe to the mailing list:<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><b>Insecure: </b><a
|
||||
<li><b>Insecure: </b><a
|
||||
href="http://lists.shorewall.net/mailman/listinfo/shorewall-devel">http://lists.shorewall.net/mailman/listinfo/shorewall-devel</a></li>
|
||||
<li><b>SSL:</b> <a
|
||||
<li><b>SSL:</b> <a
|
||||
href="https://lists.shorewall.net/mailman/listinfo/shorewall-devel"
|
||||
target="_top">https//lists.shorewall.net/mailman/listinfo/shorewall-devel.</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p align="left"> To post to the list, post to <a
|
||||
href="mailto:shorewall-devel@lists.shorewall.net">shorewall-devel@lists.shorewall.net</a>. </p>
|
||||
|
||||
|
||||
<p align="left">The list archives are at <a
|
||||
href="http://lists.shorewall.net/pipermail/shorewall-devel">http://lists.shorewall.net/pipermail/shorewall-devel</a>.</p>
|
||||
|
||||
|
||||
<h2 align="left"><a name="Unsubscribe"></a>How to Unsubscribe from one of
|
||||
the Mailing Lists</h2>
|
||||
|
||||
the Mailing Lists</h2>
|
||||
|
||||
<p align="left">There seems to be near-universal confusion about unsubscribing
|
||||
from Mailman-managed lists although Mailman 2.1 has attempted
|
||||
to make this less confusing. To unsubscribe:</p>
|
||||
|
||||
from Mailman-managed lists although Mailman 2.1 has attempted
|
||||
to make this less confusing. To unsubscribe:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
<li>
|
||||
|
||||
<p align="left">Follow the same link above that you used to subscribe
|
||||
to the list.</p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
to the list.</p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left">Down at the bottom of that page is the following text:
|
||||
" To <b>unsubscribe</b> from <i><list name></i>, get
|
||||
a password reminder, or change your subscription options enter
|
||||
your subscription email address:". Enter your email address
|
||||
in the box and click on the "<b>Unsubscribe</b> or edit options"
|
||||
button.</p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
" To <b>unsubscribe</b> from <i><list name></i>, get
|
||||
a password reminder, or change your subscription options
|
||||
enter your subscription email address:". Enter your email
|
||||
address in the box and click on the "<b>Unsubscribe</b> or edit
|
||||
options" button.</p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left">There will now be a box where you can enter your password
|
||||
and click on "Unsubscribe"; if you have forgotten your password,
|
||||
there is another button that will cause your password to be
|
||||
emailed to you.</p>
|
||||
</li>
|
||||
|
||||
and click on "Unsubscribe"; if you have forgotten your password,
|
||||
there is another button that will cause your password to be
|
||||
emailed to you.</p>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<hr>
|
||||
<h2 align="left">Frustrated by having to Rebuild Mailman to use it with Postfix?</h2>
|
||||
|
||||
|
||||
<p align="left"><a href="gnu_mailman.htm">Check out these instructions</a></p>
|
||||
|
||||
<p align="left"><font size="2">Last updated 6/14/2003 - <a
|
||||
|
||||
<p align="left"><font size="2">Last updated 7/7/2003 - <a
|
||||
href="http://www.shorewall.net/support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
|
||||
<p align="left"><a href="copyright.htm"> <font size="2">Copyright</font> ©
|
||||
<font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because one or more lines are too long
@ -2,191 +2,190 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>ICMP Echo-request (Ping)</title>
|
||||
|
||||
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
|
||||
|
||||
<meta name="author" content="Tom Eastep">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">ICMP Echo-request (Ping)</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
Shorewall 'Ping' management has evolved over time with the latest change
|
||||
coming in Shorewall version 1.4.0. <br>
|
||||
|
||||
<br>
|
||||
Shorewall 'Ping' management has evolved over time with the latest
|
||||
change coming in Shorewall version 1.4.0. To find out which version of
|
||||
Shorewall you are running, at a shell prompt type "<font color="#009900"><b>/sbin/shorewall
|
||||
version</b></font>". If that command gives you an error, it's time to upgrade
|
||||
since you have a very old version of Shorewall installed (1.2.4 or earlier).<br>
|
||||
|
||||
<h2>Shorewall Versions >= 1.4.0</h2>
|
||||
In Shoreall 1.4.0 and later version, ICMP echo-request's are treated just
|
||||
like any other connection request.<br>
|
||||
<br>
|
||||
In order to accept ping requests from zone z1 to zone z2 where the policy
|
||||
for z1 to z2 is not ACCEPT, you need a rule in /etc/shoreall/rules of the
|
||||
form:<br>
|
||||
|
||||
<blockquote>ACCEPT <i>z1 z2
|
||||
</i>icmp 8<br>
|
||||
</blockquote>
|
||||
Example: <br>
|
||||
<br>
|
||||
To permit ping from the local zone to the firewall:<br>
|
||||
|
||||
<blockquote>ACCEPT loc fw
|
||||
icmp 8<br>
|
||||
</blockquote>
|
||||
If you would like to accept 'ping' by default even when the relevant
|
||||
policy is DROP or REJECT, create <b>/etc/shorewall/icmpdef </b>if it doesn't
|
||||
already exist and in that file place the following command:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre><b><font color="#009900">run_iptables -A icmpdef -p icmp --icmp-type 8 -j ACCEPT<br></font></b></pre>
|
||||
</blockquote>
|
||||
With that rule in place, if you want to ignore 'ping' from z1 to z2 then
|
||||
you need a rule of the form:<br>
|
||||
|
||||
<blockquote>DROP <i>z1 z2
|
||||
</i>icmp 8<br>
|
||||
</blockquote>
|
||||
Example:<br>
|
||||
<br>
|
||||
To drop ping from the internet, you would need this rule in /etc/shorewall/rules:<br>
|
||||
In Shoreall 1.4.0 and later version, ICMP echo-request's are treated just
|
||||
like any other connection request.<br>
|
||||
<br>
|
||||
|
||||
<blockquote>DROP net fw
|
||||
icmp 8<br>
|
||||
</blockquote>
|
||||
|
||||
<h2>Shorewall Versions >= 1.3.14 and < 1.4.0 with OLD_PING_HANDLING=No
|
||||
in /etc/shorewall/shorewall.conf</h2>
|
||||
In 1.3.14, Ping handling was put under control of the rules and policies
|
||||
just like any other connection request. In order to accept ping requests
|
||||
from zone z1 to zone z2 where the policy for z1 to z2 is not ACCEPT, you
|
||||
need a rule in /etc/shoreall/rules of the form:<br>
|
||||
|
||||
In order to accept ping requests from zone z1 to zone z2 where the policy
|
||||
for z1 to z2 is not ACCEPT, you need a rule in /etc/shoreall/rules of the
|
||||
form:<br>
|
||||
|
||||
<blockquote>ACCEPT <i>z1 z2
|
||||
</i>icmp 8<br>
|
||||
</blockquote>
|
||||
Example: <br>
|
||||
<br>
|
||||
To permit ping from the local zone to the firewall:<br>
|
||||
|
||||
<blockquote>ACCEPT loc fw
|
||||
icmp 8<br>
|
||||
</blockquote>
|
||||
If you would like to accept 'ping' by default even when the relevant
|
||||
policy is DROP or REJECT, create <b>/etc/shorewall/icmpdef </b>if it doesn't
|
||||
already exist and in that file place the following command:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre><b><font color="#009900">run_iptables -A icmpdef -p icmp --icmp-type 8 -j ACCEPT<br></font></b></pre>
|
||||
</blockquote>
|
||||
With that rule in place, if you want to ignore 'ping' from z1 to z2 then
|
||||
you need a rule of the form:<br>
|
||||
|
||||
<blockquote>DROP <i>z1 z2
|
||||
</i>icmp 8<br>
|
||||
</blockquote>
|
||||
Example:<br>
|
||||
<br>
|
||||
To drop ping from the internet, you would need this rule in /etc/shorewall/rules:<br>
|
||||
|
||||
<blockquote>DROP net fw
|
||||
icmp 8<br>
|
||||
</blockquote>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<h2>Shorewall Versions < 1.3.14 or with OLD_PING_HANDLING=Yes in /etc/shorewall/shorewall.conf<br>
|
||||
</h2>
|
||||
There are several aspects to the old Shorewall Ping management:<br>
|
||||
|
||||
<ol>
|
||||
<li>The <b>noping</b> and <b>filterping </b>interface options in <a
|
||||
href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>.</li>
|
||||
<li>The <b>FORWARDPING</b> option in<a
|
||||
href="Documentation.htm#Conf"> /etc/shorewall/shorewall.conf</a>.</li>
|
||||
<li>Explicit rules in <a href="Documentation.htm#Rules">/etc/shorewall/rules</a>.</li>
|
||||
|
||||
</ol>
|
||||
There are two cases to consider:<br>
|
||||
|
||||
<ol>
|
||||
<li>Ping requests addressed to the firewall itself; and</li>
|
||||
<li>Ping requests being forwarded to another system. Included here
|
||||
are all cases of packet forwarding including NAT, DNAT rule, Proxy ARP and
|
||||
simple routing.</li>
|
||||
|
||||
</ol>
|
||||
These cases will be covered separately.<br>
|
||||
|
||||
<h3>Ping Requests Addressed to the Firewall Itself</h3>
|
||||
For ping requests addressed to the firewall, the sequence is as follows:<br>
|
||||
|
||||
<ol>
|
||||
<li>If neither <b>noping</b> nor <b>filterping </b>are specified for
|
||||
the interface that receives the ping request then the request will be responded
|
||||
to with an ICMP echo-reply.</li>
|
||||
<li>If <b>noping</b> is specified for the interface that receives
|
||||
the ping request then the request is ignored.</li>
|
||||
<li>If <b>filterping </b>is specified for the interface then the request
|
||||
is passed to the rules/policy evaluation.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<h3>Ping Requests Forwarded by the Firewall</h3>
|
||||
These requests are <b>always</b> passed to rules/policy evaluation.<br>
|
||||
|
||||
<h3>Rules Evaluation</h3>
|
||||
Ping requests are ICMP type 8. So the general rule format is:<br>
|
||||
<br>
|
||||
<i>Target Source
|
||||
Destination </i>icmp 8<br>
|
||||
<br>
|
||||
Example 1. Accept pings from the net to the dmz (pings are responded
|
||||
to with an ICMP echo-reply):<br>
|
||||
<br>
|
||||
ACCEPT net dmz
|
||||
icmp 8<br>
|
||||
<br>
|
||||
Example 2. Drop pings from the net to the firewall<br>
|
||||
<br>
|
||||
DROP net fw
|
||||
icmp 8<br>
|
||||
|
||||
<h3>Policy Evaluation</h3>
|
||||
If no applicable rule is found, then the policy for the source to the
|
||||
destination is applied.<br>
|
||||
|
||||
<ol>
|
||||
<li>If the relevant policy is ACCEPT then the request is responded
|
||||
to with an ICMP echo-reply.</li>
|
||||
<li>If <b>FORWARDPING</b> is set to Yes in /etc/shorewall/shorewall.conf
|
||||
then the request is responded to with an ICMP echo-reply.</li>
|
||||
<li>Otherwise, the relevant REJECT or DROP policy is used and the
|
||||
request is either rejected or simply ignored.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><font size="2">Updated 5/4/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></p>
|
||||
</i>icmp 8<br>
|
||||
</blockquote>
|
||||
Example: <br>
|
||||
<br>
|
||||
<br>
|
||||
To permit ping from the local zone to the firewall:<br>
|
||||
|
||||
<blockquote>ACCEPT loc fw
|
||||
icmp 8<br>
|
||||
</blockquote>
|
||||
If you would like to accept 'ping' by default even when the relevant
|
||||
policy is DROP or REJECT, create <b>/etc/shorewall/icmpdef </b>if it doesn't
|
||||
already exist and in that file place the following command:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre><b><font color="#009900">run_iptables -A icmpdef -p icmp --icmp-type 8 -j ACCEPT<br></font></b></pre>
|
||||
</blockquote>
|
||||
With that rule in place, if you want to ignore 'ping' from z1 to z2
|
||||
then you need a rule of the form:<br>
|
||||
|
||||
<blockquote>DROP <i>z1 z2
|
||||
</i>icmp 8<br>
|
||||
</blockquote>
|
||||
Example:<br>
|
||||
<br>
|
||||
To drop ping from the internet, you would need this rule in /etc/shorewall/rules:<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<blockquote>DROP net fw
|
||||
icmp 8<br>
|
||||
</blockquote>
|
||||
|
||||
<h2>Shorewall Versions >= 1.3.14 and < 1.4.0 with OLD_PING_HANDLING=No
|
||||
in /etc/shorewall/shorewall.conf</h2>
|
||||
In 1.3.14, Ping handling was put under control of the rules and policies
|
||||
just like any other connection request. In order to accept ping requests
|
||||
from zone z1 to zone z2 where the policy for z1 to z2 is not ACCEPT, you
|
||||
need a rule in /etc/shoreall/rules of the form:<br>
|
||||
|
||||
<blockquote>ACCEPT <i>z1 z2
|
||||
</i>icmp 8<br>
|
||||
</blockquote>
|
||||
Example: <br>
|
||||
<br>
|
||||
To permit ping from the local zone to the firewall:<br>
|
||||
|
||||
<blockquote>ACCEPT loc fw
|
||||
icmp 8<br>
|
||||
</blockquote>
|
||||
If you would like to accept 'ping' by default even when the relevant
|
||||
policy is DROP or REJECT, create <b>/etc/shorewall/icmpdef </b>if it doesn't
|
||||
already exist and in that file place the following command:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre><b><font color="#009900">run_iptables -A icmpdef -p icmp --icmp-type 8 -j ACCEPT<br></font></b></pre>
|
||||
</blockquote>
|
||||
With that rule in place, if you want to ignore 'ping' from z1 to z2
|
||||
then you need a rule of the form:<br>
|
||||
|
||||
<blockquote>DROP <i>z1 z2
|
||||
</i>icmp 8<br>
|
||||
</blockquote>
|
||||
Example:<br>
|
||||
<br>
|
||||
To drop ping from the internet, you would need this rule in /etc/shorewall/rules:<br>
|
||||
|
||||
<blockquote>DROP net fw
|
||||
icmp 8<br>
|
||||
</blockquote>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<h2>Shorewall Versions < 1.3.14 or with OLD_PING_HANDLING=Yes in /etc/shorewall/shorewall.conf<br>
|
||||
</h2>
|
||||
There are several aspects to the old Shorewall Ping management:<br>
|
||||
|
||||
<ol>
|
||||
<li>The <b>noping</b> and <b>filterping </b>interface options in
|
||||
<a href="Documentation.htm#Interfaces">/etc/shorewall/interfaces</a>.</li>
|
||||
<li>The <b>FORWARDPING</b> option in<a
|
||||
href="Documentation.htm#Conf"> /etc/shorewall/shorewall.conf</a>.</li>
|
||||
<li>Explicit rules in <a href="Documentation.htm#Rules">/etc/shorewall/rules</a>.</li>
|
||||
|
||||
</ol>
|
||||
There are two cases to consider:<br>
|
||||
|
||||
<ol>
|
||||
<li>Ping requests addressed to the firewall itself; and</li>
|
||||
<li>Ping requests being forwarded to another system. Included here
|
||||
are all cases of packet forwarding including NAT, DNAT rule, Proxy ARP
|
||||
and simple routing.</li>
|
||||
|
||||
</ol>
|
||||
These cases will be covered separately.<br>
|
||||
|
||||
<h3>Ping Requests Addressed to the Firewall Itself</h3>
|
||||
For ping requests addressed to the firewall, the sequence is as follows:<br>
|
||||
|
||||
<ol>
|
||||
<li>If neither <b>noping</b> nor <b>filterping </b>are specified
|
||||
for the interface that receives the ping request then the request will
|
||||
be responded to with an ICMP echo-reply.</li>
|
||||
<li>If <b>noping</b> is specified for the interface that receives
|
||||
the ping request then the request is ignored.</li>
|
||||
<li>If <b>filterping </b>is specified for the interface then the
|
||||
request is passed to the rules/policy evaluation.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<h3>Ping Requests Forwarded by the Firewall</h3>
|
||||
These requests are <b>always</b> passed to rules/policy evaluation.<br>
|
||||
|
||||
<h3>Rules Evaluation</h3>
|
||||
Ping requests are ICMP type 8. So the general rule format is:<br>
|
||||
<br>
|
||||
<i>Target Source
|
||||
Destination </i>icmp 8<br>
|
||||
<br>
|
||||
Example 1. Accept pings from the net to the dmz (pings are responded
|
||||
to with an ICMP echo-reply):<br>
|
||||
<br>
|
||||
ACCEPT net
|
||||
dmz icmp 8<br>
|
||||
<br>
|
||||
Example 2. Drop pings from the net to the firewall<br>
|
||||
<br>
|
||||
DROP net fw
|
||||
icmp 8<br>
|
||||
|
||||
<h3>Policy Evaluation</h3>
|
||||
If no applicable rule is found, then the policy for the source to
|
||||
the destination is applied.<br>
|
||||
|
||||
<ol>
|
||||
<li>If the relevant policy is ACCEPT then the request is responded
|
||||
to with an ICMP echo-reply.</li>
|
||||
<li>If <b>FORWARDPING</b> is set to Yes in /etc/shorewall/shorewall.conf
|
||||
then the request is responded to with an ICMP echo-reply.</li>
|
||||
<li>Otherwise, the relevant REJECT or DROP policy is used and the
|
||||
request is either rejected or simply ignored.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><font size="2">Updated 7/7/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
</p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,240 +1,242 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Port Information</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Ports required for Various
|
||||
Services/Applications</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
Services/Applications</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p>In addition to those applications described in <a
|
||||
href="Documentation.htm">the /etc/shorewall/rules documentation</a>, here
|
||||
are some other services/applications that you may need to configure your
|
||||
firewall to accommodate.</p>
|
||||
|
||||
are some other services/applications that you may need to configure your
|
||||
firewall to accommodate.</p>
|
||||
|
||||
<p>NTP (Network Time Protocol)</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>UDP Port 123</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>rdate</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Port 37</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>UseNet (NNTP)</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Port 119</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>DNS</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>UDP Port 53. If you are configuring a DNS client, you will probably want
|
||||
to open TCP Port 53 as well.<br>
|
||||
If you are configuring a server, only open TCP Port 53 if you will
|
||||
return long replies to queries or if you need to enable ZONE transfers. In
|
||||
the latter case, be sure that your server is properly configured.</p>
|
||||
</blockquote>
|
||||
|
||||
If you are configuring a server, only open TCP Port 53 if you
|
||||
will return long replies to queries or if you need to enable ZONE transfers. In
|
||||
the latter case, be sure that your server is properly configured.</p>
|
||||
</blockquote>
|
||||
|
||||
<p>ICQ </p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>UDP Port 4000. You will also need to open a range of TCP ports which
|
||||
you can specify to your ICQ client. By default, clients use 4000-4100.</p>
|
||||
</blockquote>
|
||||
|
||||
you can specify to your ICQ client. By default, clients use 4000-4100.</p>
|
||||
</blockquote>
|
||||
|
||||
<p>PPTP</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p><u>Protocol</u> 47 (NOT <u>port</u> 47) and TCP Port 1723 (<a
|
||||
href="PPTP.htm">Lots more information here</a>).</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>IPSEC</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p><u>Protocols</u> 50 and 51 (NOT <u>ports</u> 50 and 51) and UDP Port
|
||||
500. These should be opened in both directions (Lots more information
|
||||
<a href="IPSEC.htm">here</a> and <a href="VPN.htm">here</a>).</p>
|
||||
</blockquote>
|
||||
|
||||
<p>SMTP</p>
|
||||
|
||||
<blockquote>
|
||||
500. These should be opened in both directions (Lots more information
|
||||
<a href="IPSEC.htm">here</a> and <a href="VPN.htm">here</a>).</p>
|
||||
</blockquote>
|
||||
|
||||
<p>SMTP (Email)</p>
|
||||
|
||||
<blockquote>
|
||||
<p> TCP Port 25.</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>RealPlayer<br>
|
||||
</p>
|
||||
<blockquote>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>UDP Port 6790 inbound<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>POP3</p>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Port 110 (Secure = TCP Port 995)<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
<p>POP3</p>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Port 110.</p>
|
||||
</blockquote>
|
||||
|
||||
<p>IMAP<br>
|
||||
</p>
|
||||
<blockquote>TCP Port 143 (Secure = TCP Port 993)<br>
|
||||
</blockquote>
|
||||
|
||||
<p>TELNET</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Port 23.</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>SSH</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Port 22.</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>Auth (identd)</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Port 113</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>Web Access</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Ports 80 and 443.</p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>FTP</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>Server configuration is covered on in <a
|
||||
href="Documentation.htm#Rules">the /etc/shorewall/rules documentation</a>,</p>
|
||||
|
||||
|
||||
<p>For a client, you must open outbound TCP port 21 and be sure that your
|
||||
kernel is compiled to support FTP connection tracking. If you build this
|
||||
support as a module, Shorewall will automatically load the module from
|
||||
/var/lib/<<i>kernel version</i>>/kernel/net/ipv4/netfilter. <br>
|
||||
</p>
|
||||
|
||||
<p>If you run an FTP server on a nonstandard port or you need to access
|
||||
such a server, then you must specify that port in /etc/shorewall/modules.
|
||||
For example, if you run an FTP server that listens on port 49 then you would
|
||||
have:<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>loadmodule ip_conntrack_ftp ports=21,49<br>
|
||||
loadmodule ip_nat_ftp ports=21,49<br>
|
||||
kernel is compiled to support FTP connection tracking. If you build
|
||||
this support as a module, Shorewall will automatically load the module
|
||||
from /var/lib/<<i>kernel version</i>>/kernel/net/ipv4/netfilter. <br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<p>If you run an FTP server on a nonstandard port or you need to access
|
||||
such a server, then you must specify that port in /etc/shorewall/modules.
|
||||
For example, if you run an FTP server that listens on port 49 then you
|
||||
would have:<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>loadmodule ip_conntrack_ftp ports=21,49<br>
|
||||
loadmodule ip_nat_ftp ports=21,49<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Note that you MUST include port 21 in the <i>ports</i> list or you may
|
||||
have problems accessing regular FTP servers.</p>
|
||||
|
||||
have problems accessing regular FTP servers.</p>
|
||||
|
||||
<p>If there is a possibility that these modules might be loaded before Shorewall
|
||||
starts, then you should include the port list in /etc/modules.conf:<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>options ip_conntrack_ftp ports=21,49<br>
|
||||
options ip_nat_ftp ports=21,49<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
options ip_nat_ftp ports=21,49<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p><b>IMPORTANT: </b>Once you have made these changes to /etc/shorewall/modules
|
||||
and/or /etc/modules.conf, you must either:<br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>Unload the modules and restart shorewall: (<b><font
|
||||
color="#009900">rmmod ip_nat_ftp; rmmod ip_conntrack_ftp; shorewall restart</font></b>);
|
||||
or</li>
|
||||
<li>Reboot<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p> </p>
|
||||
</blockquote>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<p>SMB/NMB (Samba/Windows Browsing/File Sharing)</p>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Ports 137, 139 and 445.<br>
|
||||
UDP Ports 137-139.<br>
|
||||
<br>
|
||||
Also, <a href="samba.htm">see this page</a>.</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Traceroute</p>
|
||||
|
||||
<blockquote>
|
||||
<p>UDP ports 33434 through 33434+<i><max number of hops></i>-1</p>
|
||||
</blockquote>
|
||||
|
||||
<p>NFS<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>I personally use the following rules for opening access from zone z1
|
||||
to a server with IP address a.b.c.d in zone z2:<br>
|
||||
and/or /etc/modules.conf, you must either:<br>
|
||||
</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>Unload the modules and restart shorewall: (<b><font
|
||||
color="#009900">rmmod ip_nat_ftp; rmmod ip_conntrack_ftp; shorewall restart</font></b>);
|
||||
or</li>
|
||||
<li>Reboot<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p> </p>
|
||||
</blockquote>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<p>SMB/NMB (Samba/Windows Browsing/File Sharing)</p>
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP Ports 137, 139 and 445.<br>
|
||||
UDP Ports 137-139.<br>
|
||||
<br>
|
||||
Also, <a href="samba.htm">see this page</a>.</p>
|
||||
</blockquote>
|
||||
|
||||
<p>Traceroute</p>
|
||||
|
||||
<blockquote>
|
||||
<p>UDP ports 33434 through 33434+<i><max number of hops></i>-1<br>
|
||||
ICMP type 8 ('ping')<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>NFS<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>I personally use the following rules for opening access from zone z1
|
||||
to a server with IP address a.b.c.d in zone z2:<br>
|
||||
</p>
|
||||
|
||||
<pre>ACCEPT z1 z2:a.b.c.d udp 111<br>ACCEPT z1 z2:a.b.c.d tcp 111<br>ACCEPT z1 z2:a.b.c.d udp 2049<br>ACCEPT z1 z2:a.b.c.d udp 32700:<br></pre>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
|
||||
<blockquote>
|
||||
<p>Note that my rules only cover NFS using UDP (the normal case). There
|
||||
is lots of additional information at <a
|
||||
is lots of additional information at <a
|
||||
href="http://nfs.sourceforge.net/nfs-howto/security.html"> http://nfs.sourceforge.net/nfs-howto/security.html</a></p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>VNC<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>TCP port 5900 + <display number></p>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>Didn't find what you are looking for -- have you looked in your own /etc/services
|
||||
file? </p>
|
||||
|
||||
file? </p>
|
||||
|
||||
<p>Still looking? Try <a
|
||||
href="http://www.networkice.com/advice/Exploits/Ports"> http://www.networkice.com/advice/Exploits/Ports</a></p>
|
||||
|
||||
<p><font size="2">Last updated 5/5/2003 - </font><font size="2"> <a
|
||||
|
||||
<p><font size="2">Last updated 7/16/2003 - </font><font size="2"> <a
|
||||
href="support.htm">Tom Eastep</a></font> </p>
|
||||
<a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
<a href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a><br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,108 +1,117 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Quotes from Shorewall Users</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Quotes from Shorewall Users</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<font size="3">"I have fought with IPtables for untold hours. First I
|
||||
tried the SuSE firewall, which worked for 80% of what I needed. Then gShield,
|
||||
which also worked for 80%. Then I set out to write my own IPtables parser
|
||||
in shell and awk, which was a lot of fun but never got me past the "hey,
|
||||
cool" stage. Then I discovered Shorewall. After about an hour, everything
|
||||
just worked. I am stunned, and very grateful"</font> -- ES, Phoenix AZ, USA.<br>
|
||||
|
||||
<p>"The configuration is intuitive and flexible, and much easier than any
|
||||
of the other iptables-based firewall programs out there. After sifting through
|
||||
many other scripts, it is obvious that yours is the most well thought-out
|
||||
and complete one available." -- BC, USA</p>
|
||||
of the other iptables-based firewall programs out there. After sifting through
|
||||
many other scripts, it is obvious that yours is the most well thought-out
|
||||
and complete one available." -- BC, USA</p>
|
||||
|
||||
<p>"I just installed Shorewall after weeks of messing with ipchains/iptables
|
||||
and I had it up and running in under 20 minutes!" -- JL, Ohio<br>
|
||||
</p>
|
||||
"My case was almost like [the one above]. Well. instead of 'weeks' it was
|
||||
'months' for me, and I think I needed two minutes more:<br>
|
||||
|
||||
and I had it up and running in under 20 minutes!" -- JL, Ohio<br>
|
||||
</p>
|
||||
"My case was almost like [the one above]. Well. instead of 'weeks' it
|
||||
was 'months' for me, and I think I needed two minutes more:<br>
|
||||
|
||||
<ul>
|
||||
<li>One to see that I had no Internet access from the firewall itself.</li>
|
||||
<li>Other to see that this was the default configuration, and it was
|
||||
enough to uncomment a line in /etc/shorewall/policy.<br>
|
||||
</li>
|
||||
|
||||
<li>One to see that I had no Internet access from the firewall itself.</li>
|
||||
<li>Other to see that this was the default configuration, and it was
|
||||
enough to uncomment a line in /etc/shorewall/policy.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
Minutes instead of months! Congratulations and thanks for such a simple
|
||||
and well documented thing for something as huge as iptables." -- JV, Spain.
|
||||
|
||||
Minutes instead of months! Congratulations and thanks for such a simple
|
||||
and well documented thing for something as huge as iptables." -- JV, Spain.
|
||||
|
||||
<p>"I downloaded Shorewall 1.2.0 and installed it on Mandrake 8.1 without
|
||||
any problems. Your documentation is great and I really appreciate
|
||||
your network configuration info. That really helped me out alot. THANKS!!!"
|
||||
-- MM. </p>
|
||||
|
||||
any problems. Your documentation is great and I really appreciate your
|
||||
network configuration info. That really helped me out alot. THANKS!!!"
|
||||
-- MM. </p>
|
||||
|
||||
<p>"[Shorewall is a] great, great project. I've used/tested may firewall
|
||||
scripts but this one is till now the best." -- B.R, Netherlands
|
||||
</p>
|
||||
|
||||
scripts but this one is till now the best." -- B.R, Netherlands
|
||||
</p>
|
||||
|
||||
<p>"Never in my +12 year career as a sys admin have I witnessed someone
|
||||
so relentless in developing a secure, state of the art, safe and useful
|
||||
product as the Shorewall firewall package for no cost or obligation
|
||||
so relentless in developing a secure, state of the art, safe and
|
||||
useful product as the Shorewall firewall package for no cost or obligation
|
||||
involved." -- Mario Kerecki, Toronto </p>
|
||||
|
||||
<p>"one time more to report, that your great shorewall in the latest
|
||||
release 1.2.9 is working fine for me with SuSE Linux 7.3! I now
|
||||
have 7 machines up and running with shorewall on several versions -
|
||||
starting with 1.2.2 up to the new 1.2.9 and I never have encountered
|
||||
any problems!" -- SM, Germany</p>
|
||||
|
||||
|
||||
<p>"one time more to report, that your great shorewall in the latest release
|
||||
1.2.9 is working fine for me with SuSE Linux 7.3! I now have 7 machines
|
||||
up and running with shorewall on several versions - starting with 1.2.2
|
||||
up to the new 1.2.9 and I never have encountered any problems!" -- SM,
|
||||
Germany</p>
|
||||
|
||||
<p>"You have the best support of any other package I've ever used."
|
||||
-- SE, US </p>
|
||||
|
||||
-- SE, US </p>
|
||||
|
||||
<p>"Because our company has information which has been classified by the
|
||||
national government as secret, our security doesn't stop by putting a fence
|
||||
around our company. Information security is a hot issue. We also make use
|
||||
of checkpoint firewalls, but not all of the internet servers are guarded
|
||||
by checkpoint, some of them are running....Shorewall." -- Name withheld
|
||||
by request, Europe</p>
|
||||
|
||||
around our company. Information security is a hot issue. We also make
|
||||
use of checkpoint firewalls, but not all of the internet servers are guarded
|
||||
by checkpoint, some of them are running....Shorewall." -- Name withheld
|
||||
by request, Europe</p>
|
||||
|
||||
<p>"thanx for all your efforts you put into shorewall - this product stands
|
||||
out against a lot of commercial stuff i´ve been working with in terms of
|
||||
flexibillity, quality & support" -- RM, Austria</p>
|
||||
|
||||
out against a lot of commercial stuff i´ve been working with in terms
|
||||
of flexibillity, quality & support" -- RM, Austria</p>
|
||||
|
||||
<p>"I have never seen such a complete firewall package that is so easy to
|
||||
configure. I searched the Debian package system for firewall scripts and
|
||||
Shorewall won hands down." -- RG, Toronto</p>
|
||||
|
||||
configure. I searched the Debian package system for firewall scripts and
|
||||
Shorewall won hands down." -- RG, Toronto</p>
|
||||
|
||||
<p>"My respects... I've just found and installed Shorewall 1.3.3-1 and it
|
||||
is a wonderful piece of software. I've just sent out an email to about
|
||||
is a wonderful piece of software. I've just sent out an email to about
|
||||
30 people recommending it. :-)<br>
|
||||
While I had previously taken the time (maybe 40 hours) to really understand
|
||||
ipchains, then spent at least an hour per server customizing and carefully
|
||||
scrutinizing firewall rules, I've got shorewall running on my home firewall,
|
||||
with rulesets and policies that I know make sense, in under 20 minutes."
|
||||
-- RP, Guatamala<br>
|
||||
<br>
|
||||
</p>
|
||||
|
||||
<p><font size="2" face="Century Gothic, Arial, Helvetica">Updated 3/18/2003
|
||||
- <a href="support.htm">Tom Eastep</a> </font>
|
||||
</p>
|
||||
|
||||
While I had previously taken the time (maybe 40 hours) to really understand
|
||||
ipchains, then spent at least an hour per server customizing and carefully
|
||||
scrutinizing firewall rules, I've got shorewall running on my home firewall,
|
||||
with rulesets and policies that I know make sense, in under 20 minutes."
|
||||
-- RP, Guatamala<br>
|
||||
<br>
|
||||
</p>
|
||||
|
||||
<p><font size="2" face="Century Gothic, Arial, Helvetica">Updated 7/1/2003
|
||||
- <a href="support.htm">Tom Eastep</a> </font>
|
||||
</p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font></p>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
@ -1,98 +1,114 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<title>Samba</title>
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Samba</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#FFFFFF">Samba</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Samba</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<p>If you wish to run Samba on your firewall and access shares between the
|
||||
|
||||
<p>If you wish to run Samba on your firewall and access shares between the
|
||||
firewall and local hosts, you need the following rules:</p>
|
||||
|
||||
<h4>/etc/shorewall/rules:</h4>
|
||||
<blockquote>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse">
|
||||
<tr>
|
||||
<font face="Century Gothic, Arial, Helvetica">
|
||||
<td><b>ACTION</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b>
|
||||
PROTO</b></td>
|
||||
<td><b>DEST<br>
|
||||
PORT(S)</b></td>
|
||||
<td><b>SOURCE<br>
|
||||
PORT(S)</b></td>
|
||||
<td><b>ORIGINAL<br>
|
||||
DEST</b></td>
|
||||
</font>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>fw</td>
|
||||
<td>loc</td>
|
||||
<td>udp</td>
|
||||
<td>137:139</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>fw</td>
|
||||
<td>loc</td>
|
||||
<td>tcp</td>
|
||||
<td>137,139</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>fw</td>
|
||||
<td>loc</td>
|
||||
<td>udp</td>
|
||||
<td>1024:</td>
|
||||
<td>137</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>loc</td>
|
||||
<td>fw</td>
|
||||
<td>udp</td>
|
||||
<td>137:139</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>loc</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>137,139</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>loc</td>
|
||||
<td>fw</td>
|
||||
<td>udp</td>
|
||||
<td>1024:</td>
|
||||
<td>137</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</blockquote>
|
||||
<p><font size="2">Last modified 5/29/2002 - <a href="support.htm">Tom
|
||||
Eastep</a></font><p><font face="Trebuchet MS"><a href="copyright.htm">
|
||||
<font size="2">Copyright</font> © <font size="2">2002 Thomas M. Eastep.</font></a></font></body></html>
|
||||
|
||||
<blockquote> <font face="Century Gothic, Arial, Helvetica"> </font>
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ACTION</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b> PROTO</b></td>
|
||||
<td><b>DEST<br>
|
||||
PORT(S)</b></td>
|
||||
<td><b>SOURCE<br>
|
||||
PORT(S)</b></td>
|
||||
<td><b>ORIGINAL<br>
|
||||
DEST</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>fw</td>
|
||||
<td>loc</td>
|
||||
<td>udp</td>
|
||||
<td>137:139</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>fw</td>
|
||||
<td>loc</td>
|
||||
<td>tcp</td>
|
||||
<td>137,139</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>fw</td>
|
||||
<td>loc</td>
|
||||
<td>udp</td>
|
||||
<td>1024:</td>
|
||||
<td>137</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>loc</td>
|
||||
<td>fw</td>
|
||||
<td>udp</td>
|
||||
<td>137:139</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>loc</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>137,139</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>loc</td>
|
||||
<td>fw</td>
|
||||
<td>udp</td>
|
||||
<td>1024:</td>
|
||||
<td>137</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p><font size="2">Last modified 5/29/2002 - <a href="support.htm">Tom Eastep</a></font></p>
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"> <font size="2">Copyright</font>
|
||||
© <font size="2">2002 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,67 +2,94 @@
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shoreline Firewall (Shorewall) 1.4</title>
|
||||
|
||||
|
||||
<base target="_self">
|
||||
|
||||
<base target="_self">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="4"
|
||||
|
||||
|
||||
<table cellpadding="0" cellspacing="4"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber3"
|
||||
bgcolor="#4b017c">
|
||||
bgcolor="#3366ff">
|
||||
|
||||
<tbody>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<tr>
|
||||
|
||||
<td width="33%" height="90" valign="middle"
|
||||
align="left"><a href="http://www.cityofshoreline.com"><img
|
||||
<td width="33%" height="90"
|
||||
valign="middle" align="left"><a href="http://www.cityofshoreline.com"><img
|
||||
src="images/washington.jpg" alt="" width="97" height="80" hspace="4"
|
||||
border="0">
|
||||
</a></td>
|
||||
<td valign="middle" width="34%" align="center">
|
||||
</a></td>
|
||||
<td valign="middle" width="34%" align="center"
|
||||
bgcolor="#3366ff">
|
||||
|
||||
|
||||
|
||||
<h1><font color="#ffffff">Shorewall 1.4</font><i><font
|
||||
color="#ffffff"> <small><small><small>"iptables made easy"</small></small></small></font></i></h1>
|
||||
</td>
|
||||
<td valign="middle">
|
||||
|
||||
|
||||
|
||||
<div align="center">
|
||||
|
||||
|
||||
|
||||
<img
|
||||
src="images/Logo1.png" alt="(Shorewall Logo)" width="430" height="90">
|
||||
</div>
|
||||
</td>
|
||||
<td valign="middle" width="33%">
|
||||
|
||||
|
||||
<h1 align="center"><a href="http://www.shorewall.net"
|
||||
target="_top"><img border="0" src="images/shorewall.jpg" width="119"
|
||||
height="38" hspace="4" alt="(Shorewall Logo)" align="right" vspace="4">
|
||||
</a></h1>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</a></h1>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div align="center">
|
||||
<center>
|
||||
|
||||
|
||||
<div align="center">
|
||||
<div align="center"> </div>
|
||||
|
||||
<center>
|
||||
<div align="center"> </div>
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber4">
|
||||
|
||||
<tbody>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<tr>
|
||||
|
||||
<td width="90%">
|
||||
<td width="90%">
|
||||
|
||||
<div align="center">
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<h2 align="left">What is it?</h2>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p>The Shoreline Firewall, more commonly known as "Shorewall", is a
|
||||
<a href="http://www.netfilter.org">Netfilter</a> (iptables) based firewall
|
||||
that can be used on a dedicated firewall system, a multi-function
|
||||
@ -70,34 +97,40 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p>This program is free software; you can redistribute it and/or modify
|
||||
it
|
||||
under the terms of <a
|
||||
|
||||
it under the terms of <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">Version 2 of the GNU
|
||||
General Public License</a> as published by the Free Software
|
||||
Foundation.<br>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
This program is distributed in the
|
||||
hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
Public License for more details.<br>
|
||||
This program is distributed
|
||||
in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without
|
||||
even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU General Public License for more
|
||||
details.<br>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
You should have received a copy of
|
||||
the GNU General Public License
|
||||
along with this program; if not, write to
|
||||
the Free Software Foundation, Inc.,
|
||||
675 Mass Ave, Cambridge, MA 02139, USA</p>
|
||||
You should have received a
|
||||
copy of the GNU General Public License
|
||||
along with this program; if not,
|
||||
write to the Free Software Foundation,
|
||||
Inc., 675 Mass Ave, Cambridge, MA 02139,
|
||||
USA</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><a href="copyright.htm">Copyright 2001, 2002, 2003 Thomas M. Eastep</a></p>
|
||||
|
||||
|
||||
@ -106,360 +139,481 @@ the GNU General Public License
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2>This is the Shorewall 1.4 Web Site</h2>
|
||||
The information on this site applies only to 1.4.x releases of Shorewall.
|
||||
For older versions:<br>
|
||||
|
||||
<ul>
|
||||
<li>The 1.3 site is <a
|
||||
href="http://www.shorewall.net/1.3" target="_top">here.</a></li>
|
||||
<li>The 1.2 site is <a href="http://shorewall.net/1.2/"
|
||||
target="_top">here</a>.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Getting Started with Shorewall</h2>
|
||||
New to Shorewall? Start by selecting
|
||||
the <a href="shorewall_quickstart_guide.htm">QuickStart Guide</a>
|
||||
that most closely match your environment and follow the
|
||||
step by step instructions.<br>
|
||||
|
||||
|
||||
<h2>Looking for Information?</h2>
|
||||
The <a href="shorewall_quickstart_guide.htm#Documentation">Documentation
|
||||
Index</a> is a good place to start as is the Quick Search to your right.
|
||||
|
||||
<h2>Running Shorewall on Mandrake with a two-interface setup?</h2>
|
||||
If so, almost <b>NOTHING </b>on this site will apply directly
|
||||
to your setup. If you want to use the documentation that you find here,
|
||||
it is best if you uninstall what you have and install a setup that
|
||||
matches the documentation on this site. See the <a
|
||||
href="two-interface.htm">Two-interface QuickStart Guide</a> for details.<br>
|
||||
|
||||
|
||||
<h2> Getting Started with Shorewall</h2>
|
||||
New to Shorewall? Start by selecting the <a
|
||||
href="shorewall_quickstart_guide.htm">QuickStart Guide</a> that most closely
|
||||
match your environment and follow the step by step instructions.<br>
|
||||
|
||||
|
||||
|
||||
If so, the documentation<b> </b>on this site
|
||||
will not apply directly to your setup. If you want to use the
|
||||
documentation that you find here, you will want to consider uninstalling
|
||||
what you have and installing a setup that matches the documentation
|
||||
on this site. See the <a href="two-interface.htm">Two-interface
|
||||
QuickStart Guide</a> for details.<br>
|
||||
|
||||
|
||||
<h2>News</h2>
|
||||
|
||||
|
||||
|
||||
|
||||
<p><b>6/17/2003 - Shorewall-1.4.5</b><b> </b><b><img
|
||||
border="0" src="images/new10.gif" width="28" height="12" alt="(New)">
|
||||
</b></p>
|
||||
|
||||
<p>Problems Corrected:<br>
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<ol>
|
||||
<li>The command "shorewall debug try <directory>" now correctly
|
||||
traces the attempt.</li>
|
||||
<li>The INCLUDE directive now works properly in the zones file; previously,
|
||||
INCLUDE in that file was ignored.</li>
|
||||
<li>/etc/shorewall/routestopped records with an empty second column
|
||||
are no longer ignored.<br>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>New Features:<br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] rule may
|
||||
now contain a list of addresses. If the list begins with "!' then the rule
|
||||
will take effect only if the original destination address in the connection
|
||||
request does not match any of the addresses listed.</li>
|
||||
</ol>
|
||||
<p><b>6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8</b><b>
|
||||
</b><b><img border="0" src="images/new10.gif" width="28"
|
||||
height="12" alt="(New)">
|
||||
</b></p>
|
||||
|
||||
<p>The firewall at shorewall.net has been upgraded to the 2.4.21 kernel
|
||||
and iptables 1.2.8 (using the "official" RPM from netfilter.org). No problems
|
||||
have been encountered with this set of software. The Shorewall version is
|
||||
1.4.4b plus the accumulated changes for 1.4.5.<br>
|
||||
</p>
|
||||
|
||||
<p><b>6/8/2003 - Updated Samples</b><b> </b></p>
|
||||
|
||||
<p>Thanks to Francesca Smith, the samples have been updated to Shorewall
|
||||
version 1.4.4.</p>
|
||||
|
||||
<p><b>5/29/2003 - Shorewall-1.4.4b</b><b> </b></p>
|
||||
|
||||
<p>Groan -- This version corrects a problem whereby the --log-level
|
||||
was not being set when logging via syslog. The most commonly reported symptom
|
||||
was that Shorewall messages were being written to the console even though
|
||||
console logging was correctly configured per <a href="FAQ.htm#faq16">FAQ
|
||||
16</a>.<br>
|
||||
</p>
|
||||
|
||||
<p><b>5/27/2003 - Shorewall-1.4.4a</b><b> </b></p>
|
||||
The Fireparse --log-prefix fiasco continues. Tuomo Soini has pointed
|
||||
out that the code in 1.4.4 restricts the length of short zone names to
|
||||
4 characters. I've produced version 1.4.4a that restores the previous
|
||||
5-character limit by conditionally omitting the log rule number when
|
||||
the LOGFORMAT doesn't contain '%d'.
|
||||
|
||||
<p><b>5/23/2003 - Shorewall-1.4.4</b><b> </b><b>
|
||||
</b></p>
|
||||
I apologize for the rapid-fire releases but since there is a potential
|
||||
configuration change required to go from 1.4.3a to 1.4.4, I decided to
|
||||
make it a full release rather than just a bug-fix release. <br>
|
||||
<br>
|
||||
<b> Problems corrected:</b><br>
|
||||
|
||||
<blockquote>None.<br>
|
||||
</blockquote>
|
||||
<b> New Features:<br>
|
||||
</b>
|
||||
|
||||
<ol>
|
||||
<li>A REDIRECT- rule target has been added. This target
|
||||
behaves for REDIRECT in the same way as DNAT- does for DNAT in that the
|
||||
Netfilter nat table REDIRECT rule is added but not the companion filter
|
||||
table ACCEPT rule.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The LOGMARKER variable has been renamed LOGFORMAT and
|
||||
has been changed to a 'printf' formatting template which accepts three
|
||||
arguments (the chain name, logging rule number and the disposition).
|
||||
To use LOGFORMAT with fireparse (<a href="http://www.fireparse.com">http://www.fireparse.com</a>),
|
||||
set it as:<br>
|
||||
<br>
|
||||
LOGFORMAT="fp=%s:%d a=%s "<br>
|
||||
<br>
|
||||
<b>CAUTION: </b>/sbin/shorewall uses the leading part of the
|
||||
LOGFORMAT string (up to but not including the first '%') to find log
|
||||
messages in the 'show log', 'status' and 'hits' commands. This part should
|
||||
not be omitted (the LOGFORMAT should not begin with "%") and the leading
|
||||
part should be sufficiently unique for /sbin/shorewall to identify Shorewall
|
||||
messages.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>When logging is specified on a DNAT[-] or REDIRECT[-]
|
||||
rule, the logging now takes place in the nat table rather than in the
|
||||
filter table. This way, only those connections that actually undergo DNAT
|
||||
or redirection will be logged.<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><b>5/20/2003 - Shorewall-1.4.3a</b><br>
|
||||
</p>
|
||||
This version primarily corrects the documentation included in
|
||||
the .tgz and in the .rpm. In addition: <br>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>(This change is in 1.4.3 but is not documented) If
|
||||
you are running iptables 1.2.7a and kernel 2.4.20, then Shorewall will
|
||||
return reject replies as follows:<br>
|
||||
a) tcp - RST<br>
|
||||
b) udp - ICMP port unreachable<br>
|
||||
c) icmp - ICMP host unreachable<br>
|
||||
d) Otherwise - ICMP host prohibited<br>
|
||||
If you are running earlier software, Shorewall will follow it's
|
||||
traditional convention:<br>
|
||||
a) tcp - RST<br>
|
||||
b) Otherwise - ICMP port unreachable</li>
|
||||
<li>UDP port 135 is now silently dropped in the common.def
|
||||
chain. Remember that this chain is traversed just before a DROP or REJECT
|
||||
policy is enforced.<br>
|
||||
</li>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>5/18/2003 - Shorewall 1.4.3</b><br>
|
||||
</p>
|
||||
<b>Problems Corrected:<br>
|
||||
</b>
|
||||
|
||||
<ol>
|
||||
<li>There were several cases where Shorewall would fail
|
||||
to remove a temporary directory from /tmp. These cases have been corrected.</li>
|
||||
<li>The rules for allowing all traffic via the loopback
|
||||
interface have been moved to before the rule that drops status=INVALID
|
||||
packets. This insures that all loopback traffic is allowed even if
|
||||
Netfilter connection tracking is confused.</li>
|
||||
|
||||
|
||||
</ol>
|
||||
<b>New Features:<br>
|
||||
</b>
|
||||
|
||||
<ol>
|
||||
<li> <a href="6to4.htm">IPV6-IPV4 (6to4) tunnels are</a>
|
||||
now supported in the /etc/shorewall/tunnels file.</li>
|
||||
<li>You may now change the leading portion of the --log-prefix
|
||||
used by Shorewall using the LOGMARKER variable in shorewall.conf. By
|
||||
default, "Shorewall:" is used.<br>
|
||||
</li>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>5/10/2003 - Shorewall Mirror in Asia</b><b> </b><br>
|
||||
</p>
|
||||
Ed Greshko has established a mirror in Taiwan -- Thanks
|
||||
Ed!
|
||||
|
||||
<p><b>5/8/2003 - Shorewall Mirror in Chile</b><b> </b></p>
|
||||
|
||||
|
||||
<p>Thanks to Darcy Ganga, there is now an HTTP mirror in Santiago Chile.<br>
|
||||
</p>
|
||||
|
||||
|
||||
<p><b>4/26/2003 - lists.shorewall.net Downtime</b><b> </b></p>
|
||||
|
||||
|
||||
|
||||
<p>The list server will be down this morning for upgrade to RH9.0.<br>
|
||||
</p>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<p><b>4/21/2003 - Samples updated for Shorewall version 1.4.2</b><b>
|
||||
</b></p>
|
||||
|
||||
<p><b>7/20/2003 - Shorewall-1.4.6</b><b> <img border="0"
|
||||
src="images/new10.gif" width="28" height="12" alt="(New)">
|
||||
<br>
|
||||
</b></p>
|
||||
|
||||
|
||||
<blockquote> </blockquote>
|
||||
|
||||
<p><b>Problems Corrected:</b><br>
|
||||
</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>A problem seen on RH7.3 systems where Shorewall encountered
|
||||
start errors when started using the "service" mechanism has been worked
|
||||
around.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Where a list of IP addresses appears in the DEST column
|
||||
of a DNAT[-] rule, Shorewall incorrectly created multiple DNAT rules
|
||||
in the nat table (one for each element in the list). Shorewall now correctly
|
||||
creates a single DNAT rule with multiple "--to-destination" clauses.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Corrected a problem in Beta 1 where DNS names containing
|
||||
a "-" were mis-handled when they appeared in the DEST column of a rule.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>A number of problems with rule parsing have been corrected.
|
||||
Corrections involve the handling of "z1!z2" in the SOURCE column as well
|
||||
as lists in the ORIGINAL DESTINATION column.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The message "Adding rules for DHCP" is now suppressed if there
|
||||
are no DHCP rules to add.<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>Migration Issues:</b><br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>In earlier versions, an undocumented feature allowed
|
||||
entries in the host file as follows:<br>
|
||||
<br>
|
||||
z eth1:192.168.1.0/24,eth2:192.168.2.0/24<br>
|
||||
<br>
|
||||
This capability was never documented and has been removed in 1.4.6
|
||||
to allow entries of the following format:<br>
|
||||
<br>
|
||||
z eth1:192.168.1.0/24,192.168.2.0/24<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT options
|
||||
have been removed from /etc/shorewall/shorewall.conf. These capabilities
|
||||
are now automatically detected by Shorewall (see below).<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><b>New Features:</b><br>
|
||||
</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>A 'newnotsyn' interface option has been added. This
|
||||
option may be specified in /etc/shorewall/interfaces and overrides the
|
||||
setting NEWNOTSYN=No for packets arriving on the associated interface.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The means for specifying a range of IP addresses in
|
||||
/etc/shorewall/masq to use for SNAT is now documented. ADD_SNAT_ALIASES=Yes
|
||||
is enabled for address ranges.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Shorewall can now add IP addresses to subnets other
|
||||
than the first one on an interface.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>DNAT[-] rules may now be used to load balance (round-robin)
|
||||
over a set of servers. Servers may be specified in a range of addresses
|
||||
given as <first address>-<last address>.<br>
|
||||
<br>
|
||||
Example:<br>
|
||||
<br>
|
||||
DNAT net loc:192.168.10.2-192.168.10.5 tcp 80<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration
|
||||
options have been removed and have been replaced by code that detects
|
||||
whether these capabilities are present in the current kernel. The output
|
||||
of the start, restart and check commands have been enhanced to report the
|
||||
outcome:<br>
|
||||
<br>
|
||||
Shorewall has detected the following iptables/netfilter capabilities:<br>
|
||||
NAT: Available<br>
|
||||
Packet Mangling: Available<br>
|
||||
Multi-port Match: Available<br>
|
||||
Verifying Configuration...<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Support for the Connection Tracking Match Extension
|
||||
has been added. This extension is available in recent kernel/iptables
|
||||
releases and allows for rules which match against elements in netfilter's
|
||||
connection tracking table. Shorewall automatically detects the availability
|
||||
of this extension and reports its availability in the output of the start,
|
||||
restart and check commands.<br>
|
||||
<br>
|
||||
Shorewall has detected the following iptables/netfilter capabilities:<br>
|
||||
NAT: Available<br>
|
||||
Packet Mangling: Available<br>
|
||||
Multi-port Match: Available<br>
|
||||
Connection Tracking Match: Available<br>
|
||||
Verifying Configuration...<br>
|
||||
<br>
|
||||
If this extension is available, the ruleset generated by Shorewall
|
||||
is changed in the following ways:</li>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>To handle 'norfc1918' filtering, Shorewall will not
|
||||
create chains in the mangle table but will rather do all 'norfc1918'
|
||||
filtering in the filter table (rfc1918 chain).</li>
|
||||
<li>Recall that Shorewall DNAT rules generate two netfilter
|
||||
rules; one in the nat table and one in the filter table. If the Connection
|
||||
Tracking Match Extension is available, the rule in the filter table is
|
||||
extended to check that the original destination address was the same as
|
||||
specified (or defaulted to) in the DNAT rule.<br>
|
||||
<br>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
<li>The shell used to interpret the firewall script (/usr/share/shorewall/firewall)
|
||||
may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>An 'ipcalc' command has been added to /sbin/shorewall.<br>
|
||||
<br>
|
||||
ipcalc [ <address> <netmask> | <address>/<vlsm>
|
||||
]<br>
|
||||
<br>
|
||||
Examples:<br>
|
||||
<br>
|
||||
[root@wookie root]# shorewall ipcalc 192.168.1.0/24<br>
|
||||
CIDR=192.168.1.0/24<br>
|
||||
NETMASK=255.255.255.0<br>
|
||||
NETWORK=192.168.1.0<br>
|
||||
BROADCAST=192.168.1.255<br>
|
||||
[root@wookie root]#<br>
|
||||
<br>
|
||||
[root@wookie root]# shorewall ipcalc 192.168.1.0 255.255.255.0<br>
|
||||
CIDR=192.168.1.0/24<br>
|
||||
NETMASK=255.255.255.0<br>
|
||||
NETWORK=192.168.1.0<br>
|
||||
BROADCAST=192.168.1.255<br>
|
||||
[root@wookie root]#<br>
|
||||
<br>
|
||||
Warning:<br>
|
||||
<br>
|
||||
If your shell only supports 32-bit signed arithmatic (ash or dash),
|
||||
then the ipcalc command produces incorrect information for IP addresses
|
||||
128.0.0.0-1 and for /1 networks. Bash should produce correct information
|
||||
for all valid IP addresses.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>An 'iprange' command has been added to /sbin/shorewall.
|
||||
<br>
|
||||
<br>
|
||||
iprange <address>-<address><br>
|
||||
<br>
|
||||
This command decomposes a range of IP addressses into a list of
|
||||
network and host addresses. The command can be useful if you need to construct
|
||||
an efficient set of rules that accept connections from a range of network
|
||||
addresses.<br>
|
||||
<br>
|
||||
Note: If your shell only supports 32-bit signed arithmetic (ash
|
||||
or dash) then the range may not span 128.0.0.0.<br>
|
||||
<br>
|
||||
Example:<br>
|
||||
<br>
|
||||
[root@gateway root]# shorewall iprange 192.168.1.4-192.168.12.9<br>
|
||||
192.168.1.4/30<br>
|
||||
192.168.1.8/29<br>
|
||||
192.168.1.16/28<br>
|
||||
192.168.1.32/27<br>
|
||||
192.168.1.64/26<br>
|
||||
192.168.1.128/25<br>
|
||||
192.168.2.0/23<br>
|
||||
192.168.4.0/22<br>
|
||||
192.168.8.0/22<br>
|
||||
192.168.12.0/29<br>
|
||||
192.168.12.8/31<br>
|
||||
[root@gateway root]#<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>A list of host/net addresses is now allowed in an entry
|
||||
in /etc/shorewall/hosts.<br>
|
||||
<br>
|
||||
Example:<br>
|
||||
<br>
|
||||
foo eth1:192.168.1.0/24,192.168.2.0/24<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The "shorewall check" command now includes the chain name when
|
||||
printing the applicable policy for each pair of zones.<br>
|
||||
<br>
|
||||
Example:<br>
|
||||
<br>
|
||||
Policy for dmz to net is REJECT using chain all2all<br>
|
||||
<br>
|
||||
This means that the policy for connections from the dmz to the internet is
|
||||
REJECT and the applicable entry in the /etc/shorewall/policy was the all->all
|
||||
policy.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Support for the 2.6 Kernel series has been added.<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><b>7/15/2003 - New Mirror in Brazil</b><b> <img border="0"
|
||||
src="images/new10.gif" width="28" height="12" alt="(New)">
|
||||
<br>
|
||||
</b></p>
|
||||
Thanks to the folks at securityopensource.org.br, there is now a <a
|
||||
href="http://shorewall.securityopensource.org.br" target="_top">Shorewall
|
||||
mirror in Brazil</a>.
|
||||
<p><b>6/17/2003 - Shorewall-1.4.5</b><b> </b></p>
|
||||
|
||||
|
||||
<p>Problems Corrected:<br>
|
||||
</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>The command "shorewall debug try <directory>"
|
||||
now correctly traces the attempt.</li>
|
||||
<li>The INCLUDE directive now works properly in the
|
||||
zones file; previously, INCLUDE in that file was ignored.</li>
|
||||
<li>/etc/shorewall/routestopped records with an empty
|
||||
second column are no longer ignored.<br>
|
||||
</li>
|
||||
|
||||
|
||||
<p>Thanks to Francesca Smith, the sample configurations are now upgraded
|
||||
to Shorewall version 1.4.2.</p>
|
||||
</ol>
|
||||
|
||||
|
||||
<p>New Features:<br>
|
||||
</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-]
|
||||
rule may now contain a list of addresses. If the list begins with
|
||||
"!' then the rule will take effect only if the original destination
|
||||
address in the connection request does not match any of the addresses
|
||||
listed.</li>
|
||||
|
||||
|
||||
<p><b>4/12/2002 - Greater Seattle Linux Users Group Presentation</b><b>
|
||||
</b></p>
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8</b><b>
|
||||
</b></p>
|
||||
|
||||
|
||||
<p>The firewall at shorewall.net has been upgraded to the 2.4.21 kernel
|
||||
and iptables 1.2.8 (using the "official" RPM from netfilter.org).
|
||||
No problems have been encountered with this set of software. The Shorewall
|
||||
version is 1.4.4b plus the accumulated changes for 1.4.5.<br>
|
||||
</p>
|
||||
|
||||
|
||||
<p><b>6/8/2003 - Updated Samples</b><b> </b></p>
|
||||
|
||||
|
||||
<p>Thanks to Francesca Smith, the samples have been updated to Shorewall
|
||||
version 1.4.4.</p>
|
||||
|
||||
|
||||
<p><b></b></p>
|
||||
|
||||
|
||||
<ol>
|
||||
|
||||
|
||||
|
||||
|
||||
<blockquote>This morning, I gave <a href="GSLUG.htm" target="_top">a
|
||||
Shorewall presentation to GSLUG</a>. The presentation
|
||||
is in HTML format but was generated from Microsoft PowerPoint and
|
||||
is best viewed using Internet Explorer (although Konqueror also seems
|
||||
to work reasonably well as does Opera 7.1.0). Neither Opera 6 nor
|
||||
Netscape work well to view the presentation.<br>
|
||||
</blockquote>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<blockquote>
|
||||
|
||||
<ol>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ol>
|
||||
</blockquote>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><a href="News.htm">More News</a></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p> <a href="http://leaf.sourceforge.net" target="_top"><img
|
||||
border="0" src="images/leaflogo.gif" width="49" height="36"
|
||||
alt="(Leaf Logo)">
|
||||
|
||||
</a>Jacques Nilo and Eric Wolzak
|
||||
have a LEAF (router/firewall/gateway on
|
||||
a floppy, CD or compact flash) distribution
|
||||
called <i>Bering</i> that features
|
||||
Shorewall-1.3.14 and Kernel-2.4.20. You
|
||||
can find their work at: <a
|
||||
href="http://leaf.sourceforge.net/devel/jnilo"> http://leaf.sourceforge.net/devel/jnilo<br>
|
||||
</a>Jacques Nilo and Eric
|
||||
Wolzak have a LEAF (router/firewall/gateway
|
||||
on a floppy, CD or compact flash) distribution
|
||||
called <i>Bering</i> that
|
||||
features Shorewall-1.4.2 and Kernel-2.4.20.
|
||||
You can find their work at:
|
||||
<a href="http://leaf.sourceforge.net/devel/jnilo"> http://leaf.sourceforge.net/devel/jnilo<br>
|
||||
|
||||
</a></p>
|
||||
</a></p>
|
||||
|
||||
|
||||
<b>Congratulations to Jacques and Eric on the recent release
|
||||
of Bering 1.2!!! </b><br>
|
||||
<b>Congratulations to Jacques and Eric
|
||||
on the recent release of Bering 1.2!!! </b><br>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2><a name="Donations"></a>Donations</h2>
|
||||
</td>
|
||||
|
||||
<td width="88" bgcolor="#4b017c" valign="top"
|
||||
align="center">
|
||||
</td>
|
||||
|
||||
|
||||
<td width="88" bgcolor="#3366ff"
|
||||
valign="top" align="center">
|
||||
|
||||
|
||||
|
||||
|
||||
<form method="post"
|
||||
action="http://lists.shorewall.net/cgi-bin/htsearch">
|
||||
<strong><br>
|
||||
<font
|
||||
<font
|
||||
color="#ffffff"><b>Note: </b></font></strong><font
|
||||
color="#ffffff">Search is unavailable Daily 0200-0330 GMT.</font><br>
|
||||
<strong></strong>
|
||||
<strong></strong>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><font color="#ffffff"><strong>Quick Search</strong></font><br>
|
||||
<font
|
||||
face="Arial" size="-1"> <input type="text" name="words"
|
||||
size="15"></font><font size="-1"> </font> <font face="Arial"
|
||||
size="-1"> <input type="hidden" name="format" value="long"> <input
|
||||
type="hidden" name="method" value="and"> <input type="hidden"
|
||||
name="config" value="htdig"> <input type="submit" value="Search"></font>
|
||||
</p>
|
||||
<font
|
||||
face="Arial"> <input type="hidden" name="exclude"
|
||||
value="[http://lists.shorewall.net/pipermail/*]"> </font> </form>
|
||||
|
||||
<font face="Arial" size="-1"> <input type="text"
|
||||
name="words" size="15"></font><font size="-1"> </font> <font
|
||||
face="Arial" size="-1"> <input type="hidden" name="format"
|
||||
value="long"> <input type="hidden" name="method" value="and"> <input
|
||||
type="hidden" name="config" value="htdig"> <input type="submit"
|
||||
value="Search"></font> </p>
|
||||
|
||||
<font face="Arial"> <input type="hidden"
|
||||
name="exclude" value="[http://lists.shorewall.net/pipermail/*]"> </font>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><font color="#ffffff"><b><a
|
||||
href="http://lists.shorewall.net/htdig/search.html"><font
|
||||
color="#ffffff">Extended Search</font></a></b></font></p>
|
||||
<br>
|
||||
</td>
|
||||
<br>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</center>
|
||||
</center>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<table border="0" cellpadding="5" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber2"
|
||||
bgcolor="#4b017c">
|
||||
bgcolor="#3366ff">
|
||||
|
||||
<tbody>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<tr>
|
||||
|
||||
<td width="100%" style="margin-top: 1px;"
|
||||
valign="middle">
|
||||
<td width="100%"
|
||||
style="margin-top: 1px;" valign="middle">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="center"><a href="http://www.starlight.org"> <img
|
||||
border="4" src="images/newlog.gif" width="57" height="100" align="left"
|
||||
hspace="10" alt="(Starlight Logo)">
|
||||
|
||||
</a></p>
|
||||
</a></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="center"><font size="4" color="#ffffff"><br>
|
||||
<font size="+2"> Shorewall is free but if you try it and find
|
||||
it useful, please consider making a donation
|
||||
to <a
|
||||
href="http://www.starlight.org"><font color="#ffffff">Starlight Children's
|
||||
Foundation.</font></a> Thanks!</font></font></p>
|
||||
<font size="+2"> Shorewall is free but if
|
||||
you try it and find it useful, please consider making a donation
|
||||
to
|
||||
<a href="http://www.starlight.org"><font
|
||||
color="#ffffff">Starlight Children's Foundation.</font></a>
|
||||
Thanks!</font></font></p>
|
||||
|
||||
</td>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p><font size="2">Updated 6/17/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
<br>
|
||||
|
||||
|
||||
<p><font size="2">Updated 7/19/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
<br>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,135 +1,138 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>About the Shorewall Author</title>
|
||||
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta name="Microsoft Theme" content="none">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Tom Eastep</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p align="center"> <img border="3" src="images/Tom.jpg"
|
||||
alt="Tom - June 2003" width="640" height="480">
|
||||
</p>
|
||||
|
||||
alt="Aging Geek - June 2003" width="320" height="240">
|
||||
</p>
|
||||
|
||||
<p align="center">Tom -- June 2003<br>
|
||||
<br>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Born 1945 in <a
|
||||
<li>Born 1945 in <a
|
||||
href="http://www.experiencewashington.com">Washington State</a> .</li>
|
||||
<li>BA Mathematics from <a
|
||||
<li>BA Mathematics from <a
|
||||
href="http://www.wsu.edu">Washington State University</a> 1967</li>
|
||||
<li>MA Mathematics from <a
|
||||
<li>MA Mathematics from <a
|
||||
href="http://www.washington.edu">University of Washington</a> 1969</li>
|
||||
<li>Burroughs Corporation (now <a
|
||||
<li>Burroughs Corporation (now <a
|
||||
href="http://www.unisys.com">Unisys</a> ) 1969 - 1980</li>
|
||||
<li><a href="http://www.tandem.com">Tandem Computers,
|
||||
Incorporated</a> (now part of the <a
|
||||
<li><a href="http://www.tandem.com">Tandem
|
||||
Computers, Incorporated</a> (now part of the <a
|
||||
href="http://www.hp.com">The New HP</a>) 1980 - present</li>
|
||||
<li>Married 1969 - no children.</li>
|
||||
|
||||
<li>Married 1969 - no children.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p>I am currently a member of the design team for the next-generation operating
|
||||
system from the NonStop Enterprise Division of HP. </p>
|
||||
|
||||
system from the NonStop Enterprise Division of HP. </p>
|
||||
|
||||
<p>I became interested in Internet Security when I established a home office
|
||||
in 1999 and had DSL service installed in our home. I investigated
|
||||
ipchains and developed the scripts which are now collectively known
|
||||
as <a href="http://seawall.sourceforge.net"> Seattle Firewall</a>.
|
||||
Expanding on what I learned from Seattle Firewall, I then
|
||||
designed and wrote Shorewall. </p>
|
||||
|
||||
in 1999 and had DSL service installed in our home. I investigated
|
||||
ipchains and developed the scripts which are now collectively
|
||||
known as <a href="http://seawall.sourceforge.net"> Seattle Firewall</a>.
|
||||
Expanding on what I learned from Seattle Firewall, I then
|
||||
designed and wrote Shorewall. </p>
|
||||
|
||||
<p>I telework from our <a
|
||||
href="http://lists.shorewall.net/SeattleInTheSpring.html">home</a> in <a
|
||||
href="http://www.cityofshoreline.com">Shoreline, Washington</a> where
|
||||
I live with my wife Tarry. </p>
|
||||
|
||||
|
||||
<p>Our current home network consists of: </p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>1.2Gz Athlon, Windows XP Pro, 320MB RAM,
|
||||
40GB & 20GB IDE HDs and LNE100TX (Tulip) NIC - My personal
|
||||
Windows system. Serves as a PPTP server for Road Warrior access. Dual
|
||||
boots <a href="http://www.mandrakelinux.com">Mandrake</a> 9.0.</li>
|
||||
<li>Celeron 1.4Gz, RH8.0, 384MB RAM, 60GB HD,
|
||||
LNE100TX(Tulip) NIC - My personal Linux System which runs Samba.
|
||||
This system also has <a href="http://www.vmware.com/">VMware</a>
|
||||
installed and can run both <a href="http://www.debian.org">Debian
|
||||
Woody</a> and <a href="http://www.suse.com">SuSE 8.1</a> in virtual
|
||||
machines.</li>
|
||||
<li>K6-2/350, RH8.0, 384MB RAM, 8GB IDE HD, EEPRO100
|
||||
NIC - Email (Postfix, Courier-IMAP and Mailman), HTTP (Apache),
|
||||
FTP (Pure_ftpd), DNS server (Bind 9).</li>
|
||||
<li>PII/233, RH8.0, 256MB MB RAM, 2GB SCSI HD
|
||||
- 3 LNE100TX (Tulip) and 1 TLAN NICs - Firewall running Shorewall
|
||||
1.4.4c, a DHCP server and Samba configured as a WINS server..</li>
|
||||
<li>Duron 750, Win ME, 192MB RAM, 20GB HD, RTL8139
|
||||
NIC - My wife's personal system.</li>
|
||||
<li>PII/400 Laptop, WinXP SP1, 224MB RAM, 12GB
|
||||
HD, built-in EEPRO100, EEPRO100 in expansion base - My work system.</li>
|
||||
<li>XP 2200 Laptop, WinXP SP1, 512MB RAM, 40GB HD, built-in NIC and
|
||||
LinkSys WET11 - Our Laptop.<br>
|
||||
</li>
|
||||
|
||||
<li>1.2Gz Athlon, Windows XP Pro, 320MB RAM,
|
||||
40GB & 20GB IDE HDs and LNE100TX (Tulip) NIC - My personal
|
||||
Windows system. Serves as a PPTP server for Road Warrior access. Dual
|
||||
boots <a href="http://www.mandrakelinux.com">Mandrake</a> 9.0.</li>
|
||||
<li>Celeron 1.4Gz, RH8.0, 384MB RAM, 60GB HD,
|
||||
LNE100TX(Tulip) NIC - My personal Linux System which runs
|
||||
Samba. This system also has <a href="http://www.vmware.com/">VMware</a>
|
||||
installed and can run both <a href="http://www.debian.org">Debian
|
||||
Woody</a> and <a href="http://www.suse.com">SuSE 8.1</a> in virtual
|
||||
machines.</li>
|
||||
<li>K6-2/350, RH8.0, 384MB RAM, 8GB IDE HD,
|
||||
EEPRO100 NIC - Email (Postfix, Courier-IMAP and Mailman), HTTP (Apache),
|
||||
FTP (Pure_ftpd), DNS server (Bind 9).</li>
|
||||
<li>PII/233, RH8.0, 256MB MB RAM, 2GB SCSI
|
||||
HD - 3 LNE100TX (Tulip) and 1 TLAN NICs - Firewall running Shorewall
|
||||
1.4.6Beta1, a DHCP server and Samba configured as a WINS server..</li>
|
||||
<li>Duron 750, Win ME, 192MB RAM, 20GB HD,
|
||||
RTL8139 NIC - My wife's personal system.</li>
|
||||
<li>PII/400 Laptop, WinXP SP1, 224MB RAM, 12GB
|
||||
HD, built-in EEPRO100, EEPRO100 in expansion base - My work system.</li>
|
||||
<li>XP 2200 Laptop, WinXP SP1, 512MB RAM, 40GB HD, built-in NIC
|
||||
and LinkSys WET11 - Our Laptop.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p>For more about our network see <a href="myfiles.htm">my Shorewall Configuration</a>.</p>
|
||||
|
||||
|
||||
<p>All of our other systems are made by <a
|
||||
href="http://www.compaq.com">Compaq</a> (part of the new <a
|
||||
href="http://www.hp.com/">HP</a>).. All of our Tulip NICs are <a
|
||||
href="http://www.netgear.com">Netgear</a> FA310TXs.</p>
|
||||
|
||||
|
||||
<p><a href="http://www.redhat.com"><img border="0"
|
||||
src="images/poweredby.png" width="88" height="31">
|
||||
</a><a href="http://www.compaq.com"><img
|
||||
</a><a href="http://www.compaq.com"><img
|
||||
border="0" src="images/poweredbycompaqlog0.gif" hspace="3" width="83"
|
||||
height="25">
|
||||
</a><a href="http://www.pureftpd.org"><img
|
||||
</a><a href="http://www.pureftpd.org"><img
|
||||
border="0" src="images/pure.jpg" width="88" height="31">
|
||||
</a><font size="4"><a
|
||||
</a><font size="4"><a
|
||||
href="http://www.apache.org"><img border="0"
|
||||
src="images/apache_pb1.gif" hspace="2" width="170" height="20">
|
||||
</a><a href="http://www.mandrakelinux.com"><img
|
||||
</a><a href="http://www.mandrakelinux.com"><img
|
||||
src="images/medbutton.png" alt="Powered by Mandrake" width="90"
|
||||
height="32">
|
||||
</a><img src="images/shorewall.jpg"
|
||||
</a><img src="images/shorewall.jpg"
|
||||
alt="Protected by Shorewall" width="125" height="40" hspace="4">
|
||||
<a href="http://www.opera.com"><img src="images/opera.png"
|
||||
<a href="http://www.opera.com"><img src="images/opera.png"
|
||||
alt="(Opera Logo)" width="102" height="39" border="0">
|
||||
</a> <a href="http://www.hp.com"><img
|
||||
</a> <a href="http://www.hp.com"><img
|
||||
src="images/penquin_in_blue_racer_sm2.gif" alt="" width="120"
|
||||
height="75" border="0">
|
||||
</a><a href="http://www.opera.com"> </a> </font></p>
|
||||
|
||||
<p><font size="2">Last updated 6/15/2003 - </font><font size="2"> <a
|
||||
</a><a href="http://www.opera.com"> </a> </font></p>
|
||||
|
||||
<p><font size="2">Last updated 7/14/2003 - </font><font size="2"> <a
|
||||
href="support.htm">Tom Eastep</a></font> </p>
|
||||
<font face="Trebuchet MS"><a
|
||||
<font face="Trebuchet MS"><a
|
||||
href="copyright.htm"><font size="2">Copyright</font> © <font
|
||||
size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,126 +1,118 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Extension Scripts</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
<td width="100%">
|
||||
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Extension Scripts</font></h1>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p> Extension scripts are user-provided scripts that are invoked at various
|
||||
points during firewall start, restart, stop and clear. The scripts are
|
||||
placed in /etc/shorewall and are processed using the Bourne shell "source"
|
||||
mechanism. The following scripts can be supplied:</p>
|
||||
|
||||
|
||||
<p> Extension scripts are user-provided scripts that are invoked at various
|
||||
points during firewall start, restart, stop and clear. The scripts are
|
||||
placed in /etc/shorewall and are processed using the Bourne shell "source"
|
||||
mechanism.<br>
|
||||
</p>
|
||||
|
||||
<p><font color="#ff0000"><b>Caution: <br>
|
||||
</b></font></p>
|
||||
|
||||
<ol>
|
||||
<li><font color="#ff0000"><b>Be sure that you actually need to use an
|
||||
extension script to do what you want. Shorewall has a wide range of features
|
||||
that cover most requirements.</b></font></li>
|
||||
<li><font color="#ff0000"><b>DO NOT SIMPLY COPY RULES THAT YOU FIND ON
|
||||
THE NET INTO AN EXTENSION SCRIPT AND EXPECT THEM TO WORK AND TO NOT BREAK
|
||||
SHOREWALL. TO USE SHOREWALL EXTENSION SCRIPTS YOU MUST KNOW WHAT YOU ARE
|
||||
DOING WITH RESPECT TO iptables/Netfilter</b></font></li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p>The following scripts can be supplied:</p>
|
||||
|
||||
<ul>
|
||||
<li>init -- invoked early in "shorewall start" and "shorewall
|
||||
restart"</li>
|
||||
<li>start -- invoked after the firewall has been started or restarted.</li>
|
||||
<li>stop -- invoked as a first step when the firewall is being stopped.</li>
|
||||
<li>stopped -- invoked after the firewall has been stopped.</li>
|
||||
<li>clear -- invoked after the firewall has been cleared.</li>
|
||||
<li>refresh -- invoked while the firewall is being refreshed but before
|
||||
the common and/or blacklst chains have been rebuilt.</li>
|
||||
<li>newnotsyn (added in version 1.3.6) -- invoked after the 'newnotsyn'
|
||||
chain has been created but before any rules have been added to it.</li>
|
||||
|
||||
<li>init -- invoked early in "shorewall start" and "shorewall
|
||||
restart"</li>
|
||||
<li>start -- invoked after the firewall has been started or restarted.</li>
|
||||
<li>stop -- invoked as a first step when the firewall is being stopped.</li>
|
||||
<li>stopped -- invoked after the firewall has been stopped.</li>
|
||||
<li>clear -- invoked after the firewall has been cleared.</li>
|
||||
<li>refresh -- invoked while the firewall is being refreshed but
|
||||
before the common and/or blacklst chains have been rebuilt.</li>
|
||||
<li>newnotsyn (added in version 1.3.6) -- invoked after the 'newnotsyn'
|
||||
chain has been created but before any rules have been added to it.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
<p><u><b>If your version of Shorewall doesn't have the file that you want
|
||||
to use from the above list, you can simply create the file yourself.</b></u></p>
|
||||
|
||||
<p> You can also supply a script with the same name as any of the filter
|
||||
chains in the firewall and the script will be invoked after the /etc/shorewall/rules
|
||||
file has been processed but before the /etc/shorewall/policy file has
|
||||
been processed.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p>The /etc/shorewall/common file receives special treatment. If this file
|
||||
is present, the rules that it defines will totally replace the default
|
||||
rules in the common chain. These default rules are contained in the
|
||||
file /etc/shorewall/common.def which may be used as a starting point
|
||||
for making your own customized file.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p> Rather than running iptables directly, you should run it using the
|
||||
function run_iptables. Similarly, rather than running "ip" directly,
|
||||
you should use run_ip. These functions accept the same arguments as the
|
||||
underlying command but cause the firewall to be stopped if an error occurs
|
||||
during processing of the command.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p> If you decide to create /etc/shorewall/common it is a good idea to use
|
||||
the following technique</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><u><b>If your version of Shorewall doesn't have the file that you want
|
||||
to use from the above list, you can simply create the file yourself.</b></u></p>
|
||||
|
||||
<p> You can also supply a script with the same name as any of the filter
|
||||
chains in the firewall and the script will be invoked after the /etc/shorewall/rules
|
||||
file has been processed but before the /etc/shorewall/policy file has
|
||||
been processed.</p>
|
||||
|
||||
<p>The /etc/shorewall/common file receives special treatment. If this file
|
||||
is present, the rules that it defines will totally replace the default
|
||||
rules in the common chain. These default rules are contained in the
|
||||
file /etc/shorewall/common.def which may be used as a starting point
|
||||
for making your own customized file.</p>
|
||||
|
||||
<p> Rather than running iptables directly, you should run it using the
|
||||
function run_iptables. Similarly, rather than running "ip" directly, you
|
||||
should use run_ip. These functions accept the same arguments as the underlying
|
||||
command but cause the firewall to be stopped if an error occurs during
|
||||
processing of the command.</p>
|
||||
|
||||
<p> If you decide to create /etc/shorewall/common it is a good idea to
|
||||
use the following technique</p>
|
||||
|
||||
<p> /etc/shorewall/common:</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<blockquote>
|
||||
|
||||
|
||||
<blockquote>
|
||||
<pre>. /etc/shorewall/common.def<br><add your rules here></pre>
|
||||
</blockquote>
|
||||
|
||||
<p>If you need to supercede a rule in the released common.def file, you can
|
||||
add the superceding rule before the '.' command. Using this technique allows
|
||||
you to add new rules while still getting the benefit of the latest common.def
|
||||
file.</p>
|
||||
|
||||
|
||||
|
||||
<p>Remember that /etc/shorewall/common defines rules that are only applied
|
||||
if the applicable policy is DROP or REJECT. These rules are NOT applied
|
||||
if the policy is ACCEPT or CONTINUE.</p>
|
||||
|
||||
|
||||
|
||||
<p align="left"><font size="2">Last updated 2/18/2003 - <a
|
||||
</blockquote>
|
||||
|
||||
<p>If you need to supercede a rule in the released common.def file, you can
|
||||
add the superceding rule before the '.' command. Using this technique allows
|
||||
you to add new rules while still getting the benefit of the latest common.def
|
||||
file.</p>
|
||||
|
||||
<p>Remember that /etc/shorewall/common defines rules that are only applied
|
||||
if the applicable policy is DROP or REJECT. These rules are NOT applied
|
||||
if the policy is ACCEPT or CONTINUE<br>
|
||||
</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p align="left"><font size="2">Last updated 6/30/2003 - <a
|
||||
href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
<p align="left"><a href="copyright.htm"><font size="2">Copyright 2002, 2003
|
||||
Thomas M. Eastep</font></a></p>
|
||||
|
||||
<p align="left"><a href="copyright.htm"><font size="2">Copyright 2002, 2003
|
||||
Thomas M. Eastep</font></a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,117 +1,118 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Shorewall Features</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Features</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>Uses Netfilter's connection tracking facilities for stateful packet
|
||||
<li>Uses Netfilter's connection tracking facilities for stateful packet
|
||||
filtering.</li>
|
||||
<li>Can be used in a <b> wide range of router/firewall/gateway applications</b>.
|
||||
|
||||
<li>Can be used in a <b> wide range of router/firewall/gateway applications</b>.
|
||||
|
||||
<ul>
|
||||
<li>Completely customizable using configuration files.</li>
|
||||
<li>No limit on the number of network interfaces.</li>
|
||||
<li>Allows you to partitions the network into <i><a
|
||||
href="Documentation.htm#Zones">zones</a></i> and gives you complete
|
||||
<li>Completely customizable using configuration files.</li>
|
||||
<li>No limit on the number of network interfaces.</li>
|
||||
<li>Allows you to partitions the network into <i><a
|
||||
href="Documentation.htm#Zones">zones</a></i> and gives you complete
|
||||
control over the connections permitted between each pair of zones.</li>
|
||||
<li>Multiple interfaces per zone and multiple zones per interface
|
||||
<li>Multiple interfaces per zone and multiple zones per interface
|
||||
permitted.</li>
|
||||
<li>Supports nested and overlapping zones.</li>
|
||||
|
||||
<li>Supports nested and overlapping zones.</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li> <a href="shorewall_quickstart_guide.htm">QuickStart Guides (HOWTOs)</a>
|
||||
</li>
|
||||
<li> <a href="shorewall_quickstart_guide.htm">QuickStart Guides (HOWTOs)</a>
|
||||
to help get your first firewall up and running quickly</li>
|
||||
<li>A <b>GUI</b> is available via Webmin 1.060 and later (<a
|
||||
<li>A <b>GUI</b> is available via Webmin 1.060 and later (<a
|
||||
href="http://www.webmin.com">http://www.webmin.com</a>)<br>
|
||||
</li>
|
||||
<li>Extensive <b> <a
|
||||
href="shorewall_quickstart_guide.htm#Documentation">documentation</a>
|
||||
</b> included in the .tgz and .rpm downloads.</li>
|
||||
<li><b>Flexible address management/routing support</b> (and you can
|
||||
use all types in the same firewall):
|
||||
</li>
|
||||
<li>Extensive <b> <a
|
||||
href="shorewall_quickstart_guide.htm#Documentation">documentation</a>
|
||||
</b> included in the .tgz and .rpm downloads.</li>
|
||||
<li><b>Flexible address management/routing support</b> (and you can
|
||||
use all types in the same firewall):
|
||||
<ul>
|
||||
<li><a href="Documentation.htm#Masq">Masquerading/SNAT</a></li>
|
||||
<li><a href="Documentation.htm#PortForward">Port Forwarding (DNAT)</a>.</li>
|
||||
<li><a href="Documentation.htm#NAT"> Static NAT</a>.</li>
|
||||
<li><a href="Documentation.htm#ProxyArp"> Proxy ARP</a>.</li>
|
||||
<li>Simple host/subnet Routing</li>
|
||||
|
||||
<li><a href="Documentation.htm#Masq">Masquerading/SNAT</a></li>
|
||||
<li><a href="Documentation.htm#PortForward">Port Forwarding (DNAT)</a>.</li>
|
||||
<li><a href="Documentation.htm#NAT"> Static NAT</a>.</li>
|
||||
<li><a href="Documentation.htm#ProxyArp"> Proxy ARP</a>.</li>
|
||||
<li>Simple host/subnet Routing</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="blacklisting_support.htm"><b>Blacklisting</b></a> of individual
|
||||
IP addresses and subnetworks is supported.</li>
|
||||
<li><b><a href="starting_and_stopping_shorewall.htm">Operational support</a></b>:
|
||||
|
||||
</li>
|
||||
<li><a href="blacklisting_support.htm"><b>Blacklisting</b></a> of
|
||||
individual IP addresses and subnetworks is supported.</li>
|
||||
<li><b><a href="starting_and_stopping_shorewall.htm">Operational support</a></b>:
|
||||
|
||||
<ul>
|
||||
<li>Commands to start, stop and clear the firewall</li>
|
||||
<li>Supports status monitoring with an audible alarm
|
||||
when an "interesting" packet is detected.</li>
|
||||
<li>Wide variety of informational commands.</li>
|
||||
|
||||
<li>Commands to start, stop and clear the firewall</li>
|
||||
<li>Supports status monitoring with an audible
|
||||
alarm when an "interesting" packet is detected.</li>
|
||||
<li>Wide variety of informational commands.</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>VPN Support</b>
|
||||
</li>
|
||||
<li><b>VPN Support</b>
|
||||
<ul>
|
||||
<li><a href="Documentation.htm#Tunnels">IPSEC, GRE, IPIP and
|
||||
<li><a href="Documentation.htm#Tunnels">IPSEC, GRE, IPIP and
|
||||
OpenVPN Tunnels</a>.</li>
|
||||
<li><a href="PPTP.htm">PPTP </a> clients and Servers.</li>
|
||||
|
||||
<li><a href="PPTP.htm">PPTP </a> clients and Servers.</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li>Support for <a href="traffic_shaping.htm"><b>Traffic Control/Shaping</b></a>
|
||||
</li>
|
||||
<li>Support for <a href="traffic_shaping.htm"><b>Traffic Control/Shaping</b></a>
|
||||
integration.</li>
|
||||
<li>Wide support for different <b>GNU/Linux Distributions</b>.
|
||||
|
||||
<li>Wide support for different <b>GNU/Linux Distributions</b>.
|
||||
|
||||
<ul>
|
||||
<li><a href="Install.htm#Install_RPM"><b>RPM</b></a> and <a
|
||||
href="http://security.dsi.unimi.it/%7Elorenzo/debian.html"><b>Debian</b></a>
|
||||
<li><a href="Install.htm#Install_RPM"><b>RPM</b></a> and <a
|
||||
href="http://security.dsi.unimi.it/%7Elorenzo/debian.html"><b>Debian</b></a>
|
||||
packages available.</li>
|
||||
<li>Includes <a href="Install.htm"><b>automated install, upgrade,
|
||||
fallback and uninstall facilities</b></a> for users who can't use
|
||||
<li>Includes <a href="Install.htm"><b>automated install, upgrade,
|
||||
fallback and uninstall facilities</b></a> for users who can't use
|
||||
or choose not to use the RPM or Debian packages.</li>
|
||||
<li>Included as a standard part of<b> <a
|
||||
href="http://leaf.sourceforge.net/devel/jnilo"> LEAF/Bering</a> </b>(router/firewall
|
||||
<li>Included as a standard part of<b> <a
|
||||
href="http://leaf.sourceforge.net/devel/jnilo"> LEAF/Bering</a> </b>(router/firewall
|
||||
on a floppy, CD or compact flash).</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="MAC_Validation.html">Media Access Control (<b>MAC</b>)
|
||||
Address <b>Verification</b><br>
|
||||
</a><br>
|
||||
</li>
|
||||
|
||||
<li><a href="MAC_Validation.html">Media Access Control (<b>MAC</b>)
|
||||
Address <b>Verification</b><br>
|
||||
</a><br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p><font size="2">Last updated 2/5/2003 - <a href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
|
||||
<p align="left"><font face="Trebuchet MS"><a href="copyright.htm"> <font
|
||||
size="2">Copyright</font> © <font size="2">2001-2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
@ -1,195 +1,197 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Firewall Structure</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Firewall Structure</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Firewall Structure (Under
|
||||
Construction)</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p> Shorewall views the network in which it is running as a set of
|
||||
<i> zones. </i>Shorewall itself defines exactly one zone called "fw" which
|
||||
refers to the firewall system itself . The /etc/shorewall/zones file is
|
||||
used to define additional zones and the example file provided with Shorewall
|
||||
defines the zones:</p>
|
||||
|
||||
refers to the firewall system itself . The /etc/shorewall/zones file
|
||||
is used to define additional zones and the example file provided with
|
||||
Shorewall defines the zones:</p>
|
||||
|
||||
<ol>
|
||||
<li> net -- the (untrusted) internet.</li>
|
||||
<li> dmz - systems that must be accessible from the internet
|
||||
and from the local network. These systems cannot be trusted completely
|
||||
<li> net -- the (untrusted) internet.</li>
|
||||
<li> dmz - systems that must be accessible from the internet
|
||||
and from the local network. These systems cannot be trusted completely
|
||||
since their servers may have been compromised through a security exploit.</li>
|
||||
<li> loc - systems in your local network(s). These systems
|
||||
must be protected from the internet and from the DMZ and in some cases,
|
||||
from each other.</li>
|
||||
|
||||
<li> loc - systems in your local network(s). These systems
|
||||
must be protected from the internet and from the DMZ and in some
|
||||
cases, from each other.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>Note: </b><a href="#Conf">You can specify the name of the firewall
|
||||
zone</a>. For ease of description in this documentation, it is assumed
|
||||
that the firewall zone is named "fw".</p>
|
||||
|
||||
|
||||
<p>It can't be stressed enough that with the exception of the firewall zone,
|
||||
Shorewall itself attaches no meaning to zone names. Zone names are simply
|
||||
labels used to refer to a collection of network hosts.</p>
|
||||
|
||||
Shorewall itself attaches no meaning to zone names. Zone names are simply
|
||||
labels used to refer to a collection of network hosts.</p>
|
||||
|
||||
<p>While zones are normally disjoint (no two zones have a host in common),
|
||||
there are cases where nested or overlapping zone definitions are appropriate.</p>
|
||||
|
||||
there are cases where nested or overlapping zone definitions are appropriate.</p>
|
||||
|
||||
<p>Netfilter has the concept of <i>tables</i> and <i>chains. </i>For the purpose
|
||||
of this document, we will consider Netfilter to have three tables:</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>Filter table -- this is the main table for packet filtering and can
|
||||
be displayed with the command "shorewall show".</li>
|
||||
<li>Nat table -- used for all forms of Network Address Translation (NAT);
|
||||
SNAT, DNAT and MASQUERADE.</li>
|
||||
<li>Mangle table -- used to modify fields in the packet header.<br>
|
||||
</li>
|
||||
|
||||
<li>Filter table -- this is the main table for packet filtering and
|
||||
can be displayed with the command "shorewall show".</li>
|
||||
<li>Nat table -- used for all forms of Network Address Translation (NAT);
|
||||
SNAT, DNAT and MASQUERADE.</li>
|
||||
<li>Mangle table -- used to modify fields in the packet header.<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p>Netfilter defines a number of inbuilt chains: PREROUTING, INPUT, OUTPUT,
|
||||
FORWARD and POSTROUTING. Not all inbuilt chains are present in all tables
|
||||
as shown in this table.<br>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
FORWARD and POSTROUTING. Not all inbuilt chains are present in all tables
|
||||
as shown in this table.<br>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
<table cellpadding="2" cellspacing="2" border="1">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top">CHAIN<br>
|
||||
</td>
|
||||
<td valign="top">Filter<br>
|
||||
</td>
|
||||
<td valign="top">Nat<br>
|
||||
</td>
|
||||
<td valign="top">Mangle<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">PREROUTING<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">INPUT<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">OUTPUT<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">FORWARD<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">POSTROUTING<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top">CHAIN<br>
|
||||
</td>
|
||||
<td valign="top">Filter<br>
|
||||
</td>
|
||||
<td valign="top">Nat<br>
|
||||
</td>
|
||||
<td valign="top">Mangle<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">PREROUTING<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">INPUT<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">OUTPUT<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">FORWARD<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">POSTROUTING<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
<td valign="top">X<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p>Shorewall doesn't create rules in all of the builtin chains. In the large
|
||||
diagram below are boxes such as shown below. This box represents in INPUT
|
||||
chain and shows that packets first flow through the INPUT chain in the Mangle
|
||||
table followed by the INPUT chain in the Filter table. The parentheses around
|
||||
"Mangle" indicate that while the packets will flow through the INPUT chain
|
||||
in the Mangle table, Shorewall does not create any rules in that chain.<br>
|
||||
</p>
|
||||
|
||||
diagram below are boxes such as shown below. This box represents in INPUT
|
||||
chain and shows that packets first flow through the INPUT chain in the Mangle
|
||||
table followed by the INPUT chain in the Filter table. The parentheses around
|
||||
"Mangle" indicate that while the packets will flow through the INPUT chain
|
||||
in the Mangle table, Shorewall does not create any rules in that chain.<br>
|
||||
</p>
|
||||
|
||||
<div align="center"><img src="images/Legend.png" alt="(Box Legend)"
|
||||
width="145" height="97" align="middle">
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<p></p>
|
||||
|
||||
|
||||
<p>Here is a picture of how packets traverse the various chains and tables
|
||||
in Netfilter. In that diagram, "Local Process" refers to a process running
|
||||
on the Firewall itself (in the 'fw' zone).</p>
|
||||
|
||||
in Netfilter. In that diagram, "Local Process" refers to a process running
|
||||
on the Firewall itself (in the 'fw' zone).</p>
|
||||
|
||||
<div align="center"><img src="images/Netfilter.png"
|
||||
alt="Netfilter Flow Diagram" width="541" height="767">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p><br>
|
||||
<br>
|
||||
In the text that follows, the paragraph numbers correspond to the box number
|
||||
in the diagram above.<br>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
In the text that follows, the paragraph numbers correspond to the box
|
||||
number in the diagram above.<br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>Packets entering the firewall first pass through the <i>mangle </i>table's
|
||||
PREROUTING chain (you can see the mangle table by typing "shorewall show
|
||||
mangle"). If the packet entered through an interface that has the <b>norfc1918</b>
|
||||
option, then the packet is sent down the <b>man1918</b> chain which will
|
||||
drop the packet if its destination IP address is reserved (as specified
|
||||
in the /etc/shorewall/rfc1918 file). Next the packet passes through the<b>
|
||||
pretos</b> chain to set its TOS field as specified in the /etc/shorewall/tos
|
||||
file. Finally, if traffic control/shaping is being used, the packet is sent
|
||||
through the<b> tcpre</b> chain to be marked for later use in policy routing
|
||||
or traffic control.<br>
|
||||
<br>
|
||||
Next, if the packet isn't part of an established connection, it passes
|
||||
through the<i> nat</i> table's PREROUTING chain (you can see the nat table
|
||||
by typing "shorewall show nat"). If you are doing both static nat and
|
||||
port forwarding, the order in which chains are traversed is dependent on
|
||||
<li>Packets entering the firewall first pass through the <i>mangle </i>table's
|
||||
PREROUTING chain (you can see the mangle table by typing "shorewall show
|
||||
mangle"). If the packet entered through an interface that has the <b>norfc1918</b>
|
||||
option and if iptables/netfilter doesn't support the connection tracking
|
||||
match extension, then the packet is sent down the <b>man1918</b> chain which
|
||||
will drop the packet if its destination IP address is reserved (as specified
|
||||
in the /etc/shorewall/rfc1918 file). Next the packet passes through the<b>
|
||||
pretos</b> chain to set its TOS field as specified in the /etc/shorewall/tos
|
||||
file. Finally, if traffic control/shaping is being used, the packet is
|
||||
sent through the<b> tcpre</b> chain to be marked for later use in policy
|
||||
routing or traffic control.<br>
|
||||
<br>
|
||||
Next, if the packet isn't part of an established connection, it passes
|
||||
through the<i> nat</i> table's PREROUTING chain (you can see the nat table
|
||||
by typing "shorewall show nat"). If you are doing both static nat and
|
||||
port forwarding, the order in which chains are traversed is dependent on
|
||||
the setting of NAT_BEFORE_RULES in shorewall.conf. If NAT_BEFORE_RULES is
|
||||
on then packets will ender a chain called<b> <i>interface_</i>in</b> where
|
||||
<i>interface</i> is the name of the interface on which the packet entered.
|
||||
Here it's destination IP is compared to each of the <i>EXTERNAL</i> IP
|
||||
Here it's destination IP is compared to each of the <i>EXTERNAL</i> IP
|
||||
addresses from /etc/shorewall/nat that correspond to this interface; if
|
||||
there is a match, DNAT is applied and the packet header is modified to
|
||||
the IP in the <i>INTERNAL</i> column of the nat file record. If the destination
|
||||
@ -197,137 +199,133 @@ address doesn't match any of the rules in the <b><i>interface_</i>in</b>
|
||||
chain then the packet enters a chain called <b><i>sourcezone</i>_dnat</b>
|
||||
where <i>sourcezone</i> is the source zone of the packet. There it is compared
|
||||
for a match against each of the DNAT records in the rules file that specify
|
||||
<i> sourcezone </i>as the source zone. If a match is found, the destination
|
||||
IP address (and possibly the destination port) is modified based on the
|
||||
rule matched. If NAT_BEFORE_RULES is off, then the order of traversal of
|
||||
the <b><i> interface_</i>in</b> and <b><i>sourcezone</i>_dnat</b> is reversed.<br>
|
||||
<i> sourcezone </i>as the source zone. If a match is found, the
|
||||
destination IP address (and possibly the destination port) is modified based
|
||||
on the rule matched. If NAT_BEFORE_RULES is off, then the order of traversal
|
||||
of the <b><i> interface_</i>in</b> and <b><i>sourcezone</i>_dnat</b> is
|
||||
reversed.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Depending on whether the packet is destined for the firewall itself
|
||||
or for another system, it follows either the left or the right path. Traffic
|
||||
going to the firewall goes through chain called INPUT in the mangle table.
|
||||
Shorewall doesn't add any rules to that chain.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Traffic that is to be forwarded to another host goes through the chains
|
||||
called FORWARD in the mangle table. If MARK_IN_FORWARD=Yes in shorewall.conf,
|
||||
all rules in /etc/shorewall/tcrules that do not specify Prerouting (:P) are
|
||||
processed in a chain called <br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Depending on whether the packet is destined for the firewall itself
|
||||
or for another system, it follows either the left or the right path. Traffic
|
||||
going to the firewall goes through chains called INPUT in the mangle table.
|
||||
Shorewall doesn't add any rules to that chain. Traffic next passes the the
|
||||
INPUT chain in the filter table where it is broken out based on the interface
|
||||
on which the packet arrived; packets from interface <i>interface</i> are routed
|
||||
to chain <b><i>interface</i>_in</b>. For example, packets arriving through
|
||||
eth0 are passed to the chain <b>eth0_in.</b></li>
|
||||
|
||||
<ol>
|
||||
<li>The first rule in <b><i>interface</i>_in</b> jumps to the chain
|
||||
named <b>dynamic</b> which matches the source IP in the packet against all
|
||||
of the addresses that have been blacklisted using <a
|
||||
href="blacklisting_support.htm#Dynamic">dynamic blacklisting</a>.</li>
|
||||
<li>If the the interface has the <b>norfc1918</b> option then the packet
|
||||
is sent down the <b>rfc1918 </b>which checks the source address against those
|
||||
listed in /etc/shorewall/rfc1918 and treats the packet according to the first
|
||||
match in that file (if any).</li>
|
||||
<li>If the interface has the <b>dhcp </b>option, UDP packets to ports
|
||||
67 and 68 are accepted.</li>
|
||||
<li><br>
|
||||
</li>
|
||||
|
||||
|
||||
</ol>
|
||||
<li>Traffic is next sent to an<i> input </i>chain in the mail Netfilter
|
||||
table (called 'filter'). If the traffic is destined for the firewall itself,
|
||||
the name of the input chain is formed by appending "_in" to the interface
|
||||
name. So traffic on eth0 destined for the firewall will enter a chain called
|
||||
<i>eth0_in</i>. The input chain for traffic that will be routed to
|
||||
another system is formed by appending "_fwd" to the interface name. So traffic
|
||||
from eth1 that is going to be forwarded enters a chain called<i> eth1_fwd</i>.
|
||||
Interfaces described with the wild-card character ("+") in /etc/shorewall/interfaces,
|
||||
share input chains. if <i>ppp+ </i>appears in /etc/shorewall/interfaces
|
||||
then all PPP interfaces (ppp0, ppp1, ...) will share the input chains <i>ppp_in</i>
|
||||
and <i>ppp_fwd</i>. In other words, "+" is deleted from the name before
|
||||
forming the input chain names.</li>
|
||||
|
||||
<li>Traffic is next sent to an<i> interface </i>chain in the main Netfilter
|
||||
table (called 'filter'). If the traffic is destined for the firewall
|
||||
itself, the name of the interface chain is formed by appending "_in" to
|
||||
the interface name. So traffic on eth0 destined for the firewall will
|
||||
enter a chain called <i>eth0_in</i>. The interface chain for traffic
|
||||
that will be routed to another system is formed by appending "_fwd" to
|
||||
the interface name. So traffic from eth1 that is going to be forwarded
|
||||
enters a chain called<i> eth1_fwd</i>. Interfaces described with the wild-card
|
||||
character ("+") in /etc/shorewall/interfaces, share input chains. if <i>ppp+
|
||||
</i>appears in /etc/shorewall/interfaces then all PPP interfaces (ppp0,
|
||||
ppp1, ...) will share the interface chains <i>ppp_in</i> and <i>ppp_fwd</i>.
|
||||
In other words, "+" is deleted from the name before forming the input chain
|
||||
names.<br>
|
||||
<br>
|
||||
While the use of interfacechains may seem wasteful in simple environments,
|
||||
in complex setups it substantially reduces the number of rules that each
|
||||
packet must traverse. </li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p> While the use of input chains may seem wasteful in simple environments,
|
||||
in complex setups it substantially reduces the number of rules that each
|
||||
packet must traverse. </p>
|
||||
|
||||
|
||||
<p> Traffic directed from a zone to the firewall itself is sent through
|
||||
a chain named <<i>zone name></i>2fw. For example, traffic inbound from
|
||||
the internet and addressed to the firewall is sent through a chain named
|
||||
net2fw. Similarly, traffic originating in the firewall and being sent to
|
||||
a host in a given zone is sent through a chain named fw2<i><zone name>.
|
||||
</i>For example, traffic originating in the firewall and destined
|
||||
for a host in the local network is sent through a chain named <i>fw2loc.</i>
|
||||
<font face="Century Gothic, Arial, Helvetica"> </font></p>
|
||||
|
||||
the internet and addressed to the firewall is sent through a chain named
|
||||
net2fw. Similarly, traffic originating in the firewall and being sent
|
||||
to a host in a given zone is sent through a chain named fw2<i><zone
|
||||
name>. </i>For example, traffic originating in the firewall and
|
||||
destined for a host in the local network is sent through a chain named
|
||||
<i>fw2loc.</i> <font face="Century Gothic, Arial, Helvetica"> </font></p>
|
||||
|
||||
<p> Traffic being forwarded between two zones (or from one interface to
|
||||
a zone to another interface to that zone) is sent through a chain named <i>
|
||||
<source zone></i>2<i> <destination zone></i>. So for example,
|
||||
traffic originating in a local system and destined for a remote web server
|
||||
is sent through chain <i>loc2net. </i>This chain is referred to as
|
||||
the <i>canonical</i> chain from <source zone> to <destination
|
||||
zone>. Any destination NAT will have occurred <u>before</u> the packet
|
||||
traverses one of these chains so rules in /etc/shorewall/rules should be
|
||||
expressed in terms of the destination system's real IP address as opposed
|
||||
to its apparent external address. Similarly, source NAT will occur <u>after</u>
|
||||
the packet has traversed the appropriate forwarding chain so the rules
|
||||
again will be expressed using the source system's real IP address.</p>
|
||||
|
||||
<source zone></i>2<i> <destination zone></i>. So for example,
|
||||
traffic originating in a local system and destined for a remote web server
|
||||
is sent through chain <i>loc2net. </i>This chain is referred to
|
||||
as the <i>canonical</i> chain from <source zone> to <destination
|
||||
zone>. Any destination NAT will have occurred <u>before</u> the packet
|
||||
traverses one of these chains so rules in /etc/shorewall/rules should
|
||||
be expressed in terms of the destination system's real IP address as opposed
|
||||
to its apparent external address. Similarly, source NAT will occur <u>after</u>
|
||||
the packet has traversed the appropriate forwarding chain so the rules
|
||||
again will be expressed using the source system's real IP address.</p>
|
||||
|
||||
<p> For each record in the /etc/shorewall/policy file, a chain is created.
|
||||
Policies in that file are expressed in terms of a source zone and destination
|
||||
zone where these zones may be a zone defined in /etc/shorewall/zones,
|
||||
Policies in that file are expressed in terms of a source zone and destination
|
||||
zone where these zones may be a zone defined in /etc/shorewall/zones,
|
||||
"fw" or "all". Policies specifying the pseudo-zone "all" matches all defined
|
||||
zones and "fw". These chains are referred to as <i>Policy Chains.</i> Notice
|
||||
that for an ordered pair of zones (za,zb), the canonical chain (za2zb)
|
||||
may also be the policy chain for the pair or the policy chain may be a
|
||||
different chain (za2all, for example). Packets from one zone to another
|
||||
will traverse chains as follows:</p>
|
||||
|
||||
zones and "fw". These chains are referred to as <i>Policy Chains.</i> Notice
|
||||
that for an ordered pair of zones (za,zb), the canonical chain (za2zb)
|
||||
may also be the policy chain for the pair or the policy chain may be
|
||||
a different chain (za2all, for example). Packets from one zone to another
|
||||
will traverse chains as follows:</p>
|
||||
|
||||
<ol>
|
||||
<li> If the canonical chain exists, packets first traverse that
|
||||
chain.</li>
|
||||
<li> If the canonical chain and policy chain are different and
|
||||
the packet does not match a rule in the canonical chain, it then is sent
|
||||
to the policy chain.</li>
|
||||
<li> If the canonical chain does not exist, packets are sent
|
||||
immediately to the policy chain.</li>
|
||||
|
||||
<li> If the canonical chain exists, packets first traverse
|
||||
that chain.</li>
|
||||
<li> If the canonical chain and policy chain are different
|
||||
and the packet does not match a rule in the canonical chain, it then
|
||||
is sent to the policy chain.</li>
|
||||
<li> If the canonical chain does not exist, packets are sent
|
||||
immediately to the policy chain.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p> The canonical chain from zone za to zone zb will be created only if
|
||||
there are exception rules defined in /etc/shorewall/rules for packets going
|
||||
from za to zb.</p>
|
||||
|
||||
|
||||
<p> Shorewall is built on top of the Netfilter kernel facility. Netfilter
|
||||
implements connection tracking function that allow what is often referred
|
||||
to as "statefull inspection" of packets. This statefull property allows
|
||||
firewall rules to be defined in terms of "connections" rather than in
|
||||
terms of "packets". With Shorewall, you:</p>
|
||||
|
||||
implements connection tracking function that allow what is often referred
|
||||
to as "statefull inspection" of packets. This statefull property allows
|
||||
firewall rules to be defined in terms of "connections" rather than in
|
||||
terms of "packets". With Shorewall, you:</p>
|
||||
|
||||
<ol>
|
||||
<li> Identify the client's zone.</li>
|
||||
<li> Identify the server's zone.</li>
|
||||
<li> If the POLICY from the client's zone to the server's zone
|
||||
is what you want for this client/server pair, you need do nothing further.</li>
|
||||
<li> If the POLICY is not what you want, then you must add a
|
||||
rule. That rule is expressed in terms of the client's zone and the
|
||||
server's zone.</li>
|
||||
|
||||
<li> Identify the client's zone.</li>
|
||||
<li> Identify the server's zone.</li>
|
||||
<li> If the POLICY from the client's zone to the server's zone
|
||||
is what you want for this client/server pair, you need do nothing further.</li>
|
||||
<li> If the POLICY is not what you want, then you must add
|
||||
a rule. That rule is expressed in terms of the client's zone and
|
||||
the server's zone.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p> Just because connections of a particular type are allowed between zone
|
||||
A and the firewall and are also allowed between the firewall and zone
|
||||
A and the firewall and are also allowed between the firewall and zone
|
||||
B <font color="#ff6633"><b><u> DOES NOT mean that these connections
|
||||
are allowed between zone A and zone B</u></b></font>. It rather means
|
||||
that you can have a proxy running on the firewall that accepts a connection
|
||||
from zone A and then establishes its own separate connection from the firewall
|
||||
to zone B.</p>
|
||||
|
||||
from zone A and then establishes its own separate connection from the
|
||||
firewall to zone B.</p>
|
||||
|
||||
<p> If you adopt the default policy of ACCEPT from the local zone to the
|
||||
internet zone and you are having problems connecting from a local client
|
||||
to an internet server, <font color="#ff6633"><b><u> adding a rule won't
|
||||
help</u></b></font> (see point 3 above).</p>
|
||||
|
||||
internet zone and you are having problems connecting from a local client
|
||||
to an internet server, <font color="#ff6633"><b><u> adding a rule won't
|
||||
help</u></b></font> (see point 3 above).</p>
|
||||
|
||||
<p><font size="2">Last modified 5/22/2003 - <a href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"> <font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
@ -2,155 +2,151 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Shorewall Logging</title>
|
||||
|
||||
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
|
||||
|
||||
<meta name="author" content="Tom Eastep">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Logging</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
By default, Shorewall directs NetFilter to log using syslog (8). Syslog
|
||||
classifies log messages by a <i>facility</i> and a <i>priority</i> (using
|
||||
<br>
|
||||
By default, Shorewall directs NetFilter to log using syslog (8). Syslog
|
||||
classifies log messages by a <i>facility</i> and a <i>priority</i> (using
|
||||
the notation <i>facility.priority</i>). <br>
|
||||
<br>
|
||||
The facilities defined by syslog are <i>auth, authpriv, cron, daemon,
|
||||
kern, lpr, mail, mark, news, syslog, user, uucp</i> and <i>local0</i> through
|
||||
<br>
|
||||
The facilities defined by syslog are <i>auth, authpriv, cron, daemon,
|
||||
kern, lpr, mail, mark, news, syslog, user, uucp</i> and <i>local0</i> through
|
||||
<i>local7</i>.<br>
|
||||
<br>
|
||||
Throughout the Shorewall documentation, I will use the term <i>level</i>
|
||||
rather than <i>priority</i> since <i>level</i> is the term used by NetFilter.
|
||||
<br>
|
||||
Throughout the Shorewall documentation, I will use the term <i>level</i>
|
||||
rather than <i>priority</i> since <i>level</i> is the term used by NetFilter.
|
||||
The syslog documentation uses the term <i>priority</i>.<br>
|
||||
|
||||
|
||||
<h3>Syslog Levels<br>
|
||||
</h3>
|
||||
Syslog levels are a method of describing to syslog (8) the importance
|
||||
of a message and a number of Shorewall parameters have a syslog level
|
||||
</h3>
|
||||
Syslog levels are a method of describing to syslog (8) the importance
|
||||
of a message and a number of Shorewall parameters have a syslog level
|
||||
as their value.<br>
|
||||
<br>
|
||||
Valid levels are:<br>
|
||||
<br>
|
||||
7
|
||||
<br>
|
||||
Valid levels are:<br>
|
||||
<br>
|
||||
7
|
||||
debug<br>
|
||||
6
|
||||
6
|
||||
info<br>
|
||||
5
|
||||
5
|
||||
notice<br>
|
||||
4
|
||||
4
|
||||
warning<br>
|
||||
3
|
||||
3
|
||||
err<br>
|
||||
2
|
||||
2
|
||||
crit<br>
|
||||
1
|
||||
1
|
||||
alert<br>
|
||||
0
|
||||
0
|
||||
emerg<br>
|
||||
<br>
|
||||
For most Shorewall logging, a level of 6 (info) is appropriate.
|
||||
Shorewall log messages are generated by NetFilter and are logged using
|
||||
the <i>kern</i> facility and the level that you specify. If you are unsure
|
||||
of the level to choose, 6 (info) is a safe bet. You may specify levels
|
||||
<br>
|
||||
For most Shorewall logging, a level of 6 (info) is appropriate.
|
||||
Shorewall log messages are generated by NetFilter and are logged using
|
||||
the <i>kern</i> facility and the level that you specify. If you are unsure
|
||||
of the level to choose, 6 (info) is a safe bet. You may specify levels
|
||||
by name or by number.<br>
|
||||
<br>
|
||||
Syslogd writes log messages to files (typically in /var/log/*) based
|
||||
on their facility and level. The mapping of these facility/level pairs
|
||||
to log files is done in /etc/syslog.conf (5). If you make changes to this
|
||||
<br>
|
||||
Syslogd writes log messages to files (typically in /var/log/*) based
|
||||
on their facility and level. The mapping of these facility/level pairs
|
||||
to log files is done in /etc/syslog.conf (5). If you make changes to this
|
||||
file, you must restart syslogd before the changes can take effect.<br>
|
||||
|
||||
|
||||
<h3>Configuring a Separate Log for Shorewall Messages</h3>
|
||||
There are a couple of limitations to syslogd-based logging:<br>
|
||||
|
||||
There are a couple of limitations to syslogd-based logging:<br>
|
||||
|
||||
<ol>
|
||||
<li>If you give, for example, kern.info it's own log destination then
|
||||
that destination will also receive all kernel messages of levels 5 (notice)
|
||||
<li>If you give, for example, kern.info it's own log destination then
|
||||
that destination will also receive all kernel messages of levels 5 (notice)
|
||||
through 0 (emerg).</li>
|
||||
<li>All kernel.info messages will go to that destination and not just
|
||||
<li>All kernel.info messages will go to that destination and not just
|
||||
those from NetFilter.<br>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
Beginning with Shorewall version 1.3.12, if your kernel has ULOG
|
||||
target support (and most vendor-supplied kernels do), you may also specify
|
||||
a log level of ULOG (must be all caps). When ULOG is used, Shorewall will
|
||||
direct netfilter to log the related messages via the ULOG target which will
|
||||
send them to a process called 'ulogd'. The ulogd program is available from
|
||||
http://www.gnumonks.org/projects/ulogd and can be configured to log all
|
||||
Shorewall message to their own log file.<br>
|
||||
<br>
|
||||
<b>Note: </b>The ULOG logging mechanism is <u>completely separate</u> from
|
||||
syslog. Once you switch to ULOG, the settings in /etc/syslog.conf have absolutely
|
||||
no effect on your Shorewall logging (except for Shorewall status messages
|
||||
Beginning with Shorewall version 1.3.12, if your kernel has ULOG
|
||||
target support (and most vendor-supplied kernels do), you may also specify
|
||||
a log level of ULOG (must be all caps). When ULOG is used, Shorewall will
|
||||
direct netfilter to log the related messages via the ULOG target which
|
||||
will send them to a process called 'ulogd'. The ulogd program is available
|
||||
from http://www.gnumonks.org/projects/ulogd and can be configured to log
|
||||
all Shorewall message to their own log file.<br>
|
||||
<br>
|
||||
<b>Note: </b>The ULOG logging mechanism is <u>completely separate</u> from
|
||||
syslog. Once you switch to ULOG, the settings in /etc/syslog.conf have absolutely
|
||||
no effect on your Shorewall logging (except for Shorewall status messages
|
||||
which still go to syslog).<br>
|
||||
<br>
|
||||
You will need to have the kernel source available to compile ulogd.<br>
|
||||
<br>
|
||||
Download the ulod tar file and:<br>
|
||||
|
||||
<ol>
|
||||
<li>Be sure that /usr/src/linux is linked to your kernel source tree<br>
|
||||
</li>
|
||||
<li>cd /usr/local/src (or wherever you do your builds)</li>
|
||||
<li>tar -zxf <i>source-tarball-that-you-downloaded</i></li>
|
||||
<li>cd ulogd-<i>version</i><br>
|
||||
</li>
|
||||
<li>./configure</li>
|
||||
<li>make</li>
|
||||
<li>make install<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
If you are like me and don't have a development environment on your firewall,
|
||||
you can do the first six steps on another system then either NFS mount
|
||||
your /usr/local/src directory or tar up the /usr/local/src/ulogd-<i>version</i>
|
||||
directory and move it to your firewall system.<br>
|
||||
<br>
|
||||
Now on the firewall system, edit /usr/local/etc/ulogd.conf and set:<br>
|
||||
|
||||
<ol>
|
||||
<li>syslogfile <i><file that you wish to log to></i></li>
|
||||
<li>syslogsync 1</li>
|
||||
|
||||
</ol>
|
||||
I also copied the file /usr/local/src/ulogd-<i>version</i>/ulogd.init
|
||||
to /etc/init.d/ulogd. I had to edit the line that read "daemon /usr/local/sbin/ulogd"
|
||||
to read daemon /usr/local/sbin/ulogd -d". On a RedHat system, a simple
|
||||
"chkconfig --level 3 ulogd on" starts ulogd during boot up. Your init system
|
||||
may need something else done to activate the script.<br>
|
||||
<br>
|
||||
You will need to have the kernel source available to compile ulogd.<br>
|
||||
<br>
|
||||
You will need to change all instances of log levels (usually 'info') in
|
||||
your configuration files to 'ULOG' - this includes entries in the policy,
|
||||
Download the ulod tar file and:<br>
|
||||
|
||||
<ol>
|
||||
<li>Be sure that /usr/src/linux is linked to your kernel source tree<br>
|
||||
</li>
|
||||
<li>cd /usr/local/src (or wherever you do your builds)</li>
|
||||
<li>tar -zxf <i>source-tarball-that-you-downloaded</i></li>
|
||||
<li>cd ulogd-<i>version</i><br>
|
||||
</li>
|
||||
<li>./configure</li>
|
||||
<li>make</li>
|
||||
<li>make install<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
If you are like me and don't have a development environment on your
|
||||
firewall, you can do the first six steps on another system then either
|
||||
NFS mount your /usr/local/src directory or tar up the /usr/local/src/ulogd-<i>version</i>
|
||||
directory and move it to your firewall system.<br>
|
||||
<br>
|
||||
Now on the firewall system, edit /usr/local/etc/ulogd.conf and set:<br>
|
||||
|
||||
<ol>
|
||||
<li>syslogfile <i><file that you wish to log to></i></li>
|
||||
<li>syslogsync 1</li>
|
||||
|
||||
</ol>
|
||||
I also copied the file /usr/local/src/ulogd-<i>version</i>/ulogd.init
|
||||
to /etc/init.d/ulogd. I had to edit the line that read "daemon /usr/local/sbin/ulogd"
|
||||
to read daemon /usr/local/sbin/ulogd -d". On a RedHat system, a simple "chkconfig
|
||||
--level 3 ulogd on" starts ulogd during boot up. Your init system may need
|
||||
something else done to activate the script.<br>
|
||||
<br>
|
||||
You will need to change all instances of log levels (usually 'info') in
|
||||
your configuration files to 'ULOG' - this includes entries in the policy,
|
||||
rules and shorewall.conf files. Here's what I have:<br>
|
||||
|
||||
|
||||
<pre> [root@gateway shorewall]# grep ULOG *<br> policy:loc fw REJECT ULOG<br> policy:net all DROP ULOG 10/sec:40<br> policy:all all REJECT ULOG<br> rules:REJECT:ULOG loc net tcp 6667<br> shorewall.conf:TCP_FLAGS_LOG_LEVEL=ULOG<br> shorewall.conf:RFC1918_LOG_LEVEL=ULOG<br> [root@gateway shorewall]#<br></pre>
|
||||
Finally edit /etc/shorewall/shorewall.conf and set LOGFILE=<i><file
|
||||
that you wish to log to></i>. This tells the /sbin/shorewall program
|
||||
where to look for the log when processing its "show log", "logwatch" and
|
||||
"monitor" commands.<br>
|
||||
|
||||
<p><font size="2"> Updated 1/11/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
Finally edit /etc/shorewall/shorewall.conf and set LOGFILE=<i><file
|
||||
that you wish to log to></i>. This tells the /sbin/shorewall program
|
||||
where to look for the log when processing its "show log", "logwatch" and "monitor"
|
||||
commands.<br>
|
||||
|
||||
<p><font size="2"> Updated 1/11/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> ©
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright</font> ©
|
||||
<font size="2">2001, 2002, 2003 Thomas M. Eastep</font></a><br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,93 +1,101 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Shorewall Mirrors</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Mirrors</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p align="left"><b>Remember that updates to the mirrors are often delayed
|
||||
for 6-12 hours after an update to the primary rsync site. For HTML content,
|
||||
the main web site (<a href="http://shorewall.sf.net">http://shorewall.sf.net</a>)
|
||||
is updated at the same time as the rsync site.</b></p>
|
||||
|
||||
|
||||
<p align="left"><b>Remember that updates to the mirrors are often delayed
|
||||
for 6-12 hours after an update to the primary rsync site. For HTML content,
|
||||
the main web site (<a href="http://shorewall.sf.net">http://shorewall.sf.net</a>)
|
||||
is updated at the same time as the rsync site.</b></p>
|
||||
|
||||
<p align="left">The main Shorewall Web Site is <a
|
||||
href="http://shorewall.sf.net" target="_top">http://shorewall.sf.net</a>
|
||||
and is located in California, USA. It is mirrored at:</p>
|
||||
|
||||
href="http://shorewall.sf.net" target="_top">http://shorewall.sf.net</a>
|
||||
and is located in California, USA. It is mirrored at:</p>
|
||||
|
||||
<ul>
|
||||
<li><a target="_top" href="http://slovakia.shorewall.net"> http://slovakia.shorewall.net</a>
|
||||
(Slovak Republic).</li>
|
||||
<li> <a href="http://www.infohiiway.com/shorewall"
|
||||
<li><a target="_top" href="http://slovakia.shorewall.net">
|
||||
http://slovakia.shorewall.net</a> (Slovak Republic).</li>
|
||||
<li> <a href="http://www.infohiiway.com/shorewall"
|
||||
target="_top"> http://shorewall.infohiiway.com</a> (Texas, USA).</li>
|
||||
<li><a target="_top" href="http://germany.shorewall.net"> http://germany.shorewall.net</a>
|
||||
(Hamburg, Germany)</li>
|
||||
<li><a target="_top"
|
||||
href="http://france.shorewall.net">http://france.shorewall.net</a>
|
||||
(Paris, France)</li>
|
||||
<li><a href="http://shorewall.syachile.cl" target="_top">http://shorewall.syachile.cl
|
||||
</a>(Santiago Chile)</li>
|
||||
<li><a href="http://shorewall.greshko.com" target="_top">http://shorewall.greshko.com</a>
|
||||
(Taipei, Taiwan)<br>
|
||||
<li><a target="_top" href="http://germany.shorewall.net">
|
||||
http://germany.shorewall.net</a> (Hamburg, Germany)</li>
|
||||
<li><a target="_top"
|
||||
href="http://france.shorewall.net">http://france.shorewall.net</a>
|
||||
(Paris, France)</li>
|
||||
<li><a href="http://shorewall.syachile.cl" target="_top">http://shorewall.syachile.cl
|
||||
</a>(Santiago Chile)</li>
|
||||
<li><a href="http://shorewall.greshko.com" target="_top">http://shorewall.greshko.com</a>
|
||||
(Taipei, Taiwan)</li>
|
||||
<li><a href="http://argentina.shorewall.net" target="_top">http://argentina.shorewall.net</a>
|
||||
(Argentina)</li>
|
||||
<li><a href="http://shorewall.securityopensource.org.br"
|
||||
target="_top">http://shorewall.securityopensource.org.br</a> (Brazil)<br>
|
||||
</li>
|
||||
<li><a href="http://www.shorewall.net" target="_top">http://www.shorewall.net</a>
|
||||
(Washington State, USA)<br>
|
||||
</li>
|
||||
|
||||
<li><a href="http://www.shorewall.net" target="_top">http://www.shorewall.net</a>
|
||||
(Washington State, USA)<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p align="left">The rsync site is mirrored via FTP at:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a target="_blank"
|
||||
href="ftp://slovakia.shorewall.net/mirror/shorewall/">ftp://slovakia.shorewall.net/mirror/shorewall</a>
|
||||
(Slovak Republic).</li>
|
||||
<li> <a
|
||||
href="ftp://ftp.infohiiway.com/pub/mirrors/shorewall/" target="_blank">ftp://ftp.infohiiway.com/pub/shorewall</a>
|
||||
(Texas, USA).</li>
|
||||
<li><a target="_blank"
|
||||
href="ftp://germany.shorewall.net/pub/shorewall"> ftp://germany.shorewall.net/pub/shorewall</a>
|
||||
(Hamburg, Germany)</li>
|
||||
<li> <a target="_blank"
|
||||
href="ftp://france.shorewall.net/pub/mirrors/shorewall">ftp://france.shorewall.net/pub/mirrors/shorewall</a>
|
||||
(Paris, France)</li>
|
||||
<li><a href="ftp://shorewall.greshko.com/pub/shorewall" target="_top">ftp://shorewall.greshko.com</a>
|
||||
(Taipei, Taiwan)</li>
|
||||
<li><a href="ftp://ftp.shorewall.net/pub/shorewall" target="_blank">ftp://ftp.shorewall.net
|
||||
</a>(Washington State, USA)<br>
|
||||
</li>
|
||||
|
||||
<li><a target="_blank"
|
||||
href="ftp://slovakia.shorewall.net/mirror/shorewall/">ftp://slovakia.shorewall.net/mirror/shorewall</a>
|
||||
(Slovak Republic).</li>
|
||||
<li> <a
|
||||
href="ftp://ftp.infohiiway.com/pub/mirrors/shorewall/" target="_blank">ftp://ftp.infohiiway.com/pub/shorewall</a>
|
||||
(Texas, USA).</li>
|
||||
<li><a target="_blank"
|
||||
href="ftp://germany.shorewall.net/pub/shorewall"> ftp://germany.shorewall.net/pub/shorewall</a>
|
||||
(Hamburg, Germany)</li>
|
||||
<li> <a target="_blank"
|
||||
href="ftp://france.shorewall.net/pub/mirrors/shorewall">ftp://france.shorewall.net/pub/mirrors/shorewall</a>
|
||||
(Paris, France)</li>
|
||||
<li><a href="ftp://shorewall.greshko.com/pub/shorewall"
|
||||
target="_top">ftp://shorewall.greshko.com</a> (Taipei, Taiwan)</li>
|
||||
<li><a href="ftp://ftp.shorewall.net/pub/shorewall"
|
||||
target="_blank">ftp://ftp.shorewall.net </a>(Washington State, USA)<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
Search results and the mailing list archives are always fetched from
|
||||
the site in Washington State.<br>
|
||||
|
||||
<p align="left"><font size="2">Last Updated 6/5/2003 - <a
|
||||
Search results and the mailing list archives are always fetched from
|
||||
the site in Washington State.<br>
|
||||
|
||||
<p align="left"><font size="2">Last Updated 7/15/2003 - <a
|
||||
href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
|
||||
<p align="left"><font face="Trebuchet MS"><a href="copyright.htm"> <font
|
||||
size="2">Copyright</font> © <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -1,68 +1,83 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Shorewall Prerequisites</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Requirements</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
Shorewall Requires:<br>
|
||||
|
||||
<br>
|
||||
Shorewall Requires:<br>
|
||||
|
||||
<ul>
|
||||
<li>A kernel that supports netfilter. I've tested with 2.4.2 - 2.4.20.
|
||||
With current releases of Shorewall, Traffic Shaping/Control requires at least
|
||||
2.4.18. <a href="kernel.htm"> Check here for kernel configuration
|
||||
information.</a> If you are looking for a firewall for use with
|
||||
2.2 kernels, <a href="http://seawall.sf.net"> see the Seattle Firewall
|
||||
site</a> .</li>
|
||||
<li>iptables 1.2 or later but beware version 1.2.3 -- see the <a
|
||||
href="errata.htm">Errata</a>. <font color="#ff0000"><b>WARNING: </b></font>The
|
||||
buggy iptables version 1.2.3 is included in RedHat 7.2 and you should
|
||||
upgrade to iptables 1.2.4 prior to installing Shorewall. Version 1.2.4
|
||||
is available <a
|
||||
<li>A kernel that supports netfilter. I've tested with 2.4.2 -
|
||||
2.4.20. With current releases of Shorewall, Traffic Shaping/Control requires
|
||||
at least 2.4.18. <a href="kernel.htm"> Check here for kernel configuration
|
||||
information.</a> If you are looking for a firewall for use with
|
||||
2.2 kernels, <a href="http://seawall.sf.net"> see the Seattle
|
||||
Firewall site</a> .</li>
|
||||
<li>iptables 1.2 or later but beware version 1.2.3 -- see the
|
||||
<a href="errata.htm">Errata</a>. <font color="#ff0000"><b>WARNING:
|
||||
</b></font>The buggy iptables version 1.2.3 is included in RedHat
|
||||
7.2 and you should upgrade to iptables 1.2.4 prior to installing Shorewall.
|
||||
Version 1.2.4 is available <a
|
||||
href="http://www.redhat.com/support/errata/RHSA-2001-144.html">from RedHat</a>
|
||||
and in the <a href="errata.htm">Shorewall Errata</a>. </li>
|
||||
<li>Iproute ("ip" utility). The iproute package is included with
|
||||
most distributions but may not be installed by default. The official
|
||||
download site is <a href="ftp://ftp.inr.ac.ru/ip-routing"
|
||||
and in the <a href="errata.htm">Shorewall Errata</a>. </li>
|
||||
<li>Iproute ("ip" utility). The iproute package is included
|
||||
with most distributions but may not be installed by default. The official
|
||||
download site is <a href="ftp://ftp.inr.ac.ru/ip-routing"
|
||||
target="_blank"> <font face="Century Gothic, Arial, Helvetica">f</font>tp://ftp.inr.ac.ru/ip-routing</a>.
|
||||
</li>
|
||||
<li>A Bourne shell or derivative such as bash or ash. This shell must
|
||||
have correct support for variable expansion formats ${<i>variable</i>%<i>pattern</i>
|
||||
}, ${<i>variable</i>%%<i>pattern</i>}, ${<i>variable</i>#<i>pattern</i>
|
||||
} and ${<i>variable</i>##<i>pattern</i>}.</li>
|
||||
<li>The firewall monitoring display is greatly improved if you have
|
||||
awk (gawk) installed.</li>
|
||||
|
||||
</li>
|
||||
<li>A Bourne shell or derivative such as bash or ash. This shell
|
||||
must have correct support for variable expansion formats ${<i>variable</i>%<i>pattern</i>
|
||||
}, ${<i>variable</i>%%<i>pattern</i>}, ${<i>variable</i>#<i>pattern</i>
|
||||
} and ${<i>variable</i>##<i>pattern</i>}.</li>
|
||||
<li>Your shell must produce a sensible result when a number n (128 <=
|
||||
n <= 255) is left shifted by 24 bits. You can check this at a shell prompt
|
||||
by:</li>
|
||||
|
||||
<ul>
|
||||
<li>echo $((128 << 24))<br>
|
||||
</li>
|
||||
<li>The result must be either 2147483648 or -2147483648.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<li>The firewall monitoring display is greatly improved if you
|
||||
have awk (gawk) installed.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p align="left"><font size="2">Last updated 3/19/2003 - <a
|
||||
|
||||
<p align="left"><font size="2">Last updated 7/8/2003 - <a
|
||||
href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
|
||||
<p align="left"><font face="Trebuchet MS"><a href="copyright.htm"> <font
|
||||
size="2">Copyright</font> © <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -1,308 +1,357 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall QuickStart Guide</title>
|
||||
|
||||
|
||||
|
||||
<meta name="Microsoft Theme" content="none">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Shorewall QuickStart Guides
|
||||
(HOWTO's)<br>
|
||||
Version 4.0</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Shorewall QuickStart Guides
|
||||
(HOWTO's)<br>
|
||||
</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p align="center">With thanks to Richard who reminded me once again that we
|
||||
must all first walk before we can run.<br>
|
||||
The French Translations are courtesy of Patrice Vetsel<br>
|
||||
</p>
|
||||
|
||||
|
||||
<p align="center">With thanks to Richard who reminded me once again that
|
||||
we must all first walk before we can run.<br>
|
||||
The French Translations are courtesy of Patrice Vetsel<br>
|
||||
</p>
|
||||
|
||||
<h2>The Guides</h2>
|
||||
|
||||
<p>These guides provide step-by-step instructions for configuring Shorewall
|
||||
in common firewall setups.</p>
|
||||
|
||||
<p>The following guides are for <b>users who have a single public IP address</b>:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="standalone.htm">Standalone</a>
|
||||
Linux System (<a href="standalone_fr.html">Version Française</a>)</li>
|
||||
<li><a href="two-interface.htm">Two-interface</a>
|
||||
Linux System acting as a firewall/router for a small local
|
||||
network (<a href="two-interface_fr.html">Version Française</a>)</li>
|
||||
<li><a href="three-interface.htm">Three-interface</a>
|
||||
Linux System acting as a firewall/router for a small local
|
||||
network and a DMZ. (<a href="three-interface_fr.html">Version Française</a>)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>The above guides are designed to get your first firewall up and running
|
||||
quickly in the three most common Shorewall configurations.</p>
|
||||
|
||||
<p>The <a href="shorewall_setup_guide.htm">Shorewall Setup Guide</a> (See
|
||||
Index Below) outlines the steps necessary to set up a firewall
|
||||
where <b>there are multiple public IP addresses involved or
|
||||
if you want to learn more about Shorewall than is explained in
|
||||
the single-address guides above.</b></p>
|
||||
|
||||
<ul>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2><a name="Documentation"></a>Documentation Index</h2>
|
||||
|
||||
<p>The following documentation covers a variety of topics and <b>supplements
|
||||
the <a href="shorewall_quickstart_guide.htm">QuickStart Guides</a>
|
||||
described above</b>. Please review the appropriate guide before
|
||||
trying to use this documentation directly.</p>
|
||||
|
||||
<ul>
|
||||
<li><a
|
||||
href="Shorewall_and_Aliased_Interfaces.html">Aliased (virtual) Interfaces
|
||||
(e.g., eth0:0)</a><br>
|
||||
</li>
|
||||
<li><a href="blacklisting_support.htm">Blacklisting</a>
|
||||
|
||||
<ul>
|
||||
<li>Static Blacklisting using /etc/shorewall/blacklist</li>
|
||||
<li>Dynamic Blacklisting using /sbin/shorewall</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm">Common configuration file
|
||||
features</a>
|
||||
<ul>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Comments">Comments in configuration
|
||||
files</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Continuation">Line Continuation</a></li>
|
||||
<li><a href="configuration_file_basics.htm#INCLUDE">INCLUDE Directive</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Ports">Port Numbers/Service Names</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Ranges">Port Ranges</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Variables">Using Shell Variables</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#dnsnames">Using DNS Names</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Compliment">Complementing an IP address
|
||||
or Subnet</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Configs">Shorewall Configurations
|
||||
(making a test configuration)</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#MAC">Using MAC Addresses in Shorewall</a></li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="Documentation.htm">Configuration
|
||||
File Reference Manual</a>
|
||||
<ul>
|
||||
<li> <a
|
||||
href="Documentation.htm#Variables">params</a></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Zones">zones</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Interfaces">interfaces</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Hosts">hosts</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Policy">policy</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Rules">rules</a></font></li>
|
||||
<li><a href="Documentation.htm#Common">common</a></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Masq">masq</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#ProxyArp">proxyarp</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#NAT">nat</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Tunnels">tunnels</a></font></li>
|
||||
<li><a
|
||||
href="traffic_shaping.htm#tcrules">tcrules</a></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Conf">shorewall.conf</a></font></li>
|
||||
<li><a
|
||||
href="Documentation.htm#modules">modules</a></li>
|
||||
<li><a href="Documentation.htm#TOS">tos</a>
|
||||
</li>
|
||||
<li><a
|
||||
href="Documentation.htm#Blacklist">blacklist</a></li>
|
||||
<li><a
|
||||
href="Documentation.htm#rfc1918">rfc1918</a></li>
|
||||
<li><a
|
||||
href="Documentation.htm#Routestopped">routestopped</a></li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="dhcp.htm">DHCP</a></li>
|
||||
<li><a href="ECN.html">ECN Disabling by host
|
||||
or subnet</a><br>
|
||||
</li>
|
||||
<li><font color="#000099"><a
|
||||
href="shorewall_extension_scripts.htm">Extension Scripts</a></font>
|
||||
(How to extend Shorewall without modifying Shorewall code through the
|
||||
use of files in /etc/shorewall -- /etc/shorewall/start, /etc/shorewall/stopped,
|
||||
etc.)</li>
|
||||
<li><a href="fallback.htm">Fallback/Uninstall</a></li>
|
||||
<li><a
|
||||
href="shorewall_firewall_structure.htm">Firewall Structure</a></li>
|
||||
<li><font color="#000099"><a
|
||||
href="kernel.htm">Kernel Configuration</a></font></li>
|
||||
<li><a href="shorewall_logging.html">Logging</a><br>
|
||||
</li>
|
||||
<li><a href="MAC_Validation.html">MAC Verification</a><br>
|
||||
</li>
|
||||
<li><a href="myfiles.htm">My Shorewall
|
||||
Configuration (How I personally use Shorewall)</a><br>
|
||||
</li>
|
||||
<li><a href="ping.html">'Ping' Management</a><br>
|
||||
</li>
|
||||
<li><a href="ports.htm">Port Information</a>
|
||||
|
||||
<ul>
|
||||
<li>Which applications use which ports</li>
|
||||
<li>Ports used by Trojans</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="ProxyARP.htm">Proxy ARP</a></li>
|
||||
<li><a href="samba.htm">Samba</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm">Shorewall Setup Guide</a><br>
|
||||
</li>
|
||||
|
||||
|
||||
<p>These guides provide step-by-step instructions for configuring Shorewall
|
||||
in common firewall setups.</p>
|
||||
|
||||
<p>If you have a <font color="#ff0000"><big><big><b>single public IP address</b></big></big></font>:</p>
|
||||
|
||||
<blockquote>
|
||||
<ul>
|
||||
<li><a href="shorewall_setup_guide.htm#Introduction">1.0 Introduction</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Concepts">2.0 Shorewall
|
||||
Concepts</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Interfaces">3.0 Network
|
||||
Interfaces</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Addressing">4.0 Addressing,
|
||||
Subnets and Routing</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="shorewall_setup_guide.htm#Addresses">4.1 IP
|
||||
Addresses</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Subnets">4.2 Subnets</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Routing">4.3 Routing</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#ARP">4.4 Address
|
||||
Resolution Protocol (ARP)</a></li>
|
||||
<li><a href="standalone.htm">Standalone</a>
|
||||
Linux System (<a href="standalone_fr.html">Version Française</a>)</li>
|
||||
<li><a href="two-interface.htm">Two-interface</a>
|
||||
Linux System acting as a firewall/router for a small local
|
||||
network (<a href="two-interface_fr.html">Version Française</a>)</li>
|
||||
<li><a href="three-interface.htm">Three-interface</a>
|
||||
Linux System acting as a firewall/router for a small local
|
||||
network and a DMZ. (<a href="three-interface_fr.html">Version Française</a>)</li>
|
||||
|
||||
</ul>
|
||||
<p>The above guides are designed to get your first firewall up and running
|
||||
quickly in the three most common Shorewall configurations.
|
||||
If you want to learn more about Shorewall than is explained in the above
|
||||
simple guides, the <a href="shorewall_setup_guide.htm">Shorewall Setup Guide</a>
|
||||
(See Index Below) is for you.</p>
|
||||
</blockquote>
|
||||
|
||||
<p>If you have <font color="#ff0000"><big><big><b>more than one public IP
|
||||
address</b></big></big></font>:<br>
|
||||
</p>
|
||||
<blockquote>The <a href="shorewall_setup_guide.htm">Shorewall Setup Guide</a>
|
||||
(See Index Below) outlines the steps necessary to set up
|
||||
a firewall where there are <small><small><big><big>multiple
|
||||
public IP addresses</big></big></small></small> involved or if you
|
||||
want to learn more about Shorewall than is explained in the
|
||||
single-address guides above.</blockquote>
|
||||
|
||||
<ul>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2><b><a name="Documentation"></a></b>Documentation Index</h2>
|
||||
|
||||
<p>The following documentation covers a variety of topics and <b>supplements
|
||||
the <a href="shorewall_quickstart_guide.htm">QuickStart
|
||||
Guides</a> described above</b>. Please review the appropriate
|
||||
guide before trying to use this documentation directly.</p>
|
||||
|
||||
<ul>
|
||||
<li><a
|
||||
href="Shorewall_and_Aliased_Interfaces.html">Aliased (virtual) Interfaces
|
||||
(e.g., eth0:0)</a><br>
|
||||
</li>
|
||||
<li><a href="blacklisting_support.htm">Blacklisting</a>
|
||||
|
||||
<ul>
|
||||
<li>Static Blacklisting using /etc/shorewall/blacklist</li>
|
||||
<li>Dynamic Blacklisting using /sbin/shorewall</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm">Common configuration file
|
||||
features</a>
|
||||
|
||||
<ul>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Comments">Comments in configuration
|
||||
files</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Continuation">Line Continuation</a></li>
|
||||
<li><a href="configuration_file_basics.htm#INCLUDE">INCLUDE
|
||||
Directive</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Ports">Port Numbers/Service Names</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Ranges">Port Ranges</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Variables">Using Shell Variables</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#dnsnames">Using DNS Names</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Compliment">Complementing an IP address
|
||||
or Subnet</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#Configs">Shorewall Configurations (making
|
||||
a test configuration)</a></li>
|
||||
<li><a
|
||||
href="configuration_file_basics.htm#MAC">Using MAC Addresses in Shorewall</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="Documentation.htm">Configuration
|
||||
File Reference Manual</a>
|
||||
|
||||
<ul>
|
||||
<li> <a
|
||||
href="Documentation.htm#Variables">params</a></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Zones">zones</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Interfaces">interfaces</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Hosts">hosts</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Policy">policy</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Rules">rules</a></font></li>
|
||||
<li><a
|
||||
href="Documentation.htm#Common">common</a></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Masq">masq</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#ProxyArp">proxyarp</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#NAT">nat</a></font></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Tunnels">tunnels</a></font></li>
|
||||
<li><a
|
||||
href="traffic_shaping.htm#tcrules">tcrules</a></li>
|
||||
<li><font color="#000099"><a
|
||||
href="Documentation.htm#Conf">shorewall.conf</a></font></li>
|
||||
<li><a
|
||||
href="Documentation.htm#modules">modules</a></li>
|
||||
<li><a
|
||||
href="Documentation.htm#TOS">tos</a> </li>
|
||||
<li><a
|
||||
href="Documentation.htm#Blacklist">blacklist</a></li>
|
||||
<li><a
|
||||
href="Documentation.htm#rfc1918">rfc1918</a></li>
|
||||
<li><a
|
||||
href="Documentation.htm#Routestopped">routestopped</a></li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="CorpNetwork.htm">Corporate
|
||||
Network Example</a> (Contributed by a Graeme Boyle)<br>
|
||||
</li>
|
||||
<li><a href="dhcp.htm">DHCP</a></li>
|
||||
<li><a href="ECN.html">ECN Disabling
|
||||
by host or subnet</a></li>
|
||||
<li><a href="errata.htm">Errata</a><br>
|
||||
</li>
|
||||
<li><font color="#000099"><a
|
||||
href="shorewall_extension_scripts.htm">Extension Scripts</a></font>
|
||||
(How to extend Shorewall without modifying Shorewall code through the
|
||||
use of files in /etc/shorewall -- /etc/shorewall/start, /etc/shorewall/stopped,
|
||||
etc.)</li>
|
||||
<li><a href="fallback.htm">Fallback/Uninstall</a></li>
|
||||
<li><a href="FAQ.htm">FAQs</a><br>
|
||||
</li>
|
||||
<li><a href="shorewall_features.htm">Features</a><br>
|
||||
</li>
|
||||
<li><a
|
||||
href="shorewall_firewall_structure.htm">Firewall Structure</a></li>
|
||||
<li><a href="support.htm">Getting help or answers to questions</a></li>
|
||||
<li>Greater Seattle Linux Users Group Presentation</li>
|
||||
|
||||
<ul>
|
||||
<li><a href="GSLUG.htm">HTML</a></li>
|
||||
<li><a href="GSLUG.ppt">PowerPoint</a></li>
|
||||
|
||||
</ul>
|
||||
<li><a href="Install.htm">Installation/Upgrade</a><br>
|
||||
</li>
|
||||
<li><font color="#000099"><a
|
||||
href="kernel.htm">Kernel Configuration</a></font></li>
|
||||
<li><a href="shorewall_logging.html">Logging</a><br>
|
||||
</li>
|
||||
<li><a href="MAC_Validation.html">MAC
|
||||
Verification</a></li>
|
||||
<li><a href="http://lists.shorewall.net">Mailing Lists</a><br>
|
||||
</li>
|
||||
<li><a href="myfiles.htm">My
|
||||
Shorewall Configuration (How I personally use Shorewall)</a><br>
|
||||
</li>
|
||||
<li><a href="ping.html">'Ping' Management</a><br>
|
||||
</li>
|
||||
<li><a href="ports.htm">Port Information</a>
|
||||
|
||||
<ul>
|
||||
<li>Which applications use which ports</li>
|
||||
<li>Ports used by Trojans</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="ProxyARP.htm">Proxy ARP</a></li>
|
||||
<li><a href="shorewall_prerequisites.htm">Requirements</a><br>
|
||||
</li>
|
||||
<li><a href="samba.htm">Samba</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm">Shorewall Setup Guide</a><br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li><a href="shorewall_setup_guide.htm#Introduction">1.0
|
||||
Introduction</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Concepts">2.0 Shorewall
|
||||
Concepts</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Interfaces">3.0 Network
|
||||
Interfaces</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Addressing">4.0 Addressing,
|
||||
Subnets and Routing</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="shorewall_setup_guide.htm#RFC1918">4.5 RFC
|
||||
1918</a></li>
|
||||
|
||||
<li><a href="shorewall_setup_guide.htm#Addresses">4.1
|
||||
IP Addresses</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Subnets">4.2 Subnets</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#Routing">4.3 Routing</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#ARP">4.4 Address
|
||||
Resolution Protocol (ARP)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="shorewall_setup_guide.htm#Options">5.0 Setting
|
||||
up your Network</a>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="shorewall_setup_guide.htm#Routed">5.1 Routed</a></li>
|
||||
|
||||
<li><a href="shorewall_setup_guide.htm#RFC1918">4.5 RFC
|
||||
1918</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<li><a href="shorewall_setup_guide.htm#Options">5.0 Setting
|
||||
up your Network</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="shorewall_setup_guide.htm#NonRouted">5.2 Non-routed</a>
|
||||
<li><a href="shorewall_setup_guide.htm#Routed">5.1 Routed</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="shorewall_setup_guide.htm#NonRouted">5.2
|
||||
Non-routed</a>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="shorewall_setup_guide.htm#SNAT">5.2.1 SNAT</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#DNAT">5.2.2 DNAT</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#ProxyARP">5.2.3
|
||||
Proxy ARP</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#NAT">5.2.4 Static
|
||||
NAT</a></li>
|
||||
|
||||
<li><a href="shorewall_setup_guide.htm#SNAT">5.2.1
|
||||
SNAT</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#DNAT">5.2.2
|
||||
DNAT</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#ProxyARP">5.2.3
|
||||
Proxy ARP</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#NAT">5.2.4
|
||||
Static NAT</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="shorewall_setup_guide.htm#Rules">5.3 Rules</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#OddsAndEnds">5.4 Odds
|
||||
and Ends</a></li>
|
||||
|
||||
</li>
|
||||
<li><a href="shorewall_setup_guide.htm#Rules">5.3 Rules</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#OddsAndEnds">5.4
|
||||
Odds and Ends</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="shorewall_setup_guide.htm#DNS">6.0 DNS</a></li>
|
||||
<li><a href="shorewall_setup_guide.htm#StartingAndStopping">7.0
|
||||
Starting and Stopping the Firewall</a></li>
|
||||
|
||||
</li>
|
||||
<li><a href="shorewall_setup_guide.htm#DNS">6.0 DNS</a></li>
|
||||
<li><a
|
||||
href="shorewall_setup_guide.htm#StartingAndStopping">7.0 Starting
|
||||
and Stopping the Firewall</a></li>
|
||||
|
||||
</ul>
|
||||
<li><font color="#000099"><a
|
||||
<li><font color="#000099"><a
|
||||
href="starting_and_stopping_shorewall.htm">Starting/stopping the Firewall</a></font></li>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>Description of all /sbin/shorewall commands</li>
|
||||
<li>How to safely test a Shorewall configuration
|
||||
change<br>
|
||||
</li>
|
||||
|
||||
<li>Description of all /sbin/shorewall commands</li>
|
||||
<li>How to safely test a Shorewall configuration
|
||||
change<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<li><font color="#000099"><a
|
||||
<li><font color="#000099"><a
|
||||
href="NAT.htm">Static NAT</a></font></li>
|
||||
<li><a href="Shorewall_Squid_Usage.html">Squid as a Transparent
|
||||
Proxy with Shorewall</a><br>
|
||||
</li>
|
||||
<li><a href="traffic_shaping.htm">Traffic
|
||||
Shaping/QOS</a></li>
|
||||
<li>VPN
|
||||
|
||||
<ul>
|
||||
<li><a href="IPSEC.htm">IPSEC</a></li>
|
||||
<li><a href="IPIP.htm">GRE and IPIP</a></li>
|
||||
<li><a href="OPENVPN.html">OpenVPN</a><br>
|
||||
</li>
|
||||
<li><a href="PPTP.htm">PPTP</a></li>
|
||||
<li><a href="6to4.htm">6t04</a><br>
|
||||
<li><a href="Shorewall_Squid_Usage.html">Squid as a
|
||||
Transparent Proxy with Shorewall</a></li>
|
||||
<li><a href="traffic_shaping.htm">Traffic
|
||||
Shaping/QOS</a></li>
|
||||
<li><a href="troubleshoot.htm">Troubleshooting (Things to try if it
|
||||
doesn't work)</a><br>
|
||||
</li>
|
||||
<li><a href="upgrade_issues.htm">Upgrade Issues</a><br>
|
||||
</li>
|
||||
<li><a href="VPN.htm">IPSEC/PPTP</a> from
|
||||
a system behind your firewall to a remote network.</li>
|
||||
|
||||
<li>VPN
|
||||
|
||||
<ul>
|
||||
<li><a href="IPSEC.htm">IPSEC</a></li>
|
||||
<li><a href="IPIP.htm">GRE and IPIP</a></li>
|
||||
<li><a href="OPENVPN.html">OpenVPN</a><br>
|
||||
</li>
|
||||
<li><a href="PPTP.htm">PPTP</a></li>
|
||||
<li><a href="6to4.htm">6t04</a><br>
|
||||
</li>
|
||||
<li><a href="VPN.htm">IPSEC/PPTP</a>
|
||||
from a system behind your firewall to a remote network.</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a
|
||||
</li>
|
||||
<li><a
|
||||
href="whitelisting_under_shorewall.htm">White List Creation</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<p>If you use one of these guides and have a suggestion for improvement <a
|
||||
href="mailto:webmaster@shorewall.net">please let me know</a>.</p>
|
||||
|
||||
<p><font size="2">Last modified 5/18/2003 - <a href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright 2002, 2003 Thomas M.
|
||||
Eastep</font></a><br>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<p><font size="2">Last modified 7/18/2003 - <a href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
<p><a href="copyright.htm"><font size="2">Copyright 2002, 2003 Thomas M.
|
||||
Eastep</font></a><br>
|
||||
</p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,488 +2,646 @@
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shoreline Firewall (Shorewall) 1.3</title>
|
||||
<title>Shoreline Firewall (Shorewall) 1.4</title>
|
||||
|
||||
|
||||
<base target="_self">
|
||||
|
||||
<base target="_self">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="4"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber3"
|
||||
bgcolor="#4b017c">
|
||||
bgcolor="#3366ff">
|
||||
|
||||
<tbody>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<tr>
|
||||
|
||||
<td width="33%" height="90" valign="middle"
|
||||
align="left"><a href="http://www.cityofshoreline.com"><img
|
||||
<td width="33%" height="90"
|
||||
valign="middle" align="left"><a href="http://www.cityofshoreline.com"><img
|
||||
src="images/washington.jpg" alt="" width="97" height="80" hspace="4"
|
||||
border="0">
|
||||
</a></td>
|
||||
<td valign="middle" width="34%" align="center">
|
||||
|
||||
|
||||
|
||||
<h1><font color="#ffffff">Shorewall 1.4</font><i><font
|
||||
color="#ffffff"> <small><small><small>"iptables made easy"</small></small></small></font></i></h1>
|
||||
</a></td>
|
||||
<td valign="middle"
|
||||
bgcolor="#3366ff" width="34%" align="center">
|
||||
<img
|
||||
src="images/Logo1.png" alt="(Shorewall Logo)" width="430" height="90">
|
||||
</td>
|
||||
<td valign="top" width="33"><br>
|
||||
</td>
|
||||
<td valign="middle">
|
||||
<h1 align="center"><a href="http://www.shorewall.net"
|
||||
target="_top"><br>
|
||||
</a></h1>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div align="center">
|
||||
<center>
|
||||
|
||||
|
||||
<div align="center">
|
||||
<center>
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber4">
|
||||
|
||||
<tbody>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<tr>
|
||||
|
||||
<td width="90%">
|
||||
<td width="90%">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 align="left">What is it?</h2>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p>The Shoreline Firewall, more commonly known as "Shorewall", is
|
||||
a <a href="http://www.netfilter.org">Netfilter</a>
|
||||
(iptables) based firewall that can be used
|
||||
on a dedicated firewall system, a multi-function
|
||||
gateway/router/server or on a standalone GNU/Linux system.</p>
|
||||
a <a
|
||||
href="http://www.netfilter.org">Netfilter</a> (iptables)
|
||||
based firewall that can be used on a dedicated
|
||||
firewall system, a multi-function gateway/router/server
|
||||
or on a standalone GNU/Linux system.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p>This program is free software; you can redistribute it and/or modify
|
||||
it
|
||||
under the terms of <a
|
||||
|
||||
it under the terms of <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">Version 2 of the
|
||||
GNU General Public License</a> as published by the Free Software
|
||||
Foundation.<br>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
This program is distributed in the
|
||||
hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
Public License for more details.<br>
|
||||
This program is distributed
|
||||
in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without
|
||||
even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU General Public License for more details.<br>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
You should have received a copy of
|
||||
the GNU General Public License
|
||||
along with this program; if not, write to
|
||||
the Free Software Foundation, Inc.,
|
||||
675 Mass Ave, Cambridge, MA 02139, USA</p>
|
||||
You should have received a
|
||||
copy of the GNU General Public License
|
||||
along with this program; if not,
|
||||
write to the Free Software Foundation,
|
||||
Inc., 675 Mass Ave, Cambridge, MA 02139,
|
||||
USA</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><a href="copyright.htm">Copyright 2001, 2002, 2003 Thomas M. Eastep</a></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2>Running Shorewall on Mandrake with a two-interface setup?</h2>
|
||||
If so, almost <b>NOTHING </b>on this site will apply directly
|
||||
to your setup. If you want to use the documentation that you find here,
|
||||
it is best if you uninstall what you have and install a setup that matches
|
||||
the documentation on this site. See the <a href="two-interface.htm">Two-interface
|
||||
QuickStart Guide</a> for details.<br>
|
||||
|
||||
|
||||
|
||||
<h2>This is the Shorewall 1.4 Web Site</h2>
|
||||
The information on this site applies only to 1.4.x releases of Shorewall.
|
||||
For older versions:<br>
|
||||
|
||||
<ul>
|
||||
<li>The 1.3 site is <a href="http://www.shorewall.net/1.3"
|
||||
target="_top">here.</a></li>
|
||||
<li>The 1.2 site is <a href="http://shorewall.net/1.2/"
|
||||
target="_top">here</a>.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Getting Started with Shorewall</h2>
|
||||
New to Shorewall? Start by selecting the <a
|
||||
href="shorewall_quickstart_guide.htm">QuickStart Guide</a> that most closely
|
||||
match your environment and follow the step by step instructions.<br>
|
||||
New to Shorewall? Start by selecting
|
||||
the <a
|
||||
href="file:///vfat/Shorewall-docs/shorewall_quickstart_guide.htm">QuickStart
|
||||
Guide</a> that most closely match your environment and
|
||||
follow the step by step instructions.<br>
|
||||
|
||||
<h2>Looking for Information?</h2>
|
||||
The <a href="shorewall_quickstart_guide.htm#Documentation">Documentation
|
||||
Index</a> is a good place to start as is the Quick Search to your right.
|
||||
|
||||
<h2>Running Shorewall on Mandrake with a two-interface setup?</h2>
|
||||
If so, the documentation<b> </b>on this site
|
||||
will not apply directly to your setup. If you want to use the documentation
|
||||
that you find here, you will want to consider uninstalling what you
|
||||
have and installing a setup that matches the documentation on
|
||||
this site. See the <a href="two-interface.htm">Two-interface QuickStart
|
||||
Guide</a> for details.
|
||||
|
||||
<h2></h2>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2><b>News</b></h2>
|
||||
<b> </b>
|
||||
|
||||
|
||||
|
||||
<p><b>6/17/2003 - Shorewall-1.4.5</b><b> </b><b><img
|
||||
border="0" src="images/new10.gif" width="28" height="12" alt="(New)">
|
||||
</b></p>
|
||||
|
||||
<p>Problems Corrected:<br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>The command "shorewall debug try <directory>" now correctly
|
||||
traces the attempt.</li>
|
||||
<li>The INCLUDE directive now works properly in the zones file; previously,
|
||||
INCLUDE in that file was ignored.</li>
|
||||
<li>/etc/shorewall/routestopped records with an empty second column
|
||||
are no longer ignored.<br>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>New Features:<br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] rule may
|
||||
now contain a list of addresses. If the list begins with "!' then the rule
|
||||
will take effect only if the original destination address in the connection
|
||||
request does not match any of the addresses listed.</li>
|
||||
</ol>
|
||||
<p><b>6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8</b><b>
|
||||
</b><b><img border="0" src="images/new10.gif" width="28"
|
||||
height="12" alt="(New)">
|
||||
</b></p>
|
||||
The firewall at shorewall.net has been upgraded to the 2.4.21 kernel and
|
||||
iptables 1.2.8 (using the "official" RPM from netfilter.org). No problems
|
||||
have been encountered with this set of software. The Shorewall version is
|
||||
1.4.4b plus the accumulated changes for 1.4.5.
|
||||
<p><b>6/8/2003 - Updated Samples</b><b> </b><b><img border="0"
|
||||
src="images/new10.gif" width="28" height="12" alt="(New)">
|
||||
</b></p>
|
||||
|
||||
<p>Thanks to Francesca Smith, the samples have been updated to Shorewall
|
||||
version 1.4.4.</p>
|
||||
|
||||
<p><b>5/29/2003 - Shorewall-1.4.4b</b><b> </b></p>
|
||||
|
||||
<p>Groan -- This version corrects a problem whereby the --log-level
|
||||
was not being set when logging via syslog. The most commonly reported symptom
|
||||
was that Shorewall messages were being written to the console even though
|
||||
console logging was correctly configured per <a href="FAQ.htm#faq16">FAQ
|
||||
16</a>.<br>
|
||||
</p>
|
||||
|
||||
<p><b>5/27/2003 - Shorewall-1.4.4a</b><b> </b></p>
|
||||
The Fireparse --log-prefix fiasco continues. Tuomo Soini has pointed
|
||||
out that the code in 1.4.4 restricts the length of short zone names to
|
||||
4 characters. I've produced version 1.4.4a that restores the previous 5-character
|
||||
limit by conditionally omitting the log rule number when the LOGFORMAT
|
||||
doesn't contain '%d'.
|
||||
<p><b>5/23/2003 - Shorewall-1.4.4</b><b> </b><b>
|
||||
</b></p>
|
||||
I apologize for the rapid-fire releases but since there is a potential
|
||||
configuration change required to go from 1.4.3a to 1.4.4, I decided to
|
||||
make it a full release rather than just a bug-fix release. <br>
|
||||
<br>
|
||||
<b> Problems corrected:</b><br>
|
||||
|
||||
<blockquote>None.<br>
|
||||
</blockquote>
|
||||
<b> New Features:<br>
|
||||
</b>
|
||||
<ol>
|
||||
<li>A REDIRECT- rule target has been added. This target behaves
|
||||
for REDIRECT in the same way as DNAT- does for DNAT in that the Netfilter
|
||||
nat table REDIRECT rule is added but not the companion filter table ACCEPT
|
||||
rule.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The LOGMARKER variable has been renamed LOGFORMAT and
|
||||
has been changed to a 'printf' formatting template which accepts three
|
||||
arguments (the chain name, logging rule number and the disposition). To
|
||||
use LOGFORMAT with fireparse (<a href="http://www.fireparse.com">http://www.fireparse.com</a>),
|
||||
set it as:<br>
|
||||
<br>
|
||||
LOGFORMAT="fp=%s:%d a=%s "<br>
|
||||
<br>
|
||||
<b>CAUTION: </b>/sbin/shorewall uses the leading part of the
|
||||
LOGFORMAT string (up to but not including the first '%') to find log messages
|
||||
in the 'show log', 'status' and 'hits' commands. This part should not
|
||||
be omitted (the LOGFORMAT should not begin with "%") and the leading part
|
||||
should be sufficiently unique for /sbin/shorewall to identify Shorewall
|
||||
messages.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>When logging is specified on a DNAT[-] or REDIRECT[-]
|
||||
rule, the logging now takes place in the nat table rather than in the filter
|
||||
table. This way, only those connections that actually undergo DNAT or redirection
|
||||
will be logged.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><b>5/20/2003 - Shorewall-1.4.3a</b><b> </b><b>
|
||||
</b><br>
|
||||
</p>
|
||||
This version primarily corrects the documentation included in the
|
||||
.tgz and in the .rpm. In addition: <br>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>(This change is in 1.4.3 but is not documented) If
|
||||
you are running iptables 1.2.7a and kernel 2.4.20, then Shorewall will
|
||||
return reject replies as follows:<br>
|
||||
a) tcp - RST<br>
|
||||
b) udp - ICMP port unreachable<br>
|
||||
c) icmp - ICMP host unreachable<br>
|
||||
d) Otherwise - ICMP host prohibited<br>
|
||||
If you are running earlier software, Shorewall will follow it's
|
||||
traditional convention:<br>
|
||||
a) tcp - RST<br>
|
||||
b) Otherwise - ICMP port unreachable</li>
|
||||
<li>UDP port 135 is now silently dropped in the common.def
|
||||
chain. Remember that this chain is traversed just before a DROP or REJECT
|
||||
policy is enforced.<br>
|
||||
</li>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>5/18/2003 - Shorewall 1.4.3</b><br>
|
||||
</p>
|
||||
<b>Problems Corrected:<br>
|
||||
</b>
|
||||
|
||||
<ol>
|
||||
<li>There were several cases where Shorewall would fail
|
||||
to remove a temporary directory from /tmp. These cases have been corrected.</li>
|
||||
<li>The rules for allowing all traffic via the loopback
|
||||
interface have been moved to before the rule that drops status=INVALID
|
||||
packets. This insures that all loopback traffic is allowed even if Netfilter
|
||||
connection tracking is confused.</li>
|
||||
|
||||
|
||||
</ol>
|
||||
<b>New Features:<br>
|
||||
</b>
|
||||
|
||||
<ol>
|
||||
<li><a href="6to4.htm"> </a><a href="6to4.htm">IPV6-IPV4
|
||||
(6to4) tunnels </a>are now supported in the /etc/shorewall/tunnels
|
||||
file.</li>
|
||||
<li value="2">You may now change the leading portion
|
||||
of the --log-prefix used by Shorewall using the LOGMARKER variable in
|
||||
shorewall.conf. By default, "Shorewall:" is used.<br>
|
||||
</li>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>5/10/2003 - Shorewall Mirror in Asia</b><b> </b><br>
|
||||
</p>
|
||||
Ed Greshko has established a mirror in Taiwan -- Thanks
|
||||
Ed!
|
||||
|
||||
<p><b>5/8/2003 - Shorewall Mirror in Chile</b><b> </b></p>
|
||||
|
||||
|
||||
<p>Thanks to Darcy Ganga, there is now an HTTP mirror in Santiago Chile.<br>
|
||||
</p>
|
||||
|
||||
|
||||
<p><b>4/26/2003 - lists.shorewall.net Downtime</b><b> </b></p>
|
||||
|
||||
|
||||
|
||||
<p>The list server will be down this morning for upgrade to RH9.0.<br>
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<p><b>4/21/2003 - Samples updated for Shorewall version 1.4.2</b><b>
|
||||
</b></p>
|
||||
|
||||
<p><b>7/20/2003 - Shorewall-1.4.6</b><b> <img border="0"
|
||||
src="images/new10.gif" width="28" height="12" alt="(New)">
|
||||
<br>
|
||||
</b> </p>
|
||||
|
||||
|
||||
<p>Thanks to Francesca Smith, the sample configurations are now upgraded
|
||||
to Shorewall version 1.4.2.</p>
|
||||
|
||||
|
||||
|
||||
<p><b>4/12/2002 - Greater Seattle Linux Users Group Presentation</b><b>
|
||||
</b></p>
|
||||
|
||||
|
||||
<p><b>Problems Corrected:</b><br>
|
||||
</p>
|
||||
|
||||
<blockquote> This morning, I gave <a href="GSLUG.htm"
|
||||
target="_top">a Shorewall presentation to GSLUG</a>. The presentation
|
||||
is in HTML format but was generated from Microsoft PowerPoint
|
||||
and is best viewed using Internet Explorer (although Konqueror also
|
||||
seems to work reasonably well as does Opera 7.1.0). Neither Opera
|
||||
6 nor Netscape work well to view the presentation.</blockquote>
|
||||
|
||||
<ol>
|
||||
<li>A problem seen on RH7.3 systems where Shorewall encountered
|
||||
start errors when started using the "service" mechanism has been worked
|
||||
around.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Where a list of IP addresses appears in the DEST column of
|
||||
a DNAT[-] rule, Shorewall incorrectly created multiple DNAT rules in the
|
||||
nat table (one for each element in the list). Shorewall now correctly creates
|
||||
a single DNAT rule with multiple "--to-destination" clauses.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Corrected a problem in Beta 1 where DNS names containing a
|
||||
"-" were mis-handled when they appeared in the DEST column of a rule.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>A number of problems with rule parsing have been corrected.
|
||||
Corrections involve the handling of "z1!z2" in the SOURCE column as well
|
||||
as lists in the ORIGINAL DESTINATION column.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The message "Adding rules for DHCP" is now suppressed if there
|
||||
are no DHCP rules to add.</li>
|
||||
</ol>
|
||||
|
||||
<p><b>Migration Issues:</b><br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>In earlier versions, an undocumented feature allowed entries
|
||||
in the host file as follows:<br>
|
||||
<br>
|
||||
z eth1:192.168.1.0/24,eth2:192.168.2.0/24<br>
|
||||
<br>
|
||||
This capability was never documented and has been removed in 1.4.6
|
||||
to allow entries of the following format:<br>
|
||||
<br>
|
||||
z eth1:192.168.1.0/24,192.168.2.0/24<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT options
|
||||
have been removed from /etc/shorewall/shorewall.conf. These capabilities
|
||||
are now automatically detected by Shorewall (see below).<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p><b>New Features:</b><br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>A 'newnotsyn' interface option has been added. This option
|
||||
may be specified in /etc/shorewall/interfaces and overrides the setting
|
||||
NEWNOTSYN=No for packets arriving on the associated interface.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The means for specifying a range of IP addresses in /etc/shorewall/masq
|
||||
to use for SNAT is now documented. ADD_SNAT_ALIASES=Yes is enabled for
|
||||
address ranges.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Shorewall can now add IP addresses to subnets other than
|
||||
the first one on an interface.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>DNAT[-] rules may now be used to load balance (round-robin)
|
||||
over a set of servers. Servers may be specified in a range of addresses
|
||||
given as <first address>-<last address>.<br>
|
||||
<br>
|
||||
Example:<br>
|
||||
<br>
|
||||
DNAT net loc:192.168.10.2-192.168.10.5 tcp 80<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration
|
||||
options have been removed and have been replaced by code that detects
|
||||
whether these capabilities are present in the current kernel. The output
|
||||
of the start, restart and check commands have been enhanced to report the
|
||||
outcome:<br>
|
||||
<br>
|
||||
Shorewall has detected the following iptables/netfilter capabilities:<br>
|
||||
NAT: Available<br>
|
||||
Packet Mangling: Available<br>
|
||||
Multi-port Match: Available<br>
|
||||
Verifying Configuration...<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Support for the Connection Tracking Match Extension has
|
||||
been added. This extension is available in recent kernel/iptables releases
|
||||
and allows for rules which match against elements in netfilter's connection
|
||||
tracking table. Shorewall automatically detects the availability of this
|
||||
extension and reports its availability in the output of the start, restart
|
||||
and check commands.<br>
|
||||
<br>
|
||||
Shorewall has detected the following iptables/netfilter capabilities:<br>
|
||||
NAT: Available<br>
|
||||
Packet Mangling: Available<br>
|
||||
Multi-port Match: Available<br>
|
||||
Connection Tracking Match: Available<br>
|
||||
Verifying Configuration...<br>
|
||||
<br>
|
||||
If this extension is available, the ruleset generated by Shorewall
|
||||
is changed in the following ways:</li>
|
||||
|
||||
<ul>
|
||||
<li>To handle 'norfc1918' filtering, Shorewall will not
|
||||
create chains in the mangle table but will rather do all 'norfc1918'
|
||||
filtering in the filter table (rfc1918 chain).</li>
|
||||
<li>Recall that Shorewall DNAT rules generate two netfilter
|
||||
rules; one in the nat table and one in the filter table. If the Connection
|
||||
Tracking Match Extension is available, the rule in the filter table is
|
||||
extended to check that the original destination address was the same as
|
||||
specified (or defaulted to) in the DNAT rule.<br>
|
||||
<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<li>The shell used to interpret the firewall script (/usr/share/shorewall/firewall)
|
||||
may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>An 'ipcalc' command has been added to /sbin/shorewall.<br>
|
||||
<br>
|
||||
ipcalc [ <address> <netmask> | <address>/<vlsm>
|
||||
]<br>
|
||||
<br>
|
||||
Examples:<br>
|
||||
<br>
|
||||
[root@wookie root]# shorewall ipcalc 192.168.1.0/24<br>
|
||||
CIDR=192.168.1.0/24<br>
|
||||
NETMASK=255.255.255.0<br>
|
||||
NETWORK=192.168.1.0<br>
|
||||
BROADCAST=192.168.1.255<br>
|
||||
[root@wookie root]#<br>
|
||||
<br>
|
||||
[root@wookie root]# shorewall ipcalc 192.168.1.0 255.255.255.0<br>
|
||||
CIDR=192.168.1.0/24<br>
|
||||
NETMASK=255.255.255.0<br>
|
||||
NETWORK=192.168.1.0<br>
|
||||
BROADCAST=192.168.1.255<br>
|
||||
[root@wookie root]#<br>
|
||||
<br>
|
||||
Warning:<br>
|
||||
<br>
|
||||
If your shell only supports 32-bit signed arithmatic (ash or dash),
|
||||
then the ipcalc command produces incorrect information for IP addresses
|
||||
128.0.0.0-1 and for /1 networks. Bash should produce correct information
|
||||
for all valid IP addresses.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>An 'iprange' command has been added to /sbin/shorewall.
|
||||
<br>
|
||||
<br>
|
||||
iprange <address>-<address><br>
|
||||
<br>
|
||||
This command decomposes a range of IP addressses into a list of network
|
||||
and host addresses. The command can be useful if you need to construct
|
||||
an efficient set of rules that accept connections from a range of network
|
||||
addresses.<br>
|
||||
<br>
|
||||
Note: If your shell only supports 32-bit signed arithmetic (ash or
|
||||
dash) then the range may not span 128.0.0.0.<br>
|
||||
<br>
|
||||
Example:<br>
|
||||
<br>
|
||||
[root@gateway root]# shorewall iprange 192.168.1.4-192.168.12.9<br>
|
||||
192.168.1.4/30<br>
|
||||
192.168.1.8/29<br>
|
||||
192.168.1.16/28<br>
|
||||
192.168.1.32/27<br>
|
||||
192.168.1.64/26<br>
|
||||
192.168.1.128/25<br>
|
||||
192.168.2.0/23<br>
|
||||
192.168.4.0/22<br>
|
||||
192.168.8.0/22<br>
|
||||
192.168.12.0/29<br>
|
||||
192.168.12.8/31<br>
|
||||
[root@gateway root]#<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>A list of host/net addresses is now allowed in an entry
|
||||
in /etc/shorewall/hosts.<br>
|
||||
<br>
|
||||
Example:<br>
|
||||
<br>
|
||||
foo eth1:192.168.1.0/24,192.168.2.0/24<br>
|
||||
<br>
|
||||
</li>
|
||||
<li value="11">The "shorewall check" command now includes the chain
|
||||
name when printing the applicable policy for each pair of zones.<br>
|
||||
<br>
|
||||
Example:<br>
|
||||
<br>
|
||||
Policy for dmz to net is REJECT using chain all2all<br>
|
||||
<br>
|
||||
This means that the policy for connections from the dmz to the internet
|
||||
is REJECT and the applicable entry in the /etc/shorewall/policy was the all->all
|
||||
policy.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Support for the 2.6 Kernel series has been added.<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
<b> </b>
|
||||
|
||||
<ol>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>7/15/2003 - New Mirror in Brazil</b><b> <img border="0"
|
||||
src="images/new10.gif" width="28" height="12" alt="(New)">
|
||||
<br>
|
||||
</b></p>
|
||||
Thanks to the folks at securityopensource.org.br, there is now a <a
|
||||
href="http://shorewall.securityopensource.org.br" target="_top">Shorewall
|
||||
mirror in Brazil</a>
|
||||
<p><b>6/17/2003 - Shorewall-1.4.5</b><b> </b></p>
|
||||
|
||||
|
||||
<p>Problems Corrected:<br>
|
||||
</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>The command "shorewall debug try <directory>"
|
||||
now correctly traces the attempt.</li>
|
||||
<li>The INCLUDE directive now works properly in the
|
||||
zones file; previously, INCLUDE in that file was ignored.</li>
|
||||
<li>/etc/shorewall/routestopped records with an empty
|
||||
second column are no longer ignored.<br>
|
||||
</li>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p>New Features:<br>
|
||||
</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-]
|
||||
rule may now contain a list of addresses. If the list begins with "!'
|
||||
then the rule will take effect only if the original destination address
|
||||
in the connection request does not match any of the addresses listed.</li>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<p><b>6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8</b><b>
|
||||
</b></p>
|
||||
The firewall at shorewall.net has been upgraded to the 2.4.21
|
||||
kernel and iptables 1.2.8 (using the "official" RPM from netfilter.org).
|
||||
No problems have been encountered with this set of software. The Shorewall
|
||||
version is 1.4.4b plus the accumulated changes for 1.4.5.
|
||||
|
||||
|
||||
<p><b>6/8/2003 - Updated Samples</b><b> </b></p>
|
||||
|
||||
|
||||
<p>Thanks to Francesca Smith, the samples have been updated to Shorewall
|
||||
version 1.4.4.</p>
|
||||
|
||||
|
||||
<p><b></b></p>
|
||||
|
||||
|
||||
<ol>
|
||||
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<p><b></b></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><b></b></p>
|
||||
|
||||
|
||||
|
||||
<blockquote>
|
||||
|
||||
|
||||
|
||||
|
||||
<ol>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ol>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><a href="file:///Z:/Shorewall-docs/News.htm"></a></p>
|
||||
<b> </b>
|
||||
<b> </b>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><b><a href="News.htm">More News</a></b></p>
|
||||
<b> </b>
|
||||
<b> </b>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2><b> </b></h2>
|
||||
<b> </b>
|
||||
<b> </b>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p> <a href="http://leaf.sourceforge.net" target="_top"><img
|
||||
border="0" src="images/leaflogo.gif" width="49" height="36"
|
||||
alt="(Leaf Logo)">
|
||||
|
||||
</a>Jacques Nilo and Eric Wolzak
|
||||
have a LEAF (router/firewall/gateway
|
||||
on a floppy, CD or compact flash) distribution
|
||||
called <i>Bering</i> that features
|
||||
Shorewall-1.3.14 and Kernel-2.4.20. You
|
||||
can find their work at: <a
|
||||
href="http://leaf.sourceforge.net/devel/jnilo"> http://leaf.sourceforge.net/devel/jnilo</a></p>
|
||||
</a>Jacques Nilo and Eric
|
||||
Wolzak have a LEAF (router/firewall/gateway
|
||||
on a floppy, CD or compact flash) distribution
|
||||
called <i>Bering</i> that
|
||||
features Shorewall-1.4.2 and Kernel-2.4.20.
|
||||
You can find their work at:
|
||||
<a href="http://leaf.sourceforge.net/devel/jnilo"> http://leaf.sourceforge.net/devel/jnilo</a></p>
|
||||
|
||||
<b>Congratulations to Jacques and
|
||||
Eric on the recent release of Bering 1.2!!!
|
||||
</b><br>
|
||||
<b>Congratulations to Jacques
|
||||
and Eric on the recent release of Bering
|
||||
1.2!!! </b><br>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 align="center"><b><a href="http://www.sf.net"><img
|
||||
align="left" alt="SourceForge Logo"
|
||||
src="http://sourceforge.net/sflogo.php?group_id=22587&type=3">
|
||||
|
||||
</a></b></h1>
|
||||
<b> </b>
|
||||
</a></b></h1>
|
||||
<b> </b>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4><b> </b></h4>
|
||||
<b> </b>
|
||||
<b> </b>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2><b>This site is hosted by the generous folks at <a
|
||||
href="http://www.sf.net">SourceForge.net</a> </b></h2>
|
||||
<b> </b>
|
||||
<b> </b>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2><b><a name="Donations"></a>Donations</b></h2>
|
||||
<b> </b></td>
|
||||
<b>
|
||||
</b></td>
|
||||
|
||||
<td width="88" bgcolor="#4b017c" valign="top"
|
||||
align="center">
|
||||
<td width="88" bgcolor="#3366ff"
|
||||
valign="top" align="center">
|
||||
|
||||
|
||||
|
||||
|
||||
<form method="post"
|
||||
action="http://lists.shorewall.net/cgi-bin/htsearch">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><strong><br>
|
||||
<font color="#ffffff"><b>Note: </b></font></strong>
|
||||
<font color="#ffffff">Search is unavailable Daily 0200-0330
|
||||
GMT.</font><br>
|
||||
</p>
|
||||
<font color="#ffffff"><b>Note:
|
||||
</b></font></strong> <font
|
||||
color="#ffffff">Search is unavailable Daily 0200-0330 GMT.</font><br>
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><font color="#ffffff"><strong>Quick Search</strong></font><br>
|
||||
<font face="Arial" size="-1"> <input
|
||||
type="text" name="words" size="15"></font><font size="-1"> </font><font
|
||||
face="Arial" size="-1"> <input type="hidden" name="format"
|
||||
value="long"> <input type="hidden" name="method" value="and">
|
||||
<input type="hidden" name="config" value="htdig"> <input
|
||||
type="submit" value="Search"></font> </p>
|
||||
<font face="Arial"> <input
|
||||
<font face="Arial" size="-1">
|
||||
<input type="text" name="words" size="15"></font><font
|
||||
size="-1"> </font><font face="Arial" size="-1"> <input
|
||||
type="hidden" name="format" value="long"> <input
|
||||
type="hidden" name="method" value="and"> <input type="hidden"
|
||||
name="config" value="htdig"> <input type="submit"
|
||||
value="Search"></font> </p>
|
||||
<font face="Arial"> <input
|
||||
type="hidden" name="exclude"
|
||||
value="[http://lists.shorewall.net/pipermail/*]"> </font>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><font color="#ffffff"><b> <a
|
||||
href="http://lists.shorewall.net/htdig/search.html"> <font
|
||||
color="#ffffff">Extended Search</font></a></b></font></p>
|
||||
<a target="_top"
|
||||
<a target="_top"
|
||||
href="file:///vfat/Shorewall-docs/1.3/index.html"><font color="#ffffff">
|
||||
</font></a><a target="_top"
|
||||
</font></a><a target="_top"
|
||||
href="http://www1.shorewall.net/1.2/index.htm"><font color="#ffffff"><small><small><small></small></small></small></font></a><br>
|
||||
</td>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</center>
|
||||
</center>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<table border="0" cellpadding="5" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber2"
|
||||
bgcolor="#4b017c">
|
||||
bgcolor="#3366ff">
|
||||
|
||||
<tbody>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<tr>
|
||||
|
||||
<td width="100%" style="margin-top: 1px;">
|
||||
<td width="100%" style="margin-top: 1px;">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="center"><a href="http://www.starlight.org"> <img
|
||||
border="4" src="images/newlog.gif" width="57" height="100" align="left"
|
||||
hspace="10">
|
||||
|
||||
</a></p>
|
||||
</a></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p align="center"><font size="4" color="#ffffff"><br>
|
||||
<font size="+2">Shorewall is free but if you try it and find
|
||||
it useful, please consider making a donation
|
||||
to <a
|
||||
href="http://www.starlight.org"><font color="#ffffff">Starlight Children's
|
||||
Foundation.</font></a> Thanks!</font></font></p>
|
||||
<font size="+2">Shorewall is free but if you
|
||||
try it and find it useful, please consider making a donation
|
||||
to
|
||||
<a href="http://www.starlight.org"><font color="#ffffff">Starlight
|
||||
Children's Foundation.</font></a> Thanks!</font></font></p>
|
||||
|
||||
</td>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p><font size="2">Updated 6/17/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
<br>
|
||||
|
||||
|
||||
<p><font size="2">Updated 7/19/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
<br>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,426 +1,428 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Standalone Firewall</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber6" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber6" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Standalone Firewall</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h2 align="center">Version 2.0.1</h2>
|
||||
|
||||
<p align="left">Setting up Shorewall on a standalone Linux system is very
|
||||
|
||||
<p align="left">Setting up Shorewall on a standalone Linux system is very
|
||||
easy if you understand the basics and follow the documentation.</p>
|
||||
|
||||
<p>This guide doesn't attempt to acquaint you with all of the features of
|
||||
Shorewall. It rather focuses on what is required to configure Shorewall
|
||||
|
||||
<p>This guide doesn't attempt to acquaint you with all of the features of
|
||||
Shorewall. It rather focuses on what is required to configure Shorewall
|
||||
in one of its most common configurations:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>Linux system</li>
|
||||
<li>Single external IP address</li>
|
||||
<li>Connection through Cable Modem, DSL, ISDN, Frame Relay, dial-up...</li>
|
||||
|
||||
<li>Linux system</li>
|
||||
<li>Single external IP address</li>
|
||||
<li>Connection through Cable Modem, DSL, ISDN, Frame Relay, dial-up...</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>Shorewall requires that you have the iproute/iproute2 package installed
|
||||
(on RedHat, the package is called <i>iproute</i>)<i>. </i>You can tell
|
||||
if this package is installed by the presence of an <b>ip</b> program
|
||||
on your firewall system. As root, you can use the 'which' command to
|
||||
check for this program:</p>
|
||||
|
||||
|
||||
<p>Shorewall requires that you have the iproute/iproute2 package installed
|
||||
(on RedHat, the package is called <i>iproute</i>)<i>. </i>You can tell
|
||||
if this package is installed by the presence of an <b>ip</b> program on
|
||||
your firewall system. As root, you can use the 'which' command to check
|
||||
for this program:</p>
|
||||
|
||||
<pre> [root@gateway root]# which ip<br> /sbin/ip<br> [root@gateway root]#</pre>
|
||||
|
||||
<p>I recommend that you read through the guide first to familiarize yourself
|
||||
with what's involved then go back through it again making your configuration
|
||||
changes. Points at which configuration changes are recommended are
|
||||
flagged with <img border="0" src="images/BD21298_.gif" width="13"
|
||||
|
||||
<p>I recommend that you read through the guide first to familiarize yourself
|
||||
with what's involved then go back through it again making your configuration
|
||||
changes. Points at which configuration changes are recommended are flagged
|
||||
with <img border="0" src="images/BD21298_.gif" width="13"
|
||||
height="13">
|
||||
.</p>
|
||||
|
||||
.</p>
|
||||
|
||||
<p><img border="0" src="images/j0213519.gif" width="60" height="60">
|
||||
If you edit your configuration files on a Windows system, you
|
||||
must save them as Unix files if your editor supports that option or you
|
||||
must run them through dos2unix before trying to use them. Similarly, if
|
||||
you copy a configuration file from your Windows hard drive to a floppy
|
||||
If you edit your configuration files on a Windows system, you
|
||||
must save them as Unix files if your editor supports that option or you
|
||||
must run them through dos2unix before trying to use them. Similarly, if
|
||||
you copy a configuration file from your Windows hard drive to a floppy
|
||||
disk, you must run dos2unix against the copy before using it with Shorewall.</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="http://www.simtel.net/pub/pd/51438.html">Windows
|
||||
<li><a href="http://www.simtel.net/pub/pd/51438.html">Windows
|
||||
Version of dos2unix</a></li>
|
||||
<li><a href="http://www.megaloman.com/%7Ehany/software/hd2u/">Linux
|
||||
Version of dos2unix</a></li>
|
||||
|
||||
<li><a
|
||||
href="http://www.megaloman.com/%7Ehany/software/hd2u/">Linux Version
|
||||
of dos2unix</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 align="left">Shorewall Concepts</h2>
|
||||
|
||||
|
||||
<p> <img border="0" src="images/BD21298_.gif" width="13" height="13"
|
||||
alt="">
|
||||
The configuration files for Shorewall are contained in the directory
|
||||
/etc/shorewall -- for simple setups, you only need to deal with a few
|
||||
The configuration files for Shorewall are contained in the directory
|
||||
/etc/shorewall -- for simple setups, you only need to deal with a few
|
||||
of these as described in this guide. After you have <a
|
||||
href="Install.htm">installed Shorewall</a>, <b>download the <a
|
||||
href="http://www1.shorewall.net/pub/shorewall/Samples/">one-interface sample</a>,
|
||||
un-tar it (tar -zxvf one-interface.tgz) and and copy the files to /etc/shorewall
|
||||
(they will replace files with the same names that were placed in /etc/shorewall
|
||||
href="http://www1.shorewall.net/pub/shorewall/Samples/">one-interface sample</a>,
|
||||
un-tar it (tar -zxvf one-interface.tgz) and and copy the files to /etc/shorewall
|
||||
(they will replace files with the same names that were placed in /etc/shorewall
|
||||
during Shorewall installation)</b>.</p>
|
||||
|
||||
<p>As each file is introduced, I suggest that you look through the actual
|
||||
file on your system -- each file contains detailed configuration instructions
|
||||
|
||||
<p>As each file is introduced, I suggest that you look through the actual
|
||||
file on your system -- each file contains detailed configuration instructions
|
||||
and default entries.</p>
|
||||
|
||||
<p>Shorewall views the network where it is running as being composed of a
|
||||
set of <i>zones.</i> In the one-interface sample configuration, only
|
||||
|
||||
<p>Shorewall views the network where it is running as being composed of a
|
||||
set of <i>zones.</i> In the one-interface sample configuration, only
|
||||
one zone is defined:</p>
|
||||
|
||||
|
||||
<table border="0" style="border-collapse: collapse;" cellpadding="3"
|
||||
cellspacing="0" id="AutoNumber2">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>Name</b></u></td>
|
||||
<td><u><b>Description</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><u><b>Name</b></u></td>
|
||||
<td><u><b>Description</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>net</b></td>
|
||||
<td><b>The Internet</b></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td><b>net</b></td>
|
||||
<td><b>The Internet</b></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p>Shorewall zones are defined in <a href="Documentation.htm#Zones"> /etc/shorewall/zones</a>.</p>
|
||||
|
||||
<p>Shorewall also recognizes the firewall system as its own zone - by default,
|
||||
|
||||
<p>Shorewall also recognizes the firewall system as its own zone - by default,
|
||||
the firewall itself is known as <b>fw</b>.</p>
|
||||
|
||||
<p>Rules about what traffic to allow and what traffic to deny are expressed
|
||||
|
||||
<p>Rules about what traffic to allow and what traffic to deny are expressed
|
||||
in terms of zones.</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>You express your default policy for connections from one zone
|
||||
to another zone in the<a href="Documentation.htm#Policy"> /etc/shorewall/policy
|
||||
<li>You express your default policy for connections from one
|
||||
zone to another zone in the<a href="Documentation.htm#Policy"> /etc/shorewall/policy
|
||||
</a>file.</li>
|
||||
<li>You define exceptions to those default policies in the <a
|
||||
href="Documentation.htm#Rules">/etc/shorewall/rules </a>file.</li>
|
||||
|
||||
<li>You define exceptions to those default policies in the
|
||||
<a href="Documentation.htm#Rules">/etc/shorewall/rules </a>file.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>For each connection request entering the firewall, the request is first
|
||||
checked against the /etc/shorewall/rules file. If no rule in that file
|
||||
matches the connection request then the first policy in /etc/shorewall/policy
|
||||
that matches the request is applied. If that policy is REJECT or DROP
|
||||
the request is first checked against the rules in /etc/shorewall/common
|
||||
|
||||
<p>For each connection request entering the firewall, the request is first
|
||||
checked against the /etc/shorewall/rules file. If no rule in that file
|
||||
matches the connection request then the first policy in /etc/shorewall/policy
|
||||
that matches the request is applied. If that policy is REJECT or DROP
|
||||
the request is first checked against the rules in /etc/shorewall/common
|
||||
(the samples provide that file for you).</p>
|
||||
|
||||
<p>The /etc/shorewall/policy file included with the one-interface sample
|
||||
has the following policies:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p>The /etc/shorewall/policy file included with the one-interface sample has
|
||||
the following policies:</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
id="AutoNumber3">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>SOURCE ZONE</b></u></td>
|
||||
<td><u><b>DESTINATION ZONE</b></u></td>
|
||||
<td><u><b>POLICY</b></u></td>
|
||||
<td><u><b>LOG LEVEL</b></u></td>
|
||||
<td><u><b>LIMIT:BURST</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><u><b>SOURCE ZONE</b></u></td>
|
||||
<td><u><b>DESTINATION ZONE</b></u></td>
|
||||
<td><u><b>POLICY</b></u></td>
|
||||
<td><u><b>LOG LEVEL</b></u></td>
|
||||
<td><u><b>LIMIT:BURST</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fw</td>
|
||||
<td>net</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>all<br>
|
||||
</td>
|
||||
<td>DROP</td>
|
||||
<td>info</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>all</td>
|
||||
<td>all</td>
|
||||
<td>REJECT</td>
|
||||
<td>info</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>fw</td>
|
||||
<td>net</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>all<br>
|
||||
</td>
|
||||
<td>DROP</td>
|
||||
<td>info</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>all</td>
|
||||
<td>all</td>
|
||||
<td>REJECT</td>
|
||||
<td>info</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p>The above policy will:</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>allow all connection requests from the firewall to the internet</li>
|
||||
<li>drop (ignore) all connection requests from the internet to
|
||||
your firewall</li>
|
||||
<li>reject all other connection requests (Shorewall requires this
|
||||
catchall policy).</li>
|
||||
|
||||
<li>allow all connection requests from the firewall to the internet</li>
|
||||
<li>drop (ignore) all connection requests from the internet to
|
||||
your firewall</li>
|
||||
<li>reject all other connection requests (Shorewall requires
|
||||
this catchall policy).</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p>At this point, edit your /etc/shorewall/policy and make any changes that
|
||||
|
||||
<p>At this point, edit your /etc/shorewall/policy and make any changes that
|
||||
you wish.</p>
|
||||
|
||||
|
||||
<h2 align="left">External Interface</h2>
|
||||
|
||||
<p align="left">The firewall has a single network interface. Where Internet
|
||||
connectivity is through a cable or DSL "Modem", the <i>External Interface</i>
|
||||
will be the ethernet adapter (<b>eth0</b>) that is connected to that
|
||||
"Modem" <u>unless</u> you connect via <i><u>P</u>oint-to-<u>P</u>oint
|
||||
<u>P</u>rotocol over <u>E</u>thernet</i> (PPPoE) or <i><u>P</u>oint-to-<u>P</u>oint
|
||||
<u>T</u>unneling <u>P</u>rotocol </i>(PPTP) in which case the External
|
||||
Interface will be a <b>ppp0</b>. If you connect via a regular modem, your
|
||||
External Interface will also be <b>ppp0</b>. If you connect using ISDN,
|
||||
|
||||
<p align="left">The firewall has a single network interface. Where Internet
|
||||
connectivity is through a cable or DSL "Modem", the <i>External Interface</i>
|
||||
will be the ethernet adapter (<b>eth0</b>) that is connected to that
|
||||
"Modem" <u>unless</u> you connect via <i><u>P</u>oint-to-<u>P</u>oint
|
||||
<u>P</u>rotocol over <u>E</u>thernet</i> (PPPoE) or <i><u>P</u>oint-to-<u>P</u>oint
|
||||
<u>T</u>unneling <u>P</u>rotocol </i>(PPTP) in which case the External
|
||||
Interface will be a <b>ppp0</b>. If you connect via a regular modem, your
|
||||
External Interface will also be <b>ppp0</b>. If you connect using ISDN,
|
||||
your external interface will be<b> ippp0.</b></p>
|
||||
|
||||
|
||||
<p align="left"><img border="0" src="images/BD21298_3.gif" width="13"
|
||||
height="13">
|
||||
The Shorewall one-interface sample configuration assumes that
|
||||
the external interface is <b>eth0</b>. If your configuration is different,
|
||||
you will have to modify the sample /etc/shorewall/interfaces file accordingly.
|
||||
While you are there, you may wish to review the list of options that
|
||||
The Shorewall one-interface sample configuration assumes that
|
||||
the external interface is <b>eth0</b>. If your configuration is different,
|
||||
you will have to modify the sample /etc/shorewall/interfaces file accordingly.
|
||||
While you are there, you may wish to review the list of options that
|
||||
are specified for the interface. Some hints:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">If your external interface is <b>ppp0</b> or <b>ippp0</b>,
|
||||
<li>
|
||||
<p align="left">If your external interface is <b>ppp0</b> or <b>ippp0</b>,
|
||||
you can replace the "detect" in the second column with "-". </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">If your external interface is <b>ppp0</b> or <b>ippp0</b>
|
||||
or if you have a static IP address, you can remove "dhcp" from the
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">If your external interface is <b>ppp0</b> or <b>ippp0</b>
|
||||
or if you have a static IP address, you can remove "dhcp" from the
|
||||
option list. </p>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<div align="left">
|
||||
|
||||
<div align="left">
|
||||
<h2 align="left">IP Addresses</h2>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">RFC 1918 reserves several <i>Private </i>IP address ranges
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">RFC 1918 reserves several <i>Private </i>IP address ranges
|
||||
for use in private networks:</p>
|
||||
|
||||
<div align="left">
|
||||
|
||||
<div align="left">
|
||||
<pre> 10.0.0.0 - 10.255.255.255<br> 172.16.0.0 - 172.31.255.255<br> 192.168.0.0 - 192.168.255.255</pre>
|
||||
</div>
|
||||
|
||||
<p align="left">These addresses are sometimes referred to as <i>non-routable</i>
|
||||
because the Internet backbone routers will not forward a packet whose
|
||||
destination address is reserved by RFC 1918. In some cases though,
|
||||
ISPs are assigning these addresses then using <i>Network Address Translation
|
||||
</div>
|
||||
|
||||
<p align="left">These addresses are sometimes referred to as <i>non-routable</i>
|
||||
because the Internet backbone routers will not forward a packet whose
|
||||
destination address is reserved by RFC 1918. In some cases though, ISPs
|
||||
are assigning these addresses then using <i>Network Address Translation
|
||||
</i>to rewrite packet headers when forwarding to/from the internet.</p>
|
||||
|
||||
|
||||
<p align="left"><img border="0" src="images/BD21298_.gif" align="left"
|
||||
width="13" height="13">
|
||||
Before starting Shorewall, you should look at the IP address
|
||||
of your external interface and if it is one of the above ranges, you
|
||||
Before starting Shorewall, you should look at the IP address
|
||||
of your external interface and if it is one of the above ranges, you
|
||||
should remove the 'norfc1918' option from the entry in /etc/shorewall/interfaces.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<h2 align="left">Enabling other Connections</h2>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">If you wish to enable connections from the internet to your
|
||||
|
||||
<div align="left">
|
||||
<h2 align="left">Enabling other Connections</h2>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">If you wish to enable connections from the internet to your
|
||||
firewall, the general format is:</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
id="AutoNumber4">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td><i><protocol></i></td>
|
||||
<td><i><port></i></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td><i><protocol></i></td>
|
||||
<td><i><port></i></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Example - You want to run a Web Server and a POP3 Server on
|
||||
your firewall system:</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Example - You want to run a Web Server and a POP3 Server
|
||||
on your firewall system:</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
id="AutoNumber5">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>80</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>110</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>80</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>110</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">If you don't know what port and protocol a particular application
|
||||
uses, see <a href="ports.htm">here</a>.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">If you don't know what port and protocol a particular application
|
||||
uses, see <a href="ports.htm">here</a>.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><b>Important: </b>I don't recommend enabling telnet to/from
|
||||
the internet because it uses clear text (even for login!). If you
|
||||
want shell access to your firewall from the internet, use SSH:</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><b>Important: </b>I don't recommend enabling telnet to/from
|
||||
the internet because it uses clear text (even for login!). If you want
|
||||
shell access to your firewall from the internet, use SSH:</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
id="AutoNumber4">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>22</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>22</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><img border="0" src="images/BD21298_3.gif" width="13"
|
||||
height="13">
|
||||
At this point, edit /etc/shorewall/rules to add other connections
|
||||
At this point, edit /etc/shorewall/rules to add other connections
|
||||
as desired.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<h2 align="left">Starting and Stopping Your Firewall</h2>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
|
||||
<div align="left">
|
||||
<h2 align="left">Starting and Stopping Your Firewall</h2>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"> <img border="0" src="images/BD21298_2.gif"
|
||||
width="13" height="13" alt="Arrow">
|
||||
The <a href="Install.htm">installation procedure </a> configures
|
||||
your system to start Shorewall at system boot but beginning with Shorewall
|
||||
version 1.3.9 startup is disabled so that your system won't try to start
|
||||
Shorewall before configuration is complete. Once you have completed configuration
|
||||
of your firewall, you can enable Shorewall startup by removing the file
|
||||
/etc/shorewall/startup_disabled.<br>
|
||||
</p>
|
||||
|
||||
<p align="left"><font color="#ff0000"><b>IMPORTANT</b>: Users of the .deb
|
||||
The <a href="Install.htm">installation procedure </a> configures
|
||||
your system to start Shorewall at system boot but beginning with Shorewall
|
||||
version 1.3.9 startup is disabled so that your system won't try to start
|
||||
Shorewall before configuration is complete. Once you have completed configuration
|
||||
of your firewall, you can enable Shorewall startup by removing the file
|
||||
/etc/shorewall/startup_disabled.<br>
|
||||
</p>
|
||||
|
||||
<p align="left"><font color="#ff0000"><b>IMPORTANT</b>: Users of the .deb
|
||||
package must edit /etc/default/shorewall and set 'startup=1'.</font><br>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">The firewall is started using the "shorewall start" command
|
||||
and stopped using "shorewall stop". When the firewall is stopped,
|
||||
routing is enabled on those hosts that have an entry in <a
|
||||
href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>. A
|
||||
running firewall may be restarted using the "shorewall restart" command.
|
||||
If you want to totally remove any trace of Shorewall from your Netfilter
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">The firewall is started using the "shorewall start" command
|
||||
and stopped using "shorewall stop". When the firewall is stopped, routing
|
||||
is enabled on those hosts that have an entry in <a
|
||||
href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>. A
|
||||
running firewall may be restarted using the "shorewall restart" command.
|
||||
If you want to totally remove any trace of Shorewall from your Netfilter
|
||||
configuration, use "shorewall clear".</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><b>WARNING: </b>If you are connected to your firewall from
|
||||
the internet, do not issue a "shorewall stop" command unless you have
|
||||
added an entry for the IP address that you are connected from to
|
||||
<a href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>.
|
||||
Also, I don't recommend using "shorewall restart"; it is better to create
|
||||
an <i><a href="configuration_file_basics.htm#Configs">alternate configuration</a></i>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><b>WARNING: </b>If you are connected to your firewall from
|
||||
the internet, do not issue a "shorewall stop" command unless you have
|
||||
added an entry for the IP address that you are connected from to <a
|
||||
href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>.
|
||||
Also, I don't recommend using "shorewall restart"; it is better to create
|
||||
an <i><a href="configuration_file_basics.htm#Configs">alternate configuration</a></i>
|
||||
and test it using the <a
|
||||
href="starting_and_stopping_shorewall.htm">"shorewall try" command</a>.</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p align="left"><font size="2">Last updated 2/21/2003 - <a
|
||||
href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
<p align="left"><a href="copyright.htm"><font size="2">Copyright 2002, 2003
|
||||
|
||||
<p align="left"><a href="copyright.htm"><font size="2">Copyright 2002, 2003
|
||||
Thomas M. Eastep</font></a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -1,468 +1,470 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Standalone Firewall</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber6" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber6" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Standalone Firewall</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h2 align="center">Version 2.0.1 Française</h2>
|
||||
|
||||
|
||||
<p align="left"><small><i><u>Notes du traducteur</u> :<br>
|
||||
Je ne prétends pas être un vrai traducteur dans le sens ou mon travail
|
||||
n'est pas des plus précis (loin de là...). Je ne me suis pas attaché à une
|
||||
traduction exacte du texte, mais plutôt à en faire une version française
|
||||
intelligible par tous (et par moi). Les termes techniques sont la plupart
|
||||
du temps conservés sous leur forme originale et mis entre parenthèses car
|
||||
vous pouvez les retrouver dans le reste des documentations ainsi que dans
|
||||
les fichiers de configuration. N?hésitez pas à me contacter afin d?améliorer
|
||||
ce document <a href="mailto:vetsel.patrice@wanadoo.fr">VETSEL Patrice</a>
|
||||
(merci à JMM pour sa relecture et ses commentaires pertinents, ainsi qu'à
|
||||
Tom EASTEP pour son formidable outil et sa disponibilité)</i><i>.</i></small></p>
|
||||
|
||||
<p align="left">Mettre en place un système Linux en tant que firewall (écluse)
|
||||
pour un petit réseau est une chose assez simple, si vous comprenez les bases
|
||||
et suivez la documentation.</p>
|
||||
|
||||
<p>Ce guide ne veut pas vous apprendre tous les rouages de Shorewall. Il se
|
||||
focalise sur ce qui est nécessaire pour configurer Shorewall, dans son utilisation
|
||||
la plus courante :</p>
|
||||
|
||||
Je ne prétends pas être un vrai traducteur dans le sens ou mon travail
|
||||
n'est pas des plus précis (loin de là...). Je ne me suis pas attaché à une
|
||||
traduction exacte du texte, mais plutôt à en faire une version française intelligible
|
||||
par tous (et par moi). Les termes techniques sont la plupart du temps conservés
|
||||
sous leur forme originale et mis entre parenthèses car vous pouvez les retrouver
|
||||
dans le reste des documentations ainsi que dans les fichiers de configuration.
|
||||
N?hésitez pas à me contacter afin d?améliorer ce document <a
|
||||
href="mailto:vetsel.patrice@wanadoo.fr">VETSEL Patrice</a> (merci à JMM
|
||||
pour sa relecture et ses commentaires pertinents, ainsi qu'à Tom EASTEP pour
|
||||
son formidable outil et sa disponibilité)</i><i>.</i></small></p>
|
||||
|
||||
<p align="left">Mettre en place un système Linux en tant que firewall (écluse)
|
||||
pour un petit réseau est une chose assez simple, si vous comprenez les bases
|
||||
et suivez la documentation.</p>
|
||||
|
||||
<p>Ce guide ne veut pas vous apprendre tous les rouages de Shorewall. Il
|
||||
se focalise sur ce qui est nécessaire pour configurer Shorewall, dans son
|
||||
utilisation la plus courante :</p>
|
||||
|
||||
<ul>
|
||||
<li>Un système Linux</li>
|
||||
<li>Une seule adresse IP externe</li>
|
||||
<li>Une connexion passant par un modem câble, ADSL, ISDN, Frame Relay,
|
||||
rtc...</li>
|
||||
|
||||
<li>Un système Linux</li>
|
||||
<li>Une seule adresse IP externe</li>
|
||||
<li>Une connexion passant par un modem câble, ADSL, ISDN, Frame Relay,
|
||||
rtc...</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>Ce guide suppose que vous avez le paquet iproute/iproute2 d'installé. Vous
|
||||
pouvez voir si le paquet est installé en vérifiant la présence du programme
|
||||
ip sur votre système de firewall. Sous root, utilisez la commande 'which'
|
||||
pour rechercher le programme :</p>
|
||||
|
||||
|
||||
<p>Ce guide suppose que vous avez le paquet iproute/iproute2 d'installé.
|
||||
Vous pouvez voir si le paquet est installé en vérifiant la présence du programme
|
||||
ip sur votre système de firewall. Sous root, utilisez la commande 'which'
|
||||
pour rechercher le programme :</p>
|
||||
|
||||
<pre> [root@gateway root]# which ip<br> /sbin/ip<br> [root@gateway root]#</pre>
|
||||
|
||||
<p>Je vous recommande dans un premier temps de parcourir tout le guide pour
|
||||
vous familiariser avec ce qu'il va se passer, et de revenir au début en effectuant
|
||||
le changements dans votre configuration. Les points, où les changements dans
|
||||
la configuration sont recommandées, sont signalés par une <img
|
||||
|
||||
<p>Je vous recommande dans un premier temps de parcourir tout le guide pour
|
||||
vous familiariser avec ce qu'il va se passer, et de revenir au début en
|
||||
effectuant le changements dans votre configuration. Les points, où les changements
|
||||
dans la configuration sont recommandées, sont signalés par une <img
|
||||
border="0" src="images/BD21298_.gif" width="13" height="13">
|
||||
.</p>
|
||||
|
||||
.</p>
|
||||
|
||||
<p><img border="0" src="images/j0213519.gif" width="60" height="60">
|
||||
Si vous éditez vos fichiers de configuration sur un système Windows, vous
|
||||
devez les sauver comme des fichiers Unix si votre éditeur supporte cette
|
||||
option sinon vous devez les faire passer par dos2unix avant d'essayer de
|
||||
les utiliser. De la même manière, si vous copiez un fichier de configuration
|
||||
depuis votre disque dur Windows vers une disquette, vous devez lancer dos2unix
|
||||
sur la copie avant de l'utiliser avec Shorewall.</p>
|
||||
|
||||
Si vous éditez vos fichiers de configuration sur un système Windows, vous
|
||||
devez les sauver comme des fichiers Unix si votre éditeur supporte cette
|
||||
option sinon vous devez les faire passer par dos2unix avant d'essayer de les
|
||||
utiliser. De la même manière, si vous copiez un fichier de configuration depuis
|
||||
votre disque dur Windows vers une disquette, vous devez lancer dos2unix sur
|
||||
la copie avant de l'utiliser avec Shorewall.</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://www.simtel.net/pub/pd/51438.html">Windows Version
|
||||
<li><a href="http://www.simtel.net/pub/pd/51438.html">Windows Version
|
||||
of dos2unix</a></li>
|
||||
<li><a href="http://www.megaloman.com/%7Ehany/software/hd2u/">Linux Version
|
||||
of dos2unix</a></li>
|
||||
|
||||
<li><a href="http://www.megaloman.com/%7Ehany/software/hd2u/">Linux
|
||||
Version of dos2unix</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 align="left">Les Concepts de Shorewall</h2>
|
||||
|
||||
|
||||
<p> <img border="0" src="images/BD21298_.gif" width="13" height="13"
|
||||
alt="">
|
||||
Les fichiers de configuration pour Shorewall sont situés dans le répertoire
|
||||
/etc/shorewall -- pour de simples paramétrages, vous n'avez à faire qu'avec
|
||||
quelques un d'entre eux comme décris dans ce guide. Après avoir <a
|
||||
Les fichiers de configuration pour Shorewall sont situés dans le répertoire
|
||||
/etc/shorewall -- pour de simples paramétrages, vous n'avez à faire qu'avec
|
||||
quelques un d'entre eux comme décris dans ce guide. Après avoir <a
|
||||
href="Install.htm">installé Shorewall</a>, <b>téléchargez le <a
|
||||
href="http://www1.shorewall.net/pub/shorewall/Samples/">one-interface sample</a>,
|
||||
un-tarez le (tar -zxvf one-interface.tgz) et copiez les fichiers vers /etc/shorewall
|
||||
(Ils remplaceront les fichiers de même nom déjà existant dans /etc/shorewall
|
||||
href="http://www1.shorewall.net/pub/shorewall/Samples/">one-interface sample</a>,
|
||||
un-tarez le (tar -zxvf one-interface.tgz) et copiez les fichiers vers /etc/shorewall
|
||||
(Ils remplaceront les fichiers de même nom déjà existant dans /etc/shorewall
|
||||
installés lors de l'installation de Shorewall)</b>.</p>
|
||||
|
||||
<p>Parallèlement à la description, je vous suggère de jeter un oeil à ceux
|
||||
physiquement présents sur votre système -- chacun des fichiers contient des
|
||||
instructions de configuration détaillées et des entrées par défaut.</p>
|
||||
|
||||
<p>Shorewall voit le réseau où il tourne comme composé par un ensemble de
|
||||
<i>zones.</i> Dans les fichiers de configuration fournis pour une unique interface,
|
||||
une seule zone est définie :</p>
|
||||
|
||||
|
||||
<p>Parallèlement à la description, je vous suggère de jeter un oeil à ceux
|
||||
physiquement présents sur votre système -- chacun des fichiers contient
|
||||
des instructions de configuration détaillées et des entrées par défaut.</p>
|
||||
|
||||
<p>Shorewall voit le réseau où il tourne comme composé par un ensemble de
|
||||
<i>zones.</i> Dans les fichiers de configuration fournis pour une unique
|
||||
interface, une seule zone est définie :</p>
|
||||
|
||||
<table border="0" style="border-collapse: collapse;" cellpadding="3"
|
||||
cellspacing="0" id="AutoNumber2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>Name</b></u></td>
|
||||
<td><u><b>Description</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>net</b></td>
|
||||
<td><b>The Internet</b></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>Name</b></u></td>
|
||||
<td><u><b>Description</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>net</b></td>
|
||||
<td><b>The Internet</b></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p>Les zones de Shorewall sont définies dans <a
|
||||
href="Documentation.htm#Zones"> /etc/shorewall/zones</a>.</p>
|
||||
|
||||
<p>Shorewall reconnaît aussi le système de firewall comme sa propre zone -
|
||||
par défaut, le firewall lui-même est connu en tant que <b>fw</b>.</p>
|
||||
|
||||
<p>Les règles concernant le trafic à autoriser ou à interdire sont exprimées
|
||||
en utilisant les termes de zones.</p>
|
||||
|
||||
|
||||
<p>Shorewall reconnaît aussi le système de firewall comme sa propre zone
|
||||
- par défaut, le firewall lui-même est connu en tant que <b>fw</b>.</p>
|
||||
|
||||
<p>Les règles concernant le trafic à autoriser ou à interdire sont exprimées
|
||||
en utilisant les termes de zones.</p>
|
||||
|
||||
<ul>
|
||||
<li>Vous exprimez les politiques par défaut pour les connexions d'une
|
||||
zone à une autre dans le fichier<a href="Documentation.htm#Policy"> /etc/shorewall/policy
|
||||
</a>.</li>
|
||||
<li>Vous définissez les exceptions à ces règles de politiques par défaut
|
||||
dans le fichier <a href="Documentation.htm#Rules">/etc/shorewall/rules</a>.</li>
|
||||
|
||||
<li>Vous exprimez les politiques par défaut pour les connexions d'une
|
||||
zone à une autre dans le fichier<a href="Documentation.htm#Policy"> /etc/shorewall/policy
|
||||
</a>.</li>
|
||||
<li>Vous définissez les exceptions à ces règles de politiques par défaut
|
||||
dans le fichier <a href="Documentation.htm#Rules">/etc/shorewall/rules</a>.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>Pour chacune des demandes de connexion entrantes dans le firewall, les
|
||||
demandes sont en premier lieu comparées par rapport au fichier /etc/shorewall/rules.
|
||||
Si aucune des règles dans ce fichier ne correspondent, alors la première politique
|
||||
dans /etc/shorewall/policy qui y correspond est appliquée. Si cette politique
|
||||
est REJECT ou DROP la requête est alors comparée par rapport aux règles contenues
|
||||
dans /etc/shorewall/common (l'archive d'exemple vous fournit ce fichier).</p>
|
||||
|
||||
<p>Le fichier /etc/shorewall/policy d'exemple contenu dans l'archive one-interface
|
||||
a les politiques suivantes :</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p>Pour chacune des demandes de connexion entrantes dans le firewall, les
|
||||
demandes sont en premier lieu comparées par rapport au fichier /etc/shorewall/rules.
|
||||
Si aucune des règles dans ce fichier ne correspondent, alors la première
|
||||
politique dans /etc/shorewall/policy qui y correspond est appliquée. Si cette
|
||||
politique est REJECT ou DROP la requête est alors comparée par rapport aux
|
||||
règles contenues dans /etc/shorewall/common (l'archive d'exemple vous fournit
|
||||
ce fichier).</p>
|
||||
|
||||
<p>Le fichier /etc/shorewall/policy d'exemple contenu dans l'archive one-interface
|
||||
a les politiques suivantes :</p>
|
||||
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
id="AutoNumber3">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>SOURCE ZONE</b></u></td>
|
||||
<td><u><b>DESTINATION ZONE</b></u></td>
|
||||
<td><u><b>POLICY</b></u></td>
|
||||
<td><u><b>LOG LEVEL</b></u></td>
|
||||
<td><u><b>LIMIT:BURST</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fw</td>
|
||||
<td>net</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>all<br>
|
||||
</td>
|
||||
<td>DROP</td>
|
||||
<td>info</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>all</td>
|
||||
<td>all</td>
|
||||
<td>REJECT</td>
|
||||
<td>info</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>SOURCE ZONE</b></u></td>
|
||||
<td><u><b>DESTINATION ZONE</b></u></td>
|
||||
<td><u><b>POLICY</b></u></td>
|
||||
<td><u><b>LOG LEVEL</b></u></td>
|
||||
<td><u><b>LIMIT:BURST</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fw</td>
|
||||
<td>net</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>all<br>
|
||||
</td>
|
||||
<td>DROP</td>
|
||||
<td>info</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>all</td>
|
||||
<td>all</td>
|
||||
<td>REJECT</td>
|
||||
<td>info</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<pre> </pre>
|
||||
Ces politiques vont :
|
||||
Ces politiques vont :
|
||||
<ol>
|
||||
<li>permettre toutes demandes de connexion depuis le firewall vers l'Internet</li>
|
||||
<li>drop (ignorer) toutes les demandes de connexion depuis l'Internet
|
||||
<li>permettre toutes demandes de connexion depuis le firewall vers l'Internet</li>
|
||||
<li>drop (ignorer) toutes les demandes de connexion depuis l'Internet
|
||||
vers votre firewall</li>
|
||||
<li>rejeter toutes les autres requêtes de connexion (Shorewall à besoin
|
||||
de cette politique).</li>
|
||||
|
||||
<li>rejeter toutes les autres requêtes de connexion (Shorewall à besoin
|
||||
de cette politique).</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p>A ce point, éditez votre /etc/shorewall/policy et faites y les changements
|
||||
que vous désirez.</p>
|
||||
|
||||
|
||||
<p>A ce point, éditez votre /etc/shorewall/policy et faites y les changements
|
||||
que vous désirez.</p>
|
||||
|
||||
<h2 align="left">Interface Externe</h2>
|
||||
|
||||
<p align="left">Le firewall possède une seule interface réseau. Lorsque la
|
||||
connexion Internet passe par un modem câble ou par un routeur ADSL (pas un
|
||||
simple modem), l'<i>External Interface</i> (interface externe) sera l'adaptateur
|
||||
ethernet (<b>eth0</b>) qui y est connecté <u>à moins que</u> vous vous connectiez
|
||||
par <i><u>P</u>oint-to-<u>P</u>oint <u>P</u>rotocol over <u>E</u>thernet</i>
|
||||
(PPPoE) ou <i><u>P</u>oint-to-<u>P</u>oint <u>T</u>unneling<u>P</u>rotocol</i>(PPTP)
|
||||
dans ce cas l'interface externe sera <b>ppp0</b>. Si vous vous connectez
|
||||
par un simple modem (RTC), votre interface externe sera aussi <b>ppp0</b>.
|
||||
Si vous vous connectez en utilisant l'ISDN (numéris), votre interface externe
|
||||
sera<b> ippp0.</b></p>
|
||||
|
||||
|
||||
<p align="left">Le firewall possède une seule interface réseau. Lorsque la
|
||||
connexion Internet passe par un modem câble ou par un routeur ADSL (pas
|
||||
un simple modem), l'<i>External Interface</i> (interface externe) sera l'adaptateur
|
||||
ethernet (<b>eth0</b>) qui y est connecté <u>à moins que</u> vous vous connectiez
|
||||
par <i><u>P</u>oint-to-<u>P</u>oint <u>P</u>rotocol over <u>E</u>thernet</i>
|
||||
(PPPoE) ou <i><u>P</u>oint-to-<u>P</u>oint <u>T</u>unneling<u>P</u>rotocol</i>(PPTP)
|
||||
dans ce cas l'interface externe sera <b>ppp0</b>. Si vous vous connectez
|
||||
par un simple modem (RTC), votre interface externe sera aussi <b>ppp0</b>.
|
||||
Si vous vous connectez en utilisant l'ISDN (numéris), votre interface externe
|
||||
sera<b> ippp0.</b></p>
|
||||
|
||||
<p align="left"><img border="0" src="images/BD21298_3.gif" width="13"
|
||||
height="13">
|
||||
L'exemple de configuration de Shorewall pour une interface suppose que
|
||||
votre interface externe est <b>eth0</b>. Si votre configuration est différente,
|
||||
vous devrez modifier le fichier d'exemple /etc/shorewall/interfaces en conséquence.
|
||||
Puisque vous y êtes, vous pourriez parcourir la liste d'options qui sont
|
||||
spécifiées pour l'interface. Quelques astuces :</p>
|
||||
|
||||
L'exemple de configuration de Shorewall pour une interface suppose que
|
||||
votre interface externe est <b>eth0</b>. Si votre configuration est différente,
|
||||
vous devrez modifier le fichier d'exemple /etc/shorewall/interfaces en conséquence.
|
||||
Puisque vous y êtes, vous pourriez parcourir la liste d'options qui sont
|
||||
spécifiées pour l'interface. Quelques astuces :</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p align="left">Si votre interface externe est <b>ppp0</b> ou <b>ippp0</b>,
|
||||
vous pouvez remplacer le "detect" dans la seconde colonne par un "-".
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left"> Si votre interface externe est <b>ppp0</b> ou <b>ippp0</b>
|
||||
ou bien si vous avez une adresse IP statique, vous pouvez enlever le "dhcp"
|
||||
de la liste d'option. </p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p align="left">Si votre interface externe est <b>ppp0</b> ou <b>ippp0</b>,
|
||||
vous pouvez remplacer le "detect" dans la seconde colonne par un "-".
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left"> Si votre interface externe est <b>ppp0</b> ou <b>ippp0</b>
|
||||
ou bien si vous avez une adresse IP statique, vous pouvez enlever le "dhcp"
|
||||
de la liste d'option. </p>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<div align="left">
|
||||
|
||||
<div align="left">
|
||||
<h2 align="left">Adresse IP</h2>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">La RFC 1918 définie plusieurs plage d'adresses IP privée (<i>Private</i>IP)
|
||||
pour l'utilisation dans des réseaux privés :</p>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">La RFC 1918 définie plusieurs plage d'adresses IP privée
|
||||
(<i>Private</i>IP) pour l'utilisation dans des réseaux privés :</p>
|
||||
|
||||
<div align="left">
|
||||
<pre> 10.0.0.0 - 10.255.255.255<br> 172.16.0.0 - 172.31.255.255<br> 192.168.0.0 - 192.168.255.255</pre>
|
||||
</div>
|
||||
|
||||
<p align="left">Ces adresses sont parfois désignées comme étant <i>non-routables</i>
|
||||
car les routeurs sur les backbones Internet ne font pas passer les paquets
|
||||
dont les adresses de destinations sont définies dans la RFC 1918. Dans certains
|
||||
cas, les fournisseurs (provider ou ISP) utilisent ces adresses et utilisent
|
||||
le <i>Network Address Translation </i>afin de récrire les entêtes des paquets
|
||||
lorsqu'ils les font circuler depuis ou vers l'Internet.</p>
|
||||
|
||||
</div>
|
||||
|
||||
<p align="left">Ces adresses sont parfois désignées comme étant <i>non-routables</i>
|
||||
car les routeurs sur les backbones Internet ne font pas passer les paquets
|
||||
dont les adresses de destinations sont définies dans la RFC 1918. Dans certains
|
||||
cas, les fournisseurs (provider ou ISP) utilisent ces adresses et utilisent
|
||||
le <i>Network Address Translation </i>afin de récrire les entêtes des paquets
|
||||
lorsqu'ils les font circuler depuis ou vers l'Internet.</p>
|
||||
|
||||
<p align="left"><img border="0" src="images/BD21298_.gif" align="left"
|
||||
width="13" height="13">
|
||||
Avant de lancer Shorewall, vous devriez regarder l'adresse de votre interface
|
||||
externe et si elle est comprise dans une des plages précédentes, vous devriez
|
||||
enlever l'option 'norfc1918' dans le fichier /etc/shorewall/interfaces.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
Avant de lancer Shorewall, vous devriez regarder l'adresse de votre interface
|
||||
externe et si elle est comprise dans une des plages précédentes, vous devriez
|
||||
enlever l'option 'norfc1918' dans le fichier /etc/shorewall/interfaces.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<h2 align="left">Permettre d'autres connexions</h2>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Si vous désirez autoriser d'autres connexions depuis l'Internet
|
||||
vers votre firewall, le format général est :</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Si vous désirez autoriser d'autres connexions depuis l'Internet
|
||||
vers votre firewall, le format général est :</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
id="AutoNumber4">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td><i><protocol></i></td>
|
||||
<td><i><port></i></td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td><i><protocol></i></td>
|
||||
<td><i><port></i></td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Exemple - Vous voulez faire tourner un serveur Web et un serveur
|
||||
POP3 sur votre système de firewall :</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Exemple - Vous voulez faire tourner un serveur Web et un
|
||||
serveur POP3 sur votre système de firewall :</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
id="AutoNumber5">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>80</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>110</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>80</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>110</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Si vous ne savez pas quel port ou protocole une application
|
||||
particulière utilise, regardez <a href="ports.htm">ici</a>.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><b>Important: </b>Je ne vous recommande pas d'autoriser le
|
||||
telnet depuis ou vers l'Internet car il utilise du texte en clair (même pour
|
||||
le login et le mot de passe !). Si vous voulez avoir un accès au shell de
|
||||
votre firewall depuis Internet, utilisez SSH :</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Si vous ne savez pas quel port ou protocole une application
|
||||
particulière utilise, regardez <a href="ports.htm">ici</a>.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><b>Important: </b>Je ne vous recommande pas d'autoriser le
|
||||
telnet depuis ou vers l'Internet car il utilise du texte en clair (même
|
||||
pour le login et le mot de passe !). Si vous voulez avoir un accès au shell
|
||||
de votre firewall depuis Internet, utilisez SSH :</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<blockquote>
|
||||
<table border="1" cellpadding="2" style="border-collapse: collapse;"
|
||||
id="AutoNumber4">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>22</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><u><b>ACTION</b></u></td>
|
||||
<td><u><b>SOURCE</b></u></td>
|
||||
<td><u><b>DESTINATION</b></u></td>
|
||||
<td><u><b>PROTOCOL</b></u></td>
|
||||
<td><u><b>PORT</b></u></td>
|
||||
<td><u><b>SOURCE PORT</b></u></td>
|
||||
<td><u><b>ORIGINAL ADDRESS</b></u></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACCEPT</td>
|
||||
<td>net</td>
|
||||
<td>fw</td>
|
||||
<td>tcp</td>
|
||||
<td>22</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
<td> <br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<pre> ACCEPT net fw tcp 22</pre>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><img border="0" src="images/BD21298_3.gif" width="13"
|
||||
height="13">
|
||||
A ce point, éditez /etc/shorewall/rules pour rajouter les autres connexions
|
||||
désirées.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
A ce point, éditez /etc/shorewall/rules pour rajouter les autres connexions
|
||||
désirées.</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<h2 align="left">Lancer et Arrêter son Firewall</h2>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"> <img border="0" src="images/BD21298_2.gif" width="13"
|
||||
height="13" alt="Arrow">
|
||||
La <a href="Install.htm">procédure d'installation </a> configure votre
|
||||
système pour lancer Shorewall au boot du système, mais au début avec la version
|
||||
1.3.9 de Shorewall le lancement est désactivé, n'essayer pas de lancer Shorewall
|
||||
avec que la configuration soit finie. Une fois que vous en aurez fini avec
|
||||
la configuration du firewall, vous pouvez permettre le lancement de Shorewall
|
||||
en supprimant le fichier /etc/shorewall/startup_disabled.<br>
|
||||
</p>
|
||||
|
||||
<p align="left"><font color="#ff0000"><b>IMPORTANT</b>: Les utilisateurs des
|
||||
paquets .deb doivent éditer /etc/default/shorewall et mettre 'startup=1'.</font><br>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Le firewall est activé en utilisant la commande "shorewall
|
||||
start" et arrêté avec "shorewall stop". Lorsque le firewall est stoppé, le
|
||||
routage est autorisé sur les hôtes qui possèdent une entrée dans <a
|
||||
href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>. Un
|
||||
firewall qui tourne peut être relancé en utilisant la commande "shorewall
|
||||
restart". Si vous voulez enlever toutes traces de Shorewall sur votre configuration
|
||||
de Netfilter, utilisez "shorewall clear".</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><b>ATTENTION: </b>Si vous êtes connecté à votre firewall depuis
|
||||
Internet, n'essayez pas une commande "shorewall stop" tant que vous n'avez
|
||||
pas ajouté une entrée pour votre adresse IP (celle à partir de laquelle vous
|
||||
êtes connectée) dans <a href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>.
|
||||
De la même manière, je ne vous recommande pas d'utiliser "shorewall restart";
|
||||
il est plus intéressant de créer une <i><a
|
||||
href="configuration_file_basics.htm#Configs">configuration alternative</a></i>
|
||||
La <a href="Install.htm">procédure d'installation </a> configure votre
|
||||
système pour lancer Shorewall au boot du système, mais au début avec la version
|
||||
1.3.9 de Shorewall le lancement est désactivé, n'essayer pas de lancer Shorewall
|
||||
avec que la configuration soit finie. Une fois que vous en aurez fini avec
|
||||
la configuration du firewall, vous pouvez permettre le lancement de Shorewall
|
||||
en supprimant le fichier /etc/shorewall/startup_disabled.<br>
|
||||
</p>
|
||||
|
||||
<p align="left"><font color="#ff0000"><b>IMPORTANT</b>: Les utilisateurs
|
||||
des paquets .deb doivent éditer /etc/default/shorewall et mettre 'startup=1'.</font><br>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Le firewall est activé en utilisant la commande "shorewall
|
||||
start" et arrêté avec "shorewall stop". Lorsque le firewall est stoppé,
|
||||
le routage est autorisé sur les hôtes qui possèdent une entrée dans <a
|
||||
href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>. Un
|
||||
firewall qui tourne peut être relancé en utilisant la commande "shorewall
|
||||
restart". Si vous voulez enlever toutes traces de Shorewall sur votre
|
||||
configuration de Netfilter, utilisez "shorewall clear".</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left"><b>ATTENTION: </b>Si vous êtes connecté à votre firewall
|
||||
depuis Internet, n'essayez pas une commande "shorewall stop" tant que vous
|
||||
n'avez pas ajouté une entrée pour votre adresse IP (celle à partir de laquelle
|
||||
vous êtes connectée) dans <a href="Documentation.htm#Routestopped">/etc/shorewall/routestopped</a>.
|
||||
De la même manière, je ne vous recommande pas d'utiliser "shorewall restart";
|
||||
il est plus intéressant de créer une <i><a
|
||||
href="configuration_file_basics.htm#Configs">configuration alternative</a></i>
|
||||
et de la tester en utilisant la commande <a
|
||||
href="starting_and_stopping_shorewall.htm">"shorewall try"</a>.</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p align="left"><font size="2">Last updated 12/9/2002 - <a
|
||||
href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
<p align="left"><a href="copyright.htm"><font size="2">Copyright 2002 Thomas
|
||||
M. Eastep</font></a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<p align="left"><a href="copyright.htm"><font size="2">Copyright 2002 Thomas
|
||||
M. Eastep</font></a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
@ -1,341 +1,300 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Starting and Stopping Shorewall</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
<td width="100%">
|
||||
|
||||
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Starting/Stopping and Monitoring
|
||||
the Firewall</font></h1>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
the Firewall</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p> If you have a permanent internet connection such as DSL or Cable,
|
||||
I recommend that you start the firewall automatically at boot.
|
||||
Once you have installed "firewall" in your init.d directory, simply
|
||||
type "chkconfig --add firewall". This will start the firewall
|
||||
in run levels 2-5 and stop it in run levels 1 and 6. If you want
|
||||
I recommend that you start the firewall automatically at boot.
|
||||
Once you have installed "firewall" in your init.d directory, simply
|
||||
type "chkconfig --add firewall". This will start the firewall
|
||||
in run levels 2-5 and stop it in run levels 1 and 6. If you want
|
||||
to configure your firewall differently from this default, you can
|
||||
use the "--level" option in chkconfig (see "man chkconfig") or using
|
||||
your favorite graphical run-level editor.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><strong><u> <font color="#000099"> Important Notes:</font></u></strong><br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>Shorewall startup is disabled by default. Once you have
|
||||
configured your firewall, you can enable startup by removing the file
|
||||
/etc/shorewall/startup_disabled. Note: Users of the .deb package must
|
||||
edit /etc/default/shorewall and set 'startup=1'.<br>
|
||||
</li>
|
||||
<li>If you use dialup, you may want to start the firewall
|
||||
in your /etc/ppp/ip-up.local script. I recommend just placing
|
||||
"shorewall restart" in that script.</li>
|
||||
|
||||
<li>Shorewall startup is disabled by default. Once you have
|
||||
configured your firewall, you can enable startup by removing the file
|
||||
/etc/shorewall/startup_disabled. Note: Users of the .deb package must
|
||||
edit /etc/default/shorewall and set 'startup=1'.<br>
|
||||
</li>
|
||||
<li>If you use dialup, you may want to start the firewall
|
||||
in your /etc/ppp/ip-up.local script. I recommend just placing "shorewall
|
||||
restart" in that script.</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p> You can manually start and stop Shoreline Firewall using the "shorewall"
|
||||
shell program: </p>
|
||||
|
||||
|
||||
shell program: </p>
|
||||
|
||||
<ul>
|
||||
<li>shorewall start - starts the firewall</li>
|
||||
<li>shorewall stop - stops the firewall</li>
|
||||
<li>shorewall restart - stops the firewall (if it's
|
||||
running) and then starts it again</li>
|
||||
<li>shorewall reset - reset the packet and byte counters
|
||||
in the firewall</li>
|
||||
<li>shorewall clear - remove all rules and chains
|
||||
installed by Shoreline Firewall</li>
|
||||
<li>shorewall refresh - refresh the rules involving the broadcast
|
||||
addresses of firewall interfaces, <a
|
||||
<li>shorewall start - starts the firewall</li>
|
||||
<li>shorewall stop - stops the firewall</li>
|
||||
<li>shorewall restart - stops the firewall (if it's
|
||||
running) and then starts it again</li>
|
||||
<li>shorewall reset - reset the packet and byte counters
|
||||
in the firewall</li>
|
||||
<li>shorewall clear - remove all rules and chains
|
||||
installed by Shoreline Firewall</li>
|
||||
<li>shorewall refresh - refresh the rules involving the
|
||||
broadcast addresses of firewall interfaces, <a
|
||||
href="blacklisting_support.htm">the black list</a>, <a
|
||||
href="traffic_shaping.htm">traffic control rules</a> and <a
|
||||
href="ECN.html">ECN control rules</a>.</li>
|
||||
|
||||
|
||||
</ul>
|
||||
If you include the keyword <i>debug</i> as the first argument, then
|
||||
a shell trace of the command is produced as in:<br>
|
||||
|
||||
If you include the keyword <i>debug</i> as the first argument,
|
||||
then a shell trace of the command is produced as in:<br>
|
||||
|
||||
<pre> <font color="#009900"><b>shorewall debug start 2> /tmp/trace</b></font><br></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p>The above command would trace the 'start' command and place the trace
|
||||
information in the file /tmp/trace<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<p>The <a href="#StateDiagram">Shorewall State Diagram</a> is shown at the
|
||||
bottom of this page.<br>
|
||||
</p>
|
||||
|
||||
bottom of this page.<br>
|
||||
</p>
|
||||
|
||||
<p>The "shorewall" program may also be used to monitor the firewall.</p>
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
<li>shorewall status - produce a verbose report about the
|
||||
firewall (iptables -L -n -v)</li>
|
||||
<li>shorewall show <i>chain</i> - produce a verbose report
|
||||
about <i>chain </i>(iptables -L <i>chain</i> -n -v)</li>
|
||||
<li>shorewall show nat - produce a verbose report about the
|
||||
nat table (iptables -t nat -L -n -v)</li>
|
||||
<li>shorewall show tos - produce a verbose report about the
|
||||
mangle table (iptables -t mangle -L -n -v)</li>
|
||||
<li>shorewall show log - display the last 20 packet log entries.</li>
|
||||
<li>shorewall show connections - displays the IP connections
|
||||
currently being tracked by the firewall.</li>
|
||||
<li>shorewall
|
||||
show
|
||||
tc - displays
|
||||
information about the traffic control/shaping configuration.</li>
|
||||
<li>shorewall monitor [ delay ] - Continuously display the
|
||||
firewall status, last 20 log entries and nat. When the log
|
||||
entry display changes, an audible alarm is sounded.</li>
|
||||
<li>shorewall hits - Produces several reports about the Shorewall
|
||||
packet log messages in the current /var/log/messages file.</li>
|
||||
<li>shorewall version - Displays the installed version
|
||||
number.</li>
|
||||
<li>shorewall check - Performs a <u>cursory</u> validation of the
|
||||
zones, interfaces, hosts, rules and policy files.<br>
|
||||
<br>
|
||||
<font size="4" color="#ff6666"><b>The "check" command is totally unsuppored
|
||||
and does not parse and validate the generated iptables commands. Even
|
||||
though the "check" command completes successfully, the configuration
|
||||
may fail to start. Problem reports that complain about errors that the 'check'
|
||||
command does not detect will not be accepted.<br>
|
||||
<br>
|
||||
See the recommended way to make configuration changes described below.</b></font><br>
|
||||
<br>
|
||||
</li>
|
||||
<li>shorewall try<i> configuration-directory</i> [<i> timeout</i>
|
||||
] - Restart shorewall using the specified configuration and if an
|
||||
error occurs or if the<i> timeout </i> option is given and the new
|
||||
<li>shorewall status - produce a verbose report about the
|
||||
firewall (iptables -L -n -v)</li>
|
||||
<li>shorewall show <i>chain</i> - produce a verbose report
|
||||
about <i>chain </i>(iptables -L <i>chain</i> -n -v)</li>
|
||||
<li>shorewall show nat - produce a verbose report about
|
||||
the nat table (iptables -t nat -L -n -v)</li>
|
||||
<li>shorewall show tos - produce a verbose report about
|
||||
the mangle table (iptables -t mangle -L -n -v)</li>
|
||||
<li>shorewall show log - display the last 20 packet log
|
||||
entries.</li>
|
||||
<li>shorewall show connections - displays the IP connections
|
||||
currently being tracked by the firewall.</li>
|
||||
<li>shorewall
|
||||
show tc - displays
|
||||
information about the traffic control/shaping configuration.</li>
|
||||
<li>shorewall monitor [ delay ] - Continuously display
|
||||
the firewall status, last 20 log entries and nat. When the
|
||||
log entry display changes, an audible alarm is sounded.</li>
|
||||
<li>shorewall hits - Produces several reports about the
|
||||
Shorewall packet log messages in the current /var/log/messages
|
||||
file.</li>
|
||||
<li>shorewall version - Displays the installed version
|
||||
number.</li>
|
||||
<li>shorewall check - Performs a <u>cursory</u> validation of
|
||||
the zones, interfaces, hosts, rules and policy files.<br>
|
||||
<br>
|
||||
<font size="4" color="#ff6666"><b>The "check" command is totally unsuppored
|
||||
and does not parse and validate the generated iptables commands.
|
||||
Even though the "check" command completes successfully, the configuration
|
||||
may fail to start. Problem reports that complain about errors that the 'check'
|
||||
command does not detect will not be accepted.<br>
|
||||
<br>
|
||||
See the recommended way to make configuration changes described
|
||||
below.</b></font><br>
|
||||
<br>
|
||||
</li>
|
||||
<li>shorewall try<i> configuration-directory</i> [<i> timeout</i>
|
||||
] - Restart shorewall using the specified configuration and if
|
||||
an error occurs or if the<i> timeout </i> option is given and the new
|
||||
configuration has been up for that many seconds then shorewall is
|
||||
restarted using the standard configuration.</li>
|
||||
<li>shorewall deny, shorewall reject, shorewall accept and
|
||||
shorewall save implement <a href="blacklisting_support.htm">dynamic
|
||||
blacklisting</a>.</li>
|
||||
<li>shorewall logwatch (added in version 1.3.2) - Monitors
|
||||
the <a href="#Conf">LOGFILE </a>and produces an audible alarm when
|
||||
new Shorewall messages are logged.</li>
|
||||
|
||||
<li>shorewall deny, shorewall reject, shorewall accept
|
||||
and shorewall save implement <a
|
||||
href="blacklisting_support.htm">dynamic blacklisting</a>.</li>
|
||||
<li>shorewall logwatch (added in version 1.3.2) - Monitors
|
||||
the <a href="#Conf">LOGFILE </a>and produces an audible alarm
|
||||
when new Shorewall messages are logged.</li>
|
||||
|
||||
</ul>
|
||||
Finally, the "shorewall" program may be used to dynamically alter
|
||||
the contents of a zone.<br>
|
||||
|
||||
Beginning with Shorewall 1.4.6, /sbin/shorewall supports a couple of commands
|
||||
for dealing with IP addresses and IP address ranges:<br>
|
||||
|
||||
<ul>
|
||||
<li>shorewall add <i>interface</i>[:<i>host]</i> <i>zone </i>-
|
||||
Adds the specified interface (and host if included) to the specified
|
||||
<li>shorewall ipcalc [ <i>address mask </i>| <i>address/vlsm</i> ] - displays
|
||||
the network address, broadcast address, network in CIDR notation and netmask
|
||||
corresponding to the input[s].</li>
|
||||
<li>shorewall iprange <i>address1-address2</i> - Decomposes the specified
|
||||
range of IP addresses into the equivalent list of network/host addresses.
|
||||
<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
Finally, the "shorewall" program may be used to dynamically alter the
|
||||
contents of a zone.<br>
|
||||
|
||||
<ul>
|
||||
<li>shorewall add <i>interface</i>[:<i>host]</i> <i>zone </i>-
|
||||
Adds the specified interface (and host if included) to the specified
|
||||
zone.</li>
|
||||
<li>shorewall delete <i>interface</i>[:<i>host]</i> <i>zone </i>-
|
||||
Deletes the specified interface (and host if included) from the specified
|
||||
zone.</li>
|
||||
|
||||
<li>shorewall delete <i>interface</i>[:<i>host]</i> <i>zone
|
||||
</i>- Deletes the specified interface (and host if included) from
|
||||
the specified zone.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<blockquote>Examples:<br>
|
||||
|
||||
|
||||
<blockquote><font color="#009900"><b>shorewall add ipsec0:192.0.2.24 vpn1</b></font>
|
||||
-- adds the address 192.0.2.24 from interface ipsec0 to the zone vpn1<br>
|
||||
<font color="#009900"><b> shorewall delete ipsec0:192.0.2.24
|
||||
vpn1</b></font> -- deletes the address 192.0.2.24 from interface ipsec0
|
||||
from zone vpn1<br>
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<p> The <b>shorewall start</b>, <b>shorewall restart, shorewall check, </b>and
|
||||
<b>shorewall try </b>commands allow you to specify which <a
|
||||
href="configuration_file_basics.htm#Configs"> Shorewall configuration</a>
|
||||
to use:</p>
|
||||
|
||||
|
||||
<blockquote>
|
||||
|
||||
|
||||
<p> shorewall [ -c <i>configuration-directory</i> ] {start|restart|check}<br>
|
||||
shorewall try <i>configuration-directory</i></p>
|
||||
-- adds the address 192.0.2.24 from interface ipsec0 to the zone vpn1<br>
|
||||
<font color="#009900"><b> shorewall delete ipsec0:192.0.2.24
|
||||
vpn1</b></font> -- deletes the address 192.0.2.24 from interface ipsec0
|
||||
from zone vpn1<br>
|
||||
</blockquote>
|
||||
|
||||
|
||||
</blockquote>
|
||||
|
||||
<p> The <b>shorewall start</b>, <b>shorewall restart, shorewall check, </b>and
|
||||
<b>shorewall try </b>commands allow you to specify which <a
|
||||
href="configuration_file_basics.htm#Configs"> Shorewall configuration</a>
|
||||
to use:</p>
|
||||
|
||||
<blockquote>
|
||||
<p> shorewall [ -c <i>configuration-directory</i> ] {start|restart|check}<br>
|
||||
shorewall try <i>configuration-directory</i></p>
|
||||
</blockquote>
|
||||
|
||||
<p> If a <i>configuration-directory</i> is specified, each time that Shorewall
|
||||
is going to use a file in /etc/shorewall it will first look in the
|
||||
<i>configuration-directory</i> . If the file is present in the <i>configuration-directory</i>,
|
||||
that file will be used; otherwise, the file in /etc/shorewall will be
|
||||
used.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
is going to use a file in /etc/shorewall it will first look in the
|
||||
<i>configuration-directory</i> . If the file is present in the <i>configuration-directory</i>,
|
||||
that file will be used; otherwise, the file in /etc/shorewall will
|
||||
be used.</p>
|
||||
|
||||
<p> When changing the configuration of a production firewall, I recommend
|
||||
the following:</p>
|
||||
|
||||
|
||||
|
||||
|
||||
the following:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><font color="#009900"><b>mkdir /etc/test</b></font></li>
|
||||
|
||||
<li><font color="#009900"><b>cd /etc/test</b></font></li>
|
||||
|
||||
<li><copy any files that you need to change from
|
||||
/etc/shorewall to . and change them here></li>
|
||||
<li><font color="#009900"><b>shorewall -c . check</b></font></li>
|
||||
<li><correct any errors found by check and check again></li>
|
||||
|
||||
|
||||
<li><font color="#009900"><b>/sbin/shorewall
|
||||
try .</b></font></li>
|
||||
|
||||
<li><font color="#009900"><b>mkdir /etc/test</b></font></li>
|
||||
<li><font color="#009900"><b>cd /etc/test</b></font></li>
|
||||
<li><copy any files that you need to change
|
||||
from /etc/shorewall to . and change them here></li>
|
||||
<li><font color="#009900"><b>shorewall -c . check</b></font></li>
|
||||
<li><correct any errors found by check and check again></li>
|
||||
<li><font
|
||||
color="#009900"><b>/sbin/shorewall try .</b></font></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<p> If the configuration starts but doesn't work, just "shorewall restart"
|
||||
to restore the old configuration. If the new configuration fails
|
||||
to restore the old configuration. If the new configuration fails
|
||||
to start, the "try" command will automatically start the old one for
|
||||
you.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p> When the new configuration works then just </p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ul>
|
||||
|
||||
<li><font color="#009900"><b>cp * /etc/shorewall</b></font></li>
|
||||
|
||||
<li><font color="#009900"><b>cd</b></font></li>
|
||||
|
||||
<li><font color="#009900"><b>rm -rf /etc/test</b></font></li>
|
||||
|
||||
<li><font color="#009900"><b>cp * /etc/shorewall</b></font></li>
|
||||
<li><font color="#009900"><b>cd</b></font></li>
|
||||
<li><font color="#009900"><b>rm -rf /etc/test</b></font></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p><a name="StateDiagram"></a>The Shorewall State Diargram is depicted below.<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<div align="center"><img src="images/State_Diagram.png"
|
||||
alt="(State Diagram)" width="747" height="714" align="middle">
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<p> <br>
|
||||
</p>
|
||||
You will note that the commands that result in state transitions
|
||||
use the word "firewall" rather than "shorewall". That is because the actual
|
||||
transitions are done by /usr/lib/shorewall/firewall (/usr/share/shorewall/firewall
|
||||
on Debian); /sbin/shorewall runs 'firewall" according to the following table:<br>
|
||||
<br>
|
||||
|
||||
</p>
|
||||
You will note that the commands that result in state transitions
|
||||
use the word "firewall" rather than "shorewall". That is because the
|
||||
actual transitions are done by /usr/lib/shorewall/firewall (/usr/share/shorewall/firewall
|
||||
on Debian); /sbin/shorewall runs 'firewall" according to the following
|
||||
table:<br>
|
||||
<br>
|
||||
|
||||
<table cellpadding="2" cellspacing="2" border="1">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top">shorewall start<br>
|
||||
</td>
|
||||
<td valign="top">firewall start<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall stop<br>
|
||||
</td>
|
||||
<td valign="top">firewall stop<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall restart<br>
|
||||
</td>
|
||||
<td valign="top">firewall restart<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall add<br>
|
||||
</td>
|
||||
<td valign="top">firewall add<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall delete<br>
|
||||
</td>
|
||||
<td valign="top">firewall delete<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall refresh<br>
|
||||
</td>
|
||||
<td valign="top">firewall refresh<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall try<br>
|
||||
</td>
|
||||
<td valign="top">firewall -c <new configuration> restart<br>
|
||||
If unsuccessful then firewall start (standard configuration)<br>
|
||||
If timeout then firewall restart (standard configuration)<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top">shorewall start<br>
|
||||
</td>
|
||||
<td valign="top">firewall start<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall stop<br>
|
||||
</td>
|
||||
<td valign="top">firewall stop<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall restart<br>
|
||||
</td>
|
||||
<td valign="top">firewall restart<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall add<br>
|
||||
</td>
|
||||
<td valign="top">firewall add<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall delete<br>
|
||||
</td>
|
||||
<td valign="top">firewall delete<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall refresh<br>
|
||||
</td>
|
||||
<td valign="top">firewall refresh<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">shorewall try<br>
|
||||
</td>
|
||||
<td valign="top">firewall -c <new configuration> restart<br>
|
||||
If unsuccessful then firewall start (standard configuration)<br>
|
||||
If timeout then firewall restart (standard configuration)<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<p><font size="2"> Updated 2/27/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<p><font size="2"> Updated 7/6/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,81 +1,86 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Support Guide</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td
|
||||
width="100%">
|
||||
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
<td width="100%">
|
||||
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Support Guide<img
|
||||
src="images/obrasinf.gif" alt="" width="90" height="90" align="middle">
|
||||
</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</font></h1>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h2>Before Reporting a Problem or Asking a Question<br>
|
||||
</h2>
|
||||
There
|
||||
are a number of sources of Shorewall information. Please try these
|
||||
before you post.
|
||||
</h2>
|
||||
|
||||
There are a number of sources of Shorewall information. Please
|
||||
try these before you post.
|
||||
<ul>
|
||||
<li>Shorewall versions earlier
|
||||
that 1.3.0 are no longer supported.<br>
|
||||
</li>
|
||||
<li>More than half of the questions posted on the support
|
||||
list have answers directly accessible from the <a
|
||||
<li>Shorewall versions
|
||||
earlier that 1.3.0 are no longer supported.<br>
|
||||
</li>
|
||||
<li>More than half of the questions posted on the support
|
||||
list have answers directly accessible from the <a
|
||||
href="http://www.shorewall.net/shorewall_quickstart_guide.htm#Documentation">Documentation
|
||||
Index</a><br>
|
||||
</li>
|
||||
<li>
|
||||
The <a href="http://www.shorewall.net/FAQ.htm">FAQ</a> has
|
||||
solutions to more than 20 common problems. </li>
|
||||
<li> The
|
||||
<a href="http://www.shorewall.net/troubleshoot.htm">Troubleshooting</a>
|
||||
Information contains a number of tips to
|
||||
help you solve common problems. </li>
|
||||
<li> The
|
||||
<a href="http://www.shorewall.net/errata.htm"> Errata</a> has links
|
||||
to download updated components. </li>
|
||||
<li> The
|
||||
Site and Mailing List Archives search facility can locate
|
||||
documents and posts about similar problems: </li>
|
||||
|
||||
Index</a><br>
|
||||
</li>
|
||||
<li>
|
||||
The <a href="http://www.shorewall.net/FAQ.htm">FAQ</a>
|
||||
has solutions to more than 20 common problems.
|
||||
</li>
|
||||
<li>
|
||||
The <a href="http://www.shorewall.net/troubleshoot.htm">Troubleshooting</a>
|
||||
Information contains a number of tips to
|
||||
help you solve common problems. </li>
|
||||
<li>
|
||||
The <a href="http://www.shorewall.net/errata.htm"> Errata</a>
|
||||
has links to download updated components. </li>
|
||||
<li>
|
||||
The Site and Mailing List Archives search facility can
|
||||
locate documents and posts about similar problems:
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Site and Mailing List Archive Search</h2>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<form method="post"
|
||||
action="http://lists.shorewall.net/cgi-bin/htsearch"> <font size="-1"> Match:
|
||||
|
||||
|
||||
|
||||
<select name="method">
|
||||
<option value="and">All </option>
|
||||
<option value="or">Any </option>
|
||||
<option value="boolean">Boolean </option>
|
||||
</select>
|
||||
Format:
|
||||
|
||||
Format:
|
||||
|
||||
<select name="format">
|
||||
<option value="builtin-long">Long </option>
|
||||
<option value="builtin-short">Short </option>
|
||||
</select>
|
||||
Sort by:
|
||||
|
||||
Sort by:
|
||||
|
||||
<select name="sort">
|
||||
<option value="score">Score </option>
|
||||
<option value="time">Time </option>
|
||||
@ -84,248 +89,238 @@ help you solve common problems. </li>
|
||||
<option value="revtime">Reverse Time </option>
|
||||
<option value="revtitle">Reverse Title </option>
|
||||
</select>
|
||||
</font><input type="hidden" name="config"
|
||||
</font><input type="hidden" name="config"
|
||||
value="htdig"><input type="hidden" name="restrict" value=""><font
|
||||
size="-1"> Include Mailing List Archives:
|
||||
|
||||
|
||||
<select size="1" name="exclude">
|
||||
<option value="">Yes</option>
|
||||
<option value="[http://lists.shorewall.net/pipermail/.*]">No</option>
|
||||
</select>
|
||||
</font><br>
|
||||
Search: <input type="text" size="30" name="words"
|
||||
value=""> <input type="submit" value="Search"><br>
|
||||
</form>
|
||||
</blockquote>
|
||||
|
||||
</font><br>
|
||||
Search: <input type="text" size="30"
|
||||
name="words" value=""> <input type="submit" value="Search"><br>
|
||||
</form>
|
||||
</blockquote>
|
||||
|
||||
<h2>Problem Reporting Guidelines<br>
|
||||
</h2>
|
||||
|
||||
</h2>
|
||||
|
||||
<ul>
|
||||
<li>Please remember we only know
|
||||
what is posted in your message. Do not leave out any information
|
||||
that appears to be correct, or was mentioned in a previous
|
||||
post. There have been countless posts by people who were sure
|
||||
that some part of their configuration was correct when it actually
|
||||
contained a small error. We tend to be skeptics where detail
|
||||
is lacking.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Please keep in mind that you're
|
||||
asking for <strong>free</strong> technical support.
|
||||
Any help we offer is an act of generosity, not an obligation.
|
||||
Try to make it easy for us to help you. Follow good, courteous
|
||||
practices in writing and formatting your e-mail. Provide details that
|
||||
we need if you expect good answers. <em>Exact quoting </em> of
|
||||
error messages, log entries, command output, and other output is better
|
||||
than a paraphrase or summary.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Please don't describe your environment and then ask
|
||||
us to send you custom configuration files. We're
|
||||
here to answer your questions but we can't do
|
||||
your job for you.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>When reporting a problem, <strong>ALWAYS</strong>
|
||||
include this information:</li>
|
||||
|
||||
<li>Please remember we only
|
||||
know what is posted in your message. Do not leave out any
|
||||
information that appears to be correct, or was mentioned
|
||||
in a previous post. There have been countless posts by people
|
||||
who were sure that some part of their configuration was correct
|
||||
when it actually contained a small error. We tend to be skeptics
|
||||
where detail is lacking.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Please keep in mind that
|
||||
you're asking for <strong>free</strong> technical
|
||||
support. Any help we offer is an act of generosity, not an obligation.
|
||||
Try to make it easy for us to help you. Follow good, courteous
|
||||
practices in writing and formatting your e-mail. Provide details
|
||||
that we need if you expect good answers. <em>Exact quoting </em>
|
||||
of error messages, log entries, command output, and other output is
|
||||
better than a paraphrase or summary.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
Please don't describe your environment and then
|
||||
ask us to send you custom configuration files.
|
||||
We're here to answer your questions but we can't
|
||||
do your job for you.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>When reporting a problem,
|
||||
<strong>ALWAYS</strong> include this information:</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<ul>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>the exact version of Shorewall
|
||||
you are running.<br>
|
||||
<br>
|
||||
<b><font color="#009900">shorewall
|
||||
version</font><br>
|
||||
</b> <br>
|
||||
</li>
|
||||
|
||||
<li>the exact version of Shorewall
|
||||
you are running.<br>
|
||||
<br>
|
||||
<b><font
|
||||
color="#009900">shorewall version</font><br>
|
||||
</b> <br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>the exact kernel version you
|
||||
are running<br>
|
||||
<br>
|
||||
<font color="#009900"><b>uname
|
||||
-a<br>
|
||||
<br>
|
||||
</b></font></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li>the complete, exact output
|
||||
of<br>
|
||||
<br>
|
||||
<font color="#009900"><b>ip
|
||||
addr show<br>
|
||||
<br>
|
||||
</b></font></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li>the complete, exact output
|
||||
of<br>
|
||||
<br>
|
||||
<font color="#009900"><b>ip
|
||||
route show<br>
|
||||
<br>
|
||||
</b></font></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li>If your kernel is modularized,
|
||||
the exact output from<br>
|
||||
<br>
|
||||
<font color="#009900"><b>lsmod</b></font><br>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><font color="#ff0000"><u><i><big><b>If you are having
|
||||
connection problems of any kind then:</b></big></i></u></font><br>
|
||||
<br>
|
||||
1. <b><font color="#009900">/sbin/shorewall reset</font></b><br>
|
||||
<br>
|
||||
2. Try the connection that is failing.<br>
|
||||
<br>
|
||||
3.<b><font color="#009900"> /sbin/shorewall status
|
||||
> /tmp/status.txt</font></b><br>
|
||||
<br>
|
||||
4. Post the /tmp/status.txt file as an attachment.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>the exact wording of any <code
|
||||
<li>the complete, exact output
|
||||
of<br>
|
||||
<br>
|
||||
<font color="#009900"><b>ip
|
||||
addr show<br>
|
||||
<br>
|
||||
</b></font></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li>the complete, exact output
|
||||
of<br>
|
||||
<br>
|
||||
<font color="#009900"><b>ip
|
||||
route show<br>
|
||||
</b></font></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
|
||||
<ul>
|
||||
<li><big><font color="#ff0000"><u><i><big><b>THIS IS
|
||||
IMPORTANT!</b></big></i></u></font><big><big><big> </big>If your problem is
|
||||
that some type of connection to/from or through your firewall isn't working
|
||||
then please perform the following four steps:</big></big></big><br>
|
||||
<br>
|
||||
1. <b><font color="#009900">/sbin/shorewall reset</font></b><br>
|
||||
<br>
|
||||
2. Try making the connection that is failing.<br>
|
||||
<br>
|
||||
3.<b><font color="#009900"> /sbin/shorewall
|
||||
status > /tmp/status.txt</font></b><br>
|
||||
<br>
|
||||
4. Post the /tmp/status.txt file as an attachment
|
||||
(you may compress it if you like).<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>the exact wording of any <code
|
||||
style="color: green; font-weight: bold;">ping</code> failure responses<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>If you installed Shorewall using one of the QuickStart
|
||||
Guides, please indicate which one. <br>
|
||||
<br>
|
||||
</li>
|
||||
<li><b>If you are running Shorewall under Mandrake using
|
||||
the Mandrake installation of Shorewall, please say so.<br>
|
||||
<br>
|
||||
</b></li>
|
||||
|
||||
<br>
|
||||
</li>
|
||||
<li>If you installed Shorewall using one of the QuickStart
|
||||
Guides, please indicate which one. <br>
|
||||
<br>
|
||||
</li>
|
||||
<li><b>If you are running Shorewall under Mandrake using
|
||||
the Mandrake installation of Shorewall, please say so.<br>
|
||||
<br>
|
||||
</b></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<li>As a general matter, please <strong>do not edit the diagnostic
|
||||
information</strong> in an attempt to conceal your IP address,
|
||||
netmask, nameserver addresses, domain name, etc. These aren't
|
||||
secrets, and concealing them often misleads us (and 80% of the time,
|
||||
a hacker could derive them anyway from information contained
|
||||
in the SMTP headers of your post).<br>
|
||||
<br>
|
||||
<strong></strong></li>
|
||||
<li>Do you see any "Shorewall" messages ("<b><font
|
||||
color="#009900">/sbin/shorewall show log</font></b>") when
|
||||
you exercise the function that is giving you problems? If
|
||||
so, include the message(s) in your post along with a copy of your /etc/shorewall/interfaces
|
||||
file.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Please include any of the Shorewall configuration
|
||||
files (especially the /etc/shorewall/hosts file
|
||||
if you have modified that file) that you think are
|
||||
relevant. If you include /etc/shorewall/rules, please include
|
||||
/etc/shorewall/policy as well (rules are meaningless unless
|
||||
one also knows the policies).<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>If an error occurs when you try to "<font
|
||||
color="#009900"><b>shorewall start</b></font>", include a trace
|
||||
(See the <a href="http://www.shorewall.net/troubleshoot.htm">Troubleshooting</a>
|
||||
section for instructions).<br>
|
||||
<br>
|
||||
</li>
|
||||
<li><b>The list server limits posts to 120kb so don't
|
||||
post GIFs of your network layout, etc.
|
||||
to the Mailing List -- your post will be rejected.</b></li>
|
||||
|
||||
<li>As a general matter, please <strong>do not edit the
|
||||
diagnostic information</strong> in an attempt to conceal
|
||||
your IP address, netmask, nameserver addresses, domain name,
|
||||
etc. These aren't secrets, and concealing them often misleads us
|
||||
(and 80% of the time, a hacker could derive them anyway from
|
||||
information contained in the SMTP headers of your post).<br>
|
||||
<br>
|
||||
<strong></strong></li>
|
||||
<li>Do you see any "Shorewall" messages
|
||||
("<b><font color="#009900">/sbin/shorewall show log</font></b>")
|
||||
when you exercise the function that is giving you problems?
|
||||
If so, include the message(s) in your post along with a copy of
|
||||
your /etc/shorewall/interfaces file.<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Please include any of the Shorewall configuration
|
||||
files (especially the /etc/shorewall/hosts file
|
||||
if you have modified that file) that you think are
|
||||
relevant. If you include /etc/shorewall/rules, please include
|
||||
/etc/shorewall/policy as well (rules are meaningless unless
|
||||
one also knows the policies).<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>If an error occurs when you try
|
||||
to "<font color="#009900"><b>shorewall start</b></font>", include
|
||||
a trace (See the <a
|
||||
href="http://www.shorewall.net/troubleshoot.htm">Troubleshooting</a>
|
||||
section for instructions).<br>
|
||||
<br>
|
||||
</li>
|
||||
<li><b>The list server limits posts to 120kb
|
||||
so don't post GIFs of your network
|
||||
layout, etc. to the Mailing List -- your post will be
|
||||
rejected.</b></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<blockquote> The author gratefully acknowleges that the above list was
|
||||
heavily plagiarized from the excellent LEAF document by <i>Ray</i>
|
||||
<em>Olszewski</em> found at <a
|
||||
heavily plagiarized from the excellent LEAF document by <i>Ray</i>
|
||||
<em>Olszewski</em> found at <a
|
||||
href="http://leaf-project.org/pub/doc/docmanager/docid_1891.html">http://leaf-project.org/pub/doc/docmanager/docid_1891.html</a>.<br>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<h2>When using the mailing list, please post in plain text</h2>
|
||||
|
||||
|
||||
<blockquote> A growing number of MTAs serving list subscribers are
|
||||
rejecting all HTML traffic. At least one MTA has gone so far as to
|
||||
blacklist shorewall.net "for continuous abuse" because it has been
|
||||
my policy to allow HTML in list posts!!<br>
|
||||
<br>
|
||||
I think that blocking all HTML
|
||||
is a Draconian way to control spam and that the ultimate
|
||||
losers here are not the spammers but the list subscribers
|
||||
whose MTAs are bouncing all shorewall.net mail. As one list
|
||||
subscriber wrote to me privately "These e-mail admin's need
|
||||
to get a <i>(expletive deleted)</i> life instead of trying to
|
||||
<br>
|
||||
I think that blocking all
|
||||
HTML is a Draconian way to control spam and that the ultimate
|
||||
losers here are not the spammers but the list subscribers
|
||||
whose MTAs are bouncing all shorewall.net mail. As one list
|
||||
subscriber wrote to me privately "These e-mail admin's need
|
||||
to get a <i>(expletive deleted)</i> life instead of trying to
|
||||
rid the planet of HTML based e-mail". Nevertheless, to allow
|
||||
subscribers to receive list posts as must as possible, I have now
|
||||
configured the list server at shorewall.net to strip all HTML from
|
||||
outgoing posts.<br>
|
||||
<br>
|
||||
<big><font color="#cc0000"><b>If you run your own outgoing mail server
|
||||
and it doesn't have a valid DNS PTR record, your email won't reach the lists
|
||||
unless/until the postmaster notices that your posts are being rejected. To
|
||||
avoid this problem, you should configure your MTA to forward posts to shorewall.net
|
||||
through an MTA that <u>does</u> have a valid PTR record (such as the one
|
||||
at your ISP). </b></font></big><br>
|
||||
</blockquote>
|
||||
<br>
|
||||
<big><font color="#cc0000"><b>If you run your own outgoing mail server
|
||||
and it doesn't have a valid DNS PTR record, your email won't reach the
|
||||
lists unless/until the postmaster notices that your posts are being rejected.
|
||||
To avoid this problem, you should configure your MTA to forward posts to
|
||||
shorewall.net through an MTA that <u>does</u> have a valid PTR record (such
|
||||
as the one at your ISP). </b></font></big><br>
|
||||
</blockquote>
|
||||
|
||||
<h2>Where to Send your Problem Report or to Ask for Help</h2>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<h4>If you run Shorewall under Bering -- <span
|
||||
style="font-weight: 400;">please post your question or problem
|
||||
to the <a
|
||||
to the <a
|
||||
href="mailto:leaf-user@lists.sourceforge.net">LEAF Users mailing
|
||||
list</a>.</span></h4>
|
||||
<b>If you run Shorewall under
|
||||
MandrakeSoft Multi Network Firewall (MNF) and you have
|
||||
not purchased an MNF license from MandrakeSoft then you can
|
||||
post non MNF-specific Shorewall questions to the </b><a
|
||||
list</a>.</span></h4>
|
||||
<b>If you run Shorewall under
|
||||
MandrakeSoft Multi Network Firewall (MNF) and you have
|
||||
not purchased an MNF license from MandrakeSoft then you can
|
||||
post non MNF-specific Shorewall questions to the </b><a
|
||||
href="mailto:shorewall-users@lists.shorewall.net">Shorewall users mailing
|
||||
list</a>. <b>Do not expect to get free MNF support on the list.</b><br>
|
||||
|
||||
<p>If you have a question, you may post it on the <a
|
||||
href="http://www.developercube.com/forum/index.php?c=8">Shorewall Forum</a>:
|
||||
<font color="#ff6666"><b>DO NOT USE THE FORUM FOR REPORTING PROBLEMS OR
|
||||
ASKING FOR HELP WITH PROBLEMS.<br>
|
||||
</b></font><br>
|
||||
Otherwise, please post your question or problem to the <a
|
||||
list</a>. <b>Do not expect to get free MNF support on the list</b>
|
||||
|
||||
<p>Otherwise, please post your question or problem to the <a
|
||||
href="mailto:shorewall-users@lists.shorewall.net">Shorewall users mailing
|
||||
list</a> .</p>
|
||||
|
||||
list</a> .</p>
|
||||
|
||||
<p> To Subscribe to the mailing list go to <a
|
||||
href="http://lists.shorewall.net/mailman/listinfo/shorewall-users">http://lists.shorewall.net/mailman/listinfo/shorewall-users</a>
|
||||
.<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
.<br>
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>For information on other Shorewall mailing lists, go to <a
|
||||
href="http://lists.shorewall.net">http://lists.shorewall.net</a><br>
|
||||
</p>
|
||||
|
||||
<p align="left"><font size="2">Last Updated 6/14/2003 - Tom Eastep</font></p>
|
||||
|
||||
</p>
|
||||
|
||||
<p align="left"><font size="2">Last Updated 7/9/2003 - Tom Eastep</font></p>
|
||||
|
||||
<p align="left"><font face="Trebuchet MS"><a href="copyright.htm"> <font
|
||||
size="2">Copyright</font> © <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
</p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,337 +1,337 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
<title>Traffic Shaping</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Traffic Shaping/Control</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p align="left">Shorewall has limited support for traffic shaping/control.
|
||||
In order to use traffic shaping under Shorewall, it is essential that
|
||||
you get a copy of the <a href="http://ds9a.nl/lartc">Linux Advanced Routing
|
||||
and Shaping HOWTO</a>, version 0.3.0 or later. It is also necessary
|
||||
|
||||
<p align="left">Shorewall has limited support for traffic shaping/control.
|
||||
In order to use traffic shaping under Shorewall, it is essential that
|
||||
you get a copy of the <a href="http://ds9a.nl/lartc">Linux Advanced Routing
|
||||
and Shaping HOWTO</a>, version 0.3.0 or later. It is also necessary
|
||||
to be running Linux Kernel 2.4.18 or later.</p>
|
||||
|
||||
|
||||
<p align="left">Shorewall traffic shaping support consists of the following:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>A new <b>TC_ENABLED</b> parameter in /etc/shorewall.conf.
|
||||
<li>A new <b>TC_ENABLED</b> parameter in /etc/shorewall.conf.
|
||||
Traffic Shaping also requires that you enable packet mangling.</li>
|
||||
<li>A new <b>CLEAR_TC </b>parameter in /etc/shorewall.conf (Added
|
||||
in Shorewall 1.3.13). When Traffic Shaping is enabled (TC_ENABLED=Yes),
|
||||
the setting of this variable determines whether Shorewall clears the traffic
|
||||
<li>A new <b>CLEAR_TC </b>parameter in /etc/shorewall.conf (Added
|
||||
in Shorewall 1.3.13). When Traffic Shaping is enabled (TC_ENABLED=Yes),
|
||||
the setting of this variable determines whether Shorewall clears the traffic
|
||||
shaping configuration during Shorewall [re]start and Shorewall stop. <br>
|
||||
</li>
|
||||
<li><b>/etc/shorewall/tcrules</b> - A file where you can
|
||||
specify firewall marking of packets. The firewall mark value may
|
||||
be used to classify packets for traffic shaping/control.<br>
|
||||
</li>
|
||||
<li><b>/etc/shorewall/tcstart </b>- A user-supplied file
|
||||
that is sourced by Shorewall during "shorewall start" and which
|
||||
you can use to define your traffic shaping disciplines and classes.
|
||||
</li>
|
||||
<li><b>/etc/shorewall/tcrules</b> - A file where you
|
||||
can specify firewall marking of packets. The firewall mark value
|
||||
may be used to classify packets for traffic shaping/control.<br>
|
||||
</li>
|
||||
<li><b>/etc/shorewall/tcstart </b>- A user-supplied file
|
||||
that is sourced by Shorewall during "shorewall start" and which
|
||||
you can use to define your traffic shaping disciplines and classes.
|
||||
I have provided a <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/cbq">sample</a> that does
|
||||
table-driven CBQ shaping but if you read the traffic shaping sections
|
||||
of the HOWTO mentioned above, you can probably code your own
|
||||
faster than you can learn how to use my sample. I personally use
|
||||
<a href="http://luxik.cdi.cz/%7Edevik/qos/htb/">HTB</a> (see below).
|
||||
HTB support may eventually become an integral part of Shorewall
|
||||
since HTB is a lot simpler and better-documented than CBQ. As of
|
||||
2.4.20, HTB is a standard part of the kernel but iproute2 must be patched
|
||||
in order to use it.<br>
|
||||
<br>
|
||||
In tcstart, when you want to run the 'tc' utility, use
|
||||
the run_tc function supplied by shorewall if you want tc errors
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/cbq">sample</a> that does
|
||||
table-driven CBQ shaping but if you read the traffic shaping sections
|
||||
of the HOWTO mentioned above, you can probably code your own faster
|
||||
than you can learn how to use my sample. I personally use
|
||||
<a href="http://luxik.cdi.cz/%7Edevik/qos/htb/">HTB</a> (see below).
|
||||
HTB support may eventually become an integral part of Shorewall
|
||||
since HTB is a lot simpler and better-documented than CBQ. As of 2.4.20,
|
||||
HTB is a standard part of the kernel but iproute2 must be patched in
|
||||
order to use it.<br>
|
||||
<br>
|
||||
In tcstart, when you want to run the 'tc' utility,
|
||||
use the run_tc function supplied by shorewall if you want tc errors
|
||||
to stop the firewall.<br>
|
||||
<br>
|
||||
You can generally use off-the-shelf traffic shaping scripts by
|
||||
<br>
|
||||
You can generally use off-the-shelf traffic shaping scripts by
|
||||
simply copying them to /etc/shorewall/tcstart. I use <a
|
||||
href="http://lartc.org/wondershaper/">The Wonder Shaper</a> (HTB version)
|
||||
that way (i.e., I just copied wshaper.htb to /etc/shorewall/tcstart and
|
||||
modified it according to the Wonder Shaper README). <b>WARNING: </b>If
|
||||
you use use Masquerading or SNAT (i.e., you only have one external IP address)
|
||||
then listing internal hosts in the NOPRIOHOSTSRC variable in the wshaper[.htb]
|
||||
script won't work. Traffic shaping occurs after SNAT has already been applied
|
||||
so when traffic shaping happens, all outbound traffic will have as a source
|
||||
address the IP addresss of your firewall's external interface.<br>
|
||||
</li>
|
||||
<li><b>/etc/shorewall/tcclear</b> - A user-supplied file
|
||||
that is sourced by Shorewall when it is clearing traffic shaping.
|
||||
This file is normally not required as Shorewall's method of clearing
|
||||
href="http://lartc.org/wondershaper/">The Wonder Shaper</a> (HTB version)
|
||||
that way (i.e., I just copied wshaper.htb to /etc/shorewall/tcstart
|
||||
and modified it according to the Wonder Shaper README). <b>WARNING: </b>If
|
||||
you use use Masquerading or SNAT (i.e., you only have one external IP address)
|
||||
then listing internal hosts in the NOPRIOHOSTSRC variable in the wshaper[.htb]
|
||||
script won't work. Traffic shaping occurs after SNAT has already been
|
||||
applied so when traffic shaping happens, all outbound traffic will have
|
||||
as a source address the IP addresss of your firewall's external interface.<br>
|
||||
</li>
|
||||
<li><b>/etc/shorewall/tcclear</b> - A user-supplied file
|
||||
that is sourced by Shorewall when it is clearing traffic shaping.
|
||||
This file is normally not required as Shorewall's method of clearing
|
||||
qdisc and filter definitions is pretty general.</li>
|
||||
|
||||
|
||||
</ul>
|
||||
Shorewall allows you to start traffic shaping when Shorewall itself
|
||||
starts or it allows you to bring up traffic shaping when you bring up
|
||||
your interfaces.<br>
|
||||
<br>
|
||||
To start traffic shaping when Shorewall starts:<br>
|
||||
|
||||
Shorewall allows you to start traffic shaping when Shorewall itself
|
||||
starts or it allows you to bring up traffic shaping when you bring up your
|
||||
interfaces.<br>
|
||||
<br>
|
||||
To start traffic shaping when Shorewall starts:<br>
|
||||
|
||||
<ol>
|
||||
<li>Set TC_ENABLED=Yes and CLEAR_TC=Yes</li>
|
||||
<li>Supply an /etc/shorewall/tcstart script to configure your traffic
|
||||
<li>Set TC_ENABLED=Yes and CLEAR_TC=Yes</li>
|
||||
<li>Supply an /etc/shorewall/tcstart script to configure your traffic
|
||||
shaping rules.</li>
|
||||
<li>Optionally supply an /etc/shorewall/tcclear script to stop traffic
|
||||
shaping. That is usually unnecessary.</li>
|
||||
<li>If your tcstart script uses the 'fwmark' classifier, you can
|
||||
<li>Optionally supply an /etc/shorewall/tcclear script to stop
|
||||
traffic shaping. That is usually unnecessary.</li>
|
||||
<li>If your tcstart script uses the 'fwmark' classifier, you can
|
||||
mark packets using entries in /etc/shorewall/tcrules.</li>
|
||||
|
||||
|
||||
</ol>
|
||||
To start traffic shaping when you bring up your network interfaces,
|
||||
you will have to arrange for your traffic shaping configuration script
|
||||
to be run at that time. How you do that is distribution dependent and will
|
||||
To start traffic shaping when you bring up your network interfaces,
|
||||
you will have to arrange for your traffic shaping configuration script
|
||||
to be run at that time. How you do that is distribution dependent and will
|
||||
not be covered here. You then should:<br>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>Set TC_ENABLED=Yes and CLEAR_TC=No</li>
|
||||
<li>Do not supply /etc/shorewall/tcstart or /etc/shorewall/tcclear
|
||||
<li>Set TC_ENABLED=Yes and CLEAR_TC=No</li>
|
||||
<li>Do not supply /etc/shorewall/tcstart or /etc/shorewall/tcclear
|
||||
scripts.</li>
|
||||
<li value="4">If your tcstart script uses the 'fwmark' classifier,
|
||||
<li value="4">If your tcstart script uses the 'fwmark' classifier,
|
||||
you can mark packets using entries in /etc/shorewall/tcrules.</li>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<h3 align="left">Kernel Configuration</h3>
|
||||
|
||||
|
||||
<p align="left">This screen shot show how I've configured QoS in my Kernel:</p>
|
||||
|
||||
|
||||
<p align="center"><img border="0" src="images/QoS.png" width="590"
|
||||
height="764">
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<h3 align="left"><a name="tcrules"></a>/etc/shorewall/tcrules</h3>
|
||||
|
||||
<p align="left">The fwmark classifier provides a convenient way to classify
|
||||
packets for traffic shaping. The /etc/shorewall/tcrules file provides
|
||||
|
||||
<p align="left">The fwmark classifier provides a convenient way to classify
|
||||
packets for traffic shaping. The /etc/shorewall/tcrules file provides
|
||||
a means for specifying these marks in a tabular fashion.<br>
|
||||
</p>
|
||||
|
||||
<p align="left">Normally, packet marking occurs in the PREROUTING chain before
|
||||
any address rewriting takes place. This makes it impossible to mark inbound
|
||||
packets based on their destination address when SNAT or Masquerading are
|
||||
being used. Beginning with Shorewall 1.3.12, you can cause packet marking
|
||||
to occur in the FORWARD chain by using the MARK_IN_FORWARD_CHAIN option
|
||||
in <a href="Documentation.htm#Conf">shorewall.conf</a>.<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<p align="left">Normally, packet marking occurs in the PREROUTING chain before
|
||||
any address rewriting takes place. This makes it impossible to mark inbound
|
||||
packets based on their destination address when SNAT or Masquerading
|
||||
are being used. Beginning with Shorewall 1.3.12, you can cause packet
|
||||
marking to occur in the FORWARD chain by using the MARK_IN_FORWARD_CHAIN
|
||||
option in <a href="Documentation.htm#Conf">shorewall.conf</a>.<br>
|
||||
</p>
|
||||
|
||||
<p align="left">Columns in the file are as follows:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>MARK - Specifies the mark value is to be assigned
|
||||
in case of a match. This is an integer in the range 1-255. Beginning
|
||||
with Shorewall version 1.3.14, this value may be optionally followed by ":"
|
||||
and either 'F' or 'P' to designate that the marking will occur in the FORWARD
|
||||
or PREROUTING chains respectively. If this additional specification is omitted,
|
||||
the chain used to mark packets will be determined by the setting of the
|
||||
MARK_IN_FORWARD_CHAIN option in <a href="Documentation.htm#Conf">shorewall.conf</a>.<br>
|
||||
<br>
|
||||
Example - 5<br>
|
||||
</li>
|
||||
<li>SOURCE - The source of the packet. If the packet originates
|
||||
on the firewall, place "fw" in this column. Otherwise, this is
|
||||
a comma-separated list of interface names, IP addresses, MAC addresses
|
||||
in <a href="Documentation.htm#MAC">Shorewall Format</a> and/or Subnets.<br>
|
||||
<br>
|
||||
Examples<br>
|
||||
eth0<br>
|
||||
192.168.2.4,192.168.1.0/24<br>
|
||||
</li>
|
||||
<li>DEST -- Destination of the packet. Comma-separated
|
||||
<li>MARK - Specifies the mark value is to be assigned
|
||||
in case of a match. This is an integer in the range 1-255. Beginning
|
||||
with Shorewall version 1.3.14, this value may be optionally followed by
|
||||
":" and either 'F' or 'P' to designate that the marking will occur in the
|
||||
FORWARD or PREROUTING chains respectively. If this additional specification
|
||||
is omitted, the chain used to mark packets will be determined by the setting
|
||||
of the MARK_IN_FORWARD_CHAIN option in <a href="Documentation.htm#Conf">shorewall.conf</a>.<br>
|
||||
<br>
|
||||
Example - 5<br>
|
||||
</li>
|
||||
<li>SOURCE - The source of the packet. If the packet
|
||||
originates on the firewall, place "fw" in this column. Otherwise,
|
||||
this is a comma-separated list of interface names, IP addresses, MAC
|
||||
addresses in <a href="Documentation.htm#MAC">Shorewall Format</a> and/or
|
||||
Subnets.<br>
|
||||
<br>
|
||||
Examples<br>
|
||||
eth0<br>
|
||||
192.168.2.4,192.168.1.0/24<br>
|
||||
</li>
|
||||
<li>DEST -- Destination of the packet. Comma-separated
|
||||
list of IP addresses and/or subnets.<br>
|
||||
</li>
|
||||
<li>PROTO - Protocol - Must be the name of a protocol
|
||||
</li>
|
||||
<li>PROTO - Protocol - Must be the name of a protocol
|
||||
from /etc/protocol, a number or "all"<br>
|
||||
</li>
|
||||
<li>PORT(S) - Destination Ports. A comma-separated list
|
||||
of Port names (from /etc/services), port numbers or port ranges
|
||||
(e.g., 21:22); if the protocol is "icmp", this column is interpreted
|
||||
as the destination icmp type(s).<br>
|
||||
</li>
|
||||
<li>CLIENT PORT(S) - (Optional) Port(s) used by the client.
|
||||
If omitted, any source port is acceptable. Specified as a comma-separate
|
||||
</li>
|
||||
<li>PORT(S) - Destination Ports. A comma-separated list
|
||||
of Port names (from /etc/services), port numbers or port ranges (e.g.,
|
||||
21:22); if the protocol is "icmp", this column is interpreted as
|
||||
the destination icmp type(s).<br>
|
||||
</li>
|
||||
<li>CLIENT PORT(S) - (Optional) Port(s) used by the client.
|
||||
If omitted, any source port is acceptable. Specified as a comma-separate
|
||||
list of port names, port numbers or port ranges.</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
<p align="left">Example 1 - All packets arriving on eth1 should be marked
|
||||
with 1. All packets arriving on eth2 and eth3 should be marked with
|
||||
2. All packets originating on the firewall itself should be marked
|
||||
with 3.</p>
|
||||
|
||||
|
||||
<p align="left">Example 1 - All packets arriving on eth1 should be marked
|
||||
with 1. All packets arriving on eth2 and eth3 should be marked with
|
||||
2. All packets originating on the firewall itself should be marked with
|
||||
3.</p>
|
||||
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>MARK</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b>PROTO</b></td>
|
||||
<td><b>PORT(S)</b></td>
|
||||
<td><b>CLIENT PORT(S)</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>MARK</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b>PROTO</b></td>
|
||||
<td><b>PORT(S)</b></td>
|
||||
<td><b>CLIENT PORT(S)</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>eth1</td>
|
||||
<td>0.0.0.0/0</td>
|
||||
<td>all</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>eth2</td>
|
||||
<td>0.0.0.0/0</td>
|
||||
<td>all</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">2<br>
|
||||
</td>
|
||||
<td valign="top">eth3<br>
|
||||
</td>
|
||||
<td valign="top">0.0.0.0/0<br>
|
||||
</td>
|
||||
<td valign="top">all<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>fw</td>
|
||||
<td>0.0.0.0/0</td>
|
||||
<td>all</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>1</td>
|
||||
<td>eth1</td>
|
||||
<td>0.0.0.0/0</td>
|
||||
<td>all</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>eth2</td>
|
||||
<td>0.0.0.0/0</td>
|
||||
<td>all</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">2<br>
|
||||
</td>
|
||||
<td valign="top">eth3<br>
|
||||
</td>
|
||||
<td valign="top">0.0.0.0/0<br>
|
||||
</td>
|
||||
<td valign="top">all<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>fw</td>
|
||||
<td>0.0.0.0/0</td>
|
||||
<td>all</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p align="left">Example 2 - All GRE (protocol 47) packets not originating
|
||||
on the firewall and destined for 155.186.235.151 should be marked
|
||||
|
||||
<p align="left">Example 2 - All GRE (protocol 47) packets not originating
|
||||
on the firewall and destined for 155.186.235.151 should be marked
|
||||
with 12.</p>
|
||||
|
||||
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>MARK</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b>PROTO</b></td>
|
||||
<td><b>PORT(S)</b></td>
|
||||
<td><b>CLIENT PORT(S)</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>MARK</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b>PROTO</b></td>
|
||||
<td><b>PORT(S)</b></td>
|
||||
<td><b>CLIENT PORT(S)</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>12</td>
|
||||
<td>0.0.0.0/0</td>
|
||||
<td>155.186.235.151</td>
|
||||
<td>47</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>12</td>
|
||||
<td>0.0.0.0/0</td>
|
||||
<td>155.186.235.151</td>
|
||||
<td>47</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p align="left">Example 3 - All SSH packets originating in 192.168.1.0/24
|
||||
|
||||
<p align="left">Example 3 - All SSH packets originating in 192.168.1.0/24
|
||||
and destined for 155.186.235.151 should be marked with 22.</p>
|
||||
|
||||
|
||||
<table border="2" cellpadding="2" style="border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>MARK</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b>PROTO</b></td>
|
||||
<td><b>PORT(S)</b></td>
|
||||
<td><b>CLIENT PORT(S)</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>MARK</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b>PROTO</b></td>
|
||||
<td><b>PORT(S)</b></td>
|
||||
<td><b>CLIENT PORT(S)</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>22</td>
|
||||
<td>192.168.1.0/24</td>
|
||||
<td>155.186.235.151</td>
|
||||
<td>tcp</td>
|
||||
<td>22</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
<td>22</td>
|
||||
<td>192.168.1.0/24</td>
|
||||
<td>155.186.235.151</td>
|
||||
<td>tcp</td>
|
||||
<td>22</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h3>My Setup<br>
|
||||
</h3>
|
||||
|
||||
</h3>
|
||||
|
||||
<p>While I am currently using the HTB version of <a
|
||||
href="http://lartc.org/wondershaper/">The Wonder Shaper</a> (I just copied
|
||||
wshaper.htb to <b>/etc/shorewall/tcstart</b> and modified it as shown
|
||||
in the Wondershaper README), I have also run with the following set of
|
||||
href="http://lartc.org/wondershaper/">The Wonder Shaper</a> (I just copied
|
||||
wshaper.htb to <b>/etc/shorewall/tcstart</b> and modified it as shown
|
||||
in the Wondershaper README), I have also run with the following set of
|
||||
hand-crafted rules in my <b>/etc/shorewall/tcstart</b> file:<br>
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>run_tc qdisc add dev eth0 root handle 1: htb default 30<br><br>run_tc class add dev eth0 parent 1: classid 1:1 htb rate 384kbit burst 15k<br><br>echo " Added Top Level Class -- rate 384kbit"</pre>
|
||||
|
||||
<pre>run_tc class add dev eth0 parent 1:1 classid 1:10 htb rate 140kbit ceil 384kbit burst 15k prio 1<br>run_tc class add dev eth0 parent 1:1 classid 1:20 htb rate 224kbit ceil 384kbit burst 15k prio 0<br>run_tc class add dev eth0 parent 1:1 classid 1:30 htb rate 20kbit ceil 384kbit burst 15k quantum 1500 prio 1</pre>
|
||||
|
||||
<pre>echo " Added Second Level Classes -- rates 140kbit, 224kbit, 20kbit"</pre>
|
||||
|
||||
<pre>run_tc qdisc add dev eth0 parent 1:10 pfifo limit 5<br>run_tc qdisc add dev eth0 parent 1:20 pfifo limit 10<br>run_tc qdisc add dev eth0 parent 1:30 pfifo limit 5</pre>
|
||||
|
||||
<pre>echo " Enabled PFIFO on Second Level Classes"</pre>
|
||||
|
||||
<pre>run_tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 1 fw classid 1:10<br>run_tc filter add dev eth0 protocol ip parent 1:0 prio 0 handle 2 fw classid 1:20<br>run_tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 3 fw classid 1:30</pre>
|
||||
|
||||
<pre>echo " Defined fwmark filters"<br></pre>
|
||||
</blockquote>
|
||||
|
||||
<p>My tcrules file that went with this tcstart file is shown in Example 1
|
||||
above. You can look at <a href="myfiles.htm">my configuration</a> to
|
||||
see why I wanted shaping of this type.<br>
|
||||
</p>
|
||||
|
||||
|
||||
<blockquote>
|
||||
<pre>run_tc qdisc add dev eth0 root handle 1: htb default 30<br><br>run_tc class add dev eth0 parent 1: classid 1:1 htb rate 384kbit burst 15k<br><br>echo " Added Top Level Class -- rate 384kbit"</pre>
|
||||
|
||||
<pre>run_tc class add dev eth0 parent 1:1 classid 1:10 htb rate 140kbit ceil 384kbit burst 15k prio 1<br>run_tc class add dev eth0 parent 1:1 classid 1:20 htb rate 224kbit ceil 384kbit burst 15k prio 0<br>run_tc class add dev eth0 parent 1:1 classid 1:30 htb rate 20kbit ceil 384kbit burst 15k quantum 1500 prio 1</pre>
|
||||
|
||||
<pre>echo " Added Second Level Classes -- rates 140kbit, 224kbit, 20kbit"</pre>
|
||||
|
||||
<pre>run_tc qdisc add dev eth0 parent 1:10 pfifo limit 5<br>run_tc qdisc add dev eth0 parent 1:20 pfifo limit 10<br>run_tc qdisc add dev eth0 parent 1:30 pfifo limit 5</pre>
|
||||
|
||||
<pre>echo " Enabled PFIFO on Second Level Classes"</pre>
|
||||
|
||||
<pre>run_tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 1 fw classid 1:10<br>run_tc filter add dev eth0 protocol ip parent 1:0 prio 0 handle 2 fw classid 1:20<br>run_tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 3 fw classid 1:30</pre>
|
||||
|
||||
<pre>echo " Defined fwmark filters"<br></pre>
|
||||
</blockquote>
|
||||
|
||||
<p>My tcrules file that went with this tcstart file is shown in Example 1
|
||||
above. You can look at <a href="myfiles.htm">my configuration</a> to
|
||||
see why I wanted shaping of this type.<br>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>I wanted to allow up to 140kbits/second for traffic outbound
|
||||
from my DMZ (note that the ceiling is set to 384kbit so outbound DMZ
|
||||
traffic can use all available bandwidth if there is no traffic from the
|
||||
<li>I wanted to allow up to 140kbits/second for traffic outbound
|
||||
from my DMZ (note that the ceiling is set to 384kbit so outbound DMZ
|
||||
traffic can use all available bandwidth if there is no traffic from the
|
||||
local systems or from my laptop or firewall).</li>
|
||||
<li>My laptop and local systems could use up to 224kbits/second.</li>
|
||||
<li>My firewall could use up to 20kbits/second.</li>
|
||||
|
||||
<li>My laptop and local systems could use up to 224kbits/second.</li>
|
||||
<li>My firewall could use up to 20kbits/second.</li>
|
||||
|
||||
</ol>
|
||||
You see <a href="myfiles.htm">the rest of my Shorewall configuration</a>
|
||||
You see <a href="myfiles.htm">the rest of my Shorewall configuration</a>
|
||||
to see how this fit in. <br>
|
||||
|
||||
|
||||
<p><font size="2">Last Updated 3/19/2003 - <a href="support.htm">Tom Eastep</a></font></p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -1,224 +1,226 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Shorewall Troubleshooting</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Shorewall Troubleshooting<img
|
||||
src="images/obrasinf.gif" alt="Beating head on table" width="90"
|
||||
height="90" align="middle">
|
||||
</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<h3 align="left">Check the Errata</h3>
|
||||
|
||||
<p align="left">Check the <a href="errata.htm">Shorewall Errata</a> to be
|
||||
sure that there isn't an update that you are missing for your version
|
||||
of the firewall.</p>
|
||||
|
||||
|
||||
<p align="left">Check the <a href="errata.htm">Shorewall Errata</a> to be
|
||||
sure that there isn't an update that you are missing for your version
|
||||
of the firewall.</p>
|
||||
|
||||
<h3 align="left">Check the FAQs</h3>
|
||||
|
||||
<p align="left">Check the <a href="FAQ.htm">FAQs</a> for solutions to common
|
||||
problems.</p>
|
||||
|
||||
|
||||
<p align="left">Check the <a href="FAQ.htm">FAQs</a> for solutions to common
|
||||
problems.</p>
|
||||
|
||||
<h3 align="left">If the firewall fails to start</h3>
|
||||
If you receive an error message when starting or restarting
|
||||
the firewall and you can't determine the cause, then do the following:
|
||||
|
||||
If you receive an error message when starting or restarting
|
||||
the firewall and you can't determine the cause, then do the following:
|
||||
|
||||
<ul>
|
||||
<li>Make a note of the error message that you see.<br>
|
||||
</li>
|
||||
<li>shorewall debug start 2> /tmp/trace</li>
|
||||
<li>Look at the /tmp/trace file and see if that helps you
|
||||
determine what the problem is. Be sure you find the place in the log
|
||||
where the error message you saw is generated -- If you are using Shorewall
|
||||
<li>Make a note of the error message that you see.<br>
|
||||
</li>
|
||||
<li>shorewall debug start 2> /tmp/trace</li>
|
||||
<li>Look at the /tmp/trace file and see if that helps you
|
||||
determine what the problem is. Be sure you find the place in the log
|
||||
where the error message you saw is generated -- If you are using Shorewall
|
||||
1.4.0 or later, you should find the message near the end of the log.</li>
|
||||
<li>If you still can't determine what's wrong then see the
|
||||
<a href="support.htm">support page</a>.</li>
|
||||
|
||||
<li>If you still can't determine what's wrong then see the
|
||||
<a href="support.htm">support page</a>.</li>
|
||||
|
||||
</ul>
|
||||
Here's an example. During startup, a user sees the following:<br>
|
||||
|
||||
<blockquote>
|
||||
Here's an example. During startup, a user sees the following:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre>Adding Common Rules<br>iptables: No chain/target/match by that name<br>Terminated<br></pre>
|
||||
</blockquote>
|
||||
A search through the trace for "No chain/target/match by that name" turned
|
||||
up the following:
|
||||
<blockquote>
|
||||
</blockquote>
|
||||
A search through the trace for "No chain/target/match by that name"
|
||||
turned up the following:
|
||||
<blockquote>
|
||||
<pre>+ echo 'Adding Common Rules'<br>+ add_common_rules<br>+ run_iptables -A reject -p tcp -j REJECT --reject-with tcp-reset<br>++ echo -A reject -p tcp -j REJECT --reject-with tcp-reset<br>++ sed 's/!/! /g'<br>+ iptables -A reject -p tcp -j REJECT --reject-with tcp-reset<br>iptables: No chain/target/match by that name<br></pre>
|
||||
</blockquote>
|
||||
The command that failed was: "iptables -A reject -p tcp -j REJECT --reject-with
|
||||
tcp-reset". In this case, the user had compiled his own kernel and had forgotten
|
||||
to include REJECT target support (see <a href="kernel.htm">kernel.htm</a>)
|
||||
|
||||
</blockquote>
|
||||
The command that failed was: "iptables -A reject -p tcp -j REJECT --reject-with
|
||||
tcp-reset". In this case, the user had compiled his own kernel and had
|
||||
forgotten to include REJECT target support (see <a href="kernel.htm">kernel.htm</a>)
|
||||
|
||||
<h3>Your network environment</h3>
|
||||
|
||||
<p>Many times when people have problems with Shorewall, the problem is actually
|
||||
|
||||
<p>Many times when people have problems with Shorewall, the problem is actually
|
||||
an ill-conceived network setup. Here are several popular snafus: </p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>Port Forwarding where client and server are
|
||||
<li>Port Forwarding where client and server are
|
||||
in the same subnet. See <a href="FAQ.htm">FAQ 2.</a></li>
|
||||
<li>Changing the IP address of a local system to be in the
|
||||
external subnet, thinking that Shorewall will suddenly believe that
|
||||
the system is in the 'net' zone.</li>
|
||||
<li>Multiple interfaces connected to the same HUB or Switch.
|
||||
Given the way that the Linux kernel respond to ARP "who-has" requests,
|
||||
this type of setup does NOT work the way that you expect it to.</li>
|
||||
|
||||
<li>Changing the IP address of a local system to be in the
|
||||
external subnet, thinking that Shorewall will suddenly believe
|
||||
that the system is in the 'net' zone.</li>
|
||||
<li>Multiple interfaces connected to the same HUB or Switch.
|
||||
Given the way that the Linux kernel respond to ARP "who-has" requests,
|
||||
this type of setup does NOT work the way that you expect it to.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3 align="left">If you are having connection problems:</h3>
|
||||
|
||||
<p align="left">If the appropriate policy for the connection that you are
|
||||
trying to make is ACCEPT, please DO NOT ADD ADDITIONAL ACCEPT RULES TRYING
|
||||
TO MAKE IT WORK. Such additional rules will NEVER make it work, they
|
||||
add clutter to your rule set and they represent a big security hole in
|
||||
the event that you forget to remove them later.</p>
|
||||
|
||||
<p align="left">I also recommend against setting all of your policies to
|
||||
ACCEPT in an effort to make something work. That robs you of one of
|
||||
your best diagnostic tools - the "Shorewall" messages that Netfilter
|
||||
will generate when you try to connect in a way that isn't permitted
|
||||
by your rule set.</p>
|
||||
|
||||
<p align="left">Check your log ("/sbin/shorewall show log"). If you don't
|
||||
see Shorewall messages, then your problem is probably NOT a Shorewall
|
||||
problem. If you DO see packet messages, it may be an indication that you
|
||||
are missing one or more rules -- see <a href="FAQ.htm#faq17">FAQ 17</a>.</p>
|
||||
|
||||
<p align="left">While you are troubleshooting, it is a good idea to clear
|
||||
two variables in /etc/shorewall/shorewall.conf:</p>
|
||||
|
||||
|
||||
<p align="left">If the appropriate policy for the connection that you are
|
||||
trying to make is ACCEPT, please DO NOT ADD ADDITIONAL ACCEPT RULES
|
||||
TRYING TO MAKE IT WORK. Such additional rules will NEVER make it work,
|
||||
they add clutter to your rule set and they represent a big security hole
|
||||
in the event that you forget to remove them later.</p>
|
||||
|
||||
<p align="left">I also recommend against setting all of your policies to
|
||||
ACCEPT in an effort to make something work. That robs you of one of
|
||||
your best diagnostic tools - the "Shorewall" messages that Netfilter
|
||||
will generate when you try to connect in a way that isn't permitted
|
||||
by your rule set.</p>
|
||||
|
||||
<p align="left">Check your log ("/sbin/shorewall show log"). If you don't
|
||||
see Shorewall messages, then your problem is probably NOT a Shorewall
|
||||
problem. If you DO see packet messages, it may be an indication that
|
||||
you are missing one or more rules -- see <a href="FAQ.htm#faq17">FAQ 17</a>.</p>
|
||||
|
||||
<p align="left">While you are troubleshooting, it is a good idea to clear
|
||||
two variables in /etc/shorewall/shorewall.conf:</p>
|
||||
|
||||
<p align="left">LOGRATE=""<br>
|
||||
LOGBURST=""</p>
|
||||
|
||||
<p align="left">This way, you will see all of the log messages being generated
|
||||
LOGBURST=""</p>
|
||||
|
||||
<p align="left">This way, you will see all of the log messages being generated
|
||||
(be sure to restart shorewall after clearing these variables).</p>
|
||||
|
||||
|
||||
<p align="left">Example:</p>
|
||||
<font face="Century Gothic, Arial, Helvetica">
|
||||
<p align="left"><font face="Courier">Jun 27 15:37:56 gateway kernel: Shorewall:all2all:REJECT:IN=eth2
|
||||
OUT=eth1 SRC=192.168.2.2 DST=192.168.1.3 LEN=67 TOS=0x00 PREC=0x00 TTL=63
|
||||
<font face="Century Gothic, Arial, Helvetica">
|
||||
<p align="left"><font face="Courier">Jun 27 15:37:56 gateway kernel: Shorewall:all2all:REJECT:IN=eth2
|
||||
OUT=eth1 SRC=192.168.2.2 DST=192.168.1.3 LEN=67 TOS=0x00 PREC=0x00 TTL=63
|
||||
ID=5805 DF PROTO=UDP SPT=1803 DPT=53 LEN=47</font></p>
|
||||
</font>
|
||||
</font>
|
||||
<p align="left">Let's look at the important parts of this message:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>all2all:REJECT - This packet was REJECTed out of the all2all
|
||||
chain -- the packet was rejected under the "all"->"all" REJECT
|
||||
policy (see <a href="FAQ.htm#faq17">FAQ 17).</a></li>
|
||||
<li>IN=eth2 - the packet entered the firewall via eth2</li>
|
||||
<li>OUT=eth1 - if accepted, the packet would be sent on eth1</li>
|
||||
<li>SRC=192.168.2.2 - the packet was sent by 192.168.2.2</li>
|
||||
<li>DST=192.168.1.3 - the packet is destined for 192.168.1.3</li>
|
||||
<li>PROTO=UDP - UDP Protocol</li>
|
||||
<li>DPT=53 - DNS</li>
|
||||
|
||||
<li>all2all:REJECT - This packet was REJECTed out of the
|
||||
all2all chain -- the packet was rejected under the "all"->"all"
|
||||
REJECT policy (see <a href="FAQ.htm#faq17">FAQ 17).</a></li>
|
||||
<li>IN=eth2 - the packet entered the firewall via eth2</li>
|
||||
<li>OUT=eth1 - if accepted, the packet would be sent on eth1</li>
|
||||
<li>SRC=192.168.2.2 - the packet was sent by 192.168.2.2</li>
|
||||
<li>DST=192.168.1.3 - the packet is destined for 192.168.1.3</li>
|
||||
<li>PROTO=UDP - UDP Protocol</li>
|
||||
<li>DPT=53 - DNS</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p align="left">In this case, 192.168.2.2 was in the "dmz" zone and 192.168.1.3
|
||||
is in the "loc" zone. I was missing the rule:</p>
|
||||
|
||||
|
||||
<p align="left">In this case, 192.168.2.2 was in the "dmz" zone and 192.168.1.3
|
||||
is in the "loc" zone. I was missing the rule:</p>
|
||||
|
||||
<p align="left">ACCEPT dmz loc udp 53<br>
|
||||
</p>
|
||||
|
||||
<p align="left">See <a href="FAQ.htm#faq17">FAQ 17</a> for additional information
|
||||
about how to interpret the chain name appearing in a Shorewall log message.<br>
|
||||
</p>
|
||||
|
||||
</p>
|
||||
|
||||
<p align="left">See <a href="FAQ.htm#faq17">FAQ 17</a> for additional information
|
||||
about how to interpret the chain name appearing in a Shorewall log message.<br>
|
||||
</p>
|
||||
|
||||
<h3 align="left">'Ping' Problems?</h3>
|
||||
Either can't ping when you think you should be able to or are able to
|
||||
Either can't ping when you think you should be able to or are able to
|
||||
ping when you think that you shouldn't be allowed? Shorewall's 'Ping' Management<a
|
||||
href="ping.html"> is described here</a>.<br>
|
||||
|
||||
|
||||
<h3 align="left">Other Gotchas</h3>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>Seeing rejected/dropped packets logged out of the INPUT
|
||||
or FORWARD chains? This means that:
|
||||
<li>Seeing rejected/dropped packets logged out of the INPUT
|
||||
or FORWARD chains? This means that:
|
||||
<ol>
|
||||
<li>your zone definitions are screwed up and the host that
|
||||
is sending the packets or the destination host isn't in any zone
|
||||
(using an <a href="Documentation.htm#Hosts">/etc/shorewall/hosts</a>
|
||||
file are you?); or</li>
|
||||
<li>the source and destination hosts are both connected
|
||||
to the same interface and you don't have a policy or rule for
|
||||
the source zone to or from the destination zone.</li>
|
||||
|
||||
<li>your zone definitions are screwed up and the host that
|
||||
is sending the packets or the destination host isn't in any zone
|
||||
(using an <a href="Documentation.htm#Hosts">/etc/shorewall/hosts</a>
|
||||
file are you?); or</li>
|
||||
<li>the source and destination hosts are both connected
|
||||
to the same interface and you don't have a policy or rule for the
|
||||
source zone to or from the destination zone.</li>
|
||||
|
||||
</ol>
|
||||
</li>
|
||||
<li>Remember that Shorewall doesn't automatically allow ICMP
|
||||
type 8 ("ping") requests to be sent between zones. If you want pings
|
||||
</li>
|
||||
<li>Remember that Shorewall doesn't automatically allow ICMP
|
||||
type 8 ("ping") requests to be sent between zones. If you want pings
|
||||
to be allowed between zones, you need a rule of the form:<br>
|
||||
<br>
|
||||
ACCEPT <source zone> <destination
|
||||
<br>
|
||||
ACCEPT <source zone> <destination
|
||||
zone> icmp echo-request<br>
|
||||
<br>
|
||||
The ramifications of this can be subtle. For example, if
|
||||
<br>
|
||||
The ramifications of this can be subtle. For example, if
|
||||
you have the following in /etc/shorewall/nat:<br>
|
||||
<br>
|
||||
10.1.1.2 eth0 130.252.100.18<br>
|
||||
<br>
|
||||
and you ping 130.252.100.18, unless you have allowed icmp
|
||||
type 8 between the zone containing the system you are pinging from
|
||||
and the zone containing 10.1.1.2, the ping requests will be dropped. </li>
|
||||
<li>If you specify "routefilter" for an interface, that
|
||||
interface must be up prior to starting the firewall.</li>
|
||||
<li>Is your routing correct? For example, internal systems
|
||||
usually need to be configured with their default gateway set to the
|
||||
IP address of their nearest firewall interface. One often overlooked
|
||||
aspect of routing is that in order for two hosts to communicate, the
|
||||
routing between them must be set up <u>in both directions.</u> So when
|
||||
setting up routing between <b>A</b> and<b> B</b>, be sure to verify
|
||||
that the route from <b>B</b> back to <b>A</b> is defined.</li>
|
||||
<li>Some versions of LRP (EigerStein2Beta for example) have
|
||||
a shell with broken variable expansion. <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/ash.gz"> You can get a corrected
|
||||
shell from the Shorewall Errata download site.</a> </li>
|
||||
<li>Do you have your kernel properly configured? <a
|
||||
<br>
|
||||
10.1.1.2 eth0 130.252.100.18<br>
|
||||
<br>
|
||||
and you ping 130.252.100.18, unless you have allowed icmp
|
||||
type 8 between the zone containing the system you are pinging from
|
||||
and the zone containing 10.1.1.2, the ping requests will be dropped. </li>
|
||||
<li>If you specify "routefilter" for an interface, that
|
||||
interface must be up prior to starting the firewall.</li>
|
||||
<li>Is your routing correct? For example, internal systems
|
||||
usually need to be configured with their default gateway set to
|
||||
the IP address of their nearest firewall interface. One often overlooked
|
||||
aspect of routing is that in order for two hosts to communicate,
|
||||
the routing between them must be set up <u>in both directions.</u>
|
||||
So when setting up routing between <b>A</b> and<b> B</b>, be sure
|
||||
to verify that the route from <b>B</b> back to <b>A</b> is defined.</li>
|
||||
<li>Some versions of LRP (EigerStein2Beta for example) have
|
||||
a shell with broken variable expansion. <a
|
||||
href="ftp://ftp.shorewall.net/pub/shorewall/ash.gz"> You can get a corrected
|
||||
shell from the Shorewall Errata download site.</a> </li>
|
||||
<li>Do you have your kernel properly configured? <a
|
||||
href="kernel.htm">Click here to see my kernel configuration.</a> </li>
|
||||
<li>Shorewall requires the "ip" program. That program
|
||||
is generally included in the "iproute" package which should be included
|
||||
with your distribution (though many distributions don't install iproute
|
||||
by default). You may also download the latest source tarball from <a
|
||||
href="ftp://ftp.inr.ac.ru/ip-routing" target="_blank"> ftp://ftp.inr.ac.ru/ip-routing</a>
|
||||
.</li>
|
||||
<li>Problems with NAT? Be sure that you let Shorewall
|
||||
add all external addresses to be use with NAT unless you have set <a
|
||||
href="Documentation.htm#Aliases"> ADD_IP_ALIASES</a> =No in /etc/shorewall/shorewall.conf.</li>
|
||||
|
||||
<li>Shorewall requires the "ip" program. That program
|
||||
is generally included in the "iproute" package which should be included
|
||||
with your distribution (though many distributions don't install iproute
|
||||
by default). You may also download the latest source tarball from
|
||||
<a href="ftp://ftp.inr.ac.ru/ip-routing" target="_blank"> ftp://ftp.inr.ac.ru/ip-routing</a>
|
||||
.</li>
|
||||
<li>Problems with NAT? Be sure that you let
|
||||
Shorewall add all external addresses to be use with NAT unless you
|
||||
have set <a href="Documentation.htm#Aliases"> ADD_IP_ALIASES</a> =No
|
||||
in /etc/shorewall/shorewall.conf.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>Still Having Problems?</h3>
|
||||
|
||||
|
||||
<p>See the<a href="support.htm"> support page.<br>
|
||||
</a></p>
|
||||
<font face="Century Gothic, Arial, Helvetica">
|
||||
</a></p>
|
||||
<font face="Century Gothic, Arial, Helvetica">
|
||||
<blockquote> </blockquote>
|
||||
</font>
|
||||
</font>
|
||||
<p><font size="2">Last updated 4/29/2003 - Tom Eastep</font> </p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,441 +1,471 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Upgrade Issues</title>
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta name="Microsoft Theme" content="none">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber1"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
|
||||
<h1 align="center"><font color="#ffffff">Upgrade Issues</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<p>For upgrade instructions see the <a
|
||||
href="Install.htm">Install/Upgrade page</a>.<br>
|
||||
</p>
|
||||
|
||||
<p>It is important that you read all of the sections on this page where the
|
||||
version number mentioned in the section title is later than what you
|
||||
are currently running.<br>
|
||||
</p>
|
||||
|
||||
<p> In the descriptions that follows, the term <b><i>group </i></b>refers
|
||||
to a particular network or subnetwork (which may be 0.0.0.0/0 or it may
|
||||
be a host address) accessed through a particular interface.<br>
|
||||
</p>
|
||||
|
||||
<p>Examples:<br>
|
||||
<br>
|
||||
eth0:0.0.0.0/0<br>
|
||||
eth2:192.168.1.0/24<br>
|
||||
eth3:192.0.2.123<br>
|
||||
</p>
|
||||
|
||||
<p> You can use the "shorewall check" command to see the groups associated
|
||||
with each of your zones.<br>
|
||||
</p>
|
||||
|
||||
<h3> </h3>
|
||||
|
||||
<h3>Version >= 1.4.4</h3>
|
||||
If you are upgrading from 1.4.3 and have set the LOGMARKER variable in
|
||||
<a href="Documentation.htm#Conf">/etc/shorewall/shorewall.conf</a>, then
|
||||
you must set the new LOGFORMAT variable appropriately and remove your setting
|
||||
of LOGMARKER<br>
|
||||
<br>
|
||||
<h3>Version 1.4.4<br>
|
||||
</h3>
|
||||
If you have zone names that are 5 characters long, you may experience problems
|
||||
starting Shorewall because the --log-prefix in a logging rule is too long.
|
||||
Upgrade to Version 1.4.4a to fix this problem..<br>
|
||||
|
||||
<h3>Version >= 1.4.2</h3>
|
||||
There are some cases where you may want to handle traffic from a particular
|
||||
group to itself. While I personally think that such a setups are ridiculous,
|
||||
there are two cases covered in this documentation where it can occur:<br>
|
||||
|
||||
<ol>
|
||||
<li><a href="FAQ.htm#faq2">In FAQ #2</a>.</li>
|
||||
<li><a href="Shorewall_Squid_Usage.html">When running Squid as a transparent
|
||||
proxy in your local zone.</a></li>
|
||||
|
||||
</ol>
|
||||
If you have either of these cases, you will want to review the current
|
||||
documentation and change your configuration accordingly.<br>
|
||||
|
||||
<h3>Version >= 1.4.1</h3>
|
||||
|
||||
<ul>
|
||||
<li>Beginning with Version 1.4.1, traffic between groups in the
|
||||
same zone is accepted by default. Previously, traffic from a zone to itself
|
||||
was treated just like any other traffic; any matching rules were applied
|
||||
followed by enforcement of the appropriate policy. With 1.4.1 and later
|
||||
versions, unless you have explicit rules for traffic from Z to Z or you
|
||||
have an explicit Z to Z policy (where "Z" is some zone) then traffic between
|
||||
the groups in zone Z will be accepted. If you do have one or more explicit
|
||||
rules for Z to Z or if you have an explicit Z to Z policy then the behavior
|
||||
is as it was in prior versions.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<blockquote>
|
||||
<ol>
|
||||
<li>If you have a Z Z ACCEPT policy for a zone to allow traffic
|
||||
between two interfaces to the same zone, that policy can be removed and
|
||||
traffic between the interfaces will traverse fewer rules than previously.</li>
|
||||
<li>If you have a Z Z DROP or Z Z REJECT policy or you have Z->Z
|
||||
rules then your configuration should not require any change.</li>
|
||||
<li>If you are currently relying on a implicit policy (one that
|
||||
has "all" in either the SOURCE or DESTINATION column) to prevent traffic
|
||||
between two interfaces to a zone Z and you have no rules for Z->Z then
|
||||
you should add an explicit DROP or REJECT policy for Z to Z.<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
</blockquote>
|
||||
|
||||
<ul>
|
||||
<li> Sometimes, you want two separate zones on one interface but
|
||||
you don't want Shorewall to set up any infrastructure to handle traffic
|
||||
between them. </li>
|
||||
|
||||
</ul>
|
||||
|
||||
<blockquote>Example:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre>/etc/shorewall/zones<br><br>z1 Zone1 The first Zone<br>z2 Zone2 The secont Zone<br><br>/etc/shorewall/interfaces<br><br>z2 eth1 192.168.1.255<br><br>/etc/shorewall/hosts<br><br>z1 eth1:192.168.1.3<br></pre>
|
||||
</blockquote>
|
||||
Here, zone z1 is nested in zone z2 and the firewall is not going to
|
||||
be involved in any traffic between these two zones. Beginning with Shorewall
|
||||
1.4.1, you can prevent Shorewall from setting up any infrastructure to handle
|
||||
traffic between z1 and z2 by using the new NONE policy:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre>/etc/shorewall/policy<br><pre>z1 z2 NONE<br>z2 z1 NONE</pre></pre>
|
||||
</blockquote>
|
||||
Note that NONE policies are generally used in pairs unless there is
|
||||
asymetric routing where only the traffic on one direction flows through
|
||||
the firewall and you are using a NONE polciy in the other direction. </blockquote>
|
||||
</p>
|
||||
|
||||
<h3>Version 1.4.1<br>
|
||||
</h3>
|
||||
<p>It is important that you read all of the sections on this page where the
|
||||
version number mentioned in the section title is later than what you
|
||||
are currently running.<br>
|
||||
</p>
|
||||
|
||||
<p> In the descriptions that follows, the term <b><i>group </i></b>refers
|
||||
to a particular network or subnetwork (which may be 0.0.0.0/0 or it may
|
||||
be a host address) accessed through a particular interface.<br>
|
||||
</p>
|
||||
|
||||
<p>Examples:<br>
|
||||
<br>
|
||||
eth0:0.0.0.0/0<br>
|
||||
eth2:192.168.1.0/24<br>
|
||||
eth3:192.0.2.123<br>
|
||||
</p>
|
||||
|
||||
<p> You can use the "shorewall check" command to see the groups associated
|
||||
with each of your zones.<br>
|
||||
</p>
|
||||
|
||||
<h3> </h3>
|
||||
|
||||
<h3>Version >= 1.4.6</h3>
|
||||
|
||||
<ul>
|
||||
<li> The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT options have been removed
|
||||
from shorewall.conf. These capabilities are now automatically detected by
|
||||
Shorewall.</li>
|
||||
<li>An undocumented <i>feature</i> previously allowed entries in the host
|
||||
file as follows:<br>
|
||||
<br>
|
||||
<i>zone</i> eth1:192.168.1.0/24,eth2:192.168.2.0/24<br>
|
||||
<br>
|
||||
This capability was never documented and has been removed in 1.4.6 to allow
|
||||
entries of the following format:<br>
|
||||
<br>
|
||||
<i>zone</i> eth1:192.168.1.0/24,192.168.2.0/24<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Version >= 1.4.4</h3>
|
||||
If you are upgrading from 1.4.3 and have set the LOGMARKER variable
|
||||
in <a href="Documentation.htm#Conf">/etc/shorewall/shorewall.conf</a>, then
|
||||
you must set the new LOGFORMAT variable appropriately and remove your setting
|
||||
of LOGMARKER<br>
|
||||
<br>
|
||||
|
||||
<h3>Version 1.4.4<br>
|
||||
</h3>
|
||||
If you have zone names that are 5 characters long, you may experience
|
||||
problems starting Shorewall because the --log-prefix in a logging rule
|
||||
is too long. Upgrade to Version 1.4.4a to fix this problem..<br>
|
||||
|
||||
<h3>Version >= 1.4.2</h3>
|
||||
There are some cases where you may want to handle traffic from a particular
|
||||
group to itself. While I personally think that such a setups are ridiculous,
|
||||
there are two cases covered in this documentation where it can occur:<br>
|
||||
|
||||
<ol>
|
||||
<li><a href="FAQ.htm#faq2">In FAQ #2</a>.</li>
|
||||
<li><a href="Shorewall_Squid_Usage.html">When running Squid as a
|
||||
transparent proxy in your local zone.</a></li>
|
||||
|
||||
</ol>
|
||||
If you have either of these cases, you will want to review the current
|
||||
documentation and change your configuration accordingly.<br>
|
||||
|
||||
<h3>Version >= 1.4.1</h3>
|
||||
|
||||
<ul>
|
||||
<li>In Version 1.4.1, Shorewall will never create rules to deal
|
||||
with traffic from a given group back to itself. The <i>multi</i> interface
|
||||
option is no longer available so if you want to route traffic between two
|
||||
subnetworks on the same interface then I recommend that you upgrade to Version
|
||||
1.4.2 and use the 'routeback' interface or host option. </li>
|
||||
|
||||
<li>Beginning with Version 1.4.1, traffic between groups in
|
||||
the same zone is accepted by default. Previously, traffic from a zone
|
||||
to itself was treated just like any other traffic; any matching rules
|
||||
were applied followed by enforcement of the appropriate policy. With 1.4.1
|
||||
and later versions, unless you have explicit rules for traffic from Z
|
||||
to Z or you have an explicit Z to Z policy (where "Z" is some zone) then
|
||||
traffic between the groups in zone Z will be accepted. If you do have one
|
||||
or more explicit rules for Z to Z or if you have an explicit Z to Z policy
|
||||
then the behavior is as it was in prior versions.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<blockquote>
|
||||
<ol>
|
||||
<li>If you have a Z Z ACCEPT policy for a zone to allow traffic
|
||||
between two interfaces to the same zone, that policy can be removed
|
||||
and traffic between the interfaces will traverse fewer rules than previously.</li>
|
||||
<li>If you have a Z Z DROP or Z Z REJECT policy or you have
|
||||
Z->Z rules then your configuration should not require any change.</li>
|
||||
<li>If you are currently relying on a implicit policy (one
|
||||
that has "all" in either the SOURCE or DESTINATION column) to prevent
|
||||
traffic between two interfaces to a zone Z and you have no rules for
|
||||
Z->Z then you should add an explicit DROP or REJECT policy for Z to
|
||||
Z.<br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
</blockquote>
|
||||
|
||||
<ul>
|
||||
<li> Sometimes, you want two separate zones on one interface but
|
||||
you don't want Shorewall to set up any infrastructure to handle traffic
|
||||
between them. </li>
|
||||
|
||||
</ul>
|
||||
|
||||
<blockquote>Example:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre>/etc/shorewall/zones<br><br>z1 Zone1 The first Zone<br>z2 Zone2 The secont Zone<br><br>/etc/shorewall/interfaces<br><br>z2 eth1 192.168.1.255<br><br>/etc/shorewall/hosts<br><br>z1 eth1:192.168.1.3<br></pre>
|
||||
</blockquote>
|
||||
Here, zone z1 is nested in zone z2 and the firewall is not going
|
||||
to be involved in any traffic between these two zones. Beginning with
|
||||
Shorewall 1.4.1, you can prevent Shorewall from setting up any infrastructure
|
||||
to handle traffic between z1 and z2 by using the new NONE policy:<br>
|
||||
|
||||
<blockquote>
|
||||
<pre>/etc/shorewall/policy<br><pre>z1 z2 NONE<br>z2 z1 NONE</pre></pre>
|
||||
</blockquote>
|
||||
Note that NONE policies are generally used in pairs unless there
|
||||
is asymetric routing where only the traffic on one direction flows through
|
||||
the firewall and you are using a NONE polciy in the other direction. </blockquote>
|
||||
|
||||
<h3>Version 1.4.1<br>
|
||||
</h3>
|
||||
|
||||
<ul>
|
||||
<li>In Version 1.4.1, Shorewall will never create rules to
|
||||
deal with traffic from a given group back to itself. The <i>multi</i>
|
||||
interface option is no longer available so if you want to route traffic
|
||||
between two subnetworks on the same interface then I recommend that you
|
||||
upgrade to Version 1.4.2 and use the 'routeback' interface or host option. </li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Version >= 1.4.0</h3>
|
||||
<b>IMPORTANT: Shorewall >=1.4.0 </b><b>requires</b> <b>the
|
||||
iproute package ('ip' utility).</b><br>
|
||||
<b>IMPORTANT: Shorewall >=1.4.0 </b><b>requires</b> <b>the
|
||||
iproute package ('ip' utility).</b><br>
|
||||
<br>
|
||||
<b>Note: </b>Unfortunately, some distributions call this package
|
||||
iproute2 which will cause the upgrade of Shorewall to fail with the
|
||||
diagnostic:<br>
|
||||
<br>
|
||||
error: failed dependencies:iproute is needed by shorewall-1.4.0-1
|
||||
<br>
|
||||
<b>Note: </b>Unfortunately, some distributions call this package
|
||||
iproute2 which will cause the upgrade of Shorewall to fail with the diagnostic:<br>
|
||||
<br>
|
||||
error: failed dependencies:iproute is needed by shorewall-1.4.0-1
|
||||
<br>
|
||||
<br>
|
||||
This may be worked around by using the --nodeps option of rpm (rpm
|
||||
-Uvh --nodeps <shorewall rpm>).<br>
|
||||
<br>
|
||||
If you are upgrading from a version < 1.4.0, then:<br>
|
||||
|
||||
<br>
|
||||
This may be worked around by using the --nodeps option of rpm
|
||||
(rpm -Uvh --nodeps <shorewall rpm>).<br>
|
||||
<br>
|
||||
If you are upgrading from a version < 1.4.0, then:<br>
|
||||
|
||||
<ul>
|
||||
<li>The <b>noping </b>and <b>forwardping</b> interface options
|
||||
are no longer supported nor is the <b>FORWARDPING </b>option in shorewall.conf.
|
||||
ICMP echo-request (ping) packets are treated just like any other connection
|
||||
request and are subject to rules and policies.</li>
|
||||
<li>Interface names of the form <device>:<integer>
|
||||
in /etc/shorewall/interfaces now generate a Shorewall error at startup
|
||||
(they always have produced warnings in iptables).</li>
|
||||
<li>The MERGE_HOSTS variable has been removed from shorewall.conf.
|
||||
Shorewall 1.4 behaves like 1.3 did when MERGE_HOSTS=Yes; that is zone
|
||||
contents are determined by BOTH the interfaces and hosts files when there
|
||||
are entries for the zone in both files.</li>
|
||||
<li>The <b>routestopped</b> option in the interfaces and
|
||||
hosts file has been eliminated; use entries in the routestopped file
|
||||
instead.</li>
|
||||
<li>The Shorewall 1.2 syntax for DNAT and REDIRECT rules
|
||||
is no longer accepted; you must convert to using the new syntax.</li>
|
||||
<li value="6">The ALLOWRELATED variable in shorewall.conf
|
||||
is no longer supported. Shorewall 1.4 behavior is the same as 1.3
|
||||
<li>The <b>noping </b>and <b>forwardping</b> interface
|
||||
options are no longer supported nor is the <b>FORWARDPING </b>option
|
||||
in shorewall.conf. ICMP echo-request (ping) packets are treated just
|
||||
like any other connection request and are subject to rules and policies.</li>
|
||||
<li>Interface names of the form <device>:<integer>
|
||||
in /etc/shorewall/interfaces now generate a Shorewall error at startup
|
||||
(they always have produced warnings in iptables).</li>
|
||||
<li>The MERGE_HOSTS variable has been removed from shorewall.conf.
|
||||
Shorewall 1.4 behaves like 1.3 did when MERGE_HOSTS=Yes; that is zone
|
||||
contents are determined by BOTH the interfaces and hosts files when
|
||||
there are entries for the zone in both files.</li>
|
||||
<li>The <b>routestopped</b> option in the interfaces
|
||||
and hosts file has been eliminated; use entries in the routestopped
|
||||
file instead.</li>
|
||||
<li>The Shorewall 1.2 syntax for DNAT and REDIRECT rules
|
||||
is no longer accepted; you must convert to using the new syntax.</li>
|
||||
<li value="6">The ALLOWRELATED variable in shorewall.conf
|
||||
is no longer supported. Shorewall 1.4 behavior is the same as 1.3
|
||||
with ALLOWRELATED=Yes.</li>
|
||||
<li value="6">Late-arriving DNS replies are now dropped
|
||||
by default; there is no need for your own /etc/shorewall/common file
|
||||
simply to avoid logging these packets.</li>
|
||||
<li value="6">The 'firewall', 'functions' and 'version'
|
||||
file have been moved to /usr/share/shorewall.</li>
|
||||
<li value="6">The icmp.def file has been removed. If you
|
||||
include it from /etc/shorewall/icmpdef, you will need to modify that
|
||||
file.</li>
|
||||
|
||||
<li value="6">Late-arriving DNS replies are now dropped
|
||||
by default; there is no need for your own /etc/shorewall/common file
|
||||
simply to avoid logging these packets.</li>
|
||||
<li value="6">The 'firewall', 'functions' and 'version'
|
||||
file have been moved to /usr/share/shorewall.</li>
|
||||
<li value="6">The icmp.def file has been removed. If you
|
||||
include it from /etc/shorewall/icmpdef, you will need to modify that
|
||||
file.</li>
|
||||
|
||||
<ul>
|
||||
|
||||
|
||||
</ul>
|
||||
<li>If you followed the advice in FAQ #2 and call find_interface_address
|
||||
in /etc/shorewall/params, that code should be moved to /etc/shorewall/init.<br>
|
||||
</li>
|
||||
|
||||
<li>If you followed the advice in FAQ #2 and call find_interface_address
|
||||
in /etc/shorewall/params, that code should be moved to /etc/shorewall/init.<br>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<ul>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>Version 1.4.0</h3>
|
||||
|
||||
|
||||
<ul>
|
||||
<li value="8">The 'multi' interface option is no longer supported.
|
||||
Shorewall will generate rules for sending packets back out the same
|
||||
interface that they arrived on in two cases:</li>
|
||||
|
||||
<li value="8">The 'multi' interface option is no longer supported.
|
||||
Shorewall will generate rules for sending packets back out the same
|
||||
interface that they arrived on in two cases:</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<ul>
|
||||
<li>There is an <u>explicit</u> policy for the source zone to
|
||||
or from the destination zone. An explicit policy names both zones and
|
||||
does not use the 'all' reserved word.</li>
|
||||
|
||||
<li>There is an <u>explicit</u> policy for the source zone
|
||||
to or from the destination zone. An explicit policy names both zones
|
||||
and does not use the 'all' reserved word.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>There are one or more rules for traffic for the source zone
|
||||
to or from the destination zone including rules that use the 'all' reserved
|
||||
word. Exception: if the source zone and destination zone are the same
|
||||
then the rule must be explicit - it must name the zone in both the SOURCE
|
||||
and DESTINATION columns.</li>
|
||||
|
||||
<li>There are one or more rules for traffic for the source
|
||||
zone to or from the destination zone including rules that use the 'all'
|
||||
reserved word. Exception: if the source zone and destination zone are
|
||||
the same then the rule must be explicit - it must name the zone in both
|
||||
the SOURCE and DESTINATION columns.</li>
|
||||
|
||||
</ul>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<h3>Version >= 1.3.14</h3>
|
||||
<img src="images/BD21298_3.gif" alt="" width="13"
|
||||
<img src="images/BD21298_3.gif" alt="" width="13"
|
||||
height="13">
|
||||
Beginning in version 1.3.14, Shorewall treats entries
|
||||
in <a href="Documentation.htm#Masq">/etc/shorewall/masq </a>differently.
|
||||
The change involves entries with an <b>interface name</b> in the <b>SUBNET</b>
|
||||
(second) <b>column</b>:<br>
|
||||
|
||||
Beginning in version 1.3.14, Shorewall treats entries
|
||||
in <a href="Documentation.htm#Masq">/etc/shorewall/masq </a>differently.
|
||||
The change involves entries with an <b>interface name</b> in the <b>SUBNET</b>
|
||||
(second) <b>column</b>:<br>
|
||||
|
||||
<ul>
|
||||
<li>Prior to 1.3.14, Shorewall would detect the FIRST
|
||||
subnet on the interface (as shown by "ip addr show <i>interface</i>")
|
||||
and would masquerade traffic from that subnet. Any other subnets that
|
||||
routed through eth1 needed their own entry in /etc/shorewall/masq to
|
||||
be masqueraded or to have SNAT applied.</li>
|
||||
<li>Beginning with Shorewall 1.3.14, Shorewall uses the
|
||||
firewall's routing table to determine ALL subnets routed through
|
||||
the named interface. Traffic originating in ANY of those subnets
|
||||
is masqueraded or has SNAT applied.</li>
|
||||
|
||||
<li>Prior to 1.3.14, Shorewall would detect the FIRST
|
||||
subnet on the interface (as shown by "ip addr show <i>interface</i>")
|
||||
and would masquerade traffic from that subnet. Any other subnets that
|
||||
routed through eth1 needed their own entry in /etc/shorewall/masq to
|
||||
be masqueraded or to have SNAT applied.</li>
|
||||
<li>Beginning with Shorewall 1.3.14, Shorewall uses
|
||||
the firewall's routing table to determine ALL subnets routed through
|
||||
the named interface. Traffic originating in ANY of those subnets is
|
||||
masqueraded or has SNAT applied.</li>
|
||||
|
||||
</ul>
|
||||
You will need to make a change to your configuration if:<br>
|
||||
|
||||
You will need to make a change to your configuration
|
||||
if:<br>
|
||||
|
||||
<ol>
|
||||
<li>You have one or more entries in /etc/shorewall/masq
|
||||
with an interface name in the SUBNET (second) column; and</li>
|
||||
<li>That interface connects to more than one subnetwork.</li>
|
||||
|
||||
<li>You have one or more entries in /etc/shorewall/masq
|
||||
with an interface name in the SUBNET (second) column; and</li>
|
||||
<li>That interface connects to more than one subnetwork.</li>
|
||||
|
||||
</ol>
|
||||
Two examples:<br>
|
||||
<br>
|
||||
<b>Example 1</b> -- Suppose that your current config is
|
||||
as follows:<br>
|
||||
<br>
|
||||
|
||||
Two examples:<br>
|
||||
<br>
|
||||
<b>Example 1</b> -- Suppose that your current config
|
||||
is as follows:<br>
|
||||
<br>
|
||||
|
||||
<pre> [root@gateway test]# cat /etc/shorewall/masq<br> #INTERFACE SUBNET ADDRESS<br> eth0 eth2 206.124.146.176<br> eth0 192.168.10.0/24 206.124.146.176<br> #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE<br> [root@gateway test]# ip route show dev eth2<br> 192.168.1.0/24 scope link<br> 192.168.10.0/24 proto kernel scope link src 192.168.10.254<br> [root@gateway test]#</pre>
|
||||
|
||||
<blockquote>In this case, the second entry in /etc/shorewall/masq is no longer
|
||||
required.<br>
|
||||
</blockquote>
|
||||
<b>Example 2</b>-- What if your current configuration is
|
||||
like this?<br>
|
||||
|
||||
|
||||
<blockquote>In this case, the second entry in /etc/shorewall/masq is no longer
|
||||
required.<br>
|
||||
</blockquote>
|
||||
<b>Example 2</b>-- What if your current configuration
|
||||
is like this?<br>
|
||||
|
||||
<pre> [root@gateway test]# cat /etc/shorewall/masq <br> #INTERFACE SUBNET ADDRESS <br> eth0 eth2 206.124.146.176<br> #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE <br> [root@gateway test]# ip route show dev eth2 <br> 192.168.1.0/24 scope link<br> 192.168.10.0/24 proto kernel scope link src 192.168.10.254 <br> [root@gateway test]#</pre>
|
||||
|
||||
<blockquote>In this case, you would want to change the entry in /etc/shorewall/masq
|
||||
to:<br>
|
||||
</blockquote>
|
||||
|
||||
|
||||
<blockquote>In this case, you would want to change the entry in /etc/shorewall/masq
|
||||
to:<br>
|
||||
</blockquote>
|
||||
|
||||
<pre> #INTERFACE SUBNET ADDRESS <br> eth0 192.168.1.0/24 206.124.146.176<br> #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE</pre>
|
||||
<img src="images/BD21298_3.gif" alt="" width="13"
|
||||
<img src="images/BD21298_3.gif" alt="" width="13"
|
||||
height="13">
|
||||
Version 1.3.14 also introduced simplified ICMP echo-request
|
||||
(ping) handling. The option OLD_PING_HANDLING=Yes in /etc/shorewall/shorewall.conf
|
||||
is used to specify that the old (pre-1.3.14) ping handling is to
|
||||
be used (If the option is not set in your /etc/shorewall/shorewall.conf
|
||||
then OLD_PING_HANDLING=Yes is assumed). I don't plan on supporting
|
||||
the old handling indefinitely so I urge current users to migrate to using
|
||||
the new handling as soon as possible. See the <a href="ping.html">'Ping'
|
||||
handling documentation</a> for details.<br>
|
||||
|
||||
Version 1.3.14 also introduced simplified ICMP echo-request
|
||||
(ping) handling. The option OLD_PING_HANDLING=Yes in /etc/shorewall/shorewall.conf
|
||||
is used to specify that the old (pre-1.3.14) ping handling is to
|
||||
be used (If the option is not set in your /etc/shorewall/shorewall.conf
|
||||
then OLD_PING_HANDLING=Yes is assumed). I don't plan on supporting
|
||||
the old handling indefinitely so I urge current users to migrate to using
|
||||
the new handling as soon as possible. See the <a href="ping.html">'Ping'
|
||||
handling documentation</a> for details.<br>
|
||||
|
||||
<h3>Version 1.3.10</h3>
|
||||
If you have installed the 1.3.10 Beta 1 RPM and are now
|
||||
upgrading to version 1.3.10, you will need to use the '--force' option:<br>
|
||||
<br>
|
||||
|
||||
<blockquote>
|
||||
If you have installed the 1.3.10 Beta 1 RPM and are
|
||||
now upgrading to version 1.3.10, you will need to use the '--force'
|
||||
option:<br>
|
||||
<br>
|
||||
|
||||
<blockquote>
|
||||
<pre>rpm -Uvh --force shorewall-1.3.10-1.noarch.rpm </pre>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<h3>Version >= 1.3.9</h3>
|
||||
The 'functions' file has moved to /usr/lib/shorewall/functions.
|
||||
If you have an application that uses functions from that file, your
|
||||
application will need to be changed to reflect this change of location.<br>
|
||||
|
||||
The 'functions' file has moved to /usr/lib/shorewall/functions.
|
||||
If you have an application that uses functions from that file, your
|
||||
application will need to be changed to reflect this change of location.<br>
|
||||
|
||||
<h3>Version >= 1.3.8</h3>
|
||||
|
||||
<p>If you have a pair of firewall systems configured for failover
|
||||
or if you have asymmetric routing, you will need to modify
|
||||
|
||||
<p>If you have a pair of firewall systems configured for failover
|
||||
or if you have asymmetric routing, you will need to modify
|
||||
your firewall setup slightly under Shorewall
|
||||
versions >= 1.3.8. Beginning with version 1.3.8,
|
||||
you must set NEWNOTSYN=Yes in your
|
||||
/etc/shorewall/shorewall.conf file.</p>
|
||||
|
||||
versions >= 1.3.8. Beginning with version 1.3.8,
|
||||
you must set NEWNOTSYN=Yes in your
|
||||
/etc/shorewall/shorewall.conf file.</p>
|
||||
|
||||
<h3>Version >= 1.3.7</h3>
|
||||
|
||||
<p>Users specifying ALLOWRELATED=No in /etc/shorewall.conf
|
||||
will need to include the following
|
||||
rules in their /etc/shorewall/icmpdef file (creating this
|
||||
file if necessary):</p>
|
||||
|
||||
|
||||
<p>Users specifying ALLOWRELATED=No in /etc/shorewall.conf
|
||||
will need to include the following
|
||||
rules in their /etc/shorewall/icmpdef file (creating this
|
||||
file if necessary):</p>
|
||||
|
||||
<pre> run_iptables -A icmpdef -p ICMP --icmp-type echo-reply -j ACCEPT<br> run_iptables -A icmpdef -p ICMP --icmp-type source-quench -j ACCEPT<br> run_iptables -A icmpdef -p ICMP --icmp-type destination-unreachable -j ACCEPT<br> run_iptables -A icmpdef -p ICMP --icmp-type time-exceeded -j ACCEPT<br> run_iptables -A icmpdef -p ICMP --icmp-type parameter-problem -j ACCEPT</pre>
|
||||
|
||||
<p>Users having an /etc/shorewall/icmpdef file may remove the ". /etc/shorewall/icmp.def"
|
||||
command from that file since the icmp.def file is now empty.</p>
|
||||
|
||||
|
||||
<p>Users having an /etc/shorewall/icmpdef file may remove the ". /etc/shorewall/icmp.def"
|
||||
command from that file since the icmp.def file is now empty.</p>
|
||||
|
||||
<h3><b><a name="Bering">Upgrading </a>Bering to Shorewall >= 1.3.3</b></h3>
|
||||
|
||||
|
||||
<p>To properly upgrade with Shorewall version 1.3.3 and later:</p>
|
||||
|
||||
|
||||
<ol>
|
||||
<li>Be sure you have
|
||||
a backup -- you will need to transcribe
|
||||
any Shorewall configuration changes
|
||||
that you have made to the new configuration.</li>
|
||||
<li>Replace the shorwall.lrp
|
||||
package provided on the Bering
|
||||
floppy with the later one. If you did
|
||||
not obtain the later version from Jacques's site, see additional
|
||||
instructions below.</li>
|
||||
<li>Edit the /var/lib/lrpkg/root.exclude.list
|
||||
file and remove the /var/lib/shorewall
|
||||
entry if present. Then do not
|
||||
<li>Be sure you
|
||||
have a backup -- you will need
|
||||
to transcribe any Shorewall configuration
|
||||
changes that you have made to the new
|
||||
configuration.</li>
|
||||
<li>Replace the
|
||||
shorwall.lrp package provided on
|
||||
the Bering floppy with the later one. If you did
|
||||
not obtain the later version from Jacques's site,
|
||||
see additional instructions below.</li>
|
||||
<li>Edit the /var/lib/lrpkg/root.exclude.list
|
||||
file and remove the /var/lib/shorewall
|
||||
entry if present. Then do not
|
||||
forget to backup root.lrp !</li>
|
||||
|
||||
|
||||
</ol>
|
||||
|
||||
<p>The .lrp that I release isn't set up for a two-interface firewall like
|
||||
Jacques's. You need to follow the <a
|
||||
href="two-interface.htm">instructions for setting up a two-interface
|
||||
firewall</a> plus you also need to add the following two Bering-specific
|
||||
rules to /etc/shorewall/rules:</p>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<p>The .lrp that I release isn't set up for a two-interface firewall like
|
||||
Jacques's. You need to follow the <a
|
||||
href="two-interface.htm">instructions for setting up a two-interface
|
||||
firewall</a> plus you also need to add the following two Bering-specific
|
||||
rules to /etc/shorewall/rules:</p>
|
||||
|
||||
<blockquote>
|
||||
<pre># Bering specific rules:<br># allow loc to fw udp/53 for dnscache to work<br># allow loc to fw tcp/80 for weblet to work<br>#<br>ACCEPT loc fw udp 53<br>ACCEPT loc fw tcp 80</pre>
|
||||
</blockquote>
|
||||
|
||||
</blockquote>
|
||||
|
||||
<h3 align="left">Version 1.3.6 and 1.3.7</h3>
|
||||
|
||||
<p align="left">If you have a pair of firewall systems configured for
|
||||
failover or if you have asymmetric routing, you will need to modify
|
||||
your firewall setup slightly under Shorewall versions 1.3.6
|
||||
and 1.3.7</p>
|
||||
|
||||
|
||||
<p align="left">If you have a pair of firewall systems configured for
|
||||
failover or if you have asymmetric routing, you will need to modify
|
||||
your firewall setup slightly under Shorewall versions
|
||||
1.3.6 and 1.3.7</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<p align="left">Create the file /etc/shorewall/newnotsyn and in it add
|
||||
the following rule<br>
|
||||
<br>
|
||||
<font face="Courier">run_iptables -A newnotsyn
|
||||
-j RETURN # So that the connection tracking table can
|
||||
be rebuilt<br>
|
||||
# from
|
||||
non-SYN packets after takeover.<br>
|
||||
</font> </p>
|
||||
</li>
|
||||
<li>
|
||||
<p align="left">Create /etc/shorewall/common (if you don't already
|
||||
have that file) and include the following:<br>
|
||||
<br>
|
||||
<font face="Courier">run_iptables -A common
|
||||
-p tcp --tcp-flags ACK,FIN,RST ACK -j ACCEPT #Accept
|
||||
Acks to rebuild connection<br>
|
||||
|
||||
#tracking table. <br>
|
||||
. /etc/shorewall/common.def</font> </p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<p align="left">Create the file /etc/shorewall/newnotsyn and in it add
|
||||
the following rule<br>
|
||||
<br>
|
||||
<font face="Courier">run_iptables -A
|
||||
newnotsyn -j RETURN # So that the connection tracking
|
||||
table can be rebuilt<br>
|
||||
|
||||
# from non-SYN packets after takeover.<br>
|
||||
</font> </p>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<p align="left">Create /etc/shorewall/common (if you don't already
|
||||
have that file) and include the following:<br>
|
||||
<br>
|
||||
<font face="Courier">run_iptables -A
|
||||
common -p tcp --tcp-flags ACK,FIN,RST ACK -j ACCEPT
|
||||
#Accept Acks to rebuild connection<br>
|
||||
|
||||
#tracking table. <br>
|
||||
. /etc/shorewall/common.def</font> </p>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
||||
<h3 align="left">Versions >= 1.3.5</h3>
|
||||
|
||||
<p align="left">Some forms of pre-1.3.0 rules file syntax are no longer
|
||||
supported. </p>
|
||||
|
||||
|
||||
<p align="left">Some forms of pre-1.3.0 rules file syntax are no longer
|
||||
supported. </p>
|
||||
|
||||
<p align="left">Example 1:</p>
|
||||
|
||||
<div align="left">
|
||||
|
||||
<div align="left">
|
||||
<pre> ACCEPT net loc:192.168.1.12:22 tcp 11111 - all</pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<p align="left">Must be replaced with:</p>
|
||||
|
||||
<div align="left">
|
||||
|
||||
<div align="left">
|
||||
<pre> DNAT net loc:192.168.1.12:22 tcp 11111</pre>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Example 2:</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<pre> ACCEPT loc fw::3128 tcp 80 - all</pre>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<p align="left">Must be replaced with:</p>
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
</div>
|
||||
|
||||
<div align="left">
|
||||
<pre> REDIRECT loc 3128 tcp 80</pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<h3 align="left">Version >= 1.3.2</h3>
|
||||
|
||||
<p align="left">The functions and versions files together with the 'firewall'
|
||||
symbolic link have moved from /etc/shorewall to /var/lib/shorewall.
|
||||
If you have applications that access these files, those applications
|
||||
should be modified accordingly.</p>
|
||||
|
||||
<p><font size="2"> Last updated 5/27/2003 - <a href="support.htm">Tom Eastep</a></font>
|
||||
</p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
|
||||
<p align="left">The functions and versions files together with the 'firewall'
|
||||
symbolic link have moved from /etc/shorewall to /var/lib/shorewall.
|
||||
If you have applications that access these files, those
|
||||
applications should be modified accordingly.</p>
|
||||
|
||||
<p><font size="2"> Last updated 6/29/2003 - <a href="support.htm">Tom
|
||||
Eastep</a></font> </p>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002, 2003 Thomas M. Eastep.</font></a></font><br>
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,61 +2,62 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Useful Links</title>
|
||||
|
||||
|
||||
<meta http-equiv="content-type"
|
||||
content="text/html; charset=ISO-8859-1">
|
||||
|
||||
|
||||
<meta name="author" content="Tom Eastep">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" width="100%" id="AutoNumber4"
|
||||
bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Useful Links</font><br>
|
||||
</h1>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</h1>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<br>
|
||||
|
||||
<h3>NetFilter Site: <a href="http://www.netfilter.org">http://www.netfilter.org<img
|
||||
src="images/netfilterlogo.png" alt="Netfilter Logo" width="94"
|
||||
height="33" hspace="4" align="middle" border="0">
|
||||
</a></h3>
|
||||
|
||||
</a></h3>
|
||||
|
||||
<h3>Linux Advanced Routing and Traffic Control Howto: <a
|
||||
href="http://ds9a.nl/lartc">http://ds9a.nl/lartc</a></h3>
|
||||
|
||||
|
||||
<h3>Iproute Downloads: <a href="ftp://ftp.inr.ac.ru/ip-routing">ftp://ftp.inr.ac.ru/ip-routing</a></h3>
|
||||
|
||||
|
||||
<h3>LEAF Site: <a href="http://leaf-project.org">http://leaf-project.org<img
|
||||
src="images/leaflogo.jpg" alt="Leaf Logo" width="64" height="48"
|
||||
align="middle" hspace="4" border="0">
|
||||
</a></h3>
|
||||
|
||||
</a></h3>
|
||||
|
||||
<h3>Bering LEAF Distribution: <a
|
||||
href="http://leaf.sourceforge.net/devel/jnilo"> http://leaf.sourceforge.net/devel/jnilo</a></h3>
|
||||
|
||||
|
||||
<h3>Debian apt-get sources for Shorewall: <a
|
||||
href="http://security.dsi.unimi.it/%7Elorenzo/debian.html">http://security.dsi.unimi.it/~lorenzo/debian.html<img
|
||||
src="images/openlogo-nd-50.png" alt="Open Logo" width="25" height="30"
|
||||
align="middle" hspace="4" border="0">
|
||||
<img src="images/debian.jpg" alt="Debian Logo" width="88" height="30"
|
||||
<img src="images/debian.jpg" alt="Debian Logo" width="88" height="30"
|
||||
align="middle" border="0">
|
||||
</a><br>
|
||||
</h3>
|
||||
<br>
|
||||
<font size="2">Last updated 9/16/2002 - <a href="support.htm">Tom Eastep</a></font>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
</a><br>
|
||||
</h3>
|
||||
<br>
|
||||
<font size="2">Last updated 9/16/2002 - <a href="support.htm">Tom Eastep</a></font>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2001, 2002 Thomas M. Eastep.</font></a></font></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
@ -1,326 +1,309 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
|
||||
|
||||
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
|
||||
|
||||
|
||||
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||||
|
||||
|
||||
<meta http-equiv="Content-Type"
|
||||
content="text/html; charset=windows-1252">
|
||||
<title>Whitelisting under Shorewall</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="border-collapse: collapse;" bordercolor="#111111" width="100%"
|
||||
id="AutoNumber1" bgcolor="#400169" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
id="AutoNumber1" bgcolor="#3366ff" height="90">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<h1 align="center"><font color="#ffffff">Whitelisting under Shorewall</font></h1>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p align="left">For a brief time, the 1.2 version of Shorewall supported an
|
||||
/etc/shorewall/whitelist file. This file was intended to contain a list of
|
||||
IP addresses of hosts whose POLICY to all zones was ACCEPT. The whitelist
|
||||
file was implemented as a stop-gap measure until the facilities necessary
|
||||
for implementing white lists using zones was in place. As of Version 1.3
|
||||
|
||||
<p align="left">For a brief time, the 1.2 version of Shorewall supported
|
||||
an /etc/shorewall/whitelist file. This file was intended to contain a list
|
||||
of IP addresses of hosts whose POLICY to all zones was ACCEPT. The whitelist
|
||||
file was implemented as a stop-gap measure until the facilities necessary
|
||||
for implementing white lists using zones was in place. As of Version 1.3
|
||||
RC1, those facilities were available.</p>
|
||||
|
||||
<p align="left">White lists are most often used to give special privileges
|
||||
to a set of hosts within an organization. Let us suppose that we have the
|
||||
|
||||
<p align="left">White lists are most often used to give special privileges
|
||||
to a set of hosts within an organization. Let us suppose that we have the
|
||||
following environment:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>A firewall with three interfaces -- one to the internet, one to
|
||||
a local network and one to a DMZ.</li>
|
||||
<li>The local network uses SNAT to the internet and is comprised of
|
||||
the class B network 10.10.0.0/16 (Note: While this example uses an RFC 1918
|
||||
local network, the technique described here in no way depends on that or
|
||||
on SNAT. It may be used with Proxy ARP, Subnet Routing, Static NAT, etc.).</li>
|
||||
<li>The network operations staff have workstations with IP addresses
|
||||
<li>A firewall with three interfaces -- one to the internet, one
|
||||
to a local network and one to a DMZ.</li>
|
||||
<li>The local network uses SNAT to the internet and is comprised
|
||||
of the class B network 10.10.0.0/16 (Note: While this example uses an RFC
|
||||
1918 local network, the technique described here in no way depends on
|
||||
that or on SNAT. It may be used with Proxy ARP, Subnet Routing, Static
|
||||
NAT, etc.).</li>
|
||||
<li>The network operations staff have workstations with IP addresses
|
||||
in the class C network 10.10.10.0/24</li>
|
||||
<li>We want the network operations staff to have full access to all
|
||||
<li>We want the network operations staff to have full access to all
|
||||
other hosts.</li>
|
||||
<li>We want the network operations staff to bypass the transparent
|
||||
HTTP proxy running on our firewall.</li>
|
||||
|
||||
<li>We want the network operations staff to bypass the transparent
|
||||
HTTP proxy running on our firewall.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p align="left">The basic approach will be that we will place the operations
|
||||
staff's class C in its own zone called <b>ops</b>. Here are the appropriate
|
||||
|
||||
<p align="left">The basic approach will be that we will place the operations
|
||||
staff's class C in its own zone called <b>ops</b>. Here are the appropriate
|
||||
configuration files:</p>
|
||||
|
||||
|
||||
<h2 align="left">Zone File</h2>
|
||||
|
||||
<blockquote>
|
||||
|
||||
<blockquote>
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b> ZONE</b></td>
|
||||
<td><b> DISPLAY</b></td>
|
||||
<td><b> COMMENTS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>Net</td>
|
||||
<td>Internet</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ops</td>
|
||||
<td>Operations</td>
|
||||
<td>Operations Staff's Class C</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>Local</td>
|
||||
<td>Local Class B</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>dmz</td>
|
||||
<td>DMZ</td>
|
||||
<td>Demilitarized zone</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>The <b>ops </b>zone has been added to the standard 3-zone zones file --
|
||||
since <b>ops</b> is a sub-zone of <b>loc</b>, we list it <u>BEFORE</u> <b>loc</b>.</p>
|
||||
|
||||
<h2>Interfaces File</h2>
|
||||
|
||||
<blockquote>
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b> ZONE</b></td>
|
||||
<td><b> INTERFACE</b></td>
|
||||
<td><b> BROADCAST</b></td>
|
||||
<td><b> OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>eth0</td>
|
||||
<td><whatever></td>
|
||||
<td><options></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>dmz</td>
|
||||
<td>eth1</td>
|
||||
<td><whatever></td>
|
||||
<td><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-</td>
|
||||
<td>eth2</td>
|
||||
<td>10.10.255.255</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>Because <b>eth2</b> interfaces to two zones (<b>ops</b> and <b>loc)</b>,
|
||||
we don't specify a zone for it here.</p>
|
||||
|
||||
<h2>Hosts File</h2>
|
||||
|
||||
<blockquote> <font face="Century Gothic, Arial, Helvetica">
|
||||
</font>
|
||||
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b> ZONE</b></td>
|
||||
<td><b> HOST(S)</b></td>
|
||||
<td><b> OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ops</td>
|
||||
<td>eth2:10.10.10.0/24</td>
|
||||
<td><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>eth2:0.0.0.0/0</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>Here we define the <b>ops</b> and <b>loc</b> zones. When Shorewall is
|
||||
stopped, only the hosts in the <b>ops</b> zone will be allowed to access the
|
||||
firewall and the DMZ. I use 0.0.0.0/0 to define the <b>loc</b> zone rather
|
||||
than 10.10.0.0/16 so that the limited broadcast address (255.255.255.255)
|
||||
falls into that zone. If I used 10.10.0.0/16 then I would have to have a
|
||||
separate entry for that special address.</p>
|
||||
|
||||
<h2>Policy File</h2>
|
||||
|
||||
<blockquote> <font face="Century Gothic, Arial, Helvetica">
|
||||
</font>
|
||||
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b> POLICY</b></td>
|
||||
<td><b> LOG LEVEL</b></td>
|
||||
<td><b>LIMIT:BURST</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><font color="#0000ff">ops</font></td>
|
||||
<td><font color="#0000ff">all</font></td>
|
||||
<td><font color="#0000ff">ACCEPT</font></td>
|
||||
|
||||
<td> </td>
|
||||
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><font color="#0000ff">all</font></td>
|
||||
<td><font color="#0000ff">ops</font></td>
|
||||
<td><font color="#0000ff">CONTINUE</font></td>
|
||||
|
||||
<td> </td>
|
||||
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>net</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>all</td>
|
||||
<td>DROP</td>
|
||||
<td>info</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>all</td>
|
||||
<td>all</td>
|
||||
<td>REJECT</td>
|
||||
<td>info</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>Two entries for <b>ops</b> have been added to the standard 3-zone policy
|
||||
file.<font color="#ff0000"><b></b></font></p>
|
||||
|
||||
<h2>Rules File</h2>
|
||||
|
||||
<blockquote> <font face="Century Gothic, Arial, Helvetica"> </font>
|
||||
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ACTION</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b> PROTO</b></td>
|
||||
<td><b>DEST<br>
|
||||
PORT(S)</b></td>
|
||||
<td><b>SOURCE<br>
|
||||
PORT(S)</b></td>
|
||||
<td><b>ORIGINAL<br>
|
||||
DEST</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>REDIRECT</td>
|
||||
<td>loc!ops</td>
|
||||
<td>3128</td>
|
||||
<td>tcp</td>
|
||||
<td>http</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>...</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>This is the rule that transparently redirects web traffic to the transparent
|
||||
proxy running on the firewall. The SOURCE column explicitly excludes the
|
||||
<b>ops</b> zone from the rule.</p>
|
||||
<h2>Routestopped File</h2>
|
||||
|
||||
<blockquote>
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>INTERFACE</b><br>
|
||||
</td>
|
||||
<td><b> HOST(S)</b></td>
|
||||
</tr>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top">eth1<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>eth2<br>
|
||||
</td>
|
||||
<td>10.10.10.0/24</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
<td><b> ZONE</b></td>
|
||||
<td><b> DISPLAY</b></td>
|
||||
<td><b> COMMENTS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>Net</td>
|
||||
<td>Internet</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ops</td>
|
||||
<td>Operations</td>
|
||||
<td>Operations Staff's Class C</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>Local</td>
|
||||
<td>Local Class B</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>dmz</td>
|
||||
<td>DMZ</td>
|
||||
<td>Demilitarized zone</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
</blockquote>
|
||||
|
||||
|
||||
|
||||
|
||||
<p><font size="2"> Updated 2/18/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</blockquote>
|
||||
|
||||
<p>The <b>ops </b>zone has been added to the standard 3-zone zones file --
|
||||
since <b>ops</b> is a sub-zone of <b>loc</b>, we list it <u>BEFORE</u> <b>loc</b>.</p>
|
||||
|
||||
<h2>Interfaces File</h2>
|
||||
|
||||
<blockquote>
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b> ZONE</b></td>
|
||||
<td><b> INTERFACE</b></td>
|
||||
<td><b> BROADCAST</b></td>
|
||||
<td><b> OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>eth0</td>
|
||||
<td><whatever></td>
|
||||
<td><options></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>dmz</td>
|
||||
<td>eth1</td>
|
||||
<td><whatever></td>
|
||||
<td><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-</td>
|
||||
<td>eth2</td>
|
||||
<td>10.10.255.255</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>Because <b>eth2</b> interfaces to two zones (<b>ops</b> and <b>loc)</b>,
|
||||
we don't specify a zone for it here.</p>
|
||||
|
||||
<h2>Hosts File</h2>
|
||||
|
||||
<blockquote> <font face="Century Gothic, Arial, Helvetica">
|
||||
</font>
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b> ZONE</b></td>
|
||||
<td><b> HOST(S)</b></td>
|
||||
<td><b> OPTIONS</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ops</td>
|
||||
<td>eth2:10.10.10.0/24</td>
|
||||
<td><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>eth2:0.0.0.0/0</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>Here we define the <b>ops</b> and <b>loc</b> zones. When Shorewall is stopped,
|
||||
only the hosts in the <b>ops</b> zone will be allowed to access the firewall
|
||||
and the DMZ. I use 0.0.0.0/0 to define the <b>loc</b> zone rather than 10.10.0.0/16
|
||||
so that the limited broadcast address (255.255.255.255) falls into that
|
||||
zone. If I used 10.10.0.0/16 then I would have to have a separate entry for
|
||||
that special address.</p>
|
||||
|
||||
<h2>Policy File</h2>
|
||||
|
||||
<blockquote> <font face="Century Gothic, Arial, Helvetica">
|
||||
</font>
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b> POLICY</b></td>
|
||||
<td><b> LOG LEVEL</b></td>
|
||||
<td><b>LIMIT:BURST</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><font color="#0000ff">ops</font></td>
|
||||
<td><font color="#0000ff">all</font></td>
|
||||
<td><font color="#0000ff">ACCEPT</font></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><font color="#0000ff">all</font></td>
|
||||
<td><font color="#0000ff">ops</font></td>
|
||||
<td><font color="#0000ff">CONTINUE</font></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>loc</td>
|
||||
<td>net</td>
|
||||
<td>ACCEPT</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>net</td>
|
||||
<td>all</td>
|
||||
<td>DROP</td>
|
||||
<td>info</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>all</td>
|
||||
<td>all</td>
|
||||
<td>REJECT</td>
|
||||
<td>info</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>Two entries for <b>ops</b> have been added to the standard 3-zone policy
|
||||
file.<font color="#ff0000"><b></b></font></p>
|
||||
|
||||
<h2>Rules File</h2>
|
||||
|
||||
<blockquote> <font face="Century Gothic, Arial, Helvetica"> </font>
|
||||
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>ACTION</b></td>
|
||||
<td><b>SOURCE</b></td>
|
||||
<td><b>DEST</b></td>
|
||||
<td><b> PROTO</b></td>
|
||||
<td><b>DEST<br>
|
||||
PORT(S)</b></td>
|
||||
<td><b>SOURCE<br>
|
||||
PORT(S)</b></td>
|
||||
<td><b>ORIGINAL<br>
|
||||
DEST</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>REDIRECT</td>
|
||||
<td>loc!ops</td>
|
||||
<td>3128</td>
|
||||
<td>tcp</td>
|
||||
<td>http</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>...</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</blockquote>
|
||||
|
||||
<p>This is the rule that transparently redirects web traffic to the transparent
|
||||
proxy running on the firewall. The SOURCE column explicitly excludes the
|
||||
<b>ops</b> zone from the rule.</p>
|
||||
|
||||
<h2>Routestopped File</h2>
|
||||
|
||||
<blockquote>
|
||||
<table border="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><b>INTERFACE</b><br>
|
||||
</td>
|
||||
<td><b> HOST(S)</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">eth1<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>eth2<br>
|
||||
</td>
|
||||
<td>10.10.10.0/24</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
</blockquote>
|
||||
|
||||
<p><font size="2"> Updated 2/18/2003 - <a href="support.htm">Tom Eastep</a>
|
||||
</font></p>
|
||||
|
||||
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
|
||||
<p><font face="Trebuchet MS"><a href="copyright.htm"><font size="2">Copyright</font>
|
||||
© <font size="2">2002, 2003Thomas M. Eastep.</font></a></font></p>
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -28,7 +28,7 @@
|
||||
# shown below. Simply run this script to revert to your prior version of
|
||||
# Shoreline Firewall.
|
||||
|
||||
VERSION=1.4.5
|
||||
VERSION=1.4.6
|
||||
|
||||
usage() # $1 = exit status
|
||||
{
|
||||
|
@ -1866,7 +1866,7 @@ add_nat_rule() {
|
||||
log_rule $loglevel $chain $logtarget -t nat
|
||||
fi
|
||||
|
||||
addnatrule $chain -j $target1
|
||||
addnatrule $chain $proto -j $target1
|
||||
else
|
||||
for adr in `separate_list $addr`; do
|
||||
run_iptables2 -t nat -A OUTPUT $proto $sports -d $adr \
|
||||
@ -1899,7 +1899,7 @@ add_nat_rule() {
|
||||
log_rule $loglevel $chain $logtarget -t nat -d `fix_bang $adr`
|
||||
fi
|
||||
|
||||
addnatrule $chain -d $adr -j $target1
|
||||
addnatrule $chain $proto -d $adr -j $target1
|
||||
done
|
||||
else
|
||||
for adr in `separate_list $addr`; do
|
||||
@ -2218,11 +2218,11 @@ process_rule() # $1 = target
|
||||
fatal_error "Empty source zone or qualifier: rule \"$rule\""
|
||||
fi
|
||||
|
||||
if [ "$clientzone" = "${clientzone%\!*}" ]; then
|
||||
if [ "$clientzone" = "${clientzone%!*}" ]; then
|
||||
excludezones=
|
||||
else
|
||||
excludezones="${clientzone#*\!}"
|
||||
clientzone="${clientzone%\!*}"
|
||||
excludezones="${clientzone#*!}"
|
||||
clientzone="${clientzone%!*}"
|
||||
|
||||
[ "$logtarget" = DNAT ] || [ "$logtarget" = REDIRECT ] ||\
|
||||
fatal_error "Exclude list only allowed with DNAT or REDIRECT"
|
||||
|
161
STABLE/functions
161
STABLE/functions
@ -219,3 +219,164 @@ strip_file() # $1 = Base Name of the file, $2 = Full Name of File (optional)
|
||||
> $TMP_DIR/$1
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Note: The following set of IP address manipulation functions have anomalous
|
||||
# behavior when the shell only supports 32-bit signed arithmatic and
|
||||
# the IP address is 128.0.0.0 or 128.0.0.1.
|
||||
#
|
||||
#
|
||||
# So that emacs doesn't get lost, we use $LEFTSHIFT rather than <<
|
||||
#
|
||||
LEFTSHIFT='<<'
|
||||
|
||||
#
|
||||
# Convert an IP address in dot quad format to an integer
|
||||
#
|
||||
decodeaddr() {
|
||||
local x
|
||||
local temp=0
|
||||
local ifs=$IFS
|
||||
|
||||
IFS=.
|
||||
|
||||
for x in $1; do
|
||||
temp=$(( $(( $temp $LEFTSHIFT 8 )) | $x ))
|
||||
done
|
||||
|
||||
echo $temp
|
||||
|
||||
IFS=$ifs
|
||||
}
|
||||
|
||||
#
|
||||
# convert an integer to dot quad format
|
||||
#
|
||||
encodeaddr() {
|
||||
addr=$1
|
||||
local x
|
||||
local y=$(($addr & 255))
|
||||
|
||||
for x in 1 2 3 ; do
|
||||
addr=$(($addr >> 8))
|
||||
y=$(($addr & 255)).$y
|
||||
done
|
||||
|
||||
echo $y
|
||||
}
|
||||
|
||||
#
|
||||
# Enumerate the members of an IP range -- When using a shell supporting only
|
||||
# 32-bit signed arithmetic, the range cannot span 128.0.0.0.
|
||||
#
|
||||
ip_range() {
|
||||
local first last l x y z vlsm
|
||||
|
||||
case $1 in
|
||||
[0-9]*.*.*.*-*.*.*.*)
|
||||
;;
|
||||
*)
|
||||
echo $1
|
||||
return
|
||||
;;
|
||||
esac
|
||||
|
||||
first=`decodeaddr ${1%-*}`
|
||||
last=`decodeaddr ${1#*-}`
|
||||
|
||||
if [ $first -gt $last ]; then
|
||||
fatal_error "Invalid IP address range: $1"
|
||||
fi
|
||||
|
||||
l=$(( $last + 1 ))
|
||||
|
||||
while [ $first -le $last ]; do
|
||||
vlsm=
|
||||
x=31
|
||||
y=2
|
||||
z=1
|
||||
|
||||
while [ $(( $first % $y )) -eq 0 -a $(( $first + $y )) -le $l ]; do
|
||||
vlsm=/$x
|
||||
x=$(( $x - 1 ))
|
||||
z=$y
|
||||
y=$(( $y * 2 ))
|
||||
done
|
||||
|
||||
echo `encodeaddr $first`$vlsm
|
||||
first=$(($first + $z))
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# Netmask from CIDR
|
||||
#
|
||||
ip_netmask() {
|
||||
local vlsm=${1#*/}
|
||||
|
||||
[ $vlsm -eq 0 ] && echo 0 || echo $(( -1 $LEFTSHIFT $(( 32 - $vlsm )) ))
|
||||
}
|
||||
|
||||
#
|
||||
# Network address from CIDR
|
||||
#
|
||||
ip_network() {
|
||||
local decodedaddr=`decodeaddr ${1%/*}`
|
||||
local netmask=`ip_netmask $1`
|
||||
|
||||
echo `encodeaddr $(($decodedaddr & $netmask))`
|
||||
}
|
||||
|
||||
#
|
||||
# The following hack is supplied to compensate for the fact that many of
|
||||
# the popular light-weight Bourne shell derivatives don't support XOR ("^").
|
||||
#
|
||||
# Note: 2147483647 = 0x7fffffff
|
||||
|
||||
ip_broadcast() {
|
||||
local x=$(( ${1#*/} - 1 ))
|
||||
|
||||
[ $x -eq -1 ] && echo -1 || echo $(( 2147483647 >> $x ))
|
||||
}
|
||||
|
||||
#
|
||||
# Calculate broadcast address from CIDR
|
||||
#
|
||||
broadcastaddress() {
|
||||
local decodedaddr=`decodeaddr ${1%/*}`
|
||||
local netmask=`ip_netmask $1`
|
||||
local broadcast=`ip_broadcast $1`
|
||||
|
||||
echo `encodeaddr $(( $(($decodedaddr & $netmask)) | $broadcast ))`
|
||||
}
|
||||
|
||||
#
|
||||
# Test for subnet membership
|
||||
#
|
||||
in_subnet() # $1 = IP address, $2 = CIDR network
|
||||
{
|
||||
local netmask=`ip_netmask $2`
|
||||
|
||||
test $(( `decodeaddr $1` & $netmask)) -eq $(( `decodeaddr ${2%/*}` & $netmask ))
|
||||
}
|
||||
|
||||
#
|
||||
# Netmask to VLSM
|
||||
#
|
||||
ip_vlsm() {
|
||||
local mask=`decodeaddr $1`
|
||||
local vlsm=0
|
||||
local x=$(( 128 $LEFTSHIFT 24 ))
|
||||
|
||||
while [ $(( $x & $mask )) -ne 0 ]; do
|
||||
[ $mask -eq $x ] && mask=0 || mask=$(( $mask $LEFTSHIFT 1 )) # Don't Ask...
|
||||
vlsm=$(($vlsm + 1))
|
||||
done
|
||||
|
||||
if [ $(( $mask & 2147483647)) -ne 0 ]; then
|
||||
echo "Invalid net mask: $1" >&2
|
||||
else
|
||||
echo $vlsm
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
# ZONE - The name of a zone defined in /etc/shorewall/zones
|
||||
#
|
||||
# HOST(S) - The name of an interface followed by a colon (":") and
|
||||
# either:
|
||||
# a comma-separated list whose elements are either:
|
||||
#
|
||||
# a) The IP address of a host
|
||||
# b) A subnetwork in the form
|
||||
@ -33,6 +33,7 @@
|
||||
#
|
||||
# eth1:192.168.1.3
|
||||
# eth2:192.168.2.0/24
|
||||
# eth3:192.168.2.0/24,192.168.3.1
|
||||
#
|
||||
# OPTIONS - A comma-separated list of options. Currently-defined
|
||||
# options are:
|
||||
|
@ -54,7 +54,7 @@
|
||||
# /etc/rc.d/rc.local file is modified to start the firewall.
|
||||
#
|
||||
|
||||
VERSION=1.4.5
|
||||
VERSION=1.4.6
|
||||
|
||||
usage() # $1 = exit status
|
||||
{
|
||||
|
@ -20,6 +20,10 @@
|
||||
# an alias (e.g., eth0:0) here; see
|
||||
# http://www.shorewall.net/FAQ.htm#faq18
|
||||
#
|
||||
# You may specify wildcards here. For example, if you
|
||||
# want to make an entry that applies to all PPP
|
||||
# interfaces, use 'ppp+'.
|
||||
#
|
||||
# DO NOT DEFINE THE LOOPBACK INTERFACE (lo) IN THIS FILE.
|
||||
#
|
||||
# BROADCAST The broadcast address for the subnetwork to which the
|
||||
@ -89,6 +93,16 @@
|
||||
# sub-networking as described at:
|
||||
# http://www.tldp.org/HOWTO/mini/Proxy-ARP-Subnet
|
||||
#
|
||||
# newnotsyn - TCP packets that don't have the SYN
|
||||
# flag set and which are not part of an
|
||||
# established connection will be accepted
|
||||
# from this interface, even if
|
||||
# NEWNOTSYN=No has been specified in
|
||||
# /etc/shorewall/shorewall.conf.
|
||||
#
|
||||
# This option has no effect if
|
||||
# NEWNOTSYN=Yes.
|
||||
#
|
||||
# The order in which you list the options is not
|
||||
# significant but the list should have no embedded white
|
||||
# space.
|
||||
|
13
STABLE/masq
13
STABLE/masq
@ -42,12 +42,15 @@
|
||||
# will automatically add this address to the
|
||||
# INTERFACE named in the first column.
|
||||
#
|
||||
# WARNING: Do NOT specify ADD_SNAT_ALIASES=Yes if
|
||||
# the address given in this column is the primary
|
||||
# IP address for the interface in the INTERFACE
|
||||
# column.
|
||||
# You may also specify a range of up to 256
|
||||
# IP addresses if you want the SNAT address to
|
||||
# be assigned from that range in a round-robin
|
||||
# range by connection. The range is specified by
|
||||
# <first ip in range>-<last ip in range>.
|
||||
#
|
||||
# This column may not contain a DNS Name.
|
||||
# Example: 206.124.146.177-206.124.146.180
|
||||
#
|
||||
# This column may not contain DNS Names.
|
||||
#
|
||||
# Example 1:
|
||||
#
|
||||
|
@ -2,19 +2,180 @@ This is a minor release of Shorewall.
|
||||
|
||||
Problems Corrected:
|
||||
|
||||
1) The command "shorewall debug try <directory>" now correctly traces
|
||||
the attempt.
|
||||
1) A problem seen on RH7.3 systems where Shorewall encountered start
|
||||
errors when started using the "service" mechanism has been worked
|
||||
around.
|
||||
|
||||
2) The INCLUDE directive now works properly in the zones file;
|
||||
previously, INCLUDE in that file was ignored.
|
||||
2) Where a list of IP addresses appears in the DEST column of a DNAT[-]
|
||||
rule, Shorewall incorrectly created multiple DNAT rules in the nat
|
||||
table (one for each element in the list). Shorewall now correctly
|
||||
creates a single DNAT rule with multiple "--to-destination" clauses.
|
||||
|
||||
3) /etc/shorewall/routestopped records with an empty second column are no
|
||||
longer ignored.
|
||||
3) Corrected a problem in Beta 1 where DNS names containing a "-" were
|
||||
mis-handled when they appeared in the DEST column of a rule.
|
||||
|
||||
4) The handling of z1!z2 in the SOURCE column of DNAT and REDIRECT
|
||||
rules has been corrected.
|
||||
|
||||
5) The message "Adding rules for DHCP" is now suppressed if there are
|
||||
no DHCP rules to add.
|
||||
|
||||
Migration Issues:
|
||||
|
||||
1) In earlier versions, an undocumented feature allowed entries in
|
||||
the host file as follows:
|
||||
|
||||
z eth1:192.168.1.0/24,eth2:192.168.2.0/24
|
||||
|
||||
This capability was never documented and has been removed in 1.4.6
|
||||
to allow entries of the following format:
|
||||
|
||||
z eth1:192.168.1.0/24,192.168.2.0/24
|
||||
|
||||
2) The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT options have been
|
||||
removed from /etc/shorewall/shorewall.conf. These capabilities are
|
||||
now automatically detected by Shorewall (see below).
|
||||
|
||||
New Features:
|
||||
|
||||
1) The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] rule may now
|
||||
contain a list of addresses. If the list begins with "!' then the
|
||||
rule will take effect only if the original destination address in
|
||||
the connection request does not match any of the addresses listed.
|
||||
1) A 'newnotsyn' interface option has been added. This option may be
|
||||
specified in /etc/shorewall/interfaces and overrides the setting
|
||||
NEWNOTSYN=No for packets arriving on the associated interface.
|
||||
|
||||
2) The means for specifying a range of IP addresses in
|
||||
/etc/shorewall/masq to use for SNAT is now
|
||||
documented. ADD_SNAT_ALIASES=Yes is enabled for address ranges.
|
||||
|
||||
3) Shorewall can now add IP addresses to subnets other than the first
|
||||
one on an interface.
|
||||
|
||||
4) DNAT[-] rules may now be used to load balance (round-robin) over a
|
||||
set of servers. Any number of servers may be specified in a range of
|
||||
addresses given as <first address>-<last address> and multiple
|
||||
ranges or individual servers may be specified in a comma-separated
|
||||
list.
|
||||
|
||||
Example:
|
||||
|
||||
DNAT net loc:192.168.10.2-192.168.10.5,192.168.10.44 tcp 80
|
||||
|
||||
5) The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration options
|
||||
have been removed and have been replaced by code that detects
|
||||
whether these capabilities are present in the current kernel. The
|
||||
output of the start, restart and check commands have been enhanced
|
||||
to report the outcome:
|
||||
|
||||
Shorewall has detected the following iptables/netfilter capabilities:
|
||||
NAT: Available
|
||||
Packet Mangling: Available
|
||||
Multi-port Match: Available
|
||||
Verifying Configuration...
|
||||
|
||||
6) Support for the Connection Tracking Match Extension has been
|
||||
added. This extension is available in recent kernel/iptables
|
||||
releases and allows for rules which match against elements in
|
||||
netfilter's connection tracking table.
|
||||
|
||||
Shorewall automatically detects the availability of this extension
|
||||
and reports its availability in the output of the start, restart and
|
||||
check commands.
|
||||
|
||||
Shorewall has detected the following iptables/netfilter capabilities:
|
||||
NAT: Available
|
||||
Packet Mangling: Available
|
||||
Multi-port Match: Available
|
||||
Connection Tracking Match: Available
|
||||
Verifying Configuration...
|
||||
|
||||
If this extension is available, the ruleset generated by Shorewall
|
||||
is changed in the following ways:
|
||||
|
||||
a) To handle 'norfc1918' filtering, Shorewall will not create chains
|
||||
in the mangle table but will rather do all 'norfc1918' filtering in
|
||||
the filter table (rfc1918 chain).
|
||||
|
||||
b) Recall that Shorewall DNAT rules generate two netfilter rules;
|
||||
one in the nat table and one in the filter table. If the Connection
|
||||
Tracking Match Extension is available, the rule in the filter table
|
||||
is extended to check that the original destination address was the
|
||||
same as specified (or defaulted to) in the DNAT rule.
|
||||
|
||||
7) The shell used to interpret the firewall script
|
||||
(/usr/share/shorewall/firewall) may now be specified using the
|
||||
SHOREWALL_SHELL parameter in shorewall.conf.
|
||||
|
||||
8) An 'ipcalc' command has been added to /sbin/shorewall.
|
||||
|
||||
ipcalc [ <address> <netmask> | <address>/<vlsm> ]
|
||||
|
||||
Examples:
|
||||
|
||||
[root@wookie root]# shorewall ipcalc 192.168.1.0/24
|
||||
CIDR=192.168.1.0/24
|
||||
NETMASK=255.255.255.0
|
||||
NETWORK=192.168.1.0
|
||||
BROADCAST=192.168.1.255
|
||||
[root@wookie root]#
|
||||
|
||||
[root@wookie root]# shorewall ipcalc 192.168.1.0 255.255.255.0
|
||||
CIDR=192.168.1.0/24
|
||||
NETMASK=255.255.255.0
|
||||
NETWORK=192.168.1.0
|
||||
BROADCAST=192.168.1.255
|
||||
[root@wookie root]#
|
||||
|
||||
Warning:
|
||||
|
||||
If your shell only supports 32-bit signed arithmatic (ash or
|
||||
dash), then the ipcalc command produces incorrect information for
|
||||
IP addresses 128.0.0.0-1 and for /1 networks. Bash should produce
|
||||
correct information for all valid IP addresses.
|
||||
|
||||
9) An 'iprange' command has been added to /sbin/shorewall.
|
||||
|
||||
iprange <address>-<address>
|
||||
|
||||
This command decomposes a range of IP addressses into a list of
|
||||
network and host addresses. The command can be useful if you need to
|
||||
construct an efficient set of rules that accept connections from a
|
||||
range of network addresses.
|
||||
|
||||
Note: If your shell only supports 32-bit signed arithmetic (ash or
|
||||
dash) then the range may not span 128.0.0.0.
|
||||
|
||||
Example:
|
||||
|
||||
[root@gateway root]# shorewall iprange 192.168.1.4-192.168.12.9
|
||||
192.168.1.4/30
|
||||
192.168.1.8/29
|
||||
192.168.1.16/28
|
||||
192.168.1.32/27
|
||||
192.168.1.64/26
|
||||
192.168.1.128/25
|
||||
192.168.2.0/23
|
||||
192.168.4.0/22
|
||||
192.168.8.0/22
|
||||
192.168.12.0/29
|
||||
192.168.12.8/31
|
||||
[root@gateway root]#
|
||||
|
||||
10) A list of host/net addresses is now allowed in an entry in
|
||||
/etc/shorewall/hosts.
|
||||
|
||||
Example:
|
||||
|
||||
foo eth1:192.168.1.0/24,192.168.2.0/24
|
||||
|
||||
11) The "shorewall check" command now includes the chain name when
|
||||
printing the applicable policy for each pair of zones.
|
||||
|
||||
Example:
|
||||
|
||||
Policy for dmz to net is REJECT using chain all2all
|
||||
|
||||
This means that the policy for connections from the dmz to the
|
||||
internet is REJECT and the applicable entry in the
|
||||
/etc/shorewall/policy was the all->all policy.
|
||||
|
||||
12) Support for the 2.6 Kernel series has been added.
|
||||
|
||||
|
18
STABLE/rules
18
STABLE/rules
@ -107,6 +107,12 @@
|
||||
# 3. You may not specify both an interface and
|
||||
# an address.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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
|
||||
@ -137,7 +143,7 @@
|
||||
# In that case, it is suggested that this field contain
|
||||
# "-"
|
||||
#
|
||||
# If MULTIPORT=Yes in /etc/shorewall/shorewall.conf, then
|
||||
# If your kernel contains multi-port match support, then
|
||||
# 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.
|
||||
@ -154,7 +160,7 @@
|
||||
# specify an ADDRESS in the next column, then place "-"
|
||||
# in this column.
|
||||
#
|
||||
# If MULTIPORT=Yes in /etc/shorewall/shorewall.conf, then
|
||||
# If your kernel contains multi-port match support, then
|
||||
# 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.
|
||||
@ -214,6 +220,14 @@
|
||||
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
||||
# # PORT PORT(S) DEST
|
||||
# DNAT net loc:192.168.1.3 tcp 80 - 130.252.100.69
|
||||
#
|
||||
# Example: You want to accept SSH connections to your firewall only
|
||||
# from internet IP addresses 130.252.100.69 and 130.252.100.70
|
||||
#
|
||||
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
||||
# # PORT PORT(S) DEST
|
||||
# ACCEPT net:130.252.100.69,130.252.100.70 \
|
||||
# tcp 22
|
||||
##############################################################################
|
||||
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
|
||||
# PORT PORT(S) DEST
|
||||
|
@ -82,6 +82,22 @@
|
||||
# be automatically reinstated the
|
||||
# next time that Shorewall starts.
|
||||
#
|
||||
# shorewall ipaddr [ <address>/<cidr> | <address> <netmask> ]
|
||||
#
|
||||
# Displays information about the network
|
||||
# defined by the argument[s]
|
||||
#
|
||||
# shorewall iprange <address>-<address> Decomposes a range of IP addresses into
|
||||
# a list of network/host addresses.
|
||||
#
|
||||
# Fatal Error
|
||||
#
|
||||
fatal_error() # $@ = Message
|
||||
{
|
||||
echo " $@" >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
# Display a chain if it exists
|
||||
#
|
||||
|
||||
@ -138,6 +154,13 @@ get_config() {
|
||||
[ -n "LOGFORMAT" ] && LOGFORMAT="${LOGFORMAT%%%*}"
|
||||
|
||||
[ -n "$LOGFORMAT" ] || LOGFORMAT="Shorewall:"
|
||||
|
||||
if [ -n "$SHOREWALL_SHELL" ]; then
|
||||
if [ ! -e "$SHOREWALL_SHELL" ]; then
|
||||
echo "The program specified in SHOREWALL_SHELL does not exist or is not executable" >&2
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
@ -521,6 +544,8 @@ usage() # $1 = exit status
|
||||
echo " reject <address> ..."
|
||||
echo " allow <address> ..."
|
||||
echo " save"
|
||||
echo " ipcalc [ <address>/<vlsm> | <address> <netmask> ]"
|
||||
echo " iprange <address>-<address>"
|
||||
exit $1
|
||||
}
|
||||
|
||||
@ -653,11 +678,13 @@ esac
|
||||
case "$1" in
|
||||
start|stop|restart|reset|clear|refresh|check)
|
||||
[ $# -ne 1 ] && usage 1
|
||||
exec $FIREWALL $debugging $nolock $1
|
||||
get_config
|
||||
exec $SHOREWALL_SHELL $FIREWALL $debugging $nolock $1
|
||||
;;
|
||||
add|delete)
|
||||
[ $# -ne 3 ] && usage 1
|
||||
exec $FIREWALL $debugging $nolock $1 $2 $3
|
||||
get_config
|
||||
exec $SHOREWALL_SHELL $FIREWALL $debugging $nolock $1 $2 $3
|
||||
;;
|
||||
show|list)
|
||||
[ $# -gt 2 ] && usage 1
|
||||
@ -860,7 +887,48 @@ case "$1" in
|
||||
fi
|
||||
mutex_off
|
||||
;;
|
||||
ipcalc)
|
||||
if [ $# -eq 2 ]; then
|
||||
address=${2%/*}
|
||||
vlsm=${2#*/}
|
||||
elif [ $# -eq 3 ]; then
|
||||
address=$2
|
||||
vlsm=`ip_vlsm $3`
|
||||
else
|
||||
usage 1
|
||||
fi
|
||||
|
||||
[ -z "$vlsm" ] && exit 2
|
||||
[ "x$address" = "x$vlsm" ] && usage 2
|
||||
[ $vlsm -gt 32 ] && echo "Invalid VLSM: /$vlsm" >&2 && exit 2
|
||||
|
||||
address=$address/$vlsm
|
||||
|
||||
echo " CIDR=$address"
|
||||
temp=`ip_netmask $address`; echo " NETMASK=`encodeaddr $temp`"
|
||||
temp=`ip_network $address`; echo " NETWORK=$temp"
|
||||
temp=`broadcastaddress $address`; echo " BROADCAST=$temp"
|
||||
;;
|
||||
|
||||
iprange)
|
||||
case $2 in
|
||||
*.*.*.*-*.*.*.*)
|
||||
ip_range $2
|
||||
;;
|
||||
*)
|
||||
usage 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
call)
|
||||
#
|
||||
# Undocumented way to call functions in /usr/share/shorewall/functions directly
|
||||
#
|
||||
shift;
|
||||
$@
|
||||
;;
|
||||
*)
|
||||
usage 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
@ -144,7 +144,7 @@ BLACKLIST_LOGLEVEL=
|
||||
# Example: LOGNEWNOTSYN=debug
|
||||
|
||||
|
||||
LOGNEWNOTSYN=
|
||||
LOGNEWNOTSYN=info
|
||||
|
||||
#
|
||||
# MAC List Log Level
|
||||
@ -191,6 +191,14 @@ RFC1918_LOG_LEVEL=info
|
||||
#
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
|
||||
|
||||
#
|
||||
# SHELL
|
||||
#
|
||||
# The firewall script is normally interpreted by /bin/sh. If you wish to change
|
||||
# the shell used to interpret that script, specify the shell here.
|
||||
|
||||
SHOREWALL_SHELL=/bin/sh
|
||||
|
||||
# SUBSYSTEM LOCK FILE
|
||||
#
|
||||
# Set this to the name of the lock file expected by your init scripts. For
|
||||
@ -230,24 +238,6 @@ MODULESDIR=
|
||||
#
|
||||
FW=fw
|
||||
|
||||
#
|
||||
# ENABLE NAT SUPPORT
|
||||
#
|
||||
# You probally want yes here. Only gateways not doing NAT in any form, like
|
||||
# SNAT,DNAT masquerading, port forwading etc. should say "no" here.
|
||||
#
|
||||
NAT_ENABLED=Yes
|
||||
|
||||
#
|
||||
# ENABLE MANGLE SUPPORT
|
||||
#
|
||||
# If you say "no" here, Shorewall will ignore the /etc/shorewall/tos file
|
||||
# and will not initialize the mangle table when starting or stopping
|
||||
# your firewall. You must enable mangling if you want Traffic Shaping
|
||||
# (see TC_ENABLED below).
|
||||
#
|
||||
MANGLE_ENABLED=Yes
|
||||
|
||||
#
|
||||
# ENABLE IP FORWARDING
|
||||
#
|
||||
@ -378,26 +368,6 @@ ROUTE_FILTER=No
|
||||
|
||||
NAT_BEFORE_RULES=Yes
|
||||
|
||||
# MULTIPORT support
|
||||
#
|
||||
# If your kernel includes the multiport match option
|
||||
# (CONFIG_IP_NF_MATCH_MULTIPORT), you may enable it's use here. When this
|
||||
# option is enabled by setting it's value to "Yes" or "yes":
|
||||
#
|
||||
# 1) If you list more that 15 ports in a comma-seperated list in
|
||||
# /etc/shorewall/rules, Shorewall will not use the multiport option
|
||||
# but will generate a separate rule for each element of each port
|
||||
# list.
|
||||
# 2) If you include a port range (<low port>:<high port>) in the
|
||||
# rule, Shorewall will not use the multiport option but will generate
|
||||
# a separate rule for each element of each port list.
|
||||
#
|
||||
# See the /etc/shorewall/rules file for additional information on this option.
|
||||
#
|
||||
# if this variable is not set or is set to the empty value, "No" is assumed.
|
||||
|
||||
MULTIPORT=No
|
||||
|
||||
# DNAT IP ADDRESS DETECTION
|
||||
#
|
||||
# Normally when Shorewall encounters the following rule:
|
||||
@ -447,7 +417,7 @@ MUTEX_TIMEOUT=60
|
||||
#
|
||||
# NEWNOTSYN
|
||||
#
|
||||
# If this variable is set to "No" or "no", then When a TCP packet that does
|
||||
# If this variable is set to "No" or "no", then when a TCP packet that does
|
||||
# not have the SYN flag set and the ACK and RST flags clear then unless the
|
||||
# packet is part of an established connection, it will be dropped by the
|
||||
# firewall
|
||||
@ -458,6 +428,9 @@ MUTEX_TIMEOUT=60
|
||||
# Users with a High-availability setup with two firewall's and one acting
|
||||
# as a backup should set NEWNOTSYN=Yes. Users with asymmetric routing may
|
||||
# also need to select NEWNOTSYN=Yes.
|
||||
#
|
||||
# The behavior of NEWNOTSYN=Yes may also be enabled on a per-interface basis
|
||||
# using the 'newnotsyn' option in /etc/shorewall/interfaces.
|
||||
|
||||
NEWNOTSYN=No
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
%define name shorewall
|
||||
%define version 1.4.5
|
||||
%define version 1.4.6
|
||||
%define release 1
|
||||
%define prefix /usr
|
||||
|
||||
@ -105,6 +105,14 @@ fi
|
||||
%doc COPYING INSTALL changelog.txt releasenotes.txt tunnel
|
||||
|
||||
%changelog
|
||||
* Sat Jul 19 2003 Tom Eastep <tom@shorewall.net>
|
||||
- Changed version to 1.4.6-1
|
||||
* Mon Jul 14 2003 Tom Eastep <tom@shorewall.net>
|
||||
- Changed version to 1.4.6-0RC1
|
||||
* Mon Jul 07 2003 Tom Eastep <tom@shorewall.net>
|
||||
- Changed version to 1.4.6-0Beta2
|
||||
* Fri Jul 04 2003 Tom Eastep <tom@shorewall.net>
|
||||
- Changed version to 1.4.6-0Beta1
|
||||
* Tue Jun 17 2003 Tom Eastep <tom@shorewall.net>
|
||||
- Changed version to 1.4.5-1
|
||||
* Thu May 29 2003 Tom Eastep <tom@shorewall.net>
|
||||
|
@ -26,7 +26,7 @@
|
||||
# You may only use this script to uninstall the version
|
||||
# shown below. Simply run this script to remove Seattle Firewall
|
||||
|
||||
VERSION=1.4.5
|
||||
VERSION=1.4.6
|
||||
|
||||
usage() # $1 = exit status
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user