-
-
- ZONE
- |
- DISPLAY
- |
- COMMENTS
- |
-
-
- vpn1
- |
- VPN-1
- |
- First VPN Zone
- |
-
-
- vpn2
- |
- VPN-2
- |
- Second VPN Zone
- |
-
-
- vpn3
- |
- VPN-3
- |
- Third VPN Zone
- |
-
-
-
+
+
+
+
+
+ ZONE |
+ DISPLAY |
+ COMMENTS |
+
+
+ vpn1 |
+ VPN1 |
+ Remote Subnet on system B |
+
+
+ vpn2
+ |
+ VPN2
+ |
+ Remote Subnet on system C
+ |
+
+
+
-
-
- In /etc/shorewall/tunnels:
-
-
+
+
+On systems B and C:
+
+
+
+
+
+
+ ZONE |
+ DISPLAY |
+ COMMENTS |
+
+
+ vpn |
+ VPN |
+ Remote Subnet on system A |
+
+
+
+
+
+
+At system A, ipsec0 represents two zones so we have the following
+ in /etc/shorewall/interfaces:
+
+
+
+
+
+ ZONE |
+ INTERFACE |
+ BROADCAST |
+ OPTIONS |
+
+
+ -
+ |
+ ipsec0 |
+ |
+
+ |
+
+
+
+
+
+
+The /etc/shorewall/hosts file on system A defines the two
+ VPN zones:
+
+
+
+
+
+
+ ZONE |
+ HOSTS
+ |
+ OPTIONS |
+
+
+ vpn1
+ |
+ ipsec0:10.0.0.0/16 |
+
+ |
+
+
+ vpn2
+ |
+ ipsec0:10.1.0.0/16
+ |
+
+ |
+
+
+
+
+
+
+At systems B and C, ipsec0 represents a single zone so we
+ have the following in /etc/shorewall/interfaces:
+
+
+
+
+
+ ZONE |
+ INTERFACE |
+ BROADCAST |
+ OPTIONS |
+
+
+ vpn
+ |
+ ipsec0 |
+ |
+
+ |
+
+
+
+
+
+
+
+On systems A, you will need to allow traffic between the
+"vpn1" zone and the "loc" zone as well as between "vpn2" and the
+"loc" zone -- if you simply want to admit all traffic in both directions,
+you can use the following policy file entries on all three gateways:
+
+
+
+
+
+ SOURCE |
+ DEST |
+ POLICY |
+ LOG LEVEL |
+
+
+ loc |
+ vpn1 |
+ ACCEPT |
+ |
+
+
+ vpn1 |
+ loc |
+ ACCEPT |
+ |
+
+
+ loc
+ |
+ vpn2
+ |
+ ACCEPT
+ |
+
+ |
+
+
+ vpn2
+ |
+ loc
+ |
+ ACCEPT
+ |
+
+ |
+
+
+
+
+
+
+On systems B and C, you will need to allow traffic between
+ the "vpn" zone and the "loc" zone -- if you simply want to admit
+all traffic in both directions, you can use the following policy file
+entries on all three gateways:
+
+
+
+
+
+ SOURCE |
+ DEST |
+ POLICY |
+ LOG LEVEL |
+
+
+ loc |
+ vpn |
+ ACCEPT |
+ |
+
+
+ vpn |
+ loc |
+ ACCEPT |
+ |
+
+
+
+
+
+
+Once you have the Shorewall entries added, restart Shorewall
+ on each gateway (type shorewall restart); you are now ready to configure
+ the tunnels in FreeS/WAN
+ .
+ Note that to allow traffic between the networks attached to systems B and
+ C, it is necessary to simply add two additional entries to the /etc/shorewall/policy
+ file on system A.
+
+
+
+
+
+ SOURCE |
+ DEST |
+ POLICY |
+ LOG LEVEL |
+
+
+ vpn1
+ |
+ vpn2 |
+ ACCEPT |
+ |
+
+
+ vpn2 |
+ vpn1
+ |
+ ACCEPT |
+ |
+
+
+
+
+
+
+
+ Mobile System
+ (Road Warrior)
+
+Suppose that you have a laptop system (B) that you take with you when
+you travel and you want to be able to establish a secure connection back
+to your local network.
+
+
+
+
+
+You need to define a zone for the laptop or include it in
+ your local zone. In this example, we'll assume that you have created
+ a zone called "vpn" to represent the remote host.
+
+
+
+
+
+ ZONE |
+ DISPLAY |
+ COMMENTS |
+
+
+ vpn |
+ VPN |
+ Remote Subnet |
+
+
+
+
+
+
+ In this instance, the mobile system (B) has IP address 134.28.54.2
+ but that cannot be determined in advance. In the /etc/shorewall/tunnels
+file on system A, the following entry should be made:
+
+
+
+
+
+ TYPE |
+ ZONE |
+ GATEWAY |
+ GATEWAY ZONE |
+
+
+ ipsec |
+ net |
+ 0.0.0.0/0 |
+ vpn |
+
+
+
+
+
+
+Note that the GATEWAY ZONE column contains the name of the zone corresponding
+ to peer subnetworks. This indicates that the gateway system itself comprises
+ the peer subnetwork; in other words, the remote gateway is a standalone
+system.
+
+You will need to configure /etc/shorewall/interfaces and establish
+ your "through the tunnel" policy as shown under the first example above.
+
+
+Dynamic RoadWarrior Zones
+ Beginning with Shorewall release 1.3.10, you can define multiple VPN
+ zones and add and delete remote endpoints dynamically using /sbin/shorewall.
+ In /etc/shorewall/zones:
+
+
+
+
+
+
+ ZONE
+ |
+ DISPLAY
+ |
+ COMMENTS
+ |
+
+
+ vpn1
+ |
+ VPN-1
+ |
+ First VPN Zone
+ |
+
+
+ vpn2
+ |
+ VPN-2
+ |
+ Second VPN Zone
+ |
+
+
+ vpn3
+ |
+ VPN-3
+ |
+ Third VPN Zone
+ |
+
+
+
+
+
+
+ In /etc/shorewall/tunnels:
+
+
-
-
- TYPE
- |
- ZONE
- |
- GATEWAY
- |
- GATEWAY ZONE
- |
-
-
- ipsec
- |
- net
- |
- 0.0.0.0/0
- |
- vpn1,vpn2,vpn3
- |
-
-
-
+
+
+ TYPE
+ |
+ ZONE
+ |
+ GATEWAY
+ |
+ GATEWAY ZONE
+ |
+
+
+ ipsec
+ |
+ net
+ |
+ 0.0.0.0/0
+ |
+ vpn1,vpn2,vpn3
+ |
+
+
+
-
-
- When Shorewall is started, the zones vpn[1-3] will all be empty and
-Shorewall will issue warnings to that effect. These warnings may be safely
-ignored. FreeS/Wan may now be configured to have three different Road Warrior
-connections with the choice of connection being based on X-509 certificates
-or some other means. Each of these connectioins will utilize a different
-updown script that adds the remote station to the appropriate zone when the
-connection comes up and that deletes the remote station when the connection
-comes down. For example, when 134.28.54.2 connects for the vpn2 zone the
+
+
+ When Shorewall is started, the zones vpn[1-3] will all be empty and
+Shorewall will issue warnings to that effect. These warnings may be safely
+ignored. FreeS/Wan may now be configured to have three different Road Warrior
+connections with the choice of connection being based on X-509 certificates
+or some other means. Each of these connectioins will utilize a different
+updown script that adds the remote station to the appropriate zone when the
+connection comes up and that deletes the remote station when the connection
+comes down. For example, when 134.28.54.2 connects for the vpn2 zone the
'up' part of the script will issue the command":
-
-
+
+
/sbin/shorewall add ipsec0:134.28.54.2 vpn2
-
- and the 'down' part will:
-
+
+ and the 'down' part will:
+
/sbin/shorewall delete ipsec0:134.28.54.2 vpn
-
-
-
+
+
+
Limitations of Dynamic Zones
- If you include a dynamic zone in the exclude list of a DNAT rule, the dynamically-added
- hosts are not excluded from the rule.
-
- Example with dyn=dynamic zone:
-
-
-
+ If you include a dynamic zone in the exclude list of a DNAT rule, the
+dynamically-added hosts are not excluded from the rule.
+
+ Example with dyn=dynamic zone:
+
+
+
-
-
- ACTION
- |
- SOURCE
- |
- DESTINATION
- |
- PROTOCOL
- |
- PORT(S)
- |
- CLIENT
- PORT(S)
- |
- ORIGINAL
- DESTINATION
- |
-
-
- DNAT
- |
- z:dyn
- |
- loc:192.168.1.3
- |
- tcp
- |
- 80
- |
-
- |
-
- |
-
-
-
+
+
+ ACTION
+ |
+ SOURCE
+ |
+ DESTINATION
+ |
+ PROTOCOL
+ |
+ PORT(S)
+ |
+ CLIENT
+ PORT(S)
+ |
+ ORIGINAL
+ DESTINATION
+ |
+
+
+ DNAT
+ |
+ z:dyn
+ |
+ loc:192.168.1.3
+ |
+ tcp
+ |
+ 80
+ |
+
+ |
+
+ |
+
+
+
-
- Dynamic changes to the zone dyn will have no effect on the above
-rule.
+
+ Dynamic changes to the zone dyn will have no effect on the above
+ rule.
Last updated 6/10//2003 - Tom Eastep
-
+
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/Install.htm b/Shorewall-docs/Install.htm
index 38a25882d..7c69068e7 100644
--- a/Shorewall-docs/Install.htm
+++ b/Shorewall-docs/Install.htm
@@ -1,220 +1,221 @@
-
+
Shorewall Installation
-
+
-
+
-
+
-
-
-
- Shorewall Installation and
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+
+
+
+ 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 the .lrp
- Upgrade using RPM
- Upgrade using tarball
- Upgrade the .lrp
- Configuring Shorewall
- Uninstall/Fallback
-
+ Install using tarball
+ Install the .lrp
+ Upgrade using RPM
+ Upgrade using tarball
+ Upgrade the .lrp
+ Configuring Shorewall
+ Uninstall/Fallback
+
To 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
+ - 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"
-
+ 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
+
+
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
+
- 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 If you are using Caldera, 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
+
- 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 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
+
+
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.
-
+
+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>).
+
- 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:
- 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
+ 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).
-
+
+ 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 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 for
-details.
-
+
+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
+for details.
+
- - unpack the tarball (tar -zxf shorewall-x.y.z.tgz).
- - cd to the shorewall directory (the version is encoded in
+
- 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 If you are using Caldera, 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
+
- 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"
-
+ - 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"
+
- If you already have a running Bering
- installation and wish to upgrade to a later version of Shorewall:
-
- 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
+
+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
+
+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 39192f3d0..4242b0e5a 100644
--- a/Shorewall-docs/MAC_Validation.html
+++ b/Shorewall-docs/MAC_Validation.html
@@ -2,118 +2,119 @@
MAC Verification
-
+
-
+
-
+
-
-
-
+ bgcolor="#3366ff" height="90">
+ |
+
+
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 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 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.
-
-
-
-Example 1: Here are my files (look here for
-details about my setup):
- /etc/shorewall/shorewall.conf:
-
- MACLIST_DISPOSITION=REJECT
MACLIST_LOG_LEVEL=info
- /etc/shorewall/interfaces:
-
-
- #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:
-
-
- #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
-
- As shown above, I use MAC Verification on my wireless zone.
-
- 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:
-
- 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
-
+
+ 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.
-Copyright ©
- 2001, 2002, 2003 Thomas M. Eastep.
-
+
+ - 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 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.
+
+
+
+Example 1: Here are my files (look here for
+details about my setup):
+ /etc/shorewall/shorewall.conf:
+
+ MACLIST_DISPOSITION=REJECT
MACLIST_LOG_LEVEL=info
+ /etc/shorewall/interfaces:
+
+
+ #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:
+
+
+ #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
+
+ As shown above, I use MAC Verification on my wireless zone.
+
+ 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:
+
+ 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.
+
+
diff --git a/Shorewall-docs/NAT.htm b/Shorewall-docs/NAT.htm
index aa65d51b0..dec289ba3 100644
--- a/Shorewall-docs/NAT.htm
+++ b/Shorewall-docs/NAT.htm
@@ -1,117 +1,119 @@
-
+
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
+ 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.
-
+
+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
+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,
+ /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,
+
+
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 7/6/2003 - Tom Eastep
- Copyright © Copyright © 2001, 2002, 2003 Thomas M. Eastep.
+
+
diff --git a/Shorewall-docs/News.htm b/Shorewall-docs/News.htm
index 082effe75..be7a9cb30 100644
--- a/Shorewall-docs/News.htm
+++ b/Shorewall-docs/News.htm
@@ -5,7 +5,7 @@
-
+
Shorewall News
@@ -16,788 +16,806 @@
-
+
-
+
-
+
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
-
+
-
+
-
+ |
-
+
Shorewall News Archive
- |
+
-
+
-
-
+
+
-
+
+7/15/2003 - New Mirror in Brazil
+
+ Thanks to the folks at securityopensource.org.br, there is now a Shorewall
+mirror in Brazil.
7/15/2003 - Shorewall-1.4.6 RC 1
-
-
+
+
Problems Corrected:
-
-
+
+
- - A problem seen on RH7.3 systems where Shorewall encountered start errors
-when started using the "service" mechanism has been worked around.
+ - A problem seen on RH7.3 systems where Shorewall encountered start
+ errors when started using the "service" mechanism has been worked around.
+
+
+ - Where a list of IP addresses appears in the DEST column of a DNAT[-]
+ rule, Shorewall incorrectly created multiple DNAT rules in the nat table
+ (one for each element in the list). Shorewall now correctly creates a single
+ DNAT rule with multiple "--to-destination" clauses.
+
+
+ - Corrected a problem in Beta 1 where DNS names containing a "-" were
+ mis-handled when they appeared in the DEST column of a rule.
-
- - Where a list of IP addresses appears in the DEST column of a DNAT[-]
- rule, Shorewall incorrectly created multiple DNAT rules in the nat table
-(one for each element in the list). Shorewall now correctly creates a single
-DNAT rule with multiple "--to-destination" clauses.
-
-
- - Corrected a problem in Beta 1 where DNS names containing a "-" were
-mis-handled when they appeared in the DEST column of a rule.
-
-
- - A number of problems with rule parsing have been corrected. Corrections
-involve the handling of "z1!z2" in the SOURCE column as well as lists in
+
+ - A number of problems with rule parsing have been corrected. Corrections
+ involve the handling of "z1!z2" in the SOURCE column as well as lists in
the ORIGINAL DESTINATION column.
-
+
+
-
+
Migration Issues:
-
-
+
+
- - In earlier versions, an undocumented feature allowed entries in the
-host file as follows:
-
- z eth1:192.168.1.0/24,eth2:192.168.2.0/24
-
- This capability was never documented and has been removed in 1.4.6 to allow
-entries of the following format:
-
- z eth1:192.168.1.0/24,192.168.2.0/24
-
-
- - The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT options have been removed
-from /etc/shorewall/shorewall.conf. These capabilities are now automatically
- detected by Shorewall (see below).
-
+ - In earlier versions, an undocumented feature allowed entries in the
+ host file as follows:
+
+ z eth1:192.168.1.0/24,eth2:192.168.2.0/24
+
+ This capability was never documented and has been removed in 1.4.6 to
+allow entries of the following format:
+
+ z eth1:192.168.1.0/24,192.168.2.0/24
+
+
+ - The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT options have been removed
+ from /etc/shorewall/shorewall.conf. These capabilities are now automatically
+ detected by Shorewall (see below).
+
+
-
+
New Features:
-
-
+
+
- - A 'newnotsyn' interface option has been added. This option may be specified
-in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No for
-packets arriving on the associated interface.
-
-
- - The means for specifying a range of IP addresses in /etc/shorewall/masq
- to use for SNAT is now documented. ADD_SNAT_ALIASES=Yes is enabled for address
- ranges.
-
-
- - Shorewall can now add IP addresses to subnets other than the first
- one on an interface.
-
-
- - DNAT[-] rules may now be used to load balance (round-robin) over a
- set of servers. Servers may be specified in a range of addresses given as
-<first address>-<last address>.
-
- Example:
-
- DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
-
-
- - The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration options
- have been removed and have been replaced by code that detects whether these
- capabilities are present in the current kernel. The output of the start,
-restart and check commands have been enhanced to report the outcome:
-
- Shorewall has detected the following iptables/netfilter capabilities:
- NAT: Available
- Packet Mangling: Available
- Multi-port Match: Available
- Verifying Configuration...
-
-
- - Support for the Connection Tracking Match Extension has been added.
- This extension is available in recent kernel/iptables releases and allows
- for rules which match against elements in netfilter's connection tracking
- table. Shorewall automatically detects the availability of this extension
- and reports its availability in the output of the start, restart and check
- commands.
-
- Shorewall has detected the following iptables/netfilter capabilities:
- NAT: Available
- Packet Mangling: Available
- Multi-port Match: Available
- Connection Tracking Match: Available
- Verifying Configuration...
-
- If this extension is available, the ruleset generated by Shorewall is
-changed in the following ways:
+ - A 'newnotsyn' interface option has been added. This option may be
+specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No
+ for packets arriving on the associated interface.
+
+
+ - The means for specifying a range of IP addresses in /etc/shorewall/masq
+ to use for SNAT is now documented. ADD_SNAT_ALIASES=Yes is enabled for address
+ ranges.
+
+
+ - Shorewall can now add IP addresses to subnets other than the first
+ one on an interface.
+
+
+ - DNAT[-] rules may now be used to load balance (round-robin) over
+a set of servers. Servers may be specified in a range of addresses given
+as <first address>-<last address>.
+
+ Example:
+
+ DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
+
+
+ - The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration options
+ have been removed and have been replaced by code that detects whether these
+ capabilities are present in the current kernel. The output of the start,
+ restart and check commands have been enhanced to report the outcome:
+
+ Shorewall has detected the following iptables/netfilter capabilities:
+ NAT: Available
+ Packet Mangling: Available
+ Multi-port Match: Available
+ Verifying Configuration...
+
+
+ - Support for the Connection Tracking Match Extension has been added.
+ This extension is available in recent kernel/iptables releases and allows
+ for rules which match against elements in netfilter's connection tracking
+ table. Shorewall automatically detects the availability of this extension
+ and reports its availability in the output of the start, restart and check
+ commands.
+
+ Shorewall has detected the following iptables/netfilter capabilities:
+ NAT: Available
+ Packet Mangling: Available
+ Multi-port Match: Available
+ Connection Tracking Match: Available
+ Verifying Configuration...
+
+ If this extension is available, the ruleset generated by Shorewall is
+ changed in the following ways:
+
- - To handle 'norfc1918' filtering, Shorewall will not create chains
- in the mangle table but will rather do all 'norfc1918' filtering in the
+
- To handle 'norfc1918' filtering, Shorewall will not create chains
+ in the mangle table but will rather do all 'norfc1918' filtering in the
filter table (rfc1918 chain).
- - Recall that Shorewall DNAT rules generate two netfilter rules; one
- in the nat table and one in the filter table. If the Connection Tracking
-Match Extension is available, the rule in the filter table is extended to
-check that the original destination address was the same as specified (or
-defaulted to) in the DNAT rule.
-
-
+ - Recall that Shorewall DNAT rules generate two netfilter rules;
+one in the nat table and one in the filter table. If the Connection Tracking
+ Match Extension is available, the rule in the filter table is extended to
+ check that the original destination address was the same as specified (or
+ defaulted to) in the DNAT rule.
+
+
+
- - The shell used to interpret the firewall script (/usr/share/shorewall/firewall)
- may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
-
-
- - An 'ipcalc' command has been added to /sbin/shorewall.
-
- ipcalc [ <address> <netmask> | <address>/<vlsm>
-]
-
- Examples:
-
- [root@wookie root]# shorewall ipcalc 192.168.1.0/24
- CIDR=192.168.1.0/24
- NETMASK=255.255.255.0
- NETWORK=192.168.1.0
- BROADCAST=192.168.1.255
- [root@wookie root]#
-
- [root@wookie root]# shorewall ipcalc 192.168.1.0 255.255.255.0
- CIDR=192.168.1.0/24
- NETMASK=255.255.255.0
- NETWORK=192.168.1.0
- BROADCAST=192.168.1.255
- [root@wookie root]#
-
- Warning:
-
- If your shell only supports 32-bit signed arithmatic (ash or dash), then
- the ipcalc command produces incorrect information for IP addresses 128.0.0.0-1
- and for /1 networks. Bash should produce correct information for all valid
- IP addresses.
-
+ - The shell used to interpret the firewall script (/usr/share/shorewall/firewall)
+ may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
+
- - An 'iprange' command has been added to /sbin/shorewall.
-
- iprange <address>-<address>
-
- This command decomposes a range of IP addressses into a list of network
-and host addresses. The command can be useful if you need to construct an
-efficient set of rules that accept connections from a range of network addresses.
-
- Note: If your shell only supports 32-bit signed arithmetic (ash or dash)
-then the range may not span 128.0.0.0.
-
- Example:
-
- [root@gateway root]# shorewall iprange 192.168.1.4-192.168.12.9
- 192.168.1.4/30
- 192.168.1.8/29
- 192.168.1.16/28
- 192.168.1.32/27
- 192.168.1.64/26
- 192.168.1.128/25
- 192.168.2.0/23
- 192.168.4.0/22
- 192.168.8.0/22
- 192.168.12.0/29
- 192.168.12.8/31
- [root@gateway root]#
-
-
- - A list of host/net addresses is now allowed in an entry in /etc/shorewall/hosts.
-
- Example:
-
- foo eth1:192.168.1.0/24,192.168.2.0/24
+ - An 'ipcalc' command has been added to /sbin/shorewall.
+
+ ipcalc [ <address> <netmask> | <address>/<vlsm>
+ ]
+
+ Examples:
+
+ [root@wookie root]# shorewall ipcalc 192.168.1.0/24
+ CIDR=192.168.1.0/24
+ NETMASK=255.255.255.0
+ NETWORK=192.168.1.0
+ BROADCAST=192.168.1.255
+ [root@wookie root]#
+
+ [root@wookie root]# shorewall ipcalc 192.168.1.0 255.255.255.0
+ CIDR=192.168.1.0/24
+ NETMASK=255.255.255.0
+ NETWORK=192.168.1.0
+ BROADCAST=192.168.1.255
+ [root@wookie root]#
+
+ Warning:
+
+ If your shell only supports 32-bit signed arithmatic (ash or dash), then
+ the ipcalc command produces incorrect information for IP addresses 128.0.0.0-1
+ and for /1 networks. Bash should produce correct information for all valid
+ IP addresses.
+
+
+ - An 'iprange' command has been added to /sbin/shorewall.
+
+ iprange <address>-<address>
+
+ This command decomposes a range of IP addressses into a list of network
+ and host addresses. The command can be useful if you need to construct an
+ efficient set of rules that accept connections from a range of network addresses.
+
+ Note: If your shell only supports 32-bit signed arithmetic (ash or dash)
+ then the range may not span 128.0.0.0.
+
+ Example:
+
+ [root@gateway root]# shorewall iprange 192.168.1.4-192.168.12.9
+ 192.168.1.4/30
+ 192.168.1.8/29
+ 192.168.1.16/28
+ 192.168.1.32/27
+ 192.168.1.64/26
+ 192.168.1.128/25
+ 192.168.2.0/23
+ 192.168.4.0/22
+ 192.168.8.0/22
+ 192.168.12.0/29
+ 192.168.12.8/31
+ [root@gateway root]#
+
+
+ - A list of host/net addresses is now allowed in an entry in /etc/shorewall/hosts.
+
+ Example:
+
+ foo eth1:192.168.1.0/24,192.168.2.0/24
+
+
7/7/2003 - Shorewall-1.4.6 Beta 2
-
+
Problems Corrected:
-
-
-
- - A problem seen on RH7.3 systems where Shorewall encountered start
-errors when started using the "service" mechanism has been worked around.
-
-
- - Where a list of IP addresses appears in the DEST column of a DNAT[-]
- rule, Shorewall incorrectly created multiple DNAT rules in the nat table
-(one for each element in the list). Shorewall now correctly creates a single
-DNAT rule with multiple "--to-destination" clauses.
-
-
- - Corrected a problem in Beta 1 where DNS names containing a "-" were
-mis-handled when they appeared in the DEST column of a rule.
-
-
-
-
-Migration Issues:
-
-
-
- - In earlier versions, an undocumented feature allowed entries in the
-host file as follows:
-
- z eth1:192.168.1.0/24,eth2:192.168.2.0/24
-
- This capability was never documented and has been removed in 1.4.6 to allow
-entries of the following format:
-
- z eth1:192.168.1.0/24,192.168.2.0/24
-
-
- - The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT options have been removed
-from /etc/shorewall/shorewall.conf. These capabilities are now automatically
-detected by Shorewall (see below).
-
-
-
-
-New Features:
-
-
-
- - A 'newnotsyn' interface option has been added. This option may be
-specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No
-for packets arriving on the associated interface.
-
-
- - The means for specifying a range of IP addresses in /etc/shorewall/masq
- to use for SNAT is now documented. ADD_SNAT_ALIASES=Yes is enabled for address
- ranges.
-
-
- - Shorewall can now add IP addresses to subnets other than the first
- one on an interface.
-
-
- - DNAT[-] rules may now be used to load balance (round-robin) over a
- set of servers. Servers may be specified in a range of addresses given as
-<first address>-<last address>.
-
- Example:
-
- DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
-
-
- - The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration options
- have been removed and have been replaced by code that detects whether these
- capabilities are present in the current kernel. The output of the start,
-restart and check commands have been enhanced to report the outcome:
-
- Shorewall has detected the following iptables/netfilter capabilities:
- NAT: Available
- Packet Mangling: Available
- Multi-port Match: Available
- Verifying Configuration...
-
-
- - Support for the Connection Tracking Match Extension has been added.
- This extension is available in recent kernel/iptables releases and allows
- for rules which match against elements in netfilter's connection tracking
- table. Shorewall automatically detects the availability of this extension
- and reports its availability in the output of the start, restart and check
- commands.
-
- Shorewall has detected the following iptables/netfilter capabilities:
- NAT: Available
- Packet Mangling: Available
- Multi-port Match: Available
- Connection Tracking Match: Available
- Verifying Configuration...
-
- If this extension is available, the ruleset generated by Shorewall is
-changed in the following ways:
-
-
- - To handle 'norfc1918' filtering, Shorewall will not create chains
- in the mangle table but will rather do all 'norfc1918' filtering in the filter
- table (rfc1918 chain).
- - Recall that Shorewall DNAT rules generate two netfilter rules; one
- in the nat table and one in the filter table. If the Connection Tracking
-Match Extension is available, the rule in the filter table is extended to
-check that the original destination address was the same as specified (or
-defaulted to) in the DNAT rule.
-
-
-
-
- - The shell used to interpret the firewall script (/usr/share/shorewall/firewall)
- may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
-
-
- - An 'ipcalc' command has been added to /sbin/shorewall.
-
- ipcalc [ <address> <netmask> | <address>/<vlsm>
-]
-
- Examples:
-
- [root@wookie root]# shorewall ipcalc 192.168.1.0/24
- CIDR=192.168.1.0/24
- NETMASK=255.255.255.0
- NETWORK=192.168.1.0
- BROADCAST=192.168.1.255
- [root@wookie root]#
-
- [root@wookie root]# shorewall ipcalc 192.168.1.0 255.255.255.0
- CIDR=192.168.1.0/24
- NETMASK=255.255.255.0
- NETWORK=192.168.1.0
- BROADCAST=192.168.1.255
- [root@wookie root]#
-
- Warning:
-
- If your shell only supports 32-bit signed arithmatic (ash or dash), then
-the ipcalc command produces incorrect information for IP addresses 128.0.0.0-1
-and for /1 networks. Bash should produce correct information for all valid
-IP addresses.
-
-
- - An 'iprange' command has been added to /sbin/shorewall.
-
- iprange <address>-<address>
-
- This command decomposes a range of IP addressses into a list of network
-and host addresses. The command can be useful if you need to construct an
-efficient set of rules that accept connections from a range of network addresses.
-
- Note: If your shell only supports 32-bit signed arithmetic (ash or dash)
-then the range may not span 128.0.0.0.
-
- Example:
-
- [root@gateway root]# shorewall iprange 192.168.1.4-192.168.12.9
- 192.168.1.4/30
- 192.168.1.8/29
- 192.168.1.16/28
- 192.168.1.32/27
- 192.168.1.64/26
- 192.168.1.128/25
- 192.168.2.0/23
- 192.168.4.0/22
- 192.168.8.0/22
- 192.168.12.0/29
- 192.168.12.8/31
- [root@gateway root]#
-
-
- - A list of host/net addresses is now allowed in an entry in /etc/shorewall/hosts.
-
- Example:
-
- foo eth1:192.168.1.0/24,192.168.2.0/24
-
-
-
-
-
-7/4/2003 - Shorewall-1.4.6 Beta 1
-
-Problems Corrected:
-
-
+
+
- A problem seen on RH7.3 systems where Shorewall encountered start
errors when started using the "service" mechanism has been worked around.
+
+
+ - Where a list of IP addresses appears in the DEST column of a DNAT[-]
+ rule, Shorewall incorrectly created multiple DNAT rules in the nat table
+ (one for each element in the list). Shorewall now correctly creates a single
+ DNAT rule with multiple "--to-destination" clauses.
- - Where a list of IP addresses appears in the DEST column of a DNAT[-]
- rule, Shorewall incorrectly created multiple DNAT rules in the nat table
-(one for each element in the list). Shorewall now correctly creates a single
-DNAT rule with multiple "--to-destination" clauses.
+ - Corrected a problem in Beta 1 where DNS names containing a "-" were
+ mis-handled when they appeared in the DEST column of a rule.
+
+
+
+
+Migration Issues:
+
+
+
+ - In earlier versions, an undocumented feature allowed entries in
+the host file as follows:
+
+ z eth1:192.168.1.0/24,eth2:192.168.2.0/24
+
+ This capability was never documented and has been removed in 1.4.6 to
+allow entries of the following format:
+
+ z eth1:192.168.1.0/24,192.168.2.0/24
+
+
+ - The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT options have been
+removed from /etc/shorewall/shorewall.conf. These capabilities are now automatically
+ detected by Shorewall (see below).
New Features:
-
-
+
+
- A 'newnotsyn' interface option has been added. This option may be
specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No
for packets arriving on the associated interface.
-
-
+
+
- The means for specifying a range of IP addresses in /etc/shorewall/masq
- to use for SNAT is now documented. ADD_SNAT_ALIASES=Yes is enabled for address
- ranges.
-
-
+ to use for SNAT is now documented. ADD_SNAT_ALIASES=Yes is enabled for address
+ ranges.
+
+
- Shorewall can now add IP addresses to subnets other than the first
- one on an interface.
-
-
+ one on an interface.
+
+
- DNAT[-] rules may now be used to load balance (round-robin) over
-a set of servers. Up to 256 servers may be specified in a range of addresses
- given as <first address>-<last address>.
-
- Example:
-
- DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
-
- Note that this capability has previously been available using a combination
- of a DNAT- rule and one or more ACCEPT rules. That technique is still preferable
- for load-balancing over a large number of servers (> 16) since specifying
- a range in the DNAT rule causes one filter table ACCEPT rule to be generated
- for each IP address in the range.
-
-
+a set of servers. Servers may be specified in a range of addresses given
+as <first address>-<last address>.
+
+ Example:
+
+ DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
+
+
- The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration options
- have been removed and have been replaced by code that detects whether these
- capabilities are present in the current kernel. The output of the start,
-restart and check commands have been enhanced to report the outcome:
-
- Shorewall has detected the following iptables/netfilter capabilities:
- NAT: Available
- Packet Mangling: Available
- Multi-port Match: Available
- Verifying Configuration...
-
-
+ have been removed and have been replaced by code that detects whether these
+ capabilities are present in the current kernel. The output of the start,
+ restart and check commands have been enhanced to report the outcome:
+
+ Shorewall has detected the following iptables/netfilter capabilities:
+ NAT: Available
+ Packet Mangling: Available
+ Multi-port Match: Available
+ Verifying Configuration...
+
+
- Support for the Connection Tracking Match Extension has been added.
- This extension is available in recent kernel/iptables releases and allows
- for rules which match against elements in netfilter's connection tracking
- table. Shorewall automatically detects the availability of this extension
- and reports its availability in the output of the start, restart and check
- commands.
-
- Shorewall has detected the following iptables/netfilter capabilities:
- NAT: Available
- Packet Mangling: Available
- Multi-port Match: Available
- Connection Tracking Match: Available
- Verifying Configuration...
-
- If this extension is available, the ruleset generated by Shorewall is
-changed in the following ways:
-
-
-
-
+ This extension is available in recent kernel/iptables releases and allows
+ for rules which match against elements in netfilter's connection tracking
+ table. Shorewall automatically detects the availability of this extension
+ and reports its availability in the output of the start, restart and check
+ commands.
+
+ Shorewall has detected the following iptables/netfilter capabilities:
+ NAT: Available
+ Packet Mangling: Available
+ Multi-port Match: Available
+ Connection Tracking Match: Available
+ Verifying Configuration...
+
+ If this extension is available, the ruleset generated by Shorewall is
+ changed in the following ways:
- To handle 'norfc1918' filtering, Shorewall will not create chains
- in the mangle table but will rather do all 'norfc1918' filtering in the filter
- table (rfc1918 chain).
+ in the mangle table but will rather do all 'norfc1918' filtering in the
+filter table (rfc1918 chain).
- Recall that Shorewall DNAT rules generate two netfilter rules;
-one in the nat table and one in the filter table. If the Connection Tracking
-Match Extension is available, the rule in the filter table is extended to
-check that the original destination address was the same as specified (or
-defaulted to) in the DNAT rule.
-
-
+one in the nat table and one in the filter table. If the Connection Tracking
+ Match Extension is available, the rule in the filter table is extended to
+ check that the original destination address was the same as specified (or
+ defaulted to) in the DNAT rule.
+
+
- The shell used to interpret the firewall script (/usr/share/shorewall/firewall)
- may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
+ may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
+
+
+ - An 'ipcalc' command has been added to /sbin/shorewall.
+
+ ipcalc [ <address> <netmask> | <address>/<vlsm>
+ ]
+
+ Examples:
+
+ [root@wookie root]# shorewall ipcalc 192.168.1.0/24
+ CIDR=192.168.1.0/24
+ NETMASK=255.255.255.0
+ NETWORK=192.168.1.0
+ BROADCAST=192.168.1.255
+ [root@wookie root]#
+
+ [root@wookie root]# shorewall ipcalc 192.168.1.0 255.255.255.0
+ CIDR=192.168.1.0/24
+ NETMASK=255.255.255.0
+ NETWORK=192.168.1.0
+ BROADCAST=192.168.1.255
+ [root@wookie root]#
+
+ Warning:
+
+ If your shell only supports 32-bit signed arithmatic (ash or dash), then
+ the ipcalc command produces incorrect information for IP addresses 128.0.0.0-1
+ and for /1 networks. Bash should produce correct information for all valid
+ IP addresses.
+
+
+ - An 'iprange' command has been added to /sbin/shorewall.
+
+ iprange <address>-<address>
+
+ This command decomposes a range of IP addressses into a list of network
+ and host addresses. The command can be useful if you need to construct an
+ efficient set of rules that accept connections from a range of network addresses.
+
+ Note: If your shell only supports 32-bit signed arithmetic (ash or dash)
+ then the range may not span 128.0.0.0.
+
+ Example:
+
+ [root@gateway root]# shorewall iprange 192.168.1.4-192.168.12.9
+ 192.168.1.4/30
+ 192.168.1.8/29
+ 192.168.1.16/28
+ 192.168.1.32/27
+ 192.168.1.64/26
+ 192.168.1.128/25
+ 192.168.2.0/23
+ 192.168.4.0/22
+ 192.168.8.0/22
+ 192.168.12.0/29
+ 192.168.12.8/31
+ [root@gateway root]#
+
+
+ - A list of host/net addresses is now allowed in an entry in /etc/shorewall/hosts.
+
+ Example:
+
+ foo eth1:192.168.1.0/24,192.168.2.0/24
+
-6/17/2003 - Shorewall-1.4.5
-
-Problems Corrected:
-
-
-
- - The command "shorewall debug try <directory>" now correctly
- traces the attempt.
- - The INCLUDE directive now works properly in the zones file; previously,
- INCLUDE in that file was ignored.
- - /etc/shorewall/routestopped records with an empty second column
-are no longer ignored.
-
-
-
-
-New Features:
-
-
-
- - The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] rule may now
- contain a list of addresses. If the list begins with "!' then the rule will
- take effect only if the original destination address in the connection request
- does not match any of the addresses listed.
-
-
-
-6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8
+7/4/2003 - Shorewall-1.4.6 Beta 1
-The firewall at shorewall.net has been upgraded to the 2.4.21 kernel and
- iptables 1.2.8 (using the "official" RPM from netfilter.org). No problems
- have been encountered with this set of software. The Shorewall version is
- 1.4.4b plus the accumulated changes for 1.4.5.
+
Problems Corrected:
-6/8/2003 - Updated Samples
+
+ - A problem seen on RH7.3 systems where Shorewall encountered start
+ errors when started using the "service" mechanism has been worked around.
+
+
+ - Where a list of IP addresses appears in the DEST column of a DNAT[-]
+ rule, Shorewall incorrectly created multiple DNAT rules in the nat table
+ (one for each element in the list). Shorewall now correctly creates a single
+ DNAT rule with multiple "--to-destination" clauses.
+
+
+
+
+New Features:
+
+
+
+ - A 'newnotsyn' interface option has been added. This option may
+be specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No
+ for packets arriving on the associated interface.
+
+
+ - The means for specifying a range of IP addresses in /etc/shorewall/masq
+ to use for SNAT is now documented. ADD_SNAT_ALIASES=Yes is enabled for address
+ ranges.
+
+
+ - Shorewall can now add IP addresses to subnets other than the first
+ one on an interface.
+
+
+ - DNAT[-] rules may now be used to load balance (round-robin) over
+ a set of servers. Up to 256 servers may be specified in a range of addresses
+ given as <first address>-<last address>.
+
+ Example:
+
+ DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
+
+ Note that this capability has previously been available using a combination
+ of a DNAT- rule and one or more ACCEPT rules. That technique is still preferable
+ for load-balancing over a large number of servers (> 16) since specifying
+ a range in the DNAT rule causes one filter table ACCEPT rule to be generated
+ for each IP address in the range.
+
+
+ - The NAT_ENABLED, MANGLE_ENABLED and MULTIPORT configuration options
+ have been removed and have been replaced by code that detects whether these
+ capabilities are present in the current kernel. The output of the start,
+ restart and check commands have been enhanced to report the outcome:
+
+ Shorewall has detected the following iptables/netfilter capabilities:
+ NAT: Available
+ Packet Mangling: Available
+ Multi-port Match: Available
+ Verifying Configuration...
+
+
+ - Support for the Connection Tracking Match Extension has been added.
+ This extension is available in recent kernel/iptables releases and allows
+ for rules which match against elements in netfilter's connection tracking
+ table. Shorewall automatically detects the availability of this extension
+ and reports its availability in the output of the start, restart and check
+ commands.
+
+ Shorewall has detected the following iptables/netfilter capabilities:
+ NAT: Available
+ Packet Mangling: Available
+ Multi-port Match: Available
+ Connection Tracking Match: Available
+ Verifying Configuration...
+
+ If this extension is available, the ruleset generated by Shorewall is
+ changed in the following ways:
+
+
+
+
+
+
+ - To handle 'norfc1918' filtering, Shorewall will not create chains
+ in the mangle table but will rather do all 'norfc1918' filtering in the
+filter table (rfc1918 chain).
+ - Recall that Shorewall DNAT rules generate two netfilter rules;
+ one in the nat table and one in the filter table. If the Connection Tracking
+ Match Extension is available, the rule in the filter table is extended to
+ check that the original destination address was the same as specified (or
+ defaulted to) in the DNAT rule.
+
+
+
+
+ - The shell used to interpret the firewall script (/usr/share/shorewall/firewall)
+ may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
+
+
+
+
+6/17/2003 - Shorewall-1.4.5
-Thanks to Francesca Smith, the samples have been updated to Shorewall
-version 1.4.4.
+Problems Corrected:
+
-5/29/2003 - Shorewall-1.4.4b
+
+ - The command "shorewall debug try <directory>" now correctly
+ traces the attempt.
+ - The INCLUDE directive now works properly in the zones file; previously,
+ INCLUDE in that file was ignored.
+ - /etc/shorewall/routestopped records with an empty second column
+ are no longer ignored.
+
+
+
+
+New Features:
+
+
+
+ - The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] rule may
+now contain a list of addresses. If the list begins with "!' then the rule
+will take effect only if the original destination address in the connection
+request does not match any of the addresses listed.
+
+
+
+6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8
-Groan -- This version corrects a problem whereby the --log-level was not
- being set when logging via syslog. The most commonly reported symptom was
- that Shorewall messages were being written to the console even though console
- logging was correctly configured per FAQ 16.
+
The firewall at shorewall.net has been upgraded to the 2.4.21 kernel and
+ iptables 1.2.8 (using the "official" RPM from netfilter.org). No problems
+ have been encountered with this set of software. The Shorewall version
+is 1.4.4b plus the accumulated changes for 1.4.5.
+6/8/2003 - Updated Samples
+
+Thanks to Francesca Smith, the samples have been updated to Shorewall
+version 1.4.4.
+
+5/29/2003 - Shorewall-1.4.4b
+
+Groan -- This version corrects a problem whereby the --log-level was not
+ being set when logging via syslog. The most commonly reported symptom
+was that Shorewall messages were being written to the console even though
+console logging was correctly configured per FAQ 16.
+
+
5/27/2003 - Shorewall-1.4.4a
- The Fireparse --log-prefix fiasco continues. Tuomo Soini has pointed
- out that the code in 1.4.4 restricts the length of short zone names
-to 4 characters. I've produced version 1.4.4a that restores the previous
-5-character limit by conditionally omitting the log rule number when
-the LOGFORMAT doesn't contain '%d'.
-
+ The Fireparse --log-prefix fiasco continues. Tuomo Soini has
+pointed out that the code in 1.4.4 restricts the length of short zone
+names to 4 characters. I've produced version 1.4.4a that restores the
+previous 5-character limit by conditionally omitting the log rule number
+when the LOGFORMAT doesn't contain '%d'.
+
5/23/2003 - Shorewall-1.4.4
- I apologize for the rapid-fire releases but since there is a potential
- configuration change required to go from 1.4.3a to 1.4.4, I decided to
- make it a full release rather than just a bug-fix release.
-
- Problems corrected:
-
+ I apologize for the rapid-fire releases but since there is a
+potential configuration change required to go from 1.4.3a to 1.4.4,
+I decided to make it a full release rather than just a bug-fix release.
+
+
+ Problems corrected:
+
None.
-
- New Features:
-
+
+ New Features:
+
- - A REDIRECT- rule target has been added. This target behaves
- for REDIRECT in the same way as DNAT- does for DNAT in that the Netfilter
- nat table REDIRECT rule is added but not the companion filter table
+
- A REDIRECT- rule target has been added. This target behaves
+ for REDIRECT in the same way as DNAT- does for DNAT in that the Netfilter
+ nat table REDIRECT rule is added but not the companion filter table
ACCEPT rule.
-
-
- - The LOGMARKER variable has been renamed LOGFORMAT and has
- been changed to a 'printf' formatting template which accepts three arguments
- (the chain name, logging rule number and the disposition). To use LOGFORMAT
- with fireparse (http://www.fireparse.com),
- set it as:
-
- LOGFORMAT="fp=%s:%d a=%s "
-
- CAUTION: /sbin/shorewall uses the leading part of the
- LOGFORMAT string (up to but not including the first '%') to find log
-messages in the 'show log', 'status' and 'hits' commands. This part should
-not be omitted (the LOGFORMAT should not begin with "%") and the leading
-part should be sufficiently unique for /sbin/shorewall to identify Shorewall
- messages.
-
-
- - When logging is specified on a DNAT[-] or REDIRECT[-] rule,
- the logging now takes place in the nat table rather than in the filter
- table. This way, only those connections that actually undergo DNAT or
- redirection will be logged.
-
-
-
-
-5/20/2003 - Shorewall-1.4.3a
-
- This version primarily corrects the documentation included in
- the .tgz and in the .rpm. In addition:
-
-
- - (This change is in 1.4.3 but is not documented) If you
-are running iptables 1.2.7a and kernel 2.4.20, then Shorewall will return
- reject replies as follows:
- a) tcp - RST
- b) udp - ICMP port unreachable
- c) icmp - ICMP host unreachable
- d) Otherwise - ICMP host prohibited
- If you are running earlier software, Shorewall will follow
-it's traditional convention:
- a) tcp - RST
- b) Otherwise - ICMP port unreachable
- - UDP port 135 is now silently dropped in the common.def
-chain. Remember that this chain is traversed just before a DROP or REJECT
-policy is enforced.
-
-
-
-
-5/18/2003 - Shorewall 1.4.3
-
- Problems Corrected:
-
-
- - There were several cases where Shorewall would fail to
- remove a temporary directory from /tmp. These cases have been corrected.
- - The rules for allowing all traffic via the loopback interface
- have been moved to before the rule that drops status=INVALID packets.
- This insures that all loopback traffic is allowed even if Netfilter connection
- tracking is confused.
-
-
- New Features:
-
-
- - IPV6-IPV4 (6to4) tunnels are now supported in the /etc/shorewall/tunnels
- file.
- - You may now change the leading portion of the
- --log-prefix used by Shorewall using the LOGMARKER variable in shorewall.conf.
- By default, "Shorewall:" is used.
+
-
+ - The LOGMARKER variable has been renamed LOGFORMAT and
+has been changed to a 'printf' formatting template which accepts three
+arguments (the chain name, logging rule number and the disposition).
+To use LOGFORMAT with fireparse (http://www.fireparse.com), set it
+ as:
+
+ LOGFORMAT="fp=%s:%d a=%s "
+
+ CAUTION: /sbin/shorewall uses the leading part of
+the LOGFORMAT string (up to but not including the first '%') to find
+log messages in the 'show log', 'status' and 'hits' commands. This part
+should not be omitted (the LOGFORMAT should not begin with "%") and the
+leading part should be sufficiently unique for /sbin/shorewall to identify
+Shorewall messages.
+
+
+ - When logging is specified on a DNAT[-] or REDIRECT[-]
+rule, the logging now takes place in the nat table rather than in the
+filter table. This way, only those connections that actually undergo
+DNAT or redirection will be logged.
+
+
-
-5/10/2003 - Shorewall Mirror in Asia
-
-
-Ed Greshko has established a mirror in Taiwan -- Thanks Ed!
+
+
5/20/2003 - Shorewall-1.4.3a
+ This version primarily corrects the documentation included
+in the .tgz and in the .rpm. In addition:
+
+ - (This change is in 1.4.3 but is not documented) If you
+ are running iptables 1.2.7a and kernel 2.4.20, then Shorewall will return
+ reject replies as follows:
+ a) tcp - RST
+ b) udp - ICMP port unreachable
+ c) icmp - ICMP host unreachable
+ d) Otherwise - ICMP host prohibited
+ If you are running earlier software, Shorewall will follow
+ it's traditional convention:
+ a) tcp - RST
+ b) Otherwise - ICMP port unreachable
+ - UDP port 135 is now silently dropped in the common.def
+ chain. Remember that this chain is traversed just before a DROP or
+REJECT policy is enforced.
+
+
+
+
+5/18/2003 - Shorewall 1.4.3
+
+ Problems Corrected:
+
+
+ - There were several cases where Shorewall would fail
+to remove a temporary directory from /tmp. These cases have been corrected.
+ - The rules for allowing all traffic via the loopback
+interface have been moved to before the rule that drops status=INVALID
+packets. This insures that all loopback traffic is allowed even if Netfilter
+connection tracking is confused.
+
+
+ New Features:
+
+
+ - IPV6-IPV4 (6to4) tunnels are now supported in the
+/etc/shorewall/tunnels file.
+ - You may now change the leading portion of
+the --log-prefix used by Shorewall using the LOGMARKER variable in
+shorewall.conf. By default, "Shorewall:" is used.
+
+
+
+
+5/10/2003 - Shorewall Mirror in Asia
+
+
+Ed Greshko has established a mirror in Taiwan -- Thanks Ed!
+
+
5/8/2003 - Shorewall Mirror in Chile
- Thanks to Darcy Ganga, there is now an HTTP mirror
-in Santiago Chile.
+ Thanks to Darcy Ganga, there is now an HTTP mirror
+ in Santiago Chile.
4/21/2003 - Samples updated for Shorewall version 1.4.2
-
+
Thanks to Francesca Smith, the sample configurations are now upgraded to
Shorewall version 1.4.2.
-
+
4/9/2003 - Shorewall 1.4.2
-
-
+
+
Problems Corrected:
-
+
-
+
- - TCP connection requests rejected out of the common
- chain are now properly rejected with TCP RST; previously, some of
- these requests were rejected with an ICMP port-unreachable response.
- - 'traceroute -I' from behind the firewall previously
- timed out on the first hop (e.g., to the firewall). This has been
- worked around.
-
-
+ - TCP connection requests rejected out of the
+ common chain are now properly rejected with TCP RST;
+previously, some of these requests were rejected with an ICMP port-unreachable
+response.
+ - 'traceroute -I' from behind the firewall previously
+ timed out on the first hop (e.g., to the firewall). This has been
+ worked around.
+
+
-
-
+
+
New Features:
-
+
- - Where an entry in the/etc/shorewall/hosts file specifies
- a particular host or network, Shorewall now creates an intermediate
- chain for handling input from the related zone. This can substantially
- reduce the number of rules traversed by connections requests from such
- zones.
-
-
- - Any file may include an INCLUDE directive. An INCLUDE
- directive consists of the word INCLUDE followed by a file name and
- causes the contents of the named file to be logically included into
- the file containing the INCLUDE. File names given in an INCLUDE directive
- are assumed to reside in /etc/shorewall or in an alternate configuration
- directory if one has been specified for the command.
-
- Examples:
- shorewall/params.mgmt:
- MGMT_SERVERS=1.1.1.1,2.2.2.2,3.3.3.3
- TIME_SERVERS=4.4.4.4
- BACKUP_SERVERS=5.5.5.5
- ----- end params.mgmt -----
-
-
- shorewall/params:
- # Shorewall 1.3 /etc/shorewall/params
- [..]
- #######################################
-
- INCLUDE params.mgmt
-
- # params unique to this host here
- #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO
-NOT REMOVE
- ----- end params -----
-
-
- shorewall/rules.mgmt:
- ACCEPT net:$MGMT_SERVERS $FW tcp 22
- ACCEPT $FW net:$TIME_SERVERS udp 123
- ACCEPT $FW net:$BACKUP_SERVERS tcp 22
- ----- end rules.mgmt -----
-
- shorewall/rules:
- # Shorewall version 1.3 - Rules File
- [..]
- #######################################
-
- INCLUDE rules.mgmt
-
- # rules unique to this host here
- #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE --
-DO NOT REMOVE
- ----- end rules -----
-
- INCLUDE's may be nested to a level of 3 -- further nested
- INCLUDE directives are ignored with a warning message.
-
+ - Where an entry in the/etc/shorewall/hosts file
+specifies a particular host or network, Shorewall now creates an
+intermediate chain for handling input from the related zone. This
+can substantially reduce the number of rules traversed by connections
+requests from such zones.
+
- - Routing traffic from an interface back out that
-interface continues to be a problem. While I firmly believe that
-this should never happen, people continue to want to do it. To limit
-the damage that such nonsense produces, I have added a new 'routeback'
-option in /etc/shorewall/interfaces and /etc/shorewall/hosts. When
+
- Any file may include an INCLUDE directive. An
+INCLUDE directive consists of the word INCLUDE followed by a file
+name and causes the contents of the named file to be logically included
+into the file containing the INCLUDE. File names given in an INCLUDE
+directive are assumed to reside in /etc/shorewall or in an alternate
+configuration directory if one has been specified for the command.
+
+
+ Examples:
+ shorewall/params.mgmt:
+ MGMT_SERVERS=1.1.1.1,2.2.2.2,3.3.3.3
+ TIME_SERVERS=4.4.4.4
+ BACKUP_SERVERS=5.5.5.5
+ ----- end params.mgmt -----
+
+
+ shorewall/params:
+ # Shorewall 1.3 /etc/shorewall/params
+ [..]
+ #######################################
+
+ INCLUDE params.mgmt
+
+ # params unique to this host here
+ #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE -
+DO NOT REMOVE
+ ----- end params -----
+
+
+ shorewall/rules.mgmt:
+ ACCEPT net:$MGMT_SERVERS $FW tcp
+22
+ ACCEPT $FW net:$TIME_SERVERS udp
+123
+ ACCEPT $FW net:$BACKUP_SERVERS tcp
+22
+ ----- end rules.mgmt -----
+
+ shorewall/rules:
+ # Shorewall version 1.3 - Rules File
+ [..]
+ #######################################
+
+ INCLUDE rules.mgmt
+
+ # rules unique to this host here
+ #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE
+-- DO NOT REMOVE
+ ----- end rules -----
+
+ INCLUDE's may be nested to a level of 3 -- further
+nested INCLUDE directives are ignored with a warning message.
+
+
+ - Routing traffic from an interface back out that
+ interface continues to be a problem. While I firmly believe that
+ this should never happen, people continue to want to do it. To limit
+ the damage that such nonsense produces, I have added a new 'routeback'
+ option in /etc/shorewall/interfaces and /etc/shorewall/hosts. When
used in /etc/shorewall/interfaces, the 'ZONE' column may not contain
'-'; in other words, 'routeback' can't be used as an option for a multi-zone
- interface. The 'routeback' option CAN be specified however on individual
- group entries in /etc/shorewall/hosts.
-
- The 'routeback' option is similar to the old 'multi'
-option with two exceptions:
-
- a) The option pertains to a particular zone,interface,address
- tuple.
-
- b) The option only created infrastructure to pass
-traffic from (zone,interface,address) tuples back to themselves (the
-'multi' option affected all (zone,interface,address) tuples associated
-with the given 'interface').
-
- See the 'Upgrade Issues'
- for information about how this new option may affect your configuration.
-
-
+ interface. The 'routeback' option CAN be specified however on individual
+ group entries in /etc/shorewall/hosts.
+
+ The 'routeback' option is similar to the old 'multi'
+ option with two exceptions:
+
+ a) The option pertains to a particular zone,interface,address
+ tuple.
+
+ b) The option only created infrastructure to pass
+ traffic from (zone,interface,address) tuples back to themselves
+(the 'multi' option affected all (zone,interface,address) tuples
+associated with the given 'interface').
+
+ See the 'Upgrade Issues'
+ for information about how this new option may affect your configuration.
+
+
-
+
3/24/2003 - Shorewall 1.4.1
-
+
@@ -817,1778 +835,1807 @@ with the given 'interface').
-
+
This release follows up on 1.4.0. It corrects a problem introduced in
1.4.0 and removes additional warts.
-
- Problems Corrected:
-
-
+
+ Problems Corrected:
+
+
- - When Shorewall 1.4.0 is run under the ash shell
-(such as on Bering/LEAF), it can attempt to add ECN disabling rules
-even if the /etc/shorewall/ecn file is empty. That problem has been
-corrected so that ECN disabling rules are only added if there are entries
-in /etc/shorewall/ecn.
-
+ - When Shorewall 1.4.0 is run under the ash shell
+ (such as on Bering/LEAF), it can attempt to add ECN disabling rules
+ even if the /etc/shorewall/ecn file is empty. That problem has been
+ corrected so that ECN disabling rules are only added if there are
+entries in /etc/shorewall/ecn.
+
- New Features:
-
+ New Features:
+
Note: In the list that follows, the term group refers to
a particular network or subnetwork (which may be 0.0.0.0/0 or it may be a
host address) accessed through a particular interface. Examples:
-
+
eth0:0.0.0.0/0
- eth2:192.168.1.0/24
- eth3:192.0.2.123
+ eth2:192.168.1.0/24
+ eth3:192.0.2.123
+
+ You can use the "shorewall check" command to see the
+ groups associated with each of your zones.
- You can use the "shorewall check" command to see the
-groups associated with each of your zones.
-
-
+
- - Beginning with Shorewall 1.4.1, if a zone Z comprises
- more than one group then if there is no explicit Z to Z policy
- and there are no rules governing traffic from Z to Z then Shorewall
-will permit all traffic between the groups in the zone.
- - Beginning with Shorewall 1.4.1, Shorewall will
-never create rules to handle traffic from a group to itself.
- - A NONE policy is introduced in 1.4.1. When a policy
- of NONE is specified from Z1 to Z2:
-
+ - Beginning with Shorewall 1.4.1, if a zone Z comprises
+ more than one group then if there is no explicit Z to Z policy
+ and there are no rules governing traffic from Z to Z then Shorewall
+ will permit all traffic between the groups in the zone.
+ - Beginning with Shorewall 1.4.1, Shorewall will
+ never create rules to handle traffic from a group to itself.
+ - A NONE policy is introduced in 1.4.1. When a
+policy of NONE is specified from Z1 to Z2:
+
-
+
- - There may be no rules created that govern connections
- from Z1 to Z2.
- - Shorewall will not create any infrastructure to
-handle traffic from Z1 to Z2.
-
+ - There may be no rules created that govern connections
+ from Z1 to Z2.
+ - Shorewall will not create any infrastructure
+to handle traffic from Z1 to Z2.
+
- See the upgrade issues
- for a discussion of how these changes may affect your configuration.
-
+ See the upgrade issues
+ for a discussion of how these changes may affect your configuration.
+
3/17/2003 - Shorewall 1.4.0
- Shorewall
- 1.4 represents the next step in the evolution of Shorewall. The
- main thrust of the initial release is simply to remove the cruft
+ Shorewall
+ 1.4 represents the next step in the evolution of Shorewall.
+The main thrust of the initial release is simply to remove the cruft
that has accumulated in Shorewall over time.
-
- IMPORTANT: Shorewall 1.4.0 requires the
- iproute package ('ip' utility).
-
- Function from 1.3 that has been omitted from
- this version include:
-
+
+ IMPORTANT: Shorewall 1.4.0 requires the
+ iproute package ('ip' utility).
+
+ Function from 1.3 that has been omitted from
+ this version include:
+
- - The MERGE_HOSTS variable in shorewall.conf
- is no longer supported. Shorewall 1.4 behavior is the same as
+
- The MERGE_HOSTS variable in shorewall.conf
+ is no longer supported. Shorewall 1.4 behavior is the same as
1.3 with MERGE_HOSTS=Yes.
+
+
+ - Interface names of the form <device>:<integer>
+ in /etc/shorewall/interfaces now generate an error.
+
+
+ - Shorewall 1.4 implements behavior consistent
+ with OLD_PING_HANDLING=No. OLD_PING_HANDLING=Yes will generate
+ an error at startup as will specification of the 'noping' or
+ 'filterping' interface options.
+
+
+ - The 'routestopped' option in the /etc/shorewall/interfaces
+ and /etc/shorewall/hosts files is no longer supported and will
+ generate an error at startup if specified.
+
+
+ - The Shorewall 1.2 syntax for DNAT and
+ REDIRECT rules is no longer accepted.
+
+
+ - The ALLOWRELATED variable in shorewall.conf
+ is no longer supported. Shorewall 1.4 behavior is the same
+as 1.3 with ALLOWRELATED=Yes.
- - Interface names of the form <device>:<integer>
- in /etc/shorewall/interfaces now generate an error.
-
+ - The icmp.def file has been removed.
- - Shorewall 1.4 implements behavior consistent
- with OLD_PING_HANDLING=No. OLD_PING_HANDLING=Yes will generate
- an error at startup as will specification of the 'noping' or
- 'filterping' interface options.
-
-
- - The 'routestopped' option in the /etc/shorewall/interfaces
- and /etc/shorewall/hosts files is no longer supported and will
- generate an error at startup if specified.
-
-
- - The Shorewall 1.2 syntax for DNAT and
-REDIRECT rules is no longer accepted.
-
-
- - The ALLOWRELATED variable in shorewall.conf
- is no longer supported. Shorewall 1.4 behavior is the same as
- 1.3 with ALLOWRELATED=Yes.
-
-
- - The icmp.def file has been removed.
-
-
+
- Changes for 1.4 include:
-
+ Changes for 1.4 include:
+
- - The /etc/shorewall/shorewall.conf file
-has been completely reorganized into logical sections.
+ - The /etc/shorewall/shorewall.conf file
+ has been completely reorganized into logical sections.
+
+
+ - LOG is now a valid action for a rule
+(/etc/shorewall/rules).
+
+
+ - The firewall script and version file
+are now installed in /usr/share/shorewall.
+
+
+ - Late arriving DNS replies are now silently
+ dropped in the common chain by default.
+
+
+ - In addition to behaving like OLD_PING_HANDLING=No,
+ Shorewall 1.4 no longer unconditionally accepts outbound ICMP
+ packets. So if you want to 'ping' from the firewall, you will
+need the appropriate rule or policy.
+
+
+ - CONTINUE is now a valid action for a rule
+(/etc/shorewall/rules).
+
+
+ - 802.11b devices with names of the form wlan<n>
+ now support the 'maclist' option.
+
+
+ - Explicit Congestion Notification (ECN - RFC
+ 3168) may now be turned off on a host or network basis using
+the new /etc/shorewall/ecn file. To use this facility:
+
+ a) You must be running kernel 2.4.20
+ b) You must have applied the patch in
+ http://www.shorewall/net/pub/shorewall/ecn/patch.
+ c) You must have iptables 1.2.7a installed.
+
+
+ - The /etc/shorewall/params file is now processed
+ first so that variables may be used in the /etc/shorewall/shorewall.conf
+ file.
+
+
+ - Shorewall now gives a more helpful
+ diagnostic when the 'ipchains' compatibility kernel module is loaded
+ and a 'shorewall start' command is issued.
- - LOG is now a valid action for a rule (/etc/shorewall/rules).
+ - The SHARED_DIR variable has been removed from
+ shorewall.conf. This variable was for use by package maintainers
+ and was not documented for general use.
- - The firewall script and version file are
- now installed in /usr/share/shorewall.
-
-
- - Late arriving DNS replies are now silently
- dropped in the common chain by default.
-
-
- - In addition to behaving like OLD_PING_HANDLING=No,
- Shorewall 1.4 no longer unconditionally accepts outbound ICMP
- packets. So if you want to 'ping' from the firewall, you will need
- the appropriate rule or policy.
-
-
- - CONTINUE is now a valid action for a rule (/etc/shorewall/rules).
-
-
- - 802.11b devices with names of the form wlan<n>
- now support the 'maclist' option.
-
-
- - Explicit Congestion Notification (ECN - RFC
-3168) may now be turned off on a host or network basis using the
-new /etc/shorewall/ecn file. To use this facility:
-
- a) You must be running kernel 2.4.20
- b) You must have applied the patch in
- http://www.shorewall/net/pub/shorewall/ecn/patch.
- c) You must have iptables 1.2.7a installed.
-
-
- - The /etc/shorewall/params file is now processed
- first so that variables may be used in the /etc/shorewall/shorewall.conf
- file.
-
-
- - Shorewall now gives a more helpful
-diagnostic when the 'ipchains' compatibility kernel module is loaded
-and a 'shorewall start' command is issued.
-
-
- - The SHARED_DIR variable has been removed from
-shorewall.conf. This variable was for use by package maintainers
-and was not documented for general use.
-
-
- - Shorewall now ignores 'default' routes when detecting
- masq'd networks.
-
+ - Shorewall now ignores 'default' routes when
+detecting masq'd networks.
+
-
+
3/10/2003 - Shoreall 1.3.14a
-
+
A roleup of the following bug fixes and other updates:
-
+
- - There is an updated rfc1918 file that reflects
-the resent allocation of 222.0.0.0/8 and 223.0.0.0/8.
-
-
-
-
- - The documentation for the routestopped file claimed
- that a comma-separated list could appear in the second column
- while the code only supported a single host or network address.
- - Log messages produced by 'logunclean' and 'dropunclean'
- were not rate-limited.
- - 802.11b devices with names of the form wlan<n>
- don't support the 'maclist' interface option.
- - Log messages generated by RFC 1918 filtering are
- not rate limited.
- - The firewall fails to start in the case where
-you have "eth0 eth1" in /etc/shorewall/masq and the default route
-is through eth1
-
-
+ There is an updated rfc1918 file that reflects
+ the resent allocation of 222.0.0.0/8 and 223.0.0.0/8.
+
+
+
+ - The documentation for the routestopped file
+claimed that a comma-separated list could appear in the second
+column while the code only supported a single host or network address.
+ - Log messages produced by 'logunclean' and 'dropunclean'
+ were not rate-limited.
+ - 802.11b devices with names of the form wlan<n>
+ don't support the 'maclist' interface option.
+ - Log messages generated by RFC 1918 filtering
+are not rate limited.
+ - The firewall fails to start in the case where
+ you have "eth0 eth1" in /etc/shorewall/masq and the default route
+ is through eth1
+
+
+
2/8/2003 - Shoreawall 1.3.14
-
+
New features include
-
-
- - An OLD_PING_HANDLING option has been
- added to shorewall.conf. When set to Yes, Shorewall ping
-handling is as it has always been (see http://www.shorewall.net/ping.html).
-
- When OLD_PING_HANDLING=No, icmp echo
- (ping) is handled via rules and policies just like any
-other connection request. The FORWARDPING=Yes option in shorewall.conf
- and the 'noping' and 'filterping' options in /etc/shorewall/interfaces
- will all generate an error.
-
-
- - It is now possible to direct Shorewall
- to create a "label" such as "eth0:0" for IP addresses that
- it creates under ADD_IP_ALIASES=Yes and ADD_SNAT_ALIASES=Yes.
- This is done by specifying the label instead of just the interface
- name:
-
- a) In the INTERFACE column of /etc/shorewall/masq
- b) In the INTERFACE column of /etc/shorewall/nat
-
- - Support for OpenVPN Tunnels.
-
-
- - Support for VLAN devices with names
- of the form $DEV.$VID (e.g., eth0.0)
-
-
- - In /etc/shorewall/tcrules, the MARK
-value may be optionally followed by ":" and either 'F' or 'P'
-to designate that the marking will occur in the FORWARD or PREROUTING
-chains respectively. If this additional specification is omitted,
-the chain used to mark packets will be determined by the setting
- of the MARK_IN_FORWARD_CHAIN option in shorewall.conf.
-
-
- - When an interface name is entered
-in the SUBNET column of the /etc/shorewall/masq file, Shorewall
- previously masqueraded traffic from only the first subnet defined
- on that interface. It did not masquerade traffic from:
-
- a) The subnets associated with other
- addresses on the interface.
- b) Subnets accessed through local
- routers.
-
- Beginning with Shorewall 1.3.14, if
-you enter an interface name in the SUBNET column, shorewall
-will use the firewall's routing table to construct the masquerading/SNAT
- rules.
-
- Example 1 -- This is how it works in
- 1.3.14.
-
-
-
-
-
- [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
-
-
-
- [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
-
-
-
-
- [root@gateway test]# shorewall start
...
Masqueraded Subnets and Hosts:
To 0.0.0.0/0 from 192.168.1.0/24 through eth0 using 206.124.146.176
To 0.0.0.0/0 from 192.168.10.0/24 through eth0 using 206.124.146.176
Processing /etc/shorewall/tos...
-
- When upgrading to Shorewall 1.3.14,
-if you have multiple local subnets connected to an interface
- that is specified in the SUBNET column of an /etc/shorewall/masq
- entry, your /etc/shorewall/masq file will need changing. In
- most cases, you will simply be able to remove redundant entries.
- In some cases though, you might want to change from using the interface
- name to listing specific subnetworks if the change described above
-will cause masquerading to occur on subnetworks that you don't wish
-to masquerade.
-
- Example 2 -- Suppose that your current
- config is as follows:
-
-
-
-
-
- [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
eth0 192.168.10.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
-
-
-
- [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
- In this case, the second entry in
- /etc/shorewall/masq is no longer required.
-
- Example 3 -- What if your current configuration
- is like this?
-
-
-
-
-
- [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
-
-
-
- [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
- In this case, you would want to
-change the entry in /etc/shorewall/masq to:
-
-
-
-
- #INTERFACE SUBNET ADDRESS
eth0 192.168.1.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
-
-
-
-
- 2/5/2003 - Shorewall Support included
-in Webmin 1.060
-
-Webmin version 1.060 now has Shorewall support included as standard. See
- http://www.webmin.com.
-
- 2/4/2003 - Shorewall 1.3.14-RC1
-Includes the Beta 2 content plus support for OpenVPN tunnels.
-
-1/28/2003 - Shorewall 1.3.14-Beta2
-
-Includes the Beta 1 content plus restores VLAN device names of the form
- $dev.$vid (e.g., eth0.1)
-
-1/25/2003 - Shorewall 1.3.14-Beta1
-
-
-
-The Beta includes the following changes:
-
-
-
- - An OLD_PING_HANDLING option has
- been added to shorewall.conf. When set to Yes, Shorewall
-ping handling is as it has always been (see http://www.shorewall.net/ping.html).
-
- When OLD_PING_HANDLING=No, icmp echo
- (ping) is handled via rules and policies just like any
+ - An OLD_PING_HANDLING option has
+been added to shorewall.conf. When set to Yes, Shorewall
+ping handling is as it has always been (see http://www.shorewall.net/ping.html).
+
+ When OLD_PING_HANDLING=No, icmp echo
+ (ping) is handled via rules and policies just like any
other connection request. The FORWARDPING=Yes option in shorewall.conf
- and the 'noping' and 'filterping' options in /etc/shorewall/interfaces
- will all generate an error.
-
-
- - It is now possible to direct
-Shorewall to create a "label" such as "eth0:0" for IP addresses
-that it creates under ADD_IP_ALIASES=Yes and ADD_SNAT_ALIASES=Yes.
- This is done by specifying the label instead of just the interface
+ and the 'noping' and 'filterping' options in /etc/shorewall/interfaces
+ will all generate an error.
+
+
+ - It is now possible to direct Shorewall
+ to create a "label" such as "eth0:0" for IP addresses that
+ it creates under ADD_IP_ALIASES=Yes and ADD_SNAT_ALIASES=Yes.
+ This is done by specifying the label instead of just the interface
name:
-
- a) In the INTERFACE column of /etc/shorewall/masq
- b) In the INTERFACE column of /etc/shorewall/nat
-
- - When an interface name is entered
- in the SUBNET column of the /etc/shorewall/masq file, Shorewall
- previously masqueraded traffic from only the first subnet
- defined on that interface. It did not masquerade traffic from:
-
- a) The subnets associated with other
- addresses on the interface.
- b) Subnets accessed through local
- routers.
-
- Beginning with Shorewall 1.3.14, if
-you enter an interface name in the SUBNET column, shorewall
-will use the firewall's routing table to construct the masquerading/SNAT
- rules.
-
- Example 1 -- This is how it works in
- 1.3.14.
-
+
+ a) In the INTERFACE column of
+/etc/shorewall/masq
+ b) In the INTERFACE column of
+/etc/shorewall/nat
+
+ - Support for OpenVPN Tunnels.
+
+
+ - Support for VLAN devices with names
+ of the form $DEV.$VID (e.g., eth0.0)
+
+
+ - In /etc/shorewall/tcrules, the MARK
+ value may be optionally followed by ":" and either 'F' or
+'P' to designate that the marking will occur in the FORWARD
+or PREROUTING chains respectively. If this additional specification
+ is omitted, the chain used to mark packets will be determined by
+the setting of the MARK_IN_FORWARD_CHAIN option in shorewall.conf.
+
+
+ - When an interface name is entered
+ in the SUBNET column of the /etc/shorewall/masq file, Shorewall
+ previously masqueraded traffic from only the first subnet
+defined on that interface. It did not masquerade traffic from:
+
+ a) The subnets associated with
+other addresses on the interface.
+ b) Subnets accessed through local
+ routers.
+
+ Beginning with Shorewall 1.3.14,
+if you enter an interface name in the SUBNET column, shorewall
+ will use the firewall's routing table to construct the masquerading/SNAT
+ rules.
+
+ Example 1 -- This is how it works
+in 1.3.14.
+
-
+
[root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
+
[root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
-
+
[root@gateway test]# shorewall start
...
Masqueraded Subnets and Hosts:
To 0.0.0.0/0 from 192.168.1.0/24 through eth0 using 206.124.146.176
To 0.0.0.0/0 from 192.168.10.0/24 through eth0 using 206.124.146.176
Processing /etc/shorewall/tos...
-
- When upgrading to Shorewall 1.3.14,
-if you have multiple local subnets connected to an interface
- that is specified in the SUBNET column of an /etc/shorewall/masq
- entry, your /etc/shorewall/masq file will need changing. In
- most cases, you will simply be able to remove redundant entries.
+
+ When upgrading to Shorewall 1.3.14,
+ if you have multiple local subnets connected to an interface
+ that is specified in the SUBNET column of an /etc/shorewall/masq
+ entry, your /etc/shorewall/masq file will need changing.
+In most cases, you will simply be able to remove redundant entries.
In some cases though, you might want to change from using the interface
- name to listing specific subnetworks if the change described above
-will cause masquerading to occur on subnetworks that you don't wish
+ name to listing specific subnetworks if the change described above
+ will cause masquerading to occur on subnetworks that you don't wish
to masquerade.
-
- Example 2 -- Suppose that your current
- config is as follows:
-
+
+ Example 2 -- Suppose that your current
+ config is as follows:
+
-
+
[root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
eth0 192.168.10.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
+
[root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
- In this case, the second entry in
- /etc/shorewall/masq is no longer required.
-
- Example 3 -- What if your current configuration
- is like this?
-
+
+ In this case, the second entry
+in /etc/shorewall/masq is no longer required.
+
+ Example 3 -- What if your current
+configuration is like this?
+
-
+
[root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
+
[root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
- In this case, you would want to
-change the entry in /etc/shorewall/masq to:
+
+ In this case, you would want to
+ change the entry in /etc/shorewall/masq to:
-
+
#INTERFACE SUBNET ADDRESS
eth0 192.168.1.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
+
+
+
+
+
+ 2/5/2003 - Shorewall Support included
+ in Webmin 1.060
+
+Webmin version 1.060 now has Shorewall support included as standard. See
+ http://www.webmin.com.
+
+ 2/4/2003 - Shorewall 1.3.14-RC1
+
+Includes the Beta 2 content plus support for OpenVPN tunnels.
+
+1/28/2003 - Shorewall 1.3.14-Beta2
-
+
+Includes the Beta 1 content plus restores VLAN device names of the form
+ $dev.$vid (e.g., eth0.1)
+
+
+1/25/2003 - Shorewall 1.3.14-Beta1
+
+
+
+The Beta includes the following changes:
+
+
+
+
+ - An OLD_PING_HANDLING option
+has been added to shorewall.conf. When set to Yes, Shorewall
+ ping handling is as it has always been (see http://www.shorewall.net/ping.html).
+
+ When OLD_PING_HANDLING=No, icmp echo
+ (ping) is handled via rules and policies just like any
+other connection request. The FORWARDPING=Yes option in shorewall.conf
+ and the 'noping' and 'filterping' options in /etc/shorewall/interfaces
+ will all generate an error.
+
+
+ - It is now possible to direct
+ Shorewall to create a "label" such as "eth0:0" for IP
+addresses that it creates under ADD_IP_ALIASES=Yes and ADD_SNAT_ALIASES=Yes.
+ This is done by specifying the label instead of just the interface
+ name:
+
+ a) In the INTERFACE column of
+/etc/shorewall/masq
+ b) In the INTERFACE column of
+/etc/shorewall/nat
+
+ - When an interface name is entered
+ in the SUBNET column of the /etc/shorewall/masq file, Shorewall
+ previously masqueraded traffic from only the first subnet
+ defined on that interface. It did not masquerade traffic from:
+
+ a) The subnets associated with
+other addresses on the interface.
+ b) Subnets accessed through local
+ routers.
+
+ Beginning with Shorewall 1.3.14,
+if you enter an interface name in the SUBNET column, shorewall
+ will use the firewall's routing table to construct the masquerading/SNAT
+ rules.
+
+ Example 1 -- This is how it works
+in 1.3.14.
+
+
+
+
+
+ [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+
+
+
+ [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
+
+
+
+
+ [root@gateway test]# shorewall start
...
Masqueraded Subnets and Hosts:
To 0.0.0.0/0 from 192.168.1.0/24 through eth0 using 206.124.146.176
To 0.0.0.0/0 from 192.168.10.0/24 through eth0 using 206.124.146.176
Processing /etc/shorewall/tos...
+
+ When upgrading to Shorewall 1.3.14,
+ if you have multiple local subnets connected to an interface
+ that is specified in the SUBNET column of an /etc/shorewall/masq
+ entry, your /etc/shorewall/masq file will need changing.
+In most cases, you will simply be able to remove redundant entries.
+ In some cases though, you might want to change from using the interface
+ name to listing specific subnetworks if the change described above
+ will cause masquerading to occur on subnetworks that you don't wish
+to masquerade.
+
+ Example 2 -- Suppose that your current
+ config is as follows:
+
+
+
+
+
+ [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
eth0 192.168.10.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+
+
+
+ [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
+
+ In this case, the second entry
+in /etc/shorewall/masq is no longer required.
+
+ Example 3 -- What if your current
+configuration is like this?
+
+
+
+
+
+ [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+
+
+
+ [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
+
+ In this case, you would want to
+ change the entry in /etc/shorewall/masq to:
+
+
+
+
+ #INTERFACE SUBNET ADDRESS
eth0 192.168.1.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+
+
-
+
1/18/2003 - Shorewall 1.3.13 Documentation in PDF Format
-
+
Juraj Ontkanin has produced a PDF containing the Shorewall 1.3.13 documenation.
- the PDF may be downloaded from
+ the PDF may be downloaded from
- ftp://slovakia.shorewall.net/mirror/shorewall/pdf/
- http://slovakia.shorewall.net/pub/shorewall/pdf/
-
+
1/17/2003 - shorewall.net has MOVED
-
+
Thanks to the generosity of Alex Martin and Rett Consulting, www.shorewall.net and ftp.shorewall.net
are now hosted on a system in Bellevue, Washington. A big thanks to Alex
for making this happen.
-
+
-
+
1/13/2003 - Shorewall 1.3.13
-
+
-
+
Just includes a few things that I had on the burner:
-
+
-
+
- - A new 'DNAT-' action has
-been added for entries in the /etc/shorewall/rules file.
-DNAT- is intended for advanced users who wish to minimize the
-number of rules that connection requests must traverse.
-
- A Shorewall DNAT rule actually
-generates two iptables rules: a header rewriting rule
+ - A new 'DNAT-' action has
+ been added for entries in the /etc/shorewall/rules file.
+ DNAT- is intended for advanced users who wish to minimize the
+ number of rules that connection requests must traverse.
+
+ A Shorewall DNAT rule actually
+ generates two iptables rules: a header rewriting rule
in the 'nat' table and an ACCEPT rule in the 'filter' table.
A DNAT- rule only generates the first of these rules. This
is handy when you have several DNAT rules that would generate the
same ACCEPT rule.
-
- Here are three rules from my
-previous rules file:
-
- DNAT net dmz:206.124.146.177
- tcp smtp - 206.124.146.178
- DNAT net dmz:206.124.146.177
- tcp smtp - 206.124.146.179
- ACCEPT net dmz:206.124.146.177
- tcp www,smtp,ftp,...
-
- These three rules ended up generating
- _three_ copies of
-
- ACCEPT net dmz:206.124.146.177
- tcp smtp
-
- By writing the rules this way,
- I end up with only one copy of the ACCEPT rule.
-
- DNAT- net dmz:206.124.146.177
- tcp smtp - 206.124.146.178
- DNAT- net dmz:206.124.146.177
- tcp smtp - 206.124.146.179
- ACCEPT net dmz:206.124.146.177
- tcp www,smtp,ftp,....
-
-
- - The 'shorewall check' command
- now prints out the applicable policy between each pair
-of zones.
-
-
- - A new CLEAR_TC option has
-been added to shorewall.conf. If this option is set to 'No'
-then Shorewall won't clear the current traffic control rules
- during [re]start. This setting is intended for use by people
-that prefer to configure traffic shaping when the network interfaces
+
+ Here are three rules from
+my previous rules file:
+
+ DNAT net dmz:206.124.146.177
+ tcp smtp - 206.124.146.178
+ DNAT net dmz:206.124.146.177
+ tcp smtp - 206.124.146.179
+ ACCEPT net dmz:206.124.146.177
+ tcp www,smtp,ftp,...
+
+ These three rules ended up
+generating _three_ copies of
+
+ ACCEPT net dmz:206.124.146.177
+ tcp smtp
+
+ By writing the rules this
+way, I end up with only one copy of the ACCEPT rule.
+
+ DNAT- net dmz:206.124.146.177
+ tcp smtp - 206.124.146.178
+ DNAT- net dmz:206.124.146.177
+ tcp smtp - 206.124.146.179
+ ACCEPT net dmz:206.124.146.177
+ tcp www,smtp,ftp,....
+
+
+ - The 'shorewall check' command
+ now prints out the applicable policy between each pair
+ of zones.
+
+
+ - A new CLEAR_TC option has
+ been added to shorewall.conf. If this option is set to
+'No' then Shorewall won't clear the current traffic control
+ rules during [re]start. This setting is intended for use by people
+ that prefer to configure traffic shaping when the network interfaces
come up rather than when the firewall is started. If that is what
you want to do, set TC_ENABLED=Yes and CLEAR_TC=No and do not supply
an /etc/shorewall/tcstart file. That way, your traffic shaping
rules can still use the 'fwmark' classifier based on packet marking
defined in /etc/shorewall/tcrules.
-
-
- - A new SHARED_DIR variable
-has been added that allows distribution packagers to easily
-move the shared directory (default /usr/lib/shorewall). Users
-should never have a need to change the value of this shorewall.conf
- setting.
-
+
+
+ - A new SHARED_DIR variable
+ has been added that allows distribution packagers to easily
+ move the shared directory (default /usr/lib/shorewall). Users
+ should never have a need to change the value of this shorewall.conf
+ setting.
+
-
+
-
+
1/6/2003 - BURNOUT
-
+
Until further notice, I will not be involved in either Shorewall Development
- or Shorewall Support
+ or Shorewall Support
-
+
-Tom Eastep
-
+
-
+
12/30/2002 - Shorewall Documentation in PDF Format
-
+
Juraj Ontkanin has produced a PDF containing the Shorewall 1.3.12 documenation.
- the PDF may be downloaded from
+ the PDF may be downloaded from
-
+
ftp://slovakia.shorewall.net/mirror/shorewall/pdf/
- http://slovakia.shorewall.net/pub/shorewall/pdf/
-
+
-
+
12/27/2002 - Shorewall 1.3.12 Released
-
+
Features include:
-
+
-
+
- - "shorewall refresh" now
- reloads the traffic shaping rules (tcrules and tcstart).
- - "shorewall debug [re]start"
- now turns off debugging after an error occurs. This
- places the point of the failure near the end of the trace
+
- "shorewall refresh"
+now reloads the traffic shaping rules (tcrules and
+tcstart).
+ - "shorewall debug [re]start"
+ now turns off debugging after an error occurs. This
+ places the point of the failure near the end of the trace
rather than up in the middle of it.
- - "shorewall [re]start"
-has been speeded up by more than 40% with my configuration.
- Your milage may vary.
- - A "shorewall show classifiers"
- command has been added which shows the current packet
- classification filters. The output from this command is
- also added as a separate page in "shorewall monitor"
- - ULOG (must be all caps)
- is now accepted as a valid syslog level and causes
+
- "shorewall [re]start"
+ has been speeded up by more than 40% with my configuration.
+ Your milage may vary.
+ - A "shorewall show classifiers"
+ command has been added which shows the current packet
+ classification filters. The output from this command is
+ also added as a separate page in "shorewall monitor"
+ - ULOG (must be all caps)
+ is now accepted as a valid syslog level and causes
the subject packets to be logged using the ULOG target rather
than the LOG target. This allows you to run ulogd (available
- from http://www.gnumonks.org/projects/ulogd)
- and log all Shorewall messages http://www.gnumonks.org/projects/ulogd)
+ and log all Shorewall messages to a separate log file.
- - If you are running a kernel
- that has a FORWARD chain in the mangle table ("shorewall
- show mangle" will show you the chains in the mangle table),
- you can set MARK_IN_FORWARD_CHAIN=Yes in shorewall.conf. This allows for
-marking input packets based on their destination even when you
- are using Masquerading or SNAT.
- - I have cluttered up the
- /etc/shorewall directory with empty 'init', 'start',
- 'stop' and 'stopped' files. If you already have a file with
- one of these names, don't worry -- the upgrade process won't
- overwrite your file.
- - I have added a new RFC1918_LOG_LEVEL
- variable to shorewall.conf.
- This variable specifies the syslog level at which packets
- are logged as a result of entries in the /etc/shorewall/rfc1918
- file. Previously, these packets were always logged at the 'info'
- level.
-
+ - If you are running a
+kernel that has a FORWARD chain in the mangle table
+("shorewall show mangle" will show you the chains in the mangle
+ table), you can set MARK_IN_FORWARD_CHAIN=Yes in shorewall.conf. This allows for
+ marking input packets based on their destination even when
+you are using Masquerading or SNAT.
+ - I have cluttered up
+the /etc/shorewall directory with empty 'init',
+'start', 'stop' and 'stopped' files. If you already have a
+ file with one of these names, don't worry -- the upgrade
+process won't overwrite your file.
+ - I have added a new RFC1918_LOG_LEVEL
+ variable to shorewall.conf.
+ This variable specifies the syslog level at which packets
+ are logged as a result of entries in the /etc/shorewall/rfc1918
+ file. Previously, these packets were always logged at the
+'info' level.
+
-
+
-
+
12/20/2002 - Shorewall 1.3.12 Beta 3
-
- This version corrects a problem
- with Blacklist logging. In Beta 2, if BLACKLIST_LOG_LEVEL
- was set to anything but ULOG, the firewall would fail to start
- and "shorewall refresh" would also fail.
+
+ This version corrects a problem
+ with Blacklist logging. In Beta 2, if BLACKLIST_LOG_LEVEL
+ was set to anything but ULOG, the firewall would fail to
+start and "shorewall refresh" would also fail.
-
+
12/20/2002 - Shorewall 1.3.12 Beta 2
-
+
The first public Beta version of Shorewall 1.3.12 is now available (Beta
- 1 was made available only to a limited audience).
-
- Features include:
+ 1 was made available only to a limited audience).
+
+ Features include:
-
+
- - "shorewall refresh"
- now reloads the traffic shaping rules (tcrules and
- tcstart).
- - "shorewall debug
-[re]start" now turns off debugging after an error
- occurs. This places the point of the failure near the end of
- the trace rather than up in the middle of it.
- - "shorewall [re]start"
- has been speeded up by more than 40% with my configuration.
- Your milage may vary.
- - A "shorewall show
-classifiers" command has been added which shows the
-current packet classification filters. The output from this
- command is also added as a separate page in "shorewall monitor"
- - ULOG (must be all
-caps) is now accepted as a valid syslog level and causes
-the subject packets to be logged using the ULOG target rather
- than the LOG target. This allows you to run ulogd (available from
- http://www.gnumonks.org/projects/ulogd)
- and log all Shorewall messages "shorewall refresh"
+ now reloads the traffic shaping rules (tcrules and
+ tcstart).
+ - "shorewall debug
+ [re]start" now turns off debugging after an error
+ occurs. This places the point of the failure near the end
+of the trace rather than up in the middle of it.
+ - "shorewall [re]start"
+ has been speeded up by more than 40% with my configuration.
+ Your milage may vary.
+ - A "shorewall show
+ classifiers" command has been added which shows the
+ current packet classification filters. The output from this
+ command is also added as a separate page in "shorewall monitor"
+ - ULOG (must be all
+ caps) is now accepted as a valid syslog level and causes
+ the subject packets to be logged using the ULOG target rather
+ than the LOG target. This allows you to run ulogd (available
+from http://www.gnumonks.org/projects/ulogd)
+ and log all Shorewall messages to a separate log file.
- - If you are running
- a kernel that has a FORWARD chain in the mangle table
- ("shorewall show mangle" will show you the chains in the
-mangle table), you can set MARK_IN_FORWARD_CHAIN=Yes in shorewall.conf.
- This allows for marking input packets based on their destination
- even when you are using Masquerading or SNAT.
- - I have cluttered
-up the /etc/shorewall directory with empty 'init',
- 'start', 'stop' and 'stopped' files. If you already have a
+
- If you are running
+ a kernel that has a FORWARD chain in the mangle table
+ ("shorewall show mangle" will show you the chains in the
+ mangle table), you can set MARK_IN_FORWARD_CHAIN=Yes in shorewall.conf.
+ This allows for marking input packets based on their destination
+ even when you are using Masquerading or SNAT.
+ - I have cluttered
+ up the /etc/shorewall directory with empty 'init',
+ 'start', 'stop' and 'stopped' files. If you already have a
file with one of these names, don't worry -- the upgrade process
won't overwrite your file.
-
+
- You may download the Beta
- from:
+ You may download the
+Beta from:
-
+
http://www.shorewall.net/pub/shorewall/Beta
- ftp://ftp.shorewall.net/pub/shorewall/Beta
-
+
-
+
12/12/2002 - Mandrake Multi Network Firewall
-
- Shorewall is at the
-center of MandrakeSoft's recently-announced
+ Shorewall is at the
+ center of MandrakeSoft's recently-announced Multi
- Network Firewall (MNF) product. Here is the
- product. Here is the
+ press
- release.
+ release.
-
+
12/7/2002 - Shorewall Support for Mandrake 9.0
-
+
Two months and 3 days after I ordered Mandrake 9.0, it was finally delivered.
- I have installed 9.0 on one of my systems and
+ I have installed 9.0 on one of my systems and
I am now in a position to support Shorewall users who
run Mandrake 9.0.
-
+
12/6/2002 - Debian 1.3.11a Packages Available
-
-
+
+
+
+
Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
+
12/3/2002 - Shorewall 1.3.11a
-
+
This is a bug-fix roll up which includes Roger Aich's fix for DNAT with
- excluded subnets (e.g., "DNAT foo!bar ...").
+ excluded subnets (e.g., "DNAT foo!bar ...").
Current 1.3.11 users who don't need rules of this
type need not upgrade to 1.3.11.
-
+
11/24/2002 - Shorewall 1.3.11
-
+
In this version:
-
+
- - A 'tcpflags'
- option has been added to entries in A 'tcpflags'
+ option has been added to entries in /etc/shorewall/interfaces.
This option causes Shorewall to make a set of sanity check on TCP
packet header flags.
- - It is now
-allowed to use 'all' in the SOURCE or DEST column in
- a rule. When used,
- 'all' must appear by itself (in may not be qualified) and it does
+
- It is now
+ allowed to use 'all' in the SOURCE or DEST column
+in a rule. When used,
+ 'all' must appear by itself (in may not be qualified) and it does
not enable intra-zone traffic. For example, the rule
-
- ACCEPT loc all
- tcp 80
-
- does not enable
-http traffic from 'loc' to 'loc'.
- - Shorewall's
- use of the 'echo' command is now compatible with bash
- clones such as ash and dash.
- - fw->fw
-policies now generate a startup error. fw->fw rules
- generate a warning and are ignored
+
+ ACCEPT loc
+all tcp 80
+
+ does not enable
+ http traffic from 'loc' to 'loc'.
+ - Shorewall's
+ use of the 'echo' command is now compatible with
+bash clones such as ash and dash.
+ - fw->fw
+ policies now generate a startup error. fw->fw
+rules generate a warning and are ignored
-
+
-
+
11/14/2002 - Shorewall Documentation in PDF Format
-
+
Juraj Ontkanin has produced a PDF containing the Shorewall 1.3.10 documenation.
- the PDF may be downloaded from
+ the PDF may be downloaded from
-
+
ftp://slovakia.shorewall.net/mirror/shorewall/pdf/
- http://slovakia.shorewall.net/pub/shorewall/pdf/
-
+
-
+
11/09/2002 - Shorewall is Back at SourceForge
-
+
The main Shorewall 1.3 web site is now back at SourceForge at http://shorewall.sf.net.
-
+
+
+
+
+11/09/2002 - Shorewall 1.3.10
+
+
+In this version:
+
+
+
+ - You may
+ now define the contents of
+a zone dynamically with the "shorewall add" and
+ "shorewall delete" commands. These commands are
+ expected to be used primarily within FreeS/Wan updown
+ scripts.
+ - Shorewall
+ can now do MAC verification
+ on ethernet segments. You can specify the set of allowed MAC addresses
+ on the segment and you can optionally tie each MAC address to
+ one or more IP addresses.
+ - PPTP
+Servers and Clients running on the firewall system
+ may now be defined in the /etc/shorewall/tunnels
+ file.
+ - A new
+'ipsecnat' tunnel type is supported for use when the
+ remote IPSEC endpoint is behind
+ a NAT gateway.
+ - The PATH
+ used by Shorewall may now be specified in /etc/shorewall/shorewall.conf.
+ - The main
+ firewall script is now /usr/lib/shorewall/firewall.
+ The script in /etc/init.d/shorewall is very small and uses
+ /sbin/shorewall to do the real work. This change makes
+ custom distributions such as for Debian and for Gentoo
+ easier to manage since it is /etc/init.d/shorewall that
+ tends to have distribution-dependent code
+
+
+
+
+
+10/24/2002 - Shorewall is now in Gentoo Linux
+
+ Alexandru
+Hartmann reports that his Shorewall package is now
+ a part of the Gentoo Linux distribution.
+ Thanks Alex!
+
+
+10/23/2002 - Shorewall 1.3.10 Beta 1
+ In this
+version:
-11/09/2002 - Shorewall 1.3.10
-
-
-In this version:
-
-
-
-
-10/24/2002 - Shorewall is now in Gentoo Linux
-
- Alexandru Hartmann
- reports that his Shorewall package is now a part
- of the Gentoo Linux distribution.
- Thanks Alex!
-
-
-10/23/2002 - Shorewall 1.3.10 Beta 1
- In this version:
-
-
-
- You may download
- the Beta from:
-
-
-
-
-
-10/10/2002 - Debian 1.3.9b Packages Available
-
-
-
-Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
-
-10/9/2002 - Shorewall 1.3.9b
- This release
- rolls up fixes to the installer and to the firewall
- script.
+ The
+main firewall script is now /usr/lib/shorewall/firewall.
+ The script in /etc/init.d/shorewall is very small and
+uses /sbin/shorewall to do the real work. This change
+makes custom distributions such as for Debian and
+for Gentoo easier to manage since it is /etc/init.d/shorewall
+ that tends to have distribution-dependent code.
-10/6/2002 - Shorewall.net now running on RH8.0
-
- The firewall
- and server here at shorewall.net are now running
-RedHat release 8.0.
-
-
- 9/30/2002
-- Shorewall 1.3.9a
- Roles up
-the fix for broken tunnels.
-
-
-9/30/2002 - TUNNELS Broken in 1.3.9!!!
- There is
-an updated firewall script at ftp://www.shorewall.net/pub/shorewall/errata/1.3.9/firewall
- -- copy that file to /usr/lib/shorewall/firewall.
-
-
-9/28/2002 - Shorewall 1.3.9
-
-
-In this version:
-
-
-
-
- - DNS Names are
-now allowed in Shorewall config files (although I recommend against
- using them).
- - The
- connection SOURCE may now be qualified by both interface
- and IP address in a Shorewall rule.
- - Shorewall
- startup is now disabled after initial installation
- until the file /etc/shorewall/startup_disabled is removed.
- This avoids nasty surprises during reboot for users
- who install Shorewall but don't configure it.
- - The
- 'functions' and 'version' files and the 'firewall'
- symbolic link have been moved from /var/lib/shorewall
- to /usr/lib/shorewall to appease the LFS police
-at Debian.
-
-
-
-
-
-9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability
- Restored
-
-
-
-
-
-A couple of recent configuration changes at www.shorewall.net
- broke the Search facility:
-
-
-
-
-
-
-
-
-
- - Mailing List Archive Search was not available.
-
- - The Site Search index was incomplete
-
- - Only one page of matches was presented.
-
-
-
-
-
-
-
-
- Hopefully these problems are now corrected.
-
-9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability
- Restored
-
- A
-couple of recent configuration changes at www.shorewall.net
- had the negative effect of breaking the Search
- facility:
+ You may
+download the Beta from:
-
-
- - Mailing List Archive Search was not available.
-
- - The Site Search index was incomplete
-
- - Only one page of matches was presented.
-
-
-
- Hopefully
- these problems are now corrected.
-
-
-9/18/2002 - Debian 1.3.8 Packages Available
-
-
-
-Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
-
-9/16/2002 - Shorewall 1.3.8
-
-
-
-In this version:
-
-
-
-
-
+ - http://www.shorewall.net/pub/shorewall/Beta
+ - ftp://ftp.shorewall.net/pub/shorewall/Beta
- - A NEWNOTSYN option
- has been added to shorewall.conf. This option determines whether
- Shorewall accepts TCP packets which are not part
- of an established connection and that are not 'SYN'
- packets (SYN flag on and ACK flag off).
-
- - The need for the 'multi' option to communicate
- between zones za and zb on the same interface
-is removed in the case where the chain 'za2zb' and/or 'zb2za'
- exists. 'za2zb' will exist if:
-
-
-
-
-
-
-
- - There is a policy for za to zb; or
-
-
- - There is at least one rule for za to zb.
-
-
-
-
-
-
-
-
+
-
-
-
-
- - The /etc/shorewall/blacklist file now contains
- three columns. In addition to the SUBNET/ADDRESS
- column, there are optional PROTOCOL and PORT columns to
-block only certain applications from the blacklisted addresses.
-
-
-
-
-
-
-
-
-
-9/11/2002 - Debian 1.3.7c Packages Available
-
-
-
-Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
-
-
-9/2/2002 - Shorewall 1.3.7c
-
-
-
-This is a role up of a fix for "DNAT" rules where the source zone is $FW
- (fw).
-
-
-
-8/31/2002 - I'm not available
-
-
-
-I'm currently on vacation -- please respect my need for a couple of
-weeks free of Shorewall problem reports.
-
-
-
--Tom
-
-
-
-8/26/2002 - Shorewall 1.3.7b
-
-
-
-This is a role up of the "shorewall refresh" bug fix and the change which
- reverses the order of "dhcp" and "norfc1918"
- checking.
-
-
-
-8/26/2002 - French FTP Mirror is Operational
-
-
-
-ftp://france.shorewall.net/pub/mirrors/shorewall
- is now available.
-
-
-
-8/25/2002 - Shorewall Mirror in France
-
-
-
-Thanks to a Shorewall user in Paris, the Shorewall web site is now mirrored
- at http://france.shorewall.net.
-
-
-
-8/25/2002 - Shorewall 1.3.7a Debian Packages Available
-
-
-
-Lorenzo Martignoni reports that the packages for version 1.3.7a are available
- at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
-
-
-8/22/2002 - Shorewall 1.3.7 Wins a Brown Paper Bag Award for its Author
- -- Shorewall 1.3.7a released
+
+
10/10/2002 - Debian 1.3.9b Packages Available
-
+
+Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
+
+
+10/9/2002 - Shorewall 1.3.9b
+ This release
+ rolls up fixes to the installer and to the firewall
+ script.
+
+
+10/6/2002 - Shorewall.net now running on RH8.0
+
+ The firewall
+ and server here at shorewall.net are now running
+ RedHat release 8.0.
+
+
+ 9/30/2002
+ - Shorewall 1.3.9a
+ Roles
+up the fix for broken tunnels.
+
+
+9/30/2002 - TUNNELS Broken in 1.3.9!!!
+ There
+is an updated firewall script at ftp://www.shorewall.net/pub/shorewall/errata/1.3.9/firewall
+ -- copy that file to /usr/lib/shorewall/firewall.
+
+
+9/28/2002 - Shorewall 1.3.9
+
+
+In this version:
+
+
+
+
+
+ - DNS Names
+ are now allowed in Shorewall config files (although I recommend against
+ using them).
+
+ - The connection SOURCE may now be qualified by
+ both interface and IP address in a Shorewall rule.
+
+ - Shorewall startup is now disabled after initial
+ installation until the file /etc/shorewall/startup_disabled
+ is removed. This avoids nasty surprises during
+reboot for users who install Shorewall but don't configure
+it.
+ - The
+ 'functions' and 'version' files and the 'firewall'
+ symbolic link have been moved from /var/lib/shorewall
+ to /usr/lib/shorewall to appease the LFS police
+at Debian.
+
+
+
+
+
+
+9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability
+ Restored
+
+
+
+
+
+ A couple of recent configuration changes at www.shorewall.net
+ broke the Search facility:
+
+
+
+
+
+
+
+
+
+ - Mailing List Archive Search was not available.
+
+ - The Site Search index was incomplete
+
+ - Only one page of matches was presented.
+
+
+
+
+
+
+
+
+ Hopefully these problems are now corrected.
+
+9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability
+ Restored
+
+
+
+A couple of recent configuration changes at www.shorewall.net
+ had the negative effect of breaking the Search
+ facility:
+
+
+
+
+ - Mailing List Archive Search was not available.
+
+ - The Site Search index was incomplete
+
+ - Only one page of matches was presented.
+
+
+
+
+Hopefully these problems are now corrected.
+
+
+9/18/2002 - Debian 1.3.8 Packages Available
+
+
+
+
+
+Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
+
+
+
+9/16/2002 - Shorewall 1.3.8
+
+
+
+In this version:
+
+
+
+
+
+
+
+ - A NEWNOTSYN
+ option has been added to shorewall.conf. This option determines
+ whether Shorewall accepts TCP packets which
+are not part of an established connection and that
+are not 'SYN' packets (SYN flag on and ACK flag off).
+
+ - The need for the 'multi' option to communicate
+ between zones za and zb on the same interface
+ is removed in the case where the chain 'za2zb' and/or
+'zb2za' exists. 'za2zb' will exist if:
+
+
+
+
+
+
+
+ - There is a policy for za to zb; or
+
+
+ - There is at least one rule for za to
+zb.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - The /etc/shorewall/blacklist file now contains
+ three columns. In addition to the SUBNET/ADDRESS
+ column, there are optional PROTOCOL and PORT columns to
+ block only certain applications from the blacklisted addresses.
+
+
+
+
+
+
+
+
+
+9/11/2002 - Debian 1.3.7c Packages Available
+
+
+
+Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
+
+
+
+9/2/2002 - Shorewall 1.3.7c
+
+
+
+This is a role up of a fix for "DNAT" rules where the source zone is $FW
+ (fw).
+
+
+
+8/31/2002 - I'm not available
+
+
+
+I'm currently on vacation -- please respect my need for a couple of
+weeks free of Shorewall problem reports.
+
+
+
+-Tom
+
+
+
+8/26/2002 - Shorewall 1.3.7b
+
+
+
+This is a role up of the "shorewall refresh" bug fix and the change which
+ reverses the order of "dhcp" and
+"norfc1918" checking.
+
+
+
+8/26/2002 - French FTP Mirror is Operational
+
+
+
+ftp://france.shorewall.net/pub/mirrors/shorewall
+ is now available.
+
+
+
+8/25/2002 - Shorewall Mirror in France
+
+
+
+Thanks to a Shorewall user in Paris, the Shorewall web site is now mirrored
+ at http://france.shorewall.net.
+
+
+
+8/25/2002 - Shorewall 1.3.7a Debian Packages Available
+
+
+
+Lorenzo Martignoni reports that the packages for version 1.3.7a are available
+ at http://security.dsi.unimi.it/~lorenzo/debian.html.
+
+
+
+8/22/2002 - Shorewall 1.3.7 Wins a Brown Paper Bag Award for its Author
+ -- Shorewall 1.3.7a released
+
+
+
+
+
1.3.7a corrects problems occurring in rules file processing when starting
- Shorewall 1.3.7.
+ Shorewall 1.3.7.
-
+
8/22/2002 - Shorewall 1.3.7 Released 8/13/2002
-
+
Features in this release include:
-
+
- - The 'icmp.def' file is now empty! The rules
- in that file were required in ipchains firewalls
- but are not required in Shorewall. Users who have
- ALLOWRELATED=No in shorewall.conf
- should see the Upgrade Issues.
+ - The 'icmp.def' file is now empty! The rules
+ in that file were required in ipchains firewalls
+ but are not required in Shorewall. Users who have
+ ALLOWRELATED=No in shorewall.conf
+ should see the Upgrade
+Issues.
- - A 'FORWARDPING' option has been added to
- shorewall.conf.
+
- A 'FORWARDPING' option has been added to
+ shorewall.conf.
The effect of setting this variable to Yes is
-the same as the effect of adding an ACCEPT rule
- for ICMP echo-request in /etc/shorewall/icmpdef.
Users who have such a rule in icmpdef are
encouraged to switch to FORWARDPING=Yes.
- - The loopback CLASS A Network (127.0.0.0/8)
- has been added to the rfc1918 file.
+ - The loopback CLASS A Network (127.0.0.0/8)
+ has been added to the rfc1918 file.
- - Shorewall now works with iptables 1.2.7
+ - Shorewall now works with iptables 1.2.7
- - The documentation and web site no longer
-uses FrontPage themes.
+ - The documentation and web site no longer
+ uses FrontPage themes.
-
+
-
+
I would like to thank John Distler for his valuable input regarding TCP
- SYN and ICMP treatment in Shorewall.
- That input has led to marked improvement in
- Shorewall in the last two releases.
+ SYN and ICMP treatment in Shorewall.
+ That input has led to marked improvement in
+ Shorewall in the last two releases.
-
+
8/13/2002 - Documentation in the CVS Repository
-
+
The Shorewall-docs project now contains just the HTML and image files
- the Frontpage files have been removed.
-
+
8/7/2002 - STABLE branch added to CVS Repository
-
+
This branch will only be updated after I release a new version of Shorewall
- so you can always update from this
-branch to get the latest stable tree.
+ so you can always update from this
+ branch to get the latest stable tree.
-
+
8/7/2002 - Upgrade Issues section
added to the Errata Page
-
+
Now there is one place to go to look for issues involved with upgrading
- to recent versions of Shorewall.
+ to recent versions of Shorewall.
-
+
8/7/2002 - Shorewall 1.3.6
-
+
This is primarily a bug-fix rollup with a couple of new features:
-
+
-
+
7/30/2002 - Shorewall 1.3.5b Released
-
+
This interim release:
-
+
-
+
7/29/2002 - New Shorewall Setup Guide Available
-
+
The first draft of this guide is available at http://www.shorewall.net/shorewall_setup_guide.htm.
- The guide is intended for use by people
- who are setting up Shorewall to manage multiple
- public IP addresses and by people who want to learn
- more about Shorewall than is described in the single-address
- guides. Feedback on the new guide is welcome.
+ The guide is intended for use by
+people who are setting up Shorewall to manage
+multiple public IP addresses and by people who want
+to learn more about Shorewall than is described in the
+ single-address guides. Feedback on the new guide is
+welcome.
-
+
7/28/2002 - Shorewall 1.3.5 Debian Package Available
-
+
Lorenzo Martignoni reports that the packages are version 1.3.5a and are
- available at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
+
7/27/2002 - Shorewall 1.3.5a Released
-
+
This interim release restores correct handling of REDIRECT rules.
-
+
7/26/2002 - Shorewall 1.3.5 Released
-
+
This will be the last Shorewall release for a while. I'm going to be
focusing on rewriting a lot of the documentation.
-
+
In this version:
-
+
- - Empty and invalid source and destination
- qualifiers are now detected in the rules file.
-It is a good idea to use the 'shorewall check' command
- before you issue a 'shorewall restart' command be be
-sure that you don't have any configuration problems
- that will prevent a successful restart.
+ - Empty and invalid source and destination
+ qualifiers are now detected in the rules file.
+ It is a good idea to use the 'shorewall check' command
+ before you issue a 'shorewall restart' command be be
+ sure that you don't have any configuration problems
+ that will prevent a successful restart.
- - Added MERGE_HOSTS variable in
- shorewall.conf to
-provide saner behavior of the /etc/shorewall/hosts
- file.
+ - Added MERGE_HOSTS variable in
+ shorewall.conf
+to provide saner behavior of the /etc/shorewall/hosts
+ file.
- - The time that the counters were last reset
- is now displayed in the heading of the 'status'
- and 'show' commands.
+ - The time that the counters were last reset
+ is now displayed in the heading of the 'status'
+ and 'show' commands.
- - A proxyarp option has been added
- for entries in A proxyarp option has been
+added for entries in /etc/shorewall/interfaces.
This option facilitates Proxy ARP sub-netting as described
- in the Proxy ARP subnetting mini-HOWTO (http://www.tldp.org/HOWTO/mini/Proxy-ARP-Subnet/).
- Specifying the proxyarp option for
- an interface causes Shorewall to set /proc/sys/net/ipv4/conf/<interface>/proxy_arp.
+ Specifying the proxyarp option
+for an interface causes Shorewall to set
+ /proc/sys/net/ipv4/conf/<interface>/proxy_arp.
- - The Samples have been updated to reflect
-the new capabilities in this release.
+ - The Samples have been updated to reflect
+ the new capabilities in this release.
-
+
-
+
7/16/2002 - New Mirror in Argentina
-
+
Thanks to Arturo "Buanzo" Busleiman, there is now a Shorewall mirror in
- Argentina. Thanks Buanzo!!!
+ Argentina. Thanks Buanzo!!!
-
+
7/16/2002 - Shorewall 1.3.4 Released
-
+
In this version:
-
+
- - A new /etc/shorewall/routestopped
- file has been added. This file is intended
- to eventually replace the routestopped
- option in the /etc/shorewall/interface and /etc/shorewall/hosts
- files. This new file makes remote firewall
- administration easier by allowing any IP or subnet to be
- enabled while Shorewall is stopped.
+ - A new
+ /etc/shorewall/routestopped file
+has been added. This file is intended to eventually
+ replace the routestopped option in the
+ /etc/shorewall/interface and /etc/shorewall/hosts
+ files. This new file makes remote firewall administration
+ easier by allowing any IP or subnet to be enabled
+ while Shorewall is stopped.
- - An /etc/shorewall/stopped An /etc/shorewall/stopped extension script has been
- added. This script is invoked after Shorewall
- has stopped.
+ added. This script is invoked after Shorewall
+ has stopped.
- - A DETECT_DNAT_ADDRS option has
- been added to /etc/shoreall/shorewall.conf.
- When this option is selected, DNAT rules only
- apply when the destination address is the
- external interface's primary IP address.
+ - A DETECT_DNAT_ADDRS option
+has been added to /etc/shoreall/shorewall.conf.
+ When this option is selected, DNAT rules only
+ apply when the destination address is the
+ external interface's primary IP address.
- - The QuickStart
- Guide has been broken into three
-guides and has been almost entirely rewritten.
+ - The QuickStart
+ Guide has been broken into three
+ guides and has been almost entirely rewritten.
- - The Samples have been updated to reflect
-the new capabilities in this release.
+ - The Samples have been updated to reflect
+ the new capabilities in this release.
-
+
-
+
7/8/2002 - Shorewall 1.3.3 Debian Package Available
-
+
Lorenzo Marignoni reports that the packages are available at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
+
7/6/2002 - Shorewall 1.3.3 Released
-
+
In this version:
-
+
- - Entries in /etc/shorewall/interface that
-use the wildcard character ("+") now have the "multi"
- option assumed.
+ - Entries in /etc/shorewall/interface that
+ use the wildcard character ("+") now have the "multi"
+ option assumed.
- - The 'rfc1918' chain in the mangle table has
- been renamed 'man1918' to make log messages
-generated from that chain distinguishable from those
- generated by the 'rfc1918' chain in the filter table.
+ - The 'rfc1918' chain in the mangle table
+ has been renamed 'man1918' to make log messages
+ generated from that chain distinguishable from those
+ generated by the 'rfc1918' chain in the filter table.
- - Interface names appearing in the hosts file
- are now validated against the interfaces file.
+ - Interface names appearing in the hosts
+file are now validated against the interfaces
+ file.
- - The TARGET column in the rfc1918 file is now
- checked for correctness.
+ - The TARGET column in the rfc1918 file is
+ now checked for correctness.
- - The chain structure in the nat table has
- been changed to reduce the number of rules that a
-packet must traverse and to correct problems with
- NAT_BEFORE_RULES=No
+ - The chain structure in the nat table has
+ been changed to reduce the number of rules that a
+ packet must traverse and to correct problems with
+ NAT_BEFORE_RULES=No
- - The "hits" command has been enhanced.
+ - The "hits" command has been enhanced.
-
+
-
+
6/25/2002 - Samples Updated for 1.3.2
-
+
The comments in the sample configuration files have been updated to reflect
- new features introduced in Shorewall
- 1.3.2.
+ new features introduced in Shorewall
+ 1.3.2.
-
+
6/25/2002 - Shorewall 1.3.1 Debian Package Available
-
+
Lorenzo Marignoni reports that the package is available at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
+
6/19/2002 - Documentation Available in PDF Format
-
+
Thanks to Mike Martinez, the Shorewall Documentation is now available
for download in Adobe PDF format.
-
+
6/16/2002 - Shorewall 1.3.2 Released
-
+
In this version:
-
+
-
+
6/6/2002 - Why CVS Web access is Password Protected
-
+
Last weekend, I installed the CVS Web package to provide brower-based
access to the Shorewall CVS repository. Since then, I have had several
instances where my server was almost unusable due to the high load generated
by website copying tools like HTTrack and WebStripper. These mindless tools:
-
+
- - Ignore robot.txt files.
+ - Ignore robot.txt files.
- - Recursively copy everything that they find.
+ - Recursively copy everything that they find.
- - Should be classified as weapons rather than
- tools.
+ - Should be classified as weapons rather than
+ tools.
-
+
-
+
These tools/weapons are particularly damaging when combined with CVS Web
- because they doggedly follow every
-link in the cgi-generated HTML resulting in
- 1000s of executions of the cvsweb.cgi script. Yesterday,
- I spend several hours implementing measures to block
- these tools but unfortunately, these measures resulted
- in my server OOM-ing under even moderate load.
+ because they doggedly follow every
+ link in the cgi-generated HTML resulting
+in 1000s of executions of the cvsweb.cgi script.
+Yesterday, I spend several hours implementing measures
+to block these tools but unfortunately, these measures
+ resulted in my server OOM-ing under even moderate
+load.
-
+
Until I have the time to understand the cause of the OOM (or until I buy
- more RAM if that is what is required),
- CVS Web access will remain Password Protected.
-
+ more RAM if that is what is required),
+ CVS Web access will remain Password Protected.
+
-
+
6/5/2002 - Shorewall 1.3.1 Debian Package Available
-
+
Lorenzo Marignoni reports that the package is available at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
+
6/2/2002 - Samples Corrected
-
+
The 1.3.0 samples configurations had several serious problems that prevented
- DNS and SSH from working properly.
-These problems have been corrected in the
+ DNS and SSH from working properly.
+ These problems have been corrected in the
1.3.1 samples.
-
+
6/1/2002 - Shorewall 1.3.1 Released
-
+
Hot on the heels of 1.3.0, this release:
-
+
- - Corrects a serious problem with "all <zone>
- CONTINUE" policies. This problem is present in
-all versions of Shorewall that support the CONTINUE
- policy. These previous versions optimized away the
-"all2<zone>" chain and replaced it with
- the "all2all" chain with the usual result that a policy of
-REJECT was enforced rather than the intended CONTINUE policy.
+ - Corrects a serious problem with "all
+ <zone> CONTINUE" policies. This
+ problem is present in all versions of Shorewall that
+ support the CONTINUE policy. These previous versions
+ optimized away the "all2<zone>"
+chain and replaced it with the "all2all" chain with the usual
+ result that a policy of REJECT was enforced rather than the
+intended CONTINUE policy.
- - Adds an /etc/shorewall/rfc1918
- file for defining the exact behavior of theAdds an /etc/shorewall/rfc1918
+ file for defining the exact behavior of the 'norfc1918' interface option.
-
+
-
+
5/29/2002 - Shorewall 1.3.0 Released
-
+
In addition to the changes in Beta 1, Beta 2 and RC1, Shorewall 1.3.0
includes:
-
+
- - A 'filterping' interface option that allows
- ICMP echo-request (ping) requests addressed
- to the firewall to be handled by entries in /etc/shorewall/rules
- and /etc/shorewall/policy.
+ - A 'filterping' interface option that allows
+ ICMP echo-request (ping) requests addressed
+ to the firewall to be handled by entries in /etc/shorewall/rules
+ and /etc/shorewall/policy.
-
+
-
+
5/23/2002 - Shorewall 1.3 RC1 Available
-
+
In addition to the changes in Beta 1 and Beta 2, RC1 (Version 1.2.92)
incorporates the following:
-
+
- - Support for the /etc/shorewall/whitelist
- file has been withdrawn. If you need whitelisting,
- see these
- instructions.
+ - Support for the /etc/shorewall/whitelist
+ file has been withdrawn. If you need whitelisting,
+ see these
+ instructions.
-
+
-
+
5/19/2002 - Shorewall 1.3 Beta 2 Available
-
+
In addition to the changes in Beta 1, this release which carries the
designation 1.2.91 adds:
-
+
- - The structure of the firewall is changed
-markedly. There is now an INPUT and a FORWARD
- chain for each interface; this reduces the number
- of rules that a packet must traverse, especially in
+
- The structure of the firewall is changed
+ markedly. There is now an INPUT and a FORWARD
+ chain for each interface; this reduces the number
+ of rules that a packet must traverse, especially in
complicated setups.
- - Sub-zones may now
- be excluded from DNAT and REDIRECT rules.
+ - Sub-zones may now
+ be excluded from DNAT and REDIRECT rules.
- - The names of the columns in a number of the
- configuration files have been changed to be more
- consistent and self-explanatory and the documentation
- has been updated accordingly.
+ - The names of the columns in a number of
+the configuration files have been changed to
+ be more consistent and self-explanatory and the documentation
+ has been updated accordingly.
- - The sample configurations have been updated
- for 1.3.
+ - The sample configurations have been updated
+ for 1.3.
-
+
-
+
5/17/2002 - Shorewall 1.3 Beta 1 Available
-
+
Beta 1 carries the version designation 1.2.90 and implements the following
- features:
+ features:
-
+
- - Simplified rule syntax which makes the intent
- of each rule clearer and hopefully makes Shorewall
- easier to learn.
+ - Simplified rule syntax which makes the intent
+ of each rule clearer and hopefully makes Shorewall
+ easier to learn.
- - Upward compatibility with 1.2 configuration
- files has been maintained so that current users
- can migrate to the new syntax at their convenience.
+ - Upward compatibility with 1.2 configuration
+ files has been maintained so that current users
+ can migrate to the new syntax at their convenience.
- - WARNING: Compatibility with
- the old parameterized sample configurations has NOT been
- maintained. Users still running those configurations
- should migrate to the new sample configurations
- before upgrading to 1.3 Beta 1.
+ - WARNING: Compatibility
+ with the old parameterized sample configurations has NOT
+been maintained. Users still running those configurations
+ should migrate to the new sample configurations
+ before upgrading to 1.3 Beta 1.
-
+
-
+
5/4/2002 - Shorewall 1.2.13 is Available
-
+
In this version:
-
+
-
+
4/30/2002 - Shorewall Debian News
-
+
Lorenzo Marignoni reports that Shorewall 1.2.12 is now in both the
Debian
Testing Branch and the
Unstable Branch.
-
+
4/20/2002 - Shorewall 1.2.12 is Available
-
+
- - The 'try' command works again
+ - The 'try' command works again
- - There is now a single RPM that also works
- with SuSE.
+ - There is now a single RPM that also works
+ with SuSE.
-
+
-
+
4/17/2002 - Shorewall Debian News
-
+
Lorenzo Marignoni reports that:
-
+
-
+
Thanks, Lorenzo!
-
+
4/16/2002 - Shorewall 1.2.11 RPM Available for SuSE
-
+
Thanks to Stefan Mohr, there
- is now a Shorewall 1.2.11
- SuSE RPM available.
+ SuSE RPM available.
-
+
4/13/2002 - Shorewall 1.2.11 Available
-
+
In this version:
-
+
- - The 'try' command now accepts an optional
- timeout. If the timeout is given in the command,
- the standard configuration will automatically be
- restarted after the new configuration has been running
- for that length of time. This prevents a remote admin
- from being locked out of the firewall in the case where
- the new configuration starts but prevents access.
+ - The 'try' command now accepts an optional
+ timeout. If the timeout is given in the command,
+ the standard configuration will automatically be
+ restarted after the new configuration has been running
+ for that length of time. This prevents a remote admin
+ from being locked out of the firewall in the case where
+ the new configuration starts but prevents access.
- - Kernel route filtering may now be enabled
- globally using the new ROUTE_FILTER parameter
- in /etc/shorewall/shorewall.conf.
+ - Kernel route filtering may now be enabled
+ globally using the new ROUTE_FILTER parameter
+ in /etc/shorewall/shorewall.conf.
- - Individual IP source addresses and/or subnets
- may now be excluded from masquerading/SNAT.
+ - Individual IP source addresses and/or subnets
+ may now be excluded from masquerading/SNAT.
- - Simple "Yes/No" and "On/Off" values are now
- case-insensitive in /etc/shorewall/shorewall.conf.
+ - Simple "Yes/No" and "On/Off" values are
+now case-insensitive in /etc/shorewall/shorewall.conf.
-
+
-
+
4/13/2002 - Hamburg Mirror now has FTP
-
+
Stefan now has an FTP mirror at ftp://germany.shorewall.net/pub/shorewall.
- Thanks Stefan!
+ Thanks Stefan!
-
+
4/12/2002 - New Mirror in Hamburg
-
+
Thanks to Stefan Mohr, there
- is now a mirror of the Shorewall website
- at http://germany.shorewall.net.
-
+ is now a mirror of the Shorewall
+website at http://germany.shorewall.net.
+
-
+
4/10/2002 - Shorewall QuickStart Guide Version 1.1 Available
-
+
Version 1.1 of the QuickStart
- Guide is now available. Thanks
-to those who have read version 1.0 and offered
-their suggestions. Corrections have also been made
- to the sample scripts.
+ Guide is now available. Thanks
+ to those who have read version 1.0 and offered
+ their suggestions. Corrections have also been made
+ to the sample scripts.
-
+
4/9/2002 - Shorewall QuickStart Guide Version 1.0 Available
-
+
Version 1.0 of the QuickStart
- Guide is now available. This Guide
- and its accompanying sample configurations
- are expected to provide a replacement for the recently
- withdrawn parameterized samples.
+ Guide is now available. This
+Guide and its accompanying sample configurations
+ are expected to provide a replacement for the recently
+ withdrawn parameterized samples.
-
+
4/8/2002 - Parameterized Samples Withdrawn
-
+
Although the parameterized
- samples have allowed people to
-get a firewall up and running quickly, they
- have unfortunately set the wrong level of expectation
- among those who have used them. I am therefore
- withdrawing support for the samples and I am recommending
- that they not be used in new Shorewall installations.
+ samples have allowed people to
+ get a firewall up and running quickly, they
+ have unfortunately set the wrong level of expectation
+ among those who have used them. I am therefore
+ withdrawing support for the samples and I am recommending
+ that they not be used in new Shorewall installations.
-
+
4/2/2002 - Updated Log Parser
-
+
John Lodge has provided an updated
- version of his CGI-based log parser
with corrected date handling.
-
+
3/30/2002 - Shorewall Website Search Improvements
-
+
The quick search on the home page now excludes the mailing list archives.
- The Extended
- Search allows excluding the archives
- or restricting the search to just the archives. An archive
- search form is also available on the Extended
+ Search allows excluding the archives
+ or restricting the search to just the archives. An archive
+ search form is also available on the mailing list information
- page.
+ page.
-
+
3/28/2002 - Debian Shorewall News (From Lorenzo Martignoni)
-
+
-
-3/25/2002 - Log Parser Available
-
-
-
-John Lodge has provided a CGI-based log parser for Shorewall. Thanks
- John.
-
-
-
-3/20/2002 - Shorewall 1.2.10 Released
-
-
-
-In this version:
-
-
-
-
-
- - A "shorewall try" command has been added
-(syntax: shorewall try <configuration
- directory>). This command attempts "shorewall
- -c <configuration directory> start"
-and if that results in the firewall being stopped due
- to an error, a "shorewall start" command is executed. The
- 'try' command allows you to create a new configuration and attempt
- to start it; if there is an error that leaves your firewall
- in the stopped state, it will automatically be restarted
- using the default configuration (in /etc/shorewall).
-
- - A new variable ADD_SNAT_ALIASES has been
-added to /etc/shorewall/shorewall.conf.
- If this variable is set to "Yes", Shorewall
-will automatically add IP addresses listed in
-the third column of the /etc/shorewall/masq
- file.
-
- - Copyright notices have been added to the
-documenation.
-
-
-
-
-
-
-
-3/11/2002 - Shorewall 1.2.9 Released
-
-
-
-In this version:
-
-
-
-
-
- - Filtering by MAC
- address has been added. MAC addresses may be used
-as the source address in:
-
-
-
-
-
-
-
- - Filtering rules (/etc/shorewall/rules)
-
- - Traffic Control Classification Rules
- (/etc/shorewall/tcrules)
-
- - TOS Rules (/etc/shorewall/tos)
-
- - Blacklist (/etc/shorewall/blacklist)
-
-
-
-
-
-
+3/25/2002 - Log Parser Available
+
+
+
+John Lodge has provided a CGI-based log parser for Shorewall. Thanks
+ John.
+
+
+
+3/20/2002 - Shorewall 1.2.10 Released
+
+
+
+In this version:
+
+
+
+
+
+ - A "shorewall try" command has been added
+ (syntax: shorewall try <configuration
+ directory>). This command attempts "shorewall
+ -c <configuration directory> start"
+ and if that results in the firewall being stopped due
+ to an error, a "shorewall start" command is executed. The
+ 'try' command allows you to create a new configuration and attempt
+ to start it; if there is an error that leaves your firewall
+ in the stopped state, it will automatically be restarted
+ using the default configuration (in /etc/shorewall).
+
+ - A new variable ADD_SNAT_ALIASES has been
+ added to /etc/shorewall/shorewall.conf.
+ If this variable is set to "Yes", Shorewall
+ will automatically add IP addresses listed
+in the third column of the
+ /etc/shorewall/masq file.
+
+ - Copyright notices have been added to the
+ documenation.
+
+
+
+
+
+
+
+3/11/2002 - Shorewall 1.2.9 Released
+
+
+
+In this version:
+
+
+
+
+
+ - Filtering by MAC
+ address has been added. MAC addresses may be used
+ as the source address in:
+
+
+
+
+
+
-
+
- - Several bugs have been fixed
+ - Several bugs have been fixed
- - The 1.2.9 Debian Package is also available
- at The 1.2.9 Debian Package is also available
+ at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
+
-
+
3/1/2002 - 1.2.8 Debian Package is Available
-
+
See http://security.dsi.unimi.it/~lorenzo/debian.html
-
+
2/25/2002 - New Two-interface Sample
-
+
I've enhanced the two interface sample to allow access from the firewall
- to servers in the local zone -
- http://www.shorewall.net/pub/shorewall/LATEST.samples/two-interfaces.tgz
+ http://www.shorewall.net/pub/shorewall/LATEST.samples/two-interfaces.tgz
-
+
2/23/2002 - Shorewall 1.2.8 Released
-
+
Do to a serious problem with 1.2.7, I am releasing 1.2.8. It corrects
problems associated with the lock file used to prevent multiple state-changing
- operations from occuring simultaneously.
- My apologies for any inconvenience my carelessness
- may have caused.
+ operations from occuring simultaneously.
+ My apologies for any inconvenience my
+carelessness may have caused.
-
+
2/22/2002 - Shorewall 1.2.7 Released
-
+
In this version:
-
+
- - UPnP probes (UDP destination port 1900) are
- now silently dropped in the common chain
+ - UPnP probes (UDP destination port 1900)
+are now silently dropped in the common
+ chain
- - RFC 1918 checking in the mangle table has
- been streamlined to no longer require packet
+
- RFC 1918 checking in the mangle table has
+ been streamlined to no longer require packet
marking. RFC 1918 checking in the filter table has
been changed to require half as many rules as previously.
- - A 'shorewall check' command has been added
- that does a cursory validation of the zones, interfaces,
- hosts, rules and policy files.
+ - A 'shorewall check' command has been added
+ that does a cursory validation of the zones,
+interfaces, hosts, rules and policy files.
-
+
-
+
2/18/2002 - 1.2.6 Debian Package is Available
-
+
See http://security.dsi.unimi.it/~lorenzo/debian.html
-
+
2/8/2002 - Shorewall 1.2.6 Released
-
+
In this version:
-
+
- - $-variables may now be used anywhere in the
- configuration files except /etc/shorewall/zones.
+ - $-variables may now be used anywhere in
+the configuration files except /etc/shorewall/zones.
- - The interfaces and hosts files now have their
- contents validated before any changes are made
- to the existing Netfilter configuration. The appearance
- of a zone name that isn't defined in /etc/shorewall/zones
- causes "shorewall start" and "shorewall restart"
- to abort without changing the Shorewall state.
-Unknown options in either file cause a warning to be issued.
+ - The interfaces and hosts files now have
+ their contents validated before any changes are
+made to the existing Netfilter configuration. The appearance
+ of a zone name that isn't defined in /etc/shorewall/zones
+ causes "shorewall start" and "shorewall restart"
+ to abort without changing the Shorewall state.
+ Unknown options in either file cause a warning to be issued.
- - A problem occurring when BLACKLIST_LOGLEVEL
- was not set has been corrected.
+ - A problem occurring when BLACKLIST_LOGLEVEL
+ was not set has been corrected.
-
+
-
+
2/4/2002 - Shorewall 1.2.5 Debian Package Available
-
+
see http://security.dsi.unimi.it/~lorenzo/debian.html
-
+
2/1/2002 - Shorewall 1.2.5 Released
-
+
Due to installation problems with Shorewall 1.2.4, I have released Shorewall
- 1.2.5. Sorry for the rapid-fire development.
+ 1.2.5. Sorry for the rapid-fire development.
-
+
In version 1.2.5:
-
+
- - The installation problems have been corrected.
+ - The installation problems have been corrected.
- - SNAT is now supported.
+ - SNAT is now supported.
- - A "shorewall version" command has been added
+ - A "shorewall version" command has been added
- - The default value of the STATEDIR variable
- in /etc/shorewall/shorewall.conf has been changed
- to /var/lib/shorewall in order to conform to the
- GNU/Linux File Hierarchy Standard, Version 2.2.
+ - The default value of the STATEDIR variable
+ in /etc/shorewall/shorewall.conf has been changed
+ to /var/lib/shorewall in order to conform to the
+ GNU/Linux File Hierarchy Standard, Version 2.2.
-
+
-
+
1/28/2002 - Shorewall 1.2.4 Released
-
+
- - The "fw" zone may
-now be given a different name.
+ - The "fw" zone may
+ now be given a different name.
- - You may now place end-of-line comments (preceded
- by '#') in any of the configuration files
+ - You may now place end-of-line comments (preceded
+ by '#') in any of the configuration files
- - There is now protection against against two
- state changing operations occuring concurrently.
- This is implemented using the 'lockfile' utility
- if it is available (lockfile is part of procmail);
- otherwise, a less robust technique is used. The lockfile
- is created in the STATEDIR defined in /etc/shorewall/shorewall.conf
- and has the name "lock".
+ - There is now protection against against
+two state changing operations occuring concurrently.
+ This is implemented using the 'lockfile' utility
+ if it is available (lockfile is part of procmail);
+ otherwise, a less robust technique is used. The lockfile
+ is created in the STATEDIR defined in /etc/shorewall/shorewall.conf
+ and has the name "lock".
- - "shorewall start" no longer fails if "detect"
- is specified in "shorewall start" no longer fails if "detect"
+ is specified in /etc/shorewall/interfaces
for an interface with subnet mask 255.255.255.255.
-
+
-
+
1/27/2002 - Shorewall 1.2.3 Debian Package Available -- see http://security.dsi.unimi.it/~lorenzo/debian.html
-
+
1/20/2002 - Corrected firewall script available
-
+
Corrects a problem with BLACKLIST_LOGLEVEL. See the
- errata for details.
+ errata for details.
-
+
1/19/2002 - Shorewall 1.2.3 Released
-
+
This is a minor feature and bugfix release. The single new feature is:
-
+
- - Support for TCP MSS Clamp to PMTU -- This
-support is usually required when the internet
- connection is via PPPoE or PPTP and may be enabled
+
- Support for TCP MSS Clamp to PMTU -- This
+ support is usually required when the internet
+ connection is via PPPoE or PPTP and may be enabled
using the CLAMPMSS
option in /etc/shorewall/shorewall.conf.
-
+
-
+
The following problems were corrected:
-
+
- - The "shorewall status" command no longer hangs.
+ - The "shorewall status" command no longer
+ hangs.
- - The "shorewall monitor" command now displays
- the icmpdef chain
+ - The "shorewall monitor" command now displays
+ the icmpdef chain
- - The CLIENT PORT(S) column in tcrules is no
- longer ignored
+ - The CLIENT PORT(S) column in tcrules is no
+ longer ignored
-
+
-
+
1/18/2002 - Shorewall 1.2.2 packaged with new LEAF release
-
+
Jacques Nilo and Eric Wolzak have released a kernel 2.4.16 LEAF distribution
- that includes Shorewall 1.2.2. See http://leaf.sourceforge.net/devel/jnilo
- for details.
+ for details.
-
+
1/11/2002 - Debian Package (.deb) Now Available - Thanks to Lorenzo Martignoni, a 1.2.2
- Shorewall Debian package is now available.
- There is a link to Lorenzo's site from the
+ Shorewall Debian package is now available.
+ There is a link to Lorenzo's site from the
Shorewall download page.
-
+
1/9/2002 - Updated 1.2.2 /sbin/shorewall available - This corrected version restores
- the "shorewall status" command to health.
+ the "shorewall status" command to health.
-
+
1/8/2002 - Shorewall 1.2.2 Released
-
+
In version 1.2.2
-
+
- - Support for IP blacklisting has been added
+
- Support for IP blacklisting has been added
+
-
-
+
- - 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 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 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 You list the IP addresses/subnets that
+ you wish to blacklist in /etc/shorewall/blacklist
- - You specify the interfaces you want checked
- against the blacklist using the new "blacklist" option
- in /etc/shorewall/interfaces.
+ - You specify the interfaces you want
+checked against the blacklist using the
+ new "blacklist"
+ option in /etc/shorewall/interfaces.
- - The black list is refreshed from /etc/shorewall/blacklist
- by the "shorewall refresh" command.
+ - The black list is refreshed from /etc/shorewall/blacklist
+ by the "shorewall refresh" command.
-
+
-
+
- - Use of TCP RST replies has been expanded
+
- Use of TCP RST replies has been expanded
-
+
- - TCP connection requests rejected because
- of a REJECT policy are now replied with a TCP
+
- TCP connection requests rejected because
+ of a REJECT policy are now replied with a TCP
RST packet.
- - TCP connection requests rejected because
- of a protocol=all rule in /etc/shorewall/rules
- are now replied with a TCP RST packet.
+ - TCP connection requests rejected because
+ of a protocol=all rule in /etc/shorewall/rules
+ are now replied with a TCP RST packet.
-
+
-
+
- - A LOGFILE
-specification has been added to /etc/shorewall/shorewall.conf.
- LOGFILE is used to tell the /sbin/shorewall program
+
- A LOGFILE
+ specification has been added to /etc/shorewall/shorewall.conf.
+ LOGFILE is used to tell the /sbin/shorewall program
where to look for Shorewall messages.
-
+
-
+
1/5/2002 - New Parameterized Samples (version 1.2.0) released. These are minor updates
- to the previously-released samples.
+ to the previously-released samples.
There are two new rules added:
-
+
- - Unless you have explicitly enabled Auth connections
- (tcp port 113) to your firewall, these connections
- will be REJECTED rather than DROPPED. This speeds
- up connection establishment to some servers.
+ - Unless you have explicitly enabled Auth connections
+ (tcp port 113) to your firewall, these connections
+ will be REJECTED rather than DROPPED. This speeds
+ up connection establishment to some servers.
- - Orphan DNS replies are now silently dropped.
+ - Orphan DNS replies are now silently dropped.
-
+
-
+
See the README file for upgrade instructions.
-
+
1/1/2002 - Shorewall Mailing List Moving
-
+
The Shorewall mailing list hosted at
- Sourceforge is moving to Shorewall.net.
- If you are a current subscriber to the list
- at Sourceforge, please is moving to Shorewall.net.
+ If you are a current subscriber to the list
+ at Sourceforge, please see these instructions.
- If you would like to subscribe to the
+ If you would like to subscribe to the
new list, visit http://www.shorewall.net/mailman/listinfo/shorewall-users.
-
+
12/31/2001 - Shorewall 1.2.1 Released
-
+
In version 1.2.1:
-
+
-
+
12/21/2001 - Shorewall 1.2.0 Released! - I couldn't resist
releasing 1.2 on 12/21/2001
-
+
Version 1.2 contains the following new features:
-
+
-
+
For the next month or so, I will continue to provide corrections to version
- 1.1.18 as necessary so that current
-version 1.1.x users will not be forced into a
- quick upgrade to 1.2.0 just to have access to bug fixes.
+ 1.1.18 as necessary so that current
+ version 1.1.x users will not be forced into
+a quick upgrade to 1.2.0 just to have access to bug fixes.
-
+
For those of you who have installed one of the Beta RPMS, you will need
- to use the "--oldpackage" option when
- upgrading to 1.2.0:
+ to use the "--oldpackage" option when
+ upgrading to 1.2.0:
-
+
-
+
rpm -Uvh --oldpackage shorewall-1.2-0.noarch.rpm
-
+
-
+
12/19/2001 - Thanks to Steve
- Cowles, there is now a Shorewall
-mirror in Texas. This web site is mirrored
-at http://www.infohiiway.com/shorewall
- and the ftp site is at , there is now a Shorewall
+ mirror in Texas. This web site is mirrored
+ at http://www.infohiiway.com/shorewall
+ and the ftp site is at ftp://ftp.infohiiway.com/pub/mirrors/shorewall.
-
+
11/30/2001 - A new set of the parameterized Sample
Configurations has been released. In this version:
-
+
- - Ping is now allowed between the zones.
+ - Ping is now allowed between the zones.
- - In the three-interface configuration, it is
- now possible to configure the internet services
-that are to be available to servers in the DMZ.
+ - In the three-interface configuration, it
+ is now possible to configure the internet services
+ that are to be available to servers in the DMZ.
-
+
-
+
11/20/2001 - The current version of Shorewall is 1.1.18.
-
+
In this version:
-
+
- - The spelling of ADD_IP_ALIASES has been corrected
- in the shorewall.conf file
+ - The spelling of ADD_IP_ALIASES has been corrected
+ in the shorewall.conf file
- - The logic for deleting user-defined chains
- has been simplified so that it avoids a bug in the
+
- The logic for deleting user-defined chains
+ has been simplified so that it avoids a bug in the
LRP version of the 'cut' utility.
- - The /var/lib/lrpkg/shorwall.conf file has
- been corrected to properly display the NAT entry
- in that file.
+ - The /var/lib/lrpkg/shorwall.conf file has
+ been corrected to properly display the NAT entry
+ in that file.
-
+
-
+
11/19/2001 - Thanks to Juraj
- Ontkanin, there is now a Shorewall
- mirror in the Slovak Republic. The website
- is now mirrored at , there is now a Shorewall
+ mirror in the Slovak Republic. The website
+ is now mirrored at http://www.nrg.sk/mirror/shorewall
- and the FTP site is mirrored at ftp://ftp.nrg.sk/mirror/shorewall.
-
+
11/2/2001 - Announcing Shorewall Parameter-driven Sample Configurations.
- There are three sample configurations:
+ There are three sample configurations:
-
+
- - One Interface -- for a standalone system.
+ - One Interface -- for a standalone system.
- - Two Interfaces -- A masquerading firewall.
+ - Two Interfaces -- A masquerading firewall.
- - Three Interfaces -- A masquerading firewall
- with DMZ.
+ - Three Interfaces -- A masquerading firewall
+ with DMZ.
-
+
-
+
Samples may be downloaded from ftp://ftp.shorewall.net/pub/shorewall/samples-1.1.17
- . See the README file for instructions.
+ . See the README file for instructions.
-
+
11/1/2001 - The current version of Shorewall is 1.1.17. I intend
- this to be the last of the 1.1
- Shorewall releases.
+ this to be the last of the 1.1
+ Shorewall releases.
-
+
In this version:
-
+
-
+
10/22/2001 - The current version of Shorewall is 1.1.16. In this
- version:
+ version:
-
+
- - A new "shorewall show connections" command
- has been added.
+ - A new "shorewall show connections" command
+ has been added.
- - In the "shorewall monitor" output, the currently
- tracked connections are now shown on a separate
- page.
+ - In the "shorewall monitor" output, the currently
+ tracked connections are now shown on a separate
+ page.
- - Prior to this release, Shorewall unconditionally
- added the external IP adddress(es) specified in
- /etc/shorewall/nat. Beginning with version 1.1.16,
- a new parameter (ADD_IP_ALIASES)
- may be set to "no" (or "No") to inhibit
- this behavior. This allows IP aliases created
+
- Prior to this release, Shorewall unconditionally
+ added the external IP adddress(es) specified
+in /etc/shorewall/nat. Beginning with version
+ 1.1.16, a new parameter (ADD_IP_ALIASES)
+ may be set to "no" (or "No") to inhibit
+ this behavior. This allows IP aliases created
using your distribution's network configuration
tools to be used in static NAT.
-
+
+
+10/15/2001 - The current version of Shorewall is 1.1.15. In this
+ version:
+
+
-10/15/2001 - The current version of Shorewall is 1.1.15. In this
- version:
-
-
-
- - Support for nested zones has been improved.
- See the documentation
- for details
+ - Support for nested zones has been improved.
+ See the documentation
+ for details
- - Shorewall now correctly checks the alternate
- configuration directory for the 'zones' file.
+ - Shorewall now correctly checks the alternate
+ configuration directory for the 'zones' file.
-
+
-
+
10/4/2001 - The current version of Shorewall is 1.1.14. In this
- version
+ version
-
+
- - Shorewall now supports alternate configuration
- directories. When an alternate directory is
- specified when starting or restarting Shorewall
- (e.g., "shorewall -c /etc/testconf restart"), Shorewall
- will first look for configuration files in the alternate
- directory then in /etc/shorewall. To create an alternate
- configuration simply:
+ - Shorewall now supports alternate configuration
+ directories. When an alternate directory
+is specified when starting or restarting Shorewall
+ (e.g., "shorewall -c /etc/testconf restart"), Shorewall
+ will first look for configuration files in the alternate
+ directory then in /etc/shorewall. To create an alternate
+ configuration simply:
- 1. Create a New Directory
+ 1. Create a New Directory
- 2. Copy to that directory any of your configuration
- files that you want to change.
+ 2. Copy to that directory any of your configuration
+ files that you want to change.
- 3. Modify the copied files as needed.
+ 3. Modify the copied files as needed.
- 4. Restart Shorewall specifying the new directory.
+ 4. Restart Shorewall specifying the new directory.
- - The rules for allowing/disallowing icmp echo-requests
- (pings) are now moved after rules created
- when processing the rules file. This allows you to
- add rules that selectively allow/deny ping based on source
- or destination address.
+ - The rules for allowing/disallowing icmp
+echo-requests (pings) are now moved after rules
+ created when processing the rules file. This allows
+ you to add rules that selectively allow/deny ping based
+ on source or destination address.
- - Rules that specify multiple client ip addresses
- or subnets no longer cause startup failures.
+ - Rules that specify multiple client ip addresses
+ or subnets no longer cause startup failures.
- - Zone names in the policy file are now validated
- against the zones file.
+ - Zone names in the policy file are now validated
+ against the zones file.
- - If you have If you have packet mangling
support enabled, the "norfc1918"
@@ -3552,505 +3604,512 @@ interface option now logs and drops any incoming packets on
the interface that have an RFC 1918 destination address.
-
+
-
+
9/12/2001 - The current version of Shorewall is 1.1.13. In this
- version
+ version
-
+
- - Shell variables can now be used to parameterize
- Shorewall rules.
+ - Shell variables can now be used to parameterize
+ Shorewall rules.
- - The second column in the hosts file may now
- contain a comma-separated list.
+ - The second column in the hosts file may now
+ contain a comma-separated list.
-
+
- Example:
+ Example:
- sea eth0:130.252.100.0/24,206.191.149.0/24
+ sea eth0:130.252.100.0/24,206.191.149.0/24
- - Handling of multi-zone interfaces has been
- improved. See the Handling of multi-zone interfaces has been
+ improved. See the documentation for the /etc/shorewall/interfaces
- file.
+ file.
-
+
-
+
8/28/2001 - The current version of Shorewall is 1.1.12. In this
- version
+ version
-
+
- - Several columns in the rules file may now
- contain comma-separated lists.
+ - Several columns in the rules file may now
+ contain comma-separated lists.
- - Shorewall is now more rigorous in parsing
-the options in /etc/shorewall/interfaces.
+ - Shorewall is now more rigorous in parsing
+ the options in /etc/shorewall/interfaces.
- - Complementation using "!" is now supported
- in rules.
+ - Complementation using "!" is now supported
+ in rules.
-
+
-
+
7/28/2001 - The current version of Shorewall is 1.1.11. In this
- version
+ version
-
+
- - A "shorewall refresh" command has been added
- to allow for refreshing the rules associated
- with the broadcast address on a dynamic interface.
- This command should be used in place of "shorewall
- restart" when the internet interface's IP address changes.
+ - A "shorewall refresh" command has been added
+ to allow for refreshing the rules associated
+ with the broadcast address on a dynamic interface.
+ This command should be used in place of "shorewall
+ restart" when the internet interface's IP address changes.
- - The /etc/shorewall/start file (if any) is
-now processed after all temporary rules have
+
- The /etc/shorewall/start file (if any) is
+ now processed after all temporary rules have
been deleted. This change prevents the accidental
removal of rules added during the processing of that
file.
- - The "dhcp" interface option is now applicable
- to firewall interfaces used by a DHCP server running
- on the firewall.
+ - The "dhcp" interface option is now applicable
+ to firewall interfaces used by a DHCP server
+running on the firewall.
- - The RPM can now be built from the .tgz file
- using "rpm -tb"
+ - The RPM can now be built from the .tgz file
+ using "rpm -tb"
-
+
-
+
7/6/2001 - The current version of Shorewall is 1.1.10. In this
version
-
+
- - Shorewall now enables Ipv4 Packet Forwarding
- by default. Packet forwarding may be disabled
- by specifying IP_FORWARD=Off in /etc/shorewall/shorewall.conf.
- If you don't want Shorewall to enable or
- disable packet forwarding, add IP_FORWARDING=Keep
-to your /etc/shorewall/shorewall.conf file.
+ - Shorewall now enables Ipv4 Packet Forwarding
+ by default. Packet forwarding may be disabled
+ by specifying IP_FORWARD=Off in /etc/shorewall/shorewall.conf.
+ If you don't want Shorewall to enable or
+ disable packet forwarding, add IP_FORWARDING=Keep
+ to your /etc/shorewall/shorewall.conf file.
- - The "shorewall hits" command no longer lists
- extraneous service names in its last report.
+ - The "shorewall hits" command no longer lists
+ extraneous service names in its last report.
- - Erroneous instructions in the comments at
-the head of the firewall script have been corrected.
+ - Erroneous instructions in the comments at
+ the head of the firewall script have been corrected.
-
+
-
+
6/23/2001 - The current version of Shorewall is 1.1.9. In this
version
-
+
- - The "tunnels" file really is in
-the RPM now.
+ - The "tunnels" file really is in
+ the RPM now.
- - SNAT can now be applied to port-forwarded
-connections.
+ - SNAT can now be applied to port-forwarded
+ connections.
- - A bug which would cause firewall start failures
- in some dhcp configurations has been fixed.
+ - A bug which would cause firewall start failures
+ in some dhcp configurations has been fixed.
- - The firewall script now issues a message if
- you have the name of an interface in the second
- column in an entry in /etc/shorewall/masq and that
- interface is not up.
+ - The firewall script now issues a message
+ if you have the name of an interface in the second
+ column in an entry in /etc/shorewall/masq and that
+ interface is not up.
- - You can now configure Shorewall so that it doesn't require the NAT and/or
- mangle netfilter modules.
+ - You can now configure Shorewall so that
+it doesn't require the NAT
+and/or mangle netfilter modules.
- - Thanks to Alex Polishchuk, the "hits" command
- from seawall is now in shorewall.
+ - Thanks to Alex Polishchuk, the "hits" command
+ from seawall is now in shorewall.
- - Support for IPIP tunnels
- has been added.
+ - Support for IPIP tunnels
+ has been added.
-
+
-
+
6/18/2001 - The current version of Shorewall is 1.1.8. In this
version
-
+
-
+
6/2/2001 - The current version of Shorewall is 1.1.7. In this version
-
+
- - The TOS rules are now deleted when the firewall
- is stopped.
+ - The TOS rules are now deleted when the firewall
+ is stopped.
- - The .rpm will now install regardless of which
- version of iptables is installed.
+ - The .rpm will now install regardless of which
+ version of iptables is installed.
- - The .rpm will now install without iproute2
- being installed.
+ - The .rpm will now install without iproute2
+ being installed.
- - The documentation has been cleaned up.
+ - The documentation has been cleaned up.
- - The sample configuration files included in
- Shorewall have been formatted to 80 columns for
- ease of editing on a VGA console.
+ - The sample configuration files included
+in Shorewall have been formatted to 80 columns
+ for ease of editing on a VGA console.
-
+
-
+
5/25/2001 - The current version of Shorewall is 1.1.6. In this
version
-
+
- - You may now rate-limit
- the packet log.
+ - You may now rate-limit
+ the packet log.
- - Previous versions of Shorewall have
-an implementation of Static NAT which violates the
- principle of least surprise. NAT only occurs for packets
- arriving at (DNAT) or send from (SNAT) the interface
- named in the INTERFACE column of /etc/shorewall/nat. Beginning
- with version 1.1.6, NAT effective regardless of
-which interface packets come from or are destined to. To get
- compatibility with prior versions, I have added a new "ALL
- "ALL INTERFACES" column
- to /etc/shorewall/nat. By placing "no" or "No" in
- the new column, the NAT behavior of prior versions may
- be retained.
+ - Previous versions of Shorewall have
+ an implementation of Static NAT which violates the
+ principle of least surprise. NAT only occurs for
+packets arriving at (DNAT) or send from (SNAT) the
+interface named in the INTERFACE column of /etc/shorewall/nat.
+Beginning with version 1.1.6, NAT effective regardless
+ of which interface packets come from or are destined to.
+To get compatibility with prior versions, I have added
+a new "ALL "ALL INTERFACES"
+ column to /etc/shorewall/nat. By placing "no" or
+ "No" in the new column, the NAT behavior of prior
+versions may be retained.
- - The treatment of IPSEC
- Tunnels where the remote gateway is a standalone system
- has been improved. Previously, it was necessary to include
- an additional rule allowing UDP port 500 traffic to pass
- through the tunnel. Shorewall will now create this rule automatically
- when you place the name of the remote peer's zone in a new
-GATEWAY ZONE column in /etc/shorewall/tunnels.
+ - The treatment of IPSEC Tunnels where the remote
+ gateway is a standalone system has been improved. Previously,
+ it was necessary to include an additional rule allowing
+ UDP port 500 traffic to pass through the tunnel. Shorewall
+ will now create this rule automatically when you place the
+name of the remote peer's zone in a new GATEWAY ZONE column in
+/etc/shorewall/tunnels.
-
+
-
+
5/20/2001 - The current version of Shorewall is 1.1.5. In this
version
-
+
-
+
5/10/2001 - The current version of Shorewall is 1.1.4. In this
version
-
+
- - Accepting RELATED
- connections is now optional.
+ - Accepting RELATED
+ connections is now optional.
- - Corrected problem where if "shorewall start"
- aborted early (due to kernel configuration errors
- for example), superfluous 'sed' error messages
- were reported.
+ - Corrected problem where if "shorewall start"
+ aborted early (due to kernel configuration errors
+ for example), superfluous 'sed' error messages
+ were reported.
- - Corrected rules generated for port redirection.
+ - Corrected rules generated for port redirection.
- - The order in which iptables kernel modules
- are loaded has been corrected (Thanks to Mark
- Pavlidis).
+ - The order in which iptables kernel modules
+ are loaded has been corrected (Thanks to Mark
+ Pavlidis).
-
+
-
+
4/28/2001 - The current version of Shorewall is 1.1.3. In this
version
-
+
- - Correct message issued when Proxy ARP address
- added (Thanks to Jason Kirtland).
+ - Correct message issued when Proxy ARP address
+ added (Thanks to Jason Kirtland).
- - /tmp/shorewallpolicy-$$ is now removed if
- there is an error while starting the firewall.
+ - /tmp/shorewallpolicy-$$ is now removed if
+ there is an error while starting the firewall.
- - /etc/shorewall/icmp.def and /etc/shorewall/common.def
- are now used to define the icmpdef and common
- chains unless overridden by the presence of /etc/shorewall/icmpdef
- or /etc/shorewall/common.
+ - /etc/shorewall/icmp.def and /etc/shorewall/common.def
+ are now used to define the icmpdef and
+common chains unless overridden by the presence
+ of /etc/shorewall/icmpdef or /etc/shorewall/common.
- - In the .lrp, the file /var/lib/lrpkg/shorwall.conf
- has been corrected. An extra space after
+
- In the .lrp, the file /var/lib/lrpkg/shorwall.conf
+ has been corrected. An extra space after
"/etc/shorwall/policy" has been removed and "/etc/shorwall/rules"
has been added.
- - When a sub-shell encounters a fatal error
- and has stopped the firewall, it now kills the
-main shell so that the main shell will not continue.
+ - When a sub-shell encounters a fatal error
+ and has stopped the firewall, it now kills
+the main shell so that the main shell will not continue.
- - A problem has been corrected where a sub-shell
- stopped the firewall and main shell continued
- resulting in a perplexing error message referring
- to "common.so" resulted.
+ - A problem has been corrected where a sub-shell
+ stopped the firewall and main shell continued
+ resulting in a perplexing error message referring
+ to "common.so" resulted.
- - Previously, placing "-" in the PORT(S) column
- in /etc/shorewall/rules resulted in an error
- message during start. This has been corrected.
+ - Previously, placing "-" in the PORT(S) column
+ in /etc/shorewall/rules resulted in an error
+ message during start. This has been corrected.
- - The first line of "install.sh" has been corrected
- -- I had inadvertently deleted the initial "#".
+ - The first line of "install.sh" has been corrected
+ -- I had inadvertently deleted the initial "#".
-
+
-
+
4/12/2001 - The current version of Shorewall is 1.1.2. In this
version
-
+
- - Port redirection now works again.
+ - Port redirection now works again.
- - The icmpdef and common chains The icmpdef and common chains may now be user-defined.
- - The firewall no longer fails to start if "routefilter"
- is specified for an interface that isn't started.
- A warning message is now issued in this case.
+ - The firewall no longer fails to start if
+"routefilter" is specified for an interface that
+ isn't started. A warning message is now issued
+ in this case.
- - The LRP Version is renamed "shorwall" for
- 8,3 MSDOS file system compatibility.
+ - The LRP Version is renamed "shorwall" for
+ 8,3 MSDOS file system compatibility.
- - A couple of LRP-specific problems were corrected.
+ - A couple of LRP-specific problems were corrected.
-
+
-
+
4/8/2001 - Shorewall is now affiliated with the Leaf Project
-
+
-
+
4/5/2001 - The current version of Shorewall is 1.1.1. In this version:
-
+
- - The common chain is traversed from INPUT,
-OUTPUT and FORWARD before logging occurs
+ - The common chain is traversed from INPUT,
+ OUTPUT and FORWARD before logging occurs
- - The source has been cleaned up dramatically
+ - The source has been cleaned up dramatically
- - DHCP DISCOVER packets with RFC1918 source
-addresses no longer generate log messages. Linux
- DHCP clients generate such packets and it's
- annoying to see them logged.
+ - DHCP DISCOVER packets with RFC1918 source
+ addresses no longer generate log messages. Linux
+ DHCP clients generate such packets and it's
+ annoying to see them logged.
-
+
-
+
3/25/2001 - The current version of Shorewall is 1.1.0. In this version:
-
+
- - Log messages now indicate the packet disposition.
+ - Log messages now indicate the packet disposition.
- - Error messages have been improved.
+ - Error messages have been improved.
- - The ability to define zones consisting of
-an enumerated set of hosts and/or subnetworks has
- been added.
+ - The ability to define zones consisting of
+ an enumerated set of hosts and/or subnetworks has
+ been added.
- - The zone-to-zone chain matrix is now sparse
- so that only those chains that contain meaningful
- rules are defined.
+ - The zone-to-zone chain matrix is now sparse
+ so that only those chains that contain meaningful
+ rules are defined.
- - 240.0.0.0/4 and 169.254.0.0/16 have been added
- to the source subnetworks whose packets are dropped
- under the norfc1918 interface option.
+ - 240.0.0.0/4 and 169.254.0.0/16 have been
+ added to the source subnetworks whose packets
+ are dropped under the norfc1918 interface
+ option.
- - Exits are now provided for executing an user-defined
- script when a chain is defined, when the
-firewall is initialized, when the firewall is
- started, when the firewall is stopped and when the
-firewall is cleared.
+ - Exits are now provided for executing an
+user-defined script when a chain is defined,
+when the firewall is initialized, when the firewall
+ is started, when the firewall is stopped and
+when the firewall is cleared.
- - The Linux kernel's route filtering facility
- can now be specified selectively on network
- interfaces.
+ - The Linux kernel's route filtering facility
+ can now be specified selectively on network
+ interfaces.
-
+
-
+
3/19/2001 - The current version of Shorewall is 1.0.4. This version:
-
+
- - Allows user-defined zones. Shorewall now has
- only one pre-defined zone (fw) with the remaining
- zones being defined in the new configuration
- file /etc/shorewall/zones. The /etc/shorewall/zones file
- released in this version provides behavior that
- is compatible with Shorewall 1.0.3.
+ - Allows user-defined zones. Shorewall now
+ has only one pre-defined zone (fw) with the remaining
+ zones being defined in the new configuration
+ file /etc/shorewall/zones. The /etc/shorewall/zones file
+ released in this version provides behavior that
+ is compatible with Shorewall 1.0.3.
- - Adds the ability to specify logging in entries
- in the /etc/shorewall/rules file.
+ - Adds the ability to specify logging in entries
+ in the /etc/shorewall/rules file.
- - Correct handling of the icmp-def chain so
-that only ICMP packets are sent through the
+
- Correct handling of the icmp-def chain so
+ that only ICMP packets are sent through the
chain.
- - Compresses the output of "shorewall monitor"
- if awk is installed. Allows the command to work
- if awk isn't installed (although it's not pretty).
+ - Compresses the output of "shorewall monitor"
+ if awk is installed. Allows the command to work
+ if awk isn't installed (although it's not pretty).
-
+
-
+
3/13/2001 - The current version of Shorewall is 1.0.3. This is a bug-fix
- release with no new features.
+ release with no new features.
-
+
- - The PATH variable in the firewall script now
- includes /usr/local/bin and /usr/local/sbin.
+ - The PATH variable in the firewall script
+now includes /usr/local/bin and /usr/local/sbin.
- - DMZ-related chains are now correctly deleted
- if the DMZ is deleted.
+ - DMZ-related chains are now correctly deleted
+ if the DMZ is deleted.
- - The interface OPTIONS for "gw" interfaces
- are no longer ignored.
+ - The interface OPTIONS for "gw" interfaces
+ are no longer ignored.
-
+
-
+
3/8/2001 - The current version of Shorewall is 1.0.2. It supports 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.
+ 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 7/15/2003 - Tom Eastep
-
+
-
+
Copyright © 2001, 2002 Thomas M. Eastep.
-
+
+
+
diff --git a/Shorewall-docs/OPENVPN.html b/Shorewall-docs/OPENVPN.html
index 9041e1565..8a673f957 100755
--- a/Shorewall-docs/OPENVPN.html
+++ b/Shorewall-docs/OPENVPN.html
@@ -1,282 +1,283 @@
-
+
OpenVPN Tunnels
-
+
-
+
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
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
+
+
+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
+
+
+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
+
+
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
+
+
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.
+In /etc/shorewall/interfaces:
+
+
+
+
+
+ ZONE |
+ INTERFACE |
+ BROADCAST |
+ OPTIONS |
+
+
+ vpn |
+ tun0 |
+
+ |
+ |
+
+
+
-
-On system A, the 10.0.0.0/8 will comprise the vpn
-zone. In /etc/shorewall/interfaces:
-
-
-
-
-
- ZONE |
- INTERFACE |
- BROADCAST |
- OPTIONS |
-
-
- vpn |
- tun0 |
-
- |
- |
-
-
-
-
-
-
+
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
+
+
+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
+ 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 |
- |
-
-
-
+
+
+ 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 |
- |
-
-
-
+
+
+ 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:
-
-
+ 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 |
- |
-
-
-
+
+
+ SOURCE |
+ DEST |
+ POLICY |
+ LOG LEVEL |
+
+
+ loc |
+ vpn |
+ ACCEPT |
+ |
+
+
+ vpn |
+ loc |
+ ACCEPT |
+ |
+
+
+
-
-
-On both systems, restart Shorewall and start OpenVPN. The systems in the
+
+
+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
+
+
Updated 2/4/2003 - Tom Eastep
and Simon Mater
-
-
+
+
-
-Copyright
+
+Copyright
© 2003 Thomas M. Eastep. and Simon Mater
-
-
+
+
+
diff --git a/Shorewall-docs/PPTP.htm b/Shorewall-docs/PPTP.htm
index 6b464faba..369bb3331 100644
--- a/Shorewall-docs/PPTP.htm
+++ b/Shorewall-docs/PPTP.htm
@@ -1,926 +1,928 @@
-
+
-
+
-
+
-
+
Shorewall PPTP
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
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 URLs
-for information about installing MPPE into your kernel and pppd.
-The Linux PPTP client project
-has a nice GUI for configuring and managing VPN connections where your
-Linux system is the PPTP client. This is what I currently use. I am no longer
-running PoPToP but rather I use the PPTP Server included with XP Professional
-(see PPTP Server running behind your Firewall
-below).
- http://pptpclient.sourceforge.net
-(Everything you need to run a PPTP client).
- http://www.poptop.org (The 'kernelmod'
-package can be used to quickly install MPPE into your kernel without rebooting).
-I am leaving the instructions for building MPPE-enabled kernels and pppd
-in the text below for those who may wish to obtain the relevant current patches
-and "roll their own".
-
-
-Shorewall easily supports PPTP in a number of configurations:
-
-
-
-1. PPTP Server Running on your
-Firewall
-
-I will try to give you an idea of how to set up a PPTP server on your
-firewall system. This isn't a detailed HOWTO but rather an example of how
-I have set up a working PPTP server on my own firewall.
-
-The steps involved are:
-
-
- - Patching and building pppd
- - Patching and building your Kernel
- - Configuring Samba
- - Configuring pppd
- - Configuring pptpd
- - Configuring Shorewall
-
-
-
-Patching and Building pppd
-
-To run pppd on a 2.4 kernel, you need the pppd 2.4.1 or later. The primary
- site for releases of pppd is ftp://ftp.samba.org/pub/ppp.
-
-You will need the following patches:
-
-
-
-You may also want the following patch if you want to require remote hosts
-to use encryption:
-
-
-
-Un-tar the pppd source and uncompress the patches into one directory (the
- patches and the ppp-2.4.1 directory are all in a single parent directory):
-
-
- - cd ppp-2.4.1
- - patch -p1 < ../ppp-2.4.0-openssl-0.9.6-mppe.patch
- - patch -p1 < ../ppp-2.4.1-MSCHAPv2-fix.patch
- - (Optional) patch -p1 < ../require-mppe.diff
- - ./configure
- - make
-
-
-
-You will need to install the resulting binary on your firewall system.
-To do that, I NFS mount my source filesystem and use "make install" from
-the ppp-2.4.1 directory.
-
-Patching and Building your Kernel
-
-You will need one of the following patches depending on your kernel version:
-
-
-
-Uncompress the patch into the same directory where your top-level kernel
- source is located and:
-
-
- - cd <your GNU/Linux source top-level directory>
- - patch -p1 < ../linux-2.4.16-openssl-0.9.6b-mppe.patch
-
-
-
-Now configure your kernel. Here is my ppp configuration:
-
-
-
-
-
-
-Configuring Samba
-
-You will need a WINS server (Samba configured to run as a WINS server
-is fine). Global section from /etc/samba/smb.conf on my WINS server (192.168.1.3)
-is:
-
-
- [global]
workgroup = TDM-NSTOP
netbios name = WOOKIE
server string = GNU/Linux Box
encrypt passwords = Yes
log file = /var/log/samba/%m.log
max log size = 0
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 65
domain master = True
preferred master = True
dns proxy = No
wins support = Yes
printing = lprng
[homes]
comment = Home Directories
valid users = %S
read only = No
create mask = 0664
directory mask = 0775
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
-
-
-Configuring pppd
-
-Here is a copy of my /etc/ppp/options.poptop file:
-
-
- ipparam PoPToP
- lock
- mtu 1490
- mru 1490
- ms-wins 192.168.1.3
- ms-dns 206.124.146.177
- multilink
- proxyarp
- auth
- +chap
- +chapms
- +chapms-v2
- ipcp-accept-local
- ipcp-accept-remote
- lcp-echo-failure 30
- lcp-echo-interval 5
- deflate 0
- mppe-128
- mppe-stateless
- require-mppe
- require-mppe-stateless
-
-
-Notes:
-
-
- - System 192.168.1.3 acts as a WINS server so I have included that
-IP as the 'ms-wins' value.
- - I have pointed the remote clients at my DNS server -- it has external
- address 206.124.146.177.
- - I am requiring 128-bit stateless compression (my kernel is built
-with the 'require-mppe.diff' patch mentioned above.
-
-
-
-Here's my /etc/ppp/chap-secrets:
-
-
- Secrets for authentication using CHAP
- # client server secret IP addresses
- CPQTDM\\TEastep * <shhhhhh> 192.168.1.7
- TEastep * <shhhhhh> 192.168.1.7
-
-
-I am the only user who connects to the server but I may connect either
-with or without a domain being specified. The system I connect from is my
-laptop so I give it the same IP address when tunneled in at it has when I
-use its wireless LAN card around the house.
-
-You will also want the following in /etc/modules.conf:
-
- alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
-
-Configuring pptpd
-
-PoPTop (pptpd) is available from http://poptop.lineo.com/.
-
-Here is a copy of my /etc/pptpd.conf file:
-
-
- option /etc/ppp/options.poptop
- speed 115200
- localip 192.168.1.254
- remoteip 192.168.1.33-38
-
-
-Notes:
-
-
- - I specify the /etc/ppp/options.poptop file as my ppp options file
-(I have several).
- - The local IP is the same as my internal interface's (192.168.1.254).
- - I have assigned a remote IP range that overlaps my local network.
-This, together with 'proxyarp' in my /etc/ppp/options.poptop file make
-the remote hosts look like they are part of the local subnetwork.
-
-
-
-I use this file to start/stop pptpd -- I have this in /etc/init.d/pptpd:
-
-
- #!/bin/sh
- #
- # /etc/rc.d/init.d/pptpd
- #
- # chkconfig: 5 12 85
- # description: control pptp server
- #
-
- case "$1" in
- start)
- echo 1 > /proc/sys/net/ipv4/ip_forward
- modprobe ppp_async
- modprobe ppp_generic
- modprobe ppp_mppe
- modprobe slhc
- if /usr/local/sbin/pptpd; then
- touch /var/lock/subsys/pptpd
- fi
- ;;
- stop)
- killall pptpd
- rm -f /var/lock/subsys/pptpd
- ;;
- restart)
- killall pptpd
- if /usr/local/sbin/pptpd; then
- touch /var/lock/subsys/pptpd
- fi
- ;;
- status)
- ifconfig
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status}"
- ;;
- esac
-
-
-Configuring Shorewall
-
-I consider hosts connected to my PPTP server to be just like local systems.
- My key Shorewall entries are:
-
-/etc/shorewall/zones:
-
-
-
-
-
- ZONE |
- DISPLAY |
- COMMENTS |
-
-
- net |
- Internet |
- The Internet |
-
-
- loc |
- Local |
- My Local Network including remote PPTP clients |
-
-
-
-
-
-
-/etc/shorewall/interfaces:
-
-
-
-
-
- ZONE |
- INTERFACE |
- BROADCAST |
- OPTIONS |
-
-
- net |
- eth0 |
- 206.124.146.255 |
- norfc1918 |
-
-
- loc |
- eth2 |
- 192.168.1.255 |
- |
-
-
- - |
- ppp+ |
- |
- |
-
-
-
-
-
-
-/etc/shorewall/hosts:
-
-
-
-
-
- ZONE |
- HOST(S) |
- OPTIONS |
-
-
- loc |
- eth2:192.168.1.0/24 |
-
|
-
-
- 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
- |
- net
- |
- 0.0.0.0/0
- |
-
- |
-
-
-
-
-
-
-
- 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.
-
-2. PPTP Server Running Behind
-your Firewall
-
-If you have a single external IP address, add the following to your
-/etc/shorewall/rules file:
-
-
-
-
- ACTION |
- SOURCE |
- DEST |
- PROTO |
- DEST
- PORT(S) |
- SOURCE
- PORT(S) |
- ORIGINAL
- DEST |
-
-
- DNAT |
- net |
- loc:<server address> |
- tcp |
- 1723 |
- |
- |
-
-
- DNAT |
- net |
- loc:<server address> |
- 47 |
- - |
- |
- |
-
-
-
+
+
+
-
-If you have multiple external IP address and you want to forward a single
-<external address>, add the following to your /etc/shorewall/rules
-file:
-
-
-
-
-
- ACTION |
- SOURCE |
- DEST |
- PROTO |
- DEST
- PORT(S) |
- SOURCE
- PORT(S) |
- ORIGINAL
- DEST |
-
-
- DNAT |
- net |
- loc:<server address> |
- tcp |
- 1723 |
- - |
- <external address> |
-
-
- DNAT |
- net |
- loc:<server address> |
- 47 |
- - |
- - |
- <external address> |
-
-
-
-
-
-3. PPTP Clients Running Behind
-your Firewall
-
-You shouldn't have to take any special action for this case unless you
-wish to connect multiple clients to the same external server. In that case,
-you will need to follow the instructions at http://www.impsec.org/linux/masquerade/ip_masq_vpn.html.
- I recommend that you also add these two lines to your /etc/shorewall/modules
- file:
-
-
- loadmodule ip_conntrack_pptp
- loadmodule ip_nat_pptp
-
-
-4. PPTP Client Running on your
-Firewall.
-
-The PPTP GNU/Linux client is available at http://sourceforge.net/projects/pptpclient/.
- Rather than use the configuration script that comes with the client, I built
-my own. I also build my own kernel as described above
- rather than using the mppe package that is available with the client. My
-/etc/ppp/options file is mostly unchanged from what came with the client (see
-below).
-
-The key elements of this setup are as follows:
-
+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 URLs for information
+about installing MPPE into your kernel and pppd.
+
+The Linux PPTP client project
+has a nice GUI for configuring and managing VPN connections where your
+Linux system is the PPTP client. This is what I currently use. I am no longer
+running PoPToP but rather I use the PPTP Server included with XP Professional
+(see PPTP Server running behind your Firewall
+below).
+ http://pptpclient.sourceforge.net
+(Everything you need to run a PPTP client).
+ http://www.poptop.org (The 'kernelmod'
+package can be used to quickly install MPPE into your kernel without rebooting).
+
+I am leaving the instructions for building MPPE-enabled kernels and pppd
+in the text below for those who may wish to obtain the relevant current patches
+and "roll their own".
+
+
+
+Shorewall easily supports PPTP in a number of configurations:
+
+
+
+1. PPTP Server Running on your Firewall
+
+I will try to give you an idea of how to set up a PPTP server on your firewall
+system. This isn't a detailed HOWTO but rather an example of how I have set
+up a working PPTP server on my own firewall.
+
+The steps involved are:
+
- - Define a zone for the remote network accessed via PPTP.
- - Associate that zone with a ppp interface.
- - Define rules for PPTP traffic to/from the firewall.
- - Define rules for traffic two and from the remote zone.
-
+ - Patching and building pppd
+ - Patching and building your Kernel
+ - Configuring Samba
+ - Configuring pppd
+ - Configuring pptpd
+ - Configuring Shorewall
+
-
-Here are examples from my setup:
-
-/etc/shorewall/zones
-
-
+
+Patching and Building pppd
+
+To run pppd on a 2.4 kernel, you need the pppd 2.4.1 or later. The primary
+ site for releases of pppd is ftp://ftp.samba.org/pub/ppp.
+
+You will need the following patches:
+
+
+
+You may also want the following patch if you want to require remote hosts
+ to use encryption:
+
+
+
+Un-tar the pppd source and uncompress the patches into one directory (the
+ patches and the ppp-2.4.1 directory are all in a single parent directory):
+
+
+ - cd ppp-2.4.1
+ - patch -p1 < ../ppp-2.4.0-openssl-0.9.6-mppe.patch
+ - patch -p1 < ../ppp-2.4.1-MSCHAPv2-fix.patch
+ - (Optional) patch -p1 < ../require-mppe.diff
+ - ./configure
+ - make
+
+
+
+You will need to install the resulting binary on your firewall system.
+ To do that, I NFS mount my source filesystem and use "make install" from
+the ppp-2.4.1 directory.
+
+Patching and Building your Kernel
+
+You will need one of the following patches depending on your kernel version:
+
+
+
+Uncompress the patch into the same directory where your top-level kernel
+ source is located and:
+
+
+ - cd <your GNU/Linux source top-level directory>
+ - patch -p1 < ../linux-2.4.16-openssl-0.9.6b-mppe.patch
+
+
+
+Now configure your kernel. Here is my ppp configuration:
+
+
+
+
+
+
+Configuring Samba
+
+You will need a WINS server (Samba configured to run as a WINS server is
+ fine). Global section from /etc/samba/smb.conf on my WINS server (192.168.1.3)
+ is:
+
+
+ [global]
workgroup = TDM-NSTOP
netbios name = WOOKIE
server string = GNU/Linux Box
encrypt passwords = Yes
log file = /var/log/samba/%m.log
max log size = 0
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 65
domain master = True
preferred master = True
dns proxy = No
wins support = Yes
printing = lprng
[homes]
comment = Home Directories
valid users = %S
read only = No
create mask = 0664
directory mask = 0775
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
+
+
+Configuring pppd
+
+Here is a copy of my /etc/ppp/options.poptop file:
+
+
+ ipparam PoPToP
+ lock
+ mtu 1490
+ mru 1490
+ ms-wins 192.168.1.3
+ ms-dns 206.124.146.177
+ multilink
+ proxyarp
+ auth
+ +chap
+ +chapms
+ +chapms-v2
+ ipcp-accept-local
+ ipcp-accept-remote
+ lcp-echo-failure 30
+ lcp-echo-interval 5
+ deflate 0
+ mppe-128
+ mppe-stateless
+ require-mppe
+ require-mppe-stateless
+
+
+Notes:
+
+
+ - System 192.168.1.3 acts as a WINS server so I have included that
+ IP as the 'ms-wins' value.
+ - I have pointed the remote clients at my DNS server -- it has external
+ address 206.124.146.177.
+ - I am requiring 128-bit stateless compression (my kernel is built
+ with the 'require-mppe.diff' patch mentioned above.
+
+
+
+Here's my /etc/ppp/chap-secrets:
+
+
+ Secrets for authentication using CHAP
+ # client server secret IP addresses
+ CPQTDM\\TEastep * <shhhhhh> 192.168.1.7
+ TEastep * <shhhhhh> 192.168.1.7
+
+
+I am the only user who connects to the server but I may connect either
+ with or without a domain being specified. The system I connect from is my
+ laptop so I give it the same IP address when tunneled in at it has when
+I use its wireless LAN card around the house.
+
+You will also want the following in /etc/modules.conf:
+
+ alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
+
+Configuring pptpd
+
+PoPTop (pptpd) is available from http://poptop.lineo.com/.
+
+Here is a copy of my /etc/pptpd.conf file:
+
+
+ option /etc/ppp/options.poptop
+ speed 115200
+ localip 192.168.1.254
+ remoteip 192.168.1.33-38
+
+
+Notes:
+
+
+ - I specify the /etc/ppp/options.poptop file as my ppp options file
+ (I have several).
+ - The local IP is the same as my internal interface's (192.168.1.254).
+ - I have assigned a remote IP range that overlaps my local network.
+ This, together with 'proxyarp' in my /etc/ppp/options.poptop file make
+ the remote hosts look like they are part of the local subnetwork.
+
+
+
+I use this file to start/stop pptpd -- I have this in /etc/init.d/pptpd:
+
+
+ #!/bin/sh
+ #
+ # /etc/rc.d/init.d/pptpd
+ #
+ # chkconfig: 5 12 85
+ # description: control pptp server
+ #
+
+ case "$1" in
+ start)
+ echo 1 > /proc/sys/net/ipv4/ip_forward
+ modprobe ppp_async
+ modprobe ppp_generic
+ modprobe ppp_mppe
+ modprobe slhc
+ if /usr/local/sbin/pptpd; then
+ touch /var/lock/subsys/pptpd
+ fi
+ ;;
+ stop)
+ killall pptpd
+ rm -f /var/lock/subsys/pptpd
+ ;;
+ restart)
+ killall pptpd
+ if /usr/local/sbin/pptpd; then
+ touch /var/lock/subsys/pptpd
+ fi
+ ;;
+ status)
+ ifconfig
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ ;;
+ esac
+
+
+Configuring Shorewall
+
+I consider hosts connected to my PPTP server to be just like local systems.
+ My key Shorewall entries are:
+
+/etc/shorewall/zones:
+
+
-
+
+
+ ZONE |
+ DISPLAY |
+ COMMENTS |
+
- ZONE |
- DISPLAY |
- COMMENTS |
-
-
- cpq |
- Compaq |
- Compaq Intranet |
-
-
-
+ net |
+ Internet |
+ The Internet |
+
+
+ loc |
+ Local |
+ My Local Network including remote PPTP clients |
+
+
+
-
-
-/etc/shorewall/interfaces
-
-
+
+
+/etc/shorewall/interfaces:
+
+
-
+
+
+ ZONE |
+ INTERFACE |
+ BROADCAST |
+ OPTIONS |
+
- ZONE |
- INTERFACE |
- BROADCAST |
- OPTIONS |
-
-
- - |
- ppp+ |
- |
- |
-
-
-
+ net |
+ eth0 |
+ 206.124.146.255 |
+ norfc1918 |
+
+
+ loc |
+ eth2 |
+ 192.168.1.255 |
+ |
+
+
+ - |
+ ppp+ |
+ |
+ |
+
+
+
-
-
-/etc/shorewall/hosts
-
-
+
+
+/etc/shorewall/hosts:
+
+
-
+
+
+ ZONE |
+ HOST(S) |
+ OPTIONS |
+
- ZONE |
- HOST(S) |
- OPTIONS |
-
-
- - |
- ppp+:!192.168.1.0/24 |
- |
-
-
-
+ loc |
+ eth2:192.168.1.0/24 |
+
+ |
+
+
+ loc |
+ ppp+:192.168.1.0/24 |
+ |
+
+
+
-
-
-/etc/shorewall/rules (For Shorewall versions up to and including 1.3.9b)
-
-
+
+
+/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)
+
-
-
+
+
+
- ACTION |
- SOURCE |
- DEST |
- PROTO |
- DEST
- PORT(S) |
- SOURCE
- PORT(S) |
- ORIGINAL
- DEST |
-
-
- ACCEPT |
- fw |
- net |
- tcp |
- 1723 |
- |
- |
-
-
- ACCEPT |
- fw |
- net |
- 47 |
- - |
- |
- |
-
-
-
+ TYPE
+ |
+ ZONE
+ |
+ GATEWAY
+ |
+ GATEWAY ZONE
+ |
+
+
+ pptpserver
+ |
+ net
+ |
+ 0.0.0.0/0
+ |
+
+ |
+
+
+
+
+
+
+ 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.
+
+2. PPTP Server Running Behind
+ your Firewall
+
+If you have a single external IP address, add the following to your /etc/shorewall/rules
+file:
+
+
+
+
+ ACTION |
+ SOURCE |
+ DEST |
+ PROTO |
+ DEST
+ PORT(S) |
+ SOURCE
+ PORT(S) |
+ ORIGINAL
+ DEST |
+
+
+ DNAT |
+ net |
+ loc:<server address> |
+ tcp |
+ 1723 |
+ |
+ |
+
+
+ DNAT |
+ net |
+ loc:<server address> |
+ 47 |
+ - |
+ |
+ |
+
+
+
+
+
+If you have multiple external IP address and you want to forward a single
+ <external address>, add the following to your /etc/shorewall/rules
+ file:
+
+
+
+
+
+ ACTION |
+ SOURCE |
+ DEST |
+ PROTO |
+ DEST
+ PORT(S) |
+ SOURCE
+ PORT(S) |
+ ORIGINAL
+ DEST |
+
+
+ DNAT |
+ net |
+ loc:<server address> |
+ tcp |
+ 1723 |
+ - |
+ <external address> |
+
+
+ DNAT |
+ net |
+ loc:<server address> |
+ 47 |
+ - |
+ - |
+ <external address> |
+
+
+
+
+
+
+3. PPTP Clients Running Behind
+ your Firewall
+
+You shouldn't have to take any special action for this case unless you
+ wish to connect multiple clients to the same external server. In that case,
+ you will need to follow the instructions at http://www.impsec.org/linux/masquerade/ip_masq_vpn.html.
+ I recommend that you also add these two lines to your /etc/shorewall/modules
+ file:
+
+
+ loadmodule ip_conntrack_pptp
+ loadmodule ip_nat_pptp
-
+
+4. PPTP Client Running on your Firewall.
+
+The PPTP GNU/Linux client is available at http://sourceforge.net/projects/pptpclient/.
+ Rather than use the configuration script that comes with the client, I
+built my own. I also build my own kernel as described
+above rather than using the mppe package that is available with the
+client. My /etc/ppp/options file is mostly unchanged from what came with
+the client (see below).
+
+The key elements of this setup are as follows:
+
+
+ - Define a zone for the remote network accessed via PPTP.
+ - Associate that zone with a ppp interface.
+ - Define rules for PPTP traffic to/from the firewall.
+ - Define rules for traffic two and from the remote zone.
+
+
+
+Here are examples from my setup:
+
+/etc/shorewall/zones
+
+
+
+
+
+ ZONE |
+ DISPLAY |
+ COMMENTS |
+
+
+ cpq |
+ Compaq |
+ Compaq Intranet |
+
+
+
+
+
+
+/etc/shorewall/interfaces
+
+
+
+
+
+ ZONE |
+ INTERFACE |
+ BROADCAST |
+ OPTIONS |
+
+
+ - |
+ ppp+ |
+ |
+ |
+
+
+
+
+
+
+/etc/shorewall/hosts
+
+
+
+
+
+ ZONE |
+ HOST(S) |
+ OPTIONS |
+
+
+ - |
+ ppp+:!192.168.1.0/24 |
+ |
+
+
+
+
+
+
+/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 |
+ fw |
+ net |
+ tcp |
+ 1723 |
+ |
+ |
+
+
+ ACCEPT |
+ fw |
+ net |
+ 47 |
+ - |
+ |
+ |
+
+
+
+
+
+
/etc/shorewall/tunnels (For Shorewall versions 1.3.10 and later)
-
-
-
+
+
+
-
-
- TYPE
- |
- ZONE
- |
- GATEWAY
- |
- GATEWAY ZONE
- |
-
-
- pptpclient
- |
- net
- |
- 0.0.0.0/0
- |
-
- |
-
-
-
+
+
+ TYPE
+ |
+ ZONE
+ |
+ GATEWAY
+ |
+ GATEWAY ZONE
+ |
+
+
+ pptpclient
+ |
+ net
+ |
+ 0.0.0.0/0
+ |
+
+ |
+
+
+
-
-
-
-I use the combination of interface and hosts file to define the 'cpq'
-zone because I also run a PPTP server on my firewall (see above). Using this
- technique allows me to distinguish clients of my own PPTP server from arbitrary
- hosts at Compaq; I assign addresses in 192.168.1.0/24 to my PPTP clients
+
+
+
+I use the combination of interface and hosts file to define the 'cpq' zone
+because I also run a PPTP server on my firewall (see above). Using this
+technique allows me to distinguish clients of my own PPTP server from arbitrary
+ hosts at Compaq; I assign addresses in 192.168.1.0/24 to my PPTP clients
and Compaq doesn't use that RFC1918 Class C subnet.
-
-I use this script in /etc/init.d to control the client. The reason that
-I disable ECN when connecting is that the Compaq tunnel servers don't do
-ECN yet and reject the initial TCP connection request if I enable ECN :-(
+
+
I use this script in /etc/init.d to control the client. The reason that
+ I disable ECN when connecting is that the Compaq tunnel servers don't do
+ECN yet and reject the initial TCP connection request if I enable ECN :-(
-
-
+
+
#!/bin/sh
- #
- # /etc/rc.d/init.d/pptp
- #
- # chkconfig: 5 60 85
- # description: PPTP Link Control
- #
- NAME="Tandem"
- ADDRESS=tunnel-tandem.compaq.com
- USER='Tandem\tommy'
- ECN=0
- DEBUG=
-
- start_pptp() {
- echo $ECN > /proc/sys/net/ipv4/tcp_ecn
- if /usr/sbin/pptp $ADDRESS user $USER noauth $DEBUG; then
- touch /var/lock/subsys/pptp
- echo "PPTP Connection to $NAME Started"
- fi
- }
-
- stop_pptp() {
- if killall /usr/sbin/pptp 2> /dev/null; then
- echo "Stopped pptp"
- else
- rm -f /var/run/pptp/*
- fi
-
- # if killall pppd; then
- # echo "Stopped pppd"
- # fi
-
- rm -f /var/lock/subsys/pptp
-
- echo 1 > /proc/sys/net/ipv4/tcp_ecn
- }
-
-
- case "$1" in
- start)
- echo "Starting PPTP Connection to ${NAME}..."
- start_pptp
- ;;
- stop)
- echo "Stopping $NAME PPTP Connection..."
- stop_pptp
- ;;
- restart)
- echo "Restarting $NAME PPTP Connection..."
- stop_pptp
- start_pptp
- ;;
- status)
- ifconfig
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status}"
- ;;
- esac
-
-
-
+ #
+ # /etc/rc.d/init.d/pptp
+ #
+ # chkconfig: 5 60 85
+ # description: PPTP Link Control
+ #
+ NAME="Tandem"
+ ADDRESS=tunnel-tandem.compaq.com
+ USER='Tandem\tommy'
+ ECN=0
+ DEBUG=
+
+ start_pptp() {
+ echo $ECN > /proc/sys/net/ipv4/tcp_ecn
+ if /usr/sbin/pptp $ADDRESS user $USER noauth $DEBUG; then
+ touch /var/lock/subsys/pptp
+ echo "PPTP Connection to $NAME Started"
+ fi
+ }
+
+ stop_pptp() {
+ if killall /usr/sbin/pptp 2> /dev/null; then
+ echo "Stopped pptp"
+ else
+ rm -f /var/run/pptp/*
+ fi
+
+ # if killall pppd; then
+ # echo "Stopped pppd"
+ # fi
+
+ rm -f /var/lock/subsys/pptp
+
+ echo 1 > /proc/sys/net/ipv4/tcp_ecn
+ }
+
+
+ case "$1" in
+ start)
+ echo "Starting PPTP Connection to ${NAME}..."
+ start_pptp
+ ;;
+ stop)
+ echo "Stopping $NAME PPTP Connection..."
+ stop_pptp
+ ;;
+ restart)
+ echo "Restarting $NAME PPTP Connection..."
+ stop_pptp
+ start_pptp
+ ;;
+ status)
+ ifconfig
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ ;;
+ esac
+
+
+
Here's my /etc/ppp/options file:
-
-
+
+
#
- # Identify this connection
- #
- ipparam Compaq
- #
- # Lock the port
- #
- lock
- #
- # We don't need the tunnel server to authenticate itself
- #
- noauth
-
- +chap
- +chapms
- +chapms-v2
-
- multilink
- mrru 1614
- #
- # Turn off transmission protocols we know won't be used
- #
- nobsdcomp
- nodeflate
-
- #
- # We want MPPE
- #
- mppe-128
- mppe-stateless
-
- #
- # We want a sane mtu/mru
- #
- mtu 1000
- mru 1000
-
- #
- # Time this thing out of it goes poof
- #
- lcp-echo-failure 10
- lcp-echo-interval 10
-
-
-My /etc/ppp/ip-up.local file sets up the routes that I need to route Compaq
- traffic through the PPTP tunnel:
-
-
+ # Identify this connection
+ #
+ ipparam Compaq
+ #
+ # Lock the port
+ #
+ lock
+ #
+ # We don't need the tunnel server to authenticate itself
+ #
+ noauth
+
+ +chap
+ +chapms
+ +chapms-v2
+
+ multilink
+ mrru 1614
+ #
+ # Turn off transmission protocols we know won't be used
+ #
+ nobsdcomp
+ nodeflate
+
+ #
+ # We want MPPE
+ #
+ mppe-128
+ mppe-stateless
+
+ #
+ # We want a sane mtu/mru
+ #
+ mtu 1000
+ mru 1000
+
+ #
+ # Time this thing out of it goes poof
+ #
+ lcp-echo-failure 10
+ lcp-echo-interval 10
+
+
+My /etc/ppp/ip-up.local file sets up the routes that I need to route Compaq
+ traffic through the PPTP tunnel:
+
+
#/bin/sh
-
- case $6 in
- Compaq)
- route add -net 16.0.0.0 netmask 255.0.0.0 gw $5 $1
- route add -net 130.252.0.0 netmask 255.255.0.0 gw $5 $1
- route add -net 131.124.0.0 netmask 255.255.0.0 gw $5 $1
- ...
- ;;
- esac
-
-
-Finally, I run the following script every five minutes under crond to
- restart the tunnel if it fails:
-
+
+ case $6 in
+ Compaq)
+ route add -net 16.0.0.0 netmask 255.0.0.0 gw $5 $1
+ route add -net 130.252.0.0 netmask 255.255.0.0 gw $5 $1
+ route add -net 131.124.0.0 netmask 255.255.0.0 gw $5 $1
+ ...
+ ;;
+ esac
+
+
+Finally, I run the following script every five minutes under crond to
+ restart the tunnel if it fails:
+
#!/bin/sh
restart_pptp() {
/sbin/service pptp stop
sleep 10
if /sbin/service pptp start; then
/usr/bin/logger "PPTP Restarted"
fi
}
if [ -n "`ps ax | grep /usr/sbin/pptp | grep -v grep`" ]; then
exit 0
fi
echo "Attempting to restart PPTP"
restart_pptp > /dev/null 2>&1 &
-
-Here's a script
- and corresponding ip-up.local from Here's a script
+ and corresponding ip-up.local from Jerry Vonau that controls two PPTP connections.
-
+
Last modified 5/15/2003 - Tom Eastep
-
+
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/ProxyARP.htm b/Shorewall-docs/ProxyARP.htm
index 53549db45..538a880b4 100644
--- a/Shorewall-docs/ProxyARP.htm
+++ b/Shorewall-docs/ProxyARP.htm
@@ -1,188 +1,190 @@
-
+
Shorewall Proxy ARP
-
+
-
+
-
+
-
+
-
-
-
+ bgcolor="#3366ff" height="90">
+ |
+
+
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
+
+
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
+
+
+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
+
+
+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
+
+
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
+
+
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
+
+
+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.
+
+
+
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:
-
-
+
+
- - (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
+ - (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
+
+ 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
+
+ arping -U -I <net if> <newly
proxied IP>
- arping -U -I eth0 66.58.99.83 # for example
+ 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.
- 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
+ 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
+ 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
+ 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:
-
-
+
+
-
-
-
Now from 130.252.100.19, ping the ISP's gateway (which we
+
+
+
+
Now from 130.252.100.19, ping the ISP's gateway (which we
will assume is 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.
-
-
+
+
+
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 © Copyright © 2001, 2002, 2003 Thomas M. Eastep.
+
diff --git a/Shorewall-docs/SeattleInTheSpring.html b/Shorewall-docs/SeattleInTheSpring.html
index d90ca36e6..a3207f8b3 100755
--- a/Shorewall-docs/SeattleInTheSpring.html
+++ b/Shorewall-docs/SeattleInTheSpring.html
@@ -1,52 +1,53 @@
-
+
Springtime in Seattle!!!
-
+
-
+
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
Visit Seattle in the Springtime!!!!
- |
-
-
-
+
+
+
+
-
+
-

+

+
+
+
March 6, 2003 - Nice day for a walk....
+
+
+
-
March 6, 2003 - Nice day for a walk....
-
-

-
-
-
-

-
-
The view from my office window -- think I'll go out and enjoy the deck
+
+
+
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
+
+
+
Updated 3/7/2003 - Tom Eastep
-
+
Copyright © 2001, 2002 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/Shorewall_CA_html.html b/Shorewall-docs/Shorewall_CA_html.html
index 712bece44..cd7d40ec9 100644
--- a/Shorewall-docs/Shorewall_CA_html.html
+++ b/Shorewall-docs/Shorewall_CA_html.html
@@ -2,91 +2,91 @@
Shorewall Certificate Authority
-
+
-
+
-
+
-
-
-
-
- Shorewall Certificate Authority
+ bgcolor="#3366ff" height="90">
+
+
+
+ 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)
+
+ 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
+
+ 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
+
+ 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
+
+ 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
+
+ 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:
-
+
+ There are two things that you can do:
+
- - You can accept the mail.shorewall.net certificate when your browser
- asks -- your acceptence of the certificate can be temporary (for that access
+
- 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
+
- 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?
-
+ What are the risks?
+
- - 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,
+
- 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.
-
+
- 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... :-)
-
+
Last Updated 1/17/2003 - Tom Eastep
-
+
Copyright © 2001, 2002, 2003 Thomas
-M. Eastep.
+ 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 e9d6d819a..e8fd279e7 100644
--- a/Shorewall-docs/Shorewall_CVS_Access.html
+++ b/Shorewall-docs/Shorewall_CVS_Access.html
@@ -2,50 +2,51 @@
Shorewall CVS Access
-
+
-
+
-
+
-
-
-
- Shorewall CVS Access
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+
+
+
+ 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
+
+ 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.
-
-
-
+
+
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 9f55bd60f..bcd172191 100644
--- a/Shorewall-docs/Shorewall_Doesnt.html
+++ b/Shorewall-docs/Shorewall_Doesnt.html
@@ -2,48 +2,50 @@
What Shorewall Cannot Do
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
- Some things that Shorewall
+ bgcolor="#3366ff" height="90">
+
+
+
+ Some things that Shorewall
Cannot Do
- |
-
-
-
+
+ |
+
+
+
-
- Shorewall cannot:
-
+
+ Shorewall cannot:
+
- - Be used on a Linux System that is functioning as a Layer 2 Bridge
- - Act as a "Personal Firewall" that allows internet access by application.
- - Do content filtering -- better to use Be used on a Linux System that is functioning as a Layer 2 Bridge
+ - Act as a "Personal Firewall" that allows internet access by application.
+ - Do content filtering -- better to use Squid for that.
-
-
+
+
-
-
Last updated 7/9/2003 - Tom Eastep
-
+
+
Last updated 7/9/2003 - Tom Eastep
+
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/Shorewall_Squid_Usage.html b/Shorewall-docs/Shorewall_Squid_Usage.html
index a9d2b49fd..790e26040 100644
--- a/Shorewall-docs/Shorewall_Squid_Usage.html
+++ b/Shorewall-docs/Shorewall_Squid_Usage.html
@@ -2,533 +2,541 @@
Shorewall Squid Usage
-
+
-
+
-
+
-
-
-
-
- |
- Using Shorewall with Squid
- |
-
-
- |
-
-
-
-
-
- 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.
-
-

- Please observe the following general requirements:
-
-
- In all cases, Squid should be configured
-to run as a transparent proxy as described at
http://www.tldp.org/HOWTO/mini/TransparentProxy-4.html.
-
-
- The following instructions mention the files
- /etc/shorewall/start and /etc/shorewall/init -- if you don't have those
- files, siimply create them.
-
-
- When the Squid server is in the DMZ zone
- or in the local zone, that zone must be defined ONLY by its interface
--- no /etc/shorewall/hosts file entries. That is because the packets being
- routed to the Squid server still have their original destination IP addresses.
-
-
- You must have iptables installed on your
- Squid server.
-
-
- If you run a Shorewall version earlier
-than 1.4.6, you must have NAT and MANGLE enabled in your /etc/shorewall/conf
- file
-
-
-NAT_ENABLED=Yes
- MANGLE_ENABLED=Yes
-
- Three different configurations are covered:
-
-
- - Squid running
- on the Firewall.
- - Squid running
-in the local network
- - Squid running in
-the DMZ
-
-
-
-
Squid 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 and listening on port
-3128. Squid will of course require access to remote web servers.
-
- In /etc/shorewall/rules:
-
-
-
-
-
-
- ACTION |
- SOURCE |
- DEST |
- PROTO |
- DEST
- PORT(S) |
- SOURCE
- PORT(S) |
- ORIGINAL
- DEST |
-
-
- REDIRECT |
- loc |
- 3128 |
- tcp |
- www |
- -
- |
- !206.124.146.177 |
-
-
- ACCEPT |
- fw |
- net |
- tcp |
- www |
-
- |
-
- |
-
-
-
-
-
-
- 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:
-
-
- run_iptables -t nat -I loc_dnat -p tcp --dport www -d 130.252.100.0/24 -j RETURN
-
- To exclude additional hosts or networks, just add additional similar
-rules.
-
-
Squid 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 on port
- 3128. Your local interface is eth1. There may also be a web server running
- on 192.168.1.3. It is assumed that web access is already enabled from
-the local zone to the internet.
-
-
WARNING: This setup may conflict with
- other aspects of your gateway including but not limited to traffic
-shaping and route redirection. For that reason, I don't recommend
-it.
-
-
-
- - On your firewall system, issue the following command
-
-
-
-
-
- echo 202 www.out >> /etc/iproute2/rt_tables
-
-
-
- - In /etc/shorewall/init, put:
-
-
-
-
-
- if [ -z "`ip rule list | grep www.out`" ] ; then
ip rule add fwmark 202 table www.out
ip route add default via 192.168.1.3 dev eth1 table www.out
ip route flush cache
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
fi
-
-
-
- - If you are running Shorewall 1.4.1 or Shorewall 1.4.1a,
-please upgrade to Shorewall 1.4.2 or later.
-
-
- - If you are running Shorewall 1.4.2 or later, then in /etc/shorewall/interfaces:
-
-
-
-
-
- ZONE
- |
- INTERFACE
- |
- BROADCAST
- |
- OPTIONS
- |
-
-
- loc
- |
- eth1
- |
- detect
- |
- routeback
- |
-
-
-
-
-
-
- - In /etc/shorewall/rules:
-
-
-
-
-
- ACTION |
- SOURCE |
- DEST |
- PROTO |
- DEST
- PORT(S) |
- SOURCE
- PORT(S) |
- ORIGINAL
- DEST |
-
-
- ACCEPT
- |
- loc |
- loc
- |
- tcp |
- www |
-
- |
-
- |
-
-
-
-
-
-
- - Alternativfely, if you are running Shorewall 1.4.0 you can have the
- following policy in place of the above rule:
-
-
-
-
- SOURCE
- |
- DESTINATION
- |
- POLICY
- |
- LOG LEVEL
- |
- BURST PARAMETERS
- |
-
-
- loc
- |
- loc
- |
- ACCEPT
- |
-
- |
-
- |
-
-
-
-
-
-
- - In /etc/shorewall/start add:
-
-
-
-
-
- iptables -t mangle -A PREROUTING -i eth1 -s ! 192.168.1.3 -p tcp --dport 80 -j MARK --set-mark 202
-
-
-
-
-
If you are running RedHat on the server, you can simply execute
- the following commands after you have typed the iptables command above:
-
-
-
-
-
- iptables-save > /etc/sysconfig/iptables
chkconfig --level 35 iptables start
-
-
-
-
-
Squid 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.
-
-
- - On your firewall system, issue the following command
-
-
-
-
-
- echo 202 www.out >> /etc/iproute2/rt_tables
-
-
-
- - In /etc/shorewall/init, put:
-
-
-
-
-
- if [ -z "`ip rule list | grep www.out`" ] ; then
ip rule add fwmark 202 table www.out
ip route add default via 192.0.2.177 dev eth1 table www.out
ip route flush cache
fi
-
-
-
- - Do one of the following:
-
- A) In /etc/shorewall/start add
-
-
-
-
-
- iptables -t mangle -A PREROUTING -i eth2 -p tcp --dport 80 -j MARK --set-mark 202
-
-
-
B) Set MARK_IN_FORWARD_CHAIN=No in /etc/shorewall/shorewall.conf
- and add the following entry in /etc/shorewall/tcrules:
-
-
-
-
-
+ bgcolor="#3366ff">
- MARK
+ |
+
|
- SOURCE
- |
- DESTINATION
- |
- PROTOCOL
- |
- PORT
- |
- CLIENT PORT
+ |
+ Using Shorewall with Squid
+
+
+ |
+
+
|
-
- 202
- |
- eth2
- |
- 0.0.0.0/0
- |
- tcp
- |
- 80
- |
- -
- |
-
-
-
-
-
- C) Run Shorewall 1.3.14 or later and add the following entry in /etc/shorewall/tcrules:
-
-
+
+
+
+
+ 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.
+
+
+ Please observe the following general requirements:
+
+
+ In all cases, Squid should be configured
+ to run as a transparent proxy as described at http://www.tldp.org/HOWTO/mini/TransparentProxy-4.html.
+
+
+ The following instructions mention the
+ files /etc/shorewall/start and /etc/shorewall/init -- if you don't have
+ those files, siimply create them.
+
+
+ When the Squid server is in the DMZ
+zone or in the local zone, that zone must be defined ONLY by its interface
+ -- no /etc/shorewall/hosts file entries. That is because the packets being
+ routed to the Squid server still have their original destination IP
+addresses.
+
+
+ You must have iptables installed on
+your Squid server.
+
+
+ If you run a Shorewall version earlier
+ than 1.4.6, you must have NAT and MANGLE enabled in your /etc/shorewall/conf
+ file
+
+
+ NAT_ENABLED=Yes
+ MANGLE_ENABLED=Yes
+
+ Three different configurations are covered:
+
+
+ - Squid running
+ on the Firewall.
+ - Squid running
+ in the local network
+ - Squid running
+in the DMZ
+
+
+
+Squid 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 and listening on port
+ 3128. Squid will of course require access to remote web servers.
+
+ In /etc/shorewall/rules:
+
+
+
+
+
+
+ ACTION |
+ SOURCE |
+ DEST |
+ PROTO |
+ DEST
+ PORT(S) |
+ SOURCE
+ PORT(S) |
+ ORIGINAL
+ DEST |
+
+
+ REDIRECT |
+ loc |
+ 3128 |
+ tcp |
+ www |
+ -
+ |
+ !206.124.146.177 |
+
+
+ ACCEPT |
+ fw |
+ net |
+ tcp |
+ www |
+
+ |
+
+ |
+
+
+
+
+
+
+ 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:
+
-
-
+ run_iptables -t nat -I loc_dnat -p tcp --dport www -d 130.252.100.0/24 -j RETURN
+
+ To exclude additional hosts or networks, just add additional similar
+ rules.
+
+Squid 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 on
+port 3128. Your local interface is eth1. There may also be a web server
+running on 192.168.1.3. It is assumed that web access is already enabled
+from the local zone to the internet.
+
+WARNING: This setup may conflict with
+ other aspects of your gateway including but not limited to traffic
+shaping and route redirection. For that reason, I don't recommend
+it.
+
+
+
+ - On your firewall system, issue the following command
+
+
+
+
+
+ echo 202 www.out >> /etc/iproute2/rt_tables
+
+
+
+ - In /etc/shorewall/init, put:
+
+
+
+
+
+ if [ -z "`ip rule list | grep www.out`" ] ; then
ip rule add fwmark 202 table www.out
ip route add default via 192.168.1.3 dev eth1 table www.out
ip route flush cache
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
fi
+
+
+
+ - If you are running Shorewall 1.4.1 or Shorewall 1.4.1a,
+ please upgrade to Shorewall 1.4.2 or later.
+
+
+ - If you are running Shorewall 1.4.2 or later, then in /etc/shorewall/interfaces:
+
+
+
- MARK
+ | ZONE
|
- SOURCE
+ | INTERFACE
|
- DESTINATION
+ | BROADCAST
|
- PROTOCOL
- |
- PORT
- |
- CLIENT PORT
+ | OPTIONS
|
- 202:P
+ | loc
|
- eth2
+ | eth1
|
- 0.0.0.0/0
+ | detect
|
- tcp
- |
- 80
- |
- -
+ | routeback
|
-
-
+
+
-
-
-
-
- - In /etc/shorewall/rules, you will need:
-
+
+
+ - In /etc/shorewall/rules:
+
+
+
+
+
+ ACTION |
+ SOURCE |
+ DEST |
+ PROTO |
+ DEST
+ PORT(S) |
+ SOURCE
+ PORT(S) |
+ ORIGINAL
+ DEST |
+
+
+ ACCEPT
+ |
+ loc |
+ loc
+ |
+ tcp |
+ www |
+
+ |
+
+ |
+
+
+
+
+
+
+ - Alternativfely, if you are running Shorewall 1.4.0 you can have
+ the following policy in place of the above rule:
+
+
+
+
+ SOURCE
+ |
+ DESTINATION
+ |
+ POLICY
+ |
+ LOG LEVEL
+ |
+ BURST PARAMETERS
+ |
+
+
+ loc
+ |
+ loc
+ |
+ ACCEPT
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+ - In /etc/shorewall/start add:
+
+
-
-
-
+
+
+ iptables -t mangle -A PREROUTING -i eth1 -s ! 192.168.1.3 -p tcp --dport 80 -j MARK --set-mark 202
+
+
+
+
+ If you are running RedHat on the server, you can simply execute
+ the following commands after you have typed the iptables command above:
+
+
+
+
+
+ iptables-save > /etc/sysconfig/iptables
chkconfig --level 35 iptables start
+
+
+
+
+Squid 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.
+
+
+ - On your firewall system, issue the following command
+
+
+
+
+
+ echo 202 www.out >> /etc/iproute2/rt_tables
+
+
+
+ - In /etc/shorewall/init, put:
+
+
+
+
+
+ if [ -z "`ip rule list | grep www.out`" ] ; then
ip rule add fwmark 202 table www.out
ip route add default via 192.0.2.177 dev eth1 table www.out
ip route flush cache
fi
+
+
+
+ - Do one of the following:
+
+ A) In /etc/shorewall/start add
+
+
+
+
+
+ iptables -t mangle -A PREROUTING -i eth2 -p tcp --dport 80 -j MARK --set-mark 202
+
+
+B) Set MARK_IN_FORWARD_CHAIN=No in /etc/shorewall/shorewall.conf
+ and add the following entry in /etc/shorewall/tcrules:
+
+
+
+
+
- ACTION
+ | MARK
|
SOURCE
|
- DEST
+ | DESTINATION
|
- PROTO
+ | PROTOCOL
|
- DEST
- PORT(S)
+ | PORT
|
- CLIENT
- PORT(2)
- |
- ORIGINAL
- DEST
+ | CLIENT PORT
|
- ACCEPT
- |
- loc
- |
- dmz
- |
- tcp
- |
- 80
- |
-
- |
-
- |
-
-
- ACCEPT
+ | 202
|
- dmz
+ | eth2
|
- net
+ | 0.0.0.0/0
|
tcp
|
80
|
-
- |
-
+ | -
|
-
-
-
-
+
+
+
-
-
-
- If you are running RedHat on the server, you can simply execute
- the following commands after you have typed the iptables command above:
+ C) Run Shorewall 1.3.14 or later and add the following entry in
+/etc/shorewall/tcrules:
+
+
+
+
+
+
+
+ MARK
+ |
+ SOURCE
+ |
+ DESTINATION
+ |
+ PROTOCOL
+ |
+ PORT
+ |
+ CLIENT PORT
+ |
+
+
+ 202:P
+ |
+ eth2
+ |
+ 0.0.0.0/0
+ |
+ tcp
+ |
+ 80
+ |
+ -
+ |
+
+
+
+
-
-
+
+
+
+ - In /etc/shorewall/rules, you will need:
+
+
+
+
+
+
+
+ ACTION
+ |
+ SOURCE
+ |
+ DEST
+ |
+ PROTO
+ |
+ DEST
+ PORT(S)
+ |
+ CLIENT
+ PORT(2)
+ |
+ ORIGINAL
+ DEST
+ |
+
+
+ ACCEPT
+ |
+ loc
+ |
+ dmz
+ |
+ tcp
+ |
+ 80
+ |
+
+ |
+
+ |
+
+
+ ACCEPT
+ |
+ dmz
+ |
+ net
+ |
+ tcp
+ |
+ 80
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+ If you are running RedHat on the server, you can simply execute
+ the following commands after you have typed the iptables command above:
+
+
+
-
+
iptables-save > /etc/sysconfig/iptables
chkconfig --level 35 iptables start
-
-
+
+
-
- Updated 6/27/2003 - Tom Eastep
-
+
+ Updated 6/27/2003 - Tom Eastep
+
- Copyright ©
- 2003 Thomas M. 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 b8d495c60..c4716d30d 100644
--- a/Shorewall-docs/Shorewall_and_Aliased_Interfaces.html
+++ b/Shorewall-docs/Shorewall_and_Aliased_Interfaces.html
@@ -2,196 +2,166 @@
Shorewall and Aliased Interfaces
-
+
-
+
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
+
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 virtial 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
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]#
- 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. The ip utility
-does provide for interaction with ifconfig in that it allows addresses
-to be labeled and labels may take the form of ipconfig virtual interfaces.
-
- Example:
-
-
-[root@gateway root]# ip addr show dev eth0
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
Device "eth0:0" does not exist.
[root@gateway root]#
- 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.
-
-
-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.
-
-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):
-
-
-
-
-
-
- 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:
+
+Background
+ The traditional net-tools contain a program called ifconfig
+ which is used to configure network devices. ifconfig introduced the concept
+ of aliased or virtial 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
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]#
+ 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. The ip utility does provide
+for interaction with ifconfig in that it allows addresses to be labeled
+and labels may take the form of ipconfig virtual interfaces.
+
+ Example:
+
+
+[root@gateway root]# ip addr show dev eth0
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
Device "eth0:0" does not exist.
[root@gateway root]#
+ 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.
+
+
+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.
+
+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):
+
+
+
-
-
- ACTION
- |
- SOURCE
- |
- DESTINATION
- |
- PROTOCOL
- |
- PORT(S)
- |
- SOURCE PORT(S)
- |
- ORIGINAL DESTINATION
- |
-
-
- DNAT
+ |
+
+ ACTION
+ |
+ SOURCE
+ |
+ DESTINATION
+ |
+ PROTOCOL
+ |
+ PORT(S)
+ |
+ SOURCE PORT(S)
+ |
+ ORIGINAL DESTINATION
+ |
+
+
+ ACCEPT
+ |
+ net
+ |
+ fw:206.124.146.178
+ |
+ tcp
+ |
+ 22
+ |
+
|
- net
+ |
|
- loc:192.168.1.3
- |
- tcp
- |
- 80
- |
- -
- |
- 206.124.146.178
- |
-
-
-
+
+
+
-
+
+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:
+
+
+
+
+
+
+ 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:
-
-
-
-
-
-
- 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:
-
-
+ If you wanted to use eth0:0 as the IP address for outbound connections
+ from your local zone (eth1), then in /etc/shorewall/masq:
+
+
+
@@ -203,98 +173,90 @@ the INTERFACE column as follows:
- eth0:0
+ | eth0
|
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
+
+
+ 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: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.
-
-
+
+
+
-
-
- 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
+ |
+
+
+
-
-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
-
+
+ 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
+
STATIC NAT
- If you wanted to use static NAT to link eth0:0 with local address
+ 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:
-
-
-
-
-
-
- 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:
-
-
-
+
+
+
@@ -312,7 +274,7 @@ INTERFACE column as follows:
206.124.146.178
|
- eth0:0
+ | eth0
|
192.168.1.3
|
@@ -321,259 +283,119 @@ INTERFACE column as follows:
no
|
-
-
+
+
-
- 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
- |
-
- |
-
- |
-
-
-
-
+
+ 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:0
+ |
+ 192.168.1.3
+ |
+ no
+ |
+ no
+ |
+
+
+
+
+
+
+ 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
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+
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
+ 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.
-
+
+ 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:
+
+
-
-
- ZONE
- |
- INTERFACE
- |
- BROADCAST
- |
- OPTIONS
- |
-
-
- -
- |
- eth1
- |
- 192.168.1.255,192.168.20.255
- |
-
- |
-
-
-
-
-
-
- In /etc/shorewall/hosts:
-
-
-
-
-
- ZONE
- |
- HOSTS
- |
- OPTIONS
- |
-
-
- loc
- |
- eth1:192.168.1.0/24
- |
-
- |
-
-
- loc
- |
- eth1:192.168.20.0/24
- |
-
- |
-
-
-
-
-
-
- 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.
-
-If you are running Shorewall 1.4.0 or earlier
-
- In /etc/shorewall/interfaces:
-
-
-
-
-
-
- ZONE
- |
- INTERFACE
- |
- BROADCAST
- |
- OPTIONS
- |
-
-
- loc
- |
- eth1
- |
- 192.168.1.255,192.168.20.255
- |
- Note 1:
- |
-
-
-
-
-
-
- Note 1: If you are running Shorewall 1.3.10 or earlier then you must
- specify the multi option.
-
- In /etc/shorewall/policy:
-
-
-
-
-
-
- SOURCE
- |
- DESTINATION
- |
- POLICY
- |
- LOG LEVEL
- |
- BURST:LIMIT
- |
-
-
- loc
- |
- loc
- |
- ACCEPT
- |
-
- |
-
- |
-
-
-
-
-
-
- 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:
-
-
-
-
-
-
- ZONE
- |
- DISPLAY
- |
- DESCRIPTION
- |
-
-
- loc
- |
- Local
- |
- Local Zone 1
- |
-
-
- loc2
- |
- Local2
- |
- Local Zone 2
- |
-
-
-
-
-
-
- In /etc/shorewall/interfaces:
-
-
-
-
-
+
ZONE
|
@@ -591,26 +413,65 @@ the two subnetworks.
192.168.1.255,192.168.20.255
|
- Note 1:
+ |
|
-
-
+
+
+
+
+ In /etc/shorewall/hosts:
+
+
+
+
+
+ ZONE
+ |
+ HOSTS
+ |
+ OPTIONS
+ |
+
+
+ loc
+ |
+ eth1:192.168.1.0/24
+ |
+
+ |
+
+
+ loc
+ |
+ eth1:192.168.20.0/24
+ |
+
+ |
+
+
+
+
+
+
+ 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.
+
+If you are running Shorewall 1.4.0 or earlier
+
+ In /etc/shorewall/interfaces:
-
- Note 1: If you are running Shorewall 1.3.10 or earlier then you must
- specify the multi option.
-
- In /etc/shorewall/hosts:
-
-
+
+
ZONE
|
- HOSTS
+ | INTERFACE
+ |
+ BROADCAST
|
OPTIONS
|
@@ -618,33 +479,175 @@ the two subnetworks.
loc
|
- eth1:192.168.1.0/24
+ | eth1
+ |
+ 192.168.1.255,192.168.20.255
+ |
+ Note 1:
+ |
+
+
+
+
+
+
+ Note 1: If you are running Shorewall 1.3.10 or earlier then you must
+ specify the multi option.
+
+ In /etc/shorewall/policy:
+
+
+
+
+
+
+ SOURCE
+ |
+ DESTINATION
+ |
+ POLICY
+ |
+ LOG LEVEL
+ |
+ BURST:LIMIT
+ |
+
+
+ loc
+ |
+ loc
+ |
+ ACCEPT
|
|
+
+ |
+
+
+
+
+
+
+ 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:
+
+
+
+
+
+
+ ZONE
+ |
+ DISPLAY
+ |
+ DESCRIPTION
+ |
+
+
+ loc
+ |
+ Local
+ |
+ Local Zone 1
+ |
loc2
|
- eth1:192.168.20.0/24
+ | Local2
|
-
+ | Local Zone 2
|
-
-
+
+
+
+
+ In /etc/shorewall/interfaces:
-
- In /etc/shorewall/rules, simply specify ACCEPT rules for the traffic
- that you want to permit.
-
-
+
+
+
+
+
+ ZONE
+ |
+ INTERFACE
+ |
+ BROADCAST
+ |
+ OPTIONS
+ |
+
+
+ -
+ |
+ eth1
+ |
+ 192.168.1.255,192.168.20.255
+ |
+ Note 1:
+ |
+
+
+
+
+
+
+ Note 1: If you are running Shorewall 1.3.10 or earlier then you must
+ specify the multi option.
+
+ In /etc/shorewall/hosts:
+
+
+
+
+
+ ZONE
+ |
+ HOSTS
+ |
+ OPTIONS
+ |
+
+
+ loc
+ |
+ eth1:192.168.1.0/24
+ |
+
+ |
+
+
+ loc2
+ |
+ eth1:192.168.20.0/24
+ |
+
+ |
+
+
+
+
+
+
+ In /etc/shorewall/rules, simply specify ACCEPT rules for the traffic
+ that you want to permit.
+
+
Last Updated 6/22/2003 A - Tom Eastep
-
-Copyright ©
- 2001, 2002, 2003 Thomas M. Eastep.
-
+
+Copyright ©
+ 2001, 2002, 2003 Thomas M. Eastep.
+
+
diff --git a/Shorewall-docs/Shorewall_index_frame.htm b/Shorewall-docs/Shorewall_index_frame.htm
index c2cb321af..d559e6018 100644
--- a/Shorewall-docs/Shorewall_index_frame.htm
+++ b/Shorewall-docs/Shorewall_index_frame.htm
@@ -1,145 +1,153 @@
-
+
-
+
-
+
-
+
Shorewall Index
-
+
-
+
-
-
-
-
- Shorewall
- |
-
-
-
-
- |
+
+
+
-
+
Copyright © 2001-2003 Thomas M. Eastep.
-
+
+
+
diff --git a/Shorewall-docs/Shorewall_sfindex_frame.htm b/Shorewall-docs/Shorewall_sfindex_frame.htm
index a1905c9e3..d97073d2c 100644
--- a/Shorewall-docs/Shorewall_sfindex_frame.htm
+++ b/Shorewall-docs/Shorewall_sfindex_frame.htm
@@ -1,144 +1,151 @@
-
+
-
+
-
+
-
+
Shorewall Index
-
-
+
-
+
-
-
-
+ |
+
+
-
+
Shorewall
- |
-
-
-
+ |
+
+
-
+
-
+
-
+
-
+
- |
-
-
-
+
+
+
+
-
+
Copyright © 2001-2003 Thomas M. Eastep.
-
+
+
+
diff --git a/Shorewall-docs/VPN.htm b/Shorewall-docs/VPN.htm
index 29c2cf414..334005fb6 100755
--- a/Shorewall-docs/VPN.htm
+++ b/Shorewall-docs/VPN.htm
@@ -1,104 +1,106 @@
-
+
-
+
-
+
-
+
VPN
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
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
+
+
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 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:
-
-
+
+
+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:
+
+
-
+
+
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ CLIENT
+ PORT |
+ ORIGINAL
+ DEST |
+
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- CLIENT
- PORT |
- ORIGINAL
- DEST |
-
-
- DNAT |
- net:192.0.2.224 |
- loc:192.168.1.12 |
- 50 |
- |
- |
- |
-
-
- DNAT |
- net:192.0.2.224 |
- loc:192.168.1.12 |
- udp |
- 500 |
- |
- |
-
-
-
+ DNAT |
+ net:192.0.2.224 |
+ loc:192.168.1.12 |
+ 50 |
+ |
+ |
+ |
+
+
+ DNAT |
+ net:192.0.2.224 |
+ loc: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.
+
+
+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
+ href="http://www.shorewall.net/Documentation.htm#Tunnels"> http://www.shorewall.net/Documentation.htm#Tunnels
or http://www.shorewall.net/PPTP.htm.
-
+
Last modified 12/21/2002 - Tom Eastep
- Copyright
+
+ Copyright
© 2002 Thomas M. Eastep.
+
-
+
+
diff --git a/Shorewall-docs/blacklisting_support.htm b/Shorewall-docs/blacklisting_support.htm
index cd091bcd4..c92e034b0 100644
--- a/Shorewall-docs/blacklisting_support.htm
+++ b/Shorewall-docs/blacklisting_support.htm
@@ -1,98 +1,98 @@
-
+
-
+
-
+
-
+
Blacklisting Support
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
Blacklisting Support
- |
-
-
-
+
+
+
+
-
+
Shorewall supports two different forms of blacklisting; static and dynamic.
-
+
Static Blacklisting
-
-Shorewall static blacklisting support has the following configuration
-parameters:
-
+
+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
+
- 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
+
- You specify whether you want packets from blacklisted hosts logged
and at what syslog level using the BLACKLIST_LOGLEVEL setting in
+ href="Documentation.htm#BLLoglevel">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
+
- 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
+
+ - 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
+
- 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
+
+
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:
-
+
- - drop <ip address list> - causes packets from the listed
+
- 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
+
- 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
+
- allow <ip address list> - re-enables receipt of packets
from hosts previously blacklisted by a deny or reject command.
- - save - save the dynamic blacklisting configuration so that it will
+
- 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.
-
+ - show dynamic - displays the dynamic blacklisting configuration.
+
-Dynamic blacklisting is not dependent on the "blacklist" option in
+ 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
-
+
Example 2:
-
+
shorewall allow 192.0.2.125
-
+
Reenables access from 192.0.2.125.
-
+
Last updated 2/7/2003 - Tom Eastep
-
-Copyright
+
+Copyright
© 2002, 2003 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/configuration_file_basics.htm b/Shorewall-docs/configuration_file_basics.htm
index 4b242c68d..96228e31f 100644
--- a/Shorewall-docs/configuration_file_basics.htm
+++ b/Shorewall-docs/configuration_file_basics.htm
@@ -1,407 +1,409 @@
-
+
-
+
-
+
-
+
Configuration File Basics
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
Configuration Files
- |
-
-
-
+
+
+
+
-
-Warning: If you copy or edit your configuration
-files on a system running Microsoft Windows, you must
- run them through dos2unix
- before you use them with Shorewall.
-
-Files
-
-Shorewall's configuration files are in the directory /etc/shorewall.
-
-
- - /etc/shorewall/shorewall.conf - used to set
- several firewall parameters.
- - /etc/shorewall/params - use this file to
-set shell variables that you will expand in other files.
- - /etc/shorewall/zones - partition the firewall's
- view of the world into zones.
- - /etc/shorewall/policy - establishes firewall
- high-level policy.
- - /etc/shorewall/interfaces - describes the
-interfaces on the firewall system.
- - /etc/shorewall/hosts - allows defining zones
- in terms of individual hosts and subnetworks.
- - /etc/shorewall/masq - directs the firewall
- where to use many-to-one (dynamic) Network Address Translation
- (a.k.a. Masquerading) and Source Network Address Translation
- (SNAT).
- - /etc/shorewall/modules - directs the firewall
- to load kernel modules.
- - /etc/shorewall/rules - defines rules that
-are exceptions to the overall policies established in /etc/shorewall/policy.
- - /etc/shorewall/nat - defines static NAT rules.
- - /etc/shorewall/proxyarp - defines use of
-Proxy ARP.
- - /etc/shorewall/routestopped (Shorewall 1.3.4
- and later) - defines hosts accessible when Shorewall is stopped.
- - /etc/shorewall/tcrules - defines marking
-of packets for later use by traffic control/shaping or policy
-routing.
- - /etc/shorewall/tos - defines rules for setting
- the TOS field in packet headers.
- - /etc/shorewall/tunnels - defines IPSEC, GRE
- and IPIP tunnels with end-points on the firewall system.
- - /etc/shorewall/blacklist - lists blacklisted
- IP/subnet/MAC addresses.
- - /etc/shorewall/init - commands that you wish to execute at the
- beginning of a "shorewall start" or "shorewall restart".
- - /etc/shorewall/start - commands that you wish to execute at
-the completion of a "shorewall start" or "shorewall restart"
- - /etc/shorewall/stop - commands that you wish to execute at the
- beginning of a "shorewall stop".
- - /etc/shorewall/stopped - commands that you wish to execute at
- the completion of a "shorewall stop".
- - /etc/shorewall/ecn - disable Explicit Congestion Notification (ECN
- - RFC 3168) to remote hosts or networks.
-
-
-
-
-Comments
-
-You may place comments in configuration files by making the first non-whitespace
- character a pound sign ("#"). You may also place comments
-at the end of any line, again by delimiting the comment from
-the rest of the line with a pound sign.
-
-Examples:
-
-# This is a comment
-
-ACCEPT net fw tcp www #This is an end-of-line comment
-
-Line Continuation
-
-You may continue lines in the configuration files using the usual backslash
- ("\") followed immediately by a new line character.
-
-Example:
-
-ACCEPT net fw tcp \
smtp,www,pop3,imap #Services running on the firewall
-
-INCLUDE Directive
- Beginning with Shorewall version 1.4.2, any file may contain INCLUDE directives.
-An INCLUDE directive consists of the word INCLUDE followed by a file name
-and causes the contents of the named file to be logically included into
-the file containing the INCLUDE. File names given in an INCLUDE directive
-are assumed to reside in /etc/shorewall or in an alternate configuration
-directory if one has been specified for the command.
-
- INCLUDE's may be nested to a level of 3 -- further nested INCLUDE directives
- are ignored with a warning message.
-
- Examples:
-
- shorewall/params.mgmt:
-
- MGMT_SERVERS=1.1.1.1,2.2.2.2,3.3.3.3
- TIME_SERVERS=4.4.4.4
- BACKUP_SERVERS=5.5.5.5
-
- ----- end params.mgmt -----
-
-
- shorewall/params:
-
-
-
- # Shorewall 1.3 /etc/shorewall/params
- [..]
- #######################################
-
- INCLUDE params.mgmt
-
- # params unique to this host here
- #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
-
-
-
- ----- end params -----
-
-
- shorewall/rules.mgmt:
-
-
-
- ACCEPT net:$MGMT_SERVERS $FW tcp 22
- ACCEPT $FW net:$TIME_SERVERS udp 123
- ACCEPT $FW net:$BACKUP_SERVERS tcp 22
-
-
-
- ----- end rules.mgmt -----
-
-
- shorewall/rules:
-
-
-
- # Shorewall version 1.3 - Rules File
- [..]
- #######################################
-
- INCLUDE rules.mgmt
-
- # rules unique to this host here
- #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
-
-
-
- ----- end rules -----
-
-
-Using DNS Names
-
-
-
-WARNING: I personally recommend strongly against
- using DNS names in Shorewall configuration files. If you use DNS
- names and you are called out of bed at 2:00AM because Shorewall won't
- start as a result of DNS problems then don't say that you were not
-forewarned.
-
-
- -Tom
-
-
-Beginning with Shorewall 1.3.9, Host addresses in Shorewall
- configuration files may be specified as either IP addresses or DNS
- Names.
-
- DNS names in iptables rules aren't nearly as useful as
- they first appear. When a DNS name appears in a rule, the iptables
- utility resolves the name to one or more IP addresses and inserts
- those addresses into the rule. So changes in the DNS->IP address
- relationship that occur after the firewall has started have absolutely
- no effect on the firewall's ruleset.
-
- If your firewall rules include DNS names then:
-
-
- - If your /etc/resolv.conf is wrong then your firewall
- won't start.
- - If your /etc/nsswitch.conf is wrong then your firewall
- won't start.
- - If your Name Server(s) is(are) down then your firewall
- won't start.
- - If your startup scripts try to start your firewall
- before starting your DNS server then your firewall won't start.
-
- - Factors totally outside your control (your ISP's
-router is down for example), can prevent your firewall from starting.
- - You must bring up your network interfaces prior to
- starting your firewall.
-
-
-
-
- Each DNS name much be fully qualified and include a minumum
- of two periods (although one may be trailing). This restriction
-is imposed by Shorewall to insure backward compatibility with existing
- configuration files.
-
- Examples of valid DNS names:
-
-
-
- - mail.shorewall.net
- - shorewall.net. (note the trailing period).
-
-
- Examples of invalid DNS names:
-
-
- - mail (not fully qualified)
- - shorewall.net (only one period)
-
-
- DNS names may not be used as:
-
-
- - The server address in a DNAT rule (/etc/shorewall/rules
- file)
- - In the ADDRESS column of an entry in /etc/shorewall/masq.
- - In the /etc/shorewall/nat file.
-
-
- These restrictions are not imposed by Shorewall simply
- for your inconvenience but are rather limitations of iptables.
-
-Complementing an Address or Subnet
-
-Where specifying an IP address, a subnet or an interface, you can precede
-the item with "!" to specify the complement of the item. For example,
-!192.168.1.4 means "any host but 192.168.1.4". There must be no white space
-following the "!".
-
-Comma-separated Lists
-
-Comma-separated lists are allowed in a number of contexts within the
- configuration files. A comma separated list:
-
-
- - Must not have any embedded white space.
- Valid: routefilter,dhcp,norfc1918
- Invalid: routefilter, dhcp,
-norfc1818
- - If you use line continuation to break a comma-separated
- list, the continuation line(s) must begin in column 1 (or
- there would be embedded white space)
- - Entries in a comma-separated list may appear
- in any order.
-
-
-
-Port Numbers/Service Names
-
-Unless otherwise specified, when giving a port number you can use either
-an integer or a service name from /etc/services.
-
-Port Ranges
-
-If you need to specify a range of ports, the proper syntax is <low
- port number>:<high port number>. For
-example, if you want to forward the range of tcp ports 4000 through
-4100 to local host 192.168.1.3, the entry in /etc/shorewall/rules is:
-
-
- DNAT net loc:192.168.1.3 tcp 4000:4100
- If you omit the low port number, a value of zero is assumed; if you omit
- the high port number, a value of 65535 is assumed.
-
-Using Shell Variables
-
-You may use the /etc/shorewall/params file to set shell variables
- 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:
-
-
- NET_IF=eth0
NET_BCAST=130.252.100.255
NET_OPTIONS=routefilter,norfc1918
-
-
-
- Example (/etc/shorewall/interfaces record):
-
-
- net $NET_IF $NET_BCAST $NET_OPTIONS
-
-
-The result will be the same as if the record had been written
-
-
- net eth0 130.252.100.255 routefilter,norfc1918
-
-
-
-Variables may be used anywhere in the other configuration
- files.
-
-Using MAC Addresses
-
-Media Access Control (MAC) addresses can be used to specify packet
- source in several of the configuration files. To use this
-feature, your kernel must have MAC Address Match support (CONFIG_IP_NF_MATCH_MAC)
- included.
-
-MAC addresses are 48 bits wide and each Ethernet Controller has a unique
-MAC address.
-
- In GNU/Linux, MAC addresses are usually written
-as a series of 6 hex numbers separated by colons. Example:
-
- [root@gateway root]# ifconfig eth0
- eth0 Link encap:Ethernet HWaddr 02:00:08:E3:FA:55
- inet addr:206.124.146.176 Bcast:206.124.146.255
- Mask:255.255.255.0
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:2398102 errors:0 dropped:0 overruns:0
- frame:0
- TX packets:3044698 errors:0 dropped:0 overruns:0
- carrier:0
- collisions:30394 txqueuelen:100
- RX bytes:419871805 (400.4 Mb) TX bytes:1659782221
- (1582.8 Mb)
- Interrupt:11 Base address:0x1800
-
- Because Shorewall uses colons as a separator for
- address fields, Shorewall requires MAC addresses to be written
- in another way. In Shorewall, MAC addresses begin with a tilde
- ("~") and consist of 6 hex numbers separated by hyphens. In Shorewall,
- the MAC address in the example above would be written "~02-00-08-E3-FA-55".
-
-
-Note: It is not necessary to use the special Shorewall notation
- in the /etc/shorewall/maclist file.
-
-
-Shorewall Configurations
-
- Shorewall allows you to have configuration directories other than /etc/shorewall.
- The shorewall check,
-start and restart commands allow you to specify an alternate
-configuration directory and Shorewall will use the files in the alternate
-directory rather than the corresponding files in /etc/shorewall. The
-alternate directory need not contain a complete configuration; those
-files not in the alternate directory will be read from /etc/shorewall.
-
- This facility permits you to easily create a test or temporary configuration
- by:
-
-
- - copying the files that need modification
- from /etc/shorewall to a separate directory;
- - modify those files in the separate directory;
- and
- - specifying the separate directory in a
-shorewall start or shorewall restart command (e.g., shorewall
--c /etc/testconfig restart )
-
-
-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 6/29/2003 - Tom Eastep
-
-Copyright
+Warning: If you copy or edit your configuration
+ files on a system running Microsoft Windows, you must
+ run them through dos2unix
+ before you use them with Shorewall.
+
+Files
+
+Shorewall's configuration files are in the directory /etc/shorewall.
+
+
+ - /etc/shorewall/shorewall.conf - used to
+set several firewall parameters.
+ - /etc/shorewall/params - use this file to
+set shell variables that you will expand in other files.
+ - /etc/shorewall/zones - partition the firewall's
+ view of the world into zones.
+ - /etc/shorewall/policy - establishes firewall
+ high-level policy.
+ - /etc/shorewall/interfaces - describes the
+ interfaces on the firewall system.
+ - /etc/shorewall/hosts - allows defining zones
+ in terms of individual hosts and subnetworks.
+ - /etc/shorewall/masq - directs the firewall
+ where to use many-to-one (dynamic) Network Address Translation
+ (a.k.a. Masquerading) and Source Network Address Translation
+ (SNAT).
+ - /etc/shorewall/modules - directs the firewall
+ to load kernel modules.
+ - /etc/shorewall/rules - defines rules that
+ are exceptions to the overall policies established in /etc/shorewall/policy.
+ - /etc/shorewall/nat - defines static NAT
+rules.
+ - /etc/shorewall/proxyarp - defines use of
+Proxy ARP.
+ - /etc/shorewall/routestopped (Shorewall 1.3.4
+ and later) - defines hosts accessible when Shorewall is stopped.
+ - /etc/shorewall/tcrules - defines marking
+of packets for later use by traffic control/shaping or policy
+routing.
+ - /etc/shorewall/tos - defines rules for setting
+ the TOS field in packet headers.
+ - /etc/shorewall/tunnels - defines IPSEC,
+GRE and IPIP tunnels with end-points on the firewall system.
+ - /etc/shorewall/blacklist - lists blacklisted
+ IP/subnet/MAC addresses.
+ - /etc/shorewall/init - commands that you wish to execute at
+the beginning of a "shorewall start" or "shorewall restart".
+ - /etc/shorewall/start - commands that you wish to execute at
+the completion of a "shorewall start" or "shorewall restart"
+ - /etc/shorewall/stop - commands that you wish to execute at
+the beginning of a "shorewall stop".
+ - /etc/shorewall/stopped - commands that you wish to execute
+at the completion of a "shorewall stop".
+ - /etc/shorewall/ecn - disable Explicit Congestion Notification (ECN
+ - RFC 3168) to remote hosts or networks.
+
+
+
+
+Comments
+
+You may place comments in configuration files by making the first non-whitespace
+ character a pound sign ("#"). You may also place comments
+at the end of any line, again by delimiting the comment from the
+rest of the line with a pound sign.
+
+Examples:
+
+# This is a comment
+
+ACCEPT net fw tcp www #This is an end-of-line comment
+
+Line Continuation
+
+You may continue lines in the configuration files using the usual backslash
+ ("\") followed immediately by a new line character.
+
+Example:
+
+ACCEPT net fw tcp \
smtp,www,pop3,imap #Services running on the firewall
+
+INCLUDE Directive
+ Beginning with Shorewall version 1.4.2, any file may contain INCLUDE directives.
+ An INCLUDE directive consists of the word INCLUDE followed by a file name
+ and causes the contents of the named file to be logically included into
+ the file containing the INCLUDE. File names given in an INCLUDE directive
+ are assumed to reside in /etc/shorewall or in an alternate configuration
+ directory if one has been specified for the command.
+
+ INCLUDE's may be nested to a level of 3 -- further nested INCLUDE directives
+ are ignored with a warning message.
+
+ Examples:
+
+ shorewall/params.mgmt:
+
+ MGMT_SERVERS=1.1.1.1,2.2.2.2,3.3.3.3
+ TIME_SERVERS=4.4.4.4
+ BACKUP_SERVERS=5.5.5.5
+
+ ----- end params.mgmt -----
+
+
+ shorewall/params:
+
+
+
+ # Shorewall 1.3 /etc/shorewall/params
+ [..]
+ #######################################
+
+ INCLUDE params.mgmt
+
+ # params unique to this host here
+ #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
+
+
+
+ ----- end params -----
+
+
+ shorewall/rules.mgmt:
+
+
+
+ ACCEPT net:$MGMT_SERVERS $FW tcp 22
+ ACCEPT $FW net:$TIME_SERVERS udp 123
+ ACCEPT $FW net:$BACKUP_SERVERS tcp 22
+
+
+
+ ----- end rules.mgmt -----
+
+
+ shorewall/rules:
+
+
+
+ # Shorewall version 1.3 - Rules File
+ [..]
+ #######################################
+
+ INCLUDE rules.mgmt
+
+ # rules unique to this host here
+ #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
+
+
+
+ ----- end rules -----
+
+
+Using DNS Names
+
+
+
+WARNING: I personally recommend strongly against
+ using DNS names in Shorewall configuration files. If you use DNS
+ names and you are called out of bed at 2:00AM because Shorewall won't
+ start as a result of DNS problems then don't say that you were not forewarned.
+
+
+
+ -Tom
+
+
+Beginning with Shorewall 1.3.9, Host addresses in Shorewall
+ configuration files may be specified as either IP addresses or DNS
+ Names.
+
+ DNS names in iptables rules aren't nearly as useful
+as they first appear. When a DNS name appears in a rule, the iptables
+ utility resolves the name to one or more IP addresses and inserts
+ those addresses into the rule. So changes in the DNS->IP address
+ relationship that occur after the firewall has started have absolutely
+ no effect on the firewall's ruleset.
+
+ If your firewall rules include DNS names then:
+
+
+ - If your /etc/resolv.conf is wrong then your firewall
+ won't start.
+ - If your /etc/nsswitch.conf is wrong then your firewall
+ won't start.
+ - If your Name Server(s) is(are) down then your firewall
+ won't start.
+ - If your startup scripts try to start your firewall
+ before starting your DNS server then your firewall won't start.
+
+ - Factors totally outside your control (your ISP's
+ router is down for example), can prevent your firewall from starting.
+ - You must bring up your network interfaces prior
+to starting your firewall.
+
+
+
+
+ Each DNS name much be fully qualified and include a minumum
+ of two periods (although one may be trailing). This restriction is
+ imposed by Shorewall to insure backward compatibility with existing
+ configuration files.
+
+ Examples of valid DNS names:
+
+
+
+ - mail.shorewall.net
+ - shorewall.net. (note the trailing period).
+
+
+ Examples of invalid DNS names:
+
+
+ - mail (not fully qualified)
+ - shorewall.net (only one period)
+
+
+ DNS names may not be used as:
+
+
+ - The server address in a DNAT rule (/etc/shorewall/rules
+ file)
+ - In the ADDRESS column of an entry in /etc/shorewall/masq.
+ - In the /etc/shorewall/nat file.
+
+
+ These restrictions are not imposed by Shorewall simply
+ for your inconvenience but are rather limitations of iptables.
+
+Complementing an Address or Subnet
+
+Where specifying an IP address, a subnet or an interface, you can precede
+ the item with "!" to specify the complement of the item. For example,
+ !192.168.1.4 means "any host but 192.168.1.4". There must be no white space
+ following the "!".
+
+Comma-separated Lists
+
+Comma-separated lists are allowed in a number of contexts within the
+ configuration files. A comma separated list:
+
+
+ - Must not have any embedded white space.
+ Valid: routefilter,dhcp,norfc1918
+ Invalid: routefilter, dhcp,
+ norfc1818
+ - If you use line continuation to break a
+comma-separated list, the continuation line(s) must begin
+in column 1 (or there would be embedded white space)
+ - Entries in a comma-separated list may appear
+ in any order.
+
+
+
+Port Numbers/Service Names
+
+Unless otherwise specified, when giving a port number you can use either
+ an integer or a service name from /etc/services.
+
+Port Ranges
+
+If you need to specify a range of ports, the proper syntax is <low
+ port number>:<high port number>. For example,
+ if you want to forward the range of tcp ports 4000 through 4100 to
+ local host 192.168.1.3, the entry in /etc/shorewall/rules is:
+
+
+ DNAT net loc:192.168.1.3 tcp 4000:4100
+ If you omit the low port number, a value of zero is assumed; if you
+omit the high port number, a value of 65535 is assumed.
+
+Using Shell Variables
+
+You may use the /etc/shorewall/params file to set shell variables
+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:
+
+
+ NET_IF=eth0
NET_BCAST=130.252.100.255
NET_OPTIONS=routefilter,norfc1918
+
+
+
+ Example (/etc/shorewall/interfaces record):
+
+
+ net $NET_IF $NET_BCAST $NET_OPTIONS
+
+
+The result will be the same as if the record had been written
+
+
+ net eth0 130.252.100.255 routefilter,norfc1918
+
+
+
+Variables may be used anywhere in the other configuration
+ files.
+
+Using MAC Addresses
+
+Media Access Control (MAC) addresses can be used to specify packet
+ source in several of the configuration files. To use this
+ feature, your kernel must have MAC Address Match support
+(CONFIG_IP_NF_MATCH_MAC) included.
+
+MAC addresses are 48 bits wide and each Ethernet Controller has a unique
+ MAC address.
+
+ In GNU/Linux, MAC addresses are usually written
+ as a series of 6 hex numbers separated by colons. Example:
+
+ [root@gateway root]# ifconfig eth0
+ eth0 Link encap:Ethernet HWaddr 02:00:08:E3:FA:55
+ inet addr:206.124.146.176 Bcast:206.124.146.255
+ Mask:255.255.255.0
+ UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
+ RX packets:2398102 errors:0 dropped:0 overruns:0
+ frame:0
+ TX packets:3044698 errors:0 dropped:0 overruns:0
+ carrier:0
+ collisions:30394 txqueuelen:100
+ RX bytes:419871805 (400.4 Mb) TX bytes:1659782221
+ (1582.8 Mb)
+ Interrupt:11 Base address:0x1800
+
+ Because Shorewall uses colons as a separator for
+ address fields, Shorewall requires MAC addresses to be written
+ in another way. In Shorewall, MAC addresses begin with a tilde
+ ("~") and consist of 6 hex numbers separated by hyphens. In Shorewall,
+ the MAC address in the example above would be written "~02-00-08-E3-FA-55".
+
+
+Note: It is not necessary to use the special Shorewall notation
+ in the /etc/shorewall/maclist file.
+
+
+Shorewall Configurations
+
+ Shorewall allows you to have configuration directories other than /etc/shorewall.
+ The shorewall check,
+start and restart commands allow you to specify an alternate
+configuration directory and Shorewall will use the files in the alternate
+directory rather than the corresponding files in /etc/shorewall. The
+alternate directory need not contain a complete configuration; those
+files not in the alternate directory will be read from /etc/shorewall.
+
+ This facility permits you to easily create a test or temporary configuration
+ by:
+
+
+ - copying the files that need modification
+ from /etc/shorewall to a separate directory;
+ - modify those files in the separate directory;
+ and
+ - specifying the separate directory in a
+shorewall start or shorewall restart command (e.g., shorewall
+-c /etc/testconfig restart )
+
+
+ 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 6/29/2003 - Tom Eastep
+
+
+Copyright
© 2001, 2002, 2003 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/copyright.htm b/Shorewall-docs/copyright.htm
index 387a1a254..b18869cfe 100644
--- a/Shorewall-docs/copyright.htm
+++ b/Shorewall-docs/copyright.htm
@@ -1,45 +1,46 @@
-
+
-
+
-
+
-
+
Copyright
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
Copyright
- |
-
-
-
+
+
+
+
-
-Copyright © 2000, 2001,
+
+
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.
+
+
+
+ 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 14fe573ab..14816e07f 100644
--- a/Shorewall-docs/dhcp.htm
+++ b/Shorewall-docs/dhcp.htm
@@ -1,82 +1,85 @@
-
+
-
+
-
+
-
+
DHCP
-
+
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
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
+
-
+
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
+
+ -
+
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
+
+ -
+
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
+
+ -
+
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
+
+Copyright
© 2001, 2002 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/download.htm b/Shorewall-docs/download.htm
index 33ec13f8f..617297ab7 100644
--- a/Shorewall-docs/download.htm
+++ b/Shorewall-docs/download.htm
@@ -1,215 +1,229 @@
-
+
-
+
-
+
-
+
Download
-
+
-
-
-
-
+ id="AutoNumber1" bgcolor="#3366ff" height="90">
+ |
+
+
+
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.
-
-
+
+
The entire set of Shorewall documentation is available in PDF format at:
-
+
ftp://slovakia.shorewall.net/mirror/shorewall/pdf/
- http://slovakia.shorewall.net/pub/shorewall/pdf/
- rsync://slovakia.shorewall.net/shorewall/pdf/
-
-
+
+
The documentation in HTML format is included in the .rpm and in the
.tgz packages below.
-
+
Once you've printed the appropriate QuickStart Guide, download
one of the modules:
-
+
- - If you run a RedHat, SuSE, Mandrake,
- Linux PPC or TurboLinux distribution
- with a 2.4 kernel, you can use the RPM version (note: the
- RPM should also work with other distributions that store
- init scripts in /etc/init.d and that include chkconfig or
- insserv). If you find that it works in other cases, let If you run a RedHat, SuSE, Mandrake,
+ Linux PPC or TurboLinux distribution
+ with a 2.4 kernel, you can use the RPM version (note: the
+ RPM should also work with other distributions that store
+ init scripts in /etc/init.d and that include chkconfig
+or insserv). If you find that it works in other cases, let me know so that
- I can mention them here. See the Installation
- Instructions if you have problems installing the RPM.
- - If you are running LRP, download the .lrp
-file (you might also want to download the .tgz so you will
+ I can mention them here. See the Installation
+ Instructions if you have problems installing the RPM.
+ - If you are running LRP, download the .lrp
+ file (you might also want to download the .tgz so you will
have a copy of the documentation).
- - If you run If you run Debian and would
like a .deb package, Shorewall is included in both the Debian
Testing Branch and the Debian Unstable
- Branch.
- - Otherwise, download the shorewall
- module (.tgz)
-
+ Branch.
+ - Otherwise, download the shorewall
+ module (.tgz)
+
-
+
The documentation in HTML format is included in the .tgz and .rpm files
- and there is an documentation .deb that also contains the documentation. The
- .rpm will install the documentation in your default document directory
- which can be obtained using the following command:
-
-
-
+ and there is an documentation .deb that also contains the documentation. The
+ .rpm will install the documentation in your default document directory
+ which can be obtained using the following command:
+
+
+
rpm --eval '%{defaultdocdir}'
-
-
+
+
Please check the errata
- to see if there are updates that apply to the version
- that you have downloaded.
-
+ to see if there are updates that apply to the version
+ that you have downloaded.
+
WARNING - YOU CAN NOT SIMPLY INSTALL
- THE RPM AND ISSUE A "shorewall start" COMMAND. SOME CONFIGURATION
- IS REQUIRED BEFORE THE FIREWALL WILL START. Once you have completed configuration
- of your firewall, you can enable startup by removing the file /etc/shorewall/startup_disabled.
-
+ THE RPM AND ISSUE A "shorewall start" COMMAND. SOME CONFIGURATION
+ IS REQUIRED BEFORE THE FIREWALL WILL START. Once you have completed
+configuration of your firewall, you can enable startup by removing
+the file /etc/shorewall/startup_disabled.
+
-
+
Download Sites:
-
-
+
+
-
-
+
+
CVS:
-
-
+
+
The CVS repository
- at cvs.shorewall.net contains the latest snapshots of the
+ at cvs.shorewall.net contains the latest snapshots of the
each Shorewall component. There's no guarantee that what you
find there will work at all.
-
-
-
+
+
+
Shapshots:
-
-
-
+
+
+
Periodic snapshots from CVS may be found at http://shorewall.net/pub/shorewall/Snapshots
-(FTP).
-These snapshots have undergone initial testing and will have been installed
-and run at shorewall.net.
-
-
-
-Last Updated 6/19/2003 - FTP).
+ These snapshots have undergone initial testing and will have been installed
+ and run at shorewall.net.
+
+
+
+Last Updated 7/15/2003 - Tom Eastep
-
+
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
+
+
+
diff --git a/Shorewall-docs/errata.htm b/Shorewall-docs/errata.htm
index d83aaea9e..b9f583a18 100644
--- a/Shorewall-docs/errata.htm
+++ b/Shorewall-docs/errata.htm
@@ -1,352 +1,355 @@
-
+
Shorewall 1.4 Errata
+
-
+
-
+
-
+
-
+
-
-
-
-
+ bgcolor="#3366ff" height="90">
+ |
+
+
+
Shorewall Errata/Upgrade Issues
- |
-
-
-
+
+
+
+
-
+
IMPORTANT
-
+
- -
-
-
If you use a Windows system to download
- a corrected script, be sure to run the script through
-
+
+ If you use a Windows system to download
+ a corrected script, be sure to run the script through
+ dos2unix after you have moved
+ style="text-decoration: none;"> dos2unix
after you have moved
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
+
+ -
+
+
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.
-
- -
-
-
When the instructions say to install a corrected
- firewall script in /usr/share/shorewall/firewall, you
+
+ -
+
+
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.
-
- -
-
-
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.
-
-
-
+
+ -
+
+
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.
+
+
+
-
+
-
-
+
+
Problems in Version 1.4
-
+
-
+
1.4.4b
-
+
-
+
1.4.4-1.4.4a
-
+
-
+
1.4.4
-
-
+
+
- - If you have zone names that are 5 characters long, you may experience
- problems starting Shorewall because the --log-prefix in a logging rule
-is too long. Upgrade to Version 1.4.4a to fix this problem..
-
+ - If you have zone names that are 5 characters long, you may experience
+ problems starting Shorewall because the --log-prefix in a logging rule is
+ too long. Upgrade to Version 1.4.4a to fix this problem..
+
-
+
1.4.3
-
+
-
+
1.4.2
-
-
- - When an 'add' or 'delete' command is executed, a temporary directory
- created in /tmp is not being removed. This problem may be corrected by
-installing this firewall script in /usr/share/shorewall/firewall as
-described above.
-
-
-
-
-1.4.1a, 1.4.1 and 1.4.0
- - Some TCP requests are rejected in the 'common' chain with an
- ICMP port-unreachable response rather than the more appropriate TCP RST
- response. This problem is corrected in this updated common.def file which may be installed in
- /etc/shorewall/common.def.
+ - When an 'add' or 'delete' command is executed, a temporary
+directory created in /tmp is not being removed. This problem may be corrected
+by installing this firewall script in /usr/share/shorewall/firewall
+as described above.
-1.4.1
+1.4.1a, 1.4.1 and 1.4.0
- - When a "shorewall check" command is executed, each "rule"
-produces the harmless additional message:
-
- /usr/share/shorewall/firewall: line 2174: [: =: unary operator
- expected
-
- You may correct the problem by installing this corrected script in /usr/share/shorewall/firewall
- as described above.
+ - Some TCP requests are rejected in the 'common' chain with
+an ICMP port-unreachable response rather than the more appropriate TCP
+RST response. This problem is corrected in this updated common.def file which may be installed in
+ /etc/shorewall/common.def.
-1.4.0
+1.4.1
- - 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.
+ - When a "shorewall check" command is executed, each "rule"
+produces the harmless additional message:
+
+ /usr/share/shorewall/firewall: line 2174: [: =: unary operator
+ expected
+
+ You may correct the problem by installing this corrected script in /usr/share/shorewall/firewall
+ as described above.
-
-Upgrade Issues
-
-The upgrade issues have moved to a separate page.
-
-
- Problem with
- iptables version 1.2.3
-
-
- There are a couple of serious bugs in iptables 1.2.3 that
- prevent it from working with Shorewall. Regrettably,
- RedHat released this buggy iptables in RedHat 7.2.
-
- 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.
-
- 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.
-
- If you would like to patch iptables 1.2.3 yourself,
- the patches are available for download. This patch
- which corrects a problem with parsing of the --log-level
- specification while this patch
- corrects a problem in handling the TOS target.
-
- To install one of the above patches:
-
-
- - cd iptables-1.2.3/extensions
- - patch -p0 < the-patch-file
-
-
-
-
-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:
-
-
- # shorewall start
Processing /etc/shorewall/shorewall.conf ...
Processing /etc/shorewall/params ...
Starting Shorewall...
Loading Modules...
Initializing...
Determining Zones...
Zones: net
Validating interfaces file...
Validating hosts file...
Determining Hosts in Zones...
Net Zone: eth0:0.0.0.0/0
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
-
-
- The RedHat iptables RPM is compiled with debugging enabled but the
- user-space debugging code was not updated to reflect recent changes in
- the Netfilter 'mangle' table. You can correct the problem by
- installing
- 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 <=
- 2.2 yet you have a 2.4 kernel installed, simply use the
-"--nodeps" option to rpm.
-
-Installing: rpm -ivh --nodeps <shorewall rpm>
-
-Upgrading: rpm -Uvh --nodeps <shorewall rpm>
-
-Problems with iptables version 1.2.7 and
- 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:
+1.4.0
- - set MULTIPORT=No
- in /etc/shorewall/shorewall.conf;
-or
- - if you
- are running Shorewall 1.3.6 you may
- install
- this firewall script in /var/lib/shorewall/firewall
- as described above.
-
+ - 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.
+
+
-
+
+
+Upgrade Issues
+
+The upgrade issues have moved to a separate page.
+
+
+ Problem with
+ iptables version 1.2.3
+
+
+ There are a couple of serious bugs in iptables 1.2.3 that
+ prevent it from working with Shorewall. Regrettably,
+ RedHat released this buggy iptables in RedHat 7.2.
+
+ 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.
+
+ 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.
+
+ If you would like to patch iptables 1.2.3 yourself,
+ the patches are available for download. This patch
+ which corrects a problem with parsing of the --log-level
+ specification while this patch
+ corrects a problem in handling the TOS target.
+
+ To install one of the above patches:
+
+
+ - cd iptables-1.2.3/extensions
+ - patch -p0 < the-patch-file
+
+
+
+
+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:
+
+
+ # shorewall start
Processing /etc/shorewall/shorewall.conf ...
Processing /etc/shorewall/params ...
Starting Shorewall...
Loading Modules...
Initializing...
Determining Zones...
Zones: net
Validating interfaces file...
Validating hosts file...
Determining Hosts in Zones...
Net Zone: eth0:0.0.0.0/0
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
+
+
+ The RedHat iptables RPM is compiled with debugging enabled but the
+ user-space debugging code was not updated to reflect recent changes in
+ the Netfilter 'mangle' table. You can correct the problem by
+ installing
+ 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 <=
+ 2.2 yet you have a 2.4 kernel installed, simply use the
+ "--nodeps" option to rpm.
+
+Installing: rpm -ivh --nodeps <shorewall rpm>
+
+Upgrading: rpm -Uvh --nodeps <shorewall rpm>
+
+Problems with iptables version 1.2.7 and
+ 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:
+
+
+ - set
+MULTIPORT=No in /etc/shorewall/shorewall.conf;
+or
+ - if you
+ are running Shorewall 1.3.6 you may
+ install
+ this firewall script in /var/lib/shorewall/firewall
+ as described above.
+
+
+
Problems with RH Kernel 2.4.18-10 and NAT
-
- /etc/shorewall/nat entries of the following form
- will result in Shorewall being unable to start:
-
-
+
+ /etc/shorewall/nat entries of the following form
+ will result in Shorewall being unable to start:
+
+
#EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL
192.0.2.22 eth0 192.168.9.22 yes yes
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
- Error message is:
-
+ Error message is:
+
Setting up NAT...
iptables: Invalid argument
Terminated
- 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
-
-
- Problems with RH Kernels after 2.4.20-9 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
+
+ Problems with RH Kernels after 2.4.20-9 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 6/13/2003 - Tom Eastep
-
-
+
+
+ Last updated 6/13/2003 - Tom
+Eastep
+
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/errata_1.htm b/Shorewall-docs/errata_1.htm
index cdd1e06c3..351893bed 100644
--- a/Shorewall-docs/errata_1.htm
+++ b/Shorewall-docs/errata_1.htm
@@ -1,215 +1,196 @@
+
-
-
-
-
-
-Shorewall Errata for Version 1
+
+
+
+
+
+
+
+
+ Shorewall Errata for Version 1
-
-
-
-
-
-
- Shorewall Errata for Version 1.1
- |
-
+
+
+
+
+
+
+ Shorewall Errata for Version
+1.1
+ |
+
+
+
-
- To those of you who downloaded the 1.1.13 updated firewall script prior
-to Sept 20, 2001:
-
-
-
- Prior
-to 20:00 20 Sept 2001 GMT, the link under 1.1.13 pointed to a broken version
-of the firewall script. This has now been corrected. I apologize for any confusion
-this may have caused.
+
+To those of you who downloaded
+the 1.1.13 updated firewall script prior to Sept 20, 2001:
+
+
+ Prior to 20:00 20 Sept 2001 GMT, the link under 1.1.13
+pointed to a broken version of the firewall script. This has now been corrected.
+I apologize for any confusion this may have caused.
+
+
+Version 1.1.18
+
+
+ In the original .lrp, /etc/init.d/shorewall was not
+ secured for execute access. I have replaced the incorrect .lrp
+ (shorwall-1.1.18.lrp) with a corrected one (shorwall-1.1.18a.lrp).
-
- Version 1.1.18
-
-
-
- In the original .lrp, /etc/init.d/shorewall was not
- secured for execute access. I have replaced the incorrect .lrp
- (shorwall-1.1.18.lrp) with a corrected one (shorwall-1.1.18a.lrp).
-
-
-
-
- Version 1.1.17
-
-
-
- In
- shorewall.conf, ADD_IP_ALIASES was incorrectly spelled
- IP_ADD_ALIASAES. There is a corrected version of the file here.
-
- This
- problem is also corrected in version 1.1.18.
-
-
-
- Version 1.1.16
-
-
-
- The ADD_IP_ALIASES variable added in 1.1.16 was incorrectly spelled IP_ADD_ALIASES
-in the firewall script. To correct this problem, install the
- corrected firewall script
- in the location pointed to by the symbolic link /etc/shorewall/firewall.
-
-
- This problem is also corrected in version 1.1.17.
-
-
-
- Version 1.1.14-1.1.15
-
-
-
- There are no corrections for these versions.
-
-
-
- Version 1.1.13
-
-
-
- The firewall fails to start if a rule with the following format is given:
-
-
- <disposition> z1:www.xxx.yyy.zzz z2 proto p1,p2,p3
-
-
- To correct this problem, install
- this corrected firewall script
- in the location pointed to by the symbolic link /etc/shorewall/firewall.
-
-
-
- Version 1.1.12
-
-
-
- The LRP version of Shorewall 1.1.12 has the incorrect /etc/shorewall/functions
-file. This incorrect file results in many error messages of the form:
-
-
-
- separate_list: not found
-
-
-
- The correct file may be obtained here
- . This problem is also corrected in version 1.1.13.
-
-
-
- Version 1.1.11
-
-
-
- There are no known problems with this version.
-
-
-
- Version 1.1.10
-
-
-
- If the following conditions were met:
-
-
-
-
- -
-
- A LAN segment attached to the firewall was served by a DHCP server
-running on the firewall.
-
-
- -
-
- There were entries in /etc/shorewall/hosts that referred to the
-interface to that LAN segment.
-
-
-
-
-
- then up until now it has been necessary to include entries for 0.0.0.0
-and 255.255.255.255 for that interface in /etc/shorewall/hosts.
- This version of the firewall script
- makes those additions unnecessary provided that you simply include
-"dhcp" in the options for the interface in /etc/shorewall/interfaces.
-Install the script into the location pointed to by the symbolic link
-/etc/shorewall/firewall.
-
-
- This problem has also been corrected in version 1.1.11.
-
-
-
- Version 1.1.9
-
+
+ Version 1.1.17
+
+
+ In shorewall.conf, ADD_IP_ALIASES was incorrectly
+spelled IP_ADD_ALIASAES. There is a corrected version of the
+file here.
+
+ This problem is also corrected in version 1.1.18.
+
+
+ Version 1.1.16
+
+
+ The ADD_IP_ALIASES variable added in 1.1.16 was incorrectly
+ spelled IP_ADD_ALIASES in the firewall script. To correct this problem,
+ install the corrected
+ firewall script in the location pointed to by the symbolic link
+ /etc/shorewall/firewall.
+
+ This problem is also corrected in version 1.1.17.
+
+
+ Version 1.1.14-1.1.15
+
+
+ There are no corrections for these versions.
+
+
+ Version 1.1.13
+
+
+ The firewall fails to start if a rule with the following
+ format is given:
+
+ <disposition> z1:www.xxx.yyy.zzz z2
+ proto p1,p2,p3
+
+ To correct this problem, install this
+ corrected firewall script in the location pointed to by the symbolic
+link /etc/shorewall/firewall.
+
+
+ Version 1.1.12
+
+
+ The LRP version of Shorewall 1.1.12 has the incorrect
+ /etc/shorewall/functions file. This incorrect file results in many error
+ messages of the form:
+
+
+ separate_list: not found
+
+
+ The
+ correct file may be obtained here . This problem is also corrected
+in version 1.1.13.
+
+
+ Version 1.1.11
+
+
+ There are no known problems with this version.
+
+
+ Version 1.1.10
+
+
+ If the following conditions were met:
+
+
+
+ -
+
A LAN segment attached to the firewall was served
+by a DHCP server running on the firewall.
+
+ -
+
There were entries in /etc/shorewall/hosts that referred
+ to the interface to that LAN segment.
+
+
+
+
+ then up until now it has been necessary to include entries
+ for 0.0.0.0 and 255.255.255.255 for that interface in /etc/shorewall/hosts.
+
+ This version of the firewall script makes those additions unnecessary
+ provided that you simply include "dhcp" in the options for the interface
+in /etc/shorewall/interfaces. Install the script into the location pointed
+to by the symbolic link /etc/shorewall/firewall.
+
+ This problem has also been corrected in version 1.1.11.
+
+
+ Version 1.1.9
+
-
-
- Version 1.1.8
-
+
+Version 1.1.8
+
- - Under some circumstances, the "dhcp" option on an interface triggers
-a bug in the firewall script that results in a "chain already exists"
-error.
- This version of the firewall script
- corrects this problem. Install it into the location pointed to by
-the symbolic link /etc/shorewall/firewall.
-
- This problem is also corrected in version 1.1.9.
-
-
-
+ - Under some circumstances, the "dhcp" option on an interface triggers
+a bug in the firewall script that results in a "chain already exists"
+error. This
+ version of the firewall script corrects this problem. Install
+it into the location pointed to by the symbolic link /etc/shorewall/firewall.
+
+ This problem is also corrected in version 1.1.9.
+
+
-
-
- Version 1.1.7
-
+
+Version 1.1.7
+
- - If the /etc/shorewall/rules template from version 1.1.7 is used, a warning
-message appears during firewall startup:
-
- Warning: Invalid Target - rule "@ icmp-unreachable packet."
+ - If the /etc/shorewall/rules template from version 1.1.7 is used,
+a warning message appears during firewall startup:
+
+ Warning: Invalid Target - rule "@ icmp-unreachable packet."
ignored
-
- This warning may be eliminated by replacing the "@" in column 1 of
+
+ This warning may be eliminated by replacing the "@" in column 1 of
line 17 with "#"
+
-
-
-
- This problem is also corrected in version 1.1.8
-
-
-
- Last updated 12/21/2001 -
- Tom Eastep
-
-
-
-Copyright © 2001, 2002 Thomas M. Eastep.
-
+
+
+ This problem is also corrected in version 1.1.8
+
+
+ Last updated 12/21/2001 - Tom Eastep
+
+ Copyright
+© 2001, 2002 Thomas M. Eastep.
+
-
diff --git a/Shorewall-docs/errata_2.htm b/Shorewall-docs/errata_2.htm
index d1e23d8c6..a6f430238 100644
--- a/Shorewall-docs/errata_2.htm
+++ b/Shorewall-docs/errata_2.htm
@@ -1,439 +1,425 @@
-
-
+
+
Shorewall 1.2 Errata
-
+
-
+
-
-
-
-
-
-
-
- Shorewall 1.2 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.
-
-
-
- When the instructions say to install a corrected firewall script in
- /etc/shorewall/firewall, use the 'cp' (or 'scp') utility to overwrite the
- existing file. DO NOT REMOVE OR RENAME THE OLD /etc/shorewall/firewall
- before you do that. /etc/shorewall/firewall is a symbolic link that points
- to the 'shorewall' file used by your system initialization scripts to
- start Shorewall during boot and it is that file that must be overwritten
- with the corrected script.
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
-
-
-
- Problems in Version 1.2
-
- Version 1.2.13
-
-
- -
-
-
Some users have reported problems installing the RPM
- on SuSE 7.3 where rpm reports a conflict with kernel <= 2.2 even
- though a 2.4 kernel RPM is installed. To get around this problem, use
- the --nodeps option to rpm (e.g., "rpm -ivh --nodeps
- shorewall-1.2-13.noarch.rpm").
-
- The problem stems from the fact that SuSE does not
- include a package named "kernel" but rather has a number of packages
- that provide the virtual package "kernel". Since virtual packages have
- no version associated with them, a conflict results. Since the
- workaround is simple, I don't intend to change the Shorewall package.
-
-
- -
-
-
Shorewall accepts invalid rules of the form:
-
- ACCEPT <src> <dest>:<ip addr> all <port number> -
- <original ip address>
-
- The <port number> is ignored with the result that all
- connection requests from the <src> zone whose original destination IP
- address matches the last column are forwarded to the <dest> zone, IP
- address <ip addr>.
-
- This corrected firewall script correctly generates an error when
+
+
+
+
+
+
+
+ Shorewall 1.2 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.
+
+ When the instructions say to install a corrected
+firewall script in /etc/shorewall/firewall, use the 'cp' (or 'scp')
+utility to overwrite the existing file. DO NOT REMOVE OR RENAME THE
+OLD /etc/shorewall/firewall before you do that. /etc/shorewall/firewall
+is a symbolic link that points to the 'shorewall' file used by your
+system initialization scripts to start Shorewall during boot and it
+is that file that must be overwritten with the corrected script.
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+Problems in Version 1.2
+
+Version 1.2.13
+
+
+ -
+
Some users have reported problems installing the RPM
+ on SuSE 7.3 where rpm reports a conflict with kernel <= 2.2 even
+ though a 2.4 kernel RPM is installed. To get around this problem,
+use the --nodeps option to rpm (e.g., "rpm -ivh --nodeps
+ shorewall-1.2-13.noarch.rpm").
+
+ The problem stems from the fact that SuSE does not include
+a package named "kernel" but rather has a number of packages that
+provide the virtual package "kernel". Since virtual packages have
+ no version associated with them, a conflict results. Since the
+ workaround is simple, I don't intend to change the Shorewall package.
+
+ -
+
Shorewall accepts invalid rules of the form:
+
+ ACCEPT <src> <dest>:<ip addr>
+all <port number> - <original ip address>
+
+ The <port number> is ignored with the result that
+ all connection requests from the <src> zone whose
+original destination IP address matches the last column are forwarded
+to the <dest> zone, IP address <ip addr>.
+
+ This corrected firewall script correctly generates an error when
such a rule is encountered.
-
-
-
-
- Version 1.2.11
-
-
-
- Both problems are corrected by
-
- this new version of /sbin/shorewall.
-
- Sample Configurations:
-
-
- -
-
-
There have been several problems with SSH, DNS and
- ping in the two- and three-interface examples. Before reporting
- problems with these services, please verify that you have the latest
- version of the appropriate sample 'rules' file.
-
-
- All Versions through 1.2.10
-
-
-
-
-
-
- ZONE |
- HOST(S) |
- OPTIONS |
-
-
- loc |
- eth2:192.168.1.0/24 |
- routestopped |
-
-
- loc |
- ppp+:192.168.1.0/24 |
- |
-
-
-
-
-
- All Versions through 1.2.8
-
-
+
+Version 1.2.11
+
+
+
+Both problems are corrected by
+ this new version of /sbin/shorewall.
+
+Sample Configurations:
+
+
+ -
+
There have been several problems with SSH, DNS and
+ ping in the two- and three-interface examples. Before reporting
+ problems with these services, please verify that you have the latest
+ version of the appropriate sample 'rules' file.
+
+
+
+All Versions through 1.2.10
+
+
+
+
+
+
+
+
+ ZONE |
+ HOST(S) |
+ OPTIONS |
+
+
+ loc |
+ eth2:192.168.1.0/24 |
+ routestopped |
+
+
+ loc |
+ ppp+:192.168.1.0/24 |
+ |
+
+
+
+
+
+
+
+All Versions through 1.2.8
+
+
+ -
+
The shorewall.conf file and the documentation
+ incorrectly refer to a parameter in /etc/shorewall/shorewall.conf
+ called LOCKFILE; the correct name for the parameter is SUBSYSLOCK (see the corrected online documentation).
+Users of the rpm should change the name (and possibly the value)
+of this parameter so that Shorewall interacts properly with the
+SysV init scripts. The documentation on this web site has been
+corrected and
here's a corrected version of shorewall.conf.
-
-
- -
-
-
The documentation indicates that a comma-separated
- list of IP/subnet addresses may appear in an entry in the hosts file.
- This is not the case; if you want to specify multiple addresses for a
- zone, you need to have a separate entry for each address.
-
-
-
-
- Version 1.2.7
-
- Version 1.2.7 is quite broken -- please install 1.2.8
-
- If you have installed and started version 1.2.7 then before trying
- to restart under 1.2.8:
-
- - Look at your /etc/shorewall/shorewall.conf file and note the directory
- named in the STATEDIR variable. If that variable is empty, assume
- /var/state/shorewall.
- - Remove the file 'lock' in the directory determined in step 1.
-
- You may now restart using 1.2.8.
-
- Version 1.2.6
-
-
-
- To correct the above problems, install
- this
- corrected firewall script in /etc/shorewall/firewall..
Version 1.2.5
-
-
- -
-
-
The new ADDRESS column in /etc/shorewall/masq cannot
- contain a $-variable name.
- -
-
-
Errors result if $FW appears in the
- /etc/shorewall/policy file.
- -
-
-
Using Blacklisting without setting BLACKLIST_LOGLEVEL
- results in an error at start time.
-
-
- To correct the above problems, install
- this
- corrected firewall script in /etc/shorewall/firewall.
-
- Version 1.2.4
-
-
- This version will not install "out of the box" without
- modification. Before attempting to start the
- firewall, please change the STATEDIR in /etc/shorewall/shorewall.conf to
- refer to /var/lib/shorewall. This only applies to fresh installations -- if
- you are upgrading from a previous version of Shorewall, version 1.2.4 will
- work without modification.
-
-
- Version 1.2.3
-
-
-
-
- Alternatively, edit /etc/shorewall/firewall and change line 1564 from:
-
-
- run_iptables -A blacklst -d $addr -j LOG $LOGPARAMS --log-prefix \
-
-
- to
-
-
- run_iptables -A blacklst -s $addr -j LOG $LOGPARAMS --log-prefix \
-
- Version 1.2.2
-
-
- - The "shorewall status" command hangs after
- it displays the chain information. Here's
- a corrected /sbin/shorewall. if you want to simply modify your copy of
- /sbin/shorewall, then at line 445 change this:
-
-
-
-
-
- to this:
-
-
-
-
-
status)
- get_config
- clear
-
-
-
- - The "shorewall monitor" command
- doesn't show the icmpdef chain - this
- corrected /sbin/shorewall fixes that problem as well as the status
- problem described above.
-
-
- - In all 1.2.x versions, the 'CLIENT PORT(S)'
- column in /etc/shorewall/tcrules is ignored. This is corrected in this
- updated firewall script. Place the script in /etc/shorewall/firewall. Thanks to Shingo Takeda for
- spotting this bug.
-
-
- Version 1.2.1
-
-
- - The new logunclean interface option is not
- described in the help text in /etc/shorewall/interfaces. An updated
- interfaces file is available.
- - When REJECT is specified in a TCP rule, Shorewall
- correctly replies with a TCP RST packet. Previous versions of the
- firewall script are broken in the case of a REJECT policy, however; in
- REJECT policy chains, all requests are currently replied to with an
- ICMP port-unreachable packet. This
- corrected firewall script replies to TCP requests with TCP RST in
- REJECT policy chains. Place the script in /etc/shorewall/firewall.
-
-
- Version 1.2.0
-
-
-
- Note: If you are upgrading from one of the Beta
- RPMs to 1.2.0, you must use the "--oldpackage" option to rpm
- (e.g., rpm -Uvh --oldpackage shorewall-1.2-0.noarch.rpm).
-
- The tunnel script released in version 1.2.0 contained
- errors -- a corrected
- script is available.
-
-
-
-
-
-
- Problem with iptables version 1.2.3
-
-
-
- There are a couple of serious bugs in iptables 1.2.3 that
- prevent it from working with Shorewall. Regrettably,
-RedHat released this buggy iptables in RedHat 7.2.
-
- 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.
-
- 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.
-
- If you
- would like to patch iptables 1.2.3 yourself, the patches are available
- for download. This patch
- which corrects a problem with parsing of the --log-level specification while
- this patch
- corrects a problem in handling the TOS target.
-
- To install one of the above patches:
-
- - cd iptables-1.2.3/extensions
- - patch -p0 < the-patch-file
-
-
-
-
- Problems with kernel 2.4.18
- and RedHat iptables
-
- Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18 may
- experience the following:
-
- # shorewall start
-Processing /etc/shorewall/shorewall.conf ...
-Processing /etc/shorewall/params ...
-Starting Shorewall...
-Loading Modules...
-Initializing...
-Determining Zones...
-Zones: net
-Validating interfaces file...
-Validating hosts file...
-Determining Hosts in Zones...
-Net Zone: eth0:0.0.0.0/0
-iptables: libiptc/libip4tc.c:380: do_check: Assertion
-`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
-Aborted (core dumped)
-iptables: libiptc/libip4tc.c:380: do_check: Assertion
-`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
-Aborted (core dumped)
-
+
+ -
+
The documentation indicates that a comma-separated
+ list of IP/subnet addresses may appear in an entry in the hosts file.
+ This is not the case; if you want to specify multiple addresses
+for a zone, you need to have a separate entry for each address.
+
+
+
+
+Version 1.2.7
+
+Version 1.2.7 is quite broken -- please install 1.2.8
+
+If you have installed and started version 1.2.7 then before trying
+ to restart under 1.2.8:
+
+
+ - Look at your /etc/shorewall/shorewall.conf file and note the directory
+ named in the STATEDIR variable. If that variable is empty, assume /var/state/shorewall.
+ - Remove the file 'lock' in the directory determined in step 1.
+
+
+
+You may now restart using 1.2.8.
+
+Version 1.2.6
+
+
+
+To correct the above problems, install this
+ corrected firewall script in /etc/shorewall/firewall..
+Version 1.2.5
+
+
+ -
+
The new ADDRESS column in /etc/shorewall/masq cannot
+ contain a $-variable name.
+
+ -
+
Errors result if $FW appears in the /etc/shorewall/policy
+file.
+
+ -
+
Using Blacklisting without setting BLACKLIST_LOGLEVEL
+ results in an error at start time.
+
+
+
+To correct the above problems, install this
+ corrected firewall script in /etc/shorewall/firewall.
+
+
+
+Version 1.2.4
+
+
+ -
+
This version will not install "out of the box" without
+ modification. Before attempting to start the firewall, please change
+the STATEDIR in /etc/shorewall/shorewall.conf to refer to /var/lib/shorewall.
+This only applies to fresh installations -- if you are upgrading from
+a previous version of Shorewall, version 1.2.4 will work without modification.
+
+
+
+
+Version 1.2.3
+
+
+
+
+ Alternatively, edit /etc/shorewall/firewall and change line 1564 from:
- The RedHat iptables RPM is compiled with debugging enabled but the
- user-space debugging code was not updated to reflect recent changes in the
- Netfilter 'mangle' table. You can correct the problem by installing
-
- 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").
-
-
-
- Last updated 5/24/2002 -
- Tom Eastep
-
-
- Copyright
+
+ run_iptables -A blacklst -d $addr -j LOG $LOGPARAMS --log-prefix \
+
+
+ to
+
+
+ run_iptables -A blacklst -s $addr -j LOG $LOGPARAMS --log-prefix \
+
+Version 1.2.2
+
+
+ - The "shorewall status" command hangs after it displays
+the chain information. Here's
+ a corrected /sbin/shorewall. if you want to simply modify
+your copy of /sbin/shorewall, then at line 445 change this:
+
+
+
+
+
+
+ to this:
+
+
+
+
status)
get_config
clear
+
+
+
+ - The "shorewall monitor" command doesn't show the icmpdef chain
+- this corrected /sbin/shorewall
+fixes that problem as well as the status problem described above.
+
+
+
+
+ - In all 1.2.x versions, the 'CLIENT PORT(S)' column in /etc/shorewall/tcrules
+is ignored. This is corrected in this updated firewall script.
+Place the script in /etc/shorewall/firewall. Thanks to Shingo Takeda for
+ spotting this bug.
+
+
+
+Version 1.2.1
+
+
+ - The new logunclean interface option is not described
+in the help text in /etc/shorewall/interfaces. An updated
+ interfaces file is available.
+ - When REJECT is specified in a TCP rule, Shorewall correctly
+replies with a TCP RST packet. Previous versions of the firewall
+script are broken in the case of a REJECT policy, however; in REJECT
+policy chains, all requests are currently replied to with an ICMP
+port-unreachable packet. This
+ corrected firewall script replies to TCP requests with TCP
+RST in REJECT policy chains. Place the script in /etc/shorewall/firewall.
+
+
+
+Version 1.2.0
+
+
+ Note: If you are upgrading from one of the Beta
+ RPMs to 1.2.0, you must use the "--oldpackage" option to rpm
+ (e.g., rpm -Uvh --oldpackage shorewall-1.2-0.noarch.rpm).
+
+ The tunnel script released in version 1.2.0 contained
+ errors -- a corrected
+ script is available.
+
+
+
+ Problem with
+iptables version 1.2.3
+
+
+ There are a couple of serious bugs in iptables 1.2.3 that
+ prevent it from working with Shorewall. Regrettably, RedHat released
+this buggy iptables in RedHat 7.2.
+
+ 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.
+
+ 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.
+
+ If you would like to patch iptables 1.2.3 yourself,
+the patches are available for download. This patch
+ which corrects a problem with parsing of the --log-level specification
+while this patch
+ corrects a problem in handling the TOS target.
+
+ To install one of the above patches:
+
+
+ - cd iptables-1.2.3/extensions
+ - patch -p0 < the-patch-file
+
+
+
+
+Problems with kernel 2.4.18
+ and RedHat iptables
+
+
+ Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18
+may experience the following:
+
+
+ # shorewall start
Processing /etc/shorewall/shorewall.conf ...
Processing /etc/shorewall/params ...
Starting Shorewall...
Loading Modules...
Initializing...
Determining Zones...
Zones: net
Validating interfaces file...
Validating hosts file...
Determining Hosts in Zones...
Net Zone: eth0:0.0.0.0/0
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
+
+
+ The RedHat iptables RPM is compiled with debugging enabled but the
+ user-space debugging code was not updated to reflect recent changes in
+the Netfilter 'mangle' table. You can correct the problem by installing
+
+ 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").
+
+
+ Last updated
+5/24/2002 - Tom Eastep
+
+Copyright
© 2001, 2002 Thomas M. Eastep.
-
+
-
\ No newline at end of file
+
diff --git a/Shorewall-docs/errata_3.html b/Shorewall-docs/errata_3.html
index 59cc0fc9a..fe34058ff 100755
--- a/Shorewall-docs/errata_3.html
+++ b/Shorewall-docs/errata_3.html
@@ -1,703 +1,644 @@
-
-
+
Shorewall 1.3 Errata
-
-
-
+
-
-
+
-
-
+
-
+
-
-
-
-
-
+ bgcolor="#3366ff" height="90">
+ |
+
+
Shorewall Errata/Upgrade Issues
- |
-
-
-
-
+
+
+
+
-
+
IMPORTANT
-
+
- -
-
-
-
If you use a Windows system to download
- a corrected script, be sure to run the script through
- dos2unix after you have moved
+ -
+
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.
-
- -
-
-
-
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
+
+ -
+
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.
-
- -
-
-
-
If you are running a Shorewall version earlier
- than 1.3.11, when the instructions say to install a corrected
-firewall script in /etc/shorewall/firewall, /usr/lib/shorewall/firewall
- or /var/lib/shorewall/firewall, use the 'cp' (or 'scp') utility to
-overwrite the existing file. DO NOT REMOVE OR RENAME THE OLD
-/etc/shorewall/firewall or /var/lib/shorewall/firewall before
-you do that. /etc/shorewall/firewall and /var/lib/shorewall/firewall
- are symbolic links that point to the 'shorewall' file used by
-your system initialization scripts to start Shorewall during
-boot. It is that file that must be overwritten with the corrected
-script. Beginning with Shorewall 1.3.11, you may rename the existing file
+
+ -
+
If you are running a Shorewall version earlier
+ than 1.3.11, when the instructions say to install a corrected firewall
+ script in /etc/shorewall/firewall, /usr/lib/shorewall/firewall
+ or /var/lib/shorewall/firewall, use the 'cp' (or 'scp') utility to
+overwrite the existing file. DO NOT REMOVE OR RENAME THE OLD
+/etc/shorewall/firewall or /var/lib/shorewall/firewall before
+you do that. /etc/shorewall/firewall and /var/lib/shorewall/firewall
+ are symbolic links that point to the 'shorewall' file used by your
+ system initialization scripts to start Shorewall during boot.
+It is that file that must be overwritten with the corrected
+script. Beginning with Shorewall 1.3.11, you may rename the existing file
before copying in the new file.
-
- -
-
-
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
+
+ -
+
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.
-
-
-
+
+
+
-
+
-
-
+
+
Problems in Version 1.3
-
-
+
Version 1.3.14
-
+
- - There is an updated
- rfc1918 file that reflects the resent allocation of 222.0.0.0/8 and
+
- There is an updated
+ rfc1918 file that reflects the resent allocation of 222.0.0.0/8 and
223.0.0.0/8.
-
+
-
+
- - The documentation for the routestopped file claimed that a comma-separated
- list could appear in the second column while the code only supported a single
- host or network address.
- - Log messages produced by 'logunclean' and 'dropunclean' were not rate-limited.
- - 802.11b devices with names of the form wlan<n> don't
+
- The documentation for the routestopped file claimed that a comma-separated
+ list could appear in the second column while the code only supported a
+single host or network address.
+ - Log messages produced by 'logunclean' and 'dropunclean' were not
+rate-limited.
+ - 802.11b devices with names of the form wlan<n> don't
support the 'maclist' interface option.
- - Log messages generated by RFC 1918 filtering are not rate limited.
- - The firewall fails to start in the case where you have "eth0 eth1"
+
- Log messages generated by RFC 1918 filtering are not rate limited.
+ - The firewall fails to start in the case where you have "eth0 eth1"
in /etc/shorewall/masq and the default route is through eth1.
-
-
+
+
- These problems have been corrected in this
- firewall script which may be installed in /usr/lib/shorewall as described
+ These problems have been corrected in this
+ firewall script which may be installed in /usr/lib/shorewall as described
above.
-
+
Version 1.3.13
-
+
- - The 'shorewall add' command produces an error message referring
+
- The 'shorewall add' command produces an error message referring
to 'find_interfaces_by_maclist'.
- - The 'shorewall delete' command can leave behind undeleted rules.
- - The 'shorewall add' command can fail with "iptables: Index of insertion
- too big".
-
-
-
- All three problems are corrected by this
- firewall script which may be installed in /usr/lib/shorewall as described
- above.
-
-
- - VLAN interface names of the form "ethn.m" (e.g.,
-eth0.1) are not supported in this version or in 1.3.12. If you need such
-support, post on the users list and I can provide you with a patched version.
+ - The 'shorewall delete' command can leave behind undeleted rules.
+ - The 'shorewall add' command can fail with "iptables: Index of
+insertion too big".
-
+
-
-Version 1.3.12
-
+ All three problems are corrected by this
+ firewall script which may be installed in /usr/lib/shorewall as described
+ above.
+
- - If RFC_1918_LOG_LEVEL is set to anything but ULOG, the effect
- is the same as if RFC_1918_LOG_LEVEL=info had been specified. The problem
- is corrected by this
- firewall script which may be installed in /usr/lib/shorewall as described
- above.
- - VLAN interface names of the form "ethn.m" (e.g.,
-eth0.1) are not supported in this version or in 1.3.13. If you need such
+
- VLAN interface names of the form "ethn.m" (e.g.,
+eth0.1) are not supported in this version or in 1.3.12. If you need such
support, post on the users list and I can provide you with a patched version.
-
+
-
+
+Version 1.3.12
+
+
+ - If RFC_1918_LOG_LEVEL is set to anything but ULOG, the effect
+ is the same as if RFC_1918_LOG_LEVEL=info had been specified. The problem
+ is corrected by this
+ firewall script which may be installed in /usr/lib/shorewall as described
+ above.
+ - VLAN interface names of the form "ethn.m" (e.g.,
+eth0.1) are not supported in this version or in 1.3.13. If you need such
+support, post on the users list and I can provide you with a patched version.
+
+
+
+
Version 1.3.12 LRP
-
+
- - The .lrp was missing the /etc/shorewall/routestopped file
--- a new lrp (shorwall-1.3.12a.lrp) has been released which corrects
-this problem.
-
-
-
-
-Version 1.3.11a
-
-
- - This
- copy of /etc/shorewall/rfc1918 reflects the recent allocation of
-82.0.0.0/8.
+ - The .lrp was missing the /etc/shorewall/routestopped file
+-- a new lrp (shorwall-1.3.12a.lrp) has been released which corrects this
+ problem.
-
+
-
+
+Version 1.3.11a
+
+
+
Version 1.3.11
-
+
- - When installing/upgrading using the .rpm, you may receive
+
- When installing/upgrading using the .rpm, you may receive
the following warnings:
-
- user teastep does not exist - using root
- group teastep does not exist - using root
-
- These warnings are harmless and may be ignored. Users downloading
- the .rpm from shorewall.net or mirrors should no longer see these warnings
+
+ user teastep does not exist - using root
+ group teastep does not exist - using root
+
+ These warnings are harmless and may be ignored. Users downloading
+ the .rpm from shorewall.net or mirrors should no longer see these warnings
as the .rpm you will get from there has been corrected.
- - DNAT rules that exclude a source subzone (SOURCE column
-contains ! followed by a sub-zone list) result in an error message and
+
- DNAT rules that exclude a source subzone (SOURCE column
+contains ! followed by a sub-zone list) result in an error message and
Shorewall fails to start.
-
- Install this
- corrected script in /usr/lib/shorewall/firewall to correct this
-problem. Thanks go to Roger Aich who analyzed this problem and provided
+
+ Install this
+ corrected script in /usr/lib/shorewall/firewall to correct this
+problem. Thanks go to Roger Aich who analyzed this problem and provided
a fix.
-
- This problem is corrected in version 1.3.11a.
-
-
+
+ This problem is corrected in version 1.3.11a.
+
+
-
+
Version 1.3.10
-
+
- - If you experience problems connecting to a PPTP server
- running on your firewall and you have a 'pptpserver' entry in /etc/shorewall/tunnels,
+
- If you experience problems connecting to a PPTP server
+ running on your firewall and you have a 'pptpserver' entry in /etc/shorewall/tunnels,
this
- version of the firewall script may help. Please report any cases
- where installing this script in /usr/lib/shorewall/firewall solved
-your connection problems. Beginning with version 1.3.10, it is safe
-to save the old version of /usr/lib/shorewall/firewall before copying
-in the new one since /usr/lib/shorewall/firewall is the real script
-now and not just a symbolic link to the real script.
-
-
+ href="http://www.shorewall.net/pub/shorewall/errata/1.3.10/firewall">this
+ version of the firewall script may help. Please report any cases
+ where installing this script in /usr/lib/shorewall/firewall solved your
+ connection problems. Beginning with version 1.3.10, it is safe to save
+ the old version of /usr/lib/shorewall/firewall before copying in the
+ new one since /usr/lib/shorewall/firewall is the real script now and
+not just a symbolic link to the real script.
+
+
-
+
Version 1.3.9a
-
+
- - If entries are used in /etc/shorewall/hosts and MERGE_HOSTS=No
+
- If entries are used in /etc/shorewall/hosts and MERGE_HOSTS=No
then the following message appears during "shorewall [re]start":
-
+
-
+
recalculate_interfacess: command not found
-
+
The updated firewall script at ftp://www.shorewall.net/pub/shorewall/errata/1.3.9/firewall
- corrects this problem.Copy the script to /usr/lib/shorewall/firewall
+ target="_top">ftp://www.shorewall.net/pub/shorewall/errata/1.3.9/firewall
+ corrects this problem.Copy the script to /usr/lib/shorewall/firewall
as described above.
-
-
- Alternatively, edit /usr/lob/shorewall/firewall and change the
- single occurence (line 483 in version 1.3.9a) of 'recalculate_interefacess'
+
+
+ Alternatively, edit /usr/lob/shorewall/firewall and change the
+ single occurence (line 483 in version 1.3.9a) of 'recalculate_interefacess'
to 'recalculate_interface'.
-
-
+
+
- - The installer (install.sh) issues a misleading message
- "Common functions installed in /var/lib/shorewall/functions" whereas
- the file is installed in /usr/lib/shorewall/functions. The installer
- also performs incorrectly when updating old configurations that had the
+
- The installer (install.sh) issues a misleading message
+ "Common functions installed in /var/lib/shorewall/functions" whereas
+ the file is installed in /usr/lib/shorewall/functions. The installer
+ also performs incorrectly when updating old configurations that had the
file /etc/shorewall/functions. Here
+ href="ftp://ftp.shorewall.net/pub/shorewall/errata/1.3.9/install.sh">Here
is an updated version that corrects these problems.
-
-
+
+
-
+
Version 1.3.9
- TUNNELS Broken in 1.3.9!!! There is an updated
+ TUNNELS Broken in 1.3.9!!! There is an updated
firewall script at ftp://www.shorewall.net/pub/shorewall/errata/1.3.9/firewall
+ target="_top">ftp://www.shorewall.net/pub/shorewall/errata/1.3.9/firewall
-- copy that file to /usr/lib/shorewall/firewall as described above.
-
- Version 1.3.8
+
+ Version 1.3.8
- - Use of shell variables in the LOG LEVEL or SYNPARMS
+
- Use of shell variables in the LOG LEVEL or SYNPARMS
columns of the policy file doesn't work.
- - A DNAT rule with the same original and new IP
-addresses but with different port numbers doesn't work (e.g., "DNAT
+
- A DNAT rule with the same original and new IP
+addresses but with different port numbers doesn't work (e.g., "DNAT
loc dmz:10.1.1.1:24 tcp 25 - 10.1.1.1")
-
-
+
+
- Installing
- this corrected firewall script in /var/lib/shorewall/firewall
- as described above corrects these
- problems.
+ Installing
+ this corrected firewall script in /var/lib/shorewall/firewall
+ as described above corrects these
+ problems.
Version 1.3.7b
-
-
-DNAT rules where the source zone is 'fw' ($FW)
- result in an error message. Installing
-
- this corrected firewall script in /var/lib/shorewall/firewall
- as described above corrects this
+
+
DNAT rules where the source zone is 'fw' ($FW) result in an error
+message. Installing
+ this corrected firewall script in /var/lib/shorewall/firewall
+ as described above corrects this
problem.
-
-
+
Version 1.3.7a
-
-
-"shorewall refresh" is not creating the proper
- rule for FORWARDPING=Yes. Consequently, after
- "shorewall refresh", the firewall will not forward
- icmp echo-request (ping) packets. Installing
+
+
"shorewall refresh" is not creating the proper rule for FORWARDPING=Yes.
+Consequently, after "shorewall refresh", the firewall will not
+forward icmp echo-request (ping) packets. Installing
- this corrected firewall script in /var/lib/shorewall/firewall
- as described above corrects this
+ href="http://www.shorewall.net/pub/shorewall/errata/1.3.7/firewall">
+ this corrected firewall script in /var/lib/shorewall/firewall
+ as described above corrects this
problem.
-
-
+
Version <= 1.3.7a
-
-
-If "norfc1918" and "dhcp" are both specified as
- options on a given interface then RFC 1918
- checking is occurring before DHCP checking. This
- means that if a DHCP client broadcasts using an
- RFC 1918 source address, then the firewall will
- reject the broadcast (usually logging it). This
+
+
If "norfc1918" and "dhcp" are both specified as options on a
+given interface then RFC 1918 checking is occurring before DHCP
+checking. This means that if a DHCP client broadcasts using
+an RFC 1918 source address, then the firewall will
+ reject the broadcast (usually logging it). This
has two problems:
-
-
+
- - If the firewall
- is running a DHCP server, the
-client won't be able to obtain an IP address
- lease from that server.
- - With this order
- of checking, the "dhcp" option
-cannot be used as a noise-reduction
- measure where there are both dynamic and static
- clients on a LAN segment.
-
+ - If the firewall
+ is running a DHCP server, the client
+ won't be able to obtain an IP address lease from
+that server.
+ - With this order
+ of checking, the "dhcp" option
+cannot be used as a noise-reduction measure where there are both
+dynamic and static clients on a LAN segment.
+
-
-
+
- This version of the 1.3.7a firewall script
- corrects the problem. It must be
-installed in /var/lib/shorewall as
-described above.
-
-
+ href="http://www.shorewall.net/pub/shorewall/errata/1.3.7/firewall">
+ This version of the 1.3.7a firewall script
+ corrects the problem. It must be installed
+ in /var/lib/shorewall as described
+ above.
+
Version 1.3.7
-
-
-Version 1.3.7 dead on arrival -- please use
- version 1.3.7a and check your version against
- these md5sums -- if there's a difference, please
+
+
Version 1.3.7 dead on arrival -- please use version 1.3.7a and check
+your version against these md5sums -- if there's a difference, please
download again.
-
-
+
d2fffb7fb99bcc6cb047ea34db1df10 shorewall-1.3.7a.tgz
6a7fd284c8685b2b471a2f47b469fb94 shorewall-1.3.7a-1.noarch.rpm
3decd14296effcff16853106771f7035 shorwall-1.3.7a.lrp
-
-In other words, type "md5sum <whatever package you downloaded>
+
+
In other words, type "md5sum <whatever package you downloaded>
and compare the result with what you see above.
-
-I'm embarrassed to report that 1.2.7 was also DOA -- maybe I'll skip the
+
+
I'm embarrassed to report that 1.2.7 was also DOA -- maybe I'll skip the
.7 version in each sequence from now on.
-
+
Version 1.3.6
-
+
- -
-
-
-
If ADD_SNAT_ALIASES=Yes is specified in /etc/shorewall/shorewall.conf,
- an error occurs when the firewall script attempts to
+
-
+
If ADD_SNAT_ALIASES=Yes is specified in /etc/shorewall/shorewall.conf,
+ an error occurs when the firewall script attempts to
add an SNAT alias.
-
- -
-
-
-
The logunclean and dropunclean options
- cause errors during startup when Shorewall is run with iptables
+
+ -
+
The logunclean and dropunclean options
+ cause errors during startup when Shorewall is run with iptables
1.2.7.
-
-
+
+
-
+
These problems are fixed in
- this correct firewall script which must be installed in
- /var/lib/shorewall/ as described above. These problems are also
- corrected in version 1.3.7.
-
+ href="http://www.shorewall.net/pub/shorewall/errata/1.3.6/firewall">
+ this correct firewall script which must be installed in /var/lib/shorewall/
+as described above. These problems are also corrected in version 1.3.7.
+
Two-interface Samples 1.3.6 (file two-interfaces.tgz)
-
-A line was inadvertently deleted from the "interfaces
- file" -- this line should be added back in if the version that you
- downloaded is missing it:
-
+
+A line was inadvertently deleted from the "interfaces
+ file" -- this line should be added back in if the version that you
+ downloaded is missing it:
+
net eth0 detect routefilter,dhcp,norfc1918
-
-If you downloaded two-interfaces-a.tgz then the above
- line should already be in the file.
-
+
+If you downloaded two-interfaces-a.tgz then the above
+ line should already be in the file.
+
Version 1.3.5-1.3.5b
-
-The new 'proxyarp' interface option doesn't work :-(
- This is fixed in
- this corrected firewall script which must be installed in
- /var/lib/shorewall/ as described above.
-
+
+The new 'proxyarp' interface option doesn't work :-(
+ This is fixed in
+ this corrected firewall script which must be installed in
+/var/lib/shorewall/ as described above.
+
Versions 1.3.4-1.3.5a
-
-Prior to version 1.3.4, host file entries such as the
- following were allowed:
-
-
+
+
Prior to version 1.3.4, host file entries such as the
+ following were allowed:
+
+
adm eth0:1.2.4.5,eth0:5.6.7.8
-
-
-
-
That capability was lost in version 1.3.4 so that it is only
- possible to include a single host specification on each line.
+
+
+
+
That capability was lost in version 1.3.4 so that it is only
+ possible to include a single host specification on each line.
This problem is corrected by this
- modified 1.3.5a firewall script. Install the script in
+ href="http://www.shorewall.net/pub/shorewall/errata/1.3.5a/firewall">this
+ modified 1.3.5a firewall script. Install the script in
/var/lib/pub/shorewall/firewall as instructed above.
-
-
-
+
+
+
This problem is corrected in version 1.3.5b.
-
-
+
+
Version 1.3.5
-
-REDIRECT rules are broken in this version. Install
-
- this corrected firewall script in /var/lib/pub/shorewall/firewall
- as instructed above. This problem is corrected in version
+
+
REDIRECT rules are broken in this version. Install
+ this corrected firewall script in /var/lib/pub/shorewall/firewall
+ as instructed above. This problem is corrected in version
1.3.5a.
-
+
Version 1.3.n, n < 4
-
-The "shorewall start" and "shorewall restart" commands
- to not verify that the zones named in the /etc/shorewall/policy
-file have been previously defined in the /etc/shorewall/zones
-file. The "shorewall check" command does perform this verification
-so it's a good idea to run that command after you have made configuration
+
+
The "shorewall start" and "shorewall restart" commands
+ to not verify that the zones named in the /etc/shorewall/policy file
+ have been previously defined in the /etc/shorewall/zones file.
+The "shorewall check" command does perform this verification so
+it's a good idea to run that command after you have made configuration
changes.
-
+
Version 1.3.n, n < 3
-
-If you have upgraded from Shorewall 1.2 and after
- "Activating rules..." you see the message: "iptables: No chains/target/match
- by that name" then you probably have an entry in /etc/shorewall/hosts
- that specifies an interface that you didn't include
-in /etc/shorewall/interfaces. To correct this problem, you
- must add an entry to /etc/shorewall/interfaces. Shorewall 1.3.3
- and later versions produce a clearer error message in
-this case.
-
+
+If you have upgraded from Shorewall 1.2 and after "Activating
+rules..." you see the message: "iptables: No chains/target/match
+ by that name" then you probably have an entry in /etc/shorewall/hosts
+ that specifies an interface that you didn't include
+in /etc/shorewall/interfaces. To correct this problem, you
+ must add an entry to /etc/shorewall/interfaces. Shorewall 1.3.3
+and later versions produce a clearer error message in this
+ case.
+
Version 1.3.2
-
-Until approximately 2130 GMT on 17 June 2002, the
- download sites contained an incorrect version of the .lrp file. That
- file can be identified by its size (56284 bytes). The correct
-version has a size of 38126 bytes.
-
+
+Until approximately 2130 GMT on 17 June 2002, the download
+sites contained an incorrect version of the .lrp file. That file
+can be identified by its size (56284 bytes). The correct version
+ has a size of 38126 bytes.
+
- - The code to detect a duplicate interface
- entry in /etc/shorewall/interfaces contained a typo that
+
- The code to detect a duplicate interface
+ entry in /etc/shorewall/interfaces contained a typo that
prevented it from working correctly.
- - "NAT_BEFORE_RULES=No" was broken;
+
- "NAT_BEFORE_RULES=No" was broken;
it behaved just like "NAT_BEFORE_RULES=Yes".
-
+
-
+
Both problems are corrected in
- this script which should be installed in /var/lib/shorewall
+ href="http://www.shorewall.net/pub/shorewall/errata/1.3.2/firewall">
+ this script which should be installed in /var/lib/shorewall
as described above.
-
+
-
+
Version 1.3.1
-
+
- - TCP SYN packets may be double counted
- when LIMIT:BURST is included in a CONTINUE or ACCEPT policy
+
- TCP SYN packets may be double counted
+ when LIMIT:BURST is included in a CONTINUE or ACCEPT policy
(i.e., each packet is sent through the limit chain twice).
- - An unnecessary jump to the policy
+
- An unnecessary jump to the policy
chain is sometimes generated for a CONTINUE policy.
- - When an option is given for more than
- one interface in /etc/shorewall/interfaces then depending
- on the option, Shorewall may ignore all but the first
- appearence of the option. For example:
-
- net eth0 dhcp
- loc eth1 dhcp
-
- Shorewall will ignore the 'dhcp' on eth1.
- - Update 17 June 2002 - The bug described
- in the prior bullet affects the following options:
-dhcp, dropunclean, logunclean, norfc1918, routefilter,
-multi, filterping and noping. An additional bug has been
+
- When an option is given for more
+than one interface in /etc/shorewall/interfaces then
+depending on the option, Shorewall may ignore all but
+the first appearence of the option. For example:
+
+ net eth0 dhcp
+ loc eth1 dhcp
+
+ Shorewall will ignore the 'dhcp' on eth1.
+ - Update 17 June 2002 - The bug described
+ in the prior bullet affects the following options:
+dhcp, dropunclean, logunclean, norfc1918, routefilter,
+multi, filterping and noping. An additional bug has been
found that affects only the 'routestopped' option.
-
- Users who downloaded the corrected script
- prior to 1850 GMT today should download and install
- the corrected script again to ensure that this second
+
+ Users who downloaded the corrected script
+ prior to 1850 GMT today should download and install
+ the corrected script again to ensure that this second
problem is corrected.
-
+
-
+
These problems are corrected in
- this firewall script which should be installed in /etc/shorewall/firewall
+ href="http://www.shorewall.net/pub/shorewall/errata/1.3.1/firewall">
+ this firewall script which should be installed in /etc/shorewall/firewall
as described above.
-
+
Version 1.3.0
-
+
- - Folks who downloaded 1.3.0 from the
- links on the download page before 23:40 GMT, 29 May
- 2002 may have downloaded 1.2.13 rather than 1.3.0.
-The "shorewall version" command will tell you which version
- that you have installed.
- - The documentation NAT.htm file uses
- non-existent wallpaper and bullet graphic files. The
-
- corrected version is here.
-
+ - Folks who downloaded 1.3.0 from the
+ links on the download page before 23:40 GMT, 29 May
+ 2002 may have downloaded 1.2.13 rather than 1.3.0.
+The "shorewall version" command will tell you which version
+ that you have installed.
+ - The documentation NAT.htm file uses
+ non-existent wallpaper and bullet graphic files. The
+
+ corrected version is here.
+
-
-
+
+
Upgrade Issues
-
+
The upgrade issues have moved to a separate page.
-
-
- Problem with
+
+
+ Problem with
iptables version 1.2.3
-
-
-
- There are a couple of serious bugs in iptables 1.2.3 that
- prevent it from working with Shorewall. Regrettably, RedHat
- released this buggy iptables in RedHat 7.2.
-
-
+
+
+ There are a couple of serious bugs in iptables 1.2.3 that
+ prevent it from working with Shorewall. Regrettably,
+RedHat released this buggy iptables in RedHat 7.2.
+
I have built a
- corrected 1.2.3 rpm which you can download here and I have
+ href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3-3.i386.rpm">
+ corrected 1.2.3 rpm which you can download here 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.
-
-
- Update 11/9/2001: RedHat
- has released an iptables-1.2.4 RPM of their own which you can
+ href="ftp://ftp.shorewall.net/pub/shorewall/iptables-1.2.4-1.i386.rpm"> 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.
+
+ 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
+ href="http://www.redhat.com/support/errata/RHSA-2001-144.html">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,
+
+
If you would like to patch iptables 1.2.3 yourself,
the patches are available for download. This patch
- which corrects a problem with parsing of the --log-level specification
+ href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/loglevel.patch">patch
+ which corrects a problem with parsing of the --log-level specification
while this patch
+ href="ftp://ftp.shorewall.net/pub/shorewall/errata/iptables-1.2.3/tos.patch">patch
corrects a problem in handling the TOS target.
-
-
+
To install one of the above patches:
-
-
+
- - cd iptables-1.2.3/extensions
- - patch -p0 < the-patch-file
-
-
+ - cd iptables-1.2.3/extensions
+ - patch -p0 < the-patch-file
+
-
-
-
-Problems with kernels >= 2.4.18
- and RedHat iptables
-
-
-
- Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18/19
+
+
+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:
-
-
-
-
+
+
# shorewall start
Processing /etc/shorewall/shorewall.conf ...
Processing /etc/shorewall/params ...
Starting Shorewall...
Loading Modules...
Initializing...
Determining Zones...
Zones: net
Validating interfaces file...
Validating hosts file...
Determining Hosts in Zones...
Net Zone: eth0:0.0.0.0/0
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
-
-
-
- The RedHat iptables RPM is compiled with debugging enabled but the
- user-space debugging code was not updated to reflect recent changes in
- the Netfilter 'mangle' table. You can correct the problem
-by installing
- this iptables RPM. If you are already running a 1.2.5 version
- of iptables, you will need to specify the --oldpackage option
+
+
+ The RedHat iptables RPM is compiled with debugging enabled but the
+ user-space debugging code was not updated to reflect recent changes in
+ the Netfilter 'mangle' table. You can correct the problem by
+ installing
+ 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
+
+
+Problems installing/upgrading
RPM on SuSE
-
-
-
If you find that rpm complains about a conflict
- with kernel <= 2.2 yet you have a 2.4 kernel
- installed, simply use the "--nodeps" option to
- rpm.
-
-
+
+If you find that rpm complains about a conflict with kernel <=
+2.2 yet you have a 2.4 kernel installed, simply use the "--nodeps"
+option to rpm.
+
Installing: rpm -ivh --nodeps <shorewall rpm>
-
-
+
Upgrading: rpm -Uvh --nodeps <shorewall rpm>
-
-
-Problems with
- iptables version 1.2.7 and 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:
-
-
+
+Problems with iptables version 1.2.7 and
+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:
+
- - set MULTIPORT=No
+
- set MULTIPORT=No
in /etc/shorewall/shorewall.conf; or
- - if you are running
- Shorewall 1.3.6 you may install
+
- if you are running
+ Shorewall 1.3.6 you may install
- this firewall script in /var/lib/shorewall/firewall
+ href="http://www.shorewall.net/pub/shorewall/errata/1.3.6/firewall">
+ this firewall script in /var/lib/shorewall/firewall
as described above.
-
+
-
+
Problems with RH Kernel 2.4.18-10 and NAT
-
- /etc/shorewall/nat entries of the following form will result
- in Shorewall being unable to start:
-
-
+
+ /etc/shorewall/nat entries of the following form will
+result in Shorewall being unable to start:
+
+
#EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL
192.0.2.22 eth0 192.168.9.22 yes yes
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
- Error message is:
-
+ Error message is:
+
Setting up NAT...
iptables: Invalid argument
Terminated
- 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
+ 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
-
- Last updated 3/8/2003 -
-Tom Eastep
-
+
+ Last updated 3/8/2003 - Tom Eastep
+
+
Copyright © 2001, 2002, 2003 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/fallback.htm b/Shorewall-docs/fallback.htm
index f9309f4ce..1141bd0b6 100644
--- a/Shorewall-docs/fallback.htm
+++ b/Shorewall-docs/fallback.htm
@@ -1,74 +1,77 @@
+
-
-
-Shorewall Fallback and Uninstall
-
-
+
+
+ Shorewall Fallback and Uninstall
+
+
+
+
-
-
-
-