From c2ccd7fd3d4b5bbe126481548509da01d8661808 Mon Sep 17 00:00:00 2001
From: teastep 6to4 tunneling with Shorewall can be used to connect your IPv6 network
- to another IPv6 network over an IPv4 infrastructure More information on Linux and IPv6 can be found in the
+ 6to4 tunneling with Shorewall can be used to connect your IPv6
+network to another IPv6 network over an IPv4 infrastructure More information on Linux and IPv6 can be found in the Linux IPv6 HOWTO.
-Details on how to setup a 6to4 tunnels are described in the section Setup
- of 6to4 tunnels. Suppose that we have the following situation:
- 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. 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
+ width="745" height="427" alt=""> 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. 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. In /etc/shorewall/tunnels on system A, we need the following: In /etc/shorewall/tunnels on system A, we need the
+following: This entry in /etc/shorewall/tunnels, opens the firewall so that the IPv6
- encapsulation protocol (41) will be accepted to/from the remote gateway. This entry in /etc/shorewall/tunnels, opens the firewall so that the
+IPv6 encapsulation protocol (41) will be accepted to/from the remote
+gateway. Use the following commands to setup system A: >ip tunnel add tun6to4 mode sit ttl 254 remote 134.28.54.2
-
-
-
+
+
-
-
-
-
-
- 6to4 Tunnels
- 6to4 Tunnels
+The 6to4 tunnel documentation is provided by Eric de Thouars.
-
-
- Warning: The 6to4 tunnel feature of Shorewall
- only facilitates IPv6 over IPv4 tunneling. It does not provide any IPv6
-security measures.
-
-Warning: The 6to4 tunnel feature of
+Shorewall only facilitates IPv6 over IPv4 tunneling. It does not
+provide any IPv6
+security measures.
+Connecting two IPv6 Networks
-
+
+
-
-
-
-
-
-
- TYPE
- ZONE
- GATEWAY
- GATEWAY ZONE
-
-
-
-
+
+ 6to4
- net
- 134.28.54.2
-
-
+
+ TYPE
+ ZONE
+ GATEWAY
+ GATEWAY ZONE
+
+
+
6to4
+ net
+ 134.28.54.2
+
+
+
-
+>ip link set dev tun6to4 up
- >ip link set dev tun6to4 up
- >ip addr add 3ffe:8280:0:2001::1/64 dev tun6to4
- >ip route add 2002:488:999::/64 via 3ffe:8280:0:2001::2
+>ip addr add 3ffe:8280:0:2001::1/64 dev tun6to4
+>ip route add 2002:488:999::/64 via 3ffe:8280:0:2001::2
Similarly, in /etc/shorewall/tunnels on system B we have:
- -+- +- -
-- -TYPE -ZONE -GATEWAY -GATEWAY ZONE -- - - + +6to4 -net -206.191.148.9 -- + +TYPE +ZONE +GATEWAY +GATEWAY ZONE ++ +6to4 +net +206.191.148.9 ++
And use the following commands to setup system B:
- -++- ->ip tunnel add tun6to4 mode sit ttl 254 remote 206.191.148.9
-
- >ip link set dev tun6to4 up
- >ip addr add 3ffe:8280:0:2001::2/64 dev tun6to4
- >ip route add 2002:100:333::/64 via 3ffe:8280:0:2001::1On 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.
- -Updated 5/18/2003 - Tom Eastep -
- - +
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.
+Updated 5/18/2003 - Tom Eastep +
+Copyright © 2001, 2002, 2003Thomas M. Eastep and Eric de Thouars.
-
+ |
+ + + | +
- Multiple IPs with DMZ and Internal - Servers- |
-
Notes:
- -+- +-
- -- This configuration is used on a corporate network that has a -Linux (RedHat 8.0) server with three interfaces, running Shorewall 1.4.5 - release,
-- Make sure you know what public IP addresses are currently being -used and verify these before starting.
-- Verify your DNS settings before starting any Shorewall - configuration especially if you have split DNS.
-- System names and Internet IP addresses have been changed to protect - the innocent.
- +- This configuration is used on a corporate network that has a +Linux (RedHat 8.0) server with three interfaces, running Shorewall +1.4.5 release,
+- Make sure you know what public IP addresses are currently +being used and verify these before starting.
+- Verify your DNS settings before starting any +Shorewall configuration especially if you have split DNS.
+- System names and Internet IP addresses have been changed to +protect the innocent.
Warning: This configuration -uses a combination of Static NAT and Proxy ARP. This is generally not -relevant to a simple configuration with a single public IP address. -If you have just a single public IP address, most of what you see here -won't apply to your setup so beware of copying parts of this configuration -and expecting them to work for you. What you copy may or may not work -in your configuration.
- -
-
-I have a T1 with 64 static IP addresses (192.0.18.65-127/26). The -internet is connected to eth0. The local network is connected via eth1 -(10.10.0.0/22) and the DMZ is connected to eth2 (192.168.21.0/24). I have -an IPSec tunnel connecting our offices in Germany to our offices in the -US. I host two Microsoft Exchange servers for two different companies behind -the firewall hence, the two Exchange servers in the diagram below.
- -Summary:
- -
--
- -- SNAT for all systems connected to the LAN - Internal addresses -10.10.x.x to external address 192.0.18.127.
-- Static NAT for Polaris (Exchange Server #2). Internal address - 10.10.1.8 and external address 192.0.18.70.
-- Static NAT for Sims (Inventory Management server). Internal - address 10.10.1.56 and external address 192.0.18.75.
-
-- Static NAT for Project (Project Web Server). Internal address - 10.10.1.55 and external address 192.0.18.84.
-- Static NAT for Fortress (Exchange Server). Internal address - 10.10.1.252 and external address 192.0.18.93.
-- Static NAT for BBSRV (Blackberry Server). Internal address - 10.10.1.230 and external address 192.0.18.97.
-- Static NAT for Intweb (Intranet Web Server). Internal address - 10.10.1.60 and external address 192.0.18.115.
- -The firewall runs on a 2Gb, Dual PIV/2.8GHz, Intel motherboard with - RH8.0.
- -The Firewall is also a proxy server running Privoxy 3.0.
- -The single system in the DMZ (address 192.0.18.80) runs sendmail, imap, - pop3, DNS, a Web server (Apache) and an FTP server (vsFTPd 1.1.0). That -server is managed through Proxy ARP.
- -All administration and publishing is done using ssh/scp. I have X installed - on the firewall and the system in the DMZ. X applications tunnel through -SSH to Hummingbird Exceed running on a PC located in the LAN. Access to -the firewall using SSH is restricted to systems in the LAN, DMZ or the -system Kaos which is on the Internet and managed by me.
- -+
Warning: This +configuration +uses a combination of One-to-one NAT and Proxy ARP. This is generally +not +relevant to a simple configuration with a single public IP address. +If you have just a single public IP address, most of what you see here +won't apply to your setup so beware of copying parts of this +configuration +and expecting them to work for you. What you copy may or may not work +in your configuration.
+
+
+I have a T1 with 64 static IP addresses (192.0.18.65-127/26). The +internet is connected to eth0. The local network is connected via eth1 +(10.10.0.0/22) and the DMZ is connected to eth2 (192.168.21.0/24). I +have an IPSec tunnel connecting our offices in Germany to our offices +in the US. I host two Microsoft Exchange servers for two different +companies behind +the firewall hence, the two Exchange servers in the diagram below.
+Summary:
- - - -
The Ethernet 0 interface in the Server is configured with IP address - 192.0.18.68, netmask 255.255.255.192. The server's default gateway is - 192.0.18.65, the Router connected to my network and the ISP. This is the - same default gateway used by the firewall itself. On the firewall, Shorewall - automatically adds a host route to 192.0.18.80 through Ethernet 2 (192.168.21.1) -because of the entry in /etc/shorewall/proxyarp (see below). I modified -the start, stop and init scripts to include the fixes suggested when having -an IPSec tunnel.
- -Some Mistakes I Made:
- -Yes, believe it or not, I made some really basic mistakes when building - this firewall. Firstly, I had the new firewall setup in parallel with the -old firewall so that there was no interruption of service to my users. -During my out-bound testing, I set up systems on the LAN to utilize the -firewall which worked fine. When testing my NAT connections, from the outside, -these would fail and I could not understand why. Eventually, I changed -the default route on the internal system I was trying to access, to point -to the new firewall and "bingo", everything worked as expected. This oversight -delayed my deployment by a couple of days not to mention level of frustration -it produced.
- -Another problem that I encountered was in setting up the Proxyarp system -in the DMZ. Initially I forgot to remove the entry for the eth2 from the - /etc/shorewall/masq file. Once my file settings were correct, I started - verifying that the ARP caches on the firewall, as well as the outside system - "kaos", were showing the correct Ethernet MAC address. However, in testing - remote access, I could access the system in the DMZ only from the firewall -and LAN but not from the Internet. The message I received was "connection -denied" on all protocols. What I did not realize was that a "helpful" -administrator that had turned on an old system and assigned the same address -as the one I was using for Proxyarp without notifying me. How did I work -this out. I shutdown the system in the DMZ, rebooted the router and flushed -the ARP cache on the firewall and kaos. Then, from kaos, I started pinging -that IP address and checked the updated ARP cache and lo-and-behold a -different MAC address showed up. High levels of frustration etc., etc. -The administrator will not be doing that again! :-)
- -Lessons Learned:
--
+- Read the documentation.
-- Draw your network topology before starting.
-- Understand what services you are going to allow in and out of the - firewall, whether they are TCP or UDP packets and make a note of these -port numbers.
-- Try to get quiet time to build the firewall - you need to focus -on the job at hand.
-- When asking for assistance, be honest and include as much detail -as requested. Don't try and hide IP addresses etc., you will probably -screw up the logs and make receiving assistance harder.
-- Read the documentation.
- +- SNAT for all systems connected to the LAN - Internal addresses +10.10.x.x to external address 192.0.18.127.
+- One-to-one NAT for Polaris (Exchange Server #2). +Internal +address 10.10.1.8 and external address 192.0.18.70.
+- One-to-one NAT for Sims (Inventory Management server). +Internal address 10.10.1.56 and external address 192.0.18.75.
+
+- One-to-one NAT for Project (Project Web Server). +Internal +address 10.10.1.55 and external address 192.0.18.84.
+- One-to-one NAT for Fortress (Exchange Server). Internal +address 10.10.1.252 and external address 192.0.18.93.
+- One-to-one NAT for BBSRV (Blackberry Server). Internal +address 10.10.1.230 and external address 192.0.18.97.
+- One-to-one NAT for Intweb (Intranet Web Server). +Internal +address 10.10.1.60 and external address 192.0.18.115.
+The firewall runs on a 2Gb, Dual PIV/2.8GHz, Intel motherboard +with RH8.0.
+The Firewall is also a proxy server running Privoxy 3.0.
+The single system in the DMZ (address 192.0.18.80) runs sendmail, +imap, pop3, DNS, a Web server (Apache) and an FTP server (vsFTPd +1.1.0). That server is managed through Proxy ARP.
+All administration and publishing is done using ssh/scp. I have X +installed on the firewall and the system in the DMZ. X applications +tunnel through SSH to Hummingbird Exceed running on a PC located in the +LAN. Access to the firewall using SSH is restricted to systems in the +LAN, DMZ or the system Kaos which is on the Internet and managed by me.
++ +
The Ethernet 0 interface in the Server is configured with IP +address 192.0.18.68, netmask 255.255.255.192. The server's default +gateway is 192.0.18.65, the Router connected to my network and the ISP. +This is the same default gateway used by the firewall itself. On the +firewall, Shorewall automatically adds a host route to 192.0.18.80 +through Ethernet 2 (192.168.21.1) because of the entry in +/etc/shorewall/proxyarp (see below). I modified the start, stop and +init scripts to include the fixes suggested when having an IPSec tunnel.
+Some Mistakes I Made:
+Yes, believe it or not, I made some really basic mistakes when +building this firewall. Firstly, I had the new firewall setup in +parallel with the +old firewall so that there was no interruption of service to my users. +During my out-bound testing, I set up systems on the LAN to utilize the +firewall which worked fine. When testing my NAT connections, from the +outside, +these would fail and I could not understand why. Eventually, I changed +the default route on the internal system I was trying to access, to +point +to the new firewall and "bingo", everything worked as expected. This +oversight +delayed my deployment by a couple of days not to mention level of +frustration +it produced.
+Another problem that I encountered was in setting up the Proxyarp +system in the DMZ. Initially I forgot to remove the entry for the eth2 +from the /etc/shorewall/masq file. Once my file settings were correct, +I started verifying that the ARP caches on the firewall, as well as the +outside system "kaos", were showing the correct Ethernet MAC address. +However, in testing remote access, I could access the system in the DMZ +only from the firewall +and LAN but not from the Internet. The message I received was +"connection +denied" on all protocols. What I did not realize was that a "helpful" +administrator that had turned on an old system and assigned the same +address +as the one I was using for Proxyarp without notifying me. How did I +work +this out. I shutdown the system in the DMZ, rebooted the router and +flushed +the ARP cache on the firewall and kaos. Then, from kaos, I started +pinging +that IP address and checked the updated ARP cache and lo-and-behold a +different MAC address showed up. High levels of frustration etc., etc. +The administrator will not be doing that again! :-)
+Lessons Learned:
++
-- Read the documentation.
+- Draw your network topology before starting.
+- Understand what services you are going to allow in and out of +the firewall, whether they are TCP or UDP packets and make a note of +these port numbers.
+- Try to get quiet time to build the firewall - you need to focus +on the job at hand.
+- When asking for assistance, be honest and include as much +detail as requested. Don't try and hide IP addresses etc., you will +probably screw up the logs and make receiving assistance harder.
+- Read the documentation.
Futures:
- -This is by no means the final configuration. In the near future, I will -be moving more systems from the LAN to the DMZ. I will also be watching -the logs for port scan programs etc. but, this should be standard security - maintenance.
- -Here are copies of my files. I have removed most of the internal documentation -for the purpose of this space however, my system still has the original -files with all the comments and I highly recommend you do the same.
-This is by no means the final configuration. In the near future, I +will be moving more systems from the LAN to the DMZ. I will also be +watching the logs for port scan programs etc. but, this should be +standard security maintenance.
+Here are copies of my files. I have removed most of the internal +documentation +for the purpose of this space however, my system still has the original +files with all the comments and I highly recommend you do the same.
+
+- +##############################################################################-
# /etc/shorewall/shorewall.conf V1.4 - Change the following variables to
# match your setup
#
# This program is under GPL [http://www.gnu.org/copyleft/gpl.htm]
#
# This file should be placed in /etc/shorewall
#
# (c) 1999,2000,2001,2002,2003 - Tom Eastep (teastep@shorewall.net)
##############################################################################
# L O G G I N G
##############################################################################
LOGFILE=/var/log/messages
LOGFORMAT="Shorewall:%s:%s:"
LOGRATE=
LOGBURST=
LOGUNCLEAN=info
BLACKLIST_LOGLEVEL=
LOGNEWNOTSYN=
MACLIST_LOG_LEVEL=info
TCP_FLAGS_LOG_LEVEL=debug
RFC1918_LOG_LEVEL=debug
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
SUBSYSLOCK=/var/lock/subsys/shorewall
STATEDIR=/var/lib/shorewall
MODULESDIR=
FW=fw
NAT_ENABLED=Yes
MANGLE_ENABLED=Yes
IP_FORWARDING=On
ADD_IP_ALIASES=Yes
ADD_SNAT_ALIASES=Yes
TC_ENABLED=Yes
CLEAR_TC=No
MARK_IN_FORWARD_CHAIN=No
CLAMPMSS=No
ROUTE_FILTER=Yes
NAT_BEFORE_RULES=No
MULTIPORT=Yes
DETECT_DNAT_IPADDRS=Yes
MUTEX_TIMEOUT=60
NEWNOTSYN=Yes
BLACKLIST_DISPOSITION=DROP
MACLIST_DISPOSITION=REJECT
TCP_FLAGS_DISPOSITION=DROP
#LAST LINE -- DO NOT REMOVE
+- +#-
# Shorewall 1.4 -- Sample Zone File For Two Interfaces
# /etc/shorewall/zones
#
# This file determines your network zones. Columns are:
#
# ZONE Short name of the zone
# DISPLAY Display name of the zone
# COMMENTS Comments about the zone
#
#ZONE DISPLAY COMMENTS
net Net Internet
loc Local Local Networks
dmz DMZ Demilitarized Zone
vpn1 VPN1 VPN to Germany
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+- +#ZONE INTERFACE BROADCAST OPTIONS##############################################################################
-
- #ZONE INTERFACE BROADCAST OPTIONS
- net eth0 62.123.106.127 routefilter,norfc1918,blacklist,tcpflags
- loc eth1 detect dhcp,routefilter
- dmz eth2 detect
- vpn1 ipsec0
- #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
+net eth0 62.123.106.127 routefilter,norfc1918,blacklist,tcpflags
+loc eth1 detect dhcp,routefilter
+dmz eth2 detect
+vpn1 ipsec0
+#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE +
+- +#INTERFACE HOST(S)-
eth1 -
eth2 -
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
+- +###############################################################################-
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
loc net ACCEPT
loc fw ACCEPT
loc dmz ACCEPT
# If you want open access to the Internet from your Firewall
# remove the comment from the following line.
fw net ACCEPT
fw loc ACCEPT
fw dmz ACCEPT
dmz fw ACCEPT
dmz loc ACCEPT
dmz net ACCEPT
#
# Adding VPN Access
loc vpn1 ACCEPT
dmz vpn1 ACCEPT
fw vpn1 ACCEPT
vpn1 loc ACCEPT
vpn1 dmz ACCEPT
vpn1 fw ACCEPT
#
net all DROP info
all all REJECT info
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+- +#INTERFACE SUBNET ADDRESS-
eth0 eth1 1192.0.18.126
#
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+- +#EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL-
#
# Intranet Web Server
192.0.18.115 eth0:0 10.10.1.60 No No
#
# Project Web Server
192.0.18.84 eth0:1 10.10.1.55 No No
#
# Blackberry Server
192.0.18.97 eth0:2 10.10.1.55 No No
#
# Corporate Mail Server
192.0.18.93 eth0:3 10.10.1.252 No No
#
# Second Corp Mail Server
192.0.18.70 eth0:4 10.10.1.8 No No
#
# Sims Server
192.0.18.75 eth0:5 10.10.1.56 No No
#
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+- +#ADDRESS INTERFACE EXTERNAL HAVEROUTE-
#
# The Corporate email server in the DMZ
192.0.18.80 eth2 eth0 No
#
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
+- +# TYPE ZONE GATEWAY GATEWAY ZONE PORT-
ipsec net 134.147.129.82
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
+- +##############################################################################-
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# PORT PORT(S) DEST
#
# Accept DNS connections from the firewall to the network
#
ACCEPT fw net tcp 53
ACCEPT fw net udp 53
#
# Accept SSH from internet interface from kaos only
#
ACCEPT net:192.0.18.98 fw tcp 22
#
# Accept connections from the local network for administration
#
ACCEPT loc fw tcp 20:22
ACCEPT loc net tcp 22
ACCEPT loc fw tcp 53
ACCEPT loc fw udp 53
ACCEPT loc net tcp 53
ACCEPT loc net udp 53
#
# Allow Ping To And From Firewall
#
ACCEPT loc fw icmp 8
ACCEPT loc dmz icmp 8
ACCEPT loc net icmp 8
ACCEPT dmz fw icmp 8
ACCEPT dmz loc icmp 8
ACCEPT dmz net icmp 8
DROP net fw icmp 8
DROP net loc icmp 8
DROP net dmz icmp 8
ACCEPT fw loc icmp 8
ACCEPT fw dmz icmp 8
DROP fw net icmp 8
#
# Accept proxy web connections from the inside
#
ACCEPT loc fw tcp 8118
#
# Forward PcAnywhere, Oracle and Web traffic from outside to the Demo systems
# From a specific IP Address on the Internet.
#
# ACCEPT net:207.65.110.10 loc:10.10.3.151 tcp 1521,http
# ACCEPT net:207.65.110.10 loc:10.10.2.32 tcp 5631:5632
#
# Intranet web server
ACCEPT net loc:10.10.1.60 tcp 443
ACCEPT dmz loc:10.10.1.60 tcp 443
#
# Projects web server
ACCEPT net loc:10.10.1.55 tcp 80
ACCEPT dmz loc:10.10.1.55 tcp 80
#
# Blackberry Server
ACCEPT net loc:10.10.1.230 tcp 3101
#
# Corporate Email Server
ACCEPT net loc:10.10.1.252 tcp 25,53,110,143,443
#
# Corporate #2 Email Server
ACCEPT net loc:10.10.1.8 tcp 25,80,110,443
#
# Sims Server
ACCEPT net loc:10.10.1.56 tcp 80,443
ACCEPT net loc:10.10.1.56 tcp 7001:7002
ACCEPT net:63.83.198.0/24 loc:10.10.1.56 tcp 5631:5632
#
# Access to DMZ
ACCEPT loc dmz udp 53,177
ACCEPT loc dmz tcp 80,25,53,22,143,443,993,20,110 -
ACCEPT net dmz udp 53
ACCEPT net dmz tcp 25,53,22,21,123
ACCEPT dmz net tcp 25,53,80,123,443,21,22
ACCEPT dmz net udp 53
#
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
+- +############################################################################-
# Shorewall 1.4 -- /etc/shorewall/start
#
# Add commands below that you want to be executed after shorewall has
# been started or restarted.
#
qt service ipsec start
+- +############################################################################-
# Shorewall 1.4 -- /etc/shorewall/stop
#
# Add commands below that you want to be executed at the beginning of a
# "shorewall stop" command.
#
qt service ipsec stop
++- -############################################################################-
# Shorewall 1.4 -- /etc/shorewall/init
#
# Add commands below that you want to be executed at the beginning of
# a "shorewall start" or "shorewall restart" command.
#
qt service ipsec stopLast updated 7/16/2003 +
Last updated 11/13/2003
-
-
Copyright 2003 Thomas M. Eastep and
+//
+
Copyright 2003 Thomas M. Eastep
+and
Graeme Boyle
-
- Shorewall 1.4 Reference- |
-
Beginning with Shorewall version 1.4.7, you may rate-limit the
rule by optionally following ACCEPT, DNAT[-], REDIRECT[-] or LOG with
@@ -2253,16 +2252,20 @@ following (I haven't tried it):
In /etc/shorewall/start, include:
qt service ipsec start
The /etc/shorewall/nat file is used to define static NAT. There is -one entry in the file for each static NAT relationship that you wish to +
The /etc/shorewall/nat file is used to define one-to-one NAT. There +is +one entry in the file for each one-to-one NAT relationship that you +wish to define. In order to make use of this feature, you must have NAT enabled .
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 +one-to-one NAT. Port forwarding can be accomplished with simple entries +in the rules file. Also, in most cases Proxy ARP provides a superior solution to static -NAT because the internal systems are accessed using the same IP address + href="#ProxyArp"> Proxy ARP provides a superior solution to +one-to-one NAT because the internal systems are accessed using the same +IP address internally and externally.
Columns in an entry are:
Updated 8/21/2003 - Tom
+ Updated 11/15/2003 - Tom
Eastep
Copyright ©
Copyright © 2001, 2002, 2003 Thomas M. Eastep. 30. I'm confused about when
+ href="FAQ.htm#faq30"> I'm confused
+about when
to use DNAT rules and when to use ACCEPT rules.
-
-
-
-
-
-
-
-
- ECN
-
- 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
+
+
+ECN
+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.
+
-
- 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).
-
- You enable ECN by
-
-
-
+
+Last updated 3/28/2003 - Tom
+Eastep
+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).
+
+You enable ECN by
+
+
- 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.echo 1 > /proc/sys/net/ipv4/tcp_ecn
-
-
-
-
+
+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.
+
+
- Entries in /etc/shorewall/ecn have two columns as follows:net.ipv4.tcp_ecn = 1
-
-
- INTERFACE - The name of an interface on your system
-
- 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.
-
- Example: Your external interface is eth0 and you want to disable ECN for
-tcp connections to 192.0.2.0/24:
-
- In /etc/shorewall/ecn:
-
-
-
+
+Entries in /etc/shorewall/ecn have two columns as follows:
+
+INTERFACE - The name of an interface on your system
+
+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.
+
+Example: Your external interface is eth0 and you want to disable ECN
+for tcp connections to 192.0.2.0/24:
+
+In /etc/shorewall/ecn:
+
+
- Last updated 3/28/2003 - Tom Eastep
-
+
-
-
-
-
- INTERFACE
-
- HOST(S)
-
-
-
-
-
+
+ eth0
-
- 192.0.2.0/24
-
-
+
+ INTERFACE
+
+ HOST(S)
+
+
+
+
eth0
+
+ 192.0.2.0/24
+
+
-
+
-
+
diff --git a/Shorewall-docs/FAQ.htm b/Shorewall-docs/FAQ.htm
index 21f87bed1..053895cc6 100644
--- a/Shorewall-docs/FAQ.htm
+++ b/Shorewall-docs/FAQ.htm
@@ -10,20 +10,11 @@
-
-
-
-
-
-
-
-
- Shorewall FAQs
- Looking for Step by Step Configuration Instructions? Check out the QuickStart Guides.
+Shorewall FAQs
+
Looking for Step by Step Configuration Instructions? Check out the QuickStart Guides.
+PORT FORWARDING
2a. I have a zone "Z" with an
-RFC1918 subnet and I use static NAT to
+RFC1918 subnet and I use one-to-one NAT to
assign non-RFC1918 addresses to hosts in Z.
Hosts in Z cannot communicate with each other using their external
(non-RFC1918 addresses) so they can't access
@@ -109,6 +100,11 @@ getting logged?
21. I see these strange log entries occasionally;
what are they?
+
7. When I stop Shorewall using
@@ -140,6 +136,9 @@ your web site?
25. How to I tell which version of Shorewall
I am running?
+
+31. Does
+Shorewall provide protection against...
14. I'm connected via a cable
@@ -173,7 +172,15 @@ only from specific IP Addresses on the internet?
options in nmap on or behind the firewall, I get "operation not
permitted". How can I use nmap with Shorewall?"
-27. I am compiling a new kernel for my
+26a. When I try
+to use the "-O" option of nmap
+from the firewall system, I get "operation
+not permitted". How to I allow this option?
+
+27. I am compiling a new kernel
+for my
firewall. What should I look out for?
28. How do I use Shorewall as a Bridging
@@ -282,8 +289,9 @@ three things:
using a separate DNS server for local clients) such that www.mydomain.com resolves to 130.141.100.69 externally and 192.168.1.5 internally. That's what I do here at shorewall.net for my local systems -that use static NAT. +that use one-to-one NAT.
If you insist on an IP solution to the accessibility problem rather than a DNS solution, then assuming that your external @@ -401,7 +411,7 @@ please upgrade to Shorewall 1.4.2 or later.
- In /etc/shorewall/interfaces:
-+
- -
@@ -329,151 +526,32 @@ My key Shorewall entries are: ZONE
@@ -507,7 +517,8 @@ DHCP/PPPoE client to automatically restart Shorewall each time that you get a new IP address.2a. I have a zone "Z" with an -RFC1918 subnet and I use static NAT to assign non-RFC1918 addresses to +RFC1918 subnet and I use one-to-one NAT to assign non-RFC1918 addresses +to hosts in Z. Hosts in Z cannot communicate with each other using their external (non-RFC1918 addresses) so they can't access each other using their DNS names.
@@ -521,7 +532,7 @@ solved using Bind Version 9 "views". It allows both external and internal clients to access a NATed host using the host's DNS name.Another good way to approach this problem is to switch -from static NAT to Proxy ARP. That way, the +from one-to-one NAT to Proxy ARP. That way, the hosts in Z have non-RFC1918 addresses and can be accessed externally and internally using the same address.
If you don't like those solutions and prefer routing @@ -984,9 +995,44 @@ cause of packets being logged in the FORWARD chain.
- logflags - The packet is being logged because it failed the checks implemented by the tcpflags interface option.
+ href="Documentation.htm#Interfaces">interface option. +
-Here is an example:
+ +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
+ +Let's look at the important parts of this message:
++
+- all2all:REJECT - This packet was REJECTed out of the all2all chain -- the packet +was rejected under the "all"->"all" +REJECT policy (number 3 above).
+- IN=eth2 - the packet entered the firewall via eth2. If you see +"IN=" with no interface name, the packet originated on the firewall +itself.
+
+- OUT=eth1 - if accepted, the packet would be sent on eth1. If you +see "OUT=" with no interface name, the packet would be processed by the +firewall itself.
+
+- SRC=192.168.2.2 - the packet was sent by 192.168.2.2
+- DST=192.168.1.3 - the packet is destined for 192.168.1.3
+- PROTO=UDP - UDP Protocol
+- DPT=53 - The destination port is 53 (DNS)
+
+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:
+ ACCEPT dmz +loc udp 5318. Is there any way to use aliased ip addresses with Shorewall, and maintain separate rulesets for different IPs?
@@ -1079,13 +1125,22 @@ Shorewall I am running?
At the shell prompt, type:
/sbin/shorewall -version
+version
+26. When I try to use any of the SYN options in nmap on or behind the firewall, I get "operation not permitted". How can I use nmap with Shorewall?"
Edit /etc/shorewall/shorewall.conf and change "NEWNOTSYN=No" to "NEWNOTSYN=Yes" then restart Shorewall.
+
+26a. +When I try to use the "-O" +option of nmap from the firewall system, I get "operation not permitted". How to I +allow this option?
+Add this command to your /etc/shorewall/start file:
+run_iptables -D OUTPUT -p ! icmp -m state --state INVALID -j DROP27. I'm compiling a new kernel for my firewall. What should I look out for?
@@ -1118,8 +1173,208 @@ to allow connections from the internet to your local network. In all other cases, you use ACCEPT unless you need to hijack connections as they go through your firewall and handle them on the firewall box itself; in that case, you use a REDIRECT rule.
+31. Does Shorewall provide protection +against....
++
+- IP Spoofing: Sending packets over the WAN interface using an +internal LAP IP address as the source address? Answer: Yes.
+- Tear Drop: Sending packets that contain overlapping fragments? Answer: This is the responsibility +of the IP stack, not the Netfilter-based firewall since fragment +reassembly occurs before the stateful packet filter ever touches each +packet.
+- Smurf and Fraggle: Sending packets that use the WAN or LAN +broadcast address as the source address? Answer: Shorewall can be configured +to do that using the blacklisting +facility.
+- Land Attack: Sending packets that use the same address as the +source and destination address? Answer: + Yes, if the routefilter +interface option is selected.
+- DOS:
+
+ - SYN Dos
+ - ICMP Dos
+ - Per-host Dos protection
+ Answer: Shorewall has +facilities for limiting SYN and ICMP packets. Netfilter as included in +standard Linux kernels doesn't support per-remote-host limiting except +by explicit rule that specifies the host IP address; that form of +limiting is supported by Shorewall.32. My +firewall has two connections to the internet from two different ISPs. +How do I set this up in Shorewall?
+Setting this up in Shorewall is easy; setting up the routing is a bit +harder.
-Last updated 10/04/2003 - Tom +Assuming that eth0 and eth1 are the interfaces to the two ISPs then:
+
+/etc/shorewall/interfaces:
+++/etc/shorewall/policy:+ +
++ +ZONE +INTERFACE +BROADCAST +OPTIONS ++ +net +
+eth0 +detect +
+... +
++ + +net +
+eth1 +
+detect +
+... +
+
++++ +
++ +SOURCE +DESTINATION +POLICY +LIMIT:BURST ++ + +net +
+net +
+DROP +
++
+
The following information +regarding setting up routing for this +configuration is reproduced from the LARTC +HOWTO and has not been verified by the author. If you have +questions or problems with the instructions given below, please post to +the LARTC mailing list.
+
A common configuration is the +following, in which there are two providers +that connect a local network (or even a single machine) to the big +Internet. +________+
+------------+ /
| | |
+-------------+ Provider 1 +-------
__ | | | /
___/ \_ +------+-------+ +------------+ |
_/ \__ | if1 | /
/ \ | | |
| Local network -----+ Linux router | | Internet
\_ __/ | | |
\__ __/ | if2 | \
\___/ +------+-------+ +------------+ |
| | | \
+-------------+ Provider 2 +-------
| | |
+------------+ \________There are usually two questions given this setup.
+++Split access
+The first is how to route answers to packets coming in over a +particular provider, say Provider 1, back out again over that same +provider.
+Let us first set some symbolical names. Let $IF1 +be the name of the first interface (if1 in the picture above) and $IF2 the name of the second interface. Then let $IP1 be the IP address associated with $IF1 and $IP2 the IP +address associated with $IF2. Next, let $P1 be the IP address of the gateway at Provider +1, and $P2 the IP address of the gateway at +provider 2. Finally, let $P1_NET be the IP +network $P1 is in, and $P2_NET +the IP network $P2 is in.
+One creates two additional routing tables, say T1 +and T2. These are added in +/etc/iproute2/rt_tables. Then you set up routing in these tables as +follows:
++
ip route add $P1_NET dev $IF1 src $IP1 table T1+Nothing spectacular, just build a route to the gateway and build a +default route via that gateway, as you would do in the case of a single +upstream provider, but put the routes in a separate table per provider. +Note that the network route suffices, as it tells you how to find any +host in that network, which includes the gateway, as specified above. +
ip route add default via $P1 table T1
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add default via $P2 table T2
Next you set up the main routing table. It is a good idea to route +things to the direct neighbour through the interface connected to that +neighbour. Note the `src' arguments, they make sure the right outgoing +IP address is chosen.
+ip route add $P1_NET dev $IF1 src $IP1+Then, your preference for default route: +
ip route add $P2_NET dev $IF2 src $IP2
ip route add default via $P1+Next, you set up the routing rules. These actually choose what routing +table to route with. You want to make sure that you route out a given +interface if you already have the corresponding source address: +
ip rule add from $IP1 table T1+This set of commands makes sure all answers to traffic coming in on a +particular interface get answered from that interface. +
ip rule add from $IP2 table T2
+
+++ +
++ + ++ + +Reader Rod Roark notes: 'If $P0_NET is the local network and +$IF0 is its interface, +the following additional entries are desirable:
+ip route add $P0_NET dev $IF0 table T1+'
ip route add $P2_NET dev $IF2 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add $P0_NET dev $IF0 table T2
ip route add $P1_NET dev $IF1 table T2
ip route add 127.0.0.0/8 dev lo table T2Now, this is just the very basic setup. It will work for all +processes running on the router itself, and for the local network, if +it is masqueraded. If it is not, then you either have IP space from +both providers or you are going to want to masquerade to one of the two +providers. In both cases you will want to add rules selecting which +provider to route out from based on the IP address of the machine in +the local network.
+++Load balancing
+The second question is how to balance traffic going out over the +two providers. This is actually not hard if you already have set up +split access as above.
+Instead of choosing one of the two providers as your default route, +you now set up the default route to be a multipath route. In the +default kernel this will balance routes over the two providers. It is +done as follows (once more building on the example in the section on +split-access):
+ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \+This will balance the routes over both providers. The weight parameters can be tweaked to favor one +provider over the other. +
nexthop via $P2 dev $IF2 weight 1
Note that balancing will not be perfect, as it is route based, and +routes are cached. This means that routes to often-used sites will +always be over the same provider.
+Furthermore, if you really want to do this, you probably also want +to look at Julian Anastasov's patches at http://www.ssi.bg/~ja/#routes +, Julian's route patch page. They will make things nicer to work +with.
+
End of information reproduced +from the LARTC HOWTO. If you have +questions or problems with the instructions given above, please post to +the LARTC mailing list. +
Last updated +11/20/2003 - Tom EastepCopyright © 2001, 2002, 2003 Thomas M. Eastep.
-
diff --git a/Shorewall-docs/FTP.html b/Shorewall-docs/FTP.html index b9311431e..f1291a564 100644 --- a/Shorewall-docs/FTP.html +++ b/Shorewall-docs/FTP.html @@ -8,19 +8,37 @@- -
- - -- -Shorewall and FTP
-+Shorewall and FTP
+
+
+NOTICE: If you are running +Mandrake 9.1 or 9.2 and are having problems with FTP, you have three +choices:
++
+- Edit /usr/share/shorewall/firewall and replace this line:
+
+
+ for suffix in o gz ko ; do
+
+with
+
+ for suffix in o gz ko o.gz ; do
+
+ and at a root shell prompt:
+
+ shorewall +restart
+
+- Install the Mandrake "cooker" version of Shorewall.
+
+
+- Upgrade to Shorewall 1.4.7 or later.
+
+
FTP transfers involve two TCP connections. The first control connection goes from the FTP client to port 21 on the FTP server. This connection is used for logon and to send commands and responses between @@ -30,7 +48,8 @@ connection is dependent on the mode that the client is operating in:
-
- Passive Mode (default for web browsers) -- The client issues a +
- Passive Mode (often the default for web browsers) -- The client +issues a PASV command. Upon receipt of this command, the server listens on a dynamically-allocated port then sends a PASV reply to the client. The PASV reply gives the IP address @@ -91,13 +110,17 @@ that the modules "ip_conntrack_ftp" and "ip_nat_ftp" need to be loaded. Shorewall automatically loads these "helper" modules from /lib/modules/<kernel-version>/kernel/net/ipv4/netfilter/ -and you can determine if they are loaded using the 'lsmod' command:
+and you can determine if they are loaded using the 'lsmod' command. The +<kernel-version> may be +obtained by typing
+uname -r + +Example:-Example:
--[root@lists etc]# lsmod+
Module Size Used by Not tainted
autofs 12148 0 (autoclean) (unused)
ipt_TOS 1560 12 (autoclean)
ipt_LOG 4120 5 (autoclean)
ipt_REDIRECT 1304 1 (autoclean)
ipt_REJECT 3736 4 (autoclean)
ipt_state 1048 13 (autoclean)
ip_nat_irc 3152 0 (unused)
ip_nat_ftp 3888 0 (unused)
ip_conntrack_irc 3984 1
ip_conntrack_ftp 5008 1
ipt_multiport 1144 2 (autoclean)
ipt_conntrack 1592 0 (autoclean)
iptable_filter 2316 1 (autoclean)
iptable_mangle 2680 1 (autoclean)
iptable_nat 20568 3 (autoclean) [ipt_REDIRECT ip_nat_irc ip_nat_ftp]
ip_conntrack 26088 5 (autoclean) [ipt_REDIRECT ipt_state ip_nat_irc ip_nat_ftp ip_conntrack_irc ip_conntrack_ftp ipt_conntrack iptable_nat]
ip_tables 14488 12 [ipt_TOS ipt_LOG ipt_REDIRECT ipt_REJECT ipt_state ipt_multiport ipt_conntrack iptable_filter iptable_mangle iptable_nat]
tulip 42464 0 (unused)
e100 50596 1
keybdev 2752 0 (unused)
mousedev 5236 0 (unused)
hid 20868 0 (unused)
input 5632 0 [keybdev mousedev hid]
usb-uhci 24684 0 (unused)
usbcore 73280 1 [hid usb-uhci]
ext3 64704 2
jbd 47860 2 [ext3]
[root@lists etc]#[root@lists etc]# lsmod
Module Size Used by Not tainted
autofs 12148 0 (autoclean) (unused)
ipt_TOS 1560 12 (autoclean)
ipt_LOG 4120 5 (autoclean)
ipt_REDIRECT 1304 1 (autoclean)
ipt_REJECT 3736 4 (autoclean)
ipt_state 1048 13 (autoclean)
ip_nat_irc 3152 0 (unused)
ip_nat_ftp 3888 0 (unused)
ip_conntrack_irc 3984 1
ip_conntrack_ftp 5008 1
ipt_multiport 1144 2 (autoclean)
ipt_conntrack 1592 0 (autoclean)
iptable_filter 2316 1 (autoclean)
iptable_mangle 2680 1 (autoclean)
iptable_nat 20568 3 (autoclean) [ipt_REDIRECT ip_nat_irc ip_nat_ftp]
ip_conntrack 26088 5 (autoclean) [ipt_REDIRECT ipt_state ip_nat_irc
ip_nat_ftp ip_conntrack_irc ip_conntrack_ftp
ipt_conntrack iptable_nat]
ip_tables 14488 12 [ipt_TOS ipt_LOG ipt_REDIRECT ipt_REJECT ipt_state
ipt_multiport ipt_conntrack iptable_filter
iptable_mangle iptable_nat]
tulip 42464 0 (unused)
e100 50596 1
keybdev 2752 0 (unused)
mousedev 5236 0 (unused)
hid 20868 0 (unused)
input 5632 0 [keybdev mousedev hid]
usb-uhci 24684 0 (unused)
usbcore 73280 1 [hid usb-uhci]
ext3 64704 2
jbd 47860 2 [ext3]
[root@lists etc]#@@ -105,6 +128,12 @@ and you can determine if they are loaded using the 'lsmod' command:
directory, you need to set the MODULESDIR variable in /etc/shorewall/shorewall.conf to point to that directory.
+If your FTP helper modules are compressed and have the names ip_nat_ftp.o.gz and ip_conntrack_ftp.o.gz then you will +need Shorewall 1.4.7 or later if you want Shorewall to load them for +you.
+Server configuration is covered in the /etc/shorewall/rules documentation,
@@ -203,7 +232,7 @@ to the net.
-Last updated 9/17/2003 - Last updated 12/01/2003 - Tom Eastep
Copyright © 2003 Thomas M. Eastep.
diff --git a/Shorewall-docs/GenericTunnels.html b/Shorewall-docs/GenericTunnels.html index 6509a4249..6340f2f85 100644 --- a/Shorewall-docs/GenericTunnels.html +++ b/Shorewall-docs/GenericTunnels.html @@ -8,17 +8,8 @@ -- -
+- - -- -Generic Tunnels
-Generic Tunnels
Shorewall includes built-in support for a wide range of VPN solutions. If you have need for a tunnel type that does not have explicit support, you can generally describe the tunneling software using "generic diff --git a/Shorewall-docs/GnuCopyright.htm b/Shorewall-docs/GnuCopyright.htm index ef2028032..cd238fe96 100644 --- a/Shorewall-docs/GnuCopyright.htm +++ b/Shorewall-docs/GnuCopyright.htm @@ -1,341 +1,420 @@ - - - -
+Copyright - - -- -
- + +- - - -- -GNU Free Documentation License
-GNU Free Documentation License
+Version 1.1, March 2000
-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.0. PREAMBLE
- -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.
- -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 +
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.
+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.
- -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 +
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.
-1. APPLICABILITY AND DEFINITIONS
- -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. +
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".
- -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 +
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.
- -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 +
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.
- -The "Invariant Sections" are certain Secondary Sections whose titles are -designated, as being those of Invariant Sections, in the notice that says +
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.
- -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 +
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.
- -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 +
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".
- -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 +
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.
- -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 +
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.
-2. VERBATIM COPYING
- -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. +
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.
- -You may also lend copies, under the same conditions stated above, and +
You may also lend copies, under the same conditions stated above, +and you may publicly display copies.
-3. COPYING IN QUANTITY
- -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, +
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.
- -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.
- -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 +
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.
+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.
- -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 +
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.
-4. MODIFICATIONS
- -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 +
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:
- -- +
-
- -- A. 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.
-- B. 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). -
-- C. State on the Title page the name of the publisher -of the Modified Version, as the publisher.
-- D. Preserve all the copyright notices of the Document. -
-- E. Add an appropriate copyright notice for your - modifications adjacent to the other copyright notices.
-- F. 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. -
-- G. Preserve in that license notice the full lists -of Invariant Sections and required Cover Texts given in the Document's -license notice.
-- H. Include an unaltered copy of this License.
-- I. 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.
-- J. 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.
-- K. 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.
-- L. 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.
-- M. Delete any section entitled "Endorsements". Such -a section may not be included in the Modified Version.
-- N. Do not retitle any existing section as "Endorsements" - or to conflict in title with any Invariant Section.
- +- A. 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.
+- B. 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).
+- C. State on the Title page the name of the +publisher +of the Modified Version, as the publisher.
+- D. Preserve all the copyright notices of the +Document.
+- E. Add an appropriate copyright notice for your +modifications adjacent to the other copyright notices.
+- F. 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.
+- G. Preserve in that license notice the full +lists +of Invariant Sections and required Cover Texts given in the Document's +license notice.
+- H. Include an unaltered copy of this License.
+- I. 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.
+- J. 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.
+- K. 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.
+- L. 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.
+- M. Delete any section entitled "Endorsements". +Such +a section may not be included in the Modified Version.
+- N. Do not retitle any existing section as +"Endorsements" or to conflict in title with any Invariant Section.
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 +
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.
- -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.
- -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 +
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.
+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.
- -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.
- +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.
5. COMBINING DOCUMENTS
- -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 +
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.
- -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 +
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.
- -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."
- +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."
6. COLLECTIONS OF DOCUMENTS
- -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 +
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.
- -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 +
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.
-7. AGGREGATION WITH INDEPENDENT WORKS
- -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, +
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.
- -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 +
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.
-8. TRANSLATION
- -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 +
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.
-9. TERMINATION
- -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 +
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.
-10. FUTURE REVISIONS OF THIS LICENSE
- -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 +
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/.
- -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. +
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.
- --
++
diff --git a/Shorewall-docs/IPIP.htm b/Shorewall-docs/IPIP.htm index 28370194a..74069fa5d 100644 --- a/Shorewall-docs/IPIP.htm +++ b/Shorewall-docs/IPIP.htm @@ -1,98 +1,71 @@ -GRE/IPIP Tunnels - - - - -- -
- -- - - -- -GRE and IPIP Tunnels
-Warning: GRE and IPIP Tunnels are insecure -when used over the internet; use them at your own risk
- -GRE and IPIP tunneling with Shorewall can be used to bridge two masqueraded -networks.
- -The simple scripts described in the Linux -Advanced Routing and Shaping HOWTO 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>/).
- + +GRE and IPIP Tunnels
+
+Warning: GRE and IPIP Tunnels are +insecure when used over the internet; use them at your own risk
+GRE and IPIP tunneling with Shorewall can be used to bridge two +masqueraded networks.
+The simple scripts described in the Linux +Advanced Routing and Shaping HOWTO 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>/).
Bridging two Masqueraded Networks
-Suppose that we have the following situation:
- --
- -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.
- -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>).
- -In the /etc/shorewall/tunnel script, set the 'tunnel_type' -parameter to the type of tunnel that you want to create.
- ++
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.
+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>).
+In the /etc/shorewall/tunnel script, set the +'tunnel_type' parameter to the type of tunnel that you want to create.
Example:
- -++- -tunnel_type=gre
-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.
- -++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.
+- -- -
-- -ZONE -DISPLAY -COMMENTS -- - - + +vpn -VPN -Remote Subnet -+ +ZONE +DISPLAY +COMMENTS ++ +vpn +VPN +Remote Subnet +On system A, the 10.0.0.0/8 will comprise the vpn zone. +
On system A, the 10.0.0.0/8 will comprise the vpn +zone. In /etc/shorewall/interfaces:
- -++- -- -
-+ +- - + ZONE INTERFACE BROADCAST @@ -102,19 +75,17 @@ In /etc/shorewall/interfaces:vpn tosysb 10.255.255.255 -+ In /etc/shorewall/tunnels on system A, we need the following:
- -++In /etc/shorewall/tunnels on system A, we need the +following:
+- -- -
-+ +- - + TYPE ZONE GATEWAY @@ -124,34 +95,29 @@ In /etc/shorewall/interfaces:ipip net 134.28.54.2 -+ This entry in /etc/shorewall/tunnels, opens the firewall so that the IP - encapsulation protocol (4) will be accepted to/from the remote gateway.
- +This entry in /etc/shorewall/tunnels, opens the firewall so that the +IP encapsulation protocol (4) will be accepted to/from the remote +gateway.
In the tunnel script on system A:
- -++- -tunnel=tosysb
-
- myrealip=206.161.148.9 (for GRE tunnel only)
- myip=192.168.1.1
- hisip=10.0.0.1
- gateway=134.28.54.2
- subnet=10.0.0.0/8Similarly, On system B the 192.168.1.0/24 subnet will comprise the vpn +myrealip=206.161.148.9 (for GRE tunnel only)
+
+myip=192.168.1.1
+hisip=10.0.0.1
+gateway=134.28.54.2
+subnet=10.0.0.0/8Similarly, On system B the 192.168.1.0/24 subnet will comprise the vpn zone. In /etc/shorewall/interfaces:
- -+- +- -
-+ +- - + ZONE INTERFACE BROADCAST @@ -161,19 +127,16 @@ zone. In /etc/shorewall/interfaces:vpn tosysa 192.168.1.255 -+ In /etc/shorewall/tunnels on system B, we have:
- -+- +- -
-+ +- - + TYPE ZONE GATEWAY @@ -183,67 +146,59 @@ zone. In /etc/shorewall/interfaces:ipip net 206.191.148.9 -+ And in the tunnel script on system B:
- -++- -tunnel=tosysa
-
- myrealip=134.28.54.2 (for GRE tunnel only)
- myip=10.0.0.1
- hisip=192.168.1.1
- gateway=206.191.148.9
- subnet=192.168.1.0/24You can rename the modified tunnel scripts if you like; be sure that they -are secured so that root can execute them.
- -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:
- -+myrealip=134.28.54.2 (for GRE tunnel only)+
+myip=10.0.0.1
+hisip=192.168.1.1
+gateway=206.191.148.9
+subnet=192.168.1.0/24 +You can rename the modified tunnel scripts if you like; be sure that +they are secured so that root can execute them.
+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:
+- -- -
-- -SOURCE -DEST -POLICY -LOG LEVEL -- -loc -vpn -ACCEPT -- - - - + +vpn -loc -ACCEPT -- + +SOURCE +DEST +POLICY +LOG LEVEL ++ +loc +vpn +ACCEPT ++ + +vpn +loc +ACCEPT ++ 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 +
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
- -Updated 2/22/2003 - Tom Eastep +
Updated 2/22/2003 - Tom Eastep
- -Copyright © Copyright © 2001, 2002, 2003Thomas M. Eastep.
-
-
+
+
diff --git a/Shorewall-docs/IPSEC.htm b/Shorewall-docs/IPSEC.htm index 537282ba3..9d832e994 100644 --- a/Shorewall-docs/IPSEC.htm +++ b/Shorewall-docs/IPSEC.htm @@ -8,17 +8,8 @@ -- -
+- - -- -IPSEC Tunnels
-IPSEC Tunnels
+Configuring FreeS/Wan
There is an excellent guide to configuring IPSEC tunnels at @@ -34,10 +25,40 @@ to debug this problem so I can't say if it is a bug in the Kernel or in FreeS/Wan.You might be able to work around this problem using the following (I haven't tried it):
-In /etc/shorewall/init, include:
-qt service ipsec stop
-In /etc/shorewall/start, include:
-qt service ipsec start
+In /etc/shorewall/init, include:
+ +qt service ipsec +stop
+ +In /etc/shorewall/start, include:
+ +qt service ipsec start
+
+Also, the documentation below assumes that you have disabled +opportunistic encryption feature in FreeS/Wan 2.0 using the following +additional entries in ipsec.conf:
+
+conn block
+For further information see http://www.freeswan.org/freeswan_trees/freeswan-2.03/doc/policygroups.html.
+ auto=ignore
+
+conn private
+ auto=ignore
+
+conn private-or-clear
+ auto=ignore
+
+conn clear-or-private
+ auto=ignore
+
+conn clear
+ auto=ignore
+
+conn packetdefault
+ auto=ignore
+
+IPSec Gateway on the Firewall System
Suppose that we have the following sutuation:
@@ -631,7 +652,7 @@ issue the command":
/sbin/shorewall add ipsec0:134.28.54.2 vpn2and the 'down' part will:
-/sbin/shorewall delete ipsec0:134.28.54.2 vpn
+/sbin/shorewall delete ipsec0:134.28.54.2 vpn2
Limitations of Dynamic Zones
@@ -664,7 +685,7 @@ DESTINATION
DNAT -
z:dyn
+z!dyn
loc:192.168.1.3 @@ -682,7 +703,7 @@ DESTINATION
Dynamic changes to the zone dyn will have no effect on the above rule. -Last updated 8/12//2003 - Last updated 10/292003 - Tom Eastep
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
diff --git a/Shorewall-docs/Install.htm b/Shorewall-docs/Install.htm index 7c69068e7..d8daa5be8 100644 --- a/Shorewall-docs/Install.htm +++ b/Shorewall-docs/Install.htm @@ -1,221 +1,189 @@Shorewall Installation - - - - -- -
- + +- - - -- -Shorewall Installation and - Upgrade
-Shorewall Installation and Upgrade
+Before upgrading, be sure to review the Upgrade Issues
- -
-Before attempting installation, I strongly urge you -to read and print a copy of the Shorewall QuickStart Guide - for the configuration that most closely matches your own.- + +
-Before attempting installation, I strongly urge +you +to read and print a copy of the Shorewall QuickStart Guide +for the configuration that most closely matches your own.
+Install using RPM
- +Install using tarball
- Install using tarball
- Install the .lrp
- Upgrade using RPM
- Upgrade using tarball
- Upgrade the .lrp
- Configuring Shorewall
- Uninstall/Fallback
+Install the .lrp
+Upgrade using RPM
+Upgrade using tarball
+Upgrade the .lrp
+Configuring Shorewall
+Uninstall/FallbackTo install Shorewall using the RPM:
- -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 RedHat update - site or from the Shorewall Errata page before - attempting to start Shorewall.
- +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 RedHat +update site or from the Shorewall Errata page +before attempting to start Shorewall.
-
- -- Install the RPM (rpm -ivh <shorewall rpm>).
-
-
- Note1: 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>.
-
- Note2: 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:
-
- error: failed dependencies:iproute is needed by shorewall-1.4.x-1 -
-
- This may be worked around by using the --nodeps option of rpm (rpm -ivh - --nodeps <shorewall rpm>).
-
-- Edit the configuration files - to match your configuration. WARNING - YOU CAN - NOT 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.
-- Start the firewall by typing "shorewall start"
- +- Install the RPM (rpm -ivh <shorewall rpm>).
+
+
+ Note1: 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>.
+
+ Note2: 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:
+
+ error: failed dependencies:iproute is needed by +shorewall-1.4.x-1
+
+This may be worked around by using the --nodeps option of rpm (rpm -ivh +--nodeps <shorewall rpm>).
+
+- Edit the configuration files to +match your configuration. WARNING - YOU CAN NOT +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.
+- Start the firewall by typing "shorewall start"
To install Shorewall using the tarball - and install script:
- +To install Shorewall using the tarball +and install script:
-
- -- unpack the tarball (tar -zxf shorewall-x.y.z.tgz).
-- cd to the shorewall directory (the version is encoded in -the directory name as in "shorewall-1.1.10").
-- If you are using unpack the tarball (tar -zxf shorewall-x.y.z.tgz).
+- cd to the shorewall directory (the version is encoded in the +directory name as in "shorewall-1.1.10").
+- If you are using Caldera, RedHat, RedHat, Mandrake, Corel, Slackware or Debian then type "./install.sh"
-- If you are using SuSe -then type "./install.sh /etc/init.d"
-- If your distribution has directory /etc/rc.d/init.d - or /etc/init.d then type "./install.sh"
-- For other distributions, determine where your - distribution installs init scripts and type "./install.sh - <init script directory>
-- Edit the configuration files - to match your configuration.
-- Start the firewall by typing "shorewall start"
-- If the install script was unable to configure Shorewall -to be started automatically at boot, see these instructions.
- + href="http://www.corel.com">Corel, Slackware or Debian then type "./install.sh" +- If you are using SuSe +then type "./install.sh /etc/init.d"
+- If your distribution has directory /etc/rc.d/init.d or +/etc/init.d then type "./install.sh"
+- For other distributions, determine where your distribution +installs init scripts and type "./install.sh <init script +directory>
+- Edit the configuration files to +match your configuration.
+- Start the firewall by typing "shorewall start"
+- If the install script was unable to configure Shorewall +to be started automatically at boot, see these instructions.
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 two-interface -QuickStart Guide for information about further steps required.
- -If you already have the Shorewall RPM installed - and are upgrading to a new version:
- -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 the upgrade issues for - details.
- +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 two-interface +QuickStart Guide for information about further steps required.
+If you already have the Shorewall RPM +installed and are upgrading to a new version:
+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 the upgrade +issues for details.
-
- -- Upgrade the RPM (rpm -Uvh <shorewall rpm file>) Note: - 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"). - -
-Note1: 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>).
-
-
- Note3: 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:
-
- error: failed dependencies:iproute is needed by shorewall-1.4.0-1 -
-
- This may be worked around by using the --nodeps option of rpm (rpm --Uvh --nodeps <shorewall rpm>).- See if there are any incompatibilities between your configuration - and the new Shorewall version (type "shorewall check") and correct as - necessary.
-- Restart the firewall (shorewall restart).
- +- Upgrade the RPM (rpm -Uvh <shorewall rpm file>) Note: 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"). +
+Note1: 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>).
+
+
+ Note3: 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:
+
+ error: failed dependencies:iproute is needed by +shorewall-1.4.0-1
+
+This may be worked around by using the --nodeps option of rpm (rpm +-Uvh --nodeps <shorewall rpm>).- See if there are any incompatibilities between your configuration +and the new Shorewall version (type "shorewall check") and correct as +necessary.
+- Restart the firewall (shorewall restart).
If you already have Shorewall installed +
If you already have Shorewall +installed and are upgrading to a new version using the tarball:
- -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 the upgrade issues +
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 the upgrade issues for details.
--
- If you already have a running -Bering installation and wish to upgrade to a later version of Shorewall:- unpack the tarball (tar -zxf shorewall-x.y.z.tgz).
-- cd to the shorewall directory (the version is encoded in -the directory name as in "shorewall-3.0.1").
-- If you are using unpack the tarball (tar -zxf shorewall-x.y.z.tgz).
+- cd to the shorewall directory (the version is encoded in the +directory name as in "shorewall-3.0.1").
+- If you are using Caldera, RedHat, RedHat, Mandrake, Corel, Slackware or Debian then type "./install.sh"
-- If you are using SuSe -then type "./install.sh /etc/init.d"
-- If your distribution has directory /etc/rc.d/init.d - or /etc/init.d then type "./install.sh"
-- For other distributions, determine where your - distribution installs init scripts and type "./install.sh - <init script directory>
-- See if there are any incompatibilities between your configuration - and the new Shorewall version (type "shorewall check") and correct as - necessary.
-- Restart the firewall by typing "shorewall restart"
- + href="http://www.corel.com">Corel, Slackware or Debian then type "./install.sh" +- If you are using SuSe +then type "./install.sh /etc/init.d"
+- If your distribution has directory /etc/rc.d/init.d or +/etc/init.d then type "./install.sh"
+- For other distributions, determine where your distribution +installs init scripts and type "./install.sh <init script +directory>
+- See if there are any incompatibilities between your configuration +and the new Shorewall version (type "shorewall check") and correct as +necessary.
+- Restart the firewall by typing "shorewall restart"
-
- UNDER CONSTRUCTION...
- +If you already have a running +Bering installation and wish to upgrade to a later version of Shorewall:
+
+ UNDER CONSTRUCTION...
Configuring Shorewall
- -You will need to edit some or all of the configuration files to match your - setup. In most cases, the Shorewall - QuickStart Guides contain all of the information you need.
- +You will need to edit some or all of the configuration files to +match your setup. In most cases, the Shorewall QuickStart Guides +contain all of the information you need.
-
- -Updated 4/8/2003 - Tom Eastep -
- -Copyright © Updated 4/8/2003 - Tom Eastep +
+Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
-
-
+ +
+
diff --git a/Shorewall-docs/MAC_Validation.html b/Shorewall-docs/MAC_Validation.html index 4242b0e5a..55e1416e7 100644 --- a/Shorewall-docs/MAC_Validation.html +++ b/Shorewall-docs/MAC_Validation.html @@ -2,123 +2,103 @@MAC Verification - - - - -- -
-- - - -- -MAC Verification
-
-
-
- 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. -
-
- Your kernel must include MAC match support (CONFIG_IP_NF_MATCH_MAC - - module name ipt_mac.o).
-
- There are four components to this facility.
- + +
+MAC Verification
+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.
+
+
+Your kernel must include MAC match support (CONFIG_IP_NF_MATCH_MAC - +module name ipt_mac.o).
+
+There are four components to this facility.
-
- The columns in /etc/shorewall/maclist are:- The maclist interface option in /etc/shorewall/interfaces. When -this option is specified, all traffic arriving on the interface is subjet +
- The maclist interface option in /etc/shorewall/interfaces. +When +this option is specified, all traffic arriving on the interface is +subjet to MAC verification.
-- The maclist option in /etc/shorewall/hosts. When this option - is specified for a subnet, all traffic from that subnet is subject to -MAC verification.
-- The /etc/shorewall/maclist file. This file is used to associate - MAC addresses with interfaces and to optionally associate IP addresses - with MAC addresses.
-- The MACLIST_DISPOSITION and MACLIST_LOG_LEVEL - variables in /etc/shorewall/shorewall.conf. - 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.
- +
-- The maclist option in /etc/shorewall/hosts. +When this option is specified for a subnet, all traffic from that +subnet is subject to +MAC verification.
+- The /etc/shorewall/maclist file. This file is used to associate +MAC addresses with interfaces and to optionally associate IP addresses +with MAC addresses.
+- The MACLIST_DISPOSITION and MACLIST_LOG_LEVEL variables +in /etc/shorewall/shorewall.conf. +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.
+
- +The columns in /etc/shorewall/maclist are:
-
- -- INTERFACE - The name of an ethernet interface on the Shorewall - system.
-- 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.
-- IP Address - An optional comma-separated list of IP addresses - for the device whose MAC is listed in the MAC column.
- +- INTERFACE - The name of an ethernet interface on the Shorewall +system.
+- 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.
+- IP Address - An optional comma-separated list of IP addresses for +the device whose MAC is listed in the MAC column.
Example 1: Here are my files (look here for -details about my setup):
- /etc/shorewall/shorewall.conf:
- +Example 1: Here are my files (look here +for details about my setup):
+/etc/shorewall/shorewall.conf:
+MACLIST_DISPOSITION=REJECT- /etc/shorewall/interfaces:
MACLIST_LOG_LEVEL=info
- -+/etc/shorewall/interfaces:+As shown above, I use MAC Verification on my wireless zone.
+- /etc/shorewall/maclist:#ZONE INTERFACE BROADCAST OPTIONS-
net eth0 206.124.146.255 dhcp,norfc1918,routefilter,blacklist,tcpflags
loc eth2 192.168.1.255 dhcp
dmz eth1 192.168.2.255
WiFi eth3 192.168.3.255 dhcp,maclist
- texas 192.168.9.255
- -++/etc/shorewall/maclist:
+- As shown above, I use MAC Verification on my wireless zone.#INTERFACE MAC IP ADDRESSES (Optional)-
eth3 00:A0:CC:A2:0C:A0 192.168.3.7 #Work Laptop
eth3 00:04:5a:fe:85:b9 192.168.3.250 #WAP11
eth3 00:06:25:56:33:3c 192.168.3.225,192.168.3.8 #WET11
eth3 00:0b:cd:C4:cc:97 192.168.3.8 #TIPPER
-
- Note: 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 +
+
+Note: 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.
-Example 2: Router in Wireless Zone
- 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:
- +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:
eth3 00:06:43:45:C6:15 192.168.3.253,192.168.4.0/24- 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. -Updated 6/30/2002 - Tom Eastep -
- -Copyright © - 2001, 2002, 2003 Thomas M. Eastep.
-
-
-
-
-
-
-
+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. +Updated 6/30/2002 - Tom Eastep +
+Copyright © 2001, 2002, 2003 Thomas M. Eastep.
+
+
+
+
+
+
+
diff --git a/Shorewall-docs/Multiple_Zones.html b/Shorewall-docs/Multiple_Zones.html new file mode 100755 index 000000000..4f45281b1 --- /dev/null +++ b/Shorewall-docs/Multiple_Zones.html @@ -0,0 +1,551 @@ + + + + +Multiple Zones per Interface + + + + + + ++Multiple Zones per Interface
+While most configurations can be handled with each of the firewall's +network interfaces assigned to a single zone, there are cases where you +will want to divide the hosts accessed through an interface between two +or more zones.
+
++
+The key points to keep in mind when setting up multiple zones per +interface are:- The interface has multiple addresses on multiple subnetworks. +This case is covered in the Aliased Interface +documentation.
+- You are using some form of NAT and want to access a server by its +external IP address from the same LAN segment. This is covered in FAQs 2 and 2a.
+
+- There are routers accessible through the interface and you want +to treat the networks accessed through that router as a separate zone.
+- Some of the hosts accessed through an interface have +significantly different firewalling requirements from the others so you +want to assign them to a different zone.
+
++
+These examples use the local zone but +the same technique works for any zone. Remember that Shorewall +doesn't have any conceptual knowledge of "Internet", "Local", or "DMZ" +so all zones except the firewall itself ($FW) are the same as far as +Shorewall is concerned. Also, the examples use private (RFC 1918) +addresses but public IP addresses can be used in exactly the same way.- Shorewall generates rules for zones in the order that the zone +declarations appear in /etc/shorewall/zones.
+- The order of entries in /etc/shorewall/hosts is immaterial as far +as the generated ruleset is concerned.
+
+Router in the Local Zone
+Here is an example of a router in the local zone. Note that the box called "Router" could be a VPN +server or other such device; from the point of view of this +discussion, it makes no difference.
+
+
++
++++
+Can You Use the Standard Configuration?
+In many cases, the standard two-interface +Shorewall setup will work fine in this configuration. It will +work if:
+
++
+All you have to do on the firewall is add a route to 192.168.2.0/24 +through the router and restart +Shorewall.- The firewall requirements to/from the internet are the same for +192.168.1.0/24 and 192.168.2.0/24.
+- The hosts in 192.168.1.0/24 know that the route to 192.168.2.0/24 +is through the router.
+
+Will One Zone be Enough?
+If the firewalling requirements for the two local networks is the same +but the hosts in 192.168.1.0/24 don't know how to route to +192.168.2.0/24 then you need to configure the firewall slightly +differently. This type of configuration is rather stupid from an IP +networking point of view but it is sometimes necessary because you +simply don't want to have to reconfigure all of the hosts in +192.168.1.0/24 to add a persistent route to 192.168.2.0/24. On the +firewall:
++
+- Add a route to 192.168.2.0/24 through the Router.
+- Set the 'routeback' and 'newnotsyn' options for eth1 (the local +firewall interface) in /etc/shorewall/interfaces.
+- Restart Shorewall.
+
+I Need Separate Zones
+If you need to make 192.168.2.0/24 into it's own zone, you can do it +one of two ways; Nested Zones or Parallel Zones.
+Nested Zones:
+You can define one zone (called it 'loc') as being all hosts connectied +to eth1 and a second zone 'loc1' (192.168.2.0/24) as a sub-zone.
+
++
+
+The advantage of this approach is that the zone 'loc1' can use CONTINUE +policies such that if a connection request doesn't match a 'loc1' rule, +it will be matched against the 'loc' rules. For example, if your +loc1->net policy is CONTINUE then if a connection request from loc1 +to the internet doesn't match any rules for loc1->net then it will +be checked against the loc->net rules.
+
+/etc/shorewall/zones:
+
+++/etc/shorewall/interfaces+ +
++ +ZONE +
+DISPLAY +
+COMMENTS +
++ +loc1 +
+Local2 +
+Hosts access through internal +router +
++ + +loc +
+Local +
+All hosts accessed via eth1 +
+
+Note that the sub-zone (loc1) is defined first!
+
+
+
+++/etc/shorewall/hosts+ +
++ +ZONE +
+INTERFACE +
+BROADCAST +
+OPTIONS +
++ + +loc +
+eth1 +
+192.168.1.255 +
+... +
+
+
+
++++ +
++ +ZONE +
+HOSTS +
+OPTIONS +
++ + +loc1 +
+eth1:192.168.2.0/24 +
++
+
+If you don't need Shorewall to set up infrastructure to route traffic +between 'loc' and 'loc1', add these two policies:
+
++++ +
++ +SOURCE +
+DEST +
+POLICY +
+LOG +
+LEVEL
+RATE:BURST +
++ +loc +
+loc1 +NONE +
++
++
++ + +loc1 +
+loc +
+NONE +
++
++
+Parallel Zones:
+You define both zones in the /etc/shorewall/hosts file to create two +disjoint zones.
+
++
+
+/etc/shorewall/zones:
+
+++/etc/shorewall/interfaces+ +
++ +ZONE +
+DISPLAY +
+COMMENTS +
++ +loc1 +
+Local1 +
+Hosts accessed Directly from +Firewall +
++ + +loc2 +
+Local2 +
+Hosts accessed via internal +Router +
+
+Here it doesn't matter which zone is defined first.
+
+
+
+++/etc/shorewall/hosts+ +
++ +ZONE +
+INTERFACE +
+BROADCAST +
+OPTIONS +
++ + +- +
+eth1 +
+192.168.1.255 +
+... +
+
+
+
++++ +
++ +ZONE +
+HOSTS +
+OPTIONS +
++ +loc1 +
+eth1:192.168.1.0/24 +
++
++ + +loc2 +
+eth1:192.168.2.0/24 +
++
+
+If you don't need Shorewall to set up infrastructure to route traffic +between 'loc' and 'loc1', add these two policies:
+
++++ +
++ +SOURCE +
+DEST +
+POLICY +
+LOG +
+LEVEL
+RATE:BURST +
++ +loc +
+loc1 +NONE +
++
++
++ + +loc1 +
+loc +
+NONE +
++
++
+Some Hosts have Special Firewalling Requirements
+There are cases where a subset of the addresses associated with an +interface need special handling. Here's an example.
+
++
+
+In this example, addresses 192.168.1.8 - 192.168.1.15 (192.168.1.8/29) +are to be treated as their own zone (loc1).
+
+/etc/shorewall/zones:
+
+++/etc/shorewall/interfaces+ +
++ +ZONE +
+DISPLAY +
+COMMENTS +
++ +loc1 +
+Local2 +
+192.168.1.8 - 192.168.1.15 +
++ + +loc +
+Local +
+All hosts accessed via eth1 +
+
+Note that the sub-zone (loc1) is defined first!
+
+
+
+++/etc/shorewall/hosts+ +
++ +ZONE +
+INTERFACE +
+BROADCAST +
+OPTIONS +
++ + +loc +
+eth1 +
+192.168.1.255 +
+... +
+
+
+
++++ +
++ +ZONE +
+HOSTS +
+OPTIONS +
++ + +loc1 +
+eth1:192.168.1.8/29 +
++
+
+You probably don't want Shorewall to set up infrastructure to route +traffic +between 'loc' and 'loc1' so you should add these two policies:
++
++ +
++ +SOURCE +
+DEST +
+POLICY +
+LOG +
+LEVEL
+RATE:BURST +
++ +loc +
+loc1 +NONE +
++
++
++ + +loc1 +
+loc +
+NONE +
++
++
+
+Last updated 11/21/2003 - Tom Eastep
+Copyright © 2003 Thomas M. Eastep.
+ + diff --git a/Shorewall-docs/NAT.htm b/Shorewall-docs/NAT.htm index dec289ba3..5c1492d65 100644 --- a/Shorewall-docs/NAT.htm +++ b/Shorewall-docs/NAT.htm @@ -1,119 +1,107 @@ -Shorewall NAT - - - - -- -
+- - - -- -Static Nat
-
-
- -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 - rules file.
--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 Shorewall Setup Guide.
--The following figure represents a static NAT environment.
----
- --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.
- -- -
- -- -EXTERNAL -INTERFACE -INTERNAL -ALL INTERFACES -LOCAL -- -130.252.100.18 -eth0 -10.1.1.2 -yes -yes -- - - -130.252.100.19 -eth0 -10.1.1.3 -yes -yes -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.
- -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.
- -Note 2: Shorewall will automatically add the external address to the - specified interface unless you specify ADD_IP_ALIASES="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). - RESTRICTION: 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.
- -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.
- +One-to-one NAT
+
+IMPORTANT: If all you want to do is forward +ports to servers behind your firewall, you do NOT want to use +one-to-one NAT. Port forwarding can be accomplished with simple entries +in the rules file.
- -Last updated 7/6/2003 - One-to-one NAT is a way to make systems behind a firewall and +configured +with private IP addresses (those reserved for private use in RFC 1918) +appear to have public IP addresses. Before you try to use this +technique, I strongly recommend that you read the Shorewall Setup Guide.
++The following figure represents a one-to-one NAT environment.
++++
+One-to-one 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.
++ +
++ +EXTERNAL +INTERFACE +INTERNAL +ALL INTERFACES +LOCAL ++ +130.252.100.18 +eth0 +10.1.1.2 +yes +yes ++ + +130.252.100.19 +eth0 +10.1.1.3 +yes +yes +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.
+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. Specifying +"Yes" in this column will not allow systems on the lower LAN to access +each other using their public IP addresses. For example, the +lower left-hand system (10.1.1.2) cannot connect to 130.252.100.19 and +expect to be connected to the lower right-hand system. See FAQ 2a.
+
+Note 2: Shorewall will automatically add the external address to the +specified interface unless you specify ADD_IP_ALIASES="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). RESTRICTION: 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.
+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.
++Last updated 11/222003 - Tom Eastep
- Copyright © Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
-
+
+
diff --git a/Shorewall-docs/NetfilterOverview.html b/Shorewall-docs/NetfilterOverview.html new file mode 100755 index 000000000..6050d6bfa --- /dev/null +++ b/Shorewall-docs/NetfilterOverview.html @@ -0,0 +1,104 @@ + + + + + + + +Netfilter Overview + + + + +Netfilter Overview
+Netfilter consists of three tables: Filter, Nat and Mangle. Each table has a number of +build-in chains: PREROUTING, +INPUT, FORWARD, OUTPUT and POSTROUTING.
+
+
+Rules in the various tables are used as follows:
++
+The following diagram shows how packets traverse the various builtin +chains within Netfilter. Note that not all table/chain combinations are +used.- Filter: Packet filtering +(rejecting, dropping or accepting packets)
+- Nat: Network Address +Translation including DNAT, SNAT and Masquerading
+- Mangle: General packet +header modification such as setting the TOS value or marking packets +for policy routing and traffic shaping.
+
+
+
++
+
++
+"Local Process" means a process running on the Shorewall system itself.
+
+In the above diagram are boxes similar to this:
+
+
+
+The above box gives the name of the built-in chain (INPUT) along with the names of the tables (Mangle and Filter) that the chain exists in and +in the order that the chains are traversed. The above sample indicates +that packets go first through the INPUT +chain of the Mangle table +then +through the INPUT chain of the +Filter table. When a chain is +enclosed in parentheses, Shorewall does not use the named chain (INPUT) in that table (Mangle).
+
+IMPORTANT: Keep in mind that +chains in the Nat table are only traversed for new connection +requests (including those related to existing connections) while +the chains in the other tables are traversed on every packet.
+
+The above diagram should help you understand the output of "shorewall +status".
+
+Here are some excerpts from "shorewall status" on a server with one +interface (eth0):
+
+[root@lists html]# shorewall status+The first table shown is the Filter table.
Shorewall-1.4.7 Status at lists.shorewall.net - Mon Oct 13 12:51:13 PDT 2003
Counters reset Sat Oct 11 08:12:57 PDT 2003
++The following rule indicates that all traffic destined for the firewall +that comes into the firewall on eth0 is passed to a chain called +"eth0_in". That chain will be shown further down.
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
679K 182M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
785K 93M accounting all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DROP !icmp -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
+785K 93M eth0_in all -- eth0 * 0.0.0.0/0 0.0.0.0/0+Here is the eth0_in chain:
0 0 common all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix `Shorewall:INPUT:REJECT:'
0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 accounting all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DROP !icmp -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 eth0_fwd all -- eth0 * 0.0.0.0/0 0.0.0.0/0
0 0 common all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix `Shorewall:FORWARD:REJECT:'
0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy DROP 1 packets, 60 bytes)
pkts bytes target prot opt in out source destination
679K 182M ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
922K 618M accounting all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DROP !icmp -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
922K 618M fw2net all -- * eth0 0.0.0.0/0 0.0.0.0/0
0 0 common all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix `Shorewall:OUTPUT:REJECT:'
0 0 reject all -- * * 0.0.0.0/0 0.0.0.0/0
+Chain eth0_in (1 references)+The "dynamic" chain above is where dynamic blacklisting is done.
pkts bytes target prot opt in out source destination
785K 93M dynamic all -- * * 0.0.0.0/0 0.0.0.0/0
785K 93M net2fw all -- * * 0.0.0.0/0 0.0.0.0/0
+
+Next comes the Nat table:
+NAT Table+And finally, the Mangle table:
Chain PREROUTING (policy ACCEPT 182K packets, 12M bytes)
pkts bytes target prot opt in out source destination
20005 1314K net_dnat all -- eth0 * 0.0.0.0/0 0.0.0.0/0
Chain POSTROUTING (policy ACCEPT 678K packets, 44M bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 678K packets, 44M bytes)
pkts bytes target prot opt in out source destination
Chain net_dnat (1 references)
pkts bytes target prot opt in out source destination
638 32968 REDIRECT tcp -- * * 0.0.0.0/0 !206.124.146.177 tcp dpt:80 redir ports 3128
+Mangle Table+ +
Chain PREROUTING (policy ACCEPT 14M packets, 2403M bytes)
pkts bytes target prot opt in out source destination
1464K 275M pretos all -- * * 0.0.0.0/0 0.0.0.0/0
Chain INPUT (policy ACCEPT 14M packets, 2403M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 15M packets, 7188M bytes)
pkts bytes target prot opt in out source destination
1601K 800M outtos all -- * * 0.0.0.0/0 0.0.0.0/0
Chain POSTROUTING (policy ACCEPT 15M packets, 7188M bytes)
pkts bytes target prot opt in out source destination
Chain outtos (1 references)
pkts bytes target prot opt in out source destination
0 0 TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 TOS set 0x10
315K 311M TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:22 TOS set 0x10
0 0 TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 TOS set 0x10
683 59143 TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:21 TOS set 0x10
3667 5357K TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:20 TOS set 0x08
0 0 TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 TOS set 0x08
Chain pretos (1 references)
pkts bytes target prot opt in out source destination
271K 15M TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 TOS set 0x10
0 0 TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:22 TOS set 0x10
730 41538 TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 TOS set 0x10
0 0 TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:21 TOS set 0x10
0 0 TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:20 TOS set 0x08
2065 111K TOS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 TOS set 0x08Last updated 10/14/2003 - Tom Eastep
+Copyright +© 2003 Thomas M. Eastep.
+
+
+ + diff --git a/Shorewall-docs/News.htm b/Shorewall-docs/News.htm index 2497af2f7..090e316b3 100644 --- a/Shorewall-docs/News.htm +++ b/Shorewall-docs/News.htm @@ -8,17 +8,287 @@ -- -
+- - -- -Shorewall News Archive
-Shorewall News Archive
+
+11/07/2003 - Shorewall 1.4.8
+
+
+Problems Corrected since version 1.4.7:
++
+Migration Issues:- Tuomo Soini has supplied a correction to a problem that occurs +using some versions of 'ash'. The symptom is that "shorewall start" +fails with:
+
+
+ local: --limit: bad variable name
+ iptables v1.2.8: Couldn't load match +`-j':/lib/iptables/libipt_-j.so:
+ cannot open shared object file: No such file or directory
+ Try `iptables -h' or 'iptables --help' for more +information.- Andres Zhoglo has supplied a correction that avoids trying to use +the multiport match iptables facility on ICMP rules.
+
+
+ Example of rule that previously caused "shorewall start" +to fail:
+
+ +ACCEPT loc $FW +icmp 0,8,11,12
+
+- Previously, if the following error message was issued, Shorewall +was left in an inconsistent state.
+
+
+ Error: Unable to determine the routes through interface xxx
+
+- Handling of the LOGUNCLEAN option in shorewall.conf has been +corrected.
+- In Shorewall 1.4.2, an optimization was added. This optimization +involved creating a chain named "<zone>_frwd" for most zones +defined using the /etc/shorewall/hosts file. It has since been +discovered that in many cases these new chains contain redundant rules +and that the "optimization" turns out to be less than optimal. The +implementation has now been corrected.
+- When the MARK value in a tcrules entry is followed by ":F" or +":P", the ":F" or ":P" was previously only applied to the first +Netfilter rule generated by the entry. It is now applied to all entries.
+- An incorrect comment concerning Debian's use of the SUBSYSLOCK +option has been removed from shorewall.conf.
+- Previously, neither the 'routefilter' interface option nor the +ROUTE_FILTER parameter were working properly. This has been corrected +(thanks to Eric Bowles for his analysis and patch). The definition of +the ROUTE_FILTER option has changed however. Previously, +ROUTE_FILTER=Yes was documented as enabling route filtering on all +interfaces (which didn't work). Beginning with this release, setting +ROUTE_FILTER=Yes will enable route filtering of all interfaces brought +up while Shorewall is started. As a consequence, ROUTE_FILTER=Yes can +coexist with the use of the 'routefilter' option in the interfaces file.
+- If MAC verification was enabled on an interface with a /32 +address and a broadcast address then an error would occur during +startup.
+- The NONE policy's intended use is to suppress the generating of +rules that can't possibly be traversed. This means that a policy of +NONE is inappropriate where the source or destination zone is $FW or +"all". Shorewall now generates an error message if such a policy is +given in /etc/shorewall/policy. Previously such a policy caused +"shorewall start" to fail.
+- The 'routeback' option was broken for wildcard interfaces (e.g., +"tun+"). This has been corrected so that 'routeback' now works as +expected in this case.
+
+
++
+New Features:- The definition of the ROUTE_FILTER option in shorewall.conf has +changed as described in item 8) above.
+
+
++
+- A new QUEUE action has been introduced for rules. QUEUE allows +you to pass connection requests to a user-space filter such as ftwall +(http://p2pwall.sourceforge.net). The ftwall program allows for +effective filtering of p2p applications such as Kazaa. For example, to +use ftwall to filter P2P clients in the 'loc' zone, you would add the +following rules:
+
+
+ QUEUE loc + net tcp
+ QUEUE loc + net udp
+ QUEUE loc + fw udp
+
+You would normally want to place those three rules BEFORE any ACCEPT +rules for loc->net udp or tcp.
+
+Note: When the protocol specified is TCP ("tcp", "TCP" or "6"), +Shorewall will only pass connection requests (SYN packets) to user +space. This is for compatibility with ftwall.- A BLACKLISTNEWNONLY option has been added to shorewall.conf. When +this option is set to "Yes", the blacklists (dynamic and static) are +only consulted for new connection requests. When set to "No" (the +default if the variable is not set), the blacklists are consulted on +every packet.
+
+
+Setting this option to "No" allows blacklisting to stop existing +connections from a newly blacklisted host but is more expensive in +terms of packet processing time. This is especially true if the +blacklists contain a large number of entries.- Chain names used in the /etc/shorewall/accounting file may now +begin with a digit ([0-9]) and may contain embedded dashes ("-").
+10/30/2003 - Shorewall 1.4.8 RC1
+Given the small number of new features and the relatively few lines of +code that were changed, there will be no Beta for 1.4.8.
+
+http://shorewall.net/pub/shorewall/Beta
+
+ftp://shorewall.net/pub/shorewall/Beta
+
+Problems Corrected since version 1.4.7:
++
+Migration Issues:- Tuomo Soini has supplied a correction to a problem that occurs +using some versions of 'ash'. The symptom is that "shorewall start" +fails with:
+
+
+ local: --limit: bad variable name
+ iptables v1.2.8: Couldn't load match +`-j':/lib/iptables/libipt_-j.so:
+ cannot open shared object file: No such file or directory
+ Try `iptables -h' or 'iptables --help' for more +information.- Andres Zhoglo has supplied a correction that avoids trying to use +the multiport match iptables facility on ICMP rules.
+
+
+ Example of rule that previously caused "shorewall start" +to fail:
+
+ +ACCEPT loc $FW +icmp 0,8,11,12
+
+- Previously, if the following error message was issued, Shorewall +was left in an inconsistent state.
+
+
+ Error: Unable to determine the routes through interface xxx
+
+- Handling of the LOGUNCLEAN option in shorewall.conf has been +corrected.
+- In Shorewall 1.4.2, an optimization was added. This optimization +involved creating a chain named "<zone>_frwd" for most zones +defined using the /etc/shorewall/hosts file. It has since been +discovered that in many cases these new chains contain redundant rules +and that the "optimization" turns out to be less than optimal. The +implementation has now been corrected.
+- When the MARK value in a tcrules entry is followed by ":F" or +":P", the ":F" or ":P" was previously only applied to the first +Netfilter rule generated by the entry. It is now applied to all entries.
+- An incorrect comment concerning Debian's use of the SYBSYSLOCK +option has been removed from shorewall.conf.
+- Previously, neither the 'routefilter' interface option nor the +ROUTE_FILTER parameter were working properly. This has been corrected +(thanks to Eric Bowles for his analysis and patch). The definition of +the ROUTE_FILTER option has changed however. Previously, +ROUTE_FILTER=Yes was documented as enabling route filtering on all +interfaces (which didn't work). Beginning with this release, setting +ROUTE_FILTER=Yes will enable route filtering of all interfaces brought +up while Shorewall is started. As a consequence, ROUTE_FILTER=Yes can +coexist with the use of the 'routefilter' option in the interfaces file.
+
++
+New Features:- The definition of the ROUTE_FILTER option in shorewall.conf has +changed as described in item 8) above.
+
+
++
+ +- A new QUEUE action has been introduced for rules. QUEUE allows +you to pass connection requests to a user-space filter such as ftwall +(http://p2pwall.sourceforge.net). The ftwall program allows for +effective filtering of p2p applications such as Kazaa. For example, to +use ftwall to filter P2P clients in the 'loc' zone, you would add the +following rules:
+
+
+ QUEUE loc + net tcp
+ QUEUE loc + net udp
+ QUEUE loc + fw udp
+
+You would normally want to place those three rules BEFORE any ACCEPT +rules for loc->net udp or tcp.
+
+Note: When the protocol specified is TCP ("tcp", "TCP" or "6"), +Shorewall will only pass connection requests (SYN packets) to user +space. This is for compatibility with ftwall.- A BLACKLISTNEWNONLY option has been added to shorewall.conf. When +this option is set to "Yes", the blacklists (dynamic and static) are +only consulted for new connection requests. When set to "No" (the +default if the variable is not set), the blacklists are consulted on +every packet.
+
+
+Setting this option to "No" allows blacklisting to stop existing +connections from a newly blacklisted host but is more expensive in +terms of packet processing time. This is especially true if the +blacklists contain a large number of entries.- Chain names used in the /etc/shorewall/accounting file may now +begin with a digit ([0-9]) and may contain embedded dashes ("-").
+
+10/26/2003 - Shorewall 1.4.7a and 1.4.7b win brown paper bag +awards Shorewall +1.4.7c released.
++
+- The saga with "<zone>_frwd" chains continues. The 1.4.7c +script produces a ruleset that should work for everyone even if it is +not quite optimal. My apologies for this ongoing mess.
+
+10/24/2003 - Shorewall 1.4.7b
+This is a bugfx rollup of the 1.4.7a fixes plus:
++
+- The fix for problem 5 in 1.4.7a was wrong with the result that +"<zone>_frwd" chains might contain too few rules. That wrong code +is corrected in this release.
+
+10/21/2003 - Shorewall 1.4.7a
+
+This is a bugfix rollup of the following problem corrections:
+
++
- Tuomo Soini has supplied a correction to a problem that occurs +using some versions of 'ash'. The symptom is that "shorewall start" +fails with:
+
+
+ local: --limit: bad variable name
+ iptables v1.2.8: Couldn't load match +`-j':/lib/iptables/libipt_-j.so:
+ cannot open shared object file: No such file or directory
+ Try `iptables -h' or 'iptables --help' for more +information.
+
+- Andres Zhoglo has supplied a correction that avoids trying to use +the multiport match iptables facility on ICMP rules.
+
+
+ Example of rule that previously caused "shorewall start" +to fail:
+
+ +ACCEPT loc $FW +icmp 0,8,11,12
+
+- Previously, if the following error message was issued, Shorewall +was left in an inconsistent state.
+
+
+ Error: Unable to determine the routes through +interface xxx
+
+- Handling of the LOGUNCLEAN option in shorewall.conf has been +corrected.
+- In Shorewall 1.4.2, an optimization was added. This optimization +involved creating a chain named "<zone>_frwd" for most zones +defined using the /etc/shorewall/hosts file. It has since been +discovered that in many cases these new chains contain redundant rules +and that the "optimization" turns out to be less than optimal. The +implementation has now been corrected.
+- When the MARK value in a tcrules entry is followed by ":F" or +":P", the ":F" or ":P" was previously only applied to the first +Netfilter rule generated by the entry. It is now applied to all entries.
+
+10/06/2003 - Shorewall 1.4.7
Problems Corrected since version 1.4.6 (Those in bold font were @@ -290,7 +560,7 @@ where we started.
show" command (e.g., shorewall show INPUT FORWARD OUTPUT).- Output rules (those with $FW as the SOURCE) may now be limited to a set of local users and/or groups. See http://shorewall.net/UserSets.html + href="UserSets.html">http://shorewall.net/UserSets.html for details.
10/02/2003 - Shorewall 1.4.7 RC2
@@ -555,7 +825,7 @@ where we started.
show" command (e.g., shorewall show INPUT FORWARD OUTPUT).- Output rules (those with $FW as the SOURCE) may now be limited to a set of local users and/or groups. See http://shorewall.net/UserSets.html + href="UserSets.html">http://shorewall.net/UserSets.html for details.
9/18/2003 - Shorewall 1.4.7 RC 1
@@ -997,7 +1267,7 @@ where we started.
show" command (e.g., shorewall show INPUT FORWARD OUTPUT).- Output rules (those with $FW as the SOURCE) may now be limited to a set of local users and/or groups. See http://shorewall.net/UserSets.html + href="UserSets.html">http://shorewall.net/UserSets.html for details.
8/27/2003 - Shorewall Mirror in Australia
@@ -1554,8 +1824,7 @@ ADDRESS column in /etc/shorewall/masq may now include a comma-separated list of addresses and/or address ranges. Netfilter will use all listed addresses/ranges in round-robin fashion. \- An /etc/shorewall/accounting file has been added to allow for -traffic accounting. See the accounting +traffic accounting. See the accounting documentation for a description of this facility.
- Bridge interfaces (br[0-9]) may now be used in /etc/shorewall/maclist.
@@ -4550,7 +4819,7 @@ deleted. an additional "gw" (gateway) zone for tunnels and it supports IPSEC tunnels with end-points on the firewall. There is also a .lrp available now. -Updated 10/06/2003 - Tom Eastep +
Updated 11/07/2003 - Tom Eastep
Copyright © 2001, 2002 Thomas M. Eastep.
-
diff --git a/Shorewall-docs/OPENVPN.html b/Shorewall-docs/OPENVPN.html index 8a673f957..fdf39157b 100755 --- a/Shorewall-docs/OPENVPN.html +++ b/Shorewall-docs/OPENVPN.html @@ -1,284 +1,232 @@OpenVPN Tunnels - - - - -- -
- -- - - -- -OpenVPN Tunnels
-- -
-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 licensed under -the GPL. OpenVPN can be downloaded from +
OpenVPN Tunnels
+
+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 licensed under the +GPL. OpenVPN can be downloaded from http://openvpn.sourceforge.net/.
- +
-OpenVPN support was added to Shorewall in version 1.3.14.
- +
-Bridging two Masqueraded Networks
-Suppose that we have the following situation:
--
- -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.
- -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.
- -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.
- -+ height="427"> ++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.
+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.
+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.
+- -- -
-- -ZONE -DISPLAY -COMMENTS -- - - + +vpn -VPN -Remote Subnet -+ +ZONE +DISPLAY +COMMENTS ++ +vpn +VPN +Remote Subnet +On system A, the 10.0.0.0/8 will comprise the vpn zone. +
On system A, the 10.0.0.0/8 will comprise the vpn +zone. In /etc/shorewall/interfaces:
- -+- -- -
-- -ZONE -INTERFACE -BROADCAST -OPTIONS -- - - + +vpn -tun0 --
-- + +ZONE +INTERFACE +BROADCAST +OPTIONS ++ +vpn +tun0 ++
++ In /etc/shorewall/tunnels on system A, we need the following:
- -++In /etc/shorewall/tunnels on system A, we need the +following:
+- -- -
-- -TYPE -ZONE -GATEWAY -GATEWAY ZONE -- - - + +openvpn -net -134.28.54.2 -- + +TYPE +ZONE +GATEWAY +GATEWAY ZONE ++ +openvpn +net +134.28.54.2 ++ 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:
- -
-++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:
+
+- +- -
-- -TYPE -ZONE -GATEWAY -GATEWAY ZONE -- - - + +openvpn:7777 -net -134.28.54.2 -- + +TYPE +ZONE +GATEWAY +GATEWAY ZONE ++ +openvpn:7777 +net +134.28.54.2 ++ This is the OpenVPN config on system A:
- -++-- -++- -dev tun
-
- local 206.162.148.9
- remote 134.28.54.2
- ifconfig 192.168.99.1 192.168.99.2
- up ./route-a.up
- tls-server
- dh dh1024.pem
- ca ca.crt
- cert my-a.crt
- key my-a.key
- comp-lzo
- verb 5
-Similarly, On system B the 192.168.1.0/24 subnet will comprise the vpn - zone. In /etc/shorewall/interfaces:
- --- -- -
-- -ZONE -INTERFACE -BROADCAST -OPTIONS -- - - -vpn -tun0 -192.168.1.255 -- In /etc/shorewall/tunnels on system B, we have:
- --- -- -
-- -TYPE -ZONE -GATEWAY -GATEWAY ZONE -- - - -openvpn -net -206.191.148.9 -- And in the OpenVPN config on system B:
- --- -dev tun
-
- local 134.28.54.2
- remote 206.162.148.9
- ifconfig 192.168.99.2 192.168.99.1
- up ./route-b.up
- tls-client
- ca ca.crt
- cert my-b.crt
- key my-b.key
- comp-lzo
- verb 5
-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:
- --- -- -
-- -SOURCE -DEST -POLICY -LOG LEVEL -- -loc -vpn -ACCEPT -- - - - -vpn -loc -ACCEPT -- On both systems, restart Shorewall and start OpenVPN. The systems in the - two masqueraded subnetworks can now talk to each other.
- -Updated 2/4/2003 - Tom Eastep -and Simon Mater
- +
+local 206.162.148.9
+remote 134.28.54.2
+ifconfig 192.168.99.1 192.168.99.2
+up ./route-a.up
+tls-server
+dh dh1024.pem
+ca ca.crt
+cert my-a.crt
+key my-a.key
+comp-lzo
+verb 5
Similarly, On system B the 192.168.1.0/24 subnet will comprise the vpn +zone. In /etc/shorewall/interfaces:
++++ +
++ +ZONE +INTERFACE +BROADCAST +OPTIONS ++ + +vpn +tun0 +192.168.1.255 ++ In /etc/shorewall/tunnels on system B, we have:
++++ +
++ +TYPE +ZONE +GATEWAY +GATEWAY ZONE ++ + +openvpn +net +206.191.148.9 ++ And in the OpenVPN config on system B:
+++dev tun
+
+local 134.28.54.2
+remote 206.162.148.9
+ifconfig 192.168.99.2 192.168.99.1
+up ./route-b.up
+tls-client
+ca ca.crt
+cert my-b.crt
+key my-b.key
+comp-lzo
+verb 5
+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:
++++ +
++ +SOURCE +DEST +POLICY +LOG LEVEL ++ +loc +vpn +ACCEPT ++ + + +vpn +loc +ACCEPT ++ On both systems, restart Shorewall and start OpenVPN. The systems in +the two masqueraded subnetworks can now talk to each other.
+Updated 2/4/2003 - Tom Eastep +and Simon Mater
+- -
Copyright - © 2003 Thomas M. Eastep. and Simon Mater
-
-
-
-
-
+Copyright +© 2003 Thomas M. Eastep. and Simon Mater
+
+
+
+
+
diff --git a/Shorewall-docs/PPTP.htm b/Shorewall-docs/PPTP.htm index aac549f73..9951bdb42 100644 --- a/Shorewall-docs/PPTP.htm +++ b/Shorewall-docs/PPTP.htm @@ -9,17 +9,8 @@Shorewall PPTP -- -
+- - -- -PPTP
-PPTP
+NOTE: I am no longer attempting to maintain MPPE patches for current Linux kernel's and pppd. I recommend that you refer to the following @@ -263,9 +254,191 @@ status)
esacConfiguring Shorewall
-I consider hosts connected to my PPTP server to be just like local -systems. -My key Shorewall entries are:
+Basic Setup
+
+Here' a basic setup that treats your remote users as if they were +part of your loc zone. Note +that if your primary internet connection uses ppp0, then be sure that loc follows net in /etc/shorewall/zones.
+
+/etc/shorewall/tunnels:
+
++++ +
++ +TYPE +ZONE +GATEWAY +GATEWAY ZONE ++ + +pptpserver +
+net +0.0.0.0/0 +
++ /etc/shorewall/interfaces:
+
++++ +
++ +ZONE +INTERFACE +BROADCAST +OPTIONS ++ + +loc +
+ppp+ +- ++
+Remote Users in a Separate Zone
+If you want to place your remote users in their own zone so that you +can control connections between these users and the local network, +follow this example. Note that if your primary internet connection uses +ppp0 then be sure that vpn +follows net in +/etc/shorewall/zones as shown below.
+
+/etc/shorewall/tunnels:
+ +++/etc/shorewall/zones:+ +
++ +TYPE +ZONE +GATEWAY +GATEWAY ZONE ++ + +pptpserver +
+net +0.0.0.0/0 +
++
+ ++++ +
++ +ZONE +DISPLAY +COMMENTS ++ +net +Internet +The Internet ++ +loc +Local +Local Network +
++ + +vpn +VPN +
+Remote Users +
+/etc/shorewall/interfaces:
+++Your policies and rules may now be configured for traffic to/from the vpn zone.+ +
++ +ZONE +INTERFACE +BROADCAST +OPTIONS ++ +net +eth0 +206.124.146.255 +norfc1918 ++ +loc +eth2 +192.168.10.255 ++ + + +vpn +
+ppp+ +- ++
+
+Multiple Remote Networks
+
+Often there will be situations where you want multiple connections +from remote networks with these networks having different firewalling +requirements.
+
++
+Here's how you configure this in Shorewall. Note that if your +primary internet connection uses ppp0 then be sure that the vpn{1-3} zones follows net in /etc/shorewall/zones as shown +below.
+
+/etc/shorewall/tunnels:
+
+++ +
++ +TYPE +ZONE +GATEWAY +GATEWAY ZONE ++ + +pptpserver +
+net +0.0.0.0/0 +
++ /etc/shorewall/zones:
@@ -283,7 +456,31 @@ My key Shorewall entries are:
@@ -307,13 +504,13 @@ My key Shorewall entries are:+ loc Local -My Local Network including remote PPTP clients +Local Network +
++ +vpn1 +Remote1 +
+Remote Network 1 +
++ +vpn2 +
+Remote2 +
+Remote Network 2 +
++ vpn3 +
+Remote3 +
+Remote Network 3
+loc eth2 -192.168.1.255 +192.168.10.255 - ppp+ -+ - OPTIONS - -loc -eth2:192.168.1.0/24 -
+vpn1 -
- - -loc ppp+:192.168.1.0/24 /etc/shorewall/policy:
----
-- -SOURCE -DEST -POLICY -LOG LEVEL -- - -loc -loc -ACCEPT -- /etc/shorewall/rules (For Shorewall versions up to and including -1.3.9b):
---- -
-- -ACTION -SOURCE -DEST -PROTO -DEST -
-PORT(S)SOURCE -
-PORT(S)ORIGINAL -
-DEST- -ACCEPT -net -fw -tcp -1723 -- - - -ACCEPT -net -fw -47 -- -- - - - -ACCEPT -fw -net -47 -- -- - /etc/shoreawll/tunnels (For Shorewall versions -1.3.10 and -later)
-
---- -
- -TYPE -
-ZONE -
-GATEWAY -
-GATEWAY ZONE -
-- +pptpserver
+vpn2 -
net
+ppp+:192.168.2.0/24 -
0.0.0.0/0
+-
++ vpn3 +
+ppp+:192.168.3.0/24 +
+
-
-Note: I have multiple ppp interfaces on my firewall. If you have a -single -ppp interface, you probably want:/etc/shorewall/interfaces:
---- -
-- -ZONE -INTERFACE -BROADCAST -OPTIONS -- -net -eth0 -206.124.146.255 -norfc1918 -- -loc -eth2 -192.168.1.255 -- - - -loc -ppp0 -- - and no entries in /etc/shorewall/hosts.
+Your policies and rules can now be configured using separate zones +(vpn1, vpn2, and vpn3) for the three remote network.
2. PPTP Server Running Behind your Firewall
@@ -968,7 +1046,7 @@ as described in the QuickStart Guide corresponding to your setup.
That entry allows a PPTP tunnel to be established between your Shorewall system and the PPTP server in the modem.
-Last modified 8/11/2003 - Tom +
Last modified 11/22/2003 - Tom Eastep
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
diff --git a/Shorewall-docs/ProxyARP.htm b/Shorewall-docs/ProxyARP.htm index 538a880b4..69828a93a 100644 --- a/Shorewall-docs/ProxyARP.htm +++ b/Shorewall-docs/ProxyARP.htm @@ -1,192 +1,165 @@ -Shorewall Proxy ARP - - - - - -- -
- -- - - -- -Proxy ARP
-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 Shorewall Setup Guide.
- -The following figure represents a Proxy ARP environment.
- --- --
- --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:
- -+ +-Proxy ARP
+
+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 Shorewall Setup +Guide.
+The following figure represents a Proxy ARP environment.
++++
+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:
+- -- -
-- -ADDRESS -INTERFACE -EXTERNAL -HAVEROUTE -- -130.252.100.18 -eth1 -eth0 -no -- - - + +130.252.100.19 -eth1 -eth0 -no -+ +ADDRESS +INTERFACE +EXTERNAL +HAVEROUTE ++ +130.252.100.18 +eth1 +eth0 +no ++ +130.252.100.19 +eth1 +eth0 +no +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.
- -Note that I've used an RFC1918 IP address for eth1 - that IP address is - irrelevant.
- -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.
- -
-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.
- -
-- --+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:
- + +
-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.
+Note that I've used an RFC1918 IP address for eth1 - that IP address +is irrelevant.
+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.
+
+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.
+
+++- -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:
+-
- 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:- (Courtesy of Bradey Honsinger) A reading of Stevens' TCP/IP -Illustrated, Vol 1 reveals that a
-
-
- "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...
-
- "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."
-
- 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:
-
- arping -U -I <net if> <newly -proxied IP>
- arping -U -I eth0 66.58.99.83 # for example
-
- 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.
-
- To use arping with Proxy ARP in the above example, you would have to:
-
- shorewall clear
- ip addr add 130.252.100.18 -dev eth0
- ip addr add 130.252.100.19 dev eth0
- arping -U -I eth0 130.252.100.18
- arping -U -I eth0 130.252.100.19
- ip addr del 130.252.100.18 dev eth0
- ip addr del 130.252.100.19 dev eth0
- shorewall start
-
-- 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.
- --- -tcpdump -nei eth0 icmp--- -Now from 130.252.100.19, ping the ISP's gateway (which we - will assume is 130.252.100.254):
--- -ping 130.252.100.254--- -We can now observe the tcpdump output:
--- -13:35:12.159321 0:4:e2:20:20:33 0:0:77:95:dd:19 ip 98: 130.252.100.19 > 130.252.100.254: icmp: echo request (DF)-
13:35:12.207615 0:0:77:95:dd:19 0:c0:a8:50:b2:57 ip 98: 130.252.100.254 > 130.252.100.177 : icmp: echo reply-- -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.
-Last updated 3/21/2003 - Tom Eastep
- Copyright © 2001, 2002, 2003 Thomas M. Eastep.
+- (Courtesy of Bradey Honsinger) A reading of Stevens' TCP/IP +Illustrated, Vol 1 reveals that a
+
-
-
-
+"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...
+
+"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."
+
+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 one-to-one NAT for that matter). Happily enough, recent versions of +Redhat's iputils package include "arping", whose "-U" flag does just +that:
+
+ arping -U -I <net +if> <newly proxied IP>
+ arping -U -I eth0 +66.58.99.83 # for example
+
+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.
+
+To use arping with Proxy ARP in the above example, you would have to:
+
+ shorewall clear
+ ip addr add +130.252.100.18 dev eth0
+ ip addr add 130.252.100.19 dev eth0
+ arping -U -I eth0 +130.252.100.18
+ arping -U -I eth0 130.252.100.19
+ ip addr del 130.252.100.18 dev +eth0
+ ip addr del 130.252.100.19 dev eth0
+ shorewall start
+
+- 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.
+ +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:++tcpdump -nei eth0 icmp+++Now from 130.252.100.19, ping the ISP's gateway (which +we will assume is 130.252.100.254):
+++ping 130.252.100.254+++We can now observe the tcpdump output:
+++13:35:12.159321 0:4:e2:20:20:33 0:0:77:95:dd:19 ip 98: 130.252.100.19 > 130.252.100.254: icmp: echo request (DF)+
13:35:12.207615 0:0:77:95:dd:19 0:c0:a8:50:b2:57 ip 98: 130.252.100.254 > 130.252.100.177 : icmp: echo reply++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.
+Last updated 11/13/2003 - Tom Eastep
+Copyright © 2001, 2002, 2003 Thomas M. Eastep.
+
+
+
+
diff --git a/Shorewall-docs/SeattleInTheSpring.html b/Shorewall-docs/SeattleInTheSpring.html index a3207f8b3..31c8c8231 100755 --- a/Shorewall-docs/SeattleInTheSpring.html +++ b/Shorewall-docs/SeattleInTheSpring.html @@ -1,53 +1,34 @@ -Springtime in Seattle!!! - - - - -- -
- + +-+ - -- - - -- -Visit Seattle in the Springtime!!!!
-
-
- March 6, 2003 - Nice day for a walk....
-
- -
-
-
- - -The view from my office window -- think I'll go out and enjoy the deck -(Yes -- that is snow on the deck...).
- -
-Updated 3/7/2003 - Tom Eastep +
Visit Seattle in the Springtime!!!
+
+
+
+March 6, 2003 - Nice day for a walk....
+
+
+
+
+ +The view from my office window -- think I'll go out and enjoy the +deck (Yes -- that is snow on the deck...).
+
+Updated 3/7/2003 - Tom Eastep
- -Copyright © Copyright © 2001, 2002 Thomas M. Eastep.
-
-
-
+
+
+
diff --git a/Shorewall-docs/Shorewall_CA_html.html b/Shorewall-docs/Shorewall_CA_html.html index cd7d40ec9..c26ac9c80 100644 --- a/Shorewall-docs/Shorewall_CA_html.html +++ b/Shorewall-docs/Shorewall_CA_html.html @@ -2,93 +2,79 @@Shorewall Certificate Authority - - - - -- -
-- - - -- -Shorewall Certificate Authority - (CA) Certificate
-
- 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 (https://lists.shorewall.net) + +Shorewall Certificate Authority (CA) +Certificate
+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 (https://lists.shorewall.net) which hosts parts of this web site.
+
-
- 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.
-
- 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
-
- I wish that I had decided to become a CA rather that designing and writing - Shorewall.
-
- 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.
-
- There are two things that you can do:
- +
+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.
+
+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
+
+I wish that I had decided to become a CA rather that designing and +writing Shorewall.
+
+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.
+
+There are two things that you can do:
-
- What are the risks?- 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.
-- You can download and install my (self-signed) CA -certificate. This will make my Certificate Authority known to your browser -so that it will accept any certificate signed by me.
- +
-- 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.
+- You can download and install my (self-signed) +CA certificate. This will make my Certificate Authority known to +your browser so that it will accept any certificate signed by me.
+
- +What are the risks?
-
- 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... :-)- 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 +
- 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.
-- 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.
- +- 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.
-Last Updated 1/17/2003 - Tom Eastep
-Copyright © 2001, 2002, 2003 Thomas M. + size="2">Copyright © 2001, 2002, 2003 +Thomas M. Eastep.
-
-
-
-
+
+
+
+
diff --git a/Shorewall-docs/Shorewall_CVS_Access.html b/Shorewall-docs/Shorewall_CVS_Access.html index e8fd279e7..e57b52b90 100644 --- a/Shorewall-docs/Shorewall_CVS_Access.html +++ b/Shorewall-docs/Shorewall_CVS_Access.html @@ -2,56 +2,38 @@Shorewall CVS Access - - - - -- -
-- - - -- -Shorewall CVS Access -
-
-
- 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.
-
- -+ ++
+Shorewall CVS Access
+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.
+
+
+- -CVS Login
-
-Updated 1/14/2002 - - Tom Eastep -
- -Copyright - © 2001, 2002, 2003 Thomas M. Eastep.
-
-
-
-
-
-
-
+ target="_top">CVS Login
+ +Updated +1/14/2002 - Tom Eastep
+Copyright +© 2001, 2002, 2003 Thomas M. Eastep.
+
+
+
+
+
+
+
diff --git a/Shorewall-docs/Shorewall_Doesnt.html b/Shorewall-docs/Shorewall_Doesnt.html index e96368499..5023a3942 100644 --- a/Shorewall-docs/Shorewall_Doesnt.html +++ b/Shorewall-docs/Shorewall_Doesnt.html @@ -9,20 +9,11 @@ -- -
- - -- -Some things that -Shorewall Cannot Do
-
-Shorewall cannot:
+ +Some things that Shorewall Cannot Do
+Shorewall cannot:
+
In addition:
- Be used to filter traffic through a Layer 2 Bridge
- Act as a "Personal Firewall" that allows internet access by @@ -30,18 +21,28 @@ application.
- Be used with an Operating System other than Linux (version >= 2.4.0)
-
- Do content filtering -- better to use Squid for that.
+- Do content filtering:
++
- HTTP -- better to use Squid +for that.
+- Email -- Install something like Postfix on your firewall and +integrate it with SpamAssassin +and Amavisd-new.
+
+
-
- Shorewall does not contain any support for Netfilter Patch-O-Matic features -- Shorewall +
- Shorewall does not contain any support for Netfilter Patch-O-Matic features -- +Shorewall only supports features from released kernels.
-Last updated 9/28/2003 - Tom +Last updated 10/07/2003 - Tom EastepCopyright © 2001, 2002, 2003 Thomas M. Eastep.
-
diff --git a/Shorewall-docs/Shorewall_Squid_Usage.html b/Shorewall-docs/Shorewall_Squid_Usage.html index 49b4ca3ea..e4046acad 100644 --- a/Shorewall-docs/Shorewall_Squid_Usage.html +++ b/Shorewall-docs/Shorewall_Squid_Usage.html @@ -7,19 +7,22 @@+
@@ -187,7 +182,7 @@ These snapshots have undergone initial testing and will have been installed and run at shorewall.net.
- -
- Using Shorewall with Squid
++ -Using Shorewall with Squid
@@ -28,10 +31,14 @@
This page covers Shorewall configuration to use with Squid running as a Transparent -Proxy. If you are running Shorewall 1.3, please see this documentation.
+ href="http://www.squid-cache.org/">Squid running as a Transparent +Proxy or as a Manual Proxy.
+If you are running Shorewall 1.3, please see this documentation.
+Squid as a Transparent Proxy
Please observe the following general requirements:
+
@@ -71,7 +78,7 @@ running on the Firewall. local network- Squid running in the DMZ
-Squid Running on the Firewall
+Squid (transparent) Running on the Firewall
You want to redirect all local www connection requests EXCEPT those to your own http server (206.124.146.177) to a Squid transparent proxy running on the firewall @@ -123,15 +130,49 @@ DEST There may be a requirement to exclude additional destination hosts or networks from being redirected. For example, you might also want -requests destined for 130.252.100.0/24 to not be routed to Squid. In -that -case, you must add a manual rule in /etc/shorewall/start:
+requests destined for 130.252.100.0/24 to not be routed to Squid.
+
+If you are running Shorewall version 1.4.5 or later, you may just add +the additional hosts/networks to the ORIGINAL DEST column in your +REDIRECT rule:
+
++++ +
++ +ACTION +SOURCE +DEST +PROTO +DEST +
+PORT(S)SOURCE +
+PORT(S)ORIGINAL +
+DEST+ + +REDIRECT +loc +3128 +tcp +www +- +
+!206.124.146.177,130.252.100.0/24 +
+If you are running a Shorewall version earlier than 1.4.5, you must add +a manual rule in /etc/shorewall/start:
To exclude additional hosts or networks, just add additional similar rules.run_iptables -t nat -I loc_dnat -p tcp --dport www -d 130.252.100.0/24 -j RETURN
-Squid Running in the local network
+Squid (transparent) Running in the local network
You want to redirect all local www connection requests to a Squid transparent proxy running in your local zone at 192.168.1.3 and listening @@ -273,7 +314,8 @@ command above:
color="#009900">
chkconfig --level 35 iptables on
-Squid Running in the DMZ (This is what I do)
+Squid (transparent) Running in the DMZ (This is +what I do)
You have a single Linux system in your DMZ with IP address 192.0.2.177. You want to run both a web server and Squid on that system. Your DMZ interface is eth1 and your local interface is eth2.
@@ -455,7 +497,133 @@ command above:
color="#009900">
chkconfig --level 35 iptables on
-Updated 8/9/2003 - Tom Eastep +
diff --git a/Shorewall-docs/Shorewall_sfindex_frame.htm b/Shorewall-docs/Shorewall_sfindex_frame.htm index 49bf2dd7e..491f2666b 100644 --- a/Shorewall-docs/Shorewall_sfindex_frame.htm +++ b/Shorewall-docs/Shorewall_sfindex_frame.htm @@ -1,120 +1,68 @@ - - - -Squid as a Manual Proxy
+Assume that Squid is running in zone SZ and listening on port SP; all +web sites that are to be accessed through Squid are in the 'net' zone. +Then for each zone Z that needs access to the Squid server:
+
++++ +
++ +ACTION +
+SOURCE +
+DEST +
+PROTO +
+DEST +
+PORT(S)
+CLIENT +
+PORT(2)
+ORIGINAL +
+DEST
++ +ACCEPT +
+Z +
+SZ +
+tcp +
+SP +
++
++
++ + +ACCEPT +
+SZ +
+net +
+tcp +
+80 +
++
++
+
+Example:
+
+Squid on the firewall listening on port +8080 with access from the 'loc' zone:+
+
++ +
++ +ACTION +
+SOURCE +
+DEST +
+PROTO +
+DEST +
+PORT(S)
+CLIENT +
+PORT(2)
+ORIGINAL +
+DEST
++ +ACCEPT +
+loc +
+$FW +
+tcp +
+8080 +
++
++
++ + +ACCEPT +
+$FW +
+net +
+tcp +
+80 +
++
++
+
+Updated 1017/2003 - Tom +Eastep
Copyright © 2003 Thomas M. Eastep.
diff --git a/Shorewall-docs/Shorewall_and_Aliased_Interfaces.html b/Shorewall-docs/Shorewall_and_Aliased_Interfaces.html index 0a0cd3529..4571a2295 100644 --- a/Shorewall-docs/Shorewall_and_Aliased_Interfaces.html +++ b/Shorewall-docs/Shorewall_and_Aliased_Interfaces.html @@ -2,670 +2,635 @@Shorewall and Aliased Interfaces - - - - -- -
-- - - -- - -Shorewall and Aliased Interfaces
-
- + +Shorewall and Aliased Interfaces
+Background
- The traditional net-tools contain a program called ifconfig - which is used to configure network devices. ifconfig introduced the -concept of aliased or virtual interfaces. These virtual -interfaces have names of the form interface:integer (e.g., -eth0:0) and ifconfig treats them more or less like real interfaces.
-
- Example:
- +The traditional net-tools contain a program called ifconfig +which is used to configure network devices. ifconfig introduced the +concept of aliased or virtual interfaces. These +virtual +interfaces have names of the form interface:integer (e.g., +eth0:0) and ifconfig treats them more or less like real interfaces.
+
+Example:
[root@gateway root]# ifconfig eth0:0- The ifconfig utility is being gradually phased out in favor of the - ip utility which is part of the iproute package. The ip -utility does not use the concept of aliases or virtual interfaces but rather -treats additional addresses on an interface as objects in their own right. -The ip utility does provide for interaction with ifconfig in that it allows -addresses to be labeled where these labels take the form of ipconfig +The ifconfig utility is being gradually phased out in favor of the ip +utility which is part of the iproute package. The ip utility +does not use the concept of aliases or virtual interfaces but rather +treats additional addresses on an interface as objects in their own +right. +The ip utility does provide for interaction with ifconfig in that it +allows +addresses to be labeled where these labels take the form of +ipconfig virtual interfaces.
eth0:0 Link encap:Ethernet HWaddr 02:00:08:3:FA:55
inet addr:206.124.146.178 Bcast:206.124.146.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:11 Base address:0x2000
[root@gateway root]#
-
- Example:
-
- +
+Example:
+
[root@gateway root]# ip addr show dev eth0- Note that one cannot type "ip addr show dev eth0:0" because - "eth0:0" is a label for a particular address rather than a device name.
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb qlen 100
link/ether 02:00:08:e3:fa:55 brd ff:ff:ff:ff:ff:ff
inet 206.124.146.176/24 brd 206.124.146.255 scope global eth0
inet 206.124.146.178/24 brd 206.124.146.255 scope global secondary eth0:0
[root@gateway root]#
- +Note that one cannot type "ip addr show dev eth0:0" because +"eth0:0" is a label for a particular address rather than a device name.
[root@gateway root]# ip addr show dev eth0:0- The iptables program doesn't support virtual interfaces in either - it's "-i" or "-o" command options; as a consequence, Shorewall does not - allow them to be used in the /etc/shorewall/interfaces file or anywhere +The iptables program doesn't support virtual interfaces in either it's +"-i" or "-o" command options; as a consequence, Shorewall does not +allow them to be used in the /etc/shorewall/interfaces file or anywhere else except as described in the discussion below.
Device "eth0:0" does not exist.
[root@gateway root]#
-Adding Addresses to Interfaces
-Shorewall provides facilities for automatically adding addresses to interfaces -as described in the following section. It is also easy to add them yourself +Most distributions have a facility for adding additional addresses to +interfaces. If you have already used your distribution's capability to +add your required addresses, you can skip this section.
+
+Shorewall provides facilities for automatically adding addresses to +interfaces +as described in the following section. It is also easy to add them +yourself using the ip utility. The above alias was added using:
-ip addr add 206.124.146.178/24 brd 206.124.146.255 +ip addr add 206.124.146.178/24 brd +206.124.146.255 dev eth0 label eth0:0-You probably want to arrange to add these addresses when the device is started -rather than placing commands like the above in one of the Shorewall extension -scripts. For example, on RedHat systems, you can place the commands in /sbin/ifup-local:
+You probably want to arrange to add these addresses when the device is +started +rather than placing commands like the above in one of the Shorewall +extension +scripts. For example, on RedHat systems, you can place the commands in +/sbin/ifup-local:
-RedHat systems also allow adding such aliases from the network administration -GUI (which works well if you have a graphical environment on your firewall).#!/bin/sh
case $1 in
eth0)
/sbin/ip addr add 206.124.146.177 dev eth0 label eth0:0
;;
esac
+RedHat systems also allow adding such aliases from the network +administration +GUI (which only works well if you have a graphical environment on your +firewall).
So how do I handle more than one address on an interface?
- The answer depends on what you are trying to do with the interfaces. - In the sub-sections that follow, we'll take a look at common scenarios.
- +The answer depends on what you are trying to do with the interfaces. In +the sub-sections that follow, we'll take a look at common scenarios.
Separate Rules
- If you need to make a rule for traffic to/from the firewall itself - that only applies to a particular IP address, simply qualify the $FW zone - with the IP address.
-
- Example (allow SSH from net to eth0:0 above):
-
- -+If you need to make a rule for traffic to/from the firewall itself that +only applies to a particular IP address, simply qualify the $FW zone +with the IP address.
+
+Example (allow SSH from net to eth0:0 above):
+
+- +- -
-- -ACTION -
-SOURCE -
-DESTINATION -
-PROTOCOL -
-PORT(S) -
-SOURCE PORT(S) -
-ORIGINAL DESTINATION -
-- - - + +ACCEPT -
-net -
-$FW:206.124.146.178 -
-tcp -
-22 -
--
--
-+ +ACTION +
+SOURCE +
+DESTINATION +
+PROTOCOL +
+PORT(S) +
+SOURCE PORT(S) +
+ORIGINAL DESTINATION +
++ +ACCEPT +
+net +
+$FW:206.124.146.178 +
+tcp +
+22 +
++
++
+
-
+DNAT
- Suppose that I had set up eth0:0 as above and I wanted to port -forward from that virtual interface to a web server running in my local -zone at 192.168.1.3. That is accomplised by a single rule in the /etc/shorewall/rules - file:
-
- -+Suppose that I had set up eth0:0 as above and I wanted to port +forward from that virtual interface to a web server running in my local +zone at 192.168.1.3. That is accomplised by a single rule in the +/etc/shorewall/rules file:
+
+- +- -
-- -ACTION -
-SOURCE -
-DESTINATION -
-PROTOCOL -
-PORT(S) -
-SOURCE PORT(S) -
-ORIGINAL DESTINATION -
-- - - + +DNAT -
-net -
-loc:192.168.1.3 -
-tcp -
-80 -
-- -
-206.124.146.178 -
-+ +ACTION +
+SOURCE +
+DESTINATION +
+PROTOCOL +
+PORT(S) +
+SOURCE PORT(S) +
+ORIGINAL DESTINATION +
++ +DNAT +
+net +
+loc:192.168.1.3 +
+tcp +
+80 +
+- +
+206.124.146.178 +
+
-
+SNAT
- If you wanted to use eth0:0 as the IP address for outbound connections - from your local zone (eth1), then in /etc/shorewall/masq:
-
- -+If you wanted to use eth0:0 as the IP address for outbound connections +from your local zone (eth1), then in /etc/shorewall/masq:
+
+- Shorewall can create the alias (additional address) for you if -you set ADD_SNAT_ALIASES=Yes in /etc/shorewall/shorewall.conf. Beginning -with Shorewall 1.3.14, Shorewall can actually create the "label" (virtual -interface) so that you can see the created address using ifconfig. In -addition to setting ADD_SNAT_ALIASES=Yes, you specify the virtual interface -name in the INTERFACE column as follows:- -
-- -INTERFACE -
-SUBNET -
-ADDRESS -
-- - - + +eth0 -
-eth1 -
-206.124.146.178 -
-+ +INTERFACE +
+SUBNET +
+ADDRESS +
++ +eth0 +
+eth1 +
+206.124.146.178 +
+
-
- -++Shorewall can create the alias (additional address) for you if +you set ADD_SNAT_ALIASES=Yes in /etc/shorewall/shorewall.conf. +Beginning +with Shorewall 1.3.14, Shorewall can actually create the "label" +(virtual +interface) so that you can see the created address using ifconfig. In +addition to setting ADD_SNAT_ALIASES=Yes, you specify the virtual +interface +name in the INTERFACE column as follows:
+
+- Shorewall can also set up SNAT to round-robin over a range of IP addresses. - Do do that, you specify a range of IP addresses in the ADDRESS column. If - you specify a label in the INTERFACE column, Shorewall will use that label - for the first address of the range and will increment the label by one for - each subsequent label.- -
-- -INTERFACE -
-SUBNET -
-ADDRESS -
-- - - + +eth0:0 -
-eth1 -
-206.124.146.178 -
-+ +INTERFACE +
+SUBNET +
+ADDRESS +
++ +eth0:0 +
+eth1 +
+206.124.146.178 +
+
-
- -++Shorewall can also set up SNAT to round-robin over a range of IP +addresses. Do do that, you specify a range of IP addresses in the +ADDRESS column. If you specify a label in the INTERFACE column, +Shorewall will use that label for the first address of the range and +will increment the label by one for each subsequent label.
+
+- The above would create three IP addresses:- -
-- -INTERFACE -
-SUBNET -
-ADDRESS -
-- - - + +eth0:0 -
-eth1 -
-206.124.146.178-206.124.146.180 -
-+ +INTERFACE +
+SUBNET +
+ADDRESS +
++ +eth0:0 +
+eth1 +
+206.124.146.178-206.124.146.180 +
+
-
- eth0:0 = 206.124.146.178
- eth0:1 = 206.124.146.179
- eth0:2 = 206.124.146.180
- -STATIC NAT
- If you wanted to use static NAT to link eth0:0 with local address - 192.168.1.3, you would have the following in /etc/shorewall/nat:
-
- -++The above would create three IP addresses:
+
+ eth0:0 = 206.124.146.178
+ eth0:1 = 206.124.146.179
+ eth0:2 = 206.124.146.180
+One-to-one NAT
+If you wanted to use one-to-one NAT to link eth0:0 with local address +192.168.1.3, you would have the following in /etc/shorewall/nat:
+
+- Shorewall can create the alias (additional address) for you if -you set ADD_IP_ALIASES=Yes in /etc/shorewall/shorewall.conf. Beginning -with Shorewall 1.3.14, Shorewall can actually create the "label" (virtual -interface) so that you can see the created address using ifconfig. In -addition to setting ADD_IP_ALIASES=Yes, you specify the virtual interface -name in the INTERFACE column as follows:- -
-- -EXTERNAL -
-INTERFACE -
-INTERNAL -
-ALL INTERFACES -
-LOCAL -
-- - - + +206.124.146.178 -
-eth0 -
-192.168.1.3 -
-no -
-no -
-+ +EXTERNAL +
+INTERFACE +
+INTERNAL +
+ALL INTERFACES +
+LOCAL +
++ +206.124.146.178 +
+eth0 +
+192.168.1.3 +
+no +
+no +
+
-
-
- -++Shorewall can create the alias (additional address) for you if +you set ADD_IP_ALIASES=Yes in /etc/shorewall/shorewall.conf. Beginning +with Shorewall 1.3.14, Shorewall can actually create the "label" +(virtual +interface) so that you can see the created address using ifconfig. In +addition to setting ADD_IP_ALIASES=Yes, you specify the virtual +interface +name in the INTERFACE column as follows:
+
+
+- In either case, to create rules that pertain only to this NAT pair, - you simply qualify the local zone with the internal IP address.- -
-- -EXTERNAL -
-INTERFACE -
-INTERNAL -
-ALL INTERFACES -
-LOCAL -
-- - - + +206.124.146.178 -
-eth0:0 -
-192.168.1.3 -
-no -
-no -
-+ +EXTERNAL +
+INTERFACE +
+INTERNAL +
+ALL INTERFACES +
+LOCAL +
++ +206.124.146.178 +
+eth0:0 +
+192.168.1.3 +
+no +
+no +
+
-
-
- Example: You want to allow SSH from the net to 206.124.146.178 a.k.a. - 192.168.1.3.
-
- -++In either case, to create rules that pertain only to this NAT pair, you +simply qualify the local zone with the internal IP address.
+
+
+Example: You want to allow SSH from the net to 206.124.146.178 a.k.a. +192.168.1.3.
+
+- +- -
-- -ACTION -
-SOURCE -
-DESTINATION -
-PROTOCOL -
-PORT(S) -
-SOURCE PORT(S) -
-ORIGINAL DESTINATION -
-- - - + +ACCEPT -
-net -
-loc:192.168.1.3 -
-tcp -
-22 -
--
--
-+ +ACTION +
+SOURCE +
+DESTINATION +
+PROTOCOL +
+PORT(S) +
+SOURCE PORT(S) +
+ORIGINAL DESTINATION +
++ +ACCEPT +
+net +
+loc:192.168.1.3 +
+tcp +
+22 +
++
++
+
-
+MULTIPLE SUBNETS
- Sometimes multiple IP addresses are used because there are multiple - subnetworks configured on a LAN segment. This technique does not provide - for any security between the subnetworks if the users of the systems have - administrative privileges because in that case, the users can simply manipulate - their system's routing table to bypass your firewall/router. Nevertheless, - there are cases where you simply want to consider the LAN segment itself - as a zone and allow your firewall/router to route between the two subnetworks.
-
- Example 1: Local interface eth1 interfaces to 192.168.1.0/24 - and 192.168.20.0/24. The primary IP address of eth1 is 192.168.1.254 -and eth1:0 is 192.168.20.254. You want to simply route all requests between - the two subnetworks.
- +Sometimes multiple IP addresses are used because there are multiple +subnetworks configured on a LAN segment. This technique does not +provide for any security between the subnetworks if the users of the +systems have administrative privileges because in that case, the users +can simply manipulate their system's routing table to bypass your +firewall/router. Nevertheless, there are cases where you simply want to +consider the LAN segment itself as a zone and allow your +firewall/router to route between the two subnetworks.
+
+Example 1: Local interface eth1 interfaces to 192.168.1.0/24 and +192.168.20.0/24. The primary IP address of eth1 is 192.168.1.254 +and eth1:0 is 192.168.20.254. You want to simply route all requests +between the two subnetworks.
If you are running Shorewall 1.4.1 or Later
- In /etc/shorewall/interfaces:
- -+In /etc/shorewall/interfaces:+Note that you do NOT need any entry in /etc/shorewall/policy as +Shorewall 1.4.1 and later releases default to allowing intra-zone +traffic.
+- In /etc/shorewall/hosts:- -
-- -ZONE -
-INTERFACE -
-BROADCAST -
-OPTIONS -
-- - - + +- -
-eth1 -
-192.168.1.255,192.168.20.255 -
--
-+ +ZONE +
+INTERFACE +
+BROADCAST +
+OPTIONS +
++ +- +
+eth1 +
+192.168.1.255,192.168.20.255 +
++
+
-
- -++In /etc/shorewall/hosts:
+
+- Note that you do NOT need any entry in /etc/shorewall/policy as Shorewall - 1.4.1 and later releases default to allowing intra-zone traffic.- -
-- -ZONE -
-HOSTS -
-OPTIONS -
-- -loc -
-eth1:192.168.1.0/24 -
--
-- - - + +loc -
-eth1:192.168.20.0/24 -
--
-+ +ZONE +
+HOSTS +
+OPTIONS +
++ +loc +
+eth1:192.168.1.0/24 +
++
++ +loc +
+eth1:192.168.20.0/24 +
++
+
-
- +
+
If you are running Shorewall 1.4.0 or earlier
- In /etc/shorewall/interfaces:
-
-
- -+ +In /etc/shorewall/interfaces:+In /etc/shorewall/rules, simply specify ACCEPT rules for the traffic +that you want to permit.
+
+- Note 1: If you are running Shorewall 1.3.10 or earlier then you -must specify the multi option.- -
-- -ZONE -
-INTERFACE -
-BROADCAST -
-OPTIONS -
-- - - + +loc -
-eth1 -
-192.168.1.255,192.168.20.255 -
-Note 1: -
-+ +ZONE +
+INTERFACE +
+BROADCAST +
+OPTIONS +
++ +loc +
+eth1 +
+192.168.1.255,192.168.20.255 +
+Note 1: +
+
-
-
- In /etc/shorewall/policy:
-
- -++Note 1: If you are running Shorewall 1.3.10 or earlier then you must +specify the multi option.
+
+
+In /etc/shorewall/policy:
+
+- Example 2: Local interface eth1 interfaces to 192.168.1.0/24 and - 192.168.20.0/24. The primary IP address of eth1 is 192.168.1.254 and -eth1:0 is 192.168.20.254. You want to make these subnetworks into separate -zones and control the access between them (the users of the systems do -not have administrative privileges).- -
-- -SOURCE -
-DESTINATION -
-POLICY -
-LOG LEVEL -
-BURST:LIMIT -
-- - - + +loc -
-loc -
-ACCEPT -
--
--
-+ +SOURCE +
+DESTINATION +
+POLICY +
+LOG LEVEL +
+BURST:LIMIT +
++ +loc +
+loc +
+ACCEPT +
++
++
+
-
-
- In /etc/shorewall/zones:
-
- -++Example 2: Local interface eth1 interfaces to 192.168.1.0/24 and +192.168.20.0/24. The primary IP address of eth1 is 192.168.1.254 and +eth1:0 is 192.168.20.254. You want to make these subnetworks into +separate +zones and control the access between them (the users of the systems do +not have administrative privileges).
+
+
+In /etc/shorewall/zones:
+
+- In /etc/shorewall/interfaces:- -
-- -ZONE -
-DISPLAY -
-DESCRIPTION -
-- -loc -
-Local -
-Local Zone 1 -
-- - - + +loc2 -
-Local2 -
-Local Zone 2 -
-+ +ZONE +
+DISPLAY +
+DESCRIPTION +
++ +loc +
+Local +
+Local Zone 1 +
++ +loc2 +
+Local2 +
+Local Zone 2 +
+
-
-
- -++In /etc/shorewall/interfaces:
+
+
+- Note 1: If you are running Shorewall 1.3.10 or earlier then you -must specify the multi option.- -
-- -ZONE -
-INTERFACE -
-BROADCAST -
-OPTIONS -
-- - - + +- -
-eth1 -
-192.168.1.255,192.168.20.255 -
-Note 1: -
-+ +ZONE +
+INTERFACE +
+BROADCAST +
+OPTIONS +
++ +- +
+eth1 +
+192.168.1.255,192.168.20.255 +
+Note 1: +
+
-
-
- In /etc/shorewall/hosts:
- -++Note 1: If you are running Shorewall 1.3.10 or earlier then you must +specify the multi option.
+
+
+In /etc/shorewall/hosts:
+- In /etc/shorewall/rules, simply specify ACCEPT rules for the traffic - that you want to permit.- -
-- -ZONE -
-HOSTS -
-OPTIONS -
-- -loc -
-eth1:192.168.1.0/24 -
--
-- - - + +loc2 -
-eth1:192.168.20.0/24 -
--
-+ +ZONE +
+HOSTS +
+OPTIONS +
++ +loc +
+eth1:192.168.1.0/24 +
++
++ +loc2 +
+eth1:192.168.20.0/24 +
++
+
-
-
- -Last Updated 7/29/2003 A - +
+
+Last Updated 11/13/2003 A - Tom Eastep
- -Copyright © - 2001, 2002, 2003 Thomas M. Eastep.
-
-
+Copyright © 2001, 2002, 2003 Thomas M. Eastep.
+
+
diff --git a/Shorewall-docs/Shorewall_and_Kazaa.html b/Shorewall-docs/Shorewall_and_Kazaa.html new file mode 100644 index 000000000..a4b9fe8ad --- /dev/null +++ b/Shorewall-docs/Shorewall_and_Kazaa.html @@ -0,0 +1,32 @@ + + + + +Shorewall and Kazaa + + + +Kazaa Filtering
+
+Beginning with Shorewall version 1.4.8, Shorewall can interface to ftwall. ftwall is part of the +p2pwall project and is a user-space filter for applications based on +the "Fast Track" peer to peer protocol. Applications using this +protocol include Kazaa, KazaaLite, iMash and Grokster.
+
+To filter traffic from your 'loc' zone with ftwall, you insert the +following rules near the top of your +/etc/shorewall/rules file (before and ACCEPT rules whose source is the +'loc' zone).
+QUEUE loc net tcp+Now simply configure ftwall as described in the ftwall documentation +and restart Shorewall.
QUEUE loc net udp
QUEUE loc fw udp
+Last updated 10/22/2003 - Tom Eastep
+Copyright +© 2003 Thomas M. Eastep.
+
+ + diff --git a/Shorewall-docs/Shorewall_index_frame.htm b/Shorewall-docs/Shorewall_index_frame.htm index 87a4f6357..2a0b114f3 100644 --- a/Shorewall-docs/Shorewall_index_frame.htm +++ b/Shorewall-docs/Shorewall_index_frame.htm @@ -1,138 +1,66 @@ - - - - - - - -Shorewall Index - - -- + - - + - -
- -- -- -- -- - -
-
-- +- - - - + + - - - + + +- -
-- Home
-- - Features
-- What it Cannot Do
-
-- Requirements
-- Download
-
-- Installation/Upgrade/
-
- Configuration
-- QuickStart Guides (HOWTOs)
- -
-- Documentation
- -- FAQs
-- Useful Links
-
-- Things to try if it doesn't work
-- Errata
-- Upgrade Issues
-- Getting help or Answers to Questions
-- Mailing - Lists
- -
-- Mirrors - - - - +
- Home
+- Features
+- What it Cannot Do
+
+- Requirements
+- Download
+
+- Installation/Upgrade/
+
+ Configuration
+- QuickStart +Guides (HOWTOs)
+
+- Documentation
+- FAQs
+- Useful Links
+
+- Things to try if it doesn't +work
+- Errata
+- Upgrade Issues
+- Getting help or Answers to Questions
+- Mailing Lists
+
+- Mirrors
- - - -- - - - -
-- News Archive
-- CVS Repository
-- Quotes from Users
- + +- News Archive
+- CVS Repository
+- Quotes from Users
- -
-- About the Author
-- Donations
- - - +- About the Author
+- Donations
Copyright © Copyright © 2001-2003 Thomas M. Eastep.
-
-
-
+Shorewall Index - -+ - - + - -
- -- -- - - -Shorewall
-- +- - - - - - - - + + - - + + +- -
-- Home
-- - Features
-- What it Cannot Do
-
-- Requirements
-- Download
-
-- Installation/Upgrade/
-
- Configuration
-- QuickStart Guides (HOWTOs)
- -
-- Documentation
- -- FAQs
-- Useful Links
-
-- Things to try if it doesn't work
-- Errata
-- Upgrade Issues
-- Getting help or Answers to Questions -
-- Mailing Lists
- - -- Mirrors
- - - -- News Archive
-- CVS Repository
- +- Home
+- Features
+- What it Cannot Do
+
+- Requirements
+- Download
+
+- Installation/Upgrade/
+
+ Configuration
+- QuickStart +Guides (HOWTOs)
+
+- Documentation
+- FAQs
+- Useful Links
+
+- Things to try if it doesn't +work
+- Errata
+- Upgrade Issues
+- Getting help or Answers to Questions
+- Mailing Lists
+
+- Mirrors +
++
+- News Archive
+- CVS Repository
+- Quotes from Users
- -
-- Quotes from Users
-- About the Author
-- Donations
- - - +- About the Author
+- Donations
Copyright © Copyright © 2001-2003 Thomas M. Eastep.
-
-
+ +
+
diff --git a/Shorewall-docs/SourceforgeBanner.html b/Shorewall-docs/SourceforgeBanner.html new file mode 100755 index 000000000..cd2fe8127 --- /dev/null +++ b/Shorewall-docs/SourceforgeBanner.html @@ -0,0 +1,45 @@ + + + + +Banner + ++ + + + +
+ + diff --git a/Shorewall-docs/UserSets.html b/Shorewall-docs/UserSets.html new file mode 100755 index 000000000..33b457072 --- /dev/null +++ b/Shorewall-docs/UserSets.html @@ -0,0 +1,141 @@ + + + + + + + ++ + ++ +++ + +Controlling Traffic by UID/GID + + + ++ +
+This capability was added in Shorewall release +1.4.7.+ + ++ +Controlling Output +Traffic by UID/GID
+
+
+
+Netfilter provides the capability to filter packets generated on the +firewall system by User Id and/or Group Id. Shorewall provides two +separate but related ways to use this Netfilter capability:
++
+Since only packets created by programs running on the Shorewall box +itself, only rules whose SOURCE is the firewall ($FW) may be restricted +using either of the facilities.- Shorewall allows you to +define collections of users called "User Sets" +and then to restrict +certain rules in /etc/shorewall/rules to a given User Set.
+- Shorewall also allows you to restrict a given rule + to a particular user and/or group.
+
+
+User Sets
+Given the way that this facility is implemented in Shorewall, it is not +possible to control logging of individual rules using a User Set and +logging is rather specified on the User Set itself.
+
+
+User Sets are defined in the /etc/shorewall/usersets file. Columns in +that file include:
+
+USERSET + The name of a User Set. Must be a legal +shell +identifier of no more than six (6) characters in length.+
+REJECT +Log level for connections rejected for this User Set.
+ACCEPT Log +level for connections accepted for this User Set.
+DROP + Log level for connections dropped for this User Set.
+
+In the REJECT and ACCEPT columns, if you don't want to specify a value +in the column but you want to specify a value in a following column, +you may enter "-".
+
+Users and/or groups are added to User Sets using the +/etc/shorewall/users file. Columns in that file are:
+
+USERSET + The name of a User Set defined in +/etc/shorewall/usersets.+
+USER + The name of a user defined on the system or a user number.
+GROUP +The name of a group defined on the system or a number.
+Only one of the USER and GROUP +column needs to be non-empty. If you wish to specify a GROUP but not a +USER, enter "-" in the user column.
+
+If both USER and GROUP are +specified then only programs running under that USER:GROUP pair will +match rules specifying the User Set named in the USERSET column.
+
+Once a user set has been defined, its name may be +placed in the USER SET column of the /etc/shorewall/rules file. IMPORTANT: +When +the name of a user set is given in the USER SET column, you may not +include a log level in the ACTION column; logging of such rules is +governed solely by the user set's definition in the +/etc/shorewall/userset file. +
+Example: You want members of the +'admin' group and 'root' to be able to use ssh on the firewall to +connect to local systems. You want to log all connections accepted for +these users using syslog at the 'info' level.
+ +
+/etc/shorewall/usersets
+ +#USERSET REJECT ACCEPT DROP+ +
admins - info/etc/shorewall/users
+ +
+#USERSET USER GROUP+
admins - admin
admins root/etc/shorewall/rules+
+#ACTION SOURCE DESTINATION PROTO PORT SOURCE ORIGINAL RATE USER+
# PORT(S) DESTINATION SET
ACCEPT $FW loc tcp 22 - - - adminsRestricting a rule to a particular user and/or +group
+In cases where you may want to restrict a rule to a particular user +and/or group, the USER SET column in the rules file may be specified as:
+
+
+[ <user +name or number> ] : [ <group +name or number> ]+When a user and/or group name is given in the USER SET column, it is OK +to specify a log level in the ACTION column.
++
+
+
+Example: You want user mail to +be able to send email from the firewall to the local net zone
+
+/etc/shorewall/rules (be sure to note +the ":" in the USER SET column entry).+
+#ACTION SOURCE DESTINATION PROTO PORT SOURCE ORIGINAL RATE USER+
# PORT(S) DESTINATION SET
ACCEPT $FW loc tcp 25 - - - mail:Last updated 9/19/2003 - Tom Eastep
+Copyright +© 2003 Thomas M. Eastep.
+ + diff --git a/Shorewall-docs/VPN.htm b/Shorewall-docs/VPN.htm index 334005fb6..4ee6b5aea 100755 --- a/Shorewall-docs/VPN.htm +++ b/Shorewall-docs/VPN.htm @@ -1,78 +1,59 @@ - - - -VPN - - -- -
- -- - - -- -VPN
-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:
- + +VPN
+
+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:
-
- -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.
- -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 + height="796">
+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.
+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 http://www.netfilter.org.
- -If IPSEC is being used then only one system may connect to -the remote gateway and there are firewall configuration requirements as follows:
- -++If IPSEC is being used then only one system may connect +to the remote gateway and there are firewall configuration requirements +as follows:
+- -- -
-+ +ACTION SOURCE DESTINATION PROTOCOL PORT CLIENT +PORT
- PORTORIGINAL +DEST
- DESTDNAT net:192.0.2.224 loc:192.168.1.12 50 -- - + + + - - + DNAT @@ -80,27 +61,24 @@ the remote gateway and there are firewall configuration requirements as followsloc:192.168.1.12 udp 500 -- + + 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 http://www.shorewall.net/Documentation.htm#Tunnels -or http://www.shorewall.net/PPTP.htm.
- -Last modified 12/21/2002 - Tom Eastep
- -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 +http://www.shorewall.net/Documentation.htm#Tunnels or http://www.shorewall.net/PPTP.htm.
+Last modified 12/21/2002 - Tom +Eastep
+Copyright © 2002 Thomas M. Eastep.
- --
-
++
+
diff --git a/Shorewall-docs/blacklisting_support.htm b/Shorewall-docs/blacklisting_support.htm index e8e955e64..f21c88ed9 100644 --- a/Shorewall-docs/blacklisting_support.htm +++ b/Shorewall-docs/blacklisting_support.htm @@ -1,102 +1,91 @@ - - - -Blacklisting Support - - -- -
- -- - - -- -Blacklisting Support
-Shorewall supports two different forms of blacklisting; static and dynamic.
- + +Shorewall Blacklisting Support
+
+Shorewall supports two different forms of blacklisting; static and +dynamic. Beginning with Shorewall version 1.4.8, the BLACKLISTNEWONLY +option in /etc/shorewall/shorewall.conf controls the degree of +blacklist filtering:
+
++
+Only the source address is checked against the blacklists.- BLACKLISTNEWONLY=No -- All incoming packets are checked +against the blacklist. New blacklist entries can be used to terminate +existing connections. Versions of Shorewall prior to 1.4.8 behave in +this manner.
+
+- BLACKLISTNEWONLY=Yes -- The blacklists are only consulted for new +connection requests. Blacklists may not be used to terminate existing +connections.
+
Static Blacklisting
- -Shorewall static blacklisting support has the following configuration +
Shorewall static blacklisting support has the following +configuration parameters:
--
-- You specify whether you want packets from blacklisted hosts dropped - or rejected using the BLACKLIST_DISPOSITION - setting in /etc/shorewall/shorewall.conf
-- You specify whether you want packets from blacklisted hosts logged - and at what syslog level using the BLACKLIST_LOGLEVEL setting in - /etc/shorewall/shorewall.conf
-- You list the IP addresses/subnets that you wish to blacklist in - /etc/shorewall/blacklist. -Beginning with Shorewall version 1.3.8, you may also specify PROTOCOL and -Port numbers/Service names in the blacklist file.
-
-- You specify the interfaces whose incoming packets you want checked - against the blacklist using the "blacklist" option in /etc/shorewall/interfaces.
-- The black list is refreshed from /etc/shorewall/blacklist by the - "shorewall refresh" command.
- +- You specify whether you want packets from blacklisted hosts +dropped or rejected using the BLACKLIST_DISPOSITION +setting in /etc/shorewall/shorewall.conf
+- You specify whether you want packets from blacklisted hosts +logged and at what syslog level using the BLACKLIST_LOGLEVEL setting in +/etc/shorewall/shorewall.conf
+- You list the IP addresses/subnets that you wish to blacklist in /etc/shorewall/blacklist. +Beginning with Shorewall version 1.3.8, you may also specify PROTOCOL +and +Port numbers/Service names in the blacklist file.
+
+- You specify the interfaces whose incoming packets you want +checked against the blacklist using the "blacklist" option in +/etc/shorewall/interfaces.
+- The black list is refreshed from /etc/shorewall/blacklist by the "shorewall refresh" command.
Dynamic Blacklisting
- -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:
- +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:
-
- Dynamic blacklisting is not dependent on the "blacklist" option -in /etc/shorewall/interfaces.- drop <ip address list> - causes packets from the -listed IP addresses to be silently dropped by the firewall.
-- reject <ip address list> - causes packets from the - listed IP addresses to be rejected by the firewall.
-- allow <ip address list> - re-enables receipt of packets - from hosts previously blacklisted by a drop or reject +
- drop <ip address list> - causes packets from the +listed IP addresses to be silently dropped by the firewall.
+- reject <ip address list> - causes packets from the +listed IP addresses to be rejected by the firewall.
+- allow <ip address list> - re-enables receipt of +packets from hosts previously blacklisted by a drop or reject command.
-- save - save the dynamic blacklisting configuration so that it -will be automatically restored the next time that the firewall is restarted.
-- show dynamic - displays the dynamic blacklisting configuration.
- +- save - save the dynamic blacklisting configuration so that it +will be automatically restored the next time that the firewall is +restarted.
+- show dynamic - displays the dynamic blacklisting configuration.
- +Dynamic blacklisting is not dependent on the "blacklist" option +in /etc/shorewall/interfaces.
Example 1:
-shorewall drop 192.0.2.124 192.0.2.125- -Drops packets from hosts 192.0.2.124 and 192.0.2.125
- +Drops packets from hosts 192.0.2.124 and +192.0.2.125
Example 2:
-shorewall allow 192.0.2.125- -Reenables access from 192.0.2.125.
- -Last updated 7/27/2003 - Tom Eastep
- +Reenables access from 192.0.2.125.
+Last updated 11/14/2003 - Tom +Eastep
Copyright - © 2002, 2003 Thomas M. Eastep.
-
-
-
-
-
+© 2002, 2003 Thomas M. Eastep. +
+
+
+
+
diff --git a/Shorewall-docs/configuration_file_basics.htm b/Shorewall-docs/configuration_file_basics.htm index d75361d8d..f7aeb5895 100644 --- a/Shorewall-docs/configuration_file_basics.htm +++ b/Shorewall-docs/configuration_file_basics.htm @@ -9,17 +9,8 @@Configuration File Basics -- -
+- - -- -Configuration Files
-Configuration Files
+Warning: If you copy or edit your configuration files on a system running Microsoft Windows, you must run them through modules.
- /etc/shorewall/rules - defines rules that are exceptions to the overall policies established in /etc/shorewall/policy.
-- /etc/shorewall/nat - defines static NAT +
- /etc/shorewall/nat - defines one-to-one NAT rules.
- /etc/shorewall/proxyarp - defines use of Proxy ARP.
- /etc/shorewall/routestopped (Shorewall 1.3.4 and later) - defines @@ -254,18 +245,21 @@ that you can then use in some of the other configuration files.
It is suggested that variable names begin with an upper case letter to distinguish them from variables used internally within the Shorewall programs
-Example:
+Example:
+
+/etc/shorewall/params
+--NET_IF=eth0+
NET_BCAST=130.252.100.255
NET_OPTIONS=routefilter,norfc1918NET_IF=eth0
NET_BCAST=130.252.100.255
NET_OPTIONS=routefilter,norfc1918+
-Example (/etc/shorewall/interfaces record):/etc/shorewall/interfaces record:
-net $NET_IF $NET_BCAST $NET_OPTIONSThe result will be the same as if the record had been written
+The result will be the same as if the record had +been written
net eth0 130.252.100.255 routefilter,norfc1918@@ -331,7 +325,8 @@ The try command allows you to attempt to restart using an alternate configuration and if an error occurs to automatically restart the standard configuration.
-Updated 8/22/2003 - Tom Eastep +
Updated 11/20/2003 - Tom +Eastep
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
- - - -
diff --git a/Shorewall-docs/copyright.htm b/Shorewall-docs/copyright.htm index b18869cfe..05fccb49b 100644 --- a/Shorewall-docs/copyright.htm +++ b/Shorewall-docs/copyright.htm @@ -1,46 +1,30 @@Copyright - - -- -
- -- - - -- -Copyright
-Copyright © 2000, 2001, -2003 Thomas M Eastep
- -
---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 "GNU Free Documentation License".
-
-
-
+ +Copyright
+
+Copyright © +2000, 2001, 2003 Thomas M Eastep
+
+++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 "GNU Free Documentation +License".
+
+
+
diff --git a/Shorewall-docs/dhcp.htm b/Shorewall-docs/dhcp.htm index 14816e07f..84954d805 100644 --- a/Shorewall-docs/dhcp.htm +++ b/Shorewall-docs/dhcp.htm @@ -1,85 +1,65 @@ - - - -DHCP - - -- -
- + +- - - -- -DHCP
-DHCP
+If you want to Run a DHCP Server on your firewall
--
-- -
-Specify the "dhcp" option on each interface to be served -by your server in the /etc/shorewall/interfaces - file. This will generate rules that will allow DHCP to and from your firewall -system.
-- -
- +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. -
-- +
+Specify the "dhcp" option on each interface to be +served +by your server in the /etc/shorewall/interfaces +file. This will generate rules that will allow DHCP to and from your +firewall +system.
+- +
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.
+If a Firewall Interface gets its IP Address via DHCP
--
-- -
-Specify the "dhcp" option for this interface in the - /etc/shorewall/interfaces - file. This will generate rules that will allow DHCP to and from your firewall -system.
-- -
-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 /etc/shorewall/interfaces - file.
-- -
-If you don't know the subnet address in advance, you should - specify "detect" for the interface's subnet address in the /etc/shorewall/interfaces file -and start Shorewall after the interface has started.
-- -
- +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.
-- +
+Specify the "dhcp" option for this interface in the + /etc/shorewall/interfaces +file. This will generate rules that will allow DHCP to and from +your firewall system.
+- +
+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 /etc/shorewall/interfaces +file.
+- +
+If you don't know the subnet address in advance, +you should specify "detect" for the interface's subnet address in the /etc/shorewall/interfaces file +and start Shorewall after the interface has started.
+- +
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.
+Last updated 11/03/2002 - Tom Eastep
- -Copyright - © 2001, 2002 Thomas M. Eastep.
-
-
+Copyright +© 2001, 2002 Thomas M. Eastep.
+
+
diff --git a/Shorewall-docs/download.htm b/Shorewall-docs/download.htm index 425321a66..d1c9f4e37 100644 --- a/Shorewall-docs/download.htm +++ b/Shorewall-docs/download.htm @@ -9,17 +9,8 @@Download -- -
+- - -- -Shorewall Download
-Shorewall Download
+I strongly urge you to read and print a copy of the Shorewall QuickStart Guide for the configuration that most closely matches your own.
@@ -86,20 +77,20 @@ removing the file /etc/shorewall/startup_disabled.HTTP FTP -- SourceForge -
-sf.net -Browse -N/A -+ Slovak Republic Shorewall.net Browse Browse ++ Washington State, USA +Shorewall.net +Browse +Browse Texas, USA @@ -144,7 +135,8 @@ Unavailable)Browse -
N/A
+Browse
@@ -159,11 +151,14 @@ Unavailable) - Washington State, USA -Shorewall.net -Browse -Browse +Sourceforge - California, USA (Incomplete) +
+Sourceforge.net +
+Browse +
+N/A
+
Last Updated 9/25/2003 - Last Updated 11/14/2003 - Tom Eastep
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
diff --git a/Shorewall-docs/errata.htm b/Shorewall-docs/errata.htm index 247361e6f..5d14cceca 100644 --- a/Shorewall-docs/errata.htm +++ b/Shorewall-docs/errata.htm @@ -10,43 +10,36 @@- -
-- - -- -Shorewall Errata/Upgrade -Issues
-IMPORTANT
++
Shorewall Errata
+
+IMPORTANT
If you use a Windows system to download a corrected script, be sure to run the script through dos2unix after you have moved -it to your Linux system.
+it +to your Linux system.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.
+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.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.
+corrected firewall script in /usr/share/shorewall/firewall, you may +rename the existing file before copying in the new file.- @@ -61,8 +54,7 @@ Version 1.1
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.
+BELOW. For example, do NOT install the 1.3.9a firewall script if you +are +running 1.3.7c.
- Problem with iptables version 1.2.3 on RH7.2
- Problems with kernels >= 2.4.18 and -RedHat -iptables
+RedHat iptables- Problems installing/upgrading RPM on SuSE
- Problems with iptables version 1.2.7 and MULTIPORT=Yes
@@ -75,12 +67,38 @@ REJECT (also applies to 2.4.21-RC1)Problems in Version 1.4
+1.4.7
++
+These problems have been corrected in this firewall +script which may be installed in /var/share/shorewall/firewall as +described above.- Using some versions of 'ash' (such as from RH8) as the +SHOREWALL_SHELL causes "shorewall [re]start" to fail with:
+
+
+ local: --limit: bad variable name
+ iptables v1.2.8: Couldn't load match +`-j':/lib/iptables/libipt_-j.so:
+ cannot open shared object file: No such file or directory
+ Try `iptables -h' or 'iptables --help' for more +information.- When more than one ICMP type is listed in a rule and your kernel +includes multiport match support, the firewall fails to +start.
+- Regardless of the setting of LOGUNCLEAN, the value +LOGUNCLEAN=info was used.
+- After the following error message, Shorewall was left in an +inconsistent state:
+
+
+Error: Unable to determine the routes through interface xxx
+
1.4.6
- If TC_ENABLED is set to yes in shorewall.conf then Shorewall would fail to start with the error "ERROR: Traffic Control -requires Mangle"; -that problem has been corrected in this firewall script which may be installed in /var/share/shorewall/firewall as described above. This problem is also @@ -95,13 +113,10 @@ follows:
For Shorewall 1.4.6 and 1.4.6a users, this problem has been corrected in this firewall script which may be installed in -/var/share/shorewall/firewall -as described above. For all other versions, you will have to edit your -'firewall' -script (in versions 1.4.*, it is located in -/usr/share/shorewall/firewall). -Locate the function add_tcrule_() and in that function, replace this -line:
+/var/share/shorewall/firewall as described above. For all other +versions, you will have to edit your 'firewall' script (in versions +1.4.*, it is located in /usr/share/shorewall/firewall). Locate the +function add_tcrule_() and in that function, replace this line:
r=`mac_match $source`
@@ -116,13 +131,13 @@ Note that there must be a space before the ending quote!
1.4.4b
-
- Shorewall is ignoring records in /etc/shorewall/routestopped -that have an empty second column (HOSTS). This problem may be corrected -by installing Shorewall is ignoring records in /etc/shorewall/routestopped that +have an empty second column (HOSTS). This problem may be corrected by +installing this firewall script in -/usr/share/shorewall/firewall as -described above.
+/usr/share/shorewall/firewall +as described above.- The INCLUDE directive doesn't work when placed in the /etc/shorewall/zones file. This problem may be corrected by installing this firewall script in -/usr/share/shorewall/firewall as -described above.
+/usr/share/shorewall/firewall +as described above.
1.4.4
@@ -158,7 +173,8 @@ to allow integration of Shorewall with Fireparse 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 ftp://ftp1.shorewall.net/pub/shorewall/errata/1.4.3/fireparse/. See the 0README.txt file for details.
@@ -171,8 +187,8 @@ directory created in /tmp is not being removed. This problem may be corrected by installing this firewall script in -/usr/share/shorewall/firewall as -described above.
+/usr/share/shorewall/firewall +as described above.
1.4.1a, 1.4.1 and 1.4.0
@@ -191,7 +207,8 @@ in /etc/shorewall/common.def.
produces the harmless additional message:
/usr/share/shorewall/firewall: line 2174: [: =: -unary operator expected
+unary operator +expected
You may correct the problem by installing 1.4.0-
- 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 this correct script in /usr/share/shorewall/firewall as described above.
@@ -222,17 +239,19 @@ released this buggy iptables in RedHat 7.2.
I have built a corrected 1.2.3 rpm which you can download here and I have -also built an iptables-1.2.4 rpm which you can download here. If you are -currently running RedHat 7.1, you can install either of these RPMs before - you upgrade to RedHat 7.2.
+currently +running RedHat 7.1, you can install either of these RPMs before + you +upgrade to RedHat 7.2.Update 11/9/2001: RedHat -has released an iptables-1.2.4 RPM of their own which -you can download from http://www.redhat.com/support/errata/RHSA-2001-144.html. - I have installed this RPM on my firewall and -it works fine.
+has released an iptables-1.2.4 RPM of their own which you can download +from http://www.redhat.com/support/errata/RHSA-2001-144.html.I +have installed this RPM on my firewall and it works fine.If you would like to patch iptables 1.2.3 yourself, the patches are available for download. This patch @@ -246,8 +265,8 @@ corrects a problem in handling the TOS target.
- patch -p0 < the-patch-file
Problems with kernels >= 2.4.18 and -RedHat iptables
+Problems with kernels >= 2.4.18 and RedHat +iptables
Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18/19 may experience the following:
@@ -259,10 +278,9 @@ user-space debugging code was not updated to reflect recent changes in the Netfilter 'mangle' table. You can correct the problem by installing -this iptables RPM. 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"). +this iptables RPM. 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").Problems installing/upgrading RPM on SuSE
If you find that rpm complains about a conflict with kernel <= @@ -275,7 +293,8 @@ MULTIPORT=Yes
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:
+Shorewall +1.3.7a or later or:
- set MULTIPORT=No in /etc/shorewall/shorewall.conf; or
- if you are running Shorewall 1.3.6 you may install
Setting up NAT...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 http://www.shorewall.net/Documentation.htm#NAT
iptables: Invalid argument
Terminated
+2.4.19 kernel contains corrected support under a new kernel +configuraiton option; see http://www.shorewall.net/Documentation.htm#NAT
Problems with RH Kernels after 2.4.20-9 -and REJECT -(also applies to 2.4.21-RC1)
+and +REJECT (also applies to 2.4.21-RC1) 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 ftp://ftp1.shorewall.net/pub/shorewall/errata/kernel.
-Last updated 7/23/2003 - Tom -Eastep -
+Last updated 10/11/2003 - Tom +Eastep
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
diff --git a/Shorewall-docs/fallback.htm b/Shorewall-docs/fallback.htm index 1141bd0b6..88b2cd87d 100644 --- a/Shorewall-docs/fallback.htm +++ b/Shorewall-docs/fallback.htm @@ -1,77 +1,61 @@ -
Shorewall Fallback and Uninstall - - - - -- -
- + +- - - -- -Fallback and Uninstall
-+Fallback and Uninstall
+
++
+
Shorewall includes a fallback script and an uninstall script.
- -Falling Back to the Previous Version of Shorewall -using the Fallback Script
- -If you install Shorewall and discover that it doesn't work for you, you +
Falling Back to the Previous Version of +Shorewall using the Fallback Script
+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:
--
- -- cd to the distribution directory for the version of Seattle -Firewall that you are currently running (NOT the version - that you want to fall back to).
-- Type "./fallback.sh"
- +- cd to the distribution directory for the version of Seattle +Firewall that you are currently running (NOT the version that +you want to fall back to).
+- Type "./fallback.sh"
Warning: 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 +
Warning: 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.
- -Falling Back to the Previous Version of Shorewall using -rpm
- -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" +
Falling Back to the Previous Version of Shorewall +using rpm
+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).
-Uninstalling Shorewall
-If you no longer wish to use Shorewall, you may remove it by:
--
- -- cd to the distribution directory for the version of Shorewall +
- cd to the distribution directory for the version of Shorewall that you have installed.
-- type "./uninstall.sh"
- +- type "./uninstall.sh"
If you installed using an rpm, at a root shell prompt type "rpm -e shorewall".
- +If you installed using an rpm, at a root shell prompt type "rpm -e +shorewall".
Last updated 3/26/2001 - Tom Eastep
- Copyright © Copyright © 2001, 2002 Thomas M. Eastep.
diff --git a/Shorewall-docs/gnu_mailman.htm b/Shorewall-docs/gnu_mailman.htm index 74c55a49b..dd2d374ae 100644 --- a/Shorewall-docs/gnu_mailman.htm +++ b/Shorewall-docs/gnu_mailman.htm @@ -1,80 +1,57 @@ - - - -GNU Mailman - - -- -
- -- - - -- -GNU Mailman/Postfix the Easy - Way
-- -
The following was posted on the Postfix mailing list on 5/4/2002 by Michael - Tokarev as a suggested addition to the Postfix FAQ.
- + +GNU Mailman/Postfix the Easy Way
+The following was posted on the Postfix mailing list on 5/4/2002 by +Michael Tokarev as a suggested addition to the Postfix FAQ.
Q: Mailman does not work with Postfix, complaining about GID mismatch
- -
-
- 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:
-
- alias_maps = hash:/etc/postfix/aliases, hash:/var/mailman/aliases
-
- Make sure that /var/mailman/aliases.db is owned by mailman user (this -may be done by executing postalias as mailman userid).
-
- Next, instead of using mailman-suggested aliases entries with wrapper, -use the following:
-
- instead of
- mailinglist: /var/mailman/mail/wrapper post mailinglist
- mailinglist-admin: /var/mailman/mail/wrapper mailowner mailinglist
- mailinglist-request: /var/mailman/mail/wrapper mailcmd mailinglist
- ...
-
- use
- mailinglist: /var/mailman/scripts/post mailinglist
- mailinglist-admin: /var/mailman/scripts/mailowner mailinglist
- mailinglist-request: /var/mailman/scripts/mailcmd mailinglist
- ...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.
- +
+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:
+
+alias_maps = hash:/etc/postfix/aliases, hash:/var/mailman/aliases
+
+Make sure that /var/mailman/aliases.db is owned by mailman user (this +may be done by executing postalias as mailman userid).
+
+Next, instead of using mailman-suggested aliases entries with wrapper, +use the following:
+
+instead of
+mailinglist: /var/mailman/mail/wrapper post mailinglist
+mailinglist-admin: /var/mailman/mail/wrapper mailowner mailinglist
+mailinglist-request: /var/mailman/mail/wrapper mailcmd mailinglist
+...
+
+use
+mailinglist: /var/mailman/scripts/post mailinglist
+mailinglist-admin: /var/mailman/scripts/mailowner mailinglist
+mailinglist-request: /var/mailman/scripts/mailcmd mailinglist
+... +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.
Last updated 12/29/2002 - Tom Eastep
-Copyright © 2001, 2002 Thomas M. Eastep.
-
-
-
-
+ size="2">Copyright © 2001, 2002 Thomas M. +Eastep. +
+
+
+
diff --git a/Shorewall-docs/images/Legend.png b/Shorewall-docs/images/Legend.png index 8ae90a1ec32b9ebf45e98246699504316a94e22b..e97521e00d7ea97589aae490f2450e64459ca668 100755 GIT binary patch delta 1481 zcmaiydpr{e0LO)mmXBv1ix_iC=RL10&l;O3YU#}TF{2M|m5;L(My$rdkjIdB<;rL` zghSqiA@j<~Ylsv>F=OWX_dfTzyYJuM&+m`l@0TlGCPfV+0!p3W_Sf*fYmZy5XdBCt z8udynpWigvF#1h2Q5FKc3IT){_KS!WNFw9KUv41dMb_1MmDL6}eyu$RYx+DBYf_1( z$9ZxK#x;-v{CDEwW>CnoHa?#}Gd8C9vgI_!ZSK>jPrJLj6mZo6oob)J<3$_yi}X#N z#`eay6TOWUm@%M5rbnC(mVf+h2t(k)+R~*CaT?<8n+XpNtQ8Lgg08PqQ(l@IHLnvg z@OCFOeEs}l@5H!sRXy}$RHUvu$Tr`i*|%n8DfEeNGvx3D0=n|P3Z+Yo4WY=8P1)pE zxov$6&t3m^<*3L=g(Rhcw_Q?aXQrnKd=L=}xJCtvp<)Wr^BFr$NoCpT;86+l+1IJC z3&(Ic+@)CK&qCo?EL6~Q;T|AxhyA!yM^Vb8b51;(p?{y?ob5kf1rAx~;c7hpWQS<%UL#ifU}ZdIVJa0ULUCnp22)|g1EuV(v~iDR7M zfpHYvZ(Dn6AKPa-!3)FeP^nWjL#u#7Wtjs^>YH5u
1MT12L!>eJI@=4zr1 z&$++CGj6?Mb{9060aDO5kBEVPuRV}Y%UeQ0io3U9#{JLiY$!`1fjO=TF-pY!$?r3^ zx3{~Jq(Exw>g!xC*T>s?#VYDPbJWkAW3@dzoH2+BS=BU?=!H}2Q~o8Vf2d2ZSd_1q zQ=E*p0c;V`dba;OK%r hQaa&G+04Ts62VT*N5tj3_e7P5Ow9$4{SyDL&=`oJtXTtwwv zmX*xauAg_4aWr;A*=csLzA#P3kE 7 !yC__;KyM HwbmaIPBtagM>WN z1-2=Yl`l_nhG6HZrXYFdQ~10*8EvV3DY2_c_ez6!ppvxH2;~3u^Z)H{41C$!%O|Eh fr=Cw>GMTp3lILp!PW@OR@*O9K%kb*+{`dX@(@ozq delta 1728 zcmb`FSvZ@C0zj#XO!&~EjVeO5Xsn^sG^jKLnOa(9j4hPkb%P+SwM0=FGm46RiwYS! zO^lJ+iWZsL{!+VI#)Q#WYKnAPS<2k+KHtZCp3c*GI&})AiUmXpgzkcM@JbBasqXPK zx}yA`)A#CLV}IYvfqIw%CLQj4U-g&RXb5~ByL%ELZG=9FNEeT#Qn$7W0cJwOL>uQL z+%MDHo+Y^6UN4;! #yD+0v|ZdRrNX1q;=<%Y)|_?l_B-`_J*w3i3g49#kOvrEhVTfDY*Zbl>$ z^?wnIQ*?j-aAbO66_WJv?@ynYg0-I|)#;r6%3*xP(8Tica-S7*0DWqX^~WKP7yKDa zEqg2o4-bEDJUxi--QM1=7dSt{E+LeD*pSb`oY~x0cBa@)!bpEk-jW9EHw@w^l<{V% z>{F|l^9x=}9}d5Gnt}+|eeeQ!vJn9jV)w#;9Nfqnimywj(}yzMli`sn30Zs|vQH?H zRM|(dY@1I59@>)|;qm3_ckaj39d>~pt!P+nq1kM9pTfN#(JY%yQA#l6g$pMpv@O>` zY)#Rw?vz@DhT=fw2M8*5C=7sl@8WYjks@`5iOlV^mH Vl!NB|UJr&G3*-aN EQBsj2p!H<#nL4=jQDC46qP?1l7G*P= ze9y1Tk{Sc&0JEQ`#u;}gW&)2M_G^OoPjuWS3E=bjI2`W3j}8tFQmIrqA0M9 7N>m -U9@TvhVglX;N!o$X7Et$ArPI~xSo3w%3|P% zYhw;Kx$^4@3ndMBo=0@dH9%Cm5z+vc;gMrdWUYMk6}!NOj-X4j8mLTPqTx_06HH^z zRJ|=AWw(L%#BI$i>rkdr2%~gYKux^%T%W0C!KQ}>4mRC4VuxYo*|$^t$=3k#O-Omg zQI<{MkGSv*^|@=6xk7o!CS|52bSmxD0Iu^?2`y5{=+0XZ&%~-v6sdDcERduB4sFu2 ziZiU{I*H2d`W}90x!l?uk@{kk2_A_2wF81?DM`qoa;Q%)4ZP~?WVf^%X3qXKo`Px0 znIB>}A+L~LIZeCU-_|Q~VM^rcU1dIX9JuijIrP2LxA!$rjYcgLb4etxocNo #M%2cAd#R@?Z}Rra$G???|-OEoCK#4d+Hfn^ kOJyotvfK#A9-{)3C78 =w4i9A~ z#=b8p8nR3Xum9maKiv2I>*qSxxy~JDZh8}b84dt|8ye_Y0sy&)07VD8(9S5^#0w*u z8(ZDb(>tY5C~zhWBl6bYzkkVO^8Eb#`uaKou8X{62S=#W(1|m%xzWQF&^i<@ZZ9t0 z=VB72Ts&bMmjkXUbn*&j@ryRf%6$}&SXS4Vfx%c%sO|A_Qbpy+4Z|EI)m<&^bwQCh zMWw-(j-9x~O&iB8UcvIfkVYMYavSIWgq2?hhJ97@+V%B6k}&Sl)@yHSp5T+}5z|?; zcAk!n@4;BKXBYogwqBA{to93CyK}eZiexZplB^ebvblA X1Y&+oK+F}{TI z#eS|HdvjDI?7HrzkewYpOTjw$wb?Z{>;680AVu~(j(#vt)ym-)DbVi+w0dq*&dybl zA>KRt-!=p4m6%C J*p-ADN7J?rIV1{q-JOtKsk3F1pphY^AvJJ#qsU0u<+I zhGpfUjWTn4J!|e)RcQ#3RIVT>*Qti-w_5ub-TTU%s%9nYo;m9|XP!z-Scb?#fWv{E zk38byYNE2+KU0|oVW-STw=G`YpOQI6LVG|ueFP^;u0bdaJP>hHzs`%w&H=ELf^#R3 zaVcle8@iLBL5o^*&uaGozX1Wuh*O~Ow$Y+WAX~KNXHP&DZEakz6$3J}E3u*lLHIJa zu|1mEPuTjVnncltwZBwWYkmAU?y>D)IbhUJ3=%^m*PAOVKH2QvC3*N>&K!e$9u;lT z;*k;E+2Ypg6ixLzQbK@S81>LZT~5kdJV>8b_?*%M63?)rF0&a?1vGM*4nnJ}#}u!8GXrHL+dfR?IGm_jDy;ht zM7TGx*S&3FdFWAH_!S2ILIYCIh^Nx)G1jUyPO?U7cfUZ0U8xhU{&`}@mGus}8E-5e z3HKh6ls*tJz4k>_Nkrg1$x{80c3-U5u6Q&X1W!;6HO|wVO0fZ#)}UxjEfe(o0yoRC zOK6Ren1JuYdzZX^3x6&O^ epXLTsc!^+K4{9%iI4JWQjqk!Ekht>Z}xjq+=rPT- 1vLXWmsa5ECI2M=e z<;6%aXMM_IZVqb+rovgGawUvNP+Yg{#bI=#8>e*3v=))CSwYAU?)GSN#mZuIOIYXI z{39jh2!~}TBeXaBf#UPd#!3)`4uF4M(FJ~^*S XV8#6miNhx$a$V=2gZ O>_)E!?8ICks?@MXPlhnm+jHSwElPR|B= zBtn~}y$K$d5*aX9NW}FxAJ_F-U*&>=F$6pxg^8Wq*9u!T(%>}FoPKdUbW)_EXP2bE z^CdJ54M9Yi1uO2#p0PE@Xb&TSV%^mJ4tVBTF?i*5n;mmH#wwJqUkIZ-sL>ZTdTsNn zI7*QH0iAM5Sy7ToE9Y)LKTueFG9VJEKJI{BI$@EDryFwP3)?F~h=woc4r&S6C{iLM z5xt67`*T0CC2*dpw58?ncSWWkG&?^)Eo*!MHPvvHWoAJIQo@t?2(X`NId|dZh}@}z z+wA(vixl7B@r~#c#bJ4$A^cdSEIlB)UE9JAx&`uBJHh$eW^FN_uXAp%2Kq(F0O{V2 zPsg%g{$2N1SNEh?Y9DyUZ42Aize@V63s`WmMXdioT;_w+jqGHpcJj`rpB$>wXbgG) zn-vR?%!A{p;Rh%-DQNaiV$7_GL)yw!{F?CBR-2u05Og%)(nDia>vbXuitd|7TQ7A< zamv ndT; 3op*E+I>7z{@|4g+ s^R+tFB$q{&s<0_2|pdoNcSPL>v7?Upp6hNB88)%2e ~~9`r|%F$vQcWFDVi4k_TWYFcA0be{=XmIBg)2`q;Kj}elL0IvX5h9_}!y@ zpSnc~f`^`&K*V3U!4Ehbo-T*`8{0DJYG-ZHBrpz3GW>$>JA!@Li}&JB+W !&hrz0cI(D*rszCOksk@4g2^U=S&xczu zx3S^AF*44V*@$Q*uR|Th@6_hf>dcm}IqJ zUbt9a05z`0$uEf3pC~vmmkf1T(vVqAZ9eV+nmbK3!pV(iUfl558t(7EYzATS=!PsK z>W^NaxDO(ox9T>2OKd)(jE@Qwrd5uH8vAXC$Nwk#H(`&Hub%}>MzP)g_0|Cc>)m)S zUE(rP>N Td>``u;q+6SBZcvcGz;pZiP>*7Fwf*y^ OGnl1m-4O&8woP8zS$EBHg~6rR1L0{clu?^U0LMNO~ueP%lht??p7j?WFg zgL}vRAewj|9f#Hme{!$U4Vn?|NZwKex?Xfh!(XL8sIA2lD7FR@JwKe{R!8D0(F_Tv z%5!;5Y6;Epl|a05{=>O?mP9P*;#MsmKw}%XuB{k?vTcmBW2;DUJccF+lEa=$ZPjIg z-Mh6V=bg*fxRBHDNKzVj2*gLc+{ThJqizw(+{V|~wOrMsvgb@-DT()haOz0TOMv7U zddapsaps4sb4p^bH|BGMv|kfKTpJ%mgBwAyIEABd>cFHb3H~p0_dqnd{65XU{BFX> z#gfaXr_IFEwcq|Im4~LZNE)g9BC&v<2@_obX&att)I6^x4J1>Q=9aFWM%(F0kmgPO zh5TY;#Qj7d-?oH6a6w)3AqN7h!*1=!6x_%@CX}QjulwfM?N9Yl2}vxu{ekr0BuBd^ za>m)?lerH`#0wrvRD;_#d|f*lrp#0pnC&|xvZIILgjaMkX%mQ{y~G !m{}yf&VRU3JRSLW+<2E~geKxlbL`3gltCpxg=Tn->*I9PcQ2 zS4zewm0+KmuEohLK+u5)X*+zM9ewvlb^bE17prQDEX~um*RyZbTUp8$5`S9O7;7RL z)jMxq8&b`4IeDkAlOXM$(M=tZu;%CTzy(#M<~&T_>qV#bYJ+7)xj&A!o6no|!{5eH z2GPI<%vOJgi9pYU$rZPJj$zZ%e70811kp6zXwCXFFzs!1+3?YJkm(ITOg?#q$|MxX zbdkgmqe k6GQJhjczl*O+8y}PN778!h-Y3>vtCzd7boo<*K zfgny6Jg;9hdnZGOZ;VrnzLI&JOt&sUP?*XyxJHvYU_5(SuA<*+rrI4E z)HyYj5VxJ$!hdT|S(j2c5p%rYcsM ic&yr<(lp|-!}Ki#7>GshI>A3(OxJz@Gm oR;tx&TR1)ZGZLiG+IG(58TrO|S7XZiqTvI>8>V{IIxdm_1JA)K+yDRo literal 0 HcmV?d00001 diff --git a/Shorewall-docs/images/Logo1.gif b/Shorewall-docs/images/Logo1.gif new file mode 100644 index 0000000000000000000000000000000000000000..5f44fb3f8b03e7eba58c0ffbe9c4f2476993cbb5 GIT binary patch literal 10788 zcmdU!_dnH-`~RQA;W*ql_SUg?PPS0T-a7V7hmci9HtE=#W6wCqrq{7|9g?l22t`NA zXoym2>GS^n8Q<%6{doOy-R_ScuE+H-HZ{`F^tcCl1Cs!t?DOx-@%K+3ULNibzIjDi zn5v$g8(7`g?(59G*GWmd?cY?FU|^&rgq4+0RpAs7Ml!QH+g;76Z??JQhUVqfH1sLT zkGM*34G;EEx@2Jza}%GIq<<~R+#>CQpSM$Ke#pQ??31 Vbdw-iSw0tJ~;^)!wZC@=dLbp{*`OlotvI_ zoBVy;9xTv2f-{<_+gGmyUUp2sWD$JDPPz0$y* K?s83Ogcn19X&(`F{G81S5#KrsjeZ{*45u_Xl!b3 zX>Dt7&d8>8c6A}>>A_}t#PG=IFslxI$HR$7lT*_(vj9lX#C`wiaM{8W nCuaUKAmu(ETPiRd|JOp!35EiVoj2n{()eX4E^+h|IBZy;kx?IU+6&dZOR- z0Hr>%K6bRaSU=279#-3EDrPi({L$6FX>6>6Js78bd0(G4?7^FJGu*0cX?yNpIk7MN zWyI*p&h>=X{ZN%S&!+vAVg_Br6UKr~c}>c$yA{d_`#PD^-C*O^@W#p=P2|VjlH0F? zyJ+fp+V#{7Zh1VAepZ!0j{YZYmz2ahyNH8PJq}yB+AOwbQu%hew{8ntO?s-I=ROrB zYcjdfa1Ja6G7T^@?fX)&q76Y%L~L>#$YI@FrP7&x_uVO%w`aI}UC+o)+$73-$y*+Y zrQzuL1IfGeg2!vR2%;4w&%ACFIp&lkZ?Fk}N|D(q@imfdk?dZk_>e}0Oy??%W$b+F z+*N5~447m>D-x59gBT@>2;*&%%zi8&C$E_xLWkBx%F15xtuJ$y(AcN=&=Yh~)9$k+ z)=A$V?z{dCOmQ<{^*T&IN>vddl+;}^)Y^J)XnbI;{A)wU{yh1iUi>!~F^c+mGTeDw z5shP+mTZ&14ExDuHI&(KOU0l(aA38359QPNMk{TcNh}+9h&p#VL0dxXZJL2Ln|QKS z{lS==WZbtB!OPIkongfXcg_zB1-*+ Iw4t#oQQ-D#RpBdRVAlFrO(}bYhH?D2{8j5dC8kN}ZPvN6oz`LSp)6{)PSR zeSwfCyg~euooip}cI%T5sw@}l5ILPx5<_@;Q*_6*Z+_@NDX#vH8KZo1!&KQd7TvA< zW=Zaz*BIhh&TdNqQi7>GCqmlb$3vW!`J^XKqDFo^TD-VDei~$-(4M1JAc?pSqT!)b zRg~Z5X>iDmi-rF8K?mt|;01{`^>TSTnlI{YTu0xj_HV(TsFE{xG ssdnVu=rp{bu>G>Q5WIH~x91gN#gWaob%24FelygyT?TtP9uASkV+DWa%> zz;mR&($jUq=XsA>Bk5Sj9)MLJBw5N5=!40W!{`qlYUGNIY7da9YR`c8q+p8o(Zl(M zOG2vBTk_nC0CQDh;Fbsg?e#PM?zpb<; 8zUtWqt9NWL}0}(>KXx0(A_f$5cd~D zJuDuB9I2yx>;&Y#*8__%`}}cIi^Zt5Rg1DyG&-^g^)cHc@8(z$JzoPK?-HnOAzm*{ zC05|rlBm*#3sp_pmKvQmS TkyQ3#q|+6*aH@Tjr9KtByj zET-pVLf!wUR_bL?c*9TUbnB_ar$XHhqoi)@6mkekEP7G9s-Xk zW$I*vIeEogHlIMR1P#vmrC2&Sk-;dN0x3=90pKGBs@JA{LLIii16@_H^!C{giIyk$ zw5-jl6or2gl{PU~OTq1$15fof#B(y(8-x3yLe;>v66iYoms{0lpW54#bu#Ws79O^s zvvmmW)r`Kc%Y4&Aa*rgK%XI0LC 3G7F8l(kl|bj?ic)`cO&iM zjUkCD=7LdiQ5>i`&Bt^Z+1Z)<4WWn`V;)aTn2m?8PV6V7y9s15%@?D^FQ+38RGtYT z6QhEQ4OjsIr|8X2bbP=wbEDAzHb#`f#K)%S{N~aV_`NC2<*j;U(~E7QR45Cs*~Xi1 zeyQN;6+6UPxzD~B4g9R=S$S8T@$kIWTL+PIcl_v^qku~>?BImLfxM+DGWp9h*>T@{ zH-9q{PaCWpw4t!-@O!aZkTz4LeeZkA50W6aZ<{Nt)_>{Nb6_UrhXisOgg;IY`SEJu zitCbN6CAk#e;g+(s0Z$-V8_3YX+SK>lBNE+r>|S~z|qHq+|hKiUHY{wRH{FZga^Ch zL9YliaVZnA!~R>m=WfNL$5c|cRVkVZogskzf;)+7!#@{-g%e;aHx8{&k>$iz9O^Jy z@6GcU9g3PaOPcH&UhNQ|N~chDVG&id46&aNd$;a)WP(;K<_T9B^)4G06#o%cEgoHd zRdf5@nC%s;7>($eE zdgVQf7A$_!J9!y!lT; 73U%!cIR3WH4&9( zG{Bihs%M)&6SDRr2E51J4jaNn!Am=Gll=I^oQH$kjt18%^f8+pZl^``=bXTQB{wfj z OA+FJf=}0waDw2ta)iUn*JYGfu`B(F{KqWVe@&V#;gkfGV2jhU^ zmF({T%Lw)0taR;fZ3-wzAsp!>3DS->`x|v=ag4Mp;Du_+{j8c3E;#YQ1M%8B{c-df z=xBc#`slw#=hLgUfOxtKO{FnhS0ln2h3%z6b_lTrx >8fqcQT5dlD;4da?u}*H`#L2@z6-1ptUHJ;uT} zt}_yEABlVRRq0d`|5!BzCi!bp!J`#0EZvWfS3-jZ6%@wE(O_{W9;viM7j=Ut;}_+7 zwY5kvk{G}gqQ|)iNRmVTT(ul&NYbDt#s7dV`tt3RnsCxmkr?>Z?k!rsf($wBs)pYl z05TJ9v(<9&1JKJlNDa8n^$b*&u)Prl%D(kzlul(ZNgcd
vYXl`W!LS=lCx|${2ca gx|GSkrqwYvJy(Oc(8UGg(Qd7V$zSaOrN0tcrKx*kuwrTRX0tI zRndL}upUQQLPmkN@hPORmZl|PB>Tox*%@EXg*8=0G2r0ElR{M-U-p2S5<&Vs9u%WN zZy)k;SeryWDvD*efahbf*;i2t4io&6>y!aEh`KjTr(M94c(>1eQ%54oxs>elrDzaw zmz1vt7dTo*C~Nl-0LI0t1x;03WgU<{c5*eS`%OijVX!bGovv8frc9X}0Gso|I5J?Z zAKQfvP-*c+kRwd3QQE=8BYJ6t)N*oyMAc6~2wky5WYGX6%=jv`3M(j!m;-k18_mGy zfub+c5N$VdTjsW5A&c-$!Ra6A=6n%j87b%Rpi+3%a|!&jHQV7;ZdFDO%#cb+DB Wio7OvH2=N}G_i{Y5t13EYn0icdJ}@`h{TSkA`N zgt@{8@2^)F!>j)Yh~p$XWhQU+H&`~iehi6UO0-1a8i!M%Ywt-ySU8crPG<_Zks0xK zQKa>|%XJ1OCLkTv3CEmo7pK6wjE a5A+=Bg8rOc#MiEXce0>L+wLVZYwYS$A}xC}RixEMd~cgn@6pLXgP%YsvE zz>!RSYg6|-{o0iNMhZoE{zwksC-1oQYv%X=+plyS0-FX;eR`$Ak|YhzPJ5 D?6b#qq&!?3)m-Fy3HxQTUD3S2m!FB zZBZ&3d+4NK;OT7NIZ_L~--YseU;6hd)Gr-MZT*}c_X_zHONOp&q$RJ}R3^8f5274c zshycjJtvt8XQ|2C1z@51U?*V^n&acar!p& CDF*OPXE~yV!bn&1UX$(9 z5|XBrb@tv@@{w+@2}F7S@1}J1Pz@WGt{Rs;9T}Gqq?E>LNsVhVWCaNs4E+P)XftR@ z!swFEknH!$Ger0&x%GgtdA12Z50w0AGr1W7_zS?V{l=iQJZ+VHWEB+{LTkMhW?WZM znY&xNJ|fsJ_du_h6?b=sfGv`>)e{((`Uy+S^F?~Mgt<*c#7%`)f#!0A!DHsXnxJ?l zzj%3*7Lm2pjs(;2n%(#0@v`!y-b=$W(kF@QwQ>3>OdIy*RT-K~6M%0lj2A2$s;pd^ zkamb8r-6zr7`^Hwa>4sYYS3i%e58eXbe^=N-9Dh-FlpYZrx2VXs(qFXdq41}#bn(4 z^dF0hlqpj+ili@SD%qd4%6j@
eGU?5(6B`)j@)5PX z*$02yOnA{l$}t_-*a23oU6$TG6*);h>g>eJigt_I9GmVV6Iqe|v+fB=)}dmWwR4LB z1JmX))VP8RcutNPP$>K<@13WD->l|e+1mQBXp+3%#$H5i)uk|}{i0sv#?5V3DJWov zP;z=4Mul$zA9rKf&nDD3kIyt{!$K6u<|As?QA{cJQA?bdsG(>_6^AMXP5E~2C-dao zOGqLN{86#!Bf+iDH5yO_%99{sWP!m`m~j?t3}5lpaS$Bs5#kekLm#_TI;ax7041Dx z>=^S(G*lFAw BdcSOSba2CjCnt zkWQxVsES6EiPKdFW}yU@Ph)4Oq_Gj`szU!R9#mUgzxQ|jKT8OO0olp26x2%z%G9Hj z)SB8GJV5M0Wwq2N?^{9&I%1(`0Q*WNCgl#1uP=KOg{~uT!bY>tv?l<)yW~hFc_r$T z<`Mq9FZw5LR_Bn*Mf~IsE_zHv<&w;0m&-QwpDG0i>z;pK%DhKuVm)_MA+ >4=E7#TFf5`E)1kD@UhSQD12eT5Hix~xNu#^YNI`b{W?s(Avrvwozt~LG%?dO zL7~^OPU+`zmjKH @4{{wG_hbR-37A}l@7{u&6GjoAtpe@y8d*P2Ftd)`u9yN=e81;SMA=_>c8U3SUa9Y;Z0dv(Zy}=YcfF< zmg3mAABX)|DEWccOTAb8EWlTB`R#aBKWsl-m3S#fM!egnv+5j@zj~1DE#;&yAvj>g zOy-E++?3m_38|)r2{T 2LF9jj8q zz})9gLUY9mT0f{T5vg`NN>phH_XjWE19NY|!IRyoO;%O(;`DD&7JDv3*y(g9;RVk% zw|K)y8=4^BG~Jt+SJj^!w}{TWy|p3chSmoe%(?q4eW@Bdn{DNqwuh(JTDIJIPpYU} zk2_APxTGJbdH2Ozw19JAhst;p{oX^yDn0(-6si4>PfooMB%sIgW$+JnUaT$ugO}oG zm{5RI>Ek15$uGm5h9`8!Dy9NZO>9Y3YWUmUgd+#VAZ5D$z%a$HuF@^vt52z!jbC$> zK!$jGX6h{g{EtVE0pll!_xC{y)*Lz7u?`K^qI}~mQhu@d6!VYW>VfT W%O>TjLiGo;v8h%h$cL`QhEt*PMVW?~}>H>fu%& zeu4M@{iXyR@{xUIKgfBC#(a(Y>@VB-*i%7+2;aYSVsH`sm44!!4-x^-ZciI04z{P; z+uhG>u>hZprm3@O3#~IhVR~(U4PLLu5u7uyPoqQF){{E%W~SKMQ#129et)oSIKa<3 zHlL#^sg_6?K4g-&_|q&00790t=A&&iazcI1*Q3tPTDF68H`=p6-6Kr* Qba!JYmmFf5)Y2MavfLr8#Xl QjlyIWawA=19DnR(Vk9vRM3V&SK-;`=5sgdU<_}vO@kdVfuTbb83CtZ zMf8V@Fq0{cAxT-hDQco$29QX!aioU=@?=bZwz$UW^j%$q$W908IVWwR#pY>UwN|b} z$y a)B#(!*iv_Y#5Y4<{PUZ}fazAxk^~cyd4{!6+U`Rf7T|6{>LC z(R--73s<(h9G!H08&uh{U@TS0ZBzB|A?gCjNYHwEA! @a~<_r?-g!h|c#0@3AyvF6Z=>*Nkj%NmfAKp!r z$Svl3PCc4*q1S?uDseycpPX_?ntx&C7!Vg1FLNi2F({CO^^o#NUxlhW=hATt9BF+8 z{T)DH_=HpBo9^U4Ii?Zi`eGPyh}Y|xjqPRQz-Fc1JAWcT)mH%m8$q9$+yM44JP7kh z6UHE gq6*hf46pCqzdf}P8Tw3z|3z6V_S=g1YH(}G~z=mj-r}DTC039 zJav?3-79kDpCt8EofAQ$mjtTxX4R9Jv#-JssEf3rwajeXL)g4$(p94-pfiJ$#pa3o zR*oQhD?XV8aGvJJ!f)B2V6L*UJ@&c;Rwrzdz$>m|PsuT^dsw)sewz6LHht?`J1nH( z_@#RK{_@&kD(S=XaTlDzg3|{VI?oieJyI&@R(>);torDeilnsUB{3Dw%X-lGn9(cG zY%gs)mOYK};pk?DC}s~vh(t9JqR|Kbc|&i8OGKrT5xj3}>0KvvkE75G;>~v@6f pKI8&?*nPmE}lx+ 93SFB8 zh{7!<86=Naycl`Q5 e`45* ItzKi& zXP!$#@OZ7;Y Gja{;#!^5{hu^e+mp2c@r&>vj(6Jro=W;2lRGUj=~UFNmg%~4 zQDBiU_bP#stkCXZj4@k`o`O@a2YMLe4D#aba&9)X;XcRU?_aQS-2Z7-Y(`sMTqma( zpSQAP%3o;Nv1=;s{pkI*0&lFe;8!lwYVFtsKNXIM9b8uMFs031f1^_7_s1u|1B+jc z$wcgDb1=pQICb5FS{8-m8Q=fR62|urUBA^938Dev#bWxm5+5&LCcT)Sbm)`*+a^BT zwLCl zQ;khQgX8PG5Ode$=YA}Wf z`io(~ +-uW{dk2v @S4F1>t?s0Ecm ^ aTj{E&U=U9o!F*Z*z;*>~q7j{%@67p*>$ zWSMCGB&t_Lp+6y99=i1Q`{s;Mmo1}kpn!Ne_lkiAC5R07-;a5-$osZ^0rk;!+vV}C zjc^90_rV1Hk|JeF Z#7P^V@rx4Ce+P8dG*zvw_|lOV~kImN(gA z`~{*I+2NN$U?oQ!L(KbR)*_bAaRD69$~O-i6;D5p9t=#utUtTV7sJ!!-11t1ju%0} zKxW%$koL(TA*JK!o21iN*ye2M=mGTm{vs$r{f+b?eTi(>Uf;eo+@UV~mF2u~2|u2B zvl2B@lG?qS*mu6RB`}Ikf64EIk9vX$?HhZQ(b6fKNyv1=*;lQur(eo0YUkh c1CB4(Ro`PA4-cT+`y@C@DuM WrFy{-$Jk>$St@$T{WLX53+V-+OB! zrt{ C|8#o#W4Lur?_IDV>u4CH54fMs!T|erO!IaxD@=ixfsHRX>j-?FOEk z2(?>Dc(@x9QL05d1gFzN?--mB!$Gg5Zpfu;FO{Tr9Ge-Y#qaMjULYqQN(QmkC7F~3 zs?lKE6u%0|cwE!<5N=3*CwY1|_}U7r;o yGukP6RWvcrqgb6oYN`tO1n^+_CuYBjIgOwN>Uv#yaQy- zeus1j3iZ3NV^mPdWcsnOn*QExvB|5(z8MQrF&YVWQT?&C>ABK%usVg<;G0 O4%KxS)4-Ry8m?TxxUP<9${I33XGg-##1{_BKAnFK7N0Y;+7#Hz>SUf!3zw0Yko zI+;K%ieZyS42x8_onyH6HMpkqkc-zx}y1gjCRGOrR@c=G^8 zCl212??~49w8)T?D=gH!Zl9> P(!6!euOQ$wI>%gsc#S9I=6*#G7hvyH W}mU?VoyMrbQ3^D&0(EFHRI4 zQmg7#Z*CcvP_GpM&S5S^#jE?l>wXFX<;hvnS3NaLwy%|tcO-W+s>f5k8h%_I;z{}3 zQuo@vlsB@pv8+@jwB{=^^rLa=XVMkUsCq?%tW@WsbiW#+>dmgAs^oOCv}lf!!)?2L z@^o|dovG~8yplVH%aMY7B{`jUEzTF7Stt3Z*BwP%ZsQA87_9UD<*#tQG6qrqZN@up zKU^GB#zHG>GCu!rxqf^ dq8xSv$?!S^{{2OcD`*+UdCL0z8nAHr-2>#3n4*peYh|2k`S@ys8 zPLzLnXk^X22x&Sa(sB*B%`eE;7v$%a9b1NXQc21;&98B;U3dJwsnzUe23+@#{LLR&k<5EPIzww#V(OfdlX1IDR@; x(CpD@Gx! *r+=#eGJ7eN*7r@$!(8#Cb+6)V-d|Z(RSL zjoYULjH`!FhFyLQJ0@qr(xC&c$8gMVPwt8^Twh09(gWSq5io{u%AMu0!a4R^^-{X{ zgzU;7U-lzKzRJ3+K>ry0KnpaN&~|wY`kHm$)@$5i(t6}!l{Rghx2f^me3meQsyGQU zhCPTnnG9}+6ws5Gk1}ZXc5L`ZzZ=qBi(GLfL2b{{b5Dk&4F{Xa{?^)8DgrE1+OKd6 zPCL)f>`Axo*th!2PR@yp!yc2r8%)dVhceBr>k7#r78&-t&ck9>k%L=6o60B-5QnFn zn;hxqpx3`1WVcNt+NUoPCvrw6n3|!InDHndxa7}#RKsZHtC<&n3Tgugm*emvxH-@4 zK19syu|32`o(-3O od6vz@T>W2@ldY>@_1141y6{$@{SsqJr zOUv(^SUWD8Za7&s!hbEE+IG}2P;w#rN20F+M6>$^FrdIk8*v&~{tPB`SfBX>+!AmX z$3BZ;f?QG1D-2jOfV=d~fdQb?R1Hx13n3nHy{yDp`#JD^gZ%o3n{g2TvKM>gL;a2y zv45eJtP!hT2R_wHImAn68)obl)~*CBtCt1CY>$=^s?a(HB%<8^=Q3&)ti`Dy-y-}J z-Pf*QUGcpCek7csgKx-&uUvm<`t7nd4wA#0q9w*Z4JtC?*4Pmt)?>y)Le}heh_|~F zA1UC`QXn4|?D1Or>b3E70Y0AKNS}CxPFuf|vsohmc(je42cY$~Q6Bj&hXuH;WBrRx ZX{YmRw>H>%Vf5od@6nx2P9Y?q^?$yeMQZ>6 literal 0 HcmV?d00001 diff --git a/Shorewall-docs/images/Logo2.gif b/Shorewall-docs/images/Logo2.gif new file mode 100644 index 0000000000000000000000000000000000000000..80156030037b649961a89945316063890eec8e00 GIT binary patch literal 10788 zcmdU!_dnH-`~RQA;W*ql_SUg?PPS0T-W;1qhmci9HtE=#V{Z2>T~hh(Ot2t`NA zXoym2>GS^n8Q;gxk6*6a{rcf?T@PbZBMnWDyP!8P1pxp4{rhtK{nLk+hx i4+GPxfxZ{sTQp>)RpiJ2x6Por9jZTzSMNCm~~afspjv^^%)^ E|3p9`5j27zl)hmIQozkr>g0Eb<^S=@P|CPuomwu?XN0_%4Cekm=7h~`1jWIU0 z!~^oc|MdSL0Su=^ATcR9B{dO*AQ;Z1LuAv@Lv#>BT3LBTWmR=eExE3~;Z9>yb4zPm zdq+z~Hl?e(8$nMGw$LL+M#n~2b?7@EOg@~No|&BkKzb(bdrwEo7M>uN?m> HNXx!=o=>Q$a>vO a=^D|x!wj6>UcS>^%};7^ z=6ri0TX*h}UiTJ{;*Z7XnPq-=9zXxmxO@{Oi2TZl+e)m|^wucj>+M+U(P5P)%srRU zO*y5Pr(Bmk+=q&5hut?~55Qz3gSx}t@8O=#e5gfP_eUBo0OQS zCd$2j0tf0v5kd;xZ*o(GSNI0IKD?ml@XfHfgkEStz4MI79G}o@BVUvw;^Lqu`px%I z>Z9x9N2`ksBi!T>wT yg4_+t-6=C=l_)x`@>&G zjIHckPk225Rf+R#I$SAc&_z69EZCISr0lv|p`5X=lR4cDHg1h x6`wATi9yKQ~f;msVG^K z$&H3{WHFFwgqdmImx2{-34$VGQxiZA>*gwz&h)$QPPx1T!=3ATM)u++QQk}5@<=QV zN6#Nf-lZ2jUeiSottffs^<&6!=OlT9P54ua%ub1~k!-7E&oae_G$v#^Uui63?^Ext zN*iauBoo?@m~0%xC{aY1XqRO6V*xpN%>)rTv~E&X_KI&qnTv$RKE;Qgpo^MupDVFR z`u1K`n*poWVFFUBiU^^k?vSCjw!6a U@FgvkT&@70H <%yH1m7j ~Z4qF0Oode=6v0=aE z^S5+L&51D6Gi5q7^%IOHQC|Wl6@QQbweFbg@(;uSEQg%;X6uzJD8?5ArL{Cg6g3cd zj?`Cry3Y7K?=c%B9qaggu 6U=e12bez;`F=k`cs_Yz%j%-GK%=XB;IbKB1*T~1a1ZrD|H%L>7 z6*#ses XFhE1Sh%)F+w?5}LJzyg9v(9s-kWIeK)9m~68}l?WJQI9G!E1;6OqNV|Ar zSfYx#U`$*T2dd8SF b>)6TC}PH$ClV9p;^C{4`w8i80$EItiqYbi(-8+M&xDYP zQNhIqtbl-X^kx@2KH! {H&zSMW~y}PdvEzc66E%6cV*T3FWqJy%%uE~K+b^h$4MeTUM*a4 zU2=SqBRAlW(^LiZz#SFr^!G6hh(%elG(7k8b;}++`k0VAmTtC7zm|nc_2-fBV0Sv` z6JaJUWg>Rie~b6tsd)I9O6svHMN^?O1aLrbCsA$W=R&Y>0&L~Rq4g=UoY;m#9Y*WD zdH$kPQS)X=vwh>M9RgJ89I7rXqKcLw4)9^`)c=l5(2B)8;VPrvVZ(yrKf-Fnqsy;q zZoiw_yzBp6H}J+m_C79WSfJmF`=3T5-ypK-k@P(xy#dun KuCgxR(9rpND}+ImtE>l#GPUmCE!0s#Nvg}6z8 zqvRfy)m h`T9EZ~dsI~a_#O~q_oloDBUN5)z>1jN@ z@}5Nt7C-5mx(v8UsuJrJW*i3$$Za8(!@9dk)E>62f{kBY2n8gFbVkUXImXO<(A^gq z{e%k7dk+f^en-d?mCp>6C^MfBC#=wk1$Kc5++jjJPjHZp?D?~b^N|mFaxICPh{`h> z;Os-yvn`(qS^E)#-V<(zjp3r8^^V*WKRz+%!O*so!L eR_FXqtyPVe?bEMvW7KHT^ShSXJ{V3Kz{hZnDIebVHThjE zRa%xDKaer^G$Uj3VuWPg>)m)NGF%6*_rO5uh6aElS_zYGOOv3!mY8z{Xh;KG<+S7E zN{! hM+WiE8aj|MaQ`Jsc2c(akS`F%XQ;}yFEX+u!D^|8CQzi$%=DaYD4A|($ zcB2DST741Z2vZxBb};dXURoiwoSYz0^%D?6SL_g3G(ZV6zDlja3d$npfSvnB3-Ecc z=!-N&+l}0oxoud;B79SD=100YU&MGu$~io!6khdQ0{?8yZe*2Pm5~E8tWpw6_&Zx& zc>1+o@mIB;J}kbdCHKY>nNs*T(qoGkRTxbyHqCkC |@*PU$7W72sw5`f#QC`mj=ZKkt%r z>B7fs!NUNyqB#ZyODt-YN8_u$c#6(O%%q{T30d1;WW$}o?Fg>;gtM34a7`Y|*?O8V zSNP!l^$KHn^&bLpoMh+B r7NJn+SG3PtPDX=c1ljbFzL|MbY-Bi939yJ;X*VZC*SbX;BwbRtZ>P-^= zfv9Bh99e+WdS#+QiF%QRsDTe{ 5|A*FH6sSJ;pT!RBKFEOnL9H zZ+}dxxsQjhiX1b+O~;AH&IFLdc3>|-X5X8`j=kAd<3u?znIu592$-mciBe^4P7(7f z-g_DrlXaaN=wx*F9kZdL>fu(8@r!6fw*8paON^encF<9U$u=7JmU(xlAN-YBB8i1Z zfBa{@4S Tue_SZmx;2TPzKBPmn?~N&3hMPk!89yFy&cocIg<)g41lk zkxWBdbI&{dx|D$?3Pt$QksQEJ-nlfOnLqGvztU+KY#uuG>5~Rak~BEG9GH?Vxq;sM zd=T?&GOH%+ncUk$?j0~|rjR_#0!R|+{4r~+?1a9ImOipB;E-hLHm~$ EEkRzjP|K4{& po&xNCe@F@Sd_%Lz3cM!K5!n(UC4 zkTk8Vv-iG|k92!YAj U=Q1YkU Jv{mwvRa9UYt@T!zaa~1a z{!ZQcsNjIyeZ68<+?^c)wn)}aPhdjoCoJ)ZFVed;%xyX%ZaTaQG?ya`9W(#c1jRG? z#mk$uh^%e)B$$TR?71tCmz5{=S&zs_pCqo=#p$OoZ8(@$WoRx<0=}^@Ua)MqvT|us z+A)rt1}d^(^lFmG1@9lKK~vd}A}!RT^Q0y1_W}LJDf2cxh2RuX?Xzsydx1YKrs5vW z{IR%5nKo6UNcw`Nk^@<*tf%j_G$k;XLoZ<;?vNEokjx=ywUzowCcVXVas$I$KB|^C zcmHp@2`_qBIi?dEJIIQ)&(gcAA}7g5otu1F(P2@SW7~6NA}ca*);%G~CR9wbZhkRf zaK=1_8dq=u&&e?h3WY!At$r%_&FaxBJ3Aj1O_JB!*o&yG`V{80U(}1-xcSX01qJLd zN=}c%sPIkT;~p&g*@Rk`iP=VNScn4Ienjm$i7CZCY>g8WH5Bcv;!vfaDc{chWS*LT z2}y*3KPnb|B)Ijt#saE9c@jj7EHHQqGtPlc;VZs6j)G&oLVSX6=wp{khg5 WMHWi z(#g~vQ_+YralY!vER?|VY5WY8G(HMlRT$XCgKCTGcmJ;cX9=M&AUj!>f_f=InSPj( zT3dI62Z%kWtdaWUeM?9|M=bOV;84lLq}(a;^<`h8&~*e(*l6yV_9UQphaAZyuS9*) zGRmL#MgPRj>Kt;ph@br7k{%OLxg>M>(q-F*Pn80Mb zB|7Y0)o_}FKE6uz)v2pR2iTDY!bwb2p6ejO&?kQ|xS>GEnwV*t zpwMesr}Xo=OMqo{d*OA@*6sAN%O=0MynZfkIt#6f^1VJ;ht^^X7$3*5b-}-KE~#Pq zvK*NhgCh`|E6>y)-QTbau>@4{{wG_hbR-37A}l@F@frx3i`fbne@yX5g{*O^6QMk>8d*P2Ftd)`u9yN=e81;SKZ##n!n=8SbLsD;Z0dP(Zy}=YcfF< zmg3mAA4mLHDEWccOTAb8EWlTB`5kywKkNWpm1vzKBi`fFRdo)@Uo%AZmU7mY5FE5( zCUeAZZpv-ehSX5Qgqf}!ZJ-lp=*U2x|E5dG>z(c^T{Vjd?zYLfqwYC-+qST_>e6Z6 zw{re83R@XiaA99X{v!DM?aqjmb;_BxPlf{G=yYx1y=DT= fL2 zF!%YB&|I;Cwht;yM5_Ic5>;Bl{r=1M!2DZq=wx?#lT{VHIP)8n#h%L$c0S!nc)@ec zE#5HFmL|wIL-!`;Rm~@-EuzbAUtNf~q0K=CbM8J%f2zjLW_!7&-QnrA)-8A5lPc=g z |wt>Apvp)%e?zweN-N{>G{MQZ=!lT$AQ3Fx(a8T^Bt7i-6V|E2gD zCKTXY`uIp%^2 o{w&N%#j$1nKTeg()8EU$l$8^5N$z;Bv?3BH53@4)DqsFb4W %>rY@$fw66SwnYH~jc)bBfaLK?vjSgX3PwK*(nPTfs&CKWd{lWH;06&}9 ze2%K5IwED{kV)R+Pm3G?2wBdVkG0dt2@N@4kGi_**bdI!=*R+fk1#!tH#ZMA@hp{a z-R1$yzpLjiU$(?=gA7dEukQKrmWn*cPT@Ey_9R%-kJ7XF(4yFqNE!NU@$#O@buJhE zxwYdKiF1W!1|8U$o~BSPIm9xlwJpSCxl>q+e@xJ2)}s-cEg5=ccw9>HKpB*Xq7~j- zlb<8q%DNI#kZc%a=vVp!a$0NAo=$pH(1t;G;o0Zr^Ec{Y3~#b+qdhT!p;HtY0jFU_ z^hb&?Qz=d%Nm;xpYNB5Tkw~<0q=y3XWL$r)xYqgfU44YePABO(CvCFT_Gx{MR<2{o zTYnz<#&PUmYH{z1t!JQwZVtZ!xb>otTVsZ(Z;<}Zb?g+?KHe%ZaBWLCUTVxXXJAE2 zZ3a7}zKn1->_v_*2dz?>0+>s^oE6^i@!L}uXV|(~XSXt}C!R0USA_K2nt!&Oz*#6I zgjSyAs47`E&Ih~nS>7D!;jj&RiNN&-lTGF~dOxm^C7u90IUti@6c41TK>?8pRk-cw zJ=C3rD_dSp&N{x0s%%*>mMY}7se1STb%A6gXfv}AH4%M_tG9+BacICij$I_8>eh+Q zcQ&+K2QbMhpyu*`es7C1PFKk`V`|QGs#j2&sBnv0G`VI^z0T``+o4&O(mBTYK(Uon zu*RCp+n!9}C3@O3I8*X&!)OWsuhP&HjM8ytSBv(-i^ZJv*j=i_UGLrW&&LU`=`wql zI9r0eMZ11E>O0QwikpqzZiI-wx@KbhD`QB{=)!Zni~}8k1TxuV1{YKYO+;taH#$?- z63JDJSqQ;TGF$NlIgH7yY-qEbPX1&_^v1AA+ov$$_`N;5e5jPlswq!xI7`P#p=R-U zUEOR(CCU2VjE}a%O|o0dcfl9hhW%mAAi*wpza>W8P}0k5LY|vW(0u%Ob};zCokWS; zV!r3pqp3^uS};;2?x+5fQw~Y ? z)h?Te$T?HGyi}zAC-^_coU<`7b k>=rim $X+If*Gv@ z0@>T}$t-}&3_lir%LWB=m5uMQ*C((#W0M44aTR+?j&t3`!p#jc%onifTi-fhAq}T5 zH8b~?*A7!jAD&NK!YM2`f4D^FnSypeN(J4@PbP@f9Q{&}l$Nv>Q{lX<2ThC{z4FZV z(za*W)0h~EZefUG_F#laR1+Z@ec+!r^k%q3R4N(4`?ikWbxQX*3e6ziaz{cjW0w69 zHRW?KAbBy`lr?NO<+V$#5x>cV{u^o{Z`}VZ$4Ws!K1}ZLhTkfmL51 zbFCpcDHiV-9M@!w)js*ThCTZ}m^O3CQz@IgnxJxS&HPPye#Va83O2(forOf9YqtPV zxWy!c w>nRS z&(azd%bn9ndijB3eRpsQ(nGTzY_SV(J$cM&OX&xgY@StJTajV=>u2*bsP?bbYfbvi zb7=@3uXWpPuZ3p4Ub;S9o3pzAlcpL6vNj-o5gx+v&N$pvN#A2~rzIwxirUvPU3V!8 zEE48kB~X$TIy{UqW{c6&aO(9y4`ZA`Uc7zI&Bk`z=NSCG3${-CKh28GXse6s RyqL4h}`=43D_<`Z;x7s5?G$6cKO#fEm k%o8G38rV?ygL!(|4s` zH6P+8lKZ7fF0nqcNDS%pn#Bq0X1Ag&_ L;JTGr{FLbG*pUg4wH2o1r7?}=O$gssvv z#)f?M5~KTS1m$913a%=%_y%v`SO=zVsP%UKkbUW0v3lA+@NN>>U;UBC08o{SRv%5W zOf-KI)hD7bkPt2pS-<_hIcwBy$0!^qAYRVBVxU0@BEtjsV%{wBzU^2*eRSQv^!V0B zI0MuBV1j;0kuoK6X5>>~6tQ< 6FbRWTx@#t2WouFJ%|Cb8rh8Nx%ON zxu4OpszAm3HxTn_G|#BR^~}dXr _u|Q?k7E+VOMbyz*-^?l8UYeYFuY z`EmT~jn`QiLfBu#GVr2oi~`1+-36vY;@^c7gvGh<#)%}^M5Xy8s7L+y5t=@ro9QI$ z0fy5tL=DkF;)^(1sh^;uuWsZG{b`lmap(*we!b`RNA;kCG~`fPup$Nis_vFF6>~QI z#vW&^m`U(VYA}$_@n<(!n-qbRPRaigdx}vbI;DC)FpgZg7Kx!n3Zs>3p2v}P1J6x{ z+OH%$*bRv&)uJ7OGijmK24}=@&}*q1a_QPjC8?dqW`=3;`@4)6$jOJ2L9F#jCS`$Y zG}tc1uR<~&*L*#M8 pFw1#uRKDr1$BjlJLQ64A)S8ZMTZw3{5~bc(#vE|jMIP$wcIZ0nVhR0j>Kfvmaj zkPbniVHb9a3M!dOKQ>m=-@7d~b=BB6V?ioLBf&muAhs?&SGpcnrw|)`GwYzdqZ#jr z=35fTZ0)F 4VpQov s%1_q+9ZIj&oS zjb|pF-qef*E!S_7iE1eY*HVX{$8qG7Z1Mryp_o*^6ve2b-O}Qf?&2S*`3ps1|4L)d zXqFUd-n!;j5O5luV=h6w#uIXLzaoeWaBwbiP7hFvE)*;(bT>)B{bc!Xuu^6qG$k_o zd1U3~5-om8Ih}Fpc|ec>Q!ejZVicXJWRg^_34Y)StsXMeA(!ke=iBe5i)5sxl|sIJ z5iN{4FN#a9MdtpuU-Or 5lSPNr zs`}NNTgD~SYej%d*rlT4)&1agKLvsE ^R;m(O`xP1b(Kz)p=?Z65gQ7uJs!LJ2UoBDfW_M9laynUBG)Kwtw*5YN zrX{<2I{P%Qq}p&fQjo7Cr|XWz`NA{nBp>zqqlnAxe4z?M_1?ey70y@2AR4~SddKaD zi(|@IXobzj=l?A?Ozh{C4rO7J;(nKtZP<#<{G*qgDnbV&Z#yTk9cIt^)U_;D--&4a z!+pzp$O-ccKKs29@dD}oD_O?BsrJ2p*KBUGVPSw-?cl87&y3*UU!{hqoZp&d|9kI5 z`Im=A); tc(bKwFHES!+|d zhg3x?)dxPd&%OG-m5jRkAGf 52Q^`=X+#~v`QS+nF)Iof24 z?K! ;93y`2#DGdGAGMXw6AXpHp%+?vTl9pLS^!d6D@K zh0>vs;DG=1CBQ{=vFct|piGWyQSVuxb1Ad&rAdpZPuGnvVf-Jeg#<#?fo{ j6>9BJ@5RJ3RopyjZG(!?k_4 z%lAe~hjFQ=k)+oG?-iWnZJJDLm82&I4~eV~HZ*yPFLn_eiB~=h+41&Ee7Nm=>f0up z)$bpW$A|M%^ntZx&tn{-!eiSs=d%O=KUA Oe1@wZZ$zEN z_v&M(+Xa>G7-Bx#Vt-k?rx*~?-tMWrSW!DaM&=!U*VeS>Ka5EE-+GRrzxQ(<4GVCS zBcuQ8bwzIl58+mTxE^>cD^0K6UGO 62b=0;L;S<9odQZ_oGNsqDUfUKUZ@Z`9vE4UQi#4=YKWXT(B1>$&{K4e!~w zeM-Q%2KZ#;(ytMx 3GMjupZ( h;9 zmq)XE(rr5qZT_-T^CA qmI12RA`oGEZ>qF!}h@zug*kw^F6TWrgZbN_;Y zTRt;YkJdFLEk5=>)tW5|9IO28>6E>|F;-tYx}d`Nc v}PpQG3s~=p|14>E};Ar$P$;-4 #S#>jK2_@+qV?IvS^I^xD*?;uWx+7p!)1gjw2lFZDEI$e8FdOa;#81t5q^s9 z?@+L*cs_7163)=UH)g|Eu0JsSc3B$-$>B}W5)+?>6d7@A?1&JXapPej8}@4A?ViMk z3V5^>$cF`cz1F^ZZ9H9ok0&|OCtsn{)~j huw&8Ymx5Mz?A0h(_c7A(?3~_$V z7vti^6y@h88eLtyV7K2h7Mf8V%nbTg&8w_{jCYiNl3&XB Ph*2=&ZhqU0gF_+= z_B_xxJYjs&)jz={?p5+AJLu8#sN|%`j*d-czk#ETAV36UcRQwwVshs{VK1xwo)rfN zKC(q4J9 Gd5-~UrwhHmS bMH5_jvy%Ni>a#KpWwN#l|&E0sObVY&8f=YwaH|2 zWg=AnGQb_bCQa>LiJ_zEX0DMby~vgJKXo8*r8R_DF=nhW0+!c8{H!XlaZ0=ptm(>~ zE8reR9+!X^f2k>~nYw01CA9r}Qbu)2Y4dsK(9 o`x-0%U%0quwF9)V2f_9BHBDe#>t-I zW ?ObC~2cDXDTJ;Mt zOa-Y;+2h4We_dxlCiRT0q$vBcITK@#%4oYi?%0=dx=&2Og|jb$mi2583vDbEk5|S& zCfrW`uAv#hpSqt?yxy;gykY1$7AJQvQx#Q__wP{0r=XM=nM3i9PirKa{3^yu3e^;) zt)drR>;^1HAr8!zCATM3ySJKJq*YxNTfBNm5%Y43rCKwN%**aM*5ehrAOk|kRJC^$ zAAUGa?M-Z})62I>rCEJT18YxSotdYtu4%Ku5ooLjR^-Zz!FFQ;tk#M+bcc?mu6&4w z3Q72obi~e?_FH&pDmL7L)zeIsiAx9JjUA^3RSwGC)DEty4RDTc(toN+vAR&m%$4D) zdAUu`dWGtL;%xB6_PKYHz|Vm;@8dqBO*n6Z4*DM| zGJ)KdT(<`;0imsUeh^ySW!tTH1dwWa?LM_n?@fKu1R2P{x~6YkT?fY2Td@mP2G!am zg@(nAf_RCYh#YIFfZ2kpr0RF1zVAm^46YS^`pjkm+?GHVh1|>8a^@Klfh&A-sL{Pd zMDju4n>ImmoFr_$9n0ANBIopCTyPeTL?)C3NL9KRd|f?Uw>$8nDxHZSn#_lpFPq#8 z#rJc|9s3_F^E5=tSkq`5uRSDD7m4rA2`LnFr?33gCm;?0M3+fdCyDOe@1f0J-V#~| zAC}pa0Cw@5NnN1f^ W}^clzIk%lXg!pmiXU?N)MN|Tlc#r}9o z|7rTUT)7_V1FMDpw{3I!*+p^9hVe1fU_PQtueaC;(G8hjK+dlC79#gdn$4*YR1` 8=F_ccp=f1xV<69r>uVr#p?k%`7Hy=;uovTe_x-4xjeM zP|=bPk{D!$RF$LDqF)QmPU8lQ^Ri7wy5aQCa0EqY#JjO76YA4|*XG6=IN+phgg1fU z4uFz0wwCY|@WhSBxOY>5|7{GN!0+WL9Y<_mR@)ce32u5ZR$3u>(N;&i}od^+1KzeU3 zD%U47ozJY8kK{!_w^xz{{h~7Y*O+ja5?EFU$BuxDogx|eu`J}}-IeOc2(gDoJ3)5V ziHTXqJQ-(5({wYlwBFn>LWS3;tYCSXIYtQKjN8-2^1IvJVtkl_maD{AYPf`+?qQ2+ zUig|l^mudp{)c5dAB_FV`OdCeCd3@OaLBorh^9~XZGwvWLltsjyOW;)a?JS8g4A)@ zqKpe(3&ieXwsRB>hJhQ(XXo@`KtbcxpQF@90zN(vM*b-B5uU gK}dRCqrN zTCSFt%o|uoTtJMJwDF_heXUc2p*M32)g{fzcr2qQK|(3^o06}}psoKt68olzv3fuQiSp6=xdc{lJZs_ucF^@MQ&P5bWf@wy)fIm%O;M#$o3zYobjn!Q3*Tm+zL zu(GP<3T;6Gclr 2dN^?c1_u%P8VVX`4ia-t5fceY_a{cFaZ_@Pbq47h2V+B^C} zC;#eAh(Un9rqRZQ@^9v(0dg<|5f^PvP$8=@&FU#e&^rPpVaJ*!iA(0{+uu+Q(4w#{ zjn$N7{n%y!0ZFJQkIjS% akq;jsw zx6fHgs{$s%A9r;{R{z$YwXBJ0->xlVTyjlK_>$WgxhLMq-$mbI?677#h>Jg2JJY6$ fe-3@G{^jCpS-Ap~x$AWD^IW!8PSDpDekuP0hro$t literal 0 HcmV?d00001 diff --git a/Shorewall-docs/images/MultiPPTP.png b/Shorewall-docs/images/MultiPPTP.png new file mode 100755 index 0000000000000000000000000000000000000000..899790d9d9c3af40b89ca7b44680b2c0bff60961 GIT binary patch literal 16164 zcmeHuWmKC%+hz#RLf}w}6^d(cmtdvEHAv9nEmGXwi?y`4L$KoRu7v`{y;yN~hvMJE zyWiPgyJz?Bp0k`BGMUU=_uTT#Oy;`hs|s8O@)`mHfgp0Sl4>9jDjWm?Q(>S2HNjVX zY``0elbVb;sBD;Q2l#+y{!Zx~2viw~b!UtYe5U#+tEL13c`|@N{y`wn4N&F34Fb7v zfp z>|+xjAHV3MKOEqaoSfVl9z6WjCoL^4D=TX_I=C}AJ~uaaI5~VcEq*aMpscKHI5(}T zs;a-NsIIPVxGZ AGNt!lWZXLxvcZhZL9pFeYR zbE|WI78e&+7w1-i|Er6eo12G+ho`5fmzS51kB@*E|Nr0rixwEbC_Dp!gcIc?->JJB z9Hia*t;r|+seQGbn^@uxBBdErcsq(+Z171r(t_8=O}Yc#avt2aXfIO{^wI_li+Fg< z5ZsER8;G#c=*zv5$?#gJ)NoPv-1XKtqKAq)(B;F49~K3KL;7Uw8I3aiotXDo`70b5 zJ}vFfG_q(1fO`o*@MA1SBPEn&6D4`#&)^QsHz4#9CJ?ej4pTw}1pE0s)1MFBKbDWl z7y|-={sR$I ds2M@XWmJ`p6mUmhN*pH|x<9@*2%?Pu z!E|ErLNY=2pI^L1u>ugR)H-pWgrfZ43Wc4l{&OHi!i@hpO}K9UmS7wuMMsv0xW@(V zWqx28EHruemT@7iKxc9aL6+?AFlJZN=azCpC!8p^=?IN8-(o?qDf0 TloOsBNSZM=V*)_;_ z^!)R)(4N{(^vt)x;Ow7F`m9m2Dw!YAdjj#@cW2`5uX)K|!j~~|7HYxaYv;#mKHr4! zql-#&mgQvVf-F=5dK|{(n%Mxnh&hZ2BzUb8Q-p7esiGvS<2NAswMPV1I1?v7Ao^n& zxN8dX9Vef+p}fs1$R8Ze$oU4Sr;Pw-3qii)LXUG|PcSBez#o4B5Gza-g;^bp4giE; zBo%~_6Am;*Ed$2_5CqU;^|T8NW5a-N_T$Ns`LQOtuKm;EevJ{Q7$3EO%Boa?fj@WU z36M@Qf&w+87Fg@Q7a9VQXDS_K;I(chbY)k4^gl&}#9Z*@LZRE2on_#UJ(wc17lhiy z>PC~Wfc*YD8Bj6gJ1O+oWJ<@VL_Q#T4K2Nh476p#%;^f~s$>^X3PG2SMBIodETgMr zlB4%T;=5b+#@Z9A8G&H|P %Y>reIE((|JC+*O z+lec~5bG&~{WK)twPuv}F|$+X$q^!H(p8?*oi#=WoVHK-#VE%g1%AePj-E4 MS_{=7!04TDgZNcD2=aL|+d^{JLIWg% z$0*>K7r)UJbqC2e(uFxv;5w8Ge@s7z;j<^oh@{u32Fj 5IDe6xu$ z&TE8jxmKfrHDw_kn8HsnM)^(-!;nGpc$MLrPZvuAO(lOLGl?SH^u+$KEjd#pw*@7f z())PQzXZXr^D4g-ivK&YrpKbsiT2Yq0xyw>u~6!`rGaU)5mJe-0!!hFCeP(NRS4@t zu>DS|H#gf@AIMGVr#haDt3uT3;zOC^(4b77pVZvjW|)f0y3<);=-85qh@(xBaM?Hi zek%{WN`FYX(Zd~M4YM91NS$q{0vC;;itsTXoqwPH^_6Iu8R@QxTTcGH(VfW^aq{`V zR*3RjQzXJSWyF5nx)Y`p#Fl)rWxNK 3CCGpDrY?MAC(G4Nce76I$7 zDVC%fMXMouv&6|NHuR40bIZ}RP$Zif4TsIs9F*gvG;$dXlk;J(}i}KHc!Q;!M(q**t*XLz@$!)mM_i-=T3*k`H$;Hj` z+&cVwrua_l*0N76U2+$=j&>nP6*HPe%g>zg7Zec6Phxzm$3cUJUnWvs(K$?$6N+-X z)@TX!G02P?s BFlAT`XDC=_VY9PiM;r!jT6dl15H#RIr+z9? z*3>Vy*>-+o)sAeSN#yYM3y)38d ;zKqGfmVw^b rXbg?Wlqyk8A@l=J!(t#LeW|~ cG>=N6E5Ef gJ?z{VwB>bWv`!*UWkCi2n|Xy4a3-~MX3rd-h7a_PB@ zv(&P4RPwTg !Sq$<$vrC%rCohSe{0Q%kbceK>n5s%fGP~Vi$4W{Y@R}qqFQx^Vl&_ zLEfA?iJFgS3e2|^aU9h`heNAhh(PA5h2=!-h1i7McYo1`daEuwGh7`~gdl5Wy>0<) zo|N`~%Y{CPWT%7y6ODgSl_f3@aK>?v!(lk-LdSh5hIp{F5s_nFqb*yposL3rr{l>s z1kP1hM -oz($2WNG>2Y0pB0Wmdrqj0o!Q=xsOj+tY-Pg=ArsSm9iMfv0*!AV(#M_ zmYpm9v96neP@6&qQe4=Mxv2a2wB--#fY^6EcD5PV; WJ!pSy!Z?%j85KIQ|4cbAOo>s%o_pB(*o1Y~ga!mX zD|x28nW9AZ%)TgkOu0VwbtSIp9bg|J59DC_o}>h_k_Cjc+~9OCqMzTUMalQn!A{@Z z;Xl>xC^UN(n4i)aF7(>ID7AIDu*{J*;yKdNoZY>MZQ&CwIR8cmD}C2WU_7Z~=kxb_ z&uY&?{CoNc%DrC_$Tk3UcVo2ccGhk9Vra-Mg6H;MrWoXcV4>BeEp^D2d@G#Nr`XNm z*KRRjTIpeLpQ}ywu(QuhI7f?vZQDt+tYzhkV(UE2>FsUpzRewX5b})>yk{_yt;uQ9 z#{pvpf_5)b&482h2TKQSG8-Z-lrY9M)@>WKWs@X6!?L?<(geFV27YhME%EiFdSAci zxS9^|)gR-m#8|8XcGt4U=8p?~3pD9sf75+=I_@v-`>+-a)83fJ385Xn2lnwXs4u1s zN6`IRuHEm>&zh_0N1goHVic>g+KmHZeHU9=+KVkIgC8m(`ri6eh!gifE!iD&Nk0iN z^q|G#GJCheFfxwEkcCNcVoO;4U(wWo55{s%s#NN1AbfOP19kV|(^r>Id-VS@KT;Tb zmV)fZ2h;7$Z%8f`t#J%A8Zdavk97nx^F-0C41vhXzn%!cd?>%wP4?5?*7p~eI;st% zF%lyL!QWq>mM9}q66(2MD4$=Dx9*Blik7O=s>}oNN#1SfY~|TMV{4VbapXMs%D5vo zTJIhU8_9dR-aWk=JfqW}Xe;vRLOf3Gc%@p}5jUs)DXL36%Eu(y>^6%>mf9Cm;FO-p zqLw+&-`x~}?2CqzZ!?7kjWO8Gu#3MGrMrKW&-9qX&E`V)N95KhPxJl3aO6T1Z|3#$ zk#(tqU>X~`LpReCLq4LMmhZG(@L@|4fV1Vdnp$lP%Xc;A4QwkwMa;^cUKB756D5)2 zR5!k&FOG#bS|zD!zp8Tqfhwn)=dT%bJ?uY0JFI8&a%|?1~+$XY!?5~46HOesm(IW&eHQZ17C1B7Le89 zOWgKCX}$VHFZB()?hKY@$iev&<0<6>6-i2r>8xS1DNM`GYP&-k0t=qZ?~*JhU!xLn zpdsO5vtvn!^mH6E0iE;WuPI=7KKH|hO)JSt9oY`g nN}2 zsO*K(Uy2s& CpVf;wvg*v98J*0Rro=Iw2JQu>hwnU|M= zbBWgYL$)_nev)`cI0UJ;BH(<*$aT*#yCvDf&u{3CH~uhDCS)8+2s}rs S=WL_Fax6}6kI9$M z zt?5^Oc;)xhd$!MQ1T_v4a%AfXL1m*{Z41K1uvzEkw;8>Fgz53ZP%5_UgTB& z=_WhF4-7A-3`F>KVwc;?Ph4hz$_Mh=@6LA&;R|jN>dblUa<^p`n$^NYO&2m9(J2O} zJH38yT$WJaU3P*e n6tcQWi7rk9T^P?o%vo9t<^ZBa#!-v26y>Q|l3IUrTvsIy(~5sHZQ+&%;aqTnk2u zjoaR=gi`vQ;jf+FD?irEx%p49pi6(BFxvC9V3}Bsyb!-TZeH^KfNXo*NjwM_o^|}W zd7v(4Y@Pd4v+% r* z*N%W(g*WY$Cfhm56Qb*4_cym0c<1}%2-|*`)KRKy-?IaO1r6VnJY})_Yvpz{xXhVr zKkQ <%%3Is~78M4}eegQYF=me%FyC~o z07pB`no`5RF6%!mE9dt|zEPKmW-MO+36TBGvCe?a?dyWZvepbiKOM66oBPjs%Iyz3 zw;2!B%XEl-E|%3=E5(NFmLWcO2 2I6 z<3~$zvhjZiBKcQ3ogPHVA2S_EQwuLgZlSJe?$k zng2oR*;UlXfM*`KAr6ruM+YtN6o=E;4j0t-d@D_hLi!$M14p6|nkC2&|29vSo2E 7^XttU*Ylvmd;h&OS4v+G$Zw6DUkw0a%Ots%h6OJEEQ&UPj6gjh|;VqA(th&%hEg z;B;?K*kpioS8tzhco(CxQ=8V@r`c<-ktCfjwQtW{`r8QkAAk!*1qCuRXhvBFq3Csn zLimghKKxup)-UI4tV*BMQk`wwoTac%D!HR#8W_6sYe3Uv-N#cqGi!n{`j<>3hh5~O z?akg6=>&0aS4Pd5k=f$_rMl>2?JySnZ}TfNm};`*^Lsi76MAGSuHI?2`3vY+br#>D zAiPLHL^nG6DoUX0?HcLQ&{x))jnCop9?VnjcRB}an@TR~y2fz*zUDHxgy65zG<5e+ z7<~j(#@QdAulOHE$x030&=Nt~TzBjBx4Q-o3eG%^1s&L9c*NtiUr?U6lyn;UYw@pS zhG8Z?e@(mGq)zFtu&eDkgxiaUA9NLr;RY7Q`6yY4lL|uV;=xf26N}CMy>U6A*T4N< z$V1C;Pe+tAE+Osr@Bi7Ttl!Re+Sr{f9fldHzO3EeyDPB2Y4>8`mdE0K81lPY6MK-s z>7CcNafrbaJSl51XegGR@fs_KyUszJ=9=@qO>CAvbDDZ*utN7yS)pw4K;u&UCisR{ z+zK|eKkGH>bcOz0s~P35_us-Anl-We_| FqjF&~J1rvil*}9<)GFLM zm9a`xWCWwpmRwcn#NU%YR?}Ep =t#QgVNvI z)&b9e-%D?oJTJ%J9ks;dxib99IG${Ap3{vUn*~Fbc|pkiLB{F6UFlBVl)K2`kjTgS zdYX@Z0X-ZKd1-BA3ac|kzjtQdnI3%s2QHd%D3RLS#GA)a8fKn+Yd>IRjW+83j`OUp z6O>O2;ce>t8TJjy_rYA;TgueVPD Y4# `2r$^M+ zgdv2>$tD^Pgp5;sN{_D5U;E8fyW;P;kvwZAYZ#13TO`pXo~g>-%0TtieO(H&bsl)E z27+Ss=(6~gxZ^E1wtp-I_m()M$*O!TLNvw1+4D(J-xn5OxQs~a!g%5A&G<$`M)jz* zvZSY3fb@%bCC0RfX8C3qU!#?8H7DQ0?&bLR(*+hDlU9VXh4{{-$Ij%w?5FCtd?KG* z9Rs8d0i=aB-sK)dHsU*+V|1HMsiV*fnL^%dQRQywIk^7|9R4tlhHUD!XgH#@c4lHX zRg9Q;0Ef44uec))rM4OUh7isAFO^;_@@k9liJG`N2lQlIR)vZnNMJ6Jh@k_8*Xxoa zHEc_Q98_czsXYZeWYNJ>zobZ_*>O0o|S0aL!KavTP__@Kt#9)@aRS09!UJ(CHL% zQ7X$E4D8P&o8-g}8-!RmcLi@AHtaMRSnS2$#gmBU7Yde!vnrG255>2J$~hk7ViB$%b%<34xTNwnIDQ7-ZLUEfgo^_k}gi! zGq65| 4}s(o7iCH^8PKhe$RLYy7xr_|ei z|J)~CViAv8IuQj I~G>8i6WKG_37=}*q|N2McY>90wa z-g{scXyWl_wR~wBE9I)i t2k)*!W-&^)?&k^CKV;j~XsUuUcH)yDbR>d?We0vX2}gC&D{EnK9+ znegL*^$A}@mz$kAJ_nO`JF^qkk)tSP(~-EjAxzb#Wp{Pf<9{B!H(xyX90!ZY{E|iD z!MzL(a$QHHm&;;ug{NC`u|A8kFAkY~JJy{$|HI&E;q7}H(}U&5fBP?&G57pK1V>yx zv7i$H&IU8(f)n+l^||Gm#w&qdxvb>_LQ N8q4-C0{}b$ +oT3Y9RzFs6! qO|gA3kIsI-fGuk7%)+9}bGBubj;Lr;w?=$`|uq4IvLp z1q&lL@wD|A&*Z*#@#TCG6Te~9OA==l^cIJEofwB9_G7+{ESTascu3Soqv81BvPA={ z`LuGqlfbO)Un)5Wrih&abUox7zJht< a KQJ#4PHQ!Ay z0?v!gAev^*V8;ccHfm*snM#f~05Rh8a(%Msw7YP_jww-=bk`*6{FigKH^Z__mu48J z5Mv`tXQTtb3%o*ykcO!hF4*=ZsY4~)nn#qW(A}+MNXztGc*2jgavaT$qL_c*$adRx z5sLR0lquxPde;8dN!X3lpoyGyY}!5&^!Nr#JngIf3-xo@`M6d#tvEFtjL9#oQ`9{&7S7nzYl`r^v!{`T+)kI?0r*$ng4;%>-V{|knN_TE`LQyIHHvrp zxkbe8BB)-?^M&)v@#cRv)0)lxHQ`gZ)!Jap2q$cG7CX;+$PWDYW&VWRknSVJEC@RM z*T1<*qBk~Bg>fZrK`8`(O5=JtH1Kl}gu*Z;BO~hAR?=gG{rV8c-tn{J&ia8%rEcRH zgqF=2RXt~U-UaI_S>rO!Di|L1OKm_~s5s6m67?_!a>skTJ=;V0ZP-EW4xf4Qjmq=r z!y#aA;<=75<&5Y@(4M?yj{oeR{&$j2i}ldnkysEblp3zfZimN=m{jeN(?Iz)E*G|} zuZ8BLBZ!g+zsCG&arhkN0;XcBIrT)KFsao*NEQ+z6N}4k^K^9>_65~~l?mW_)G99y zJ7UH3-hE1DZ#>|Lye(t#8rPnQhpUqH$6n$>iw@<+yMwpOg2Xv;bR80Hky8Y2Fb5s8 zu5N4x8V1Lak#r3yQ{@1>mzJ!}f7cmg3`EtyGF7a?)UfWdzobj@Z(DIEsnlQKRdS6K zd;PiLQi|I5mKiWJoKBXjEZ#R&(&?x7O-F2m&UKxOxJ_dU9}6MR>=xE))(tQ&`D}BY zcow(T9hSNbOe2NK8zTDKYUmPUZ*yircbS a@m6*n<)lS_71SdkLeK zqBzKx33%XEDLoP!aeq5fQg)qL6b|J!m3J| snfljm>%3H z)oZN9IigSkzW7CYw-=O1?Uri`eLTZ2j`EG?xeFEgc_DSpw3#0YQGQ$}(cAl~DxgNH zi$u!l3LiOog~wWImNbO#Ur%Q5PgJXl4hom CGmiDL z^ZPW-x@94U>pFw@YWADz0@r#CRQ*)bf`_QsuR*fnMciXSt;3u9S zO%6p387CKm!k+#?Uqp8+Re*UhK9hp@v*l2E^s z8`y~&zGdk%gQ!R9Z0T#Rk)9Y4W#5HS0+HQwt= `qDD?7NR4o4q3MW_wR1P{vp_8Sj$ozb+bcf|3qDxMO7@~-573Jam zp?_OvEp>M~oIsB+ykvXRRvgo}phw298WA=08D>xE%1z>~c}Dg-a cC ^z2+Xv)4Qr^ -oARsY8J`*ub}G-K^2Dzw-r$s1(`rae~!uqFXGAwUXWZ{bLB9r%Hju;4gNi`XV3QOPabRQm&d;@Y#u* z0{YWyJh%r0>XzX=ph4;SdR4L3-}`+ky>9GrbOvD8N9N%^mfsUpc3n=5b-Co#LO+=} zzUIU*SRL-ntVyk`H#=oOlPCIlQ<~HgSjzhf&(C7TUAun|Sz}HbEXV!P$G_EcgGMIg zz2Z|0P&!*>X&IzRy^?%PAO!=ypgghoAgEfiQClljucgT}*O 8DP; zPn2)%+Oiy1OUy$~0)3C&SK~0>_cg}7-6zQ{mjGspKN?T+USkFy88h!WCHlBg^#V zP)uku7#+8ET!&Fr`Q=VOMVSfaQ8g1cKx|+{mf#*U@f_Ai$J}X=Mkqa=COx1k)bo|! z;1tX*_iyK2eU-4QLKbYcsxsK}4AY~gR`nrY{j#CIh(OKkQ@2UXplCYvpKI0frmJg- zR)JI-+a{#@eB+D^ew1h^>PRekS^r_ziiW9jN2ZzjFLHg$g-jv!xXz(}(5b4`1+JM{ zcb}FLi*UR-a*ZL?5|2r1;RBm@eWV2{<% Fm)9>0RExtI3iSU|i1Evz*_JTlU@5JTM zdG s_Z9T~AS;f)C~Ze?1cfY%IZm@bY*pO7A=GJ1?JFN2 zWBvAxP)S&>$wrv1P>JBwA7n$HOQf(#4*864C&g3?Y$hH1!hi6Uat$XaBZeYV6 <#gn1@UT!g;>Jd2!m}bht6RuSC{Y;tqvV+BS1osOVL2oKQYLjJ1hl zEn~!A3e!*IL2^f`+a|p0@xqKbLf=oFq? )+G6p(5{Q%;@@WxXqCPpe z%znp>Tl2)~#FlvIAeW`STOWQ#)QIY3uw?#l(o`A`tsn<@x z}I|c`MEdo<6##s9)ZW _=BN9ZNV6q0*^V1R&`haYx-t4oSVVE zD6N!(XY!BbH-Ygl9fhtvyCYoXKA4hZNdO&X8&Z2_cF|NQ(E @lX|c&tFr_S)kBJ1NF-lBp}<3?W`0) ( zdg4|EFWV01xpwui9YV4J8Y^1MJwpdF#_$pymTb<$@G9AgKbp9sPbAyiOqf2^5X2P% zuxs4If{N_i3D(>%{bMaO#THX~-u~+YIB4wZrbS_N2*>ATR1FY}#EgvL6$ymDaJi$8 zwOMH~$JmS{O9sdd )CA5EPgLM63=!}qkA~Tb(6@-*lsrG{a4WA{4 z_enkbpv28+KR$9f1R+}9E#~Ws>W~wg=W3KSEdCmT2A?Bo_o8feB|t+0y2%N2QJT*v z>uDADg`mPybRzqtQpA;nhyl*>;q6*DPf8xHbqx?>ttH*-G@@w?6cCt&V8;aCYxsL{ zB@tZvaR<=;VR<%QXHJJ)FD7TBEI^W@z=huUFWkGRizgAlEMO=MuPnX AYj+xFtQIUOI71LM}Mg5YQ45j%tkiZ9UNU&y-Ue1vs1}1X&wj ds9vbg(q;j~j=v|w_VCvbJX{X@gvWZdU4^0TK} zl3KtAGA3RvrMdJpN(Ly)=X2;4&5!Gq1uP)o@DFhA)J0xjFDkrT57d0CoE|m@3`Amw zv$3F#hnmJ-=r|y89?bv+-I5uE#0ly;eBcws90QzObMy>Qh?O14+Bo 7W|Z%qHH s! z7}Mfj7&*SwuE+w(Lsd@>e}*JgaJc}PtX@xc6?&ckP?FJ6NqQ!IsSI|{V7W|B)_zup z27+6J^-0yWSe&~0BW^Yp)>}bfZGfT$jH*zE#*;)C{lW1iXGMO;x&n0n&~7Bz$YK{} z?D&$nqM+lKgJ;{KHUWNKUKvpCJbXYr?>M|yCWR`pSM4dq*7I8+pG lLw_A#f!*`aft24tiku(KMpa9=8nj}0dRP(Gi{YZ(;* z6w%x?9uc&>L-I*T?A4t#S`s5XNpJFtfYRbN?|&-Y?#$4V=$ `=sn|dkB*Bb_jf}6%~ln zTfm4eOdtjpH&O|VJ^;$9#tx&+<3H7PZKSFjz5h>D8`}KD?yOgn@4EzvfM %F7O)~3U z&A0P?FzrIM4m7APUtZmTk)vw-tK}AY^gMq6xPG0L6Or42X5YE~gBjZ4p$qv=nZLCc z&Q@vk9D>v`x_h!e=V%HzyBCoC{)}Gl_a|wOc~M7=+3Z*f;PJ_&8P-)dTF(Wv(K#nf zDgw%|)<|Z;w;&+@Ily7<$yI_7>>Wl yiDTwwN zIrFnSWS^Yrd`MxO>92t<9rmQzEl49+)9FHbO3qu&S <16XFHDjf=+@^yOByBgYwfajDgEL MlC0;x zwg6;rscNlfxeuUKZgC!#OQAP)>~u} BK)ZBP zj2IphKuDC+3yY(tL??5S&+FJa0OtB%i8(JIQ+-z_gi26C69j_@UPWD|1BvaP3DmN~ zQGk4jVbPq{{}oJ~!&AOAZ2+6F(6l%)qmdlSJWNNPXz* v3X%Z3xgGWg@lb2g}I_>BZ$Dj(IR|>CR z1$GTALe_7ZzG`o1u}Njt{9YN}>HV9Nn6q*?Bq6tJW*o*sA5qNsM%MhbdMBPx{5$6( zbCnf;1Y%Z-9l28JY_LX0(F9qON9r;0erPwUW^O&CXkvC=9qbP4)w+o5i;98f#_pY% zrxf|ccJz7t5LWS{SkCzwCLL9DOT6x}JgHtsA92L^Uc_&yyOBW1ds(63V=m$$)oXoy zEQhjJjxbQSF2<0-ndX`+GU{ Temud=|6!6Pe4NviFTTk@yObPSdEDnFkrDS})l)Uj-Jrz!nC LzO{uHyIaU3pGSr+l(s+-;3k{SAoWOl0n*CQCQ zne`c8ko=mtk!_9OSfG>P2%-*2gE^BsPUTLv{)_#fT5n8c!yU0{KDO;C9=hdF{sH*S z2}A#GaA~z~Mh =*lENx^Ur_v5`qES>6 z#YX-LegMwTTQ{dP$(V0A@j&L#L4McIl4`tIlx|x7_q%CDFEZnZ1Y;ek{sKRLBg}9+ z&uU7wa%E<}snYVSfF=m%hcZrRYkEJ&weXQ9t9`$3{`qEQj#(2CQl0@Fnt>;rU#0pG zMn?_y)col3Axmy0X_NMulEngPGhqD^Bg*wTim8j?H9GzNU58;` mUyjHPu^L*IMGJD2HVssmmbu)K^x2)-ZW*G?ad(%1k*1pDeD#vIbHPQyhX{K%Lb zHz1$P3ys@}g@;x01rIp%KYRYCZ0*KzR*no1XRR4|p0ww=33H$mjB`_K4!-B>>N_)B z%L(yls9;=^EG@v!9|uhvKVLPTFT|DP5_aq4hMTC_{~*GTZ~ltk8-$1G4%O{sQem|# zz}&LWw#0i5xGlAtWWj&WbIT#7NkdgA{?0cPKOS9A?;wS$9Efu^yKHit+kIe%y(%f` zlrPnna}(P{oAYTE4<_7~*r$*mua3VlqaxECTrHH+PdD#c>o6DMxF0TT31v`ImfKyN z3jZPW;p`*+R7=I-#%l~HJ6VI1ul-RI&1o6mln#Ub%XbmsHEB5s^_QpfBR)%8$8D$b zj~Y91e2pJ$RV#x_*a$tO<_mpyB&A9eUU4L=ACGc^1ds*L7^|QUV(XpS7ng`AzWku^ z6d#+ns}ISOJzty5G+KS^Zf3_w!_LC|9R3W1qADPi>mC|C7(FiDDUNoCUSM4*w^TFr zzo!^C@A!IEkTj=aURBf)?Z!X?FA1Og{_iSkXU^S&QhZEMhJ2XRwij2K>@w5&$7>Sd zS^{vH0?)oTzx+})fq}YEw1aUYCyC%o(*>cuKZw>uZ?&*da=0^xUct%CgmD0@qGVFJ z3 rZrE0&oulECSOBE1KmlRNxg z5T6$mqulBJarCA4a?+k^%gyz}4(k-b?kcTt ?M6ZOEb%9S|3ZtGQFsj*(L|>8FfnSXu*f!0 z{MHZ`5Tk}&pGEz{L@k3IuB|hieb`ri-@N4o_G0CV;U`DOcKCran