-
- TYPE |
- ZONE |
- GATEWAY |
- GATEWAY ZONE |
-
-
- ipip |
- net |
- 206.191.148.9 |
- |
-
+
+
+
+
+
+ TYPE |
+ ZONE |
+ GATEWAY |
+ GATEWAY ZONE |
+
+
+ ipip |
+ net |
+ 206.191.148.9 |
+ |
+
+
+
-
+
+
And in the tunnel script on system B:
-
+
+
tunnel=tosysa
- myrealip=134.28.54.2 (for GRE tunnel only)
- myip=10.0.0.1
- hisip=192.168.1.1
- gateway=206.191.148.9
- subnet=192.168.1.0/24
-
-You can rename the modified tunnel scripts if you like; be sure that they are
-secured so that root can execute them.
-
- You will need to allow traffic between the "vpn" zone and
- the "loc" zone on both systems -- if you simply want to admit all traffic
- in both directions, you can use the policy file:
-
-
-
-
-
- SOURCE |
- DEST |
- POLICY |
- LOG LEVEL |
-
-
- loc |
- vpn |
- ACCEPT |
- |
-
-
-
- vpn |
- loc |
- ACCEPT |
- |
-
-
-
-
-On both systems, restart Shorewall and
-run the modified tunnel script with the "start" argument on each
-system. The systems in the two masqueraded subnetworks can now talk to each
-other
-Updated 8/22/2002 - Tom
-Eastep
-Copyright
-© 2001, 2002 Thomas M. Eastep.
-
+ myrealip=134.28.54.2 (for GRE tunnel only)
+ myip=10.0.0.1
+ hisip=192.168.1.1
+ gateway=206.191.148.9
+ subnet=192.168.1.0/24
+
+
+You can rename the modified tunnel scripts if you like; be sure that they
+are secured so that root can execute them.
+
+ You will need to allow traffic between the "vpn" zone and
+ the "loc" zone on both systems -- if you simply want to admit all
+traffic in both directions, you can use the policy file:
+
+
+
+
+
+ SOURCE |
+ DEST |
+ POLICY |
+ LOG LEVEL |
+
+
+ loc |
+ vpn |
+ ACCEPT |
+ |
+
+
+ vpn |
+ loc |
+ ACCEPT |
+ |
+
+
+
+
+
+
+On both systems, restart Shorewall and run the modified tunnel script
+with the "start" argument on each system. The systems in the two masqueraded
+subnetworks can now talk to each other
+
+Updated 2/22/2003 - Tom Eastep
+
+
+Copyright © 2001, 2002, 2003Thomas M. Eastep.
+
-
diff --git a/Shorewall-docs/MAC_Validation.html b/Shorewall-docs/MAC_Validation.html
index 76184b5cc..f0ea5b7b7 100644
--- a/Shorewall-docs/MAC_Validation.html
+++ b/Shorewall-docs/MAC_Validation.html
@@ -2,109 +2,111 @@
MAC Verification
-
+
-
+
-
+
-
-
-
-
+ |
+
+
+
MAC Verification
-
-
- |
-
-
-
+
+
+
+
+
+
-
- Beginning with Shorewall version 1.3.10, all traffic from an interface
- or from a subnet on an interface can be verified to originate from a defined
- set of MAC addresses. Furthermore, each MAC address may be optionally associated
- with one or more IP addresses.
-
- You must have the iproute package (ip utility) installed to use MAC
-Verification and your kernel must include MAC match support (CONFIG_IP_NF_MATCH_MAC
-- module name ipt_mac.o).
-
- There are four components to this facility.
-
+
+ All traffic from an interface or from a subnet on an interface
+can be verified to originate from a defined set of MAC addresses. Furthermore,
+each MAC address may be optionally associated with one or more IP addresses.
+
+
+ Your kernel must include MAC match support (CONFIG_IP_NF_MATCH_MAC
+ - module name ipt_mac.o).
+
+ There are four components to this facility.
+
- - The maclist interface option in /etc/shorewall/interfaces. When this
-option is specified, all traffic arriving on the interface is subjet to MAC
-verification.
- - The maclist option in /etc/shorewall/hosts. When this option
- is specified for a subnet, all traffic from that subnet is subject to MAC
+
- The maclist interface option in /etc/shorewall/interfaces. When
+this option is specified, all traffic arriving on the interface is subjet
+to MAC verification.
+ - The maclist option in /etc/shorewall/hosts. When this option
+ is specified for a subnet, all traffic from that subnet is subject to MAC
verification.
- - The /etc/shorewall/maclist file. This file is used to associate
- MAC addresses with interfaces and to optionally associate IP addresses
+
- The /etc/shorewall/maclist file. This file is used to associate
+ MAC addresses with interfaces and to optionally associate IP addresses
with MAC addresses.
- - The MACLIST_DISPOSITION and MACLIST_LOG_LEVEL variables
- in /etc/shorewall/shorewall.conf.
-The MACLIST_DISPOSITION variable has the value DROP, REJECT or ACCEPT and
-determines the disposition of connection requests that fail MAC verification.
-The MACLIST_LOG_LEVEL variable gives the syslogd level at which connection
-requests that fail verification are to be logged. If set the the empty value
-(e.g., MACLIST_LOG_LEVEL="") then failing connection requests are not logged.
-
-
+ - The MACLIST_DISPOSITION and MACLIST_LOG_LEVEL variables
+ in /etc/shorewall/shorewall.conf.
+ The MACLIST_DISPOSITION variable has the value DROP, REJECT or ACCEPT
+and determines the disposition of connection requests that fail MAC verification.
+ The MACLIST_LOG_LEVEL variable gives the syslogd level at which connection
+ requests that fail verification are to be logged. If set the the empty
+value (e.g., MACLIST_LOG_LEVEL="") then failing connection requests are
+not logged.
+
+
- The columns in /etc/shorewall/maclist are:
-
+ The columns in /etc/shorewall/maclist are:
+
- - INTERFACE - The name of an ethernet interface on the Shorewall
- system.
- - MAC - The MAC address of a device on the ethernet segment connected
- by INTERFACE. It is not necessary to use the Shorewall MAC format in this
- column although you may use that format if you so choose.
- - IP Address - An optional comma-separated list of IP addresses
+
- INTERFACE - The name of an ethernet interface on the Shorewall
+ system.
+ - MAC - The MAC address of a device on the ethernet segment connected
+ by INTERFACE. It is not necessary to use the Shorewall MAC format in
+this column although you may use that format if you so choose.
+ - IP Address - An optional comma-separated list of IP addresses
for the device whose MAC is listed in the MAC column.
-
+
-
+
Example 1: Here are my files:
- /etc/shorewall/shorewall.conf:
-
+ /etc/shorewall/shorewall.conf:
+
MACLIST_DISPOSITION=REJECT
MACLIST_LOG_LEVEL=info
- /etc/shorewall/interfaces:
-
+ /etc/shorewall/interfaces:
+
#ZONE INTERFACE BROADCAST OPTIONS
net eth0 206.124.146.255 norfc1918,dhcp,blacklist
loc eth2 192.168.1.255 dhcp,maclist
dmz eth1 192.168.2.255
net eth3 206.124.146.255 blacklist
- texas 192.168.9.255
loc ppp+
- /etc/shorewall/maclist:
-
+ /etc/shorewall/maclist:
+
#INTERFACE MAC IP ADDRESSES (Optional)
eth2 00:A0:CC:63:66:89 192.168.1.3 #Wookie
eth2 00:10:B5:EC:FD:0B 192.168.1.4 #Tarry
eth2 00:A0:CC:DB:31:C4 192.168.1.5 #Ursa
eth2 00:A0:CC:DB:31:C4 192.168.1.128/26 #PPTP Clients to server on Ursa
eth2 00:06:25:aa:a8:0f 192.168.1.7 #Eastept1 (Wireless)
eth2 00:04:5A:0E:85:B9 192.168.1.250 #Wap
- As shown above, I use MAC Verification on my local zone.
-
+ As shown above, I use MAC Verification on my local zone.
+
Example 2: Router in Local Zone
- Suppose now that I add a second ethernet segment to my local zone
-and gateway that segment via a router with MAC address 00:06:43:45:C6:15
-and IP address 192.168.1.253. Hosts in the second segment have IP addresses
- in the subnet 192.168.2.0/24. I would add the following entry to my /etc/shorewall/maclist
- file:
-
+ Suppose now that I add a second ethernet segment to my local zone
+and gateway that segment via a router with MAC address 00:06:43:45:C6:15
+and IP address 192.168.1.253. Hosts in the second segment have IP addresses
+ in the subnet 192.168.2.0/24. I would add the following entry to my /etc/shorewall/maclist
+ file:
+
eth2 00:06:43:45:C6:15 192.168.1.253,192.168.2.0/24
- This entry accomodates traffic from the router itself (192.168.1.253)
- and from the second LAN segment (192.168.2.0/24). Remember that all traffic
- being sent to my firewall from the 192.168.2.0/24 segment will be forwarded
- by the router so that traffic's MAC address will be that of the router (00:06:43:45:C6:15)
- and not that of the host sending the traffic.
- Updated 2/18/2002 - Tom Eastep
+ This entry accomodates traffic from the router itself (192.168.1.253)
+ and from the second LAN segment (192.168.2.0/24). Remember that all traffic
+ being sent to my firewall from the 192.168.2.0/24 segment will be forwarded
+ by the router so that traffic's MAC address will be that of the router
+(00:06:43:45:C6:15) and not that of the host sending the traffic.
+
+ Updated 2/21/2002 - Tom Eastep
-
-Copyright ©
-2001, 2002, 2003 Thomas M. Eastep.
-
+
+Copyright ©
+ 2001, 2002, 2003 Thomas M. Eastep.
+
+
diff --git a/Shorewall-docs/News.htm b/Shorewall-docs/News.htm
index 35e3ef5b0..891e46fa6 100644
--- a/Shorewall-docs/News.htm
+++ b/Shorewall-docs/News.htm
@@ -3,7 +3,7 @@
-
+
Shorewall News
@@ -11,607 +11,570 @@
-
+
-
+
-
+
-
-
-
+ |
+
+
-
+
Shorewall News Archive
- |
-
+
+
-
-
+
+
-
+
3/14/2003 - Shorewall 1.4.0
- Shorewall 1.4 represents the next
- step in the evolution of Shorewall. The main thrust of the initial release
- is simply to remove the cruft that has accumulated in Shorewall over time.
-
- Function from 1.3 that has been omitted from this version include:
-
+ Shorewall 1.4 represents the
+next step in the evolution of Shorewall. The main thrust of the initial
+release is simply to remove the cruft that has accumulated in Shorewall
+over time.
+
+IMPORTANT: Shorewall 1.4.0 REQUIRES the iproute package
+('ip' utility).
+
+ Function from 1.3 that has been omitted from this version include:
+
- - The MERGE_HOSTS variable in shorewall.conf is no longer supported.
-Shorewall 1.4 behavior is the same as 1.3 with MERGE_HOSTS=Yes.
-
-
- - Interface names of the form <device>:<integer> in /etc/shorewall/interfaces
- now generate an error.
-
-
- - Shorewall 1.4 implements behavior consistent with OLD_PING_HANDLING=No.
- OLD_PING_HANDLING=Yes will generate an error at startup as will specification
- of the 'noping' or 'filterping' interface options.
-
-
- - The 'routestopped' option in the /etc/shorewall/interfaces and /etc/shorewall/hosts
- files is no longer supported and will generate an error at startup if specified.
-
-
- - The Shorewall 1.2 syntax for DNAT and REDIRECT rules is no longer
-accepted.
-
-
- - The ALLOWRELATED variable in shorewall.conf is no longer supported.
- Shorewall 1.4 behavior is the same as 1.3 with ALLOWRELATED=Yes.
-
-
- - The icmp.def file has been removed.
-
-
-
- Changes for 1.4 include:
-
-
- - The /etc/shorewall/shorewall.conf file has been completely reorganized
- into logical sections.
-
-
- - LOG is now a valid action for a rule (/etc/shorewall/rules).
-
-
- - The firewall script and version file are now installed in /usr/share/shorewall.
-
-
- - Late arriving DNS replies are now silently dropped in the common
-chain by default.
-
-
- - In addition to behaving like OLD_PING_HANDLING=No, Shorewall 1.4
-no longer unconditionally accepts outbound ICMP packets. So if you want
-to 'ping' from the firewall, you will need the appropriate rule or policy.
-
-
-
-
-2/8/2003 - Shoreawall 1.3.14
-
-New features include
-
-
- - An OLD_PING_HANDLING option has been added to shorewall.conf.
-When set to Yes, Shorewall ping handling is as it has always been (see
-http://www.shorewall.net/ping.html).
-
- When OLD_PING_HANDLING=No, icmp echo (ping) is handled via rules
- and policies just like any other connection request. The FORWARDPING=Yes
- option in shorewall.conf and the 'noping' and 'filterping' options in
- /etc/shorewall/interfaces will all generate an error.
-
-
- - It is now possible to direct Shorewall to create a "label" such
- as "eth0:0" for IP addresses that it creates under ADD_IP_ALIASES=Yes
- and ADD_SNAT_ALIASES=Yes. This is done by specifying the label instead
- of just the interface name:
-
- a) In the INTERFACE column of /etc/shorewall/masq
- b) In the INTERFACE column of /etc/shorewall/nat
-
- - Support for OpenVPN Tunnels.
-
-
- - Support for VLAN devices with names of the form $DEV.$VID (e.g.,
- eth0.0)
+ - 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.
- - 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
+
- Interface names of the form <device>:<integer> in /etc/shorewall/interfaces
+ now generate an error.
+
+
+ - Shorewall 1.4 implements behavior consistent with OLD_PING_HANDLING=No.
+ OLD_PING_HANDLING=Yes will generate an error at startup as will specification
+ of the 'noping' or 'filterping' interface options.
+
+
+ - The 'routestopped' option in the /etc/shorewall/interfaces and /etc/shorewall/hosts
+ files is no longer supported and will generate an error at startup if specified.
+
+
+ - The Shorewall 1.2 syntax for DNAT and REDIRECT rules is no longer
+ accepted.
+
+
+ - The ALLOWRELATED variable in shorewall.conf is no longer supported.
+ Shorewall 1.4 behavior is the same as 1.3 with ALLOWRELATED=Yes.
+
+
+ - The icmp.def file has been removed.
+
+
+
+ Changes for 1.4 include:
+
+
+ - The /etc/shorewall/shorewall.conf file has been completely reorganized
+ into logical sections.
+
+
+ - LOG is now a valid action for a rule (/etc/shorewall/rules).
+
+
+ - The firewall script and version file are now installed in /usr/share/shorewall.
+
+
+ - Late arriving DNS replies are now silently dropped in the common
+chain by default.
+
+
+ - In addition to behaving like OLD_PING_HANDLING=No, Shorewall 1.4
+no longer unconditionally accepts outbound ICMP packets. So if you want to
+'ping' from the firewall, you will need the appropriate rule or policy.
+
+
+
+
+2/8/2003 - Shoreawall 1.3.14
+
+New features include
+
+
+ - An OLD_PING_HANDLING option has been added to shorewall.conf.
+ When set to Yes, Shorewall ping handling is as it has always been (see
+ http://www.shorewall.net/ping.html).
+
+ When OLD_PING_HANDLING=No, icmp echo (ping) is handled via rules
+ and policies just like any other connection request. The FORWARDPING=Yes
+ option in shorewall.conf and the 'noping' and 'filterping' options
+in /etc/shorewall/interfaces will all generate an error.
+
+
+ - It is now possible to direct Shorewall to create a "label" such
+ as "eth0:0" for IP addresses that it creates under ADD_IP_ALIASES=Yes
+ and ADD_SNAT_ALIASES=Yes. This is done by specifying the label instead
+ of just the interface name:
+
+ a) In the INTERFACE column of /etc/shorewall/masq
+ b) In the INTERFACE column of /etc/shorewall/nat
+
+ - Support for OpenVPN Tunnels.
+
+
+ - Support for VLAN devices with names of the form $DEV.$VID (e.g.,
+ eth0.0)
+
+
+ - In /etc/shorewall/tcrules, the MARK value may be optionally followed
+ by ":" and either 'F' or 'P' to designate that the marking will occur in
+ the FORWARD or PREROUTING chains respectively. If this additional specification
+ is omitted, the chain used to mark packets will be determined by the setting
of the MARK_IN_FORWARD_CHAIN option in shorewall.conf.
-
-
- - When an interface name is entered in the SUBNET column of the
-/etc/shorewall/masq file, Shorewall previously masqueraded traffic from
-only the first subnet defined on that interface. It did not masquerade
-traffic from:
-
- a) The subnets associated with other addresses on the interface.
- b) Subnets accessed through local routers.
-
- Beginning with Shorewall 1.3.14, if you enter an interface name
- in the SUBNET column, shorewall will use the firewall's routing table
+
+
+ - When an interface name is entered in the SUBNET column of the
+ /etc/shorewall/masq file, Shorewall previously masqueraded traffic
+from only the first subnet defined on that interface. It did not masquerade
+ traffic from:
+
+ a) The subnets associated with other addresses on the interface.
+ b) Subnets accessed through local routers.
+
+ Beginning with Shorewall 1.3.14, if you enter an interface name
+ in the SUBNET column, shorewall will use the firewall's routing table
to construct the masquerading/SNAT rules.
-
- Example 1 -- This is how it works in 1.3.14.
-
-
+
+ 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 /etc/shorewall/masq is no
-longer required.
-
- Example 3 -- What if your current configuration is like this?
-
-
+
+ In this case, the second entry in /etc/shorewall/masq is no
+ longer required.
+
+ Example 3 -- What if your current configuration is like this?
+
+
[root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
+
[root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
- In this case, you would want to change the entry in /etc/shorewall/masq
- to:
-
+
+ In this case, you would want to change the entry in /etc/shorewall/masq
+ to:
+
#INTERFACE SUBNET ADDRESS
eth0 192.168.1.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
-
-
-
-
- 2/5/2003 - Shorewall Support included in Webmin 1.060
+
-Webmin version 1.060 now has Shorewall support included as standard. See
- http://www.webmin.com.
-
- 2/4/2003 - Shorewall 1.3.14-RC1
-
-Includes the Beta 2 content plus support for OpenVPN tunnels.
-
-1/28/2003 - Shorewall 1.3.14-Beta2
-
-Includes the Beta 1 content plus restores VLAN device names of the form
- $dev.$vid (e.g., eth0.1)
-
-1/25/2003 - Shorewall 1.3.14-Beta1
-
-
-The Beta includes the following changes:
-
-
-
- - An OLD_PING_HANDLING option has been added to shorewall.conf.
- When set to Yes, Shorewall ping handling is as it has always been (see
- http://www.shorewall.net/ping.html).
-
- When OLD_PING_HANDLING=No, icmp echo (ping) is handled via rules
- and policies just like any other connection request. The FORWARDPING=Yes
- option in shorewall.conf and the 'noping' and 'filterping' options in
- /etc/shorewall/interfaces will all generate an error.
-
-
- - It is now possible to direct Shorewall to create a "label"
- such as "eth0:0" for IP addresses that it creates under ADD_IP_ALIASES=Yes
- and ADD_SNAT_ALIASES=Yes. This is done by specifying the label instead
- of just the interface name:
-
- a) In the INTERFACE column of /etc/shorewall/masq
- b) In the INTERFACE column of /etc/shorewall/nat
-
- - When an interface name is entered in the SUBNET column of
- the /etc/shorewall/masq file, Shorewall previously masqueraded traffic
- from only the first subnet defined on that interface. It did not masquerade
- traffic from:
-
- a) The subnets associated with other addresses on the interface.
- b) Subnets accessed through local routers.
-
- Beginning with Shorewall 1.3.14, if you enter an interface name
- in the SUBNET column, shorewall will use the firewall's routing table
- to construct the masquerading/SNAT rules.
-
- Example 1 -- This is how it works in 1.3.14.
-
-
- [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
- [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
-
- [root@gateway test]# shorewall start
...
Masqueraded Subnets and Hosts:
To 0.0.0.0/0 from 192.168.1.0/24 through eth0 using 206.124.146.176
To 0.0.0.0/0 from 192.168.10.0/24 through eth0 using 206.124.146.176
Processing /etc/shorewall/tos...
-
- When upgrading to Shorewall 1.3.14, if you have multiple local
-subnets connected to an interface that is specified in the SUBNET column
-of an /etc/shorewall/masq entry, your /etc/shorewall/masq file will need
-changing. In most cases, you will simply be able to remove redundant entries.
-In some cases though, you might want to change from using the interface
-name to listing specific subnetworks if the change described above will cause
-masquerading to occur on subnetworks that you don't wish to masquerade.
-
- Example 2 -- Suppose that your current config is as follows:
-
-
- [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
eth0 192.168.10.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
- [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
- In this case, the second entry in /etc/shorewall/masq is no
-longer required.
-
- Example 3 -- What if your current configuration is like this?
-
-
- [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
- [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
-
- In this case, you would want to change the entry in /etc/shorewall/masq
- to:
-
- #INTERFACE SUBNET ADDRESS
eth0 192.168.1.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
-
-
+
+
+ 2/5/2003 - Shorewall Support included in Webmin 1.060
+
+Webmin version 1.060 now has Shorewall support included as standard. See
+ http://www.webmin.com.
+
+ 2/4/2003 - Shorewall 1.3.14-RC1
+
+Includes the Beta 2 content plus support for OpenVPN tunnels.
+
+1/28/2003 - Shorewall 1.3.14-Beta2
+Includes the Beta 1 content plus restores VLAN device names of the form
+ $dev.$vid (e.g., eth0.1)
+
+1/25/2003 - Shorewall 1.3.14-Beta1
+
+
+The Beta includes the following changes:
+
+
+
+ - An OLD_PING_HANDLING option has been added to shorewall.conf.
+ When set to Yes, Shorewall ping handling is as it has always been (see
+ http://www.shorewall.net/ping.html).
+
+ When OLD_PING_HANDLING=No, icmp echo (ping) is handled via rules
+ and policies just like any other connection request. The FORWARDPING=Yes
+ option in shorewall.conf and the 'noping' and 'filterping' options
+in /etc/shorewall/interfaces will all generate an error.
+
+
+ - It is now possible to direct Shorewall to create a "label"
+ such as "eth0:0" for IP addresses that it creates under ADD_IP_ALIASES=Yes
+ and ADD_SNAT_ALIASES=Yes. This is done by specifying the label instead
+ of just the interface name:
+
+ a) In the INTERFACE column of /etc/shorewall/masq
+ b) In the INTERFACE column of /etc/shorewall/nat
+
+ - When an interface name is entered in the SUBNET column
+of the /etc/shorewall/masq file, Shorewall previously masqueraded traffic
+ from only the first subnet defined on that interface. It did not masquerade
+ traffic from:
+
+ a) The subnets associated with other addresses on the interface.
+ b) Subnets accessed through local routers.
+
+ Beginning with Shorewall 1.3.14, if you enter an interface name
+ in the SUBNET column, shorewall will use the firewall's routing table
+ to construct the masquerading/SNAT rules.
+
+ Example 1 -- This is how it works in 1.3.14.
+
+
+ [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+ [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
+
+ [root@gateway test]# shorewall start
...
Masqueraded Subnets and Hosts:
To 0.0.0.0/0 from 192.168.1.0/24 through eth0 using 206.124.146.176
To 0.0.0.0/0 from 192.168.10.0/24 through eth0 using 206.124.146.176
Processing /etc/shorewall/tos...
+
+ When upgrading to Shorewall 1.3.14, if you have multiple local
+ subnets connected to an interface that is specified in the SUBNET column
+ of an /etc/shorewall/masq entry, your /etc/shorewall/masq file will
+need changing. In most cases, you will simply be able to remove redundant
+entries. In some cases though, you might want to change from using the
+interface name to listing specific subnetworks if the change described
+above will cause masquerading to occur on subnetworks that you don't wish
+to masquerade.
+
+ Example 2 -- Suppose that your current config is as follows:
+
+
+ [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
eth0 192.168.10.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+ [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
+
+ In this case, the second entry in /etc/shorewall/masq is no
+ longer required.
+
+ Example 3 -- What if your current configuration is like this?
+
+
+ [root@gateway test]# cat /etc/shorewall/masq
#INTERFACE SUBNET ADDRESS
eth0 eth2 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+ [root@gateway test]# ip route show dev eth2
192.168.1.0/24 scope link
192.168.10.0/24 proto kernel scope link src 192.168.10.254
[root@gateway test]#
+
+ In this case, you would want to change the entry in /etc/shorewall/masq
+ to:
+
+ #INTERFACE SUBNET ADDRESS
eth0 192.168.1.0/24 206.124.146.176
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
+
+
+
+
1/18/2003 - Shorewall 1.3.13 Documentation in PDF Format
-
-Juraj Ontkanin has produced a PDF containing the Shorewall 1.3.13 documenation.
- the PDF may be downloaded from
- 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:
-
-
+
+
- - A new 'DNAT-' action has been added for entries in the
- /etc/shorewall/rules file. DNAT- is intended for advanced users who
- wish to minimize the number of rules that connection requests must traverse.
-
- A Shorewall DNAT rule actually generates two iptables rules:
- a header rewriting rule in the 'nat' table and an ACCEPT rule in the
- 'filter' table. A DNAT- rule only generates the first of these rules.
- This is handy when you have several DNAT rules that would generate the
- same ACCEPT rule.
-
- Here are three rules from my previous rules file:
-
- DNAT net dmz:206.124.146.177 tcp smtp - 206.124.146.178
- DNAT net dmz:206.124.146.177 tcp smtp - 206.124.146.179
- ACCEPT net dmz:206.124.146.177 tcp www,smtp,ftp,...
-
- These three rules ended up generating _three_ copies of
-
- ACCEPT net dmz:206.124.146.177 tcp smtp
-
- By writing the rules this way, I end up with only one copy
- of the ACCEPT rule.
-
- DNAT- net dmz:206.124.146.177 tcp smtp - 206.124.146.178
- DNAT- net dmz:206.124.146.177 tcp smtp - 206.124.146.179
- ACCEPT net dmz:206.124.146.177 tcp www,smtp,ftp,....
-
-
- - The 'shorewall check' command now prints out the applicable
+
- A new 'DNAT-' action has been added for entries in
+the /etc/shorewall/rules file. DNAT- is intended for advanced users
+who wish to minimize the number of rules that connection requests
+must traverse.
+
+ A Shorewall DNAT rule actually generates two iptables rules:
+ a header rewriting rule in the 'nat' table and an ACCEPT rule in the
+ 'filter' table. A DNAT- rule only generates the first of these rules.
+ This is handy when you have several DNAT rules that would generate
+the same ACCEPT rule.
+
+ Here are three rules from my previous rules file:
+
+ DNAT net dmz:206.124.146.177 tcp smtp - 206.124.146.178
+ DNAT net dmz:206.124.146.177 tcp smtp - 206.124.146.179
+ ACCEPT net dmz:206.124.146.177 tcp www,smtp,ftp,...
+
+ These three rules ended up generating _three_ copies of
+
+ ACCEPT net dmz:206.124.146.177 tcp smtp
+
+ By writing the rules this way, I end up with only one
+copy of the ACCEPT rule.
+
+ DNAT- net dmz:206.124.146.177 tcp smtp - 206.124.146.178
+ DNAT- net dmz:206.124.146.177 tcp smtp - 206.124.146.179
+ ACCEPT net dmz:206.124.146.177 tcp www,smtp,ftp,....
+
+
+ - The 'shorewall check' command now prints out the applicable
policy between each pair of zones.
-
-
- - A new CLEAR_TC option has been added to shorewall.conf.
- If this option is set to 'No' then Shorewall won't clear the current
- traffic control rules during [re]start. This setting is intended for
-use by people that prefer to configure traffic shaping when the network
-interfaces come up rather than when the firewall is started. If that is
-what you want to do, set TC_ENABLED=Yes and CLEAR_TC=No and do not supply
-an /etc/shorewall/tcstart file. That way, your traffic shaping rules
-can still use the 'fwmark' classifier based on packet marking defined
-in /etc/shorewall/tcrules.
-
-
- - A new SHARED_DIR variable has been added that allows
-distribution packagers to easily move the shared directory (default
-/usr/lib/shorewall). Users should never have a need to change the value
-of this shorewall.conf setting.
-
-
+
+
+ - A new CLEAR_TC option has been added to shorewall.conf.
+ If this option is set to 'No' then Shorewall won't clear the current
+ traffic control rules during [re]start. This setting is intended for
+use by people that prefer to configure traffic shaping when the network
+interfaces come up rather than when the firewall is started. If that is
+what you want to do, set TC_ENABLED=Yes and CLEAR_TC=No and do not supply
+an /etc/shorewall/tcstart file. That way, your traffic shaping rules can
+still use the 'fwmark' classifier based on packet marking defined in /etc/shorewall/tcrules.
+
+
+ - A new SHARED_DIR variable has been added that allows
+ distribution packagers to easily move the shared directory (default
+ /usr/lib/shorewall). Users should never have a need to change the
+value of this shorewall.conf setting.
+
+
-
-1/6/2003 - BURNOUT
-
-
-Until further notice, I will not be involved in either Shorewall Development
+
+
1/6/2003 - BURNOUT
+
+
+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:
-
-
-
- - "shorewall refresh" now reloads the traffic shaping
- rules (tcrules and tcstart).
- - "shorewall debug [re]start" now turns off debugging
- after an error occurs. This places the point of the failure near
-the end of the trace rather than up in the middle of it.
- - "shorewall [re]start" has been speeded up by more
-than 40% with my configuration. Your milage may vary.
- - A "shorewall show classifiers" command has been added
- which shows the current packet classification filters. The output
- from this command is also added as a separate page in "shorewall
- monitor"
- - ULOG (must be all caps) is now accepted as a valid
- syslog level and causes the subject packets to be logged using
-the ULOG target rather than the LOG target. This allows you to run
-ulogd (available from http://www.gnumonks.org/projects/ulogd)
- and log all Shorewall messages to a separate log file.
- - If you are running a kernel that has a FORWARD chain
- in the mangle table ("shorewall show mangle" will show you the
-chains in the mangle table), you can set MARK_IN_FORWARD_CHAIN=Yes
-in shorewall.conf. This allows for
- marking input packets based on their destination even when you are
-using Masquerading or SNAT.
- - I have cluttered up the /etc/shorewall directory
-with empty 'init', 'start', 'stop' and 'stopped' files. If you
-already have a file with one of these names, don't worry -- the upgrade
-process won't overwrite your file.
- - I have added a new RFC1918_LOG_LEVEL variable to
- shorewall.conf. This variable specifies
- the syslog level at which packets are logged as a result of entries
- in the /etc/shorewall/rfc1918 file. Previously, these packets were
-always logged at the 'info' level.
-
-
-
-
-12/20/2002 - Shorewall 1.3.12 Beta 3
-
- This version corrects a problem with Blacklist logging.
- In Beta 2, if BLACKLIST_LOG_LEVEL was set to anything but ULOG, the
- firewall would fail to start and "shorewall refresh" would also fail.
+
-12/20/2002 - Shorewall 1.3.12 Beta 2
-
-The first public Beta version of Shorewall 1.3.12 is now available (Beta
- 1 was made available only to a limited audience).
-
- Features include:
-
- - "shorewall refresh" now reloads the traffic
-shaping rules (tcrules and tcstart).
- - "shorewall debug [re]start" now turns off debugging
- after an error occurs. This places the point of the failure near
- the end of the trace rather than up in the middle of it.
- - "shorewall [re]start" has been speeded up by
-more than 40% with my configuration. Your milage may vary.
- - A "shorewall show classifiers" command has been
- added which shows the current packet classification filters. The
- output from this command is also added as a separate page in "shorewall
+
- "shorewall refresh" now reloads the traffic shaping
+ rules (tcrules and tcstart).
+ - "shorewall debug [re]start" now turns off debugging
+ after an error occurs. This places the point of the failure near
+ the end of the trace rather than up in the middle of it.
+ - "shorewall [re]start" has been speeded up by more
+ than 40% with my configuration. Your milage may vary.
+ - A "shorewall show classifiers" command has been
+added which shows the current packet classification filters. The
+output from this command is also added as a separate page in "shorewall
monitor"
- - ULOG (must be all caps) is now accepted as a
-valid syslog level and causes the subject packets to be logged using
-the ULOG target rather than the LOG target. This allows you to
-run ulogd (available from http://www.gnumonks.org/projects/ulogd)
- and log all Shorewall messages ULOG (must be all caps) is now accepted as a valid
+ syslog level and causes the subject packets to be logged using the
+ ULOG target rather than the LOG target. This allows you to run ulogd
+ (available from http://www.gnumonks.org/projects/ulogd)
+ and log all Shorewall messages to a separate log file.
- - If you are running a kernel that has a FORWARD
- chain in the mangle table ("shorewall show mangle" will show you
- the chains in the mangle table), you can set MARK_IN_FORWARD_CHAIN=Yes
- in shorewall.conf. This allows for marking input packets based on
-their destination even when you are using Masquerading or SNAT.
- - I have cluttered up the /etc/shorewall directory
- with empty 'init', 'start', 'stop' and 'stopped' files. If you already
- have a file with one of these names, don't worry -- the upgrade process
- won't overwrite your file.
-
+ - If you are running a kernel that has a FORWARD chain
+ in the mangle table ("shorewall show mangle" will show you the chains
+ in the mangle table), you can set MARK_IN_FORWARD_CHAIN=Yes in
+ shorewall.conf. This allows for
+ marking input packets based on their destination even when you
+are using Masquerading or SNAT.
+ - I have cluttered up the /etc/shorewall directory
+with empty 'init', 'start', 'stop' and 'stopped' files. If you
+already have a file with one of these names, don't worry -- the upgrade
+process won't overwrite your file.
+ - I have added a new RFC1918_LOG_LEVEL variable to
+ shorewall.conf. This variable specifies
+ the syslog level at which packets are logged as a result of entries
+ in the /etc/shorewall/rfc1918 file. Previously, these packets were
+always logged at the 'info' level.
+
+
- You may download the Beta from:
-
+
+12/20/2002 - Shorewall 1.3.12 Beta 3
+
+ This version corrects a problem with Blacklist logging.
+ In Beta 2, if BLACKLIST_LOG_LEVEL was set to anything but ULOG, the
+ firewall would fail to start and "shorewall refresh" would also fail.
+
+12/20/2002 - Shorewall 1.3.12 Beta 2
+
+The first public Beta version of Shorewall 1.3.12 is now available (Beta
+ 1 was made available only to a limited audience).
+
+ Features include:
+
+
+ - "shorewall refresh" now reloads the traffic
+shaping rules (tcrules and tcstart).
+ - "shorewall debug [re]start" now turns off debugging
+ after an error occurs. This places the point of the failure near
+ the end of the trace rather than up in the middle of it.
+ - "shorewall [re]start" has been speeded up by
+ more than 40% with my configuration. Your milage may vary.
+ - A "shorewall show classifiers" command has
+been added which shows the current packet classification filters.
+The output from this command is also added as a separate page in
+"shorewall monitor"
+ - ULOG (must be all caps) is now accepted as
+a valid syslog level and causes the subject packets to be logged
+using the ULOG target rather than the LOG target. This allows you
+to run ulogd (available from http://www.gnumonks.org/projects/ulogd)
+ and log all Shorewall messages to a separate log file.
+ - If you are running a kernel that has a FORWARD
+ chain in the mangle table ("shorewall show mangle" will show you
+ the chains in the mangle table), you can set MARK_IN_FORWARD_CHAIN=Yes
+ in shorewall.conf. This allows for marking input packets based on
+ their destination even when you are using Masquerading or SNAT.
+ - I have cluttered up the /etc/shorewall directory
+ with empty 'init', 'start', 'stop' and 'stopped' files. If you
+already have a file with one of these names, don't worry -- the upgrade
+process won't overwrite your file.
+
+
+ You may download the Beta from:
+
http://www.shorewall.net/pub/shorewall/Beta
- ftp://ftp.shorewall.net/pub/shorewall/Beta
-
-
+
+
12/12/2002 - Mandrake Multi Network Firewall
-
- Shorewall is at the center of MandrakeSoft's recently-announced
- Multi
+
+ 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:
-
-
- - A 'tcpflags' option has been added to
-entries in /etc/shorewall/interfaces.
- This option causes Shorewall to make a set of sanity check on TCP packet
- header flags.
- - It is now allowed to use 'all' in the
-SOURCE or DEST column in a rule. When used, 'all' must appear
- by itself (in may not be qualified) and it does not enable intra-zone
- traffic. For example, the rule
-
- ACCEPT loc all tcp 80
-
- does not enable http traffic from 'loc' to
-'loc'.
- - Shorewall's use of the 'echo' command
-is now compatible with bash clones such as ash and dash.
- - fw->fw policies now generate a startup
- error. fw->fw rules generate a warning and are ignored
-
-
-
-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:
+
+
+ - A 'tcpflags' option has been added to
+ entries in /etc/shorewall/interfaces.
+ This option causes Shorewall to make a set of sanity check on TCP packet
+ header flags.
+ - It is now allowed to use 'all' in the
+ SOURCE or DEST column in a rule. When used, 'all' must
+appear by itself (in may not be qualified) and it does not enable
+ intra-zone traffic. For example, the rule
+
+ ACCEPT loc all tcp 80
+
+ does not enable http traffic from 'loc' to
+'loc'.
+ - Shorewall's use of the 'echo' command
+ is now compatible with bash clones such as ash and dash.
+ - fw->fw policies now generate a startup
+ error. fw->fw rules generate a warning and are ignored
+
+
+
+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 now define the contents of a zone dynamically
- with the "shorewall add"
-and "shorewall delete" commands. These commands are expected
- to be used primarily within FreeS/Wan updown
-scripts.
+ href="IPSEC.htm#Dynamic">define the contents of a zone dynamically
+ with the "shorewall add"
+ and "shorewall delete" commands. These commands are expected
+ to be used primarily within FreeS/Wan updown scripts.
- Shorewall can now do MAC verification on ethernet segments.
- You can specify the set of allowed MAC addresses on the segment
- and you can optionally tie each MAC address to one or more IP
- addresses.
+ href="MAC_Validation.html"> MAC verification on ethernet
+segments. You can specify the set of allowed MAC addresses on the
+segment and you can optionally tie each MAC address to one or more
+IP addresses.
- PPTP Servers and Clients running
on the firewall system may now be defined in the /etc/shorewall/tunnels file.
@@ -621,95 +584,159 @@ on the firewall system may now be defined in theThe PATH used by Shorewall may now
be specified in /etc/shorewall/shorewall.conf.
- The main firewall script is now /usr/lib/shorewall/firewall.
- The script in /etc/init.d/shorewall is very small and uses
- /sbin/shorewall to do the real work. This change makes custom
- distributions such as for Debian and for Gentoo easier to manage
- since it is /etc/init.d/shorewall that tends to have distribution-dependent
- code.
-
-
- You may download the Beta from:
-
-
-
-10/10/2002 - Debian 1.3.9b Packages Available
-
-
-
-Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
-10/9/2002 - Shorewall 1.3.9b
- This release rolls up fixes to the installer
- and to the firewall script.
-
-10/6/2002 - Shorewall.net now running on RH8.0
-
- The firewall and server here at shorewall.net
- are now running RedHat release 8.0.
-
- 9/30/2002 - Shorewall 1.3.9a
- Roles up the fix for broken tunnels.
-
-
-9/30/2002 - TUNNELS Broken in 1.3.9!!!
- There is an updated firewall script
-at ftp://www.shorewall.net/pub/shorewall/errata/1.3.9/firewall
- -- copy that file to /usr/lib/shorewall/firewall.
+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!
-9/28/2002 - Shorewall 1.3.9
+10/23/2002 - Shorewall 1.3.10 Beta 1
+ In this version:
-
-In this version:
-
+
+
+ You may download the Beta from:
- - DNS Names are
- now allowed in Shorewall config files (although I recommend against
- using them).
- - The connection SOURCE may
- now be qualified by both interface and IP address in
-a Shorewall rule.
- - Shorewall startup is now
-disabled after initial installation until the file /etc/shorewall/startup_disabled
- is removed. This avoids nasty surprises during reboot for
- users who install Shorewall but don't configure it.
- - The 'functions' and 'version'
- files and the 'firewall' symbolic link have been moved
-from /var/lib/shorewall to /usr/lib/shorewall to appease
-the LFS police at Debian.
-
+ - http://www.shorewall.net/pub/shorewall/Beta
+ - ftp://ftp.shorewall.net/pub/shorewall/Beta
+
+
+
+10/10/2002 - Debian 1.3.9b Packages Available
+
-
+
+Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
+
+10/9/2002 - Shorewall 1.3.9b
+ This release rolls up fixes to the installer
+ and to the firewall script.
+
+10/6/2002 - Shorewall.net now running on RH8.0
+
+ The firewall and server here at shorewall.net
+ are now running RedHat release 8.0.
+
+ 9/30/2002 - Shorewall 1.3.9a
+ Roles up the fix for broken tunnels.
+
+
+9/30/2002 - TUNNELS Broken in 1.3.9!!!
+ There is an updated firewall script
+ at ftp://www.shorewall.net/pub/shorewall/errata/1.3.9/firewall
+ -- copy that file to /usr/lib/shorewall/firewall.
+
+
+9/28/2002 - Shorewall 1.3.9
+
+
+In this version:
+
+
+
+
+ - DNS Names are
+now allowed in Shorewall config files (although I recommend against
+ using them).
+ - The connection SOURCE may
+ now be qualified by both interface and IP address in a
+ Shorewall rule.
+ - Shorewall startup is now
+ disabled after initial installation until the file /etc/shorewall/startup_disabled
+ is removed. This avoids nasty surprises during reboot for
+ users who install Shorewall but don't configure it.
+ - The 'functions' and 'version'
+ files and the 'firewall' symbolic link have been moved
+ from /var/lib/shorewall to /usr/lib/shorewall to appease
+ the LFS police at Debian.
+
+
+
-
-9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability
+
+
9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability
Restored
-
-
+
- A couple of recent configuration
+ A couple of recent configuration
changes at www.shorewall.net broke the Search facility:
-
-
+
+
-
+
+ - Mailing List Archive
+Search was not available.
+ - The Site Search index
+was incomplete
+ - Only one page of matches
+ was presented.
+
+
+
+
+
+ Hopefully these problems
+are now corrected.
+9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability
+ Restored
+
+ A couple of recent configuration
+ changes at www.shorewall.net had the negative effect
+of breaking the Search facility:
+
+
+
- Mailing List Archive Search
was not available.
- The Site Search index
@@ -717,1799 +744,1791 @@ was incomplete
- Only one page of matches
was presented.
-
-
-
-
- Hopefully these problems are
- now corrected.
-9/23/2002 - Full Shorewall Site/Mailing List Archive Search Capability
- Restored
-
- A couple of recent configuration
- changes at www.shorewall.net had the negative effect
-of breaking the Search facility:
-
-
-
- - Mailing List Archive Search
- was not available.
- - The Site Search index was
- incomplete
- - Only one page of matches
- was presented.
-
-
+
- Hopefully these problems are
+ Hopefully these problems are
now corrected.
-
-9/18/2002 - Debian 1.3.8 Packages Available
-
-
+9/18/2002 - Debian 1.3.8 Packages Available
+
+
+
Apt-get sources listed at http://security.dsi.unimi.it/~lorenzo/debian.html.
-
+
9/16/2002 - Shorewall 1.3.8
-
+
In this version:
-
+
-
+
- - A NEWNOTSYN option has been
- added to shorewall.conf. This option determines whether Shorewall
- accepts TCP packets which are not part of an established
- connection and that are not 'SYN' packets (SYN flag on and
+
- 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 at least
+ one rule for za to zb.
-
- - There is a
-policy for za to zb; or
- - There is at least
- one rule for za to zb.
-
-
-
-
+
-
+
- - The /etc/shorewall/blacklist
- file now contains three columns. In addition to the SUBNET/ADDRESS
- column, there are optional PROTOCOL and PORT columns to
- block only certain applications from the blacklisted addresses.
-
+ - 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:
-
+
- - The 'icmp.def' file
- is now empty! The rules in that file were required in
- ipchains firewalls but are not required in Shorewall.
- Users who have ALLOWRELATED=No in shorewall.conf should see the
- Upgrade Issues.
- - A 'FORWARDPING' option
- has been added to shorewall.conf.
- The effect of setting this variable to Yes is the
-same as the effect of adding an ACCEPT rule for ICMP
-echo-request in /etc/shorewall/icmpdef.
- Users who have such a rule in icmpdef are encouraged
+
- The 'icmp.def' file
+ is now empty! The rules in that file were required in
+ ipchains firewalls but are not required in Shorewall.
+Users who have ALLOWRELATED=No in shorewall.conf should see
+the Upgrade Issues.
+ - A 'FORWARDPING' option
+ has been added to shorewall.conf.
+ The effect of setting this variable to Yes is the same
+ as the effect of adding an ACCEPT rule for ICMP echo-request
+ in /etc/shorewall/icmpdef.
+ Users who have such a rule in icmpdef are encouraged
to switch to FORWARDPING=Yes.
- - The loopback CLASS
-A Network (127.0.0.0/8) has been added to the rfc1918
- file.
- - Shorewall now works
+
- The loopback CLASS
+ A Network (127.0.0.0/8) has been added to the rfc1918
+ file.
+ - Shorewall now works
with iptables 1.2.7
- - The documentation
+
- The documentation
and web site no longer uses FrontPage themes.
-
+
-
-I would like to thank John Distler for his valuable input regarding TCP
- SYN and ICMP treatment in Shorewall. That input has
- led to marked improvement in Shorewall in the last two
- releases.
+
+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:
-
+
- - The latest QuickStart Guides
- including the Shorewall Setup
-Guide.
- - Shorewall will now
-DROP TCP packets that are not part of or related to
-an existing connection and that are not SYN packets. These
- "New not SYN" packets may be optionally logged by setting
- the LOGNEWNOTSYN option in The latest QuickStart Guides
+ including the Shorewall Setup
+ Guide.
+ - Shorewall will now
+ DROP TCP packets that are not part of or related to
+ an existing connection and that are not SYN packets. These
+ "New not SYN" packets may be optionally logged by setting
+ the LOGNEWNOTSYN option in /etc/shorewall/shorewall.conf.
- - The processing of
-"New not SYN" packets may be extended by commands in
- the new newnotsyn
-extension script.
-
-
-
+ - The processing of
+"New not SYN" packets may be extended by commands in
+ the new newnotsyn extension
+ script.
+
+
+
7/30/2002 - Shorewall 1.3.5b Released
-
+
This interim release:
-
+
- - Causes the firewall
+
- Causes the firewall
script to remove the lock file if it is killed.
- - Once again allows
+
- Once again allows
lists in the second column of the /etc/shorewall/hosts file.
- - Includes the latest
+
- Includes the latest
QuickStart Guides.
-
+
-
+
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
+
- Empty and invalid
+source and destination qualifiers are now detected in
+ the rules file. It is a good idea to use the 'shorewall
+ check' command before you issue a 'shorewall restart'
+command be be sure that you don't have any configuration problems
that will prevent a successful restart.
- - Added MERGE_HOSTS
- variable in shorewall.conf
- to provide saner behavior of the /etc/shorewall/hosts
- file.
- - 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 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.
- - The Samples have been
- updated to reflect the new capabilities in this
- release.
-
-
-
+ Added MERGE_HOSTS
+ variable in shorewall.conf
+ to provide saner behavior of the /etc/shorewall/hosts
+ file.
+ The time that the
+counters were last reset is now displayed in the
+heading of the 'status' and 'show' commands.
+ 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.
+ 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
+
- 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
+
- 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.
- - The QuickStart Guide has
- been broken into three guides and has been almost entirely
+
- 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 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.
- - The 'rfc1918' chain
- in the mangle table has been renamed 'man1918' to
- make log messages generated from that chain distinguishable
- from those generated by the 'rfc1918' chain in the
-filter table.
- - Interface names appearing
- in the hosts file are now validated against the
- interfaces file.
- - The TARGET column
+
- Entries in /etc/shorewall/interface
+ that use the wildcard character ("+") now have the
+ "multi" option assumed.
+ - The 'rfc1918' chain
+ in the mangle table has been renamed 'man1918' to
+ make log messages generated from that chain distinguishable
+ from those generated by the 'rfc1918' chain in the filter
+table.
+ - 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 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 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.
+
+
+
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:
-
+
+ The files firewall,
+ functions and version have been
+ moved from /etc/shorewall to /var/lib/shorewall.
+
+
+
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.
- - Recursively copy everything
- that they find.
- - Should be classified
- as weapons rather than tools.
-
-
-
+ Ignore robot.txt
+files.
+ Recursively copy
+everything that they find.
+ 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 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:
-
+
-
+
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 and /etc/shorewall/policy.
-
-
-
+ A 'filterping' interface
+ option that allows ICMP echo-request (ping) requests
+ addressed to the firewall to be handled by entries in
+ /etc/shorewall/rules and /etc/shorewall/policy.
+
+
+
5/23/2002 - Shorewall 1.3 RC1 Available
-
-In addition to the changes in Beta 1 and Beta 2, RC1 (Version 1.2.92)
- incorporates the following:
+
+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.
- - 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 sample configurations
+
- The structure of
+the firewall is changed markedly. There is now an INPUT
+ and a FORWARD chain for each interface; this reduces the
+ number of rules that a packet must traverse, especially
+in complicated setups.
+ - Sub-zones may now be excluded
+ from DNAT and REDIRECT rules.
+ - 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.
-
+
-
+
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 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.
- - 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.
-
-
-
+ 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.
+ WARNING: Compatibility with the old
+ parameterized sample configurations has NOT been maintained.
+ Users still running those configurations should migrate
+ to the new sample configurations before upgrading to 1.3
+ Beta 1.
+
+
+
5/4/2002 - Shorewall 1.2.13 is Available
-
+
In this version:
-
+
-
+
4/30/2002 - Shorewall Debian News
-
-Lorenzo Marignoni reports that Shorewall 1.2.12 is now in both the Debian
-Testing Branch and the 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
+
- The 'try' command
works again
- - There is now a single
+
- There is now a single
RPM that also works with SuSE.
-
+
-
+
4/17/2002 - Shorewall Debian News
-
+
Lorenzo Marignoni reports that:
-
+
+ Shorewall 1.2.10
+is in the Debian
+ Testing Branch
+ 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
+
- The 'try' command
+now accepts an optional timeout. If the timeout is
+ given in the command, the standard configuration will automatically
+ be restarted after the new configuration has been running
+ for that length of time. This prevents a remote admin from
+ being locked out of the firewall in the case where the new configuration
starts but prevents access.
- - Kernel route filtering
- may now be enabled globally using the new ROUTE_FILTER
- parameter in /etc/shorewall/shorewall.conf.
- - Individual IP source
- addresses and/or subnets may now be excluded from
- masquerading/SNAT.
- - Simple "Yes/No" and
+
- Kernel route filtering
+ may now be enabled globally using the new ROUTE_FILTER
+ parameter in /etc/shorewall/shorewall.conf.
+ - Individual IP source
+ addresses and/or subnets may now be excluded from
+ masquerading/SNAT.
+ - 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 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
+
- A "shorewall try"
+command has been added (syntax: shorewall try
+ <configuration directory>). This command attempts
+ "shorewall -c <configuration directory>
+ start" and if that results in the firewall being stopped due
+ to an error, a "shorewall start" command is executed. The
+'try' command allows you to create a new configuration and attempt
+ to start it; if there is an error that leaves your firewall
+in the stopped state, it will automatically be restarted using
+ the default configuration (in /etc/shorewall).
+ - A new variable ADD_SNAT_ALIASES
+ has been added to /etc/shorewall/shorewall.conf.
+ If this variable is set to "Yes", Shorewall will
+ automatically add IP addresses listed in the third
+ column of the /etc/shorewall/masq
file.
- - Copyright notices
+
- 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 -
- 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.
-
-
-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
- - 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.
-
-
-
-
-
-2/18/2002 - 1.2.6 Debian Package is Available
-
-
-See http://security.dsi.unimi.it/~lorenzo/debian.html
-
-
-2/8/2002 - Shorewall 1.2.6 Released
-
-
-In this version:
-
-
-
- - $-variables may now
- be used anywhere in the configuration files except
- /etc/shorewall/zones.
- - 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.
-
-
-
-
-
-2/4/2002 - Shorewall 1.2.5 Debian Package Available
-
-
-see http://security.dsi.unimi.it/~lorenzo/debian.html
-
-
-2/1/2002 - Shorewall 1.2.5 Released
-
-
-Due to installation problems with Shorewall 1.2.4, I have released Shorewall
- 1.2.5. Sorry for the rapid-fire development.
-
-
-In version 1.2.5:
-
-
-
- - The installation problems
- have been corrected.
- - SNAT is now supported.
- - 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.
-
-
-
-
-
-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
- 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.
-
-
-
-
-
-The following problems were corrected:
-
-
-
- - The "shorewall status"
- command no longer hangs.
- - The "shorewall monitor"
- command now displays the icmpdef chain
- - The CLIENT PORT(S)
-column in tcrules is no longer ignored
-
-
-
-
-
-1/18/2002 - Shorewall 1.2.2 packaged with new LEAF release
-
-
-Jacques Nilo and Eric Wolzak have released a kernel 2.4.16 LEAF distribution
- that includes Shorewall 1.2.2. See http://leaf.sourceforge.net/devel/jnilo
- for details.
-
-
-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.
-
-
-1/9/2002 - Updated 1.2.2 /sbin/shorewall available - 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
-
-
-
-
- - You specify whether
- you want packets from blacklisted hosts dropped or
- rejected using the BLACKLIST_DISPOSITION
- setting in /etc/shorewall/shorewall.conf
- - You specify whether
- you want packets from blacklisted hosts logged and
- at what syslog level using the BLACKLIST_LOGLEVEL
-setting in /etc/shorewall/shorewall.conf
- - You list the IP addresses/subnets
- that you wish to blacklist in /etc/shorewall/blacklist
- - 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.
-
-
-
-
-
-
- - 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 protocol=all rule in /etc/shorewall/rules
- are now replied with a TCP RST packet.
-
-
-
-
-
-
- - A LOGFILE specification
-has been added to /etc/shorewall/shorewall.conf. LOGFILE is used
- to tell the /sbin/shorewall program 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:
-
-
-
- - 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.
-
-
-
-
-
-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
- http://www.shorewall.net/mailman/listinfo/shorewall-users.
-
-
-12/31/2001 - Shorewall 1.2.1 Released
-
-
-In version 1.2.1:
-
-
-
-
-
-12/21/2001 - Shorewall 1.2.0 Released! - I couldn't resist releasing
-1.2 on 12/21/2001
-
-
-Version 1.2 contains the following new features:
-
-
-
-
-
-For the next month or so, I will continue to provide corrections to version
- 1.1.18 as necessary so that current version 1.1.x
- users will not be forced into a quick upgrade to 1.2.0
-just to have access to bug fixes.
-
-
-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
- and the ftp site is at ftp://ftp.infohiiway.com/pub/mirrors/shorewall.
-
-
-11/30/2001 - A new set of the parameterized Sample
-Configurations has been released. In this version:
-
-
-
- - Ping is now allowed
-between the zones.
- - 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 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.
-
-
-
-
-
-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.
- There are three sample configurations:
-
-
-
- - One Interface -- for
- a standalone system.
- - Two Interfaces -- A
-masquerading firewall.
- - Three Interfaces --
-A masquerading firewall with DMZ.
-
-
+3/1/2002 - 1.2.8 Debian Package is Available
+
+
+See http://security.dsi.unimi.it/~lorenzo/debian.html
+
+
+2/25/2002 - New Two-interface Sample
+
+
+I've enhanced the two interface sample to allow access from the firewall
+ to servers in the local zone -
+ http://www.shorewall.net/pub/shorewall/LATEST.samples/two-interfaces.tgz
+
+
+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.
+
+
+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
+ - 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.
+
+
+
+
+
+2/18/2002 - 1.2.6 Debian Package is Available
+
+
+See http://security.dsi.unimi.it/~lorenzo/debian.html
+
+
+2/8/2002 - Shorewall 1.2.6 Released
+
+
+In this version:
+
+
+
+ - $-variables may now
+ be used anywhere in the configuration files except
+ /etc/shorewall/zones.
+ - 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.
+
+
+
+
+
+2/4/2002 - Shorewall 1.2.5 Debian Package Available
+
+
+see http://security.dsi.unimi.it/~lorenzo/debian.html
+
+
+2/1/2002 - Shorewall 1.2.5 Released
+
+
+Due to installation problems with Shorewall 1.2.4, I have released Shorewall
+ 1.2.5. Sorry for the rapid-fire development.
+
+
+In version 1.2.5:
+
+
+
+ - The installation problems
+ have been corrected.
+ - SNAT is now supported.
+ - 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.
+
+
+
+
+
+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
+ 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.
+
+
+
+
+
+The following problems were corrected:
+
+
+
+ - The "shorewall status"
+ command no longer hangs.
+ - The "shorewall monitor"
+ command now displays the icmpdef chain
+ - The CLIENT PORT(S)
+column in tcrules is no longer ignored
+
+
+
+
+
+1/18/2002 - Shorewall 1.2.2 packaged with new LEAF release
+
+
+Jacques Nilo and Eric Wolzak have released a kernel 2.4.16 LEAF distribution
+ that includes Shorewall 1.2.2. See http://leaf.sourceforge.net/devel/jnilo
+ for details.
+
+
+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.
+
+
+1/9/2002 - Updated 1.2.2 /sbin/shorewall available - 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
+
+
+
+
+ - You specify whether
+ you want packets from blacklisted hosts dropped or
+ rejected using the BLACKLIST_DISPOSITION
+ setting in /etc/shorewall/shorewall.conf
+ - You specify whether
+ you want packets from blacklisted hosts logged and
+ at what syslog level using the BLACKLIST_LOGLEVEL
+ setting in /etc/shorewall/shorewall.conf
+ - You list the IP
+addresses/subnets that you wish to blacklist in
+ /etc/shorewall/blacklist
+ - 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.
+
+
+
+
+
+
+ - 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 protocol=all rule in
+/etc/shorewall/rules are now replied with a TCP RST packet.
+
+
+
+
+
+
+ - A LOGFILE specification has
+ been added to /etc/shorewall/shorewall.conf. LOGFILE is used
+ to tell the /sbin/shorewall program 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:
+
+
+
+ - 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.
+
+
+
+
+
+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
+ http://www.shorewall.net/mailman/listinfo/shorewall-users.
+
+
+12/31/2001 - Shorewall 1.2.1 Released
+
+
+In version 1.2.1:
+
+
+
+
+
+12/21/2001 - Shorewall 1.2.0 Released! - I couldn't resist
+releasing 1.2 on 12/21/2001
+
+
+Version 1.2 contains the following new features:
+
+
+
+
+
+For the next month or so, I will continue to provide corrections to version
+ 1.1.18 as necessary so that current version 1.1.x
+ users will not be forced into a quick upgrade to 1.2.0
+just to have access to bug fixes.
+
+
+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
+ and the ftp site is at ftp://ftp.infohiiway.com/pub/mirrors/shorewall.
+
+
+11/30/2001 - A new set of the parameterized Sample
+ Configurations has been released. In this version:
+
+
+
+ - Ping is now allowed
+ between the zones.
+ - 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 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.
+
+
+
+
+
+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.
+ There are three sample configurations:
+
+
+
+ - One Interface -- for
+ a standalone system.
+ - Two 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 1.1 Shorewall
-releases.
+
+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.
- - 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.
+ - 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.
+ - 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
+
- Support for nested
zones has been improved. See the documentation for
-details
- - Shorewall now correctly
- checks the alternate configuration directory for
- the 'zones' file.
+ href="Documentation.htm#Nested"> the documentation for details
+ - 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
+
- 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
- 2. Copy to that directory
- any of your configuration files that you want to
-change.
- 3. Modify the copied
+ 1. Create a New Directory
+ 2. Copy to that directory
+ any of your configuration files that you want to
+ change.
+ 3. Modify the copied
files as needed.
- 4. Restart Shorewall
+ 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.
- - Rules that specify
-multiple client ip addresses or subnets no longer cause
+
- 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.
- - 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
+
- 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.
-
+
-
-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
-
+
- - Shell variables can
-now be used to parameterize Shorewall rules.
- - The second column in
- the hosts file may now contain a comma-separated
- list.
-
- Example:
- sea eth0:130.252.100.0/24,206.191.149.0/24
- - Handling of multi-zone
+
- Shell variables can
+ now be used to parameterize Shorewall rules.
+ - The second column
+in the hosts file may now contain a comma-separated
+ list.
+
+ Example:
+ sea eth0:130.252.100.0/24,206.191.149.0/24
+ - Handling of multi-zone
interfaces has been improved. See the documentation for the /etc/shorewall/interfaces
- file.
+ href="Documentation.htm#Interfaces">documentation for the /etc/shorewall/interfaces
+ file.
-
+
-
-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
+
- 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.
- - Complementation using
- "!" is now supported in rules.
+ - Shorewall is now more
+ rigorous in parsing the options in /etc/shorewall/interfaces.
+ - 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.
- - 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
+
- 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 "dhcp" interface
+ option is now applicable to firewall interfaces used
by a DHCP server running on the firewall.
- - The RPM can now be
+
- 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
+
- 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
+
- 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
+
- The "tunnels" file
really is in the RPM now.
- - SNAT can now be applied
- to port-forwarded connections.
- - 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.
- - 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.
- - Support for SNAT can now be applied
+ to port-forwarded connections.
+ - 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.
+ - 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.
+ - 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 .rpm will now install
- regardless of which version of iptables is installed.
- - The .rpm will now install
- without iproute2 being installed.
- - 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 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 without iproute2 being installed.
+ - 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.
-
+
-
-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.
- - 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
+
- 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.
- - 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.
- - 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.
- - The order in which
-iptables kernel modules are loaded has been corrected
+
- 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 rules generated
+ for port redirection.
+ - 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
+
- 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.
- - /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.
- - 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.
- - 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 "#".
-
-
-
+ /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.
+ 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.
+ A problem has been
+corrected where a sub-shell stopped the firewall
+and main shell continued resulting in a perplexing error message
+ referring to "common.so" resulted.
+ Previously, placing
+ "-" in the PORT(S) column in /etc/shorewall/rules
+resulted in an error message during start. This has been corrected.
+ 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
+
- Port redirection now
works again.
- - The icmpdef and common
+
- 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
+
- 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
+
- The LRP Version is
renamed "shorwall" for 8,3 MSDOS file system compatibility.
- - A couple of LRP-specific
+
- A couple of LRP-specific
problems were corrected.
-
+
-
+
4/8/2001 - Shorewall is now affiliated with the Leaf Project
-
+
-
+
4/5/2001 - The current version of Shorewall is 1.1.1. In this version:
-
+
- - The common chain is
-traversed from INPUT, OUTPUT and FORWARD before
- logging occurs
- - The 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.
-
-
-
+ The common chain is
+ traversed from INPUT, OUTPUT and FORWARD before
+ logging occurs
+ 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.
+
+
+
3/25/2001 - The current version of Shorewall is 1.1.0. In this version:
-
+
- - Log messages now indicate
- the packet disposition.
- - Error messages have
-been improved.
- - 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.
- - 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
+
- Log messages now indicate
+ the packet disposition.
+ - Error messages have
+ been improved.
+ - 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.
+ - 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.
- - 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
+
- 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.
- - 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).
-
-
-
+ 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 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).
-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.
- - DMZ-related chains
+
- 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.
- - 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.
+
+
+
+
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 2/13/2003 - Tom Eastep
-
+
+Updated 2/13/2003 - Tom Eastep
+
-
+
Copyright © 2001, 2002 Thomas M. Eastep.
-
+
+
diff --git a/Shorewall-docs/Shorewall_Squid_Usage.html b/Shorewall-docs/Shorewall_Squid_Usage.html
index 814a48dcd..b7023024e 100644
--- a/Shorewall-docs/Shorewall_Squid_Usage.html
+++ b/Shorewall-docs/Shorewall_Squid_Usage.html
@@ -2,371 +2,331 @@
Shorewall Squid Usage
-
+
-
+
-
+
-
- This page covers Shorewall configuration to use with Squid running as a Transparent
+
+ This page covers Shorewall configuration to use with Squid running as a Transparent
Proxy.
-
-
+
- Please observe the following general requirements:
-
-
- In all cases, Squid should be configured to run
+ Please observe the following general requirements:
+
+
+ In all cases, Squid should be configured to run
as a transparent proxy as described at http://www.tldp.org/HOWTO/mini/TransparentProxy-4.html.
-
-
- The following instructions mention the files /etc/shorewall/start
- and /etc/shorewall/init -- if you don't have those files, siimply create
- them.
-
-
- When the Squid server is in the DMZ zone or in
- the local zone, that zone must be defined ONLY by its interface -- no /etc/shorewall/hosts
- file entries. That is because the packets being routed to the Squid server
- still have their original destination IP addresses.
-
-
- You must have iproute2 (ip utility) installed
- on your firewall.
-
-
- You must have iptables installed on your Squid
+
+
+ The following instructions mention the files
+/etc/shorewall/start and /etc/shorewall/init -- if you don't have those
+files, siimply create them.
+
+
+ When the Squid server is in the DMZ zone or
+in the local zone, that zone must be defined ONLY by its interface -- no
+/etc/shorewall/hosts file entries. That is because the packets being routed
+to the Squid server still have their original destination IP addresses.
+
+
+ You must have iptables installed on your Squid
server.
-
-
- You must have NAT and MANGLE enabled in your
+
+
+ You must have NAT and MANGLE enabled in your
/etc/shorewall/conf file
-
- NAT_ENABLED=Yes
- MANGLE_ENABLED=Yes
-
- Three different configurations are covered:
-
+
+ NAT_ENABLED=Yes
+ MANGLE_ENABLED=Yes
+
+ Three different configurations are covered:
+
- - Squid running on
+
- Squid running on
the Firewall.
- - Squid running in the
-local network
- - Squid running in the DMZ
-
+ - Squid running in the
+ local network
+ - Squid running in the
+DMZ
+
-
+
Squid Running on the Firewall
- You want to redirect all local www connection requests EXCEPT
- those to your own
- http server (206.124.146.177)
- to a Squid transparent
- proxy running on the firewall and listening on port 3128. Squid
- will of course require access to remote web servers.
-
- In /etc/shorewall/rules:
-
+ You want to redirect all local www connection requests EXCEPT
+ those to your own
+ http server (206.124.146.177)
+ to a Squid transparent
+ proxy running on the firewall and listening on port 3128. Squid
+ will of course require access to remote web servers.
+
+ In /etc/shorewall/rules:
+
+
+
+
+
+
+
+ ACTION |
+ SOURCE |
+ DEST |
+ PROTO |
+ DEST
+ PORT(S) |
+ SOURCE
+ PORT(S) |
+ ORIGINAL
+ DEST |
+
+
+
+ REDIRECT |
+ loc |
+ 3128 |
+ tcp |
+ www |
+ -
+ |
+ !206.124.146.177 |
+
+
+ ACCEPT |
+ fw |
+ net |
+ tcp |
+ www |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Squid Running in the local network
+ You want to redirect all local www connection requests to a Squid
+ transparent proxy
+ running in your local zone at 192.168.1.3 and listening on port 3128.
+ Your local interface is eth1. There may also be a web server running on
+192.168.1.3. It is assumed that web access is already enabled from the local
+zone to the internet.
+
+WARNING: This setup may conflict with
+ other aspects of your gateway including but not limited to traffic shaping
+ and route redirection. For that reason, I don't recommend it.
+
+
+
+ - On your firewall system, issue the following command
+
+
+
+
+
+ echo 202 www.out >> /etc/iproute2/rt_tables
+
+
+
+ - In /etc/shorewall/init, put:
+
+
+
+
+
+ if [ -z "`ip rule list | grep www.out`" ] ; then
ip rule add fwmark 202 table www.out
ip route add default via 192.168.1.3 dev eth1 table www.out
ip route flush cache
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
fi
+
+
+
+ - In /etc/shorewall/rules:
+
+
+
+
+
+
+ ACTION |
+ SOURCE |
+ DEST |
+ PROTO |
+ DEST
+ PORT(S) |
+ SOURCE
+ PORT(S) |
+ ORIGINAL
+ DEST |
+
+
+
+ ACCEPT
+ |
+ loc |
+ loc
+ |
+ tcp |
+ www |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Alternativfely, you can have the following policy:
+
+
+
+
+
+ SOURCE
+ |
+ DESTINATION
+ |
+ POLICY
+ |
+ LOG LEVEL
+ |
+ BURST PARAMETERS
+ |
+
+
+ loc
+ |
+ loc
+ |
+ ACCEPT
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+ - In /etc/shorewall/start add:
+
+
+
-
-
-
-
- ACTION |
- SOURCE |
- DEST |
- PROTO |
- DEST
- PORT(S) |
- SOURCE
- PORT(S) |
- ORIGINAL
- DEST |
-
-
-
- REDIRECT |
- loc |
- 3128 |
- tcp |
- www |
- -
- |
- !206.124.146.177 |
-
-
- ACCEPT |
- fw |
- net |
- tcp |
- www |
-
- |
-
- |
-
-
-
-
-
-
-
-
-
-
-
-
+ iptables -t mangle -A PREROUTING -i eth1 -s ! 192.168.1.3 -p tcp --dport 80 -j MARK --set-mark 202
-Squid Running in the local network
- You want to redirect all local www connection requests to a Squid
- transparent proxy
-running in your local zone at 192.168.1.3 and listening on port 3128.
- Your local interface is eth1. There may also be a web server running on
-192.168.1.3. It is assumed that web access is already enabled from the local
-zone to the internet.
-
-WARNING: This setup may conflict with
- other aspects of your gateway including but not limited to traffic shaping
- and route redirection. For that reason, I don't recommend it.
-
-
- - On your firewall system, issue the following command
-
-
-
-
-
- echo 202 www.out >> /etc/iproute2/rt_tables
-
-
-
- - In /etc/shorewall/init, put:
-
-
-
-
-
- if [ -z "`ip rule list | grep www.out`" ] ; then
ip rule add fwmark 202 table www.out
ip route add default via 192.168.1.3 dev eth1 table www.out
ip route flush cache
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
fi
-
-
-
- - In /etc/shorewall/rules:
-
-
-
-
-
-
- ACTION |
- SOURCE |
- DEST |
- PROTO |
- DEST
- PORT(S) |
- SOURCE
- PORT(S) |
- ORIGINAL
- DEST |
-
-
-
- ACCEPT
- |
- loc |
- loc
- |
- tcp |
- www |
-
- |
-
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Alternativfely, you can have the following policy:
-
-
-
-
-
- SOURCE
- |
- DESTINATION
- |
- POLICY
- |
- LOG LEVEL
- |
- BURST PARAMETERS
- |
-
-
- loc
- |
- loc
- |
- ACCEPT
- |
-
- |
-
- |
-
-
-
-
-
-
- - In /etc/shorewall/start add:
-
-
-
-
-
- iptables -t mangle -A PREROUTING -i eth1 -s ! 192.168.1.3 -p tcp --dport 80 -j MARK --set-mark 202
-
-
-
-
- If you are running RedHat on the server, you can simply execute
- the following commands after you have typed the iptables command above:
-
-
+ If you are running RedHat on the server, you can simply execute
+ the following commands after you have typed the iptables command above:
+
+
+
-
+
iptables-save > /etc/sysconfig/iptables
chkconfig --level 35 iptables start
-
-
+
+
-
+
Squid Running in the DMZ (This is what I do)
- You have a single Linux system in your DMZ with IP address 192.0.2.177.
- You want to run both a web server and Squid on that system. Your DMZ interface
- is eth1 and your local interface is eth2.
-
+ You have a single Linux system in your DMZ with IP address 192.0.2.177.
+ You want to run both a web server and Squid on that system. Your DMZ interface
+ is eth1 and your local interface is eth2.
+
- - On your firewall system, issue the following command
-
-
+ - On your firewall system, issue the following command
+
+
-
-
+
+
echo 202 www.out >> /etc/iproute2/rt_tables
-
-
+
+
- - In /etc/shorewall/init, put:
-
+ - In /etc/shorewall/init, put:
+
+
+
+
+
+ if [ -z "`ip rule list | grep www.out`" ] ; then
ip rule add fwmark 202 table www.out
ip route add default via 192.0.2.177 dev eth1 table www.out
ip route flush cache
fi
+
+
+
+ - Do one of the following:
+
+ A) In /etc/shorewall/start add
+
-
-
- if [ -z "`ip rule list | grep www.out`" ] ; then
ip rule add fwmark 202 table www.out
ip route add default via 192.0.2.177 dev eth1 table www.out
ip route flush cache
fi
-
-
-
- - Do one of the following:
-
- A) In /etc/shorewall/start add
-
-
-
-
-
+
+
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j MARK --set-mark 202
-
-
-B) Set MARK_IN_FORWARD_CHAIN=No in /etc/shorewall/shorewall.conf
-and add the following entry in /etc/shorewall/tcrules:
-
-
-
-
-
-
-
- MARK
- |
- SOURCE
- |
- DESTINATION
- |
- PROTOCOL
- |
- PORT
- |
- CLIENT PORT
- |
-
-
- 202
- |
- eth2
- |
- 0.0.0.0/0
- |
- tcp
- |
- 80
- |
- -
- |
-
-
-
-
-
- C) Run Shorewall 1.3.14 or later and add the following entry in /etc/shorewall/tcrules:
-
-
+
+
+B) Set MARK_IN_FORWARD_CHAIN=No in /etc/shorewall/shorewall.conf
+ and add the following entry in /etc/shorewall/tcrules:
+
+
@@ -386,7 +346,7 @@ and add the following entry in /etc/shorewall/tcrules:
- 202:P
+ | 202
|
eth2
|
@@ -403,90 +363,130 @@ and add the following entry in /etc/shorewall/tcrules:
-
-
-
+ C) Run Shorewall 1.3.14 or later and add the following entry in /etc/shorewall/tcrules:
+
+
+
+
+
+
+
+ MARK
+ |
+ SOURCE
+ |
+ DESTINATION
+ |
+ PROTOCOL
+ |
+ PORT
+ |
+ CLIENT PORT
+ |
+
+
+ 202:P
+ |
+ eth2
+ |
+ 0.0.0.0/0
+ |
+ tcp
+ |
+ 80
+ |
+ -
+ |
+
+
+
+
+
+
+
+
- - In /etc/shorewall/rules, you will need:
-
-
-
-
-
-
-
- ACTION
- |
- SOURCE
- |
- DEST
- |
- PROTO
- |
- DEST
- PORT(S)
- |
- CLIENT
- PORT(2)
- |
- ORIGINAL
- DEST
- |
-
-
- ACCEPT
- |
- dmz
- |
- net
- |
- tcp
- |
- 80
- |
-
- |
-
- |
-
-
-
-
-
-
-
-
-
- If you are running RedHat on the server, you can simply execute
- the following commands after you have typed the iptables command above:
-
-
+
+
+
+
+ ACTION
+ |
+ SOURCE
+ |
+ DEST
+ |
+ PROTO
+ |
+ DEST
+ PORT(S)
+ |
+ CLIENT
+ PORT(2)
+ |
+ ORIGINAL
+ DEST
+ |
+
+
+ ACCEPT
+ |
+ dmz
+ |
+ net
+ |
+ tcp
+ |
+ 80
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+ If you are running RedHat on the server, you can simply execute
+ the following commands after you have typed the iptables command above:
+
+
+
-
+
iptables-save > /etc/sysconfig/iptables
chkconfig --level 35 iptables start
-
-
+
+
-
- Updated 1/23/2003 - Tom Eastep
+
+ Updated 2/21/2003 - Tom Eastep
- Copyright © 2003 Thomas M. Eastep.
-
-
-
+
+
+
+
diff --git a/Shorewall-docs/seattlefirewall_index.htm b/Shorewall-docs/seattlefirewall_index.htm
index 4f53c7d9f..615479a36 100644
--- a/Shorewall-docs/seattlefirewall_index.htm
+++ b/Shorewall-docs/seattlefirewall_index.htm
@@ -6,7 +6,7 @@
-
+
Shoreline Firewall (Shorewall) 1.4
@@ -15,23 +15,24 @@
-
+
+
-
+
-
+
-
+
-
+ |
@@ -41,15 +42,61 @@
-
+
- Shorewall
-1.4 - "iptables made
- easy"
+ Shorewall
+ 1.4 - "iptables made
+ easy"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -60,52 +107,6 @@
-
-
-
-
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
What is it?
@@ -118,11 +119,11 @@
-
- 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.
@@ -134,29 +135,29 @@ firewall that can be used on a dedicated firewall system, a multi-functio
-
- 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 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
@@ -168,7 +169,7 @@ copy of the GNU General Public License
-
+
Copyright 2001, 2002, 2003 Thomas M. Eastep
@@ -181,20 +182,21 @@ copy of the GNU General Public License
-
+
- 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.3.14
- 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.1!!!
-
+ 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.3.14
+ 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.1!!!
+
@@ -204,9 +206,9 @@ Bering 1.1!!!
-
- This is a mirror of the main Shorewall web site at SourceForge
-(http://shorewall.sf.net)
+
+ This is a mirror of the main Shorewall web site at SourceForge (http://shorewall.sf.net)
@@ -220,7 +222,7 @@ Bering 1.1!!!
-
+
News
@@ -232,7 +234,8 @@ Bering 1.1!!!
-
+
+
@@ -242,102 +245,108 @@ Bering 1.1!!!
-
+
3/14/2003 - Shorewall 1.4.0
-
-
+
+
- Shorewall 1.4 represents the next step in the evolution of Shorewall.
-The main thrust of the initial release is simply to remove the cruft that
+ 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.
- Function from 1.3 that has been omitted from this version include:
-
+ IMPORTANT: Shorewall 1.4.0 REQUIRES the iproute package
+('ip' utility).
+
+Function from 1.3 that has been omitted from this version include:
+
- - The MERGE_HOSTS variable in shorewall.conf is no longer supported.
- Shorewall 1.4 behavior is the same as 1.3 with MERGE_HOSTS=Yes.
-
-
- - Interface names of the form <device>:<integer>
-in /etc/shorewall/interfaces now generate an error.
-
-
- - Shorewall 1.4 implements behavior consistent with OLD_PING_HANDLING=No.
- OLD_PING_HANDLING=Yes will generate an error at startup as will specification
- of the 'noping' or 'filterping' interface options.
-
-
- - The 'routestopped' option in the /etc/shorewall/interfaces
-and /etc/shorewall/hosts files is no longer supported and will generate an
-error at startup if specified.
-
-
- - The Shorewall 1.2 syntax for DNAT and REDIRECT rules is no
-longer accepted.
-
-
- - The ALLOWRELATED variable in shorewall.conf is no longer supported.
- Shorewall 1.4 behavior is the same as 1.3 with ALLOWRELATED=Yes.
+ - The MERGE_HOSTS variable in shorewall.conf is no longer supported.
+ Shorewall 1.4 behavior is the same as 1.3 with MERGE_HOSTS=Yes.
+
+
+ - Interface names of the form <device>:<integer>
+ in /etc/shorewall/interfaces now generate an error.
+
+
+ - Shorewall 1.4 implements behavior consistent with OLD_PING_HANDLING=No.
+ OLD_PING_HANDLING=Yes will generate an error at startup as will specification
+ of the 'noping' or 'filterping' interface options.
+
+
+ - The 'routestopped' option in the /etc/shorewall/interfaces
+ and /etc/shorewall/hosts files is no longer supported and will generate
+an error at startup if specified.
+
+
+ - The Shorewall 1.2 syntax for DNAT and REDIRECT rules is no
+ longer accepted.
+
+
+ - The ALLOWRELATED variable in shorewall.conf is no longer
+supported. Shorewall 1.4 behavior is the same as 1.3 with ALLOWRELATED=Yes.
+
+
+ - The icmp.def file has been removed.
- - The icmp.def file has been removed.
-
-
- - The 'multi' interface option is no longer supported.
- Shorewall will generate rules for sending packets back out the same interface
+
- The 'multi' interface option is no longer supported.
+ Shorewall will generate rules for sending packets back out the same interface
that they arrived on in two cases:
+
-
+
- - There is an explicit policy for the source zone to or
-from the destination zone. An explicit policy names both zones and does not
+
- There is an explicit policy for the source zone to or
+from the destination zone. An explicit policy names both zones and does not
use the 'all' reserved word.
- - There are one or more rules for traffic for the source zone to
-or from the destination zone including rules that use the 'all' reserved
-word. Exception: if the source zone and destination zone are the same then
-the rule must be explicit - it must name the zone in both the SOURCE and
-DESTINATION columns.
-
+ - There are one or more rules for traffic for the source zone
+to or from the destination zone including rules that use the 'all' reserved
+word. Exception: if the source zone and destination zone are the same then
+the rule must be explicit - it must name the zone in both the SOURCE and DESTINATION
+columns.
+
+
+
-
+
- Changes for 1.4 include:
-
+ Changes for 1.4 include:
+
- - The /etc/shorewall/shorewall.conf file has been completely
-reorganized into logical sections.
-
-
- - LOG is now a valid action for a rule (/etc/shorewall/rules).
-
-
- - The firewall script and version file are now installed in
+
- The /etc/shorewall/shorewall.conf file has been completely
+ reorganized into logical sections.
+
+
+ - LOG is now a valid action for a rule (/etc/shorewall/rules).
+
+
+ - The firewall script and version file are now installed in
/usr/share/shorewall.
-
-
- - Late arriving DNS replies are now silently dropped in the
+
+
+ - Late arriving DNS replies are now silently dropped in the
common chain by default.
-
-
- - In addition to behaving like OLD_PING_HANDLING=No, Shorewall
-1.4 no longer unconditionally accepts outbound ICMP packets. So if you want
- to 'ping' from the firewall, you will need the appropriate rule or policy.
-
-
- - 802.11b devices with names of the form wlan<n> now
-support the 'maclist' option.
-
-
+
+
+ - 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.
+
+
+ - 802.11b devices with names of the form wlan<n>
+now support the 'maclist' option.
+
+
-
+
@@ -345,7 +354,7 @@ support the 'maclist' option.
-
+
More News
@@ -358,44 +367,44 @@ support the 'maclist' option.
-
+
Donations
- |
+
- M |
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+ |
@@ -404,12 +413,12 @@ support the 'maclist' option.
-
+
-
+
@@ -420,32 +429,33 @@ support the 'maclist' option.
-
- Shorewall is free
-but if you try it and find it useful, please consider making a donation
+
+ Shorewall is free but
+if you try it and find it useful, please consider making a donation
to Starlight
-Children's Foundation. Thanks!
+ href="http://www.starlight.org">Starlight Children's
+Foundation. Thanks!
- |
+
-
+
-
-
+
+
-
-Updated 2/18/2003 - Tom Eastep
-
-
-
+
+Updated 2/18/2003 - Tom Eastep
+
+
+
+
diff --git a/Shorewall-docs/shorewall_prerequisites.htm b/Shorewall-docs/shorewall_prerequisites.htm
index cf7e0e9b7..b66ccc400 100644
--- a/Shorewall-docs/shorewall_prerequisites.htm
+++ b/Shorewall-docs/shorewall_prerequisites.htm
@@ -1,68 +1,68 @@
-
+
-
+
-
+
-
+
Shorewall Prerequisites
-
+
-
-
-
+ |
+
+
Shorewall Requirements
- |
-
-
-
+
+
+
+
-
-Shorewall Requires:
-
+
+ Shorewall Requires:
+
- - A kernel that supports netfilter. I've tested with 2.4.2 - 2.4.20-pre6.
- Check here for kernel configuration
-information. If you are looking for a firewall for use with 2.2
-kernels, see the Seattle Firewall
- site .
- - iptables 1.2 or later but beware version 1.2.3 -- see the Errata. WARNING: The
- buggy iptables version 1.2.3 is included in RedHat 7.2 and you should
-upgrade to iptables 1.2.4 prior to installing Shorewall. Version 1.2.4
+
- A kernel that supports netfilter. I've tested with 2.4.2 - 2.4.20-pre6.
+ Check here for kernel configuration information.
+ If you are looking for a firewall for use with 2.2 kernels, see the Seattle Firewall site
+ .
+ - iptables 1.2 or later but beware version 1.2.3 -- see the Errata. WARNING: The
+ buggy iptables version 1.2.3 is included in RedHat 7.2 and you should
+upgrade to iptables 1.2.4 prior to installing Shorewall. Version 1.2.4
is available from RedHat
+ href="http://www.redhat.com/support/errata/RHSA-2001-144.html">from RedHat
and in the Shorewall Errata.
- - Some features require iproute ("ip" utility). The iproute package
- is included with most distributions but may not be installed by default.
- The official download site is ftp://ftp.inr.ac.ru/ip-routing.
-
- - A Bourne shell or derivative such as bash or ash. This shell must
-have correct support for variable expansion formats ${variable%pattern
- }, ${variable%%pattern}, ${variable#pattern
- } and ${variable##pattern}.
- - The firewall monitoring display is greatly improved if you have
+
- Iproute ("ip" utility). The iproute package is included with
+most distributions but may not be installed by default. The official
+download site is ftp://ftp.inr.ac.ru/ip-routing.
+
+ - A Bourne shell or derivative such as bash or ash. This shell must
+ have correct support for variable expansion formats ${variable%pattern
+ }, ${variable%%pattern}, ${variable#pattern
+ } and ${variable##pattern}.
+ - The firewall monitoring display is greatly improved if you have
awk (gawk) installed.
-
+
-
-Last updated 11/10/2002 - Last updated 2/21/2003 - Tom Eastep
-
+
Copyright © 2001, 2002 Thomas M. Eastep.
-
+ size="2">Copyright © 2001, 2002, 2003 Thomas M. Eastep.
+
+
diff --git a/Shorewall-docs/shorewall_setup_guide.htm b/Shorewall-docs/shorewall_setup_guide.htm
index 1e30cdea6..bb9699d0d 100644
--- a/Shorewall-docs/shorewall_setup_guide.htm
+++ b/Shorewall-docs/shorewall_setup_guide.htm
@@ -1,2517 +1,2518 @@
-
+
-
+
-
+
-
+
Shorewall Setup Guide
-
+
-
+
Shorewall Setup Guide
-
+
1.0 Introduction
- 2.0 Shorewall Concepts
- 3.0 Network Interfaces
- 4.0 Addressing, Subnets and Routing
-
-
+ 2.0 Shorewall Concepts
+ 3.0 Network Interfaces
+ 4.0 Addressing, Subnets and Routing
+
+
4.1 IP Addresses
- 4.2 Subnets
- 4.3 Routing
- 4.4 Address Resolution Protocol
- 4.5 RFC 1918
-
-
+ 4.2 Subnets
+ 4.3 Routing
+ 4.4 Address Resolution Protocol
+ 4.5 RFC 1918
+
+
5.0 Setting up your Network
-
-
+
+
5.1 Routed
- 5.2 Non-routed
-
-
+ 5.2 Non-routed
+
+
5.2.1 SNAT
- 5.2.2 DNAT
- 5.2.3 Proxy ARP
- 5.2.4 Static NAT
-
-
+ 5.2.2 DNAT
+ 5.2.3 Proxy ARP
+ 5.2.4 Static NAT
+
+
5.3 Rules
- 5.4 Odds and Ends
-
-
+ 5.4 Odds and Ends
+
+
6.0 DNS
- 7.0 Starting and Stopping the Firewall
-
+ 7.0 Starting and Stopping the Firewall
+
1.0 Introduction
-
-This guide is intended for users who are setting up Shorewall in an environment
- where a set of public IP addresses must be managed or who want to know
+
+
This guide is intended for users who are setting up Shorewall in an environment
+ where a set of public IP addresses must be managed or who want to know
more about Shorewall than is contained in the single-address guides. Because
- the range of possible applications is so broad, the Guide will give you
+ href="shorewall_quickstart_guide.htm">single-address guides. Because
+ the range of possible applications is so broad, the Guide will give you
general guidelines and will point you to other resources as necessary.
-
+
- If you run LEAF Bering, your Shorewall configuration is NOT what
- I release -- I suggest that you consider installing a stock Shorewall lrp
- from the shorewall.net site before you proceed.
-
-This guide assumes that you have the iproute/iproute2 package installed
- (on RedHat, the package is called iproute). You can tell
- if this package is installed by the presence of an ip program on
- your firewall system. As root, you can use the 'which' command to check
- for this program:
-
+ If you run LEAF Bering, your Shorewall configuration is NOT what
+ I release -- I suggest that you consider installing a stock Shorewall
+lrp from the shorewall.net site before you proceed.
+
+Shorewall requires that the iproute/iproute2 package be installed (on
+ RedHat, the package is called iproute). You can tell if
+this package is installed by the presence of an ip program on your
+ firewall system. As root, you can use the 'which' command to check for
+this program:
+
[root@gateway root]# which ip
/sbin/ip
[root@gateway root]#
-
-I recommend that you first read through the guide to familiarize yourself
- with what's involved then go back through it again making your configuration
- changes. Points at which configuration changes are recommended are flagged
+
+
I recommend that you first read through the guide to familiarize yourself
+ with what's involved then go back through it again making your configuration
+ changes. Points at which configuration changes are recommended are flagged
with
- .
-
+ .
+
- If you edit your configuration files on a Windows system, you
-must save them as Unix files if your editor supports that option or you
-must run them through dos2unix before trying to use them with Shorewall.
-Similarly, if you copy a configuration file from your Windows hard drive
-to a floppy disk, you must run dos2unix against the copy before using
-it with Shorewall.
-
+ If you edit your configuration files on a Windows system, you
+must save them as Unix files if your editor supports that option or you
+must run them through dos2unix before trying to use them with Shorewall.
+Similarly, if you copy a configuration file from your Windows hard drive
+to a floppy disk, you must run dos2unix against the copy before using it
+with Shorewall.
+
-
+
2.0 Shorewall Concepts
-
-The configuration files for Shorewall are contained in the directory /etc/shorewall
--- for most setups, you will only need to deal with a few of these as described
-in this guide. Skeleton files are created during the Shorewall Installation Process.
-
-As each file is introduced, I suggest that you look through the actual
- file on your system -- each file contains detailed configuration instructions
+
+
The configuration files for Shorewall are contained in the directory
+/etc/shorewall -- for most setups, you will only need to deal with a few
+of these as described in this guide. Skeleton files are created during the
+Shorewall Installation Process.
+
+As each file is introduced, I suggest that you look through the actual
+ file on your system -- each file contains detailed configuration instructions
and some contain default entries.
-
-Shorewall views the network where it is running as being composed of a
- set of zones. In the default installation, the following zone
-names are used:
-
+
+Shorewall views the network where it is running as being composed of a
+ set of zones. In the default installation, the following zone names
+ are used:
+
-
+
+
+ Name |
+ Description |
+
- Name |
- Description |
-
-
- net |
- The Internet |
-
-
- loc |
- Your Local Network |
-
-
- dmz |
- Demilitarized Zone |
-
-
-
+ net |
+ The Internet |
+
+
+ loc |
+ Your Local Network |
+
+
+ dmz |
+ Demilitarized Zone |
+
+
+
-
-Zones are defined in the /etc/shorewall/zones
+
+
Zones are defined in the /etc/shorewall/zones
file.
-
-Shorewall also recognizes the firewall system as its own zone - by default,
- the firewall itself is known as fw but that may be changed in
-the /etc/shorewall/shorewall.conf
-file. In this guide, the default name (fw) will be used.
-
-With the exception of fw, Shorewall attaches absolutely no meaning
- to zone names. Zones are entirely what YOU make of them. That means that
- you should not expect Shorewall to do something special "because this
+
+
Shorewall also recognizes the firewall system as its own zone - by default,
+ the firewall itself is known as fw but that may be changed in the
+ /etc/shorewall/shorewall.conf
+ file. In this guide, the default name (fw) will be used.
+
+With the exception of fw, Shorewall attaches absolutely no meaning
+ to zone names. Zones are entirely what YOU make of them. That means that
+ you should not expect Shorewall to do something special "because this
is the internet zone" or "because that is the DMZ".
-
+
- Edit the /etc/shorewall/zones file and make any changes necessary.
-
-Rules about what traffic to allow and what traffic to deny are expressed
+ Edit the /etc/shorewall/zones file and make any changes necessary.
+
+Rules about what traffic to allow and what traffic to deny are expressed
in terms of zones.
-
+
-
- Shorewall is built on top of the Netfilter
+
+
Shorewall is built on top of the Netfilter
kernel facility. Netfilter implements a connection
- tracking function that allows what is often referred to as stateful
- inspection of packets. This stateful property allows firewall rules
- to be defined in terms of connections rather than in terms of
+ href="http://www.cs.princeton.edu/%7Ejns/security/iptables/iptables_conntrack.html">connection
+ tracking function that allows what is often referred to as stateful
+ inspection of packets. This stateful property allows firewall rules
+ to be defined in terms of connections rather than in terms of
packets. With Shorewall, you:
-
+
- - Identify the source zone.
- - Identify the destination zone.
- - If the POLICY from the client's zone to the server's
-zone is what you want for this client/server pair, you need do nothing
+
- Identify the source zone.
+ - Identify the destination zone.
+ - If the POLICY from the client's zone to the server's
+ zone is what you want for this client/server pair, you need do nothing
further.
- - If the POLICY is not what you want, then you must add
- a rule. That rule is expressed in terms of the client's zone and
+
- If the POLICY is not what you want, then you must add
+ a rule. That rule is expressed in terms of the client's zone and
the server's zone.
-
+
-
- Just because connections of a particular type are allowed from zone
-A to the firewall and are also allowed from the firewall to zone B DOES NOT mean that these connections are allowed
- from zone A to zone B. It rather means that you can
-have a proxy running on the firewall that accepts a connection from
-zone A and then establishes its own separate connection from the firewall
-to zone B.
-
-For each connection request entering the firewall, the request is first
- checked against the /etc/shorewall/rules file. If no rule in that file
- matches the connection request then the first policy in /etc/shorewall/policy
- that matches the request is applied. If that policy is REJECT or DROP
+
+
Just because connections of a particular type are allowed from zone A
+to the firewall and are also allowed from the firewall to zone B DOES NOT mean that these connections are allowed
+ from zone A to zone B. It rather means that you can have
+ a proxy running on the firewall that accepts a connection from zone
+A and then establishes its own separate connection from the firewall to
+zone B.
+
+For each connection request entering the firewall, the request is first
+ checked against the /etc/shorewall/rules file. If no rule in that file
+ matches the connection request then the first policy in /etc/shorewall/policy
+ that matches the request is applied. If that policy is REJECT or DROP
the request is first checked against the rules in /etc/shorewall/common.def.
-
+
The default /etc/shorewall/policy file has the following policies:
-
-
+
+
-
+
+
+ Source Zone |
+ Destination Zone |
+ Policy |
+ Log Level |
+ Limit:Burst |
+
- Source Zone |
- Destination Zone |
- Policy |
- Log Level |
- Limit:Burst |
-
-
- loc |
- net |
- ACCEPT |
- |
- |
-
-
- net |
- all |
- DROP |
- info |
- |
-
-
- all |
- all |
- REJECT |
- info |
- |
-
-
-
+ loc |
+ net |
+ ACCEPT |
+ |
+ |
+
+
+ net |
+ all |
+ DROP |
+ info |
+ |
+
+
+ all |
+ all |
+ REJECT |
+ info |
+ |
+
+
+
-
-
+
+
The above policy will:
-
+
- - allow all connection requests from your local network to the
-internet
- - drop (ignore) all connection requests from the internet to your
- firewall or local network and log a message at the info level
- (here is a description of log levels).
- - reject all other connection requests and log a message at the
- info level. When a request is rejected, the firewall will
- return an RST (if the protocol is TCP) or an ICMP port-unreachable
-packet for other protocols.
-
+ - allow all connection requests from your local network to the
+ internet
+ - drop (ignore) all connection requests from the internet to
+your firewall or local network and log a message at the info
+level (here is a description of log
+levels).
+ - reject all other connection requests and log a message at the
+ info level. When a request is rejected, the firewall will
+ return an RST (if the protocol is TCP) or an ICMP port-unreachable packet
+ for other protocols.
+
-
+
- At this point, edit your /etc/shorewall/policy and make any changes
- that you wish.
-
+ At this point, edit your /etc/shorewall/policy and make any changes
+ that you wish.
+
3.0 Network Interfaces
-
-For the remainder of this guide, we'll refer to the following
- diagram. While it may not look like your own network, it can be used
-to illustrate the important aspects of Shorewall configuration.
-
+
+For the remainder of this guide, we'll refer to the following
+ diagram. While it may not look like your own network, it can be used to
+ illustrate the important aspects of Shorewall configuration.
+
In this diagram:
-
+
- - The DMZ Zone consists of systems DMZ 1 and DMZ 2. A DMZ is used
- to isolate your internet-accessible servers from your local systems so
- that if one of those servers is compromised, you still have the firewall
+
- The DMZ Zone consists of systems DMZ 1 and DMZ 2. A DMZ is
+used to isolate your internet-accessible servers from your local systems
+so that if one of those servers is compromised, you still have the firewall
between the compromised system and your local systems.
- - The Local Zone consists of systems Local 1, Local 2 and Local
+
- The Local Zone consists of systems Local 1, Local 2 and Local
3.
- - All systems from the ISP outward comprise the Internet Zone.
-
-
+ - All systems from the ISP outward comprise the Internet Zone.
+
+
-
+
-
-
-The simplest way to define zones is to simply associate the
- zone name (previously defined in /etc/shorewall/zones) with a network
-interface. This is done in the /etc/shorewall/interfaces
+
+
+The simplest way to define zones is to simply associate the
+ zone name (previously defined in /etc/shorewall/zones) with a network
+interface. This is done in the /etc/shorewall/interfaces
file.
-
-The firewall illustrated above has three network interfaces.
- Where Internet connectivity is through a cable or DSL "Modem", the External
- Interface will be the Ethernet adapter that is connected to that
-"Modem" (e.g., eth0) unless you connect via Point-to-Point
- Protocol over Ethernet (PPPoE) or Point-to-Point
- Tunneling Protocol (PPTP) in which case the External
-Interface will be a ppp interface (e.g., ppp0). If you connect
-via a regular modem, your External Interface will also be ppp0.
-If you connect using ISDN, you external interface will be ippp0.
-
+
+The firewall illustrated above has three network interfaces.
+ Where Internet connectivity is through a cable or DSL "Modem", the External
+ Interface will be the Ethernet adapter that is connected to that "Modem"
+ (e.g., eth0) unless you connect via Point-to-Point
+ Protocol over Ethernet (PPPoE) or Point-to-Point
+ Tunneling Protocol (PPTP) in which case the External
+Interface will be a ppp interface (e.g., ppp0). If you connect via
+a regular modem, your External Interface will also be ppp0. If
+you connect using ISDN, you external interface will be ippp0.
+
- If your external interface is ppp0 or ippp0 then
-you will want to set CLAMPMSS=yes in
-/etc/shorewall/shorewall.conf.
-
-Your Local Interface will be an Ethernet adapter (eth0,
- eth1 or eth2) and will be connected to a hub or switch. Your local computers
- will be connected to the same switch (note: If you have only a single
-local system, you can connect the firewall directly to the computer using
+ If your external interface is ppp0 or ippp0 then
+ you will want to set CLAMPMSS=yes in /etc/shorewall/shorewall.conf.
+
+Your Local Interface will be an Ethernet adapter (eth0,
+ eth1 or eth2) and will be connected to a hub or switch. Your local computers
+ will be connected to the same switch (note: If you have only a single
+local system, you can connect the firewall directly to the computer using
a cross-over cable).
-
-Your DMZ Interface will also be an Ethernet adapter
- (eth0, eth1 or eth2) and will be connected to a hub or switch. Your DMZ
- computers will be connected to the same switch (note: If you have only
-a single DMZ system, you can connect the firewall directly to the computer
+
+
Your DMZ Interface will also be an Ethernet adapter
+ (eth0, eth1 or eth2) and will be connected to a hub or switch. Your DMZ
+ computers will be connected to the same switch (note: If you have only
+a single DMZ system, you can connect the firewall directly to the computer
using a cross-over cable).
-
+
- Do not connect more than one interface to the same hub or
-switch (even for testing). It won't work the way that you expect it to
-and you will end up confused and believing that Linux networking doesn't
+ Do not connect more than one interface to the same hub or
+switch (even for testing). It won't work the way that you expect it to
+and you will end up confused and believing that Linux networking doesn't
work at all.
-
+
For the remainder of this Guide, we will assume that:
-
+
- -
+
-
The external interface is eth0.
-
- -
+
+ -
The Local interface is eth1.
-
- -
+
+ -
The DMZ interface is eth2.
-
-
+
+
-
-The Shorewall default configuration does not define the contents
- of any zone. To define the above configuration using the /etc/shorewall/interfaces
+
+
The Shorewall default configuration does not define the contents
+ of any zone. To define the above configuration using the /etc/shorewall/interfaces
file, that file would might contain:
-
-
+
+
-
+
+
+ Zone |
+ Interface |
+ Broadcast |
+ Options |
+
- Zone |
- Interface |
- Broadcast |
- Options |
-
-
- net |
- eth0 |
- detect |
- norfc1918 |
-
-
- loc |
- eth1 |
- detect |
- |
-
-
- dmz |
- eth2 |
- detect |
- |
-
-
-
+ net |
+ eth0 |
+ detect |
+ norfc1918 |
+
+
+ loc |
+ eth1 |
+ detect |
+ |
+
+
+ dmz |
+ eth2 |
+ detect |
+ |
+
+
+
-
-
+
+
- Edit the /etc/shorewall/interfaces file and define the network
-interfaces on your firewall and associate each interface with a zone. If
-you have a zone that is interfaced through more than one interface, simply
-include one entry for each interface and repeat the zone name as many times
-as necessary.
-
+ Edit the /etc/shorewall/interfaces file and define the network
+ interfaces on your firewall and associate each interface with a zone.
+If you have a zone that is interfaced through more than one interface,
+simply include one entry for each interface and repeat the zone name as
+many times as necessary.
+
Example:
-
-
+
+
-
+
+
+ Zone |
+ Interface |
+ Broadcast |
+ Options |
+
- Zone |
- Interface |
- Broadcast |
- Options |
-
-
- net |
- eth0 |
- detect |
- norfc1918 |
-
-
- loc |
- eth1 |
- detect |
- |
-
-
- loc |
- eth2 |
- detect |
- dhcp |
-
-
-
+ net |
+ eth0 |
+ detect |
+ norfc1918 |
+
+
+ loc |
+ eth1 |
+ detect |
+ |
+
+
+ loc |
+ eth2 |
+ detect |
+ dhcp |
+
+
+
-
-
-
-
When you have more than one interface to a zone, you will
+
+
+
+
When you have more than one interface to a zone, you will
usually want a policy that permits intra-zone traffic:
-
-
-
+
+
+
-
-
- Source Zone |
- Destination Zone |
- Policy |
- Log Level |
- Limit:Burst |
-
+
- loc |
- loc |
- ACCEPT |
- |
- |
-
-
-
+ Source Zone |
+ Destination Zone |
+ Policy |
+ Log Level |
+ Limit:Burst |
+
+
+ loc |
+ loc |
+ ACCEPT |
+ |
+ |
+
+
+
-
-
-
+
+
+
- You may define more complicated zones using the /etc/shorewall/hosts file but in most
+ You may define more complicated zones using the /etc/shorewall/hosts file but in most
cases, that isn't necessary.
-
+
4.0 Addressing, Subnets and Routing
-
-Normally, your ISP will assign you a set of Public
- IP addresses. You will configure your firewall's external interface to
-use one of those addresses permanently and you will then have to decide
-how you are going to use the rest of your addresses. Before we tackle that
+
+
Normally, your ISP will assign you a set of Public
+ IP addresses. You will configure your firewall's external interface to
+use one of those addresses permanently and you will then have to decide
+how you are going to use the rest of your addresses. Before we tackle that
question though, some background is in order.
-
-If you are thoroughly familiar with IP addressing and routing,
+
+
If you are thoroughly familiar with IP addressing and routing,
you may go to the next section.
-
-The following discussion barely scratches the surface of
-addressing and routing. If you are interested in learning more about this
-subject, I highly recommend "IP Fundamentals: What Everyone Needs to
-Know about Addressing & Routing", Thomas A. Maufer, Prentice-Hall,
- 1999, ISBN 0-13-975483-0.
-
+
+The following discussion barely scratches the surface of addressing
+and routing. If you are interested in learning more about this subject,
+I highly recommend "IP Fundamentals: What Everyone Needs to Know about
+Addressing & Routing", Thomas A. Maufer, Prentice-Hall, 1999, ISBN
+0-13-975483-0.
+
4.1 IP Addresses
-
-IP version 4 (IPv4) addresses are 32-bit numbers.
- The notation w.x.y.z refers to an address where the high-order byte has
- value "w", the next byte has value "x", etc. If we take the address 192.0.2.14
+
+
IP version 4 (IPv4) addresses are 32-bit numbers.
+ The notation w.x.y.z refers to an address where the high-order byte has
+ value "w", the next byte has value "x", etc. If we take the address 192.0.2.14
and express it in hexadecimal, we get:
-
-
+
+
C0.00.02.0E
-
-
+
+
or looking at it as a 32-bit integer
-
-
+
+
C000020E
-
-
+
+
4.2 Subnets
-
-You will still hear the terms "Class A network", "Class B
- network" and "Class C network". In the early days of IP, networks only
- came in three sizes (there were also Class D networks but they were used
+
+
You will still hear the terms "Class A network", "Class B
+ network" and "Class C network". In the early days of IP, networks only
+ came in three sizes (there were also Class D networks but they were used
differently):
-
-
+
+
Class A - netmask 255.0.0.0, size = 2 ** 24
-
+
Class B - netmask 255.255.0.0, size = 2 ** 16
-
+
Class C - netmask 255.255.255.0, size = 256
-
-
-The class of a network was uniquely determined by the value
- of the high order byte of its address so you could look at an IP address
- and immediately determine the associated netmask. The netmask
-is a number that when logically ANDed with an address isolates the network
- number; the remainder of the address is the host number. For
- example, in the Class C address 192.0.2.14, the network number is hex
-C00002 and the host number is hex 0E.
-
-As the internet grew, it became clear that such a gross partitioning
-of the 32-bit address space was going to be very limiting (early on, large
-corporations and universities were assigned their own class A network!).
-After some false starts, the current technique of subnetting these
-networks into smaller subnetworks evolved; that technique is referred
-to as Classless InterDomain Routing (CIDR). Today, any system that
- you are likely to work with will understand CIDR and Class-based networking
+
+
+The class of a network was uniquely determined by the value
+ of the high order byte of its address so you could look at an IP address
+ and immediately determine the associated netmask. The netmask is
+ a number that when logically ANDed with an address isolates the network
+ number; the remainder of the address is the host number. For
+ example, in the Class C address 192.0.2.14, the network number is hex C00002
+ and the host number is hex 0E.
+
+As the internet grew, it became clear that such a gross
+partitioning of the 32-bit address space was going to be very limiting (early
+ on, large corporations and universities were assigned their own class A
+ network!). After some false starts, the current technique of subnetting
+ these networks into smaller subnetworks evolved; that technique is
+referred to as Classless InterDomain Routing (CIDR). Today, any system
+that you are likely to work with will understand CIDR and Class-based networking
is largely a thing of the past.
-
-A subnetwork (often referred to as a subnet) is
+
+
A subnetwork (often referred to as a subnet) is
a contiguous set of IP addresses such that:
-
+
- -
+
-
The number of addresses in the set is a power of 2; and
-
- -
-
The first address in the set is a multiple of the set
+
+ -
+
The first address in the set is a multiple of the set
size.
-
- -
-
The first address in the subnet is reserved and is referred
+
+ -
+
The first address in the subnet is reserved and is referred
to as the subnet address.
-
- -
-
The last address in the subnet is reserved as the subnet's
+
+ -
+
The last address in the subnet is reserved as the subnet's
broadcast address.
-
-
+
+
-
-As you can see by this definition, in each subnet of size
- n there are (n - 2) usable addresses (addresses that
-can be assigned to hosts). The first and last address in the subnet
-are used for the subnet address and subnet broadcast address respectively.
-Consequently, small subnetworks are more wasteful of IP addresses than
+
+
As you can see by this definition, in each subnet of size
+ n there are (n - 2) usable addresses (addresses that can
+ be assigned to hosts). The first and last address in the subnet are
+used for the subnet address and subnet broadcast address respectively.
+Consequently, small subnetworks are more wasteful of IP addresses than
are large ones.
-
-Since n is a power of two, we can easily calculate
- the Natural Logarithm (log2) of n. For the more
-common subnet sizes, the size and its natural logarithm are given in the
+
+
Since n is a power of two, we can easily calculate
+ the Natural Logarithm (log2) of n. For the more
+common subnet sizes, the size and its natural logarithm are given in the
following table:
-
-
+
+
-
+
+
+ n |
+ log2 n |
+ (32 - log2 n) |
+
- n |
- log2 n |
- (32 - log2 n) |
-
-
- 8 |
- 3 |
- 29 |
-
-
- 16 |
- 4 |
- 28 |
-
-
- 32 |
- 5 |
- 27 |
-
-
- 64 |
- 6 |
- 26 |
-
-
- 128 |
- 7 |
- 25 |
-
-
- 256 |
- 8 |
- 24 |
-
-
- 512 |
- 9 |
- 23 |
-
-
- 1024 |
- 10 |
- 22 |
-
-
- 2048 |
- 11 |
- 21 |
-
-
- 4096 |
- 12 |
- 20 |
-
-
- 8192 |
- 13 |
- 19 |
-
-
- 16384 |
- 14 |
- 18 |
-
-
- 32768 |
- 15 |
- 17 |
-
-
- 65536 |
- 16 |
- 16 |
-
-
-
+ 8 |
+ 3 |
+ 29 |
+
+
+ 16 |
+ 4 |
+ 28 |
+
+
+ 32 |
+ 5 |
+ 27 |
+
+
+ 64 |
+ 6 |
+ 26 |
+
+
+ 128 |
+ 7 |
+ 25 |
+
+
+ 256 |
+ 8 |
+ 24 |
+
+
+ 512 |
+ 9 |
+ 23 |
+
+
+ 1024 |
+ 10 |
+ 22 |
+
+
+ 2048 |
+ 11 |
+ 21 |
+
+
+ 4096 |
+ 12 |
+ 20 |
+
+
+ 8192 |
+ 13 |
+ 19 |
+
+
+ 16384 |
+ 14 |
+ 18 |
+
+
+ 32768 |
+ 15 |
+ 17 |
+
+
+ 65536 |
+ 16 |
+ 16 |
+
+
+
-
-
-You will notice that the above table also contains a column
- for (32 - log2 n). That number is the Variable Length Subnet
- Mask for a network of size n. From the above table, we can
+
+
+You will notice that the above table also contains a column
+ for (32 - log2 n). That number is the Variable Length Subnet
+ Mask for a network of size n. From the above table, we can
derive the following one which is a little easier to use.
-
-
+
+
-
+
+
+ Size of Subnet |
+ VLSM |
+ Subnet Mask |
+
- Size of Subnet |
- VLSM |
- Subnet Mask |
-
-
- 8 |
- /29 |
- 255.255.255.248 |
-
-
- 16 |
- /28 |
- 255.255.255.240 |
-
-
- 32 |
- /27 |
- 255.255.255.224 |
-
-
- 64 |
- /26 |
- 255.255.255.192 |
-
-
- 128 |
- /25 |
- 255.255.255.128 |
-
-
- 256 |
- /24 |
- 255.255.255.0 |
-
-
- 512 |
- /23 |
- 255.255.254.0 |
-
-
- 1024 |
- /22 |
- 255.255.252.0 |
-
-
- 2048 |
- /21 |
- 255.255.248.0 |
-
-
- 4096 |
- /20 |
- 255.255.240.0 |
-
-
- 8192 |
- /19 |
- 255.255.224.0 |
-
-
- 16384 |
- /18 |
- 255.255.192.0 |
-
-
- 32768 |
- /17 |
- 255.255.128.0 |
-
-
- 65536 |
- /16 |
- 255.255.0.0 |
-
-
- 2 ** 24 |
- /8 |
- 255.0.0.0 |
-
-
-
+ 8 |
+ /29 |
+ 255.255.255.248 |
+
+
+ 16 |
+ /28 |
+ 255.255.255.240 |
+
+
+ 32 |
+ /27 |
+ 255.255.255.224 |
+
+
+ 64 |
+ /26 |
+ 255.255.255.192 |
+
+
+ 128 |
+ /25 |
+ 255.255.255.128 |
+
+
+ 256 |
+ /24 |
+ 255.255.255.0 |
+
+
+ 512 |
+ /23 |
+ 255.255.254.0 |
+
+
+ 1024 |
+ /22 |
+ 255.255.252.0 |
+
+
+ 2048 |
+ /21 |
+ 255.255.248.0 |
+
+
+ 4096 |
+ /20 |
+ 255.255.240.0 |
+
+
+ 8192 |
+ /19 |
+ 255.255.224.0 |
+
+
+ 16384 |
+ /18 |
+ 255.255.192.0 |
+
+
+ 32768 |
+ /17 |
+ 255.255.128.0 |
+
+
+ 65536 |
+ /16 |
+ 255.255.0.0 |
+
+
+ 2 ** 24 |
+ /8 |
+ 255.0.0.0 |
+
+
+
-
-
-Notice that the VLSM is written with a slash ("/") -- you
- will often hear a subnet of size 64 referred to as a "slash 26" subnet
+
+
+Notice that the VLSM is written with a slash ("/") -- you
+ will often hear a subnet of size 64 referred to as a "slash 26" subnet
and one of size 8 referred to as a "slash 29".
-
-The subnet's mask (also referred to as its netmask) is
- simply a 32-bit number with the first "VLSM" bits set to one and the
- remaining bits set to zero. For example, for a subnet of size 64, the
+
+
The subnet's mask (also referred to as its netmask) is
+ simply a 32-bit number with the first "VLSM" bits set to one and the
+ remaining bits set to zero. For example, for a subnet of size 64, the
subnet mask has 26 leading one bits:
-
-
- 11111111111111111111111111000000 = FFFFFFC0 = FF.FF.FF.C0
+
+
+ 11111111111111111111111111000000 = FFFFFFC0 = FF.FF.FF.C0
= 255.255.255.192
-
-
-The subnet mask has the property that if you logically AND
- the subnet mask with an address in the subnet, the result is the subnet
- address. Just as important, if you logically AND the subnet mask with
- an address outside the subnet, the result is NOT the subnet address.
-As we will see below, this property of subnet masks is very useful in
+
+
+The subnet mask has the property that if you logically AND
+ the subnet mask with an address in the subnet, the result is the subnet
+ address. Just as important, if you logically AND the subnet mask with
+ an address outside the subnet, the result is NOT the subnet address.
+As we will see below, this property of subnet masks is very useful in
routing.
-
-For a subnetwork whose address is a.b.c.d and whose
- Variable Length Subnet Mask is /v, we denote the subnetwork
-as "a.b.c.d/v" using CIDR Notation.
-
+
+For a subnetwork whose address is a.b.c.d and whose
+ Variable Length Subnet Mask is /v, we denote the subnetwork as
+ "a.b.c.d/v" using CIDR Notation.
+
Example:
-
-
+
+
-
-
- Subnet: |
- 10.10.10.0 - 10.10.10.127 |
-
+
- Subnet Size: |
- 128 |
-
-
- Subnet Address: |
- 10.10.10.0 |
-
-
- Broadcast Address: |
- 10.10.10.127 |
-
-
- CIDR Notation: |
- 10.10.10.0/25 |
-
-
-
+ Subnet: |
+ 10.10.10.0 - 10.10.10.127 |
+
+
+ Subnet Size: |
+ 128 |
+
+
+ Subnet Address: |
+ 10.10.10.0 |
+
+
+ Broadcast Address: |
+ 10.10.10.127 |
+
+
+ CIDR Notation: |
+ 10.10.10.0/25 |
+
+
+
-
-
-There are two degenerate subnets that need mentioning; namely,
+
+
+There are two degenerate subnets that need mentioning; namely,
the subnet with one member and the subnet with 2 ** 32 members.
-
-
+
+
-
+
+
+ Size of Subnetwork |
+ VLSM Length |
+ Subnet Mask |
+ CIDR Notation |
+
- Size of Subnetwork |
- VLSM Length |
- Subnet Mask |
- CIDR Notation |
-
-
- 1 |
- 32 |
- 255.255.255.255 |
- a.b.c.d/32 |
-
-
- 2 ** 32 |
- 0 |
- 0.0.0.0 |
- 0.0.0.0/0 |
-
-
-
+ 1 |
+ 32 |
+ 255.255.255.255 |
+ a.b.c.d/32 |
+
+
+ 2 ** 32 |
+ 0 |
+ 0.0.0.0 |
+ 0.0.0.0/0 |
+
+
+
-
-
-So any address a.b.c.d may also be written a.b.c.d/32
- and the set of all possible IP addresses is written 0.0.0.0/0.
-
-Later in this guide, you will see the notation a.b.c.d/v
- used to describe the ip configuration of a network interface (the 'ip'
- utility also uses this syntax). This simply means that the interface is
- configured with ip address a.b.c.d and with the netmask that corresponds
- to VLSM /v.
-
-Example: 192.0.2.65/29
-
- The interface is configured with IP address 192.0.2.65
- and netmask 255.255.255.248.
-
-4.3 Routing
-
-One of the purposes of subnetting is that it forms the basis
- for routing. Here's the routing table on my firewall:
-
-
-
- [root@gateway root]# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.9.1 0.0.0.0 255.255.255.255 UH 40 0 0 texas
206.124.146.177 0.0.0.0 255.255.255.255 UH 40 0 0 eth1
206.124.146.180 0.0.0.0 255.255.255.255 UH 40 0 0 eth3
192.168.3.0 0.0.0.0 255.255.255.0 U 40 0 0 eth3
192.168.2.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth2
206.124.146.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0
192.168.9.0 192.0.2.223 255.255.255.0 UG 40 0 0 texas
127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo
0.0.0.0 206.124.146.254 0.0.0.0 UG 40 0 0 eth0
[root@gateway root]#
-
-
-
-The device texas is a GRE tunnel to a peer site in
- the Dallas, Texas area.
-
- The first three routes are host routes since they indicate
-how to get to a single host. In the 'netstat' output this can be seen
-by the "Genmask" (Subnet Mask) of 255.255.255.255 and the "H" in the
-Flags column. The remainder are 'net' routes since they tell the kernel
-how to route packets to a subnetwork. The last route is the default
- route and the gateway mentioned in that route is called the default
- gateway.
-
-When the kernel is trying to send a packet to IP address
-A, it starts at the top of the routing table and:
-
-
- -
-
A is logically ANDed with the 'Genmask' value
-in the table entry.
-
- -
-
The result is compared with the 'Destination' value in
- the table entry.
-
- -
-
If the result and the 'Destination' value are the same,
- then:
-
-
- -
-
If the 'Gateway' column is non-zero, the packet is
- sent to the gateway over the interface named in the 'Iface' column.
-
- -
-
Otherwise, the packet is sent directly to A over
- the interface named in the 'iface' column.
-
-
-
-
- -
-
Otherwise, the above steps are repeated on the next entry
- in the table.
-
-
-
-
-Since the default route matches any IP address (A
-land 0.0.0.0 = 0.0.0.0), packets that don't match any of the other routing
-table entries are sent to the default gateway which is usually a
-router at your ISP.
-
-Lets take an example. Suppose that we want to route a packet
- to 192.168.1.5. That address clearly doesn't match any of the host routes
- in the table but if we logically and that address with 255.255.255.0,
-the result is 192.168.1.0 which matches this routing table entry:
-
-
-
- 192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth2
-
+
+
+
So any address a.b.c.d may also be written a.b.c.d/32
+ and the set of all possible IP addresses is written 0.0.0.0/0.
+
+
Later in this guide, you will see the notation a.b.c.d/v
+ used to describe the ip configuration of a network interface (the 'ip'
+ utility also uses this syntax). This simply means that the interface is
+ configured with ip address a.b.c.d and with the netmask that corresponds
+ to VLSM /v.
+
+
Example: 192.0.2.65/29
+
+
The interface is configured with IP address 192.0.2.65
+ and netmask 255.255.255.248.
+
+
4.3 Routing
+
+
One of the purposes of subnetting is that it forms the basis
+ for routing. Here's the routing table on my firewall:
+
+
+
+ [root@gateway root]# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.9.1 0.0.0.0 255.255.255.255 UH 40 0 0 texas
206.124.146.177 0.0.0.0 255.255.255.255 UH 40 0 0 eth1
206.124.146.180 0.0.0.0 255.255.255.255 UH 40 0 0 eth3
192.168.3.0 0.0.0.0 255.255.255.0 U 40 0 0 eth3
192.168.2.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth2
206.124.146.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0
192.168.9.0 192.0.2.223 255.255.255.0 UG 40 0 0 texas
127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo
0.0.0.0 206.124.146.254 0.0.0.0 UG 40 0 0 eth0
[root@gateway root]#
+
+
+
+
The device texas is a GRE tunnel to a peer site in
+ the Dallas, Texas area.
+
+ The first three routes are host routes since they indicate
+how to get to a single host. In the 'netstat' output this can be seen
+by the "Genmask" (Subnet Mask) of 255.255.255.255 and the "H" in the Flags
+column. The remainder are 'net' routes since they tell the kernel how
+to route packets to a subnetwork. The last route is the default route
+and the gateway mentioned in that route is called the default gateway.
+
+
When the kernel is trying to send a packet to IP address A,
+ it starts at the top of the routing table and:
-
So to route a packet to 192.168.1.5, the packet is sent directly over
-eth2.
-
-
-One more thing needs to be emphasized -- all outgoing packet
- are sent using the routing table and reply packets are not a special
-case. There seems to be a common mis-conception whereby people think
-that request packets are like salmon and contain a genetic code that
-is magically transferred to reply packets so that the replies follow
-the reverse route taken by the request. That isn't the case; the replies
-may take a totally different route back to the client than was taken by
-the requests -- they are totally independent.
-
-4.4 Address Resolution Protocol
-
-When sending packets over Ethernet, IP addresses aren't used.
- Rather Ethernet addressing is based on Media Access Control (MAC)
- addresses. Each Ethernet device has it's own unique MAC address which
- is burned into a PROM on the device during manufacture. You can obtain
-the MAC of an Ethernet device using the 'ip' utility:
-
-
-
-
[root@gateway root]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb qlen 100
link/ether 02:00:08:e3:fa:55 brd ff:ff:ff:ff:ff:ff
inet 206.124.146.176/24 brd 206.124.146.255 scope global eth0
inet 206.124.146.178/24 brd 206.124.146.255 scope global secondary eth0
inet 206.124.146.179/24 brd 206.124.146.255 scope global secondary eth0
[root@gateway root]#
-
-
-
-
-
As you can see from the above output, the MAC is 6 bytes
-(48 bits) wide. A card's MAC is usually also printed on a label attached
-to the card itself.
-
-
-
-
Because IP uses IP addresses and Ethernet uses MAC addresses,
- a mechanism is required to translate an IP address into a MAC address;
- that is the purpose of the Address Resolution Protocol (ARP).
- Here is ARP in action:
-
-
-
-
-
-
[root@gateway root]# tcpdump -nei eth2 arp
tcpdump: listening on eth2
09:56:49.766757 2:0:8:e3:4c:48 0:6:25:aa:8a:f0 arp 42: arp who-has 192.168.1.19 tell 192.168.1.254
09:56:49.769372 0:6:25:aa:8a:f0 2:0:8:e3:4c:48 arp 60: arp reply 192.168.1.19 is-at 0:6:25:aa:8a:f0
2 packets received by filter
0 packets dropped by kernel
[root@gateway root]#
-
-
-
-
-In this exchange, 192.168.1.254 (MAC 2:0:8:e3:4c:48) wants
- to know the MAC of the device with IP address 192.168.1.19. The system
- having that IP address is responding that the MAC address of the device
- with IP address 192.168.1.19 is 0:6:25:aa:8a:f0.
-
-In order to avoid having to exchange ARP information each
- time that an IP packet is to be sent, systems maintain an ARP cache
- of IP<->MAC correspondences. You can see the ARP cache on your
-system (including your Windows system) using the 'arp' command:
-
-
-
-
[root@gateway root]# arp -na
? (206.124.146.177) at 00:A0:C9:15:39:78 [ether] on eth1
? (192.168.1.3) at 00:A0:CC:63:66:89 [ether] on eth2
? (192.168.1.5) at 00:A0:CC:DB:31:C4 [ether] on eth2
? (206.124.146.254) at 00:03:6C:8A:18:38 [ether] on eth0
? (192.168.1.19) at 00:06:25:AA:8A:F0 [ether] on eth2
-
-
-
-The leading question marks are a result of my having specified
- the 'n' option (Windows 'arp' doesn't allow that option) which causes
-the 'arp' program to forego IP->DNS name translation. Had I not given
-that option, the question marks would have been replaced with the FQDN
-corresponding to each IP address. Notice that the last entry in the table
-records the information we saw using tcpdump above.
-
-4.5 RFC 1918
-
-IP addresses are allocated by the Internet Assigned Number Authority (IANA)
- who delegates allocations on a geographic basis to Regional Internet
- Registries (RIRs). For example, allocation for the Americas and for
- sub-Sahara Africa is delegated to the American
- Registry for Internet Numbers (ARIN). These RIRs may in turn
-delegate to national registries. Most of us don't deal with these registrars
-but rather get our IP addresses from our ISP.
-
-It's a fact of life that most of us can't afford as many
-Public IP addresses as we have devices to assign them to so we end up making
-use of Private IP addresses. RFC 1918 reserves several IP address
-ranges for this purpose:
-
-
-
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
-
-
-
-
The addresses reserved by RFC 1918 are sometimes referred
- to as non-routable because the Internet backbone routers don't
- forward packets which have an RFC-1918 destination address. This is
-understandable given that anyone can select any of these addresses
-for their private use.
-
-
-
-
When selecting addresses from these ranges, there's a couple
- of things to keep in mind:
-
-
-
- -
-
As the IPv4 address space becomes depleted, more and
-more organizations (including ISPs) are beginning to use RFC 1918 addresses
- in their infrastructure.
-
- -
-
You don't want to use addresses that are being used by
- your ISP or by another organization with whom you want to establish
- a VPN relationship.
-
-
+ -
+
A is logically ANDed with the 'Genmask' value in
+the table entry.
+
+ -
+
The result is compared with the 'Destination' value in
+ the table entry.
+
+ -
+
If the result and the 'Destination' value are the same,
+ then:
+
+
+ -
+
+
If the 'Gateway' column is non-zero, the packet is
+ sent to the gateway over the interface named in the 'Iface' column.
+
+ -
+
+
Otherwise, the packet is sent directly to A over
+ the interface named in the 'iface' column.
+
+
+
+
+ -
+
Otherwise, the above steps are repeated on the next entry
+ in the table.
+
+
+
+
Since the default route matches any IP address (A land
+ 0.0.0.0 = 0.0.0.0), packets that don't match any of the other routing table
+ entries are sent to the default gateway which is usually a router
+at your ISP.
+
+
Lets take an example. Suppose that we want to route a packet
+ to 192.168.1.5. That address clearly doesn't match any of the host routes
+ in the table but if we logically and that address with 255.255.255.0,
+the result is 192.168.1.0 which matches this routing table entry:
+
+
+
+ 192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth2
+
+
+
So to route a packet to 192.168.1.5, the packet is sent directly over eth2.
+
+
One more thing needs to be emphasized -- all outgoing packet
+ are sent using the routing table and reply packets are not a special case.
+ There seems to be a common mis-conception whereby people think that request
+ packets are like salmon and contain a genetic code that is magically
+transferred to reply packets so that the replies follow the reverse route
+taken by the request. That isn't the case; the replies may take a totally
+different route back to the client than was taken by the requests -- they
+are totally independent.
+
+
4.4 Address Resolution Protocol
+
+
When sending packets over Ethernet, IP addresses aren't used.
+ Rather Ethernet addressing is based on Media Access Control (MAC)
+ addresses. Each Ethernet device has it's own unique MAC address which
+ is burned into a PROM on the device during manufacture. You can obtain
+the MAC of an Ethernet device using the 'ip' utility:
+
+
+
+
[root@gateway root]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb qlen 100
link/ether 02:00:08:e3:fa:55 brd ff:ff:ff:ff:ff:ff
inet 206.124.146.176/24 brd 206.124.146.255 scope global eth0
inet 206.124.146.178/24 brd 206.124.146.255 scope global secondary eth0
inet 206.124.146.179/24 brd 206.124.146.255 scope global secondary eth0
[root@gateway root]#
+
+
+
+
+
As you can see from the above output, the MAC is 6 bytes (48
+ bits) wide. A card's MAC is usually also printed on a label attached to
+the card itself.
+
+
+
+
Because IP uses IP addresses and Ethernet uses MAC addresses,
+ a mechanism is required to translate an IP address into a MAC address;
+ that is the purpose of the Address Resolution Protocol (ARP).
+ Here is ARP in action:
+
+
+
+
+
+
[root@gateway root]# tcpdump -nei eth2 arp
tcpdump: listening on eth2
09:56:49.766757 2:0:8:e3:4c:48 0:6:25:aa:8a:f0 arp 42: arp who-has 192.168.1.19 tell 192.168.1.254
09:56:49.769372 0:6:25:aa:8a:f0 2:0:8:e3:4c:48 arp 60: arp reply 192.168.1.19 is-at 0:6:25:aa:8a:f0
2 packets received by filter
0 packets dropped by kernel
[root@gateway root]#
+
+
+
+
+
In this exchange, 192.168.1.254 (MAC 2:0:8:e3:4c:48) wants
+ to know the MAC of the device with IP address 192.168.1.19. The system
+ having that IP address is responding that the MAC address of the device
+ with IP address 192.168.1.19 is 0:6:25:aa:8a:f0.
+
+
In order to avoid having to exchange ARP information each
+ time that an IP packet is to be sent, systems maintain an ARP cache
+ of IP<->MAC correspondences. You can see the ARP cache on your system
+ (including your Windows system) using the 'arp' command:
+
+
+
+
[root@gateway root]# arp -na
? (206.124.146.177) at 00:A0:C9:15:39:78 [ether] on eth1
? (192.168.1.3) at 00:A0:CC:63:66:89 [ether] on eth2
? (192.168.1.5) at 00:A0:CC:DB:31:C4 [ether] on eth2
? (206.124.146.254) at 00:03:6C:8A:18:38 [ether] on eth0
? (192.168.1.19) at 00:06:25:AA:8A:F0 [ether] on eth2
+
+
+
+
The leading question marks are a result of my having specified
+ the 'n' option (Windows 'arp' doesn't allow that option) which causes
+the 'arp' program to forego IP->DNS name translation. Had I not given
+that option, the question marks would have been replaced with the FQDN
+corresponding to each IP address. Notice that the last entry in the table
+records the information we saw using tcpdump above.
+
+
4.5 RFC 1918
+
+
IP addresses are allocated by the Internet Assigned Number Authority (IANA)
+ who delegates allocations on a geographic basis to Regional Internet
+ Registries (RIRs). For example, allocation for the Americas and for
+ sub-Sahara Africa is delegated to the American
+ Registry for Internet Numbers (ARIN). These RIRs may in turn delegate
+ to national registries. Most of us don't deal with these registrars but
+ rather get our IP addresses from our ISP.
+
+
It's a fact of life that most of us can't afford as many Public
+ IP addresses as we have devices to assign them to so we end up making use
+of Private IP addresses. RFC 1918 reserves several IP address ranges
+for this purpose:
+
+
+
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
+
+
+
+
The addresses reserved by RFC 1918 are sometimes referred
+ to as non-routable because the Internet backbone routers don't
+ forward packets which have an RFC-1918 destination address. This is understandable
+ given that anyone can select any of these addresses for their private
+ use.
+
+
+
+
When selecting addresses from these ranges, there's a couple
+ of things to keep in mind:
+
+
+
+
+ -
+
As the IPv4 address space becomes depleted, more and more
+ organizations (including ISPs) are beginning to use RFC 1918 addresses
+ in their infrastructure.
+
+ -
+
You don't want to use addresses that are being used by
+ your ISP or by another organization with whom you want to establish
+ a VPN relationship.
+
-
-
So it's a good idea to check with your ISP to see if they
- are using (or are planning to use) private addresses before you decide
+
+
+
+
+
So it's a good idea to check with your ISP to see if they
+ are using (or are planning to use) private addresses before you decide
the addresses that you are going to use.
-
-
-
+
+
+
5.0 Setting up your Network
-
-
-
-
The choice of how to set up your network depends primarily
- on how many Public IP addresses you have vs. how many addressable entities
- you have in your network. Regardless of how many addresses you have,
+
+
+
+
The choice of how to set up your network depends primarily
+ on how many Public IP addresses you have vs. how many addressable entities
+ you have in your network. Regardless of how many addresses you have,
your ISP will handle that set of addresses in one of two ways:
-
-
-
-
- -
-
Routed - Traffic to any of your addresses will
- be routed through a single gateway address. This will generally
- only be done if your ISP has assigned you a complete subnet (/29 or
-larger). In this case, you will assign the gateway address as the IP
-address of your firewall/router's external interface.
-
- -
-
Non-routed - Your ISP will send traffic to each
- of your addresses directly.
-
-
-
+
+
+
+ -
+
Routed - Traffic to any of your addresses will
+ be routed through a single gateway address. This will generally
+ only be done if your ISP has assigned you a complete subnet (/29 or
+larger). In this case, you will assign the gateway address as the IP
+address of your firewall/router's external interface.
+
+ -
+
Non-routed - Your ISP will send traffic to each
+ of your addresses directly.
+
-
-
In the subsections that follow, we'll look at each of these
+
+
+
+
+
In the subsections that follow, we'll look at each of these
separately.
-
-
+
+
Before we begin, there is one thing for you to check:
-
+
- If you are using the Debian package, please check your shorewall.conf
- file to ensure that the following are set correctly; if they are not, change
- them appropriately:
-
-
+ If you are using the Debian package, please check your shorewall.conf
+ file to ensure that the following are set correctly; if they are not,
+change them appropriately:
+
+
- - NAT_ENABLED=Yes
- - IP_FORWARDING=On
-
-
+ - NAT_ENABLED=Yes
+ - IP_FORWARDING=On
+
+
-
-
-
-
-
-
Let's assume that your ISP has assigned you the subnet
- 192.0.2.64/28 routed through 192.0.2.65. That means that you have IP addresses
- 192.0.2.64 - 192.0.2.79 and that your firewall's external IP address
- is 192.0.2.65. Your ISP has also told you that you should use a netmask
- of 255.255.255.0 (so your /28 is part of a larger /24). With this many
- IP addresses, you are able to subnet your /28 into two /29's and set
+
+
+
+
+
Let's assume that your ISP has assigned you the subnet
+192.0.2.64/28 routed through 192.0.2.65. That means that you have IP addresses
+ 192.0.2.64 - 192.0.2.79 and that your firewall's external IP address
+ is 192.0.2.65. Your ISP has also told you that you should use a netmask
+ of 255.255.255.0 (so your /28 is part of a larger /24). With this many
+ IP addresses, you are able to subnet your /28 into two /29's and set
up your network as shown in the following diagram.
-
-
-
+
+
+
-
-
-
-
-
Here, the DMZ comprises the subnet 192.0.2.64/29 and the
-Local network is 192.0.2.72/29. The default gateway for hosts in the DMZ
-would be configured to 192.0.2.66 and the default gateway for hosts in
-the local network would be 192.0.2.73.
-
-
-
-
Notice that this arrangement is rather wasteful of public
- IP addresses since it is using 192.0.2.64 and 192.0.2.72 for subnet
-addresses, 192.0.2.71 and 192.0.2.79 for subnet broadcast addresses
-and 192.0.2.66 and 168.0.2.73 for internal addresses on the firewall/router.
-Nevertheless, it shows how subnetting can work and if we were dealing
-with a /24 rather than a /28 network, the use of 6 IP addresses out
-of 256 would be justified because of the simplicity of the setup.
-
-
-
-
The astute reader may have noticed that the Firewall/Router's
- external interface is actually part of the DMZ subnet (192.0.2.64/29).
- What if DMZ 1 (192.0.2.67) tries to communicate with 192.0.2.65? The
+
+
+
+
+
Here, the DMZ comprises the subnet 192.0.2.64/29 and the Local
+ network is 192.0.2.72/29. The default gateway for hosts in the DMZ would
+be configured to 192.0.2.66 and the default gateway for hosts in the local
+ network would be 192.0.2.73.
+
+
+
+
Notice that this arrangement is rather wasteful of public
+ IP addresses since it is using 192.0.2.64 and 192.0.2.72 for subnet
+addresses, 192.0.2.71 and 192.0.2.79 for subnet broadcast addresses and
+192.0.2.66 and 168.0.2.73 for internal addresses on the firewall/router.
+Nevertheless, it shows how subnetting can work and if we were dealing
+with a /24 rather than a /28 network, the use of 6 IP addresses out of
+256 would be justified because of the simplicity of the setup.
+
+
+
+
The astute reader may have noticed that the Firewall/Router's
+ external interface is actually part of the DMZ subnet (192.0.2.64/29).
+ What if DMZ 1 (192.0.2.67) tries to communicate with 192.0.2.65? The
routing table on DMZ 1 will look like this:
-
-
-
+
+
+
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.0.2.64 0.0.0.0 255.255.255.248 U 40 0 0 eth0
0.0.0.0 192.0.2.66 0.0.0.0 UG 40 0 0 eth0
-
-
-
-
-
This means that DMZ 1 will send an ARP "who-has 192.0.2.65"
- request and no device on the DMZ Ethernet segment has that IP address.
- Oddly enough, the firewall will respond to the request with the MAC
-address of its DMZ Interface!! DMZ 1 can then send Ethernet frames
-addressed to that MAC address and the frames will be received (correctly)
+
+
+
+
+
This means that DMZ 1 will send an ARP "who-has 192.0.2.65"
+ request and no device on the DMZ Ethernet segment has that IP address.
+ Oddly enough, the firewall will respond to the request with the MAC
+address of its DMZ Interface!! DMZ 1 can then send Ethernet frames
+addressed to that MAC address and the frames will be received (correctly)
by the firewall/router.
-
-
-
-
It is this rather unexpected ARP behavior on the part of
-the Linux Kernel that prompts the warning earlier in this guide regarding
-the connecting of multiple firewall/router interfaces to the same hub
-or switch. When an ARP request for one of the firewall/router's IP addresses
-is sent by another system connected to the hub/switch, all of the firewall's
- interfaces that connect to the hub/switch can respond! It is then a
+
+
+
+
It is this rather unexpected ARP behavior on the part of the
+ Linux Kernel that prompts the warning earlier in this guide regarding the
+ connecting of multiple firewall/router interfaces to the same hub or switch.
+ When an ARP request for one of the firewall/router's IP addresses is sent
+by another system connected to the hub/switch, all of the firewall's
+ interfaces that connect to the hub/switch can respond! It is then a
race as to which "here-is" response reaches the sender first.
-
-
-
+
+
+
-
-
-
If you have the above situation but it is non-routed,
-you can configure your network exactly as described above with one additional
- twist; simply specify the "proxyarp" option on all three firewall interfaces
+
+
+
+
If you have the above situation but it is non-routed, you
+can configure your network exactly as described above with one additional
+ twist; simply specify the "proxyarp" option on all three firewall interfaces
in the /etc/shorewall/interfaces file.
-
-
-
-
Most of us don't have the luxury of having enough public
-IP addresses to set up our networks as shown in the preceding example
-(even if the setup is routed).
-
-
-
-
For the remainder of this section, assume that your ISP
- has assigned you IP addresses 192.0.2.176-180 and has told you to use
+
+
+
+
Most of us don't have the luxury of having enough public IP
+ addresses to set up our networks as shown in the preceding example (even
+if the setup is routed).
+
+
+
+
For the remainder of this section, assume that your ISP
+ has assigned you IP addresses 192.0.2.176-180 and has told you to use
netmask 255.255.255.0 and default gateway 192.0.2.254.
-
-
-
-
Clearly, that set of addresses doesn't comprise a subnetwork
- and there aren't enough addresses for all of the network interfaces.
- There are four different techniques that can be used to work around
-this problem.
-
-
-
+
+
+
+
Clearly, that set of addresses doesn't comprise a subnetwork
+ and there aren't enough addresses for all of the network interfaces.
+ There are four different techniques that can be used to work around this
+ problem.
+
+
+
- -
-
Source Network Address Translation (SNAT).
-
-
- -
-
Destination Network Address Translation (DNAT)
+
-
+
Source Network Address Translation (SNAT).
+
+
+ -
+
Destination Network Address Translation (DNAT)
also known as Port Forwarding.
-
- -
+
+ -
Proxy ARP.
-
- -
-
Network Address Translation (NAT) also referred
+
+ -
+
Network Address Translation (NAT) also referred
to as Static NAT.
-
-
+
+
+
+
+
+
Often a combination of these techniques is used. Each of these
+ will be discussed in the sections that follow.
-
-
-
Often a combination of these techniques is used. Each of
-these will be discussed in the sections that follow.
-
-
-
+
+
+
+
+
With SNAT, an internal LAN segment is configured using RFC
+ 1918 addresses. When a host A on this internal segment initiates
+ a connection to host B on the internet, the firewall/router rewrites
+ the IP header in the request to use one of your public IP addresses
+as the source address. When B responds and the response is received
+ by the firewall, the firewall changes the destination address back
+to the RFC 1918 address of A and forwards the response back to
+A.
-
-
-
With SNAT, an internal LAN segment is configured using RFC
- 1918 addresses. When a host A on this internal segment initiates
- a connection to host B on the internet, the firewall/router
-rewrites the IP header in the request to use one of your public IP
-addresses as the source address. When B responds and the response
-is received by the firewall, the firewall changes the destination address
-back to the RFC 1918 address of A and forwards the response back
-to A.
-
-
-
-
Let's suppose that you decide to use SNAT on your local zone
- and use public address 192.0.2.176 as both your firewall's external
-IP address and the source IP address of internet requests sent from
-that zone.
-
-
-
+
+
+
Let's suppose that you decide to use SNAT on your local zone
+ and use public address 192.0.2.176 as both your firewall's external
+IP address and the source IP address of internet requests sent from that
+ zone.
+
+
+
-
-
-
-
The local zone has been subnetted as 192.168.201.0/29
+
+
+
+
The local zone has been subnetted as 192.168.201.0/29
(netmask 255.255.255.248).
-
+
-
+
- The systems in the local zone would be configured with a default
- gateway of 192.168.201.1 (the IP address of the firewall's local interface).
-
+ The systems in the local zone would be configured with a default
+ gateway of 192.168.201.1 (the IP address of the firewall's local interface).
+
-
+
-
-
-
+
+
+
-
-
- INTERFACE |
- SUBNET |
- ADDRESS |
-
+
- eth0 |
- 192.168.201.0/29 |
- 192.0.2.176 |
-
-
-
+ INTERFACE |
+ SUBNET |
+ ADDRESS |
+
+
+ eth0 |
+ 192.168.201.0/29 |
+ 192.0.2.176 |
+
+
+
-
+
+
+
+
+
This example used the normal technique of assigning the same
+ public IP address for the firewall external interface and for SNAT.
+If you wanted to use a different IP address, you would either have to
+use your distributions network configuration tools to add that IP address
+ to the external interface or you could set ADD_SNAT_ALIASES=Yes in
+ /etc/shorewall/shorewall.conf and Shorewall will add the address for you.
-
-
-
This example used the normal technique of assigning the same
- public IP address for the firewall external interface and for SNAT.
-If you wanted to use a different IP address, you would either have to
-use your distributions network configuration tools to add that IP address
- to the external interface or you could set ADD_SNAT_ALIASES=Yes in
- /etc/shorewall/shorewall.conf and Shorewall will add the address for you.
-
-
-
+
+
-
-
-
When SNAT is used, it is impossible for hosts on the internet
- to initiate a connection to one of the internal systems since those
-systems do not have a public IP address. DNAT provides a way to allow
+
+
+
+
When SNAT is used, it is impossible for hosts on the internet
+ to initiate a connection to one of the internal systems since those
+systems do not have a public IP address. DNAT provides a way to allow
selected connections from the internet.
-
-
-
+
+
+
- Suppose that your daughter wants to run a web server on her
-system "Local 3". You could allow connections to the internet to her
-server by adding the following entry in /etc/shorewall/rules:
-
-
-
+
+
+
-
-
- ACTION |
- SOURCE |
- DESTINATION |
- PROTOCOL |
- PORT |
- SOURCE PORT |
- ORIGINAL DESTINATION |
-
+
- DNAT |
- net |
- loc:192.168.201.4 |
- tcp |
- www |
- - |
- 192.0.2.176 |
-
-
-
+ ACTION |
+ SOURCE |
+ DESTINATION |
+ PROTOCOL |
+ PORT |
+ SOURCE PORT |
+ ORIGINAL DESTINATION |
+
+
+ DNAT |
+ net |
+ loc:192.168.201.4 |
+ tcp |
+ www |
+ - |
+ 192.0.2.176 |
+
+
+
-
-
-
-
-
If one of your daughter's friends at address A wants
+
+
+
+
+
If one of your daughter's friends at address A wants
to access your daughter's server, she can connect to http://192.0.2.176 (the firewall's external
- IP address) and the firewall will rewrite the destination IP address
- to 192.168.201.4 (your daughter's system) and forward the request. When
- your daughter's server responds, the firewall will rewrite the source
+ href="http://192.0.2.176"> http://192.0.2.176 (the firewall's external
+ IP address) and the firewall will rewrite the destination IP address
+ to 192.168.201.4 (your daughter's system) and forward the request. When
+ your daughter's server responds, the firewall will rewrite the source
address back to 192.0.2.176 and send the response back to A.
-
-
-
-
This example used the firewall's external IP address for
-DNAT. You can use another of your public IP addresses but Shorewall will
-not add that address to the firewall's external interface for you.
-
-
-
+
+
+
+
This example used the firewall's external IP address for DNAT.
+ You can use another of your public IP addresses but Shorewall will not
+add that address to the firewall's external interface for you.
+
+
+
-
-
+
+
+
The idea behind proxy ARP is that:
-
-
-
-
- -
-
A host H behind your firewall is assigned one
-of your public IP addresses (A) and is assigned the same netmask
- (M) as the firewall's external interface.
-
- -
-
The firewall responds to ARP "who has" requests for A.
-
-
- -
-
When H issues an ARP "who has" request for an
-address in the subnetwork defined by A and M, the firewall
-will respond (with the MAC if the firewall interface to H).
-
-
-
+
+
+
+ -
+
A host H behind your firewall is assigned one of
+your public IP addresses (A) and is assigned the same netmask
+ (M) as the firewall's external interface.
+
+ -
+
The firewall responds to ARP "who has" requests for A.
+
+
+ -
+
When H issues an ARP "who has" request for an address
+ in the subnetwork defined by A and M, the firewall will
+respond (with the MAC if the firewall interface to H).
+
-
-
Let suppose that we decide to use Proxy ARP on the DMZ in
+
+
+
+
+
Let suppose that we decide to use Proxy ARP on the DMZ in
our example network.
-
-
-
+
+
+
-
-
-
- Here, we've assigned the IP addresses 192.0.2.177 to
- system DMZ 1 and 192.0.2.178 to DMZ 2. Notice that we've just assigned
- an arbitrary RFC 1918 IP address and subnet mask to the DMZ interface
- on the firewall. That address and netmask isn't relevant - just be sure
+
+
+
+ Here, we've assigned the IP addresses 192.0.2.177 to
+ system DMZ 1 and 192.0.2.178 to DMZ 2. Notice that we've just assigned
+ an arbitrary RFC 1918 IP address and subnet mask to the DMZ interface
+ on the firewall. That address and netmask isn't relevant - just be sure
it doesn't overlap another subnet that you've defined.
-
+
-
+
-
-
+
+
+
-
-
- ADDRESS |
- INTERFACE |
- EXTERNAL |
- HAVE ROUTE |
-
+
- 192.0.2.177 |
- eth2 |
- eth0 |
- No |
-
-
- 192.0.2.178 |
- eth2 |
- eth0 |
- No |
-
-
-
+ ADDRESS |
+ INTERFACE |
+ EXTERNAL |
+ HAVE ROUTE |
+
+
+ 192.0.2.177 |
+ eth2 |
+ eth0 |
+ No |
+
+
+ 192.0.2.178 |
+ eth2 |
+ eth0 |
+ No |
+
+
+
-
-
-
-
-
Because the HAVE ROUTE column contains No, Shorewall will
+
+
+
+
+
Because the HAVE ROUTE column contains No, Shorewall will
add host routes thru eth2 to 192.0.2.177 and 192.0.2.178.
-
-
-
The ethernet interfaces on DMZ 1 and DMZ 2 should be configured
- to have the IP addresses shown but should have the same default gateway
-as the firewall itself -- namely 192.0.2.254.
-
-
-
-
+
+
+
The ethernet interfaces on DMZ 1 and DMZ 2 should be configured
+ to have the IP addresses shown but should have the same default gateway as
+ the firewall itself -- namely 192.0.2.254.
+
+
+
+
-
-
-
-
A word of warning is in order here. ISPs typically configure
- their routers with a long ARP cache timeout. If you move a system from
- parallel to your firewall to behind your firewall with Proxy ARP, it will
- probably be HOURS before that system can communicate with the internet.
- There are a couple of things that you can try:
-
+
+
+
+
A word of warning is in order here. ISPs typically configure
+ their routers with a long ARP cache timeout. If you move a system from
+ parallel to your firewall to behind your firewall with Proxy ARP, it
+will probably be HOURS before that system can communicate with the internet.
+ There are a couple of things that you can try:
+
+
- - (Courtesy of Bradey Honsinger) A reading of Stevens' TCP/IP Illustrated,
- Vol 1 reveals that a
-
- "gratuitous" ARP packet should cause the ISP's router to refresh their
-ARP cache (section 4.7). A gratuitous ARP is simply a host requesting the
-MAC address for its own IP; in addition to ensuring that the IP address isn't
- a duplicate,...
+ - (Courtesy of Bradey Honsinger) A reading of Stevens' TCP/IP
+Illustrated, Vol 1 reveals that a
- "if the host sending the gratuitous ARP has just changed its hardware
-address..., this packet causes any other host...that has an entry in its
-cache for the old hardware address to update its ARP cache entry accordingly."
-
- Which is, of course, exactly what you want to do when you switch a host
- from being exposed to the Internet to behind Shorewall using proxy ARP (or
- static NAT for that matter). Happily enough, recent versions of Redhat's
-iputils package include "arping", whose "-U" flag does just that:
-
- arping -U -I <net if> <newly proxied
- IP>
- arping -U -I eth0 66.58.99.83 # for example
-
- Stevens goes on to mention that not all systems respond correctly to
-gratuitous ARPs, but googling for "arping -U" seems to support the idea
+ "gratuitous" ARP packet should cause the ISP's router to refresh their
+ ARP cache (section 4.7). A gratuitous ARP is simply a host requesting the
+ MAC address for its own IP; in addition to ensuring that the IP address
+isn't a duplicate,...
+
+ "if the host sending the gratuitous ARP has just changed its hardware
+ address..., this packet causes any other host...that has an entry in its
+ cache for the old hardware address to update its ARP cache entry accordingly."
+
+ Which is, of course, exactly what you want to do when you switch a host
+ from being exposed to the Internet to behind Shorewall using proxy ARP
+ (or static NAT for that matter). Happily enough, recent versions of Redhat's
+ iputils package include "arping", whose "-U" flag does just that:
+
+ arping -U -I <net if> <newly proxied
+ IP>
+ arping -U -I eth0 66.58.99.83 # for example
+
+ Stevens goes on to mention that not all systems respond correctly to
+gratuitous ARPs, but googling for "arping -U" seems to support the idea
that it works most of the time.
-
-
- - You can call your ISP and ask them to purge the stale ARP cache
- entry but many either can't or won't purge individual entries.
-
+
+
+ - You can call your ISP and ask them to purge the stale ARP cache
+ entry but many either can't or won't purge individual entries.
+
- You can determine if your ISP's gateway ARP cache is stale using ping
- and tcpdump. Suppose that we suspect that the gateway router has a stale
- ARP cache entry for 130.252.100.19. On the firewall, run tcpdump as follows:
-
-
+ You can determine if your ISP's gateway ARP cache is stale using
+ping and tcpdump. Suppose that we suspect that the gateway router has
+a stale ARP cache entry for 130.252.100.19. On the firewall, run tcpdump
+as follows:
+
+
+
+
+
Now from 130.252.100.19, ping the ISP's gateway (which we
+ will assume is 130.252.100.254):
-
-
-
Now from 130.252.100.19, ping the ISP's gateway (which we
- will assume is 130.252.100.254):
-
-
-
-
-
+
+
+
+
We can now observe the tcpdump output:
-
-
-
+
+
+
13:35:12.159321 0:4:e2:20:20:33 0:0:77:95:dd:19 ip 98: 192.0.2.177 > 192.0.2.254: icmp: echo request (DF)
13:35:12.207615 0:0:77:95:dd:19 0:c0:a8:50:b2:57 ip 98: 192.0.2.254 > 192.0.2.177 : icmp: echo reply
+
+
+
+
Notice that the source MAC address in the echo request is
+ different from the destination MAC address in the echo reply!! In this
+ case 0:4:e2:20:20:33 was the MAC of the firewall's eth0 NIC while 0:c0:a8:50:b2:57
+ was the MAC address of DMZ 1. In other words, the gateway's ARP cache
+ still associates 192.0.2.177 with the NIC in DMZ 1 rather than with the
+ firewall's eth0.
-
-
-
Notice that the source MAC address in the echo request is
- different from the destination MAC address in the echo reply!! In this
- case 0:4:e2:20:20:33 was the MAC of the firewall's eth0 NIC while 0:c0:a8:50:b2:57
- was the MAC address of DMZ 1. In other words, the gateway's ARP cache
- still associates 192.0.2.177 with the NIC in DMZ 1 rather than with
-the firewall's eth0.
-
-
-
+