diff --git a/STABLE/changelog.txt b/STABLE/changelog.txt index aebaf9266..9e203511e 100644 --- a/STABLE/changelog.txt +++ b/STABLE/changelog.txt @@ -51,3 +51,6 @@ Changes since 1.4.5 21. Support Linux 2.6 compressed modules. 22. Don't display DHCP message when there are no DHCP interface. + +23. Move determine_capabilities call to do_initialize to ensure that + MANGLE_ENABLED is set before it is tested. diff --git a/STABLE/documentation/News.htm b/STABLE/documentation/News.htm index 2d61645c1..24995aeb4 100644 --- a/STABLE/documentation/News.htm +++ b/STABLE/documentation/News.htm @@ -5,7 +5,7 @@ - + Shorewall News @@ -16,300 +16,499 @@ - + - + - + - + - + + + + - + + + - -
- -

Shorewall News Archive

-
- + +

7/22/2003 - Shorewall-1.4.6a
+

+Problems Corrected:
+ +
    +
  1. Previously, if TC_ENABLED is set to yes in shorewall.conf then Shorewall +would fail to start with the error "ERROR:  Traffic Control requires Mangle"; +that problem has been corrected.
  2. +

7/20/2003 - Shorewall-1.4.6
-

+

- +
- +

Problems Corrected:
+

+ + +
    +
  1. A problem seen on RH7.3 systems where Shorewall encountered start + errors when started using the "service" mechanism has been worked around.
    +
    +
  2. +
  3. 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.
    +
    +
  4. +
  5. Corrected a problem in Beta 1 where DNS names containing a "-" + were mis-handled when they appeared in the DEST column of a rule.
    +
    +
  6. +
  7. 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.
    +
    +
  8. +
  9. The message "Adding rules for DHCP" is now suppressed if there are +no DHCP rules to add.
    +
  10. + +
+ + +

Migration Issues:

- +
    -
  1. A problem seen on RH7.3 systems where Shorewall encountered start - errors when started using the "service" mechanism has been worked around.
    +
  2. 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

  3. -
  4. 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.
    -
    -
  5. -
  6. Corrected a problem in Beta 1 where DNS names containing a "-" -were mis-handled when they appeared in the DEST column of a rule.
    +
  7. 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).
    +
  8. + +
+ + +

New Features:
+

+ + +
    +
  1. A 'newnotsyn' interface option has been added. This option may + be specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No + for packets arriving on the associated interface.
    +
    +
  2. +
  3. 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.
    +
    +
  4. +
  5. Shorewall can now add IP addresses to subnets other than the first + one on an interface.
    +
    +
  6. +
  7. 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
    +
    +
  8. +
  9. 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...
    +
    +
  10. +
  11. 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:
  12. + +
- -

Migration Issues:
-

- -
    -
  1. In earlier versions, an undocumented feature allowed entries in -the host file as follows:
    -
    -     z    eth1:192.168.1.0/24,eth2:192.168.2.0/24
    -
    - This capability was never documented and has been removed in 1.4.6 - to allow entries of the following format:
    -
    -     z   eth1:192.168.1.0/24,192.168.2.0/24
    -
    -
  2. -
  3. 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).
    -
  4. -
- -

New Features:
-

- - -
    -
  1. A 'newnotsyn' interface option has been added. This option may -be specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No - for packets arriving on the associated interface.
    + +
  2. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) + may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
    +
    +
  3. +
  4. 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.

  5. -
  6. 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.
    +
  7. An 'iprange' command has been added to /sbin/shorewall. +

    -
  8. -
  9. Shorewall can now add IP addresses to subnets other than the first - one on an interface.
    +       iprange <address>-<address>

    -
  10. -
  11. 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>.
    + 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:

    -     DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
    +       [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]#

  12. -
  13. 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:
    +
  14. A list of host/net addresses is now allowed in an entry in /etc/shorewall/hosts.

    - Shorewall has detected the following iptables/netfilter capabilities:
    -    NAT: Available
    -    Packet Mangling: Available
    -    Multi-port Match: Available
    - Verifying Configuration...
    + Example:

    -
  15. -
  16. 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:
  17. - -
  18. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) - may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
    -
    -
  19. -
  20. 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.
    -
    -
  21. -
  22. 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]#
    -
    -
  23. -
  24. 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
    -
    -
  25. -
  26. The "shorewall check" command now includes the chain name when printing +     foo    eth1:192.168.1.0/24,192.168.2.0/24
    +
    +
  27. +
  28. The "shorewall check" command now includes the chain name when printing the applicable policy for each pair of zones.
    -  
    -     Example:
    -  
    -         Policy for dmz to net is REJECT using chain all2all
    -  
    - This means that the policy for connections from the dmz to the internet -is REJECT and the applicable entry in the /etc/shorewall/policy was the all->all -policy.
    -
    -
  29. -
  30. Support for the 2.6 Kernel series has been added.
    -
  31. +  
    +     Example:
    +  
    +         Policy for dmz to net is REJECT using chain all2all
    +  
    + This means that the policy for connections from the dmz to the internet +is REJECT and the applicable entry in the /etc/shorewall/policy was the all->all + policy.
    +
    + +
  32. Support for the 2.6 Kernel series has been added.
    +
  33. +
+

7/15/2003 - New Mirror in Brazil
-

- Thanks to the folks at securityopensource.org.br, there is now a Shorewall - 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:
-

- +

+
    -
  1. A problem seen on RH7.3 systems where Shorewall encountered start +
  2. A problem seen on RH7.3 systems where Shorewall encountered start errors when started using the "service" mechanism has been worked around.
    +
    +
  3. +
  4. 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.

    -
  5. -
  6. 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.
    +
  7. +
  8. Corrected a problem in Beta 1 where DNS names containing a "-" +were mis-handled when they appeared in the DEST column of a rule.

  9. -
  10. Corrected a problem in Beta 1 where DNS names containing a "-" were - mis-handled when they appeared in the DEST column of a rule.
    -
    -
  11. -
  12. 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.
    -
  13. - +
  14. 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.
    +
  15. +
- + +

Migration Issues:
+

+ +
    +
  1. In earlier versions, an undocumented feature allowed entries in +the host file as follows:
    +
    +     z    eth1:192.168.1.0/24,eth2:192.168.2.0/24
    +
    + This capability was never documented and has been removed in 1.4.6 +to allow entries of the following format:
    +
    +     z   eth1:192.168.1.0/24,192.168.2.0/24
    +
    +
  2. +
  3. 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).
    +
  4. + +
+ +

New Features:
+

+ +
    +
  1. A 'newnotsyn' interface option has been added. This option may +be specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No + for packets arriving on the associated interface.
    +
    +
  2. +
  3. 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.
    +
    +
  4. +
  5. Shorewall can now add IP addresses to subnets other than the first + one on an interface.
    +
    +
  6. +
  7. 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
    +
    +
  8. +
  9. 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...
    +
    +
  10. +
  11. 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:
  12. + + +
  13. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) + may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
    +
    +
  14. +
  15. 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.
    +
    +
  16. +
  17. 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]#
    +
    +
  18. +
  19. 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
  20. + +
+ +

7/7/2003 - Shorewall-1.4.6 Beta 2

+ +

Problems Corrected:
+

+ +
    +
  1. A problem seen on RH7.3 systems where Shorewall encountered start + errors when started using the "service" mechanism has been worked around.
    +
    +
  2. +
  3. 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.
    +
    +
  4. +
  5. Corrected a problem in Beta 1 where DNS names containing a "-" +were mis-handled when they appeared in the DEST column of a rule.
    +
  6. + +
+

Migration Issues:

- +
    -
  1. In earlier versions, an undocumented feature allowed entries in -the host file as follows:
    +
  2. 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

    @@ -319,89 +518,89 @@ the host file as follows:
        z   eth1:192.168.1.0/24,192.168.2.0/24

  3. -
  4. 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).
    +
  5. 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).
  6. - +
- +

New Features:
-

- +

+
    -
  1. A 'newnotsyn' interface option has been added. This option may be - specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No +
  2. 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.
    -
    -
  3. -
  4. 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 +
    +
  5. +
  6. 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.
    -
    -
  7. -
  8. Shorewall can now add IP addresses to subnets other than the first - one on an interface.
    -
    -
  9. -
  10. 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 +
    +
  11. +
  12. Shorewall can now add IP addresses to subnets other than the first + one on an interface.
    +
    +
  13. +
  14. 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
    -
    -
  15. -
  16. 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...
    -
    -
  17. -
  18. 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 +
    + Example:
    +
    +     DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
    +
    +
  19. +
  20. 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...
    +
    +
  21. +
  22. 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:
  23. - + -
  24. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) +
  25. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.

    -
  26. -
  27. An 'ipcalc' command has been added to /sbin/shorewall.
    +
  28. +
  29. An 'ipcalc' command has been added to /sbin/shorewall.

    -       ipcalc [ <address> <netmask> | <address>/<vlsm> +       ipcalc [ <address> <netmask> | <address>/<vlsm> ]

    Examples:
    @@ -428,7 +627,7 @@ then the ipcalc command produces incorrect information for IP addresses for all valid IP addresses.

  30. -
  31. An 'iprange' command has been added to /sbin/shorewall.
    +
  32. An 'iprange' command has been added to /sbin/shorewall.

          iprange <address>-<address>

    @@ -437,7 +636,7 @@ for all valid IP addresses.
    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) + Note: If your shell only supports 32-bit signed arithmetic (ash or dash) then the range may not span 128.0.0.0.

    Example:
    @@ -457,1465 +656,1240 @@ addresses.
          [root@gateway root]#

  33. -
  34. A list of host/net addresses is now allowed in an entry in /etc/shorewall/hosts.
    +
  35. 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
  36. - +     foo    eth1:192.168.1.0/24,192.168.2.0/24
    +
    + +
- -

7/7/2003 - Shorewall-1.4.6 Beta 2

- -

Problems Corrected:
-

- -
    -
  1. A problem seen on RH7.3 systems where Shorewall encountered start - errors when started using the "service" mechanism has been worked around.
    -
    -
  2. -
  3. 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.
    -
    -
  4. -
  5. Corrected a problem in Beta 1 where DNS names containing a "-" -were mis-handled when they appeared in the DEST column of a rule.
    -
  6. - -
- -

Migration Issues:
-

- -
    -
  1. In earlier versions, an undocumented feature allowed entries in -the host file as follows:
    -
    -     z    eth1:192.168.1.0/24,eth2:192.168.2.0/24
    -
    - This capability was never documented and has been removed in 1.4.6 to -allow entries of the following format:
    -
    -     z   eth1:192.168.1.0/24,192.168.2.0/24
    -
    -
  2. -
  3. 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).
    -
  4. - -
- -

New Features:
-

- -
    -
  1. A 'newnotsyn' interface option has been added. This option may -be specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No - for packets arriving on the associated interface.
    -
    -
  2. -
  3. 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.
    -
    -
  4. -
  5. Shorewall can now add IP addresses to subnets other than the first - one on an interface.
    -
    -
  6. -
  7. 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
    -
    -
  8. -
  9. 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...
    -
    -
  10. -
  11. 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:
  12. - - -
  13. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) - may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
    -
    -
  14. -
  15. 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.
    -
    -
  16. -
  17. 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]#
    -
    -
  18. -
  19. 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
    -
    -
  20. - -
- +

7/4/2003 - Shorewall-1.4.6 Beta 1

- -

Problems Corrected:
-

- -
    -
  1. A problem seen on RH7.3 systems where Shorewall encountered start - errors when started using the "service" mechanism has been worked around.
    -
    -
  2. -
  3. 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.
    -
  4. - -
- -

New Features:
-

- -
    -
  1. A 'newnotsyn' interface option has been added. This option may - be specified in /etc/shorewall/interfaces and overrides the setting NEWNOTSYN=No - for packets arriving on the associated interface.
    -
    -
  2. -
  3. 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.
    -
    -
  4. -
  5. Shorewall can now add IP addresses to subnets other than the -first one on an interface.
    -
    -
  6. -
  7. 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.
    -
    -
  8. -
  9. 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...
    -
    -
  10. -
  11. 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:
  12. - -
      - -
    - - -
  13. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) - may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
    -
  14. - -
- -

6/17/2003 - Shorewall-1.4.5

-

Problems Corrected:
+

Problems Corrected:

    -
  1. The command "shorewall debug try <directory>" now correctly - traces the attempt.
  2. -
  3. The INCLUDE directive now works properly in the zones file; -previously, INCLUDE in that file was ignored.
  4. -
  5. /etc/shorewall/routestopped records with an empty second column - are no longer ignored.
    +
  6. A problem seen on RH7.3 systems where Shorewall encountered +start errors when started using the "service" mechanism has been worked +around.
    +
    +
  7. +
  8. 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:
+

New Features:

    -
  1. The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] rule may - now contain a list of addresses. If the list begins with "!' then the -rule will take effect only if the original destination address in the -connection request does not match any of the addresses listed.
  2. +
  3. 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.
    +
    +
  4. +
  5. 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.
    +
    +
  6. +
  7. Shorewall can now add IP addresses to subnets other than the +first one on an interface.
    +
    +
  8. +
  9. 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.
    +
    +
  10. +
  11. 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...
    +
    +
  12. +
  13. 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:
  14. + +
      + +
    + + +
  15. 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/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8

+

6/17/2003 - Shorewall-1.4.5

-

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:

+
    +
  1. The command "shorewall debug try <directory>" now correctly + traces the attempt.
  2. +
  3. The INCLUDE directive now works properly in the zones file; +previously, INCLUDE in that file was ignored.
  4. +
  5. /etc/shorewall/routestopped records with an empty second column + are no longer ignored.
    +
  6. + +
+ +

New Features:
+

+ +
    +
  1. The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] rule may + now contain a list of addresses. If the list begins with "!' then the rule + will take effect only if the original destination address in the connection + request does not match any of the addresses listed.
  2. + +
+ +

6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8

+ +

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.

- + +

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 + +

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. + 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:
- +
+     Problems corrected:
+
None.
-
-     New Features:
-
+ +     New Features:
+
    -
  1. 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.
    -
    -
  2. -
  3. 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.
    -
    -
  4. -
  5. 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.
    -
  6. - +
  7. 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.
    +
    +
  8. +
  9. 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.
    +
    +
  10. +
  11. 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.
    +
  12. +
- +

5/20/2003 - Shorewall-1.4.3a
-

- This version primarily corrects the documentation included +

+ This version primarily corrects the documentation included in the .tgz and in the .rpm. In addition:
- +
    -
  1. (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
  2. -
  3. UDP port 135 is now silently dropped in the common.def - chain. Remember that this chain is traversed just before a DROP or +
  4. (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
  5. +
  6. 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.
    -
  7. - + +
- +

5/18/2003 - Shorewall 1.4.3
-

-     Problems Corrected:
-
-
    -
  1. There were several cases where Shorewall would fail - to remove a temporary directory from /tmp. These cases have been corrected.
  2. -
  3. 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.
  4. - -
-     New Features:
-
-
    -
  1.  IPV6-IPV4 (6to4) tunnels are now supported in the -/etc/shorewall/tunnels file.
  2. -
  3. 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.
    -
  4. - -
- -

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. -

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:

- -
- -
    -
  1. 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.
  2. -
  3. 'traceroute -I' from behind the firewall previously - timed out on the first hop (e.g., to the firewall). This has been - worked around.
  4. - - -
-
- -

    New Features:

- -
    -
  1. 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.
    -
    -
  2. -
  3. 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.
    -
    -
  4. -
  5. 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.
    -
  6. - -
- -

3/24/2003 - Shorewall 1.4.1

- - - - - - - - - - - - - - - - - - - - - -

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:
+
    -
  1. 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.
  2. - +
  3. There were several cases where Shorewall would fail + to remove a temporary directory from /tmp. These cases have been corrected.
  4. +
  5. 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.
  6. +
- 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:
+     New Features:
+
+
    +
  1.  IPV6-IPV4 (6to4) tunnels are now supported in the + /etc/shorewall/tunnels file.
  2. +
  3. 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.
    +
  4. + +
+ +

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. +

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:

+ +
+ +
    +
  1. 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.
  2. +
  3. 'traceroute -I' from behind the firewall previously + timed out on the first hop (e.g., to the firewall). This has been + worked around.
  4. - -
    eth0:0.0.0.0/0
    - 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.
    -
- + + +
+ +

    New Features:

+
    -
  1. 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.
  2. -
  3. Beginning with Shorewall 1.4.1, Shorewall will - never create rules to handle traffic from a group to itself.
  4. -
  5. A NONE policy is introduced in 1.4.1. When a -policy of NONE is specified from Z1 to Z2:
  6. +
  7. 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.
    +
    +
  8. +
  9. 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.
    +
    +
  10. +
  11. 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.
    +
- - - See the upgrade issues - for a discussion of how these changes may affect your configuration. +

3/24/2003 - Shorewall 1.4.1

+ + + + + + + + + + + + + + + + + + + + + +

This release follows up on 1.4.0. It corrects a problem introduced in +1.4.0 and removes additional warts.
+
+ Problems Corrected:
+

+ +
    +
  1. 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.
  2. + +
+ 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
+
+ You can use the "shorewall check" command to see +the groups associated with each of your zones.
+
+ +
    +
  1. 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.
  2. +
  3. Beginning with Shorewall 1.4.1, Shorewall will + never create rules to handle traffic from a group to itself.
  4. +
  5. A NONE policy is introduced in 1.4.1. When +a policy of NONE is specified from Z1 to Z2:
  6. + +
+ + + 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 + 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 +
+ IMPORTANT: Shorewall 1.4.0 requires +the iproute package ('ip' utility).
+
+ Function from 1.3 that has been omitted from this version include:
- +
    -
  1. 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.
    -
    -
  2. -
  3. Interface names of the form <device>:<integer> - in /etc/shorewall/interfaces now generate an error.
    -
    -
  4. -
  5. 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.
    -
    -
  6. -
  7. 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.
    -
    -
  8. -
  9. The Shorewall 1.2 syntax for DNAT and - REDIRECT rules is no longer accepted.
    -
    -
  10. -
  11. The ALLOWRELATED variable in shorewall.conf - is no longer supported. Shorewall 1.4 behavior is the same as - 1.3 with ALLOWRELATED=Yes.
    -
    -
  12. -
  13. The icmp.def file has been removed.
    -
  14. - -
- Changes for 1.4 include:
- -
    -
  1. The /etc/shorewall/shorewall.conf file - has been completely reorganized into logical sections.
    -
    -
  2. -
  3. LOG is now a valid action for a rule - (/etc/shorewall/rules).
    -
    -
  4. -
  5. The firewall script and version file - are now installed in /usr/share/shorewall.
    -
    -
  6. -
  7. Late arriving DNS replies are now silently - dropped in the common chain by default.
    -
    -
  8. -
  9. 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.
    -
    -
  10. -
  11. CONTINUE is now a valid action for a rule -(/etc/shorewall/rules).
    -
    -
  12. -
  13. 802.11b devices with names of the form wlan<n> - now support the 'maclist' option.
    -
    -
  14. -
  15. 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.
    -
    -
  16. -
  17. The /etc/shorewall/params file is now processed - first so that variables may be used in the /etc/shorewall/shorewall.conf - file.
    -
    -
  18. -
  19. Shorewall now gives a more helpful - diagnostic when the 'ipchains' compatibility kernel module is -loaded and a 'shorewall start' command is issued.
    -
    -
  20. -
  21. 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.
    -
    -
  22. -
  23. Shorewall now ignores 'default' routes when - detecting masq'd networks.
  24. - -
- -

3/10/2003 - Shoreall 1.3.14a

- -

A roleup of the following bug fixes and other updates:

- - - - - -

2/8/2003 - Shoreawall 1.3.14

- -

New features include

- -
    -
  1. 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.
    -
    -
  2. -
  3. 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
    -  
  4. -
  5. Support for OpenVPN Tunnels.
    -
    -
  6. -
  7. Support for VLAN devices with names - of the form $DEV.$VID (e.g., eth0.0)
    +
  8. 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.

  9. -
  10. 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 Interface names of the form <device>:<integer> + in /etc/shorewall/interfaces now generate an error.
    +
    +
  11. +
  12. 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.
    +
    +
  13. +
  14. 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.
    +
    +
  15. +
  16. The Shorewall 1.2 syntax for DNAT +and REDIRECT rules is no longer accepted.
    +
    +
  17. +
  18. The ALLOWRELATED variable in shorewall.conf + is no longer supported. Shorewall 1.4 behavior is the same +as 1.3 with ALLOWRELATED=Yes.
    +
    +
  19. +
  20. The icmp.def file has been removed.
    +
  21. + +
+ Changes for 1.4 include:
+ +
    +
  1. The /etc/shorewall/shorewall.conf +file has been completely reorganized into logical sections.
    +
    +
  2. +
  3. LOG is now a valid action for a rule + (/etc/shorewall/rules).
    +
    +
  4. +
  5. The firewall script and version file + are now installed in /usr/share/shorewall.
    +
    +
  6. +
  7. Late arriving DNS replies are now +silently dropped in the common chain by default.
    +
    +
  8. +
  9. 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.
    +
    +
  10. +
  11. CONTINUE is now a valid action for a rule + (/etc/shorewall/rules).
    +
    +
  12. +
  13. 802.11b devices with names of the form wlan<n> + now support the 'maclist' option.
    +
    +
  14. +
  15. 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.
    +
    +
  16. +
  17. The /etc/shorewall/params file is now processed + first so that variables may be used in the /etc/shorewall/shorewall.conf + file.
    +
    +
  18. +
  19. Shorewall now gives a more helpful + diagnostic when the 'ipchains' compatibility kernel module is +loaded and a 'shorewall start' command is issued.
    +
    +
  20. +
  21. 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.
    +
    +
  22. +
  23. Shorewall now ignores 'default' routes when + detecting masq'd networks.
  24. + +
+ +

3/10/2003 - Shoreall 1.3.14a

+ +

A roleup of the following bug fixes and other updates:

+ + + + + +

2/8/2003 - Shoreawall 1.3.14

+ +

New features include

+ +
    +
  1. 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.
    +
    +
  2. +
  3. 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
    +  
  4. +
  5. Support for OpenVPN Tunnels.
    +
    +
  6. +
  7. Support for VLAN devices with +names of the form $DEV.$VID (e.g., eth0.0)
    +
    +
  8. +
  9. 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.
    -
    -
  10. -
  11. 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 +
    +
  12. +
  13. 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 +    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 +  
    + 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:
    -   
    +  
    + 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 this case, the second entry in /etc/shorewall/masq is no longer required.
    -  
    - Example 3 -- What if your current +  
    + 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 +  
    +    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
    -
  14. - -
- -


- 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

+ + +


+ 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 + +

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:
+

1/25/2003 - Shorewall 1.3.14-Beta1

- + +

The Beta includes the following changes:
+

+ +
    -
  1. An OLD_PING_HANDLING option - has been added to shorewall.conf. When set to Yes, Shorewall +
  2. 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.
    -
    -
  3. -
  4. 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
    -  
  5. -
  6. 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 +
    + 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.
    +
    +
  7. +
  8. 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
    +  
  9. +
  10. 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 +    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 +  
    + 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:
    -   
    +  
    + 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 this case, the second entry in /etc/shorewall/masq is no longer required.
    -  
    - Example 3 -- What if your current +  
    + 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 +  
    +    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
    -
  11. + - +
- +

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

+ +

Juraj Ontkanin has produced a PDF containing the Shorewall 1.3.13 documenation. + the PDF may be downloaded from

-     ftp://slovakia.shorewall.net/mirror/shorewall/pdf/
-     http://slovakia.shorewall.net/pub/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.
-

+ href="http://www.rettc.com">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:
-

+

- +
    -
  1. 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 +
  2. 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 +         DNAT   net  dmz:206.124.146.177 tcp smtp - 206.124.146.179
    -         ACCEPT net  dmz:206.124.146.177 +         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 +
    +    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 +         DNAT-  net  dmz:206.124.146.177 tcp smtp -  206.124.146.179
    -         ACCEPT net  dmz:206.124.146.177 +         ACCEPT net  dmz:206.124.146.177 tcp www,smtp,ftp,....
    -
    -
  3. -
  4. The 'shorewall check' -command now prints out the applicable policy between +
    +
  5. +
  6. The 'shorewall check' +command now prints out the applicable policy between each pair of zones.
    -
    -
  7. -
  8. 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.
    -
    -
  9. -
  10. 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.
    -
  11. +
    + +
  12. 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.
    +
    +
  13. +
  14. 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.
    +
  15. - +
- -

1/6/2003 - BURNOUT -

+ +

1/6/2003 - BURNOUT +

- -

Until further notice, I will not be involved in either Shorewall Development + +

Until further notice, I will not be involved in either Shorewall Development 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

+ +

Juraj Ontkanin has produced a PDF containing the Shorewall 1.3.12 documenation. + 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:
-

+

- +
    -
  1. "shorewall refresh" -now reloads the traffic shaping rules (tcrules and -tcstart).
  2. -
  3. "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.
  4. -
  5. "shorewall [re]start" - has been speeded up by more than 40% with my configuration. - Your milage may vary.
  6. -
  7. 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"
  8. -
  9. 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).
  10. +
  11. "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.
  12. +
  13. "shorewall [re]start" + has been speeded up by more than 40% with my configuration. + Your milage may vary.
  14. +
  15. 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"
  16. +
  17. 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.
  18. -
  19. 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.
  20. -
  21. 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.
  22. -
  23. I have added a new +
  24. 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.
  25. +
  26. 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.
  27. +
  28. 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.
    -
  29. + href="Documentation.htm#Conf">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 +

+ 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 + +

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:
+

+ Features include:
- +
    -
  1. "shorewall refresh" - now reloads the traffic shaping rules (tcrules -and tcstart).
  2. -
  3. "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.
  4. -
  5. "shorewall [re]start" - has been speeded up by more than 40% with my configuration. +
  6. "shorewall refresh" + now reloads the traffic shaping rules (tcrules and + tcstart).
  7. +
  8. "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.
  9. +
  10. "shorewall [re]start" + has been speeded up by more than 40% with my configuration. Your milage may vary.
  11. -
  12. 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 +
  13. 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"
  14. -
  15. 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 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.
  16. -
  17. 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.
  18. -
  19. 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.
  20. +
  21. 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.
  22. +
  23. 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.
  24. - +
- 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 Powered by Mandrake Linux -

- Shorewall is at the - center of MandrakeSoft's recently-announced Multi - Network Firewall (MNF) product. Here is the +

+ Shorewall is at +the center of MandrakeSoft's recently-announced Multi + Network Firewall (MNF) product. Here is the press - release.
+ href="http://www.mandrakesoft.com/company/press/pr?n=/pr/products/2403">press + 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 am now in a position to support Shorewall users who -run 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 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 ..."). -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:

- - - - - -

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

- - -

    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:

- - - - - -

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:
+

+

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 ..."). + 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:

+ + + + + +

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

+ + +

    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 -download the Beta from:
- + +

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 + 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.
+
+ The +firewall and server here at shorewall.net are now +running RedHat release 8.0.
-
- 9/30/2002 +
+ 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.
+ 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:
-

+

+ -

9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability + +

9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability Restored
-

+

- Brown Paper Bag - A couple of recent configuration changes at www.shorewall.net - broke the Search facility:
+ A couple of recent configuration changes at www.shorewall.net + broke the Search facility:
- -
+ +
- +
    -
  1. Mailing List Archive Search was not available.
  2. +
  3. Mailing List Archive Search was not available.
  4. -
  5. The Site Search index was incomplete
  6. +
  7. The Site Search index was incomplete
  8. -
  9. Only one page of matches was presented.
  10. +
  11. Only one page of matches was presented.
  12. - + +
-
+
- Hopefully these problems are now corrected. - -

9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability + 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:
- - - -
    - -
  1. Mailing List Archive Search was not available.
  2. - -
  3. The Site Search index was incomplete
  4. - -
  5. Only one page of matches was presented.
  6. - - - -
- - Hopefully these problems are now corrected.
- - - -

9/18/2002 -  Debian 1.3.8 Packages Available
-

+ A couple of recent configuration changes at www.shorewall.net + had the negative effect of breaking the Search + facility:
+ +
    + +
  1. Mailing List Archive Search was not available.
  2. + +
  3. The Site Search index was incomplete
  4. + +
  5. Only one page of matches was presented.
  6. + + + +
+ + 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 +
  • 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:
  • +
  • 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 a policy for za to zb; or +
    • -
    • There is at least one rule for za to +
    • 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.
    +
  • 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).

+ +

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.

+ +

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.

+ +

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.

+ href="ftp://france.shorewall.net/pub/mirrors/shorewall">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 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 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 released8/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.

+ +

1.3.7a corrects problems occurring in rules file processing when starting + Shorewall 1.3.7.

- +

8/22/2002 - Shorewall 1.3.7 Released 8/13/2002

- +

Features in this release include:

- + - -

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.

+ +

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.

- +

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.

+ +

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.

+ +

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.

- -

8/7/2002 - Upgrade Issues section added - to the Errata Page

+ +

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.

+ +

Now there is one place to go to look for issues involved with upgrading + 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.

+ href="http://www.shorewall.net/shorewall_setup_guide.htm"> 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.

- +

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 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.

+ +

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 +
  • 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' +
  • 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 /etc/shorewall/interfaces. - This option facilitates Proxy ARP sub-netting as described +
  • 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.
  • + href="http://www.tldp.org/HOWTO/mini/Proxy-ARP-Subnet/">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. -
  • 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!!!

    + +

    Thanks to Arturo "Buanzo" Busleiman, there is now a Shorewall mirror in + 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 extension script has been - added. This script is invoked after Shorewall - has stopped.
    • +
    • An /etc/shorewall/stopped extension script has been + 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 +
    • 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 +
    • 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 +
    • 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.

    + +

    The comments in the sample configuration files have been updated to reflect + 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.

    + +

    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:

    + +

    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.

    + - -

    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. -

    + +

    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.

    - + +

    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. +

    + + +

    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 - 1.3.1 samples.

    + +

    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 + 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:

    + +

    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 +
    • 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:

    + +

    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:

    + +

    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 - complicated setups.
    • +
    • 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 +
    • 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:

    + +

    Beta 1 carries the version designation 1.2.90 and implements the following + features:

    - +
      -
    • Simplified rule syntax which makes the -intent of each rule clearer and hopefully makes +
    • 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 +
    • 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:

    - + +
  • The order in which port forwarding DNAT + and Static DNAT can now be reversed so +that port forwarding rules can override the contents + of /etc/shorewall/nat. +
  • + + + +

    4/30/2002 - Shorewall Debian News

    - -

    Lorenzo Marignoni reports that Shorewall 1.2.12 is now in both the Debian -Testing Branch and the Debian -Unstable Branch.

    + +

    Lorenzo Marignoni reports that Shorewall 1.2.12 is now in both the +Debian + Testing Branch and the Debian + 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:

    - + +
  • Shorewall 1.2.11 is in the Debian + Unstable Branch
  • + + + +

    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 + +

    Thanks to Stefan Mohr, there + is now a Shorewall 1.2.11 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 +
    • 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 +
    • 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!

    + href="ftp://germany.shorewall.net/pub/shorewall"> ftp://germany.shorewall.net/pub/shorewall.  + 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. -

    + +

    Thanks to Stefan Mohr, there + 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.

    + +

    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.

    - +

    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.

    + +

    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.

    - +

    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.

    + href="http://www.shorewall.net/pub/shorewall/samples-1.2.1/">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.

    - +

    4/2/2002 - Updated Log Parser

    - -

    John Lodge has provided an updated - version of his CGI-based log parser - with corrected date handling.

    + +

    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 mailing list information - page.

    + +

    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 mailing list information + page.

    - +

    3/28/2002 - Debian Shorewall News (From Lorenzo Martignoni)

    - + +
  • Shorewall 1.2.9 is now in the Debian + Unstable Distribution.
  • + + + +

    3/25/2002 - Log Parser Available

    - +

    John Lodge has provided a CGI-based log parser for Shorewall. Thanks - John.

    + href="pub/shorewall/parsefw/">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 "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.
    • +
    • 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.
    • - - - -
    +
  • Copyright notices have been added to the + documenation.
  • + + + +

    3/11/2002 - Shorewall 1.2.9 Released

    - +

    In this version:

    - + - +

    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 - + +

    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

    - +

    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.

    + +

    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.

    - +

    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 - marking. RFC 1918 checking in the filter table has - been changed to require half as many rules as previously.
    • +
    • 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 +
    • $-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 + +

    Due to installation problems with Shorewall 1.2.4, I have released Shorewall 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.
    • - -
    • 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".
    • - -
    • "shorewall start" no longer fails if "detect" - is specified in /etc/shorewall/interfaces - for an interface with subnet mask 255.255.255.255.
    • - - -
    - + +

    1/28/2002 - Shorewall 1.2.4 Released

    + + + +
      + +
    • 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
    • + +
    • 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 /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 + +

    Corrects a problem with BLACKLIST_LOGLEVEL. See the 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 - using the CLAMPMSS - option in /etc/shorewall/shorewall.conf.
    • +
    • 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 "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 + +

    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.

    - +

    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 download page.

    + href="mailto:lorenzo.martignoni@milug.org">Lorenzo Martignoni, a 1.2.2 + 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.

    + href="/pub/shorewall/errata/1.2.2/shorewall">This corrected version restores + 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 RST packet.
      • +
      • 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 +
      • TCP connection requests rejected because + of a protocol=all rule in /etc/shorewall/rules are now replied with a TCP RST packet.
      • @@ -3486,842 +3524,853 @@ no longer ignored - +
      -
    • + -
    • 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.
    • +
    • 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. -There are two new rules added:

    + target="_blank">version 1.2.0) released.
    These are minor updates + 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 see these instructions. - If you would like to subscribe to the -new list, visit The Shorewall mailing list hosted at + Sourceforge 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 + 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

    + +

    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.

    + +

    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.

    - -

    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:

    + +

    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:

    - -
    + +
    - +

    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 + +

    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 ftp://ftp.infohiiway.com/pub/mirrors/shorewall. 

    - +

    11/30/2001 - A new set of the parameterized Sample -Configurations has been released. In this version:

    + href="ftp://ftp.shorewall.net/pub/shorewall/samples-1.1.18">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 +
    • 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 LRP version of the 'cut' utility.
    • +
    • 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 http://www.nrg.sk/mirror/shorewall + +

    11/19/2001 - Thanks to Juraj + Ontkanin, 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. + +

    11/2/2001 - Announcing Shorewall Parameter-driven 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 +
    • Three Interfaces -- A masquerading firewall with DMZ.
    • - +
    - +

    Samples may be downloaded from ftp://ftp.shorewall.net/pub/shorewall/samples-1.1.17 + href="ftp://ftp.shorewall.net/pub/shorewall/samples-1.1.17"> ftp://ftp.shorewall.net/pub/shorewall/samples-1.1.17 . 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 + +

    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.

    - +

    In this version:

    - + - -

    10/22/2001 - The current version of Shorewall is 1.1.16. In this + +

    10/22/2001 - The current version of Shorewall is 1.1.16. In this 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 -using your distribution's network configuration - tools to be used in static NAT. 
    • +
    • 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 + +

    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 +
    • 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

    + +

    10/4/2001 - The current version of Shorewall is 1.1.14. In this + 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 + 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 packet mangling - support enabled, the "norfc1918" interface -option now logs and drops any incoming packets on the interface - that have an RFC 1918 destination address.
    • +
    • If you have packet mangling + support enabled, the "norfc1918" +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

    + +

    9/12/2001 - The current version of Shorewall is 1.1.13. In this + version

    - + - -

    8/28/2001 - The current version of Shorewall is 1.1.12. In this - version

    + +

    8/28/2001 - The current version of Shorewall is 1.1.12. In this + version

    - +
      -
    • Several columns in the rules file may now +
    • 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

    + +

    7/28/2001 - The current version of Shorewall is 1.1.11. In this + 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 - been deleted. This change prevents the accidental - removal of rules added during the processing of that - file.
    • +
    • 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 +
    • 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

    + +

    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

    + +

    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/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

    + +

    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/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

    + +

    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 +
    • 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

    + +

    4/28/2001 - The current version of Shorewall is 1.1.3. In this +version

    - +
      -
    • Correct message issued when Proxy ARP address +
    • 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 -"/etc/shorwall/policy" has been removed and "/etc/shorwall/rules" - has been added.
    • +
    • 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 +
    • 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

    + + -

    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 +
    • 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, +
    • 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 + + + + +

    3/13/2001 - The current version of Shorewall is 1.0.3. This is a bug-fix 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 + + + + +

    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.

    - -

    Updated 7/19/2003 - Tom Eastep -

    + +

    Updated 7/22/2003 - Tom Eastep +

    - +

    Copyright © 2001, 2002 Thomas M. Eastep.
    -

    +

    +
    diff --git a/STABLE/documentation/seattlefirewall_index.htm b/STABLE/documentation/seattlefirewall_index.htm index 2c49a54b4..4f9b37ac4 100644 --- a/STABLE/documentation/seattlefirewall_index.htm +++ b/STABLE/documentation/seattlefirewall_index.htm @@ -3,134 +3,134 @@ - + Shoreline Firewall (Shorewall) 1.4 - + - + - + - + - - + - + - + +
    + + - - + +
    - + - -
    + +
    - (Shorewall Logo) -
    -
    + (Shorewall Logo) + + - +

    (Shorewall Logo) -

    -
    -
    - -
    + +
    - -
    + +
    - + - + - + - + - +
    + - + - - + +
    - -
    +
    + +
    -
    -
    - +
    + +

    What is it?

    - -

    The Shoreline Firewall, more commonly known as "Shorewall", is a - Netfilter (iptables) based firewall - that can be used on a dedicated firewall system, a multi-function - gateway/router/server or on a standalone GNU/Linux system.

    + +

    The Shoreline Firewall, more commonly known as "Shorewall", is +a Netfilter (iptables) based +firewall that can be used on a dedicated firewall system, a multi-function + gateway/router/server or on a standalone GNU/Linux system.

    - -

    This program is free software; you can redistribute it and/or modify - - it under the terms of Version 2 of the GNU -General Public License as published by the Free Software - Foundation.
    + +

    This program is free software; you can redistribute it and/or modify -
    + it under the terms of Version 2 of the +GNU General Public License as published by the Free Software + Foundation.
    - This program is distributed - in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without - even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more +
    + + This program is distributed + in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without + even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details.
    -
    +
    - You should have received a - copy of the GNU General Public License - along with this program; if not, - write to the Free Software Foundation, - Inc., 675 Mass Ave, Cambridge, MA 02139, - USA

    + You should have received a + copy of the GNU General Public License + along with this program; if not, + write to the Free Software Foundation, + Inc., 675 Mass Ave, Cambridge, MA 02139, + USA

    - +

    Copyright 2001, 2002, 2003 Thomas M. Eastep

    @@ -141,479 +141,501 @@ details.
    - +

    This is the Shorewall 1.4 Web Site

    - The information on this site applies only to 1.4.x releases of Shorewall. + The information on this site applies only to 1.4.x releases of Shorewall. For older versions:
    - -
      -
    • The 1.3 site is here.
    • -
    • The 1.2 site is here.
      -
    • - -
    - -

    Getting Started with Shorewall

    - New to Shorewall? Start by selecting - the QuickStart Guide - that most closely match your environment and follow the -step by step instructions.
    - - -

    Looking for Information?

    - The Documentation - Index is a good place to start as is the Quick Search to your right. -

    Running Shorewall on Mandrake with a two-interface setup?

    - If so, the documentation on this site - will not apply directly to your setup. If you want to use the - documentation that you find here, you will want to consider uninstalling - what you have and installing a setup that matches the documentation - on this site. See the Two-interface - QuickStart Guide for details.
    +
      +
    • The 1.3 site is here.
    • +
    • The 1.2 site is here.
      +
    • + +
    + +

    Getting Started with Shorewall

    + New to Shorewall? Start by selecting + the QuickStart Guide + that most closely match your environment and follow the +step by step instructions.
    + + +

    Looking for Information?

    + The Documentation + Index is a good place to start as is the Quick Search to your right. +

    Running Shorewall on Mandrake with a two-interface setup?

    + If so, the documentation on this site + will not apply directly to your setup. If you want to use the + documentation that you find here, you will want to consider uninstalling + what you have and installing a setup that matches the documentation + on this site. See the Two-interface + QuickStart Guide for details.
    + +

    News

    - +
      - +
    - + +

    7/22/2003 - Shorewall-1.4.6a (New) +
    +

    + Problems Corrected:
    +
      +
    1. Previously, if TC_ENABLED is set to yes in shorewall.conf then +Shorewall would fail to start with the error "ERROR:  Traffic Control requires +Mangle"; that problem has been corrected.
    2. +

    7/20/2003 - Shorewall-1.4.6 (New) -
    -

    +
    +

    - +
    - + +

    Problems Corrected:
    +

    + + +
      +
    1. A problem seen on RH7.3 systems where Shorewall encountered + start errors when started using the "service" mechanism has been worked + around.
      +
      +
    2. +
    3. 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.
      +
      +
    4. +
    5. Corrected a problem in Beta 1 where DNS names containing + a "-" were mis-handled when they appeared in the DEST column of a rule.
      +
      +
    6. +
    7. 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.
      +
      +
    8. +
    9. The message "Adding rules for DHCP" is now suppressed if there +are no DHCP rules to add.
      +
    10. + + +
    + + +

    Migration Issues:

    - +
      -
    1. A problem seen on RH7.3 systems where Shorewall encountered - start errors when started using the "service" mechanism has been worked - around.
      +
    2. 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

    3. -
    4. 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.
      -
      -
    5. -
    6. Corrected a problem in Beta 1 where DNS names containing - a "-" were mis-handled when they appeared in the DEST column of a rule.
      +
    7. 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).
      +
    8. + + +
    + + +

    New Features:
    +

    + + +
      +
    1. A 'newnotsyn' interface option has been added. This +option may be specified in /etc/shorewall/interfaces and overrides the +setting NEWNOTSYN=No for packets arriving on the associated interface.
      +
      +
    2. +
    3. 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.
      +
      +
    4. +
    5. Shorewall can now add IP addresses to subnets other +than the first one on an interface.
      +
      +
    6. +
    7. 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
      +
      +
    8. +
    9. 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...
      +
      +
    10. +
    11. 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:
    12. + + +
        +
      • 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.

      • -
      • 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.
        -
        -
      • -
      • The message "Adding rules for DHCP" is now suppressed if there -are no DHCP rules to add.
        -
      • - -
    - -

    Migration Issues:
    -

    - -
      -
    1. In earlier versions, an undocumented feature allowed -entries in the host file as follows:
      -
      -     z    eth1:192.168.1.0/24,eth2:192.168.2.0/24
      -
      - This capability was never documented and has been removed in 1.4.6 - to allow entries of the following format:
      -
      -     z   eth1:192.168.1.0/24,192.168.2.0/24
      -
      -
    2. -
    3. 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).
      -
    4. - -
    - -

    New Features:
    -

    - - -
      -
    1. A 'newnotsyn' interface option has been added. This -option may be specified in /etc/shorewall/interfaces and overrides the -setting NEWNOTSYN=No for packets arriving on the associated interface.
      + + +
    2. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) + may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
      +
      +
    3. +
    4. 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.

    5. -
    6. 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.
      +
    7. An 'iprange' command has been added to /sbin/shorewall. +

      -
    8. -
    9. Shorewall can now add IP addresses to subnets other -than the first one on an interface.
      +       iprange <address>-<address>

      -
    10. -
    11. 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>.
      + 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:

      -     DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
      +       [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]#

    12. -
    13. 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...
      -
      -
    14. -
    15. 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:
    16. - - -
        -
      • 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.
        -
        -
      • - - -
      -
    17. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) - may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
      -
      -
    18. -
    19. 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.
      -
      -
    20. -
    21. 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]#
      -
      -
    22. -
    23. A list of host/net addresses is now allowed in an entry +
    24. 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
      -
      -
    25. -
    26. The "shorewall check" command now includes the chain name when +
      + Example:
      +
      +     foo    eth1:192.168.1.0/24,192.168.2.0/24
      +
      +
    27. +
    28. The "shorewall check" command now includes the chain name when printing the applicable policy for each pair of zones.

      -    Example:

      -        Policy for dmz to net is REJECT using chain all2all

      -This means that the policy for connections from the dmz to the internet is -REJECT and the applicable entry in the /etc/shorewall/policy was the all->all +  
      +     Example:
      +  
      +         Policy for dmz to net is REJECT using chain all2all
      +  
      + This means that the policy for connections from the dmz to the internet +is REJECT and the applicable entry in the /etc/shorewall/policy was the all->all policy.
      -
      -
    29. -
    30. Support for the 2.6 Kernel series has been added.
      -
    31. - +
      + +
    32. Support for the 2.6 Kernel series has been added.
      +
    33. + +
    - + +

    7/15/2003 - New Mirror in Brazil (New) -
    -

    - Thanks to the folks at securityopensource.org.br, there is now a Shorewall - mirror in Brazil. +
    +

    + Thanks to the folks at securityopensource.org.br, there is now a + Shorewall + mirror in Brazil.

    6/17/2003 - Shorewall-1.4.5

    - -

    Problems Corrected:
    -

    - - -
      -
    1. The command "shorewall debug try <directory>" - now correctly traces the attempt.
    2. -
    3. The INCLUDE directive now works properly in the - zones file; previously, INCLUDE in that file was ignored.
    4. -
    5. /etc/shorewall/routestopped records with an empty - second column are no longer ignored.
      -
    6. - - -
    - - -

    New Features:
    -

    - - -
      -
    1. The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] - rule may now contain a list of addresses. If the list begins with -"!' then the rule will take effect only if the original destination -address in the connection request does not match any of the addresses -listed.
    2. - - -
    - - -

    6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8 -

    - -

    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:

    +
      +
    1. The command "shorewall debug try <directory>" + now correctly traces the attempt.
    2. +
    3. The INCLUDE directive now works properly in +the zones file; previously, INCLUDE in that file was ignored.
    4. +
    5. /etc/shorewall/routestopped records with an +empty second column are no longer ignored.
      +
    6. + + +
    + + +

    New Features:
    +

    + + +
      +
    1. The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] + rule may now contain a list of addresses. If the list begins with "!' + then the rule will take effect only if the original destination address + in the connection request does not match any of the addresses listed.
    2. + + +
    + + +

    6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8 +

    + + +

    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 + + +

    Thanks to Francesca Smith, the samples have been updated to Shorewall version 1.4.4.

    - + +

    - +
      - + +
    - + +

    More News

    - +

    (Leaf Logo) - Jacques Nilo and Eric - Wolzak have a LEAF (router/firewall/gateway - on a floppy, CD or compact flash) distribution - called Bering that - features Shorewall-1.4.2 and Kernel-2.4.20. - You can find their work at: - http://leaf.sourceforge.net/devel/jnilo
    +
    Jacques Nilo and Eric + Wolzak have a LEAF (router/firewall/gateway + on a floppy, CD or compact flash) distribution + called Bering that + features Shorewall-1.4.2 and Kernel-2.4.20. + You can find their work at: + http://leaf.sourceforge.net/devel/jnilo
    -

    +

    - Congratulations to Jacques and Eric -on the recent release of Bering 1.2!!!
    + Congratulations to Jacques and Eric + on the recent release of Bering 1.2!!!
    - +

    Donations

    -
    + - +
    -
    - +
    + Note:
    Search is unavailable Daily 0200-0330 GMT.
    - + + - - +

    Quick Search
    -

    - + - +

    Extended Search

    -
    -
    -
    +
    -
    +
    - + - + - + - + - + - - + +
    + - +

    (Starlight Logo) -

    +

    - +


    - Shorewall is free but if -you try it and find it useful, please consider making a donation - to - Starlight Children's Foundation. -Thanks!

    + Shorewall is free but if + you try it and find it useful, please consider making a donation + to + Starlight + Children's Foundation. Thanks!

    -
    - -

    Updated 7/19/2003 - Tom Eastep -
    -

    + +

    Updated 7/22/2003 - Tom Eastep + +
    +

    +
    diff --git a/STABLE/documentation/sourceforge_index.htm b/STABLE/documentation/sourceforge_index.htm index 2d4f02945..daac55f74 100644 --- a/STABLE/documentation/sourceforge_index.htm +++ b/STABLE/documentation/sourceforge_index.htm @@ -3,644 +3,662 @@ - + Shoreline Firewall (Shorewall) 1.4 - + - + - + - + - - + - - + + + - - + +
    - - + (Shorewall Logo) -
    -

    +
    - -
    -
    + +
    +
    - + - + - + + - + - + - - + +
    + - +

    What is it?

    - -

    The Shoreline Firewall, more commonly known as "Shorewall", is + +

    The Shoreline Firewall, more commonly known as "Shorewall", is a Netfilter (iptables) - based firewall that can be used on a dedicated - firewall system, a multi-function gateway/router/server + href="http://www.netfilter.org">Netfilter (iptables) + based firewall that can be used on a dedicated + firewall system, a multi-function gateway/router/server or on a standalone GNU/Linux system.

    - -

    This program is free software; you can redistribute it and/or modify + +

    This program is free software; you can redistribute it and/or modify + + it under the terms of Version 2 of the GNU +General Public License as published by the Free Software + Foundation.
    - it under the terms of Version 2 of the -GNU General Public License as published by the Free Software - Foundation.
    +
    -
    + This program is distributed + in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without + even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more +details.
    - This program is distributed - in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without - even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details.
    +
    -
    - - You should have received a - copy of the GNU General Public License - along with this program; if not, - write to the Free Software Foundation, - Inc., 675 Mass Ave, Cambridge, MA 02139, - USA

    + You should have received a + copy of the GNU General Public License + along with this program; if not, + write to the Free Software Foundation, + Inc., 675 Mass Ave, Cambridge, MA 02139, + USA

    - +

    Copyright 2001, 2002, 2003 Thomas M. Eastep

    - -

    This is the Shorewall 1.4 Web Site

    - The information on this site applies only to 1.4.x releases of Shorewall. - For older versions:
    - -
      -
    • The 1.3 site is here.
    • -
    • The 1.2 site is here.
      -
    • - -
    - -

    Getting Started with Shorewall

    - New to Shorewall? Start by selecting - the QuickStart - Guide that most closely match your environment and -follow the step by step instructions.
    +

    This is the Shorewall 1.4 Web Site

    + The information on this site applies only to 1.4.x releases of Shorewall. + For older versions:
    + +
      +
    • The 1.3 site is here.
    • +
    • The 1.2 site is here.
      +
    • + +
    + +

    Getting Started with Shorewall

    + New to Shorewall? Start by selecting + the QuickStart + Guide that most closely match your environment and follow + the step by step instructions.
    +

    Looking for Information?

    - The Documentation - Index is a good place to start as is the Quick Search to your right. - + The Documentation + Index is a good place to start as is the Quick Search to your right. +

    Running Shorewall on Mandrake with a two-interface setup?

    - If so, the documentation on this site -will not apply directly to your setup. If you want to use the documentation - that you find here, you will want to consider uninstalling what you -have and installing a setup that matches the documentation on -this site. See the Two-interface QuickStart - Guide for details. - + If so, the documentation on this site + will not apply directly to your setup. If you want to use the +documentation that you find here, you will want to consider uninstalling +what you have and installing a setup that matches the documentation + on this site. See the Two-interface + QuickStart Guide for details. +

    - +

    News

    - + +

    7/22/2003 - Shorewall-1.4.6a (New) +
    +

    + Problems Corrected:
    + +
      +
    1. Previously, if TC_ENABLED is set to yes in shorewall.conf then +Shorewall would fail to start with the error "ERROR:  Traffic Control requires +Mangle"; that problem has been corrected.
    2. +

    7/20/2003 - Shorewall-1.4.6 (New) -
    -

    +
    +

    - +

    Problems Corrected:
    -

    - +

    +
      -
    1. A problem seen on RH7.3 systems where Shorewall encountered - start errors when started using the "service" mechanism has been worked +
    2. A problem seen on RH7.3 systems where Shorewall encountered + start errors when started using the "service" mechanism has been worked around.
      -
      -
    3. -
    4. 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.
      -
      -
    5. -
    6. Corrected a problem in Beta 1 where DNS names containing a -"-" were mis-handled when they appeared in the DEST column of a rule.
      -
      -
    7. -
    8. A number of problems with rule parsing have been corrected. - Corrections involve the handling of "z1!z2" in the SOURCE column as well +
      +
    9. +
    10. 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.
      +
      +
    11. +
    12. Corrected a problem in Beta 1 where DNS names containing a + "-" were mis-handled when they appeared in the DEST column of a rule.
      +
      +
    13. +
    14. 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.
      -
      -
    15. -
    16. The message "Adding rules for DHCP" is now suppressed if there +
      +
    17. +
    18. The message "Adding rules for DHCP" is now suppressed if there are no DHCP rules to add.
    19. +
    +

    Migration Issues:
    -

    - -
      -
    1. In earlier versions, an undocumented feature allowed entries - in the host file as follows:
      -
      -     z    eth1:192.168.1.0/24,eth2:192.168.2.0/24
      -
      - This capability was never documented and has been removed in 1.4.6 - to allow entries of the following format:
      -
      -     z   eth1:192.168.1.0/24,192.168.2.0/24
      -
      -
    2. -
    3. 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).
      -
    4. - -
    - -

    New Features:

    - +
      -
    1. A 'newnotsyn' interface option has been added. This option - may be specified in /etc/shorewall/interfaces and overrides the setting - NEWNOTSYN=No for packets arriving on the associated interface.
      +
    2. 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

    3. -
    4. 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.
      -
      +
    5. 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).
    6. -
    7. Shorewall can now add IP addresses to subnets other than - the first one on an interface.
      -
      -
    8. -
    9. 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 + +
    + +

    New Features:
    +

    + +
      +
    1. A 'newnotsyn' interface option has been added. This option + may be specified in /etc/shorewall/interfaces and overrides the setting + NEWNOTSYN=No for packets arriving on the associated interface.
      +
      +
    2. +
    3. 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.
      +
      +
    4. +
    5. Shorewall can now add IP addresses to subnets other than + the first one on an interface.
      +
      +
    6. +
    7. 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
      +
      +
    8. +
    9. 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...
      +
      +
    10. +
    11. 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:
    12. + + +
        +
      • 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.
        +
        +
      • + + +
      +
    13. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) + may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
      +
      +
    14. +
    15. 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.
      +
      +
    16. +
    17. 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:

      -     DNAT net loc:192.168.10.2-192.168.10.5 tcp 80
      +       [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]#

    18. -
    19. 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...
      -
      -
    20. -
    21. 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:
    22. - -
        -
      • 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.
        -
        -
      • - -
      -
    23. The shell used to interpret the firewall script (/usr/share/shorewall/firewall) - may now be specified using the SHOREWALL_SHELL parameter in shorewall.conf.
      -
      -
    24. -
    25. 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.
      -
      -
    26. -
    27. 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]#
      -
      -
    28. -
    29. A list of host/net addresses is now allowed in an entry +
    30. 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
      -
      -
    31. -
    32. The "shorewall check" command now includes the chain +
      + Example:
      +
      +     foo    eth1:192.168.1.0/24,192.168.2.0/24
      +
      +
    33. +
    34. The "shorewall check" command now includes the chain name when printing the applicable policy for each pair of zones.
      -  
      -     Example:
      -  
      -         Policy for dmz to net is REJECT using chain all2all
      -  
      - This means that the policy for connections from the dmz to the internet -is REJECT and the applicable entry in the /etc/shorewall/policy was the all->all -policy.
      -
      -
    35. -
    36. Support for the 2.6 Kernel series has been added.
      -
    37. - +  
      +     Example:
      +  
      +         Policy for dmz to net is REJECT using chain all2all
      +  
      + This means that the policy for connections from the dmz to the internet +is REJECT and the applicable entry in the /etc/shorewall/policy was the all->all + policy.
      +
      + +
    38. Support for the 2.6 Kernel series has been added.
      +
    39. +
    - - + +
      - +
    - +

    7/15/2003 - New Mirror in Brazil (New) -
    -

    - Thanks to the folks at securityopensource.org.br, there is now a Shorewall - mirror in Brazil +
    +

    + Thanks to the folks at securityopensource.org.br, there is now a Shorewall + mirror in Brazil

    6/17/2003 - Shorewall-1.4.5

    - +

    Problems Corrected:
    -

    +

    - +
      -
    1. The command "shorewall debug try <directory>" - now correctly traces the attempt.
    2. -
    3. The INCLUDE directive now works properly in the -zones file; previously, INCLUDE in that file was ignored.
    4. -
    5. /etc/shorewall/routestopped records with an empty - second column are no longer ignored.
      -
    6. +
    7. The command "shorewall debug try <directory>" + now correctly traces the attempt.
    8. +
    9. The INCLUDE directive now works properly in the + zones file; previously, INCLUDE in that file was ignored.
    10. +
    11. /etc/shorewall/routestopped records with an empty + second column are no longer ignored.
      +
    12. - +
    - +

    New Features:
    -

    +

    - +
      -
    1. The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] - rule may now contain a list of addresses. If the list begins with "!' - then the rule will take effect only if the original destination address +
    2. The ORIGINAL DEST column in a DNAT[-] or REDIRECT[-] + rule may now contain a list of addresses. If the list begins with "!' + then the rule will take effect only if the original destination address in the connection request does not match any of the addresses listed.
    3. - +
    - -

    6/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8 -

    - 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/15/2003 - Shorewall, Kernel 2.4.21 and iptables 1.2.8 +

    + 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 + +

    Thanks to Francesca Smith, the samples have been updated to Shorewall version 1.4.4.

    - +

    - +
      - +
    - +

    - +

    - -
    + +
    - +
      - +
    -
    +
    - -

    - - - - - - -

    More News

    - - - - - - -

    - - - - - - -

    (Leaf Logo) - - Jacques Nilo and Eric - Wolzak have a LEAF (router/firewall/gateway - on a floppy, CD or compact flash) distribution - called Bering that - features Shorewall-1.4.2 and Kernel-2.4.20. - You can find their work at: - http://leaf.sourceforge.net/devel/jnilo

    - - Congratulations to Jacques - and Eric on the recent release of Bering - 1.2!!!
    - - +

    + + + + + + +

    More News

    + + + + + + +

    + + + + + + +

    (Leaf Logo) + + Jacques Nilo and Eric + Wolzak have a LEAF (router/firewall/gateway + on a floppy, CD or compact flash) distribution + called Bering that + features Shorewall-1.4.2 and Kernel-2.4.20. + You can find their work at: + http://leaf.sourceforge.net/devel/jnilo

    + + Congratulations to Jacques + and Eric on the recent release of Bering + 1.2!!!
    + + + +

    SourceForge Logo -

    - + + - +

    - + - +

    This site is hosted by the generous folks at SourceForge.net

    - + - +

    Donations

    - -
    + - +
    + action="http://lists.shorewall.net/cgi-bin/htsearch"> - +


    - Note: + Note:
    Search is unavailable Daily 0200-0330 GMT.
    -  

    +  

    - +

    Quick Search
    - - +

    - - + + + - +

    Extended Search

    - +
    -
    -
    +
    -
    + - + - + - + - + - + - - + +
    - + - + +

    -

    +

    - +


    - Shorewall is free but if you -try it and find it useful, please consider making a donation - to - Starlight + Shorewall is free but if you + try it and find it useful, please consider making a donation + to + Starlight Children's Foundation. Thanks!

    -
    - -

    Updated 7/19/2003 - Tom Eastep + +

    Updated 7/22/2003 - Tom Eastep

    diff --git a/STABLE/fallback.sh b/STABLE/fallback.sh index bae84ca68..89d776e0d 100755 --- a/STABLE/fallback.sh +++ b/STABLE/fallback.sh @@ -28,7 +28,7 @@ # shown below. Simply run this script to revert to your prior version of # Shoreline Firewall. -VERSION=1.4.6 +VERSION=1.4.6a usage() # $1 = exit status { diff --git a/STABLE/firewall b/STABLE/firewall index 53212a90c..4acc9d294 100755 --- a/STABLE/firewall +++ b/STABLE/firewall @@ -233,8 +233,7 @@ createchain() # $1 = chain name, $2 = If "yes", create default rules run_iptables -N $1 if [ $2 = yes ]; then - state="ESTABLISHED,RELATED" - run_iptables -A $1 -m state --state $state -j ACCEPT + run_iptables -A $1 -m state --state ESTABLISHED,RELATED -j ACCEPT [ -z "$NEWNOTSYN" ] && \ run_iptables -A $1 -m state --state NEW -p tcp ! --syn -j newnotsyn fi @@ -495,10 +494,17 @@ first_chains() #$1 = interface # find_hosts() # $1 = host zone { - local hosts + local hosts interface address addresses while read z hosts options; do - [ "x`expand $z`" = "x$1" ] && expandv hosts && echo `separate_list $hosts` + if [ "x`expand $z`" = "x$1" ]; then + expandv hosts + interface=${hosts%:*} + addresses=${hosts#*:} + for address in `separate_list $addresses`; do + echo $interface:$address + done + fi done < $TMP_DIR/hosts } @@ -608,7 +614,7 @@ validate_interfaces_file() { for option in $options; do case $option in - dhcp|norfc1918|tcpflags) + dhcp|norfc1918|tcpflags|newnotsyn) ;; routefilter|dropunclean|logunclean|blacklist|proxyarp|maclist|-) ;; @@ -636,18 +642,20 @@ validate_hosts_file() { r="$z $hosts $options" validate_zone $z || startup_error "Invalid zone ($z) in record \"$r\"" + interface=${hosts%:*} + + list_search $interface $all_interfaces || \ + startup_error "Unknown interface ($interface) in record \"$r\"" + + hosts=${hosts#*:} + for host in `separate_list $hosts`; do - interface=${host%:*} - - list_search $interface $all_interfaces || \ - startup_error "Unknown interface ($interface) in record \"$r\"" - for option in `separate_list $options`; do case $option in maclist|-) ;; routeback) - eval ${z}_routeback=\"$host \$${z}_routeback\" + eval ${z}_routeback=\"$interface:$host \$${z}_routeback\" ;; *) error_message "Warning: Invalid option ($option) in record \"$r\"" @@ -689,7 +697,7 @@ validate_policy() [ $1 = $2 ] || \ [ $1 = all ] || \ [ $2 = all ] || \ - echo " Policy for $1 to $2 is $policy" + echo " Policy for $1 to $2 is $policy using chain $chain" } all_policy_chains= @@ -832,6 +840,15 @@ find_interface_address() # $1 = interface echo $addr | sed 's/inet //;s/\/.*//;s/ peer.*//' } +# +# Find interface addresses--returns the set of addresses assigned to the passed +# device +# +find_interface_addresses() # $1 = interface +{ + ip addr show $1 | grep inet | sed 's/inet //;s/\/.*//;s/ peer.*//' +} + # # Find interfaces that have the passed option specified # @@ -848,10 +865,18 @@ find_interfaces_by_option() # $1 = option # find_hosts_by_option() # $1 = option { + local ignore hosts interface address addresses options + while read ignore hosts options; do expandv options - list_search $1 `separate_list $options` && \ - echo `expand $hosts` + if list_search $1 `separate_list $options`; then + expandv hosts + interface=${hosts%:*} + addresses=${hosts#*:} + for address in `separate_list $addresses`; do + echo $interface:$address + done + fi done < $TMP_DIR/hosts for interface in $all_interfaces; do @@ -1685,14 +1710,16 @@ check_config() { disclaimer() { echo - echo "WARNING: THE 'check' COMMAND IS TOTALLY UNSUPPORTED AND PROBLEM" - echo " REPORTS COMPLAINING ABOUT ERRORS THAT IT DIDN'T CATCH" - echo " WILL NOT BE ACCEPTED" + echo "Notice: The 'check' command is unsupported and problem" + echo " reports complaining about errors that it didn't catch" + echo " will not be accepted" echo } disclaimer + report_capabilities + echo "Verifying Configuration..." verify_os_version @@ -1839,7 +1866,11 @@ add_nat_rule() { if [ -n "$serv" ]; then servport="${servport:+:$servport}" - target1="DNAT --to-destination ${serv}${servport}" + serv1= + for srv in `separate_list $serv`; do + serv1="$serv1 --to-destination ${srv}${servport}" + done + target1="DNAT $serv1" else target1="REDIRECT --to-port $servport" fi @@ -1856,7 +1887,10 @@ add_nat_rule() { chain=nonat${nonat_seq} nonat_seq=$(($nonat_seq + 1)) createnatchain $chain - run_iptables -t nat -A OUTPUT $cli $proto $multiport $sports $dports -j $chain + + for adr in `separate_list $addr`; do + run_iptables2 -t nat -A OUTPUT $cli $proto $multiport $sports $dports -d $adr -j $chain + done for adr in $excludedests; do addnatrule $chain -d $adr -j RETURN @@ -1866,11 +1900,15 @@ add_nat_rule() { log_rule $loglevel $chain $logtarget -t nat fi - addnatrule $chain $proto -j $target1 + addnatrule $chain $proto -j $target1 # Protocol is necessary for port redirection else for adr in `separate_list $addr`; do - run_iptables2 -t nat -A OUTPUT $proto $sports -d $adr \ - $multiport $dports -j $target1 + if [ -n "$loglevel" ]; then + log_rule $loglevel $OUTPUT $logtarget -t nat \ + `fix_bang $proto $cli $sports -d $adr $multiport $dports` + fi + + run_iptables2 -t nat -A OUTPUT $proto $sports -d $adr $multiport $dports -j $target1 done fi else @@ -1880,13 +1918,15 @@ add_nat_rule() { chain=nonat${nonat_seq} nonat_seq=$(($nonat_seq + 1)) createnatchain $chain - addnatrule `dnat_chain $source` $cli $proto $multiport $sports $dports -j $chain + + for adr in `separate_list $addr`; do + addnatrule `dnat_chain $source` $cli $proto $multiport $sports $dports -d $adr -j $chain + done + for z in $excludezones; do eval hosts=\$${z}_hosts for host in $hosts; do - for adr in `separate_list $addr`; do - addnatrule $chain -s ${host#*:} -d $adr -j RETURN - done + addnatrule $chain -s ${host#*:} -j RETURN done done @@ -1894,13 +1934,11 @@ add_nat_rule() { addnatrule $chain -d $adr -j RETURN done - for adr in `separate_list $addr`; do - if [ -n "$loglevel" ]; then - log_rule $loglevel $chain $logtarget -t nat -d `fix_bang $adr` - fi + if [ -n "$loglevel" ]; then + log_rule $loglevel $chain $logtarget -t nat + fi - addnatrule $chain $proto -d $adr -j $target1 - done + addnatrule $chain $proto -j $target1 # Protocol is necessary for port redirection else for adr in `separate_list $addr`; do if [ -n "$loglevel" ]; then @@ -1943,6 +1981,8 @@ add_nat_rule() { done fi fi + + [ "x$addr" = "x0.0.0.0/0" ] && addr= } # @@ -2015,9 +2055,12 @@ add_a_rule() servport=$serverport multiport= + [ x$port = x- ] && port= + [ x$cport = x- ] && cport= + case $proto in tcp|udp|TCP|UDP|6|17) - if [ -n "$port" -a "x${port}" != "x-" ]; then + if [ -n "$port" ]; then dports="--dport" if [ -n "$multioption" -a "$port" != "${port%,*}" ]; then multiport="$multioption" @@ -2026,7 +2069,7 @@ add_a_rule() dports="$dports $port" fi - if [ -n "$cport" -a "x${cport}" != "x-" ]; then + if [ -n "$cport" ]; then sports="--sport" if [ -n "$multioption" -a "$cport" != "${cport%,*}" ]; then multiport="$multioption" @@ -2036,18 +2079,17 @@ add_a_rule() fi ;; icmp|ICMP|1) - [ -n "$port" ] && [ "x${port}" != "x-" ] && \ - dports="--icmp-type $port" + [ -n "$port" ] && dports="--icmp-type $port" state= ;; all|ALL) - [ -n "$port" ] && [ "x${port}" != "x-" ] && \ - fatal_error "Port number not allowed with \"all\"; rule: \"$rule\"" + [ -n "$port" ] && \ + fatal_error "Port number not allowed with protocol \"all\"; rule: \"$rule\"" proto= ;; *) state= - [ -n "$port" ] && [ "x${port}" != "x-" ] && \ + [ -n "$port" ] && \ fatal_error "Port number not allowed with protocol \"$proto\"; rule: \"$rule\"" ;; esac @@ -2098,15 +2140,39 @@ add_a_rule() fi if [ -z "$dnat_only" -a $chain != ${FW}2${FW} ]; then - serv="${serv:+-d $serv}" + if [ -n "$serv" ]; then + for serv1 in `separate_list $serv`; do + for srv in `ip_range $serv1`; do + if [ -n "$addr" -a -n "$CONNTRACK_MATCH" ]; then + for adr in `separate_list $addr`; do + if [ -n "$loglevel" -a -z "$natrule" ]; then + log_rule $loglevel $chain $logtarget -m conntrack --ctorigdst $adr \ + `fix_bang $proto $sports $multiport $state $cli -d $srv $dports` + fi - if [ -n "$loglevel" -a -z "$natrule" ]; then - log_rule $loglevel $chain $logtarget \ - `fix_bang $proto $sports $multiport $state $cli $serv $dports` + run_iptables2 -A $chain $proto $multiport $state $cli $sports \ + -d $srv $dports -m conntrack --ctorigdst $adr -j $target + done + else + if [ -n "$loglevel" -a -z "$natrule" ]; then + log_rule $loglevel $chain $logtarget \ + `fix_bang $proto $sports $multiport $state $cli -d $srv $dports` + fi + + run_iptables2 -A $chain $proto $multiport $state $cli $sports \ + -d $srv $dports -j $target + fi + done + done + else + if [ -n "$loglevel" -a -z "$natrule" ]; then + log_rule $loglevel $chain $logtarget \ + `fix_bang $proto $sports $multiport $state $cli $dports` + fi + + run_iptables2 -A $chain $proto $multiport $state $cli $sports \ + $dports -j $target fi - - run_iptables2 -A $chain $proto $multiport $state $cli $sports \ - $serv $dports -j $target fi fi else @@ -2293,42 +2359,83 @@ process_rule() # $1 = target # Generate Netfilter rule(s) - if [ -n "$MULTIPORT" -a \ - "$ports" = "${ports%:*}" -a \ - "$cports" = "${cports%:*}" -a \ - `list_count $ports` -le 15 -a \ - `list_count $cports` -le 15 ] - then - # - # MULTIPORT is enabled, there are no port ranges in the rule and less than - # 16 ports are listed - use multiport match. - # - multioption="-m multiport" - for client in `separate_list ${clients:=-}`; do - for server in `separate_list ${servers:=-}`; do - # - # add_a_rule() modifies these so we must set their values each time - # - port=${ports:=-} - cport=${cports:=-} - add_a_rule - done - done - else - # - # MULTIPORT is disabled or the rule isn't compatible with multiport match - # - multioption= - for client in `separate_list ${clients:=-}`; do - for server in `separate_list ${servers:=-}`; do - for port in `separate_list ${ports:=-}`; do - for cport in `separate_list ${cports:=-}`; do + case $logtarget in + DNAT*) + if [ -n "$MULTIPORT" -a \ + "$ports" = "${ports%:*}" -a \ + "$cports" = "${cports%:*}" -a \ + `list_count $ports` -le 15 -a \ + `list_count $cports` -le 15 ] + then + # + # MULTIPORT is enabled, there are no port ranges in the rule and less than + # 16 ports are listed - use multiport match. + # + multioption="-m multiport" + for client in `separate_list ${clients:=-}`; do + # + # add_a_rule() modifies these so we must set their values each time + # + server=${servers:=-} + port=${ports:=-} + cport=${cports:=-} + add_a_rule + done + else + # + # MULTIPORT is disabled or the rule isn't compatible with multiport match + # + multioption= + for client in `separate_list ${clients:=-}`; do + for port in `separate_list ${ports:=-}`; do + for cport in `separate_list ${cports:=-}`; do + server=${servers:=-} + add_a_rule + done + done + done + fi + ;; + *) + + if [ -n "$MULTIPORT" -a \ + "$ports" = "${ports%:*}" -a \ + "$cports" = "${cports%:*}" -a \ + `list_count $ports` -le 15 -a \ + `list_count $cports` -le 15 ] + then + # + # MULTIPORT is enabled, there are no port ranges in the rule and less than + # 16 ports are listed - use multiport match. + # + multioption="-m multiport" + for client in `separate_list ${clients:=-}`; do + for server in `separate_list ${servers:=-}`; do + # + # add_a_rule() modifies these so we must set their values each time + # + port=${ports:=-} + cport=${cports:=-} add_a_rule done done - done - done - fi + else + # + # MULTIPORT is disabled or the rule isn't compatible with multiport match + # + multioption= + for client in `separate_list ${clients:=-}`; do + for server in `separate_list ${servers:=-}`; do + for port in `separate_list ${ports:=-}`; do + for cport in `separate_list ${cports:=-}`; do + add_a_rule + done + done + done + done + fi + ;; + esac # # Report Result # @@ -2360,7 +2467,7 @@ process_rules() # $1 = name of rules file while read xtarget xclients xservers xprotocol xports xcports xaddress; do case "${xtarget%:*}" in - ACCEPT|DROP|REJECT|DNAT|DNAT|DNAT-|REDIRECT|REDIRECT-|LOG|CONTINUE) + ACCEPT|DROP|REJECT|DNAT|DNAT-|REDIRECT|REDIRECT-|LOG|CONTINUE) expandv xclients xservers xprotocol xports xcports xaddress if [ "x$xclients" = xall ]; then @@ -2382,7 +2489,7 @@ process_rules() # $1 = name of rules file ;; *) rule="`echo $xtarget $xclients $xservers $xprotocol $xports $xcports $xaddress`" - fatal_error "Invalid Target in rule \"$rule\"" + fatal_error "Invalid Action in rule \"$rule\"" ;; esac @@ -2582,24 +2689,19 @@ loadmodule() # $1 = module name, $2 - * arguments { local modulename=$1 local modulefile + local suffix if [ -z "`lsmod | grep $modulename`" ]; then shift - modulefile=$MODULESDIR/${modulename}.o + + for suffix in o gz ko ; do + modulefile=$MODULESDIR/${modulename}.${suffix} - if [ -f $modulefile ]; then - insmod $modulefile $* - return - fi - # - # If the modules directory contains compressed modules then we'll - # assume that insmod can load them - # - modulefile=${modulefile}.gz - - if [ -f $modulefile ]; then - insmod $modulefile $* - fi + if [ -f $modulefile ]; then + insmod $modulefile $* + return + fi + done fi } @@ -2900,8 +3002,16 @@ setup_masq() esac if [ -n "$address" -a -n "$ADD_SNAT_ALIASES" ]; then - list_search $address $aliases_to_add || \ - aliases_to_add="$aliases_to_add $address $fullinterface" + for addr in `ip_range $address` ; do + if ! list_search $addr $aliases_to_add; then + aliases_to_add="$aliases_to_add $addr $fullinterface" + case $fullinterface in + *:*) + fullinterface=${fullinterface%:*}:$((${fullinterface#*:} + 1 )) + ;; + esac + fi + done fi destination=$destnet @@ -3118,7 +3228,7 @@ verify_os_version() { osversion=`uname -r` case $osversion in - 2.4.*|2.5.*) + 2.4.*|2.5.*|2.6.*) ;; *) startup_error "Shorewall version $version does not work with kernel version $osversion" @@ -3134,35 +3244,30 @@ verify_os_version() { # add_ip_aliases() { - local external - local interface - local primary + local addresses external interface inet cidr rest val - do_one() + address_details() { # # Folks feel uneasy if they don't see all of the same # decoration on these IP addresses that they see when their # distro's net config tool adds them. In an attempt to reduce # the anxiety level, we have the following code which sets - # the VLSM and BRD from the primary address + # the VLSM and BRD from an existing address in the same subnet # - # Get all of the lines that contain inet addresses with broadcast + # Get all of the lines that contain inet addresses # - val=`ip addr show $interface | grep 'inet.*brd '` 2> /dev/null - - if [ -n "$val" ] ; then - # - # Hack off the leading 'inet ' (actually cut off the - # "/" as well but add it back in). - # - val="/${val#*/}" - # - # Now get the VLSM, "brd" and the broadcast address - # - val=${val%% scope*} - fi + ip addr show $interface 2> /dev/null | grep 'inet' | while read inet cidr rest ; do + if in_subnet $external $cidr; then + echo "/${cidr#*/} brd `broadcastaddress $cidr`" + break + fi + done + } + do_one() + { + val=`address_details` run_ip addr add ${external}${val} dev $interface $label echo "$external $interface" >> ${STATEDIR}/nat [ -n "$label" ] && label="with $label" @@ -3182,9 +3287,9 @@ add_ip_aliases() label="label $interface:$label" fi - primary=`find_interface_address $interface` shift;shift - [ "x${primary}" = "x${external}" ] || do_one + + list_search $external `find_interface_addresses $interface` || do_one done } @@ -3207,10 +3312,46 @@ load_kernel_modules() { # Verify that the 'ip' program is installed verify_ip() { - qt which ip ||\ + qt ip link ls ||\ startup_error "Shorewall $version requires the iproute package ('ip' utility)" } +# +# Determine which optional facilities are supported by iptables/netfilter +# +determine_capabilities() { + qt iptables -t nat -L -n && NAT_ENABLED=Yes || NAT_ENABLED= + qt iptables -t mangle -L -n && MANGLE_ENABLED=Yes || MANGLE_ENABLED= + + CONNTRACK_MATCH= + MULTIPORT= + + if qt iptables -N fooX1234 ; then + qt iptables -A fooX1234 -m conntrack --ctorigdst 192.168.1.1 -j ACCEPT && CONNTRACK_MATCH=Yes + qt iptables -A fooX1234 -p tcp -m multiport --dports 21,22 -j ACCEPT && MULTIPORT=Yes + + qt iptables -F fooX1234 + qt iptables -X fooX1234 + fi +} + +report_capability() # $1 = Capability Name, $2 Capability Setting (if any) +{ + local setting= + + [ "x$1" = "xYes" ] && { setting="Available"; shift; } || setting="Not available" + + echo " " $@: $setting +} + +report_capabilities() { + echo "Shorewall has detected the following iptables/netfilter capabilities:" + report_capability $NAT_ENABLED "NAT" + report_capability $MANGLE_ENABLED "Packet Mangling" + report_capability $MULTIPORT "Multi-port Match" + report_capability $CONNTRACK_MATCH "Connection Tracking Match" +} + # # Perform Initialization # - Delete all old rules @@ -3221,6 +3362,8 @@ verify_ip() { # initialize_netfilter () { + report_capabilities + echo "Determining Zones..." determine_zones @@ -3307,7 +3450,16 @@ initialize_netfilter () { if [ -z "$NEWNOTSYN" ]; then createchain newnotsyn no + + for interface in `find_interfaces_by_option newnotsyn`; do + run_iptables -A newnotsyn -i $interface -p tcp --tcp-flags ACK ACK -j ACCEPT + run_iptables -A newnotsyn -i $interface -p tcp --tcp-flags RST RST -j ACCEPT + run_iptables -A newnotsyn -i $interface -p tcp --tcp-flags FIN FIN -j ACCEPT + run_iptables -A newnotsyn -i $interface -j RETURN + done + run_user_exit newnotsyn + if [ -n "$LOGNEWNOTSYN" ]; then log_rule $LOGNEWNOTSYN newnotsyn DROP fi @@ -3334,7 +3486,7 @@ initialize_netfilter () { done < /var/lib/shorewall/save fi - echo "Creating input Chains..." + echo "Creating Interface Chains..." for interface in $all_interfaces; do createchain `forward_chain $interface` no @@ -3369,6 +3521,7 @@ build_common_chain() { if [ -n "$NEWNOTSYN" ]; then run_iptables -A common -p tcp --tcp-flags ACK ACK -j ACCEPT run_iptables -A common -p tcp --tcp-flags RST RST -j ACCEPT + run_iptables -A common -p tcp --tcp-flags FIN FIN -j ACCEPT fi # # BROADCASTS @@ -3462,13 +3615,17 @@ add_common_rules() { # # DHCP # - echo "Adding rules for DHCP" + interfaces=`find_interfaces_by_option dhcp` - for interface in `find_interfaces_by_option dhcp`; do - run_iptables -A `input_chain $interface` -p udp --dport 67:68 -j ACCEPT - run_iptables -A OUTPUT -o $interface -p udp --dport 67:68 -j ACCEPT - done + if [ -n "$interfaces" ]; then + echo "Adding rules for DHCP" + + for interface in $interfaces; do + run_iptables -A `input_chain $interface` -p udp --dport 67:68 -j ACCEPT + run_iptables -A OUTPUT -o $interface -p udp --dport 67:68 -j ACCEPT + done + fi # # RFC 1918 # @@ -3487,11 +3644,12 @@ add_common_rules() { run_iptables -A logdrop -j DROP - if [ -n "$MANGLE_ENABLED" ]; then + if [ -n "$MANGLE_ENABLED" -a -z "$CONNTRACK_MATCH" ]; then # - # Mangling is enabled -- create a chain in the mangle table to - # filter RFC1918 destination addresses. This must be done in the - # mangle table before we apply any DNAT rules in the nat table + # Mangling is enabled but conntrack match isn't available -- + # create a chain in the mangle table to filter RFC1918 destination + # addresses. This must be done in the mangle table before we apply + # any DNAT rules in the nat table # # Also add a chain to log and drop any RFC1918 packets that we find # @@ -3511,11 +3669,17 @@ add_common_rules() { esac run_iptables2 -A rfc1918 -s $subnet -j $target - # - # If packet mangling is enabled, trap packets with an - # RFC1918 destination - # - if [ -n "$MANGLE_ENABLED" ]; then + + if [ -n "$CONNTRACK_MATCH" ]; then + # + # We have connection tracking match -- match on the original destination + # + run_iptables2 -A rfc1918 -m conntrack --ctorigdst $subnet -j $target + elif [ -n "$MANGLE_ENABLED" ]; then + # + # No connection tracking match but we have mangling -- add a rule to + # the mangle table + # run_iptables2 -t mangle -A man1918 -d $subnet -j $target fi done < $TMP_DIR/rfc1918 @@ -3525,7 +3689,7 @@ add_common_rules() { run_iptables -A $chain -m state --state NEW -j rfc1918 done - [ -n "$MANGLE_ENABLED" ] && \ + [ -n "$MANGLE_ENABLED" -a -z "$CONNTRACK_MATCH" ] && \ run_iptables -t mangle -A PREROUTING -m state --state NEW -i $interface -j man1918 done @@ -4366,6 +4530,7 @@ added_param_value_no() # $1 = Parameter Name, $2 = Parameter value # Initialize this program # do_initialize() { + # Run all utility programs using the C locale # # Thanks to Vincent Planchenault for this tip # @@ -4388,8 +4553,6 @@ do_initialize() { LOGRATE= LOGBURST= LOGPARMS= - NAT_ENABLED= - MANGLE_ENABLED= ADD_IP_ALIASES= ADD_SNAT_ALIASES= TC_ENABLED= @@ -4399,7 +4562,6 @@ do_initialize() { CLAMPMSS= ROUTE_FILTER= NAT_BEFORE_RULES= - MULTIPORT= DETECT_DNAT_IPADDRS= MUTEX_TIMEOUT= NEWNOTSYN= @@ -4433,6 +4595,7 @@ do_initialize() { FUNCTIONS=$SHARED_DIR/functions if [ -f $FUNCTIONS ]; then + echo "Loading $FUNCTIONS..." . $FUNCTIONS else startup_error "$FUNCTIONS does not exist!" @@ -4453,6 +4616,10 @@ do_initialize() { echo "$config does not exist!" >&2 exit 2 fi + # + # Determine the capabilities of the installed iptables/netfilter + # + determine_capabilities [ -z "${STATEDIR}" ] && STATEDIR=/var/state/shorewall @@ -4463,8 +4630,6 @@ do_initialize() { ALLOWRELATED="`added_param_value_yes ALLOWRELATED $ALLOWRELATED`" [ -n "$ALLOWRELATED" ] || \ startup_error "ALLOWRELATED=No is not supported" - NAT_ENABLED="`added_param_value_yes NAT_ENABLED $NAT_ENABLED`" - MANGLE_ENABLED="`added_param_value_yes MANGLE_ENABLED $MANGLE_ENABLED`" ADD_IP_ALIASES="`added_param_value_yes ADD_IP_ALIASES $ADD_IP_ALIASES`" TC_ENABLED="`added_param_value_yes TC_ENABLED $TC_ENABLED`" @@ -4496,7 +4661,6 @@ do_initialize() { ADD_SNAT_ALIASES=`added_param_value_no ADD_SNAT_ALIASES $ADD_SNAT_ALIASES` ROUTE_FILTER=`added_param_value_no ROUTE_FILTER $ROUTE_FILTER` NAT_BEFORE_RULES=`added_param_value_yes NAT_BEFORE_RULES $NAT_BEFORE_RULES` - MULTIPORT=`added_param_value_no MULTIPORT $MULTIPORT` DETECT_DNAT_IPADDRS=`added_param_value_no DETECT_DNAT_IPADDRS $DETECT_DNAT_IPADDRS` FORWARDPING=`added_param_value_no FORWARDPING $FORWARDPING` [ -n "$FORWARDPING" ] && \ @@ -4567,6 +4731,15 @@ do_initialize() { # strip_file interfaces strip_file hosts + # + # Check out the user's shell + # + [ -n "$SHOREWALL_SHELL" ] || SHOREWALL_SHELL=/bin/sh + + temp=`decodeaddr 192.168.1.1` + if [ `encodeaddr $temp` != 192.168.1.1 ]; then + startup_error "Shell $SHOREWALL_SHELL is broken and may not be used with Shorewall" + fi } # @@ -4719,6 +4892,15 @@ case "$command" in my_mutex_off ;; + call) + # + # Undocumented way to call functions in /usr/share/shorewall/firewall directly + # + shift; + do_initialize + EMPTY= + $@ + ;; *) usage ;; diff --git a/STABLE/install.sh b/STABLE/install.sh index 8cc393dff..f43451e28 100755 --- a/STABLE/install.sh +++ b/STABLE/install.sh @@ -54,7 +54,7 @@ # /etc/rc.d/rc.local file is modified to start the firewall. # -VERSION=1.4.6 +VERSION=1.4.6a usage() # $1 = exit status { diff --git a/STABLE/releasenotes.txt b/STABLE/releasenotes.txt index 0e2d14c7f..35b453b83 100644 --- a/STABLE/releasenotes.txt +++ b/STABLE/releasenotes.txt @@ -20,6 +20,9 @@ Problems Corrected: 5) The message "Adding rules for DHCP" is now suppressed if there are no DHCP rules to add. +6) Corrected problem in 1.4.6 where the MANGLE_ENABLED variable was + being tested before it was set. + Migration Issues: 1) In earlier versions, an undocumented feature allowed entries in diff --git a/STABLE/shorewall.spec b/STABLE/shorewall.spec index 4f22e88b5..9f6470bfd 100644 --- a/STABLE/shorewall.spec +++ b/STABLE/shorewall.spec @@ -1,5 +1,5 @@ %define name shorewall -%define version 1.4.6 +%define version 1.4.6a %define release 1 %define prefix /usr @@ -105,6 +105,8 @@ fi %doc COPYING INSTALL changelog.txt releasenotes.txt tunnel %changelog +* Tue Jul 22 2003 Tom Eastep +- Changed version to 1.4.6a-1 * Sat Jul 19 2003 Tom Eastep - Changed version to 1.4.6-1 * Mon Jul 14 2003 Tom Eastep diff --git a/STABLE/uninstall.sh b/STABLE/uninstall.sh index 16e4cb057..fd3138f4d 100755 --- a/STABLE/uninstall.sh +++ b/STABLE/uninstall.sh @@ -26,7 +26,7 @@ # You may only use this script to uninstall the version # shown below. Simply run this script to remove Seattle Firewall -VERSION=1.4.6 +VERSION=1.4.6a usage() # $1 = exit status {