From 84029e5bd4c148aa606330275df21040fb4aa9b7 Mon Sep 17 00:00:00 2001 From: teastep Date: Sat, 8 May 2004 22:31:54 +0000 Subject: [PATCH] Updates for 2.0.2 git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@1317 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb --- Shorewall-docs2/Accounting.xml | 15 +- Shorewall-docs2/Documentation.xml | 1182 ++++-- Shorewall-docs2/Documentation_Index.xml | 4 +- Shorewall-docs2/FAQ.xml | 967 +++-- Shorewall-docs2/FTP.xml | 25 +- Shorewall-docs2/IPSEC.xml | 265 +- Shorewall-docs2/Install.xml | 126 +- Shorewall-docs2/PPTP.xml | 24 +- Shorewall-docs2/Shorewall_Squid_Usage.xml | 6 +- Shorewall-docs2/bridge.xml | 6 +- Shorewall-docs2/configuration_file_basics.xml | 21 +- Shorewall-docs2/errata.xml | 353 +- Shorewall-docs2/images/State_Diagram.png | Bin 26272 -> 28375 bytes Shorewall-docs2/images/State_Diagram.vdx | 619 +-- Shorewall-docs2/images/staticnat.png | Bin 6422 -> 8036 bytes Shorewall-docs2/images/staticnat.vdx | 598 ++- Shorewall-docs2/myfiles.xml | 122 +- Shorewall-docs2/ports.xml | 25 +- .../shorewall_extension_scripts.xml | 112 +- Shorewall-docs2/shorewall_features.xml | 50 +- Shorewall-docs2/shorewall_logging.xml | 6 +- .../shorewall_quickstart_guide.xml | 20 +- Shorewall-docs2/shorewall_setup_guide_fr.xml | 3352 ++++++----------- Shorewall-docs2/standalone.xml | 11 +- Shorewall-docs2/standalone_fr.xml | 746 ++-- .../starting_and_stopping_shorewall.xml | 272 +- Shorewall-docs2/template.xml | 4 - Shorewall-docs2/three-interface.xml | 11 +- Shorewall-docs2/three-interface_fr.xml | 2012 ++++------ Shorewall-docs2/two-interface.xml | 12 +- Shorewall-docs2/two-interface_fr.xml | 1807 +++++---- Shorewall-docs2/upgrade_issues.xml | 654 ++-- 32 files changed, 6910 insertions(+), 6517 deletions(-) diff --git a/Shorewall-docs2/Accounting.xml b/Shorewall-docs2/Accounting.xml index c923f77ac..fa3695ce4 100644 --- a/Shorewall-docs2/Accounting.xml +++ b/Shorewall-docs2/Accounting.xml @@ -15,7 +15,7 @@ - 2004-01-05 + 2004-04-19 2003-2004 @@ -193,9 +193,13 @@ [root@gateway shorewall]# Here's how the same example would be constructed on an HTTP server - (READ THAT FOLKS -- IT SAYS SERVER. If - you want to account for web browsing, you have to reverse the rules below) - with only one interface (eth0): + with only one interface (eth0). + + + READ THE ABOVE CAREFULLY -- IT SAYS SERVER. + If you want to account for web browsing, you have to reverse the rules + below. + #ACTION CHAIN SOURCE DESTINATION PROTOCOL DEST SOURCE # PORT PORT @@ -228,4 +232,7 @@ 8767 727K all -- eth0 * 0.0.0.0/0 0.0.0.0/0 11506 13M all -- * eth0 0.0.0.0/0 0.0.0.0/0 [root@mail shorewall]# + + For an example of integrating Shorewall Accounting with MRTG, see + http://www.nightbrawler.com/code/shorewall-stats/. \ No newline at end of file diff --git a/Shorewall-docs2/Documentation.xml b/Shorewall-docs2/Documentation.xml index 4c3b98d96..e1c9823e8 100644 --- a/Shorewall-docs2/Documentation.xml +++ b/Shorewall-docs2/Documentation.xml @@ -15,7 +15,7 @@ - 2004-03-28 + 2004-05-06 2001-2004 @@ -29,7 +29,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -50,9 +51,10 @@ params - a parameter file installed in /etc/shorewall - that can be used to establish the values of shell variables for use - in other files. + a parameter file installed in /etc/shorewall that can be used to + establish the values of shell variables for use in other + files. @@ -60,8 +62,9 @@ shorewall.conf - a parameter file installed in /etc/shorewall - that is used to set several firewall parameters. + a parameter file installed in /etc/shorewall that is used to set + several firewall parameters. @@ -69,8 +72,9 @@ zones - a parameter file installed in /etc/shorewall - that defines a network partitioning into zones + a parameter file installed in /etc/shorewall that defines a network + partitioning into zones @@ -78,8 +82,9 @@ policy - a parameter file installed in /etc/shorewall - that establishes overall firewall policy. + a parameter file installed in /etc/shorewall that establishes overall + firewall policy. @@ -87,9 +92,10 @@ rules - a parameter file installed in /etc/shorewall - and used to express firewall rules that are exceptions to the - high-level policies established in /etc/shorewall/policy. + a parameter file installed in /etc/shorewall and used to express + firewall rules that are exceptions to the high-level policies + established in /etc/shorewall/policy. @@ -97,8 +103,9 @@ blacklist - a parameter file installed in /etc/shorewall - and used to list blacklisted IP/subnet/MAC addresses. + a parameter file installed in /etc/shorewall and used to list + blacklisted IP/subnet/MAC addresses. @@ -106,9 +113,9 @@ ecn - a parameter file installed in /etc/shorewall - and used to selectively disable Explicit Congestion Notification - (ECN - RFC 3168). + a parameter file installed in /etc/shorewall and used to selectively + disable Explicit Congestion Notification (ECN - RFC 3168). @@ -117,7 +124,8 @@ a set of shell functions used by both the firewall and - shorewall shell programs. Installed in /usr/share/shorewall. + shorewall shell programs. Installed in /usr/share/shorewall. @@ -125,9 +133,10 @@ modules - a parameter file installed in /etc/shorewall - and that specifies kernel modules and their parameters. Shorewall - will automatically load the modules specified in this file. + a parameter file installed in /etc/shorewall and that specifies + kernel modules and their parameters. Shorewall will automatically + load the modules specified in this file. @@ -135,9 +144,9 @@ tos - a parameter file installed in /etc/shorewall - that is used to specify how the Type of Service (TOS) field in - packets is to be set. + a parameter file installed in /etc/shorewall that is used to specify + how the Type of Service (TOS) field in packets is to be set. @@ -145,10 +154,10 @@ init.sh and init.debian.sh - a shell script installed in /etc/init.d - to automatically start Shorewall during boot. The - particular script installed depends on which distribution you are - running. + a shell script installed in /etc/init.d to automatically start + Shorewall during boot. The particular script installed depends on + which distribution you are running. @@ -156,8 +165,9 @@ interfaces - a parameter file installed in /etc/shorewall - and used to describe the interfaces on the firewall system. + a parameter file installed in /etc/shorewall and used to describe the + interfaces on the firewall system. @@ -165,8 +175,9 @@ hosts - a parameter file installed in /etc/shorewall - and used to describe individual hosts or subnetworks in zones. + a parameter file installed in /etc/shorewall and used to describe + individual hosts or subnetworks in zones. @@ -174,9 +185,10 @@ maclist - a parameter file installed in /etc/shorewall - and used to verify the MAC address (and possibly also the IP - address(es)) of devices. + a parameter file installed in /etc/shorewall and used to verify the + MAC address (and possibly also the IP address(es)) of + devices. @@ -185,7 +197,8 @@ This file also describes IP masquerading under Shorewall and - is installed in /etc/shorewall. + is installed in /etc/shorewall. @@ -195,7 +208,8 @@ a shell program that reads the configuration files in /etc/shorewall and configures - your firewall. This file is installed in /usr/share/shorewall. + your firewall. This file is installed in /usr/share/shorewall. @@ -203,8 +217,9 @@ nat - a parameter file in /etc/shorewall - used to define one-to-one NAT. + a parameter file in /etc/shorewall used to define one-to-one NAT. @@ -212,8 +227,9 @@ proxyarp - a parameter file in /etc/shorewall - used to define Proxy Arp. + a parameter file in /etc/shorewall used to define Proxy Arp. @@ -221,9 +237,10 @@ rfc1918 - a parameter file in /usr/share/shorewall - used to define the treatment of packets under the norfc1918 interface option. + a parameter file in /usr/share/shorewall used to define the + treatment of packets under the norfc1918 + interface option. @@ -231,9 +248,10 @@ bogons - a parameter file in /usr/share/shorewall - used to define the treatment of packets under the nobogons interface option. + a parameter file in /usr/share/shorewall used to define the + treatment of packets under the nobogons + interface option. @@ -241,9 +259,9 @@ routestopped - a parameter file in /etc/shorewall - used to define those hosts that can access the firewall when - Shorewall is stopped. + a parameter file in /etc/shorewall used to define those + hosts that can access the firewall when Shorewall is stopped. @@ -261,8 +279,9 @@ tunnels - a parameter file in /etc/shorewall - used to define IPSec tunnels. + a parameter file in /etc/shorewall used to define IPSec + tunnels. @@ -274,7 +293,8 @@ to control and monitor the firewall. This should be placed in /sbin or in /usr/sbin (the install.sh script and - the rpm install this file in /sbin). + the rpm install this file in /sbin). @@ -282,9 +302,9 @@ accounting - a parameter file in /etc/shorewall - used to define traffic accounting rules. This file was added in - version 1.4.7. + a parameter file in /etc/shorewall used to define traffic + accounting rules. This file was added in version 1.4.7. @@ -292,8 +312,9 @@ version - a file created in /usr/share/shorewall - that describes the version of Shorewall installed on your system. + a file created in /usr/share/shorewall that describes the + version of Shorewall installed on your system. @@ -305,7 +326,8 @@ files in /etc/shorewall and /usr/share/shorewall respectively that allow you to define your own actions for rules in - /etc/shorewall/rules. + /etc/shorewall/rules. @@ -313,8 +335,9 @@ actions.std and action.* - files in /usr/share/shorewall - that define the actions included as a standard part of Shorewall. + files in /usr/share/shorewall that define the + actions included as a standard part of Shorewall. @@ -348,7 +371,8 @@ NET_OPTIONS=blacklist,norfc1918 net eth0 130.252.100.255 blacklist,norfc1918 - Variables may be used anywhere in the other configuration files. + Variables may be used anywhere in the other configuration + files.
@@ -380,7 +404,8 @@ NET_OPTIONS=blacklist,norfc1918 DISPLAY - The name of the zone as displayed during Shorewall startup. + The name of the zone as displayed during Shorewall + startup. @@ -399,25 +424,28 @@ net Net Internet loc Local Local networks dmz DMZ Demilitarized zone - You may add, delete and modify entries in the /etc/shorewall/zones - file as desired so long as you have at least one zone defined. + You may add, delete and modify entries in the + /etc/shorewall/zones file as desired so long as you + have at least one zone defined. - If you rename or delete a zone, you should perform shorewall - stop; shorewall start to install the change rather - than shorewall restart. + If you rename or delete a zone, you should perform + shorewall stop; shorewall start to + install the change rather than shorewall + restart. - The order of entries in the /etc/shorewall/zones - file is significant in some cases. + The order of entries in the + /etc/shorewall/zones file is significant in some cases.
/etc/shorewall/interfaces - This file is used to tell the firewall which of your firewall's + This file is used to tell the firewall which of your firewall's network interfaces are connected to which zone. There will be one entry in /etc/shorewall/interfaces for each of your interfaces. Columns in an entry are: @@ -462,12 +490,14 @@ dmz DMZ Demilitarized zone - the interface must be up before you start your firewall + the interface must be up before you start your + firewall the interface must only be attached to a single - sub-network (i.e., there must have a single broadcast address). + sub-network (i.e., there must have a single broadcast + address). @@ -477,7 +507,8 @@ dmz DMZ Demilitarized zone OPTIONS - a comma-separated list of options. Possible options include: + a comma-separated list of options. Possible options + include: @@ -485,7 +516,7 @@ dmz DMZ Demilitarized zone (Added in version 1.4.7) - This option causes - /proc/sys/net/ipv4/conf/<interface>/arp_filter + /proc/sys/net/ipv4/conf/<interface>/arp_filter to be set with the result that this interface will only answer ARP who-has requests from hosts that are routed out of that interface. Setting this option facilitates testing @@ -516,7 +547,8 @@ dmz DMZ Demilitarized zone (Added in version 1.4.2) - This option causes Shorewall to set up handling for routing packets that arrive on this interface back out the same interface. If this option is - specified, the ZONE column may not contain -. + specified, the ZONE column may not contain + -. @@ -531,7 +563,8 @@ dmz DMZ Demilitarized zone typically used for silent port scans. Packets failing these checks are logged according to the TCP_FLAGS_LOG_LEVEL option in and are - disposed of according to the TCP_FLAGS_DISPOSITION option. + disposed of according to the TCP_FLAGS_DISPOSITION + option. @@ -540,7 +573,8 @@ dmz DMZ Demilitarized zone This option causes incoming packets on this interface to - be checked against the blacklist. + be checked against the blacklist. @@ -579,10 +613,10 @@ dmz DMZ Demilitarized zone within their own infrastructure. Also, many cable and DSL modems have an RFC 1918 address that can be used through a web browser for management and monitoring - functions. If you want to specify norfc1918 - on your external interface but need to allow access to certain - addresses from the above list, see FAQ - 14. + functions. If you want to specify norfc1918 on your external interface + but need to allow access to certain addresses from the above + list, see FAQ 14. @@ -601,7 +635,7 @@ dmz DMZ Demilitarized zone routefilter - Invoke the Kernel's route filtering (anti-spoofing) + Invoke the Kernel's route filtering (anti-spoofing) facility on this interface. The kernel will reject any packets incoming on this interface that have a source address that would be routed outbound through another interface on the @@ -619,7 +653,8 @@ dmz DMZ Demilitarized zone (Added in version 1.3.5) - This option causes Shorewall - to set /proc/sys/net/ipv4/conf/<interface>/proxy_arp + to set + /proc/sys/net/ipv4/conf/<interface>/proxy_arp and is used when implementing Proxy ARP Sub-netting as described at http://www.tldp.org/HOWTO/mini/Proxy-ARP-Subnet/. @@ -664,7 +699,8 @@ dmz DMZ Demilitarized zone they do not have a broadcast or multicast address as their source. Any such packets will be dropped after being optionally logged according to the setting of SMURF_LOG_LEVEL - in /etc/shorewall/shorewall.conf. + in /etc/shorewall/shorewall.conf. @@ -673,11 +709,13 @@ dmz DMZ Demilitarized zone - External Interface -- tcpflags,blacklist,norfc1918,routefilter,nosmurfs + External Interface -- tcpflags,blacklist,norfc1918,routefilter,nosmurfs - Wireless Interface -- maclist,routefilter,tcpflags,detectnets,nosmurfs + Wireless Interface -- maclist,routefilter,tcpflags,detectnets,nosmurfs @@ -693,8 +731,9 @@ dmz DMZ Demilitarized zone You have a conventional firewall setup in which eth0 connects to a Cable or DSL modem and eth1 connects to your local network and eth0 gets its IP address via DHCP. You want to check all packets entering - from the internet against the <link linkend="Blacklist">black list</link>. - Your /etc/shorewall/interfaces file would be as follows: + from the internet against the black + list. Your /etc/shorewall/interfaces file would be as + follows: #ZONE INTERFACE BROADCAST OPTIONS net eth0 detect dhcp,norfc1918,blacklist @@ -726,12 +765,13 @@ loc eth1 192.168.1.255,192.168.12.255 purpose of the /etc/shorewall/hosts file. - The only time that you need entries in /etc/shorewall/hosts - is where you have more than one zone - connecting through a single interface. + The only time that you need entries in + /etc/shorewall/hosts is where you have more than one zone connecting through a single + interface. - IF YOU DON'T HAVE THIS SITUATION THEN - DON'T TOUCH THIS FILE!! + IF YOU DON'T HAVE THIS SITUATION THEN DON'T + TOUCH THIS FILE!! Columns in this file are: @@ -751,8 +791,8 @@ loc eth1 192.168.1.255,192.168.12.255 The name of an interface defined in the /etc/shorewall/interfaces file followed - by a colon (":") and a comma-separated list whose elements - are either: + by a colon (":") and a comma-separated list whose elements are + either: @@ -760,8 +800,9 @@ loc eth1 192.168.1.255,192.168.12.255 - A subnetwork in the form <subnet-address>/<mask - width> + A subnetwork in the form + <subnet-address>/<mask + width> @@ -769,8 +810,8 @@ loc eth1 192.168.1.255,192.168.12.255 only allowed when the interface names a bridge created by the brctl addbr command. This port must not be defined in /etc/shorewall/interfaces and - may optionally followed by a colon (":") and a host or - network IP. See the bridging + may optionally followed by a colon (":") and a host or network + IP. See the bridging documentation for details. @@ -832,7 +873,8 @@ loc eth1 192.168.1.255,192.168.12.255 This option causes incoming packets on this port to be - checked against the blacklist. + checked against the blacklist. @@ -878,12 +920,12 @@ loc eth1 192.168.1.255,192.168.12.255 - If you don't define any hosts for a zone, the hosts in the zone + If you don't define any hosts for a zone, the hosts in the zone default to i0:0.0.0.0/0 , i1:0.0.0.0/0, ... where i0, i1, ... are the interfaces to the zone. - You probably DON'T want to specify any hosts for your internet + You probably DON'T want to specify any hosts for your internet zone since the hosts that you specify will be the only ones that you will be able to access without adding additional rules. @@ -960,10 +1002,10 @@ loc eth1:192.168.1.0/24,192.168.12.0/24 Policies defined in /etc/shorewall/policy describe which zones are allowed to establish connections with other zones. - Policies established in /etc/shorewall/policy can - be viewed as default policies. If no rule in /etc/shorewall/rules applies - to a particular connection request then the policy from - /etc/shorewall/policy is applied. + Policies established in /etc/shorewall/policy + can be viewed as default policies. If no rule in + /etc/shorewall/rules applies to a particular connection request then the + policy from /etc/shorewall/policy is applied. Five policies are defined: @@ -989,7 +1031,8 @@ loc eth1:192.168.1.0/24,192.168.12.0/24 The connection request is rejected with an RST (TCP) or an - ICMP destination-unreachable packet being returned to the client. + ICMP destination-unreachable packet being returned to the + client. @@ -1021,7 +1064,8 @@ loc eth1:192.168.1.0/24,192.168.12.0/24 that you want a message sent to your system log each time that the policy is applied. - Entries in /etc/shorewall/policy have four columns as follows: + Entries in /etc/shorewall/policy have four columns as + follows: @@ -1072,16 +1116,18 @@ loc eth1:192.168.1.0/24,192.168.12.0/24 If left empty, TCP connection requests from the SOURCE zone to the DEST - zone will not be rate-limited. Otherwise, this column specifies the - maximum rate at which TCP connection requests will be accepted - followed by a colon (:) followed by the maximum burst - size that will be tolerated. Example: 10/sec:40 + role="bold">SOURCE zone to the DEST zone will not be rate-limited. + Otherwise, this column specifies the maximum rate at which TCP + connection requests will be accepted followed by a colon + (:) followed by the maximum burst size that will be + tolerated. Example: 10/sec:40 specifies that the maximum rate of TCP connection requests allowed will be 10 per second and a burst of 40 connections will be tolerated. Connection requests in excess of these limits will be - dropped. See the rules file documentation - for an explaination of how rate limiting works. + dropped. See the rules file + documentation for an explaination of how rate limiting + works. @@ -1116,12 +1162,12 @@ all all REJECT info - The firewall script processes the /etc/shorewall/policy - file from top to bottom and uses the first - applicable policy that it finds. For example, in the - following policy file, the policy for (loc, loc) connections would be - ACCEPT as specified in the first entry even though the third entry in - the file specifies REJECT. + The firewall script processes the + /etc/shorewall/policy file from top to bottom and + uses the first applicable policy that it + finds. For example, in the following policy file, the policy + for (loc, loc) connections would be ACCEPT as specified in the first + entry even though the third entry in the file specifies REJECT. #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST loc all ACCEPT @@ -1140,7 +1186,8 @@ loc loc REJECT info specify all in either the SOURCE or DEST column) and that there are no rules concerning connections from that zone to itself. If there is an explicit policy or if there are one or more rules, then - traffic within the zone is handled just like traffic between zones is. + traffic within the zone is handled just like traffic between zones + is. Any time that you have multiple interfaces associated with a single zone, you should ask yourself if you really want traffic routed @@ -1150,22 +1197,22 @@ loc loc REJECT info Multiple net interfaces to different ISPs. You - don't want to route traffic from one ISP to the other through - your firewall. + don't want to route traffic from one ISP to the other through your + firewall. - Multiple VPN clients. You don't necessarily want them to - all be able to communicate between themselves using your + Multiple VPN clients. You don't necessarily want them to all + be able to communicate between themselves using your gateway/router. Beginning with Shorewall 2.0.0, you can control the traffic from - the firewall to itself. As with any zone, fw->fw traffic is enabled + the firewall to itself. As with any zone, fw->fw traffic is enabled by default. It is not necessary to define the loopback interface (lo) in /etc/shorewall/interfaces in order to - define fw->fw rules or a fw->fw policy. + define fw->fw rules or a fw->fw policy. So long as there are no intra-zone rules for a zone, all @@ -1180,15 +1227,15 @@ loc loc REJECT info
The CONTINUE policy - Where zones are nested or overlapping, - the CONTINUE policy allows hosts that are within multiple zones to be - managed under the rules of all of these zones. Let's look at an - example: + Where zones are nested or + overlapping, the CONTINUE policy allows hosts that are within + multiple zones to be managed under the rules of all of these zones. + Let's look at an example: /etc/shorewall/zones: #ZONE DISPLAY COMMENTS -sam Sam Sam's system at home +sam Sam Sam's system at home net Internet The Internet loc Local Local Network @@ -1205,11 +1252,13 @@ net eth0:0.0.0.0/0 sam eth0:206.191.149.197 - Sam's home system is a member of both the sam zone and the net - zone and as described above , that means - that sam must be listed before - net in /etc/shorewall/zones. + Sam's home system is a member of both the sam zone and the net zone and as + described above , that means that sam must be listed before net in + /etc/shorewall/zones. /etc/shorewall/policy: @@ -1225,8 +1274,9 @@ all all REJECT info zone is sam and if there is no match then the connection request should be treated under rules where the source zone is net. It is important - that this policy be listed BEFORE the next policy (net - to all). + that this policy be listed BEFORE the next policy (net to all). Partial /etc/shorewall/rules: @@ -1236,19 +1286,19 @@ DNAT sam loc:192.168.1.3 tcp ssh DNAT net loc:192.168.1.5 tcp www ... - Given these two rules, Sam can connect to the firewall's - internet interface with ssh and the connection request will be forwarded - to 192.168.1.3. Like all hosts in the net - zone, Sam can connect to the firewall's internet interface on TCP - port 80 and the connection request will be forwarded to 192.168.1.5. The + Given these two rules, Sam can connect to the firewall's internet + interface with ssh and the connection request will be forwarded to + 192.168.1.3. Like all hosts in the net + zone, Sam can connect to the firewall's internet interface on TCP port + 80 and the connection request will be forwarded to 192.168.1.5. The order of the rules is not significant. Sometimes it is necessary to suppress port forwarding for a sub-zone. For example, suppose that all hosts can SSH to the firewall and be forwarded to 192.168.1.5 EXCEPT Sam. When Sam connects - to the firewall's external IP, he should be connected to the - firewall itself. Because of the way that Netfilter is constructed, this - requires two rules as follows: + to the firewall's external IP, he should be connected to the firewall + itself. Because of the way that Netfilter is constructed, this requires + two rules as follows: #ACTION SOURCE DEST PROTO DEST PORT(S) ... @@ -1270,12 +1320,12 @@ DNAT net loc:192.168.1.3 tcp ssh /etc/shorewall/rules The /etc/shorewall/rules file defines - exceptions to the policies established in the /etc/shorewall/policy - file. There is one entry in /etc/shorewall/rules for each of these rules. - Entries in this file only govern the establishment of new connections — - packets that are part of an existing connection or that establish a - connection that is related to an existing connection are automatically - accepted. + exceptions to the policies established in the + /etc/shorewall/policy file. There is one entry in + /etc/shorewall/rules for each of these rules. Entries in this file only + govern the establishment of new connections — packets that are part of an + existing connection or that establish a connection that is related to an + existing connection are automatically accepted. Rules for each pair of zones (source zone, destination zone) are evaluated in the order that they appear in the file — the first match @@ -1296,7 +1346,8 @@ DNAT net loc:192.168.1.3 tcp ssh CONTINUE rules may cause the connection request to be - reprocessed using a different (source zone, destination zone) pair. + reprocessed using a different (source zone, destination zone) + pair. @@ -1317,15 +1368,37 @@ DNAT net loc:192.168.1.3 tcp ssh + + ACCEPT+ + + + Added in Shorewall 2.0.2 Beta 2. Works like ACCEPT but + also exempts the connection from matching DNAT and REDIRECT + rules later in the file. + + + + + NONAT + + + Added in Shorewall 2.0.2 Beta 2. Exempts matching + connections from DNAT and REDIRECT rules later in the + file. + + + DNAT Causes the connection request to be forwarded to the system specified in the DEST column (port forwarding). - DNAT stands for Destination - Network Address - Translation + DNAT stands for Destination Network Address Translation @@ -1333,7 +1406,8 @@ DNAT net loc:192.168.1.3 tcp ssh DNAT- - The above ACTION (DNAT) generates two iptables rules: + The above ACTION (DNAT) generates two iptables + rules: @@ -1342,8 +1416,8 @@ DNAT net loc:192.168.1.3 tcp ssh - an ACCEPT rule in the Netfilter filter - table. + an ACCEPT rule in the Netfilter + filter table. @@ -1375,8 +1449,8 @@ DNAT net loc:192.168.1.3 tcp ssh - an ACCEPT rule in the Netfilter filter - table. + an ACCEPT rule in the Netfilter + filter table. @@ -1389,7 +1463,8 @@ DNAT net loc:192.168.1.3 tcp ssh LOG - Log the packet -- requires a syslog level (see below). + Log the packet -- requires a syslog level (see + below). @@ -1404,20 +1479,22 @@ DNAT net loc:192.168.1.3 tcp ssh When the protocol specified in the PROTO column is TCP - (tcp, TCP or 6), - Shorewall will only pass connection requests (SYN packets) - to user space. This is for compatibility with ftwall. + (tcp, TCP or + 6), Shorewall will only pass connection + requests (SYN packets) to user space. This is for + compatibility with ftwall. - <defined - action> + <defined + action> (Shorewall 1.4.9 and later) - An action defined in the - /etc/shorewall/actions + /etc/shorewall/actions file. @@ -1428,7 +1505,19 @@ DNAT net loc:192.168.1.3 tcp ssh REJECT:info or ACCEPT:debug). This causes the packet to be logged at the specified level prior to being processed according to the specified ACTION. Note: if the ACTION is LOG then you MUST specify a - syslog level. + syslog level. Beginning with Shorewall version 2.0.2 Beta 1, a + log tag may be specified. A log tag is a + string of alphanumeric characters and is specified by following the + log level with ":" and the log tag. Example:ACCEPT:info:ftp net dmz tcp 21 +The log tag is appended to the log prefix generated by the + LOGPREFIX variable in /etc/shorewall/conf. If + "ACCEPT:info" generates the log prefix "Shorewall:net2dmz:ACCEPT:" + then "ACCEPT:info:ftp" will generate "Shorewall:net2dmz:ACCEPT:ftp " + (note the trailing blank). The maximum length of a log prefix + supported by iptables is 29 characters; if a larger prefix is + generated, Shorewall will issue a warning message and will truncate + the prefix to 29 characters. The use of DNAT or REDIRECT requires that you have NAT enabled in your kernel configuration. @@ -1449,7 +1538,8 @@ DNAT net loc:192.168.1.3 tcp ssh If the source is not all then the source may be further restricted by adding a colon (:) followed by - a comma-separated list of qualifiers. Qualifiers are may include: + a comma-separated list of qualifiers. Qualifiers are may + include: @@ -1460,7 +1550,8 @@ DNAT net loc:192.168.1.3 tcp ssh specified interface (example loc:eth4). Beginning with Shorwall 1.3.9, the interface name may optionally be followed by a colon (:) and an IP address or subnet - (examples: loc:eth4:192.168.4.22, net:eth0:192.0.2.0/24). + (examples: loc:eth4:192.168.4.22, + net:eth0:192.0.2.0/24). @@ -1478,7 +1569,8 @@ DNAT net loc:192.168.1.3 tcp ssh MAC Address - in Shorewall + in Shorewall format. @@ -1538,13 +1630,14 @@ DNAT net loc:192.168.1.3 tcp ssh Unlike in the SOURCE column, a range of IP addresses may be - specified in the DEST column as <first address>-<last - address>. When the ACTION is DNAT or DNAT-, - connections will be assigned to the addresses in the range in a - round-robin fashion (load-balancing). This - feature is available with DNAT rules only with Shorewall 1.4.6 and - later versions; it is available with DNAT- rules in all versions - that support DNAT-. + specified in the DEST column as <first + address>-<last address>. + When the ACTION is DNAT or DNAT-, connections will be assigned to + the addresses in the range in a round-robin fashion + (load-balancing). This feature is available + with DNAT rules only with Shorewall 1.4.6 and later versions; it is + available with DNAT- rules in all versions that support + DNAT-. @@ -1562,11 +1655,11 @@ DNAT net loc:192.168.1.3 tcp ssh DEST PORT(S) - Port or port range (<low port>:<high port>) - being connected to. May only be specified if the protocol is tcp, - udp or icmp. For icmp, this column's contents are interpreted as - an icmp type. If you don't want to specify DEST PORT(S) but need - to include information in one of the columns to the right, enter + Port or port range (<low port>:<high port>) being + connected to. May only be specified if the protocol is tcp, udp or + icmp. For icmp, this column's contents are interpreted as an icmp + type. If you don't want to specify DEST PORT(S) but need to include + information in one of the columns to the right, enter - in this column. You may give a list of ports and/or port ranges separated by commas. Port numbers may be either integers or service names from /etc/services. @@ -1578,13 +1671,13 @@ DNAT net loc:192.168.1.3 tcp ssh May be used to restrict the rule to a particular client port - or port range (a port range is specified as <low port - number>:<high port number>). If you don't want to - restrict client ports but want to specify something in the next - column, enter - in this column. If you wish to - specify a list of port number or ranges, separate the list elements - with commas (with no embedded white space). Port numbers may be - either integers or service names from /etc/services. + or port range (a port range is specified as <low port + number>:<high port number>). If you don't want to restrict + client ports but want to specify something in the next column, enter + - in this column. If you wish to specify a list of + port number or ranges, separate the list elements with commas (with + no embedded white space). Port numbers may be either integers or + service names from /etc/services. @@ -1648,19 +1741,20 @@ DNAT loc:192.168.1.0/24 loc:192.168.1.3 tcp ACCEPT, DNAT[-], REDIRECT[-] or LOG rules with an entry in this column. Entries have the form - <rate>/<interval>[:<burst>] + <rate>/<interval>[:<burst>] - where <rate> is the number of connections per - <interval> (sec or min) and - <burst> is the largest burst permitted. If no burst value is + where <rate> is the number of connections per + <interval> (sec or min) and + <burst> is the largest burst permitted. If no burst value is given, a value of 5 is assumed. - There may be no whitespace embedded in the specification. + There may be no whitespace embedded in the + specification. - Let's take + Let's take - ACCEPT<2/sec:4> net dmz tcp 80 + ACCEPT<2/sec:4> net dmz tcp 80 The first time this rule is reached, the packet will be accepted; in fact, since the burst is 4, the first four packets @@ -1702,7 +1796,7 @@ DNAT loc:192.168.1.0/24 loc:192.168.1.3 tcp to 4/minute with a burst of 8 (Shorewall 1.4.7 and later only): #ACTION SOURCE DEST PROTO DEST PORT(S) -DNAT<4/min:8> net loc:192.168.1.3 tcp ssh +DNAT<4/min:8> net loc:192.168.1.3 tcp ssh @@ -1736,15 +1830,19 @@ ACCEPT loc dmz:155.186.235.222 tcp www server to be accessible from the internet in addition to the local 192.168.1.0/24 and dmz 192.168.2.0/24 subnetworks. - since the server is in the 192.168.2.0/24 subnetwork, - we can assume that access to the server from that subnet will not - involve the firewall (but see FAQ 2)unless - you have more than one external IP address, you can leave the ORIGINAL - DEST column blank in the first rule. You cannot leave it blank in the - second rule though because then all ftp connections originating in the - local subnet 192.168.1.0/24 would be sent to 192.168.2.2 regardless of - the site that the user was trying to connect to. That is clearly not - what you want. + + since the server is in the 192.168.2.0/24 subnetwork, we can + assume that access to the server from that subnet will not involve + the firewall (but see FAQ + 2) + + unless you have more than one external IP address, you can + leave the ORIGINAL DEST column blank in the first rule. You cannot + leave it blank in the second rule though because then all ftp + connections originating in the local subnet 192.168.1.0/24 would be + sent to 192.168.2.2 regardless of the site that the user was trying + to connect to. That is clearly not what you want. + #ACTION SOURCE DEST PROTO DEST PORT(S) SOURCE ORIGINAL # PORT(S) DEST @@ -1781,15 +1879,18 @@ ACCEPT loc:~02-00-08-E3-FA-55 dmz all #ACTION SOURCE DEST PROTO DEST PORT(S) ACCEPT all dmz tcp 25 - When all is used as a source or - destination, intra-zone traffic is not affected. In this example, if - there were two DMZ interfaces then the above rule would NOT enable SMTP - traffic between hosts on these interfaces. + + When all is used as a source or destination, + intra-zone traffic is not affected. In this example, if there were + two DMZ interfaces then the above rule would NOT enable SMTP traffic + between hosts on these interfaces. + - Your firewall's external interface has several IP addresses - but you only want to accept SSH connections on address 206.124.146.176. + Your firewall's external interface has several IP addresses but + you only want to accept SSH connections on address + 206.124.146.176. #ACTION SOURCE DEST PROTO DEST PORT(S) ACCEPT net fw:206.124.146.176 tcp 22 @@ -1822,7 +1923,29 @@ ACCEPT net dmz:192.0.2.177 tcp 25 DNAT net loc:192.168.1.101-192.168.1.109 tcp 80 - Look here for information on other services. + + (Shorewall 2.0.2 Beta 2 and Later). You want to redirect all + local www connection requests EXCEPT those from 192.168.1.4 and + 192.168.1.199 to a Squid transparent proxy running on the firewall and + listening on port 3128. + + #ACTION SOURCE DEST PROTO DEST PORT(S) SOURCE ORIGINAL +# PORT(S) DEST +NONAT loc:192.168.1.4,192.168.1.199 \ + net tcp www +REDIRECT loc 3128 tcp www - +ACCEPT fw net tcp www + + The reason that NONAT is used in the above example rather than + ACCEPT+ is that the example is assuming the usual ACCEPT loc->net + policy. Since traffic from the local zone to the internet zone is + accepted anyway, adding an additional ACCEPT rule is unnecessary and all + that is required is to avoid the REDIRECT rule for HTTP connection + requests from the two listed IP addresses. + + + Look here for information on other + services.
@@ -1845,13 +1968,15 @@ DNAT net loc:192.168.1.101-192.168.1.109 tcp 80 optionally qualified by adding : and a subnet or host IP. When this qualification is added, only packets addressed to that host or subnet will be masqueraded. Beginning with Shorewall version - 1.4.10, the interface name can be qualified with ":" - followed by a comma separated list of hosts and/or subnets. If this - list begins with ! (e.g., eth0:!192.0.2.8/29,192.0.2.32/29) - then only packets addressed to destinations not - listed will be masqueraded; otherwise (e.g., eth0:192.0.2.8/29,192.0.2.32/29), - traffic will be masqueraded if it does - match one of the listed addresses. + 1.4.10, the interface name can be qualified with ":" followed by a + comma separated list of hosts and/or subnets. If this list begins + with ! (e.g., + eth0:!192.0.2.8/29,192.0.2.32/29) then only packets + addressed to destinations not + listed will be masqueraded; otherwise (e.g., + eth0:192.0.2.8/29,192.0.2.32/29), traffic will be + masqueraded if it does match one of + the listed addresses. Beginning with Shorewall version 1.3.14, if you have set ADD_SNAT_ALIASES=Yes in , you can cause @@ -1912,6 +2037,48 @@ DNAT net loc:192.168.1.101-192.168.1.109 tcp 80 will use all listed ranges/addresses in rounde-robin fashion. + + + PROTO (Added in Shorewall version 2.0.2 Beta 1) + + + If specified, must be a protocol number of a protocol name + from /etc/protocols. Restricts the SNAT or Masquerade to that + protocol. + + + + + PORT(S) (Added in Shorewall version 2.0.2 Beta 1) + + + If the PROTO column specifies TCP (6) or UDP (17) then this + column may be used to restrict to SNAT or Masquerade to traffic with + a certain destination port or a set of destination ports. The column + may contain: + + + + A port number or a port name from /etc/services. + + + + A comma-separated list of port numbers and/or port names. + Your kernel must have Multiport match support. You can tell if + your kernel has this support by issuing a shorewall + check command and looking at the output under + Shorewall has detected the following iptables/netfilter + capabilities:. + + + + A range of port numbers of the form <low + port>:<high + port> + + + + @@ -1934,7 +2101,7 @@ ipsec0:10.1.0.0/16 192.168.9.0/24 You have a DSL line connected on eth0 and a local network - (192.168.10.0/24) connected to eth1. You want all local->net + (192.168.10.0/24) connected to eth1. You want all local->net connections to use source address 206.124.146.176. #INTERFACE SUBNET ADDRESS @@ -1950,18 +2117,18 @@ eth0 192.168.10.0/24!192.168.10.44,192.168.10.45 206.124.146.176 - <emphasis role="bold">(Shorewall version >= 1.3.14):</emphasis> - You have a second IP address (206.124.146.177) assigned to you and wish - to use it for SNAT of the subnet 192.168.12.0/24. You want to give that - address the name eth0:0. You must have ADD_SNAT_ALIASES=Yes in <xref - linkend="Conf" />. + <emphasis role="bold">(Shorewall version >= + 1.3.14):</emphasis> You have a second IP address (206.124.146.177) + assigned to you and wish to use it for SNAT of the subnet + 192.168.12.0/24. You want to give that address the name eth0:0. You must + have ADD_SNAT_ALIASES=Yes in <xref linkend="Conf" />. #INTERFACE SUBNET ADDRESS eth0:0 192.168.12.0/24 206.124.146.177 - <emphasis role="bold">(Shorewall version >= 1.4.7):</emphasis> + <title><emphasis role="bold">(Shorewall version >= 1.4.7):</emphasis> You want to use both 206.124.146.177 and 206.124.146.179 for SNAT of the subnet 192.168.12.0/24. Each address will be used on alternate outbound connections. @@ -1969,6 +2136,21 @@ eth0:0 192.168.12.0/24 206.124.146.177 #INTERFACE SUBNET ADDRESS eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 + + + <emphasis role="bold">(Shorewall version >= 2.0.2 Beta + 1):</emphasis> You want all outgoing SMTP traffic entering the firewall + on eth1 to be sent from eth0 with source IP address 206.124.146.177. You + want all other outgoing traffic from eth1 to be sent from eth0 with + source IP address 206.124.146.176. + + #INTERFACE SUBNET ADDRESS PROTO PORT(S) +eth0 eth1 206.124.146.177 tcp 25 +eth0 eth1 206.124.146.176 + + Note that the order of the entries in the above example is + important. +
@@ -1978,10 +2160,11 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179Proxy ARP Subnet Mini HOWTO. If you decide to use the technique described in that - HOWTO, you can set the proxy_arp flag for an interface (/proc/sys/net/ipv4/conf/<interface>/proxy_arp) + HOWTO, you can set the proxy_arp flag for an interface + (/proc/sys/net/ipv4/conf/<interface>/proxy_arp) by including the proxyarp option in the - interface's record in . When using Proxy - ARP sub-netting, you do NOT include any + interface's record in . When using Proxy ARP + sub-netting, you do NOT include any entries in /etc/shorewall/proxyarp. The /etc/shorewall/proxyarp file is used to @@ -2032,33 +2215,33 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179PERSISTENT - If you specify "No" or "no" in the HAVEROUTE - column, Shorewall will automatically add a route to the host in the - ADDRESS column through the interface in the INTERFACE column. If you - enter No or no in the PERSISTENT - column or if you leave the column empty, that route will be deleted - if you issue a shorewall stop or - shorewall clear command. If you place - Yes or yes in the PERSISTENT column, - then those commands will not cause the route to be deleted. + If you specify "No" or "no" in the HAVEROUTE column, Shorewall + will automatically add a route to the host in the ADDRESS column + through the interface in the INTERFACE column. If you enter + No or no in the PERSISTENT column or + if you leave the column empty, that route will be deleted if you + issue a shorewall stop or shorewall + clear command. If you place Yes or + yes in the PERSISTENT column, then those commands + will not cause the route to be deleted. - After you have made a change to the /etc/shorewall/proxyarp - file, you may need to flush the ARP cache of all routers on - the LAN segment connected to the interface specified in the EXTERNAL - column of the change/added entry(s). If you are having problems - communicating between an individual host (A) on that segment and a - system whose entry has changed, you may need to flush the ARP cache on - host A as well. + After you have made a change to the + /etc/shorewall/proxyarp file, you may need to flush + the ARP cache of all routers on the LAN segment connected to the + interface specified in the EXTERNAL column of the change/added entry(s). + If you are having problems communicating between an individual host (A) + on that segment and a system whose entry has changed, you may need to + flush the ARP cache on host A as well. ISPs typically have ARP configured with long TTL (hours!) so if your ISPs router has a stale cache entry (as seen using tcpdump - -nei <external interface> host <IP addr>), it - may take a long while to time out. I personally have had to contact my - ISP and ask them to delete a stale entry in order to restore a system to + -nei <external interface> host <IP addr>), it may + take a long while to time out. I personally have had to contact my ISP + and ask them to delete a stale entry in order to restore a system to working order after changing my proxy ARP settings. @@ -2072,18 +2255,21 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179In your DMZ, you want to install a Web/FTP server with public address 155.186.235.4. On the Web server, you subnet just like the - firewall's eth0 and you configure 155.186.235.1 as the default - gateway. In your /etc/shorewall/proxyarp file, you - will have: + firewall's eth0 and you configure 155.186.235.1 as the default gateway. + In your /etc/shorewall/proxyarp file, you will + have: #ADDRESS INTERFACE EXTERNAL HAVEROUTE 155.186.235.4 eth2 eth0 NO - You may want to configure the servers in your DMZ with - a subnet that is smaller than the subnet of your internet interface. See - the Proxy - ARP Subnet Mini HOWTO for details. In this case you will want to - place Yes in the HAVEROUTE column. + + You may want to configure the servers in your DMZ with a + subnet that is smaller than the subnet of your internet interface. + See the Proxy ARP + Subnet Mini HOWTO for details. In this case you will want to + place Yes in the HAVEROUTE column. + @@ -2092,12 +2278,12 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179/etc/shorewall/proxyarp. I haven't had the time - to debug this problem so I can't say if it is a bug in the Kernel or - in FreeS/Wan. + /etc/shorewall/proxyarp. I haven't had the time to + debug this problem so I can't say if it is a bug in the Kernel or in + FreeS/Wan. You might be able to work around - this problem using the following (I haven't tried it): + this problem using the following (I haven't tried it): In /etc/shorewall/init, include: @@ -2120,10 +2306,11 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 If all you want to do is forward ports to servers behind your firewall, you do NOT want to use one-to-one NAT. Port forwarding can be - accomplished with simple entries in the rules file. - Also, in most cases Proxy ARP provides a - superior solution to one-to-one NAT because the internal systems are - accessed using the same IP address internally and externally. + accomplished with simple entries in the rules + file. Also, in most cases Proxy + ARP provides a superior solution to one-to-one NAT because the + internal systems are accessed using the same IP address internally and + externally. Columns in an entry are: @@ -2181,13 +2368,17 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179LOCAL - If Yes or yes and the ALL INTERFACES column contains Yes or - yes, NAT will be effective from the firewall system. + If Yes or yes, NAT will be effective from the firewall system. + Note that with Shorewall 2.0.1 and earlier versions, this column was + ignored if the ALL INTERFACES column did not contain "Yes" or "yes". + Beginning with Shorewall 2.0.2 Beta 1, this column's contents are + independent of the value in ALL INTERFACES. For this to work, you must be running kernel 2.4.19 or later and iptables 1.2.6a or later and you must have enabled CONFIG_IP_NF_NAT_LOCAL in your kernel. + role="bold">CONFIG_IP_NF_NAT_LOCAL in your + kernel. @@ -2213,13 +2404,13 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 - Instructions for setting up IPSEC tunnels - may be found here, instructions for IPIP and GRE - tunnels are here, instructions for OpenVPN - tunnels are here, instructions for PPTP - tunnels are here, instructions for 6to4 - tunnels are here, and instructions for integrating Shorewall with other types of + Instructions for setting up IPSEC + tunnels may be found here, instructions for IPIP and GRE tunnels are here, instructions for + OpenVPN tunnels are here, instructions + for PPTP tunnels are here, instructions for + 6to4 tunnels are here, and instructions for + integrating Shorewall with other types of tunnels are here.
@@ -2229,6 +2420,52 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179This file is used to set the following firewall parameters:
+ + DYNAMIC_ZONES + + + (Added at version 2.0.2) - When set to Yes or yes, enables + dynamic zones. + + + + + CONFIG_PATH + + + (Added at version 2.0.2) - Specifies where configuration files + other than shorewall.conf may be found. + CONFIG_PATH is specifies as a list of directory names separated by + colons (":"). When looking for a configuration file other than + shorewall.conf: + + + + If the command is "try" or if "-c <configuration + directory>" was specified in the command then the directory + given in the command is searched first. + + + + Next, each directory in the CONFIG_PATH setting is + searched in sequence. + + + + If CONFIG_PATH is not given or if it is set to the empty value + then the contents of + /usr/share/shorewall/configpath are used. As + released from shorewall.net, that file sets the CONFIG_PATH to + /etc/shorewall:/usr/share/shorewall + but your particular distribution may set it + differently. + + Note that the setting in + /usr/share/shorewall/configpath is always used + to locate shorewall.conf. + + + BRIDGING @@ -2244,9 +2481,10 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 (Added at version 2.0.0) - Specifies the logging level for smurf packets (see the nosmurfs - option in /etc/shorewall/interfaces). - If set to the empty value ( SMURF_LOG_LEVEL="" ) then smurfs - are not logged. + option in /etc/shorewall/interfaces). If set to + the empty value ( SMURF_LOG_LEVEL="" ) then smurfs are not + logged. @@ -2256,8 +2494,8 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 (Added at version 1.4.9) - The value of this variable determines the possible file extensions of kernel modules. The - default value is "o gz ko and o.gz". See for more details. + default value is "o gz ko and o.gz". See + for more details. @@ -2266,7 +2504,7 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 (Added at version 1.4.7) - The value of this variable affects - Shorewall's stopped + Shorewall's stopped state. When ADMINISABSENTMINDES=No, only traffic to/from those addresses listed in /etc/shorewall/routestopped is accepted when Shorewall is stopped.When ADMINISABSENTMINDED=Yes, in addition @@ -2300,24 +2538,24 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179fireparse, set it as: - LOGFORMAT="fp=%s:%d a=%s " + LOGFORMAT="fp=%s:%d a=%s " - If the LOGFORMAT value contains the substring %d - then the logging rule number is calculated and formatted in that - position; if that substring is not included then the rule number is - not included. If not supplied or supplied as empty - (LOGFORMAT="") then Shorewall:%s:%s: is + If the LOGFORMAT value contains the substring + %d then the logging rule number is calculated and + formatted in that position; if that substring is not included then + the rule number is not included. If not supplied or supplied as + empty (LOGFORMAT="") then Shorewall:%s:%s: is assumed. /sbin/shorewall uses the leading part of the LOGFORMAT string (up to but not including the first - %) to find log messages in the show log, - status and hits commands. This part - should not be omitted (the LOGFORMAT should not begin with - %) and the leading part should be sufficiently - unique for /sbin/shorewall to identify - Shorewall messages. + %) to find log messages in the show + log, status and hits + commands. This part should not be omitted (the LOGFORMAT should + not begin with %) and the leading part should be + sufficiently unique for /sbin/shorewall to + identify Shorewall messages.
@@ -2327,15 +2565,16 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 (Added at version 1.3.13) - If this option is set to - No then Shorewall won't clear the current traffic + 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. If not specified, CLEAR_TC=Yes is assumed. + way, your traffic shaping rules can still use the + fwmark classifier based on packet marking defined in + /etc/shorewall/tcrules. If not specified, CLEAR_TC=Yes is + assumed. @@ -2354,7 +2593,7 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 command; if a FORWARD chain is displayed then your kernel will support this option. If this option is not specified or if it is given the empty value (e.g., - MARK_IN_FORWARD_CHAIN="") then MARK_IN_FORWARD_CHAIN=No is + MARK_IN_FORWARD_CHAIN="") then MARK_IN_FORWARD_CHAIN=No is assumed. @@ -2364,8 +2603,9 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 (Added at version 1.3.12) - This parameter determines the - level at which packets logged under the norfc1918 - mechanism are logged. The value must be a valid norfc1918 mechanism are + logged. The value must be a valid syslog level and if no level is given, then info is assumed. Prior to Shorewall version 1.3.12, these packets are always logged at the info level. @@ -2377,8 +2617,9 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 (Added at version 2.0.1) - This parameter determines the level - at which packets logged under the nobogons - mechanism are logged. The value must be a valid nobogons mechanism are + logged. The value must be a valid syslog level and if no level is given, then info is assumed. @@ -2393,8 +2634,8 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179tcpflags interface option and must have a value of ACCEPT (accept the packet), REJECT (send an RST response) or DROP (ignore the packet). If not set or if set to the empty value - (e.g., TCP_FLAGS_DISPOSITION="") then - TCP_FLAGS_DISPOSITION=DROP is assumed. + (e.g., TCP_FLAGS_DISPOSITION="") then TCP_FLAGS_DISPOSITION=DROP is + assumed. @@ -2406,9 +2647,9 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179syslog level for logging packets that fail the checks enabled by the tcpflags interface option.The value must - be a valid syslogd log level. If you don't want to log these + be a valid syslogd log level. If you don't want to log these packets, set to the empty value (e.g., - TCP_FLAGS_LOG_LEVEL=""). + TCP_FLAGS_LOG_LEVEL=""). @@ -2421,7 +2662,7 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 and must have the value ACCEPT (accept the connection request anyway), REJECT (reject the connection request) or DROP (ignore the connection request). If not set or if set to the - empty value (e.g., MACLIST_DISPOSITION="") then + empty value (e.g., MACLIST_DISPOSITION="") then MACLIST_DISPOSITION=REJECT is assumed. @@ -2434,8 +2675,8 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179syslog level for logging connection requests that fail MAC Verification. The value must be a valid syslogd log level. - If you don't want to log these connection requests, set to the - empty value (e.g., MACLIST_LOG_LEVEL=""). + If you don't want to log these connection requests, set to the empty + value (e.g., MACLIST_LOG_LEVEL=""). @@ -2464,7 +2705,8 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179syslog level at - which you want the packets logged. Example: LOGNEWNOTSYN=ULOG| + which you want the packets logged. Example: + LOGNEWNOTSYN=ULOG| Packets logged under this option are usually the result of @@ -2484,8 +2726,8 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179No or no, Shorewall will not detect this address and any destination IP address will match the DNAT - rule. If not specified or empty, DETECT_DNAT_ADDRS=Yes - is assumed. + rule. If not specified or empty, + DETECT_DNAT_ADDRS=Yes is assumed. @@ -2519,8 +2761,8 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179This parameter should be set to the name of a file that the firewall should create if it starts successfully and remove when it stops. Creating and removing this file allows Shorewall to work with - your distribution's initscripts. For RedHat, this should be set - to /var/lock/subsys/shorewall. For Debian, the value is + your distribution's initscripts. For RedHat, this should be set to + /var/lock/subsys/shorewall. For Debian, the value is /var/state/shorewall and in LEAF it is /var/run/shorwall. Example: SUBSYSLOCK=/var/lock/subsys/shorewall. @@ -2531,8 +2773,8 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 This parameter specifies the name of a directory where - Shorewall stores state information. If the directory doesn't - exist when Shorewall starts, it will create the directory. Example: + Shorewall stores state information. If the directory doesn't exist + when Shorewall starts, it will create the directory. Example: STATEDIR=/tmp/shorewall. @@ -2549,7 +2791,7 @@ eth0 192.168.12.0/24 206.124.146.177,206.124.146.179 This parameter specifies the directory where your kernel netfilter modules may be found. If you leave the variable empty, - Shorewall will supply the value "/lib/modules/`uname + Shorewall will supply the value "/lib/modules/`uname -r`/kernel/net/ipv4/netfilter. @@ -2577,7 +2819,8 @@ LOGBURST=5 be logged from the rule, regardless of how many packets reach it. Also, every 6 seconds which passes without matching a packet, one of the bursts will be regained; if no packets hit the rule for 30 - seconds, the burst will be fully recharged; back where we started. + seconds, the burst will be fully recharged; back where we + started. @@ -2588,9 +2831,9 @@ LOGBURST=5 This parameter tells the /sbin/shorewall program where to look for Shorewall messages when processing the show log, - monitor, status and hits - commands. If not assigned or if assigned an empty value, - /var/log/messages is assumed. + monitor, status and + hits commands. If not assigned or if assigned an + empty value, /var/log/messages is assumed. @@ -2630,7 +2873,7 @@ LOGBURST=5 If this variable is not set or is given an empty value - (IP_FORWARD="") then IP_FORWARD=On is assumed. + (IP_FORWARD="") then IP_FORWARD=On is assumed. @@ -2639,14 +2882,15 @@ LOGBURST=5 This parameter determines whether Shorewall automatically adds - the external address(es) in . - If the variable is set to Yes or yes - then Shorewall automatically adds these aliases. If it is set to - No or no, you must add these aliases - yourself using your distribution's network configuration tools. + the external address(es) in . If the variable is set to Yes or + yes then Shorewall automatically adds these aliases. + If it is set to No or no, you must add + these aliases yourself using your distribution's network + configuration tools. If this variable is not set or is given an empty value - (ADD_IP_ALIASES="") then ADD_IP_ALIASES=Yes is assumed. + (ADD_IP_ALIASES="") then ADD_IP_ALIASES=Yes is assumed. @@ -2659,10 +2903,11 @@ LOGBURST=5 the variable is set to Yes or yes then Shorewall automatically adds these addresses. If it is set to No or no, you must add these addresses - yourself using your distribution's network configuration tools. + yourself using your distribution's network configuration + tools. If this variable is not set or is given an empty value - (ADD_SNAT_ALIASES="") then ADD_SNAT_ALIASES=No is assumed. + (ADD_SNAT_ALIASES="") then ADD_SNAT_ALIASES=No is assumed. @@ -2673,10 +2918,10 @@ LOGBURST=5 This parameter determines the logging level of mangled/invalid packets controlled by the dropunclean and logunclean interface options. If LOGUNCLEAN is empty (LOGUNCLEAN=) then packets - selected by dropclean are dropped silently (logunclean - packets are logged under the info log level). - Otherwise, these packets are logged at the specified level (Example: - LOGUNCLEAN=debug). + selected by dropclean are dropped silently + (logunclean packets are logged under the + info log level). Otherwise, these packets are logged + at the specified level (Example: LOGUNCLEAN=debug). @@ -2698,10 +2943,10 @@ LOGBURST=5 This paremter determines if packets from blacklisted hosts are logged and it determines the syslog level that they are to be logged - at. Its value is a syslog level - (Example: BLACKLIST_LOGLEVEL=debug). If you do not assign a value or - if you assign an empty value then packets from blacklisted hosts are - not logged. + at. Its value is a syslog + level (Example: BLACKLIST_LOGLEVEL=debug). If you do not + assign a value or if you assign an empty value then packets from + blacklisted hosts are not logged. @@ -2713,7 +2958,8 @@ LOGBURST=5 Netfilter and is usually required when your internet connection is through PPPoE or PPTP. If set to Yes or yes, the feature is enabled. If left blank or set to - No or no, the feature is not enabled. + No or no, the feature is not + enabled. This option requires CONFIG_IP_NF_TARGET_TCPMSS parameter exists (see above). The file that is released with Shorewall calls the Shorewall - function loadmodule for the set of modules that I load. + function loadmodule for the set of modules that I + load. - The loadmodule function is called as follows: + The loadmodule function is called as + follows: - loadmodule <modulename> [ <module parameters> ] + loadmodule <modulename> [ <module parameters> ] where - <modulename> + <modulename> is the name of the modules without the trailing @@ -2764,7 +3012,7 @@ LOGBURST=5 - <module parameters> + <module parameters> Optional parameters to the insmod utility. @@ -2772,31 +3020,31 @@ LOGBURST=5 - The function determines if the module named by <modulename> - is already loaded and if not then the function determines if the - .o file corresponding to the module exists in the - <moduledirectory>; if so, then the following - command is executed: + The function determines if the module named by + <modulename> is already loaded and if not then + the function determines if the .o file corresponding to the + module exists in the <moduledirectory>; if so, + then the following command is executed: - insmod <moduledirectory>/<modulename>.o <module parameters> + insmod <moduledirectory>/<modulename>.o <module parameters> - If the file doesn't exist, the function determines of the + If the file doesn't exist, the function determines of the .o.gz file corresponding to the module exists in the moduledirectory. If it does, the function assumes that the running configuration supports compressed modules and execute the following command: - insmod <moduledirectory>/<modulename>.o.gz <module parameters> + insmod <moduledirectory>/<modulename>.o.gz <module parameters> Beginning with the 1.4.9 Shorewall release, the value of the MODULE_SUFFIX option in determines which files the loadmodule function - looks for if the named module doesn't exist. For each file - <extension> listed in MODULE_SUFFIX (default - "o gz ko o.gz"), the function will append a period (".") - and the extension and if the resulting file exists then the following - command will be executed: + looks for if the named module doesn't exist. For each file + <extension> listed in MODULE_SUFFIX (default "o + gz ko o.gz"), the function will append a period (".") and the extension + and if the resulting file exists then the following command will be + executed: - insmod moduledirectory/<modulename>.<extension> <module parameters> + insmod moduledirectory/<modulename>.<extension> <module parameters>
@@ -2805,7 +3053,8 @@ LOGBURST=5 The /etc/shorewall/tos file allows you to set the Type of Service field in packet headers based on packet source, packet destination, protocol, source port and destination port. In order for this - file to be processed by Shorewall, you must have mangle support enabled. + file to be processed by Shorewall, you must have mangle support + enabled. Entries in the file have the following columns: @@ -2816,11 +3065,11 @@ LOGBURST=5 The source zone. May be qualified by following the zone name with a colon (:) and either an IP address, an IP - subnet, a MAC address in - Shorewall Format or the name of an interface. This column - may also contain the name of the firewall zone to indicate packets - originating on the firewall itself or all to indicate - any source. + subnet, a MAC address in Shorewall Format + or the name of an interface. This column may also contain the name + of the firewall zone to indicate packets originating on the firewall + itself or all to indicate any source. @@ -2840,8 +3089,8 @@ LOGBURST=5 PROTOCOL - The name of a protocol in /etc/protocols or - the protocol's number. + The name of a protocol in /etc/protocols + or the protocol's number. @@ -2917,12 +3166,13 @@ all all tcp ftp-data - 8Packets from hosts listed in the blacklist file will be disposed of according to the value assigned to the - BLACKLIST_DISPOSITION and BLACKLIST_LOGLEVEL - variables in /etc/shorewall/shorewall.conf. Only packets arriving on - interfaces that have the blacklist - option in /etc/shorewall/interfaces are checked - against the blacklist. The black list is designed to prevent listed - hosts/subnets from accessing services on your + BLACKLIST_DISPOSITION and BLACKLIST_LOGLEVEL variables in + /etc/shorewall/shorewall.conf. Only packets arriving on interfaces that + have the blacklist option + in /etc/shorewall/interfaces are checked against the + blacklist. The black list is designed to prevent listed hosts/subnets from + accessing services on your network. Beginning with Shorewall 1.3.8, the blacklist file has three @@ -2955,7 +3205,8 @@ all all tcp ftp-data - 8iptables -h icmp). + of ICMP type numbers or names (see iptables -h + icmp). @@ -2964,10 +3215,11 @@ all all tcp ftp-data - 8. - The Shorewall blacklist file is NOT - designed to police your users' web browsing -- to do that, I suggest - that you install and configure Squid - with SquidGuard. + The Shorewall blacklist file is NOT designed to police your users' web browsing + -- to do that, I suggest that you install and configure Squid with SquidGuard.
@@ -2999,7 +3251,8 @@ all all tcp ftp-data - 8RETURN - Process the packet normally thru the rules and policies. + Process the packet normally thru the rules and + policies. @@ -3015,8 +3268,9 @@ all all tcp ftp-data - 8logdrop - Log then drop the packet -- see the RFC1918_LOG_LEVEL - parameter above. + Log then drop the packet -- see the RFC1918_LOG_LEVEL parameter + above. @@ -3024,9 +3278,9 @@ all all tcp ftp-data - 8 - If you want to modify this file, DO NOT MODIFY /usr/share/shorewall/rfc1918. - Rather copy that file to /etc/shorewall/rfc1918 and - modify the copy. + If you want to modify this file, DO NOT MODIFY + /usr/share/shorewall/rfc1918. Rather copy that file + to /etc/shorewall/rfc1918 and modify the copy.
@@ -3034,7 +3288,8 @@ all all tcp ftp-data - 8This file lists the subnets affected by the nobogons interface option and nobogons hosts option. Columns in the file are: + linkend="Hosts">nobogons hosts option. Columns in the file + are: @@ -3056,7 +3311,8 @@ all all tcp ftp-data - 8RETURN - Process the packet normally thru the rules and policies. + Process the packet normally thru the rules and + policies. @@ -3072,8 +3328,8 @@ all all tcp ftp-data - 8logdrop - Log then drop the packet -- see the BOGONS_LOG_LEVEL - parameter above. + Log then drop the packet -- see the BOGONS_LOG_LEVEL parameter above. @@ -3081,16 +3337,17 @@ all all tcp ftp-data - 8 - If you want to modify this file, DO NOT MODIFY /usr/share/shorewall/bogons. - Rather copy that file to /etc/shorewall/bogons and - modify the copy. + If you want to modify this file, DO NOT MODIFY + /usr/share/shorewall/bogons. Rather copy that file to + /etc/shorewall/bogons and modify the copy.
/etc/shorewall/netmap (Added in Version 2.0.1) - Network mapping is defined using the /etc/shorewall/netmap - file. Columns in this file are: + Network mapping is defined using the + /etc/shorewall/netmap file. Columns in this file + are: @@ -3100,12 +3357,12 @@ all all tcp ftp-data - 8Must be DNAT or SNAT. If DNAT, traffic entering INTERFACE and addressed to NET1 has - it's destination address rewritten to the corresponding address - in NET2. + it's destination address rewritten to the corresponding address in + NET2. If SNAT, traffic leaving INTERFACE with a source address in - NET1 has it's source address rewritten to the corresponding - address in NET2. + NET1 has it's source address rewritten to the corresponding address + in NET2. @@ -3113,7 +3370,8 @@ all all tcp ftp-data - 8NET1 - Must be expressed in CIDR format (e.g., 192.168.1.0/24). + Must be expressed in CIDR format (e.g., + 192.168.1.0/24). @@ -3122,7 +3380,8 @@ all all tcp ftp-data - 8 A firewall interface. This interface must have been defined in - /etc/shorewall/interfaces. + /etc/shorewall/interfaces. @@ -3200,15 +3459,108 @@ eth1 - Revision History - 1.162004-03-17TEClarified - LOGBURST and LOGLIMIT.1.152004-02-16TEMove - the rfc1918 file to /usr/share/shorewall.1.142004-02-13TEAdd - a note about the order of rules.1.132004-02-03TEUpdate - for Shorewall 2.0.1.122004-01-21TEAdd - masquerade destination list.1.122004-01-18TECorrect - typo.1.112004-01-05TEStandards - Compliance1.102004-01-05TEImproved - formatting of DNAT- and REDIRECT- for clarity1.92003-12-25MNInitial - Docbook Conversion Complete + + + 1.17 + + 2004-04-05 + + TE + + Update for Shorewall 2.0.2 + + + + 1.16 + + 2004-03-17 + + TE + + Clarified LOGBURST and LOGLIMIT. + + + + 1.15 + + 2004-02-16 + + TE + + Move the rfc1918 file to + /usr/share/shorewall. + + + + 1.14 + + 2004-02-13 + + TE + + Add a note about the order of rules. + + + + 1.13 + + 2004-02-03 + + TE + + Update for Shorewall 2.0. + + + + 1.12 + + 2004-01-21 + + TE + + Add masquerade destination list. + + + + 1.12 + + 2004-01-18 + + TE + + Correct typo. + + + + 1.11 + + 2004-01-05 + + TE + + Standards Compliance + + + + 1.10 + + 2004-01-05 + + TE + + Improved formatting of DNAT- and REDIRECT- for + clarity + + + + 1.9 + + 2003-12-25 + + MN + + Initial Docbook Conversion Complete + + \ No newline at end of file diff --git a/Shorewall-docs2/Documentation_Index.xml b/Shorewall-docs2/Documentation_Index.xml index 90e80114b..4b6a2229a 100644 --- a/Shorewall-docs2/Documentation_Index.xml +++ b/Shorewall-docs2/Documentation_Index.xml @@ -64,7 +64,7 @@ Please review the appropriate guide before trying to use this documentation directly. - + Accounting @@ -391,5 +391,5 @@ White List Creation - + \ No newline at end of file diff --git a/Shorewall-docs2/FAQ.xml b/Shorewall-docs2/FAQ.xml index 50e9c792b..98a677de4 100644 --- a/Shorewall-docs2/FAQ.xml +++ b/Shorewall-docs2/FAQ.xml @@ -17,7 +17,7 @@ - 2004-03-05 + 2004-05-04 2001-2004 @@ -31,7 +31,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -52,8 +53,8 @@
(FAQ 1) I want to forward UDP port 7777 to my my personal PC with - IP address 192.168.1.5. I've looked everywhere and can't find - how to do it. + IP address 192.168.1.5. I've looked everywhere and can't find how to do + it. Answer: The first example in the rules file documentation @@ -61,7 +62,7 @@ port-forwarding rule to a local system is as follows: #ACTION SOURCE DEST PROTO DEST PORT -DNAT net loc:<local IP address>[:<local port>] <protocol> <port #> +DNAT net loc:<local IP address>[:<local port>] <protocol> <port #> So to forward UDP port 7777 to internal system 192.168.1.5, the rule is: @@ -70,18 +71,19 @@ DNAT net loc:<local IP address>[:< DNAT net loc:192.168.1.5 udp 7777 If you want to forward requests directed to a particular address ( - <external IP> ) on your firewall to an + <external IP> ) on your firewall to an internal system: #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL # PORT DEST. -DNAT net loc:<local IP address>[:<local port>] <protocol> <port #> - <external IP> +DNAT net loc:<local IP address>[:<local port>] <protocol> <port #> - <external IP> Finally, if you need to forward a range of ports, in the PORT - column specify the range as <low-port>:<high-port>. + column specify the range as + <low-port>:<high-port>.
- (FAQ 1a) Ok -- I followed those instructions but it doesn't + <title>(FAQ 1a) Ok -- I followed those instructions but it doesn't work Answer: That is usually the @@ -90,14 +92,14 @@ DNAT net loc:<local IP address>[:< You are trying to test from inside your firewall (no, that - won't work -- see ). + won't work -- see ). You have a more basic problem with your local system (the one that you are trying to forward to) such as an incorrect default gateway (it should be set to the IP address of your - firewall's internal interface). + firewall's internal interface). @@ -107,40 +109,42 @@ DNAT net loc:<local IP address>[:< You are running Mandrake Linux and have configured Internet Connection Sharing. In that case, the name of your local zone is - 'masq' rather than 'loc' (change all instances of - 'loc' to 'masq' in your rules). You may want to - consider re-installing Shorewall in a configuration which matches - the Shorewall documentation. See the two-interface QuickStart Guide for - details. + 'masq' rather than 'loc' (change all instances of 'loc' to 'masq' + in your rules). You may want to consider re-installing Shorewall + in a configuration which matches the Shorewall documentation. See + the two-interface QuickStart + Guide for details.
- (FAQ 1b) I'm still having problems with port forwarding + (FAQ 1b) I'm still having problems with port forwarding Answer: To further diagnose this problem: - As root, type iptables -t nat -Z. - This clears the NetFilter counters in the nat table. + As root, type iptables -t nat + -Z. This clears the NetFilter counters in the + nat table. - Try to connect to the redirected port from an external host. + Try to connect to the redirected port from an external + host. - As root type shorewall show nat + As root type shorewall show + nat Locate the appropriate DNAT rule. It will be in a chain - called <source zone>_dnat (net_dnat - in the above examples). + called <source zone>_dnat + (net_dnat in the above examples). @@ -149,7 +153,7 @@ DNAT net loc:<local IP address>[:< @@ -166,12 +170,13 @@ DNAT net loc:<local IP address>[:<you are trying to connect to a secondary IP address on your firewall and your rule is only redirecting the primary IP address (You need to specify the secondary IP address in the - ORIG. DEST. column in your DNAT rule); or + ORIG. DEST. column in your DNAT rule); + or - your DNAT rule doesn't match the connection request - in some other way. In that case, you may have to use a packet + your DNAT rule doesn't match the connection request in + some other way. In that case, you may have to use a packet sniffer such as tcpdump or ethereal to further diagnose the problem. @@ -193,8 +198,8 @@ DNAT net loc:192.168.3:22 tcp 1022
- (FAQ 30) I'm confused about when to use DNAT rules and when - to use ACCEPT rules. + (FAQ 30) I'm confused about when to use DNAT rules and when to + use ACCEPT rules. It would be a good idea to review the QuickStart Guide @@ -216,7 +221,7 @@ DNAT net loc:192.168.3:22 tcp 1022 (FAQ 2) I port forward www requests to www.mydomain.com (IP 130.151.100.69) to system 192.168.1.5 in my local network. External clients can browse http://www.mydomain.com but internal clients - can't. + can't. Answer: I have two objections to this setup. @@ -225,7 +230,7 @@ DNAT net loc:192.168.3:22 tcp 1022 Having an internet-accessible server in your local network is like raising foxes in the corner of your hen house. If the server is - compromised, there's nothing between that server and your other + compromised, there's nothing between that server and your other internal systems. For the cost of another NIC and a cross-over cable, you can put your server in a DMZ such that it is isolated from your local systems - assuming that the Server can be located @@ -234,11 +239,11 @@ DNAT net loc:192.168.3:22 tcp 1022 The accessibility problem is best solved using Bind Version 9 views - (or using a separate DNS server for local clients) such that - www.mydomain.com resolves to 130.141.100.69 externally and - 192.168.1.5 internally. That's what I do here at shorewall.net - for my local systems that use one-to-one NAT. + url="shorewall_setup_guide.htm#DNS">Bind Version 9 + views (or using a separate DNS server for + local clients) such that www.mydomain.com resolves to 130.141.100.69 + externally and 192.168.1.5 internally. That's what I do here at + shorewall.net for my local systems that use one-to-one NAT. @@ -254,9 +259,11 @@ DNAT net loc:192.168.3:22 tcp 1022 If you are running Shorewall 1.4.1 or Shorewall 1.4.1a, please upgrade to Shorewall 1.4.2 or later. - Otherwise:In this configuration, all loc->loc - traffic will look to the server as if it came from the firewall rather - than from the original client! + Otherwise: + In this configuration, all loc->loc traffic will look to + the server as if it came from the firewall rather than from the + original client! + @@ -267,23 +274,25 @@ loc eth1 detect routeback

- In /etc/shorewall/rules: + In /etc/shorewall/rules (Assuming that + your local network is 192.168.1.0/24): - #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL -# PORT DEST. -DNAT loc loc:192.168.1.5 tcp www - 130.151.100.69:192.168.1.254 + #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL +# PORT DEST. +DNAT loc:192.168.1.0/24 loc:192.168.1.5 tcp www - 130.151.100.69:192.168.1.254 That rule only works of course if you have a static external IP address. If you have a dynamic IP address and are running - Shorewall 1.3.4 or later then include this in /etc/shorewall/init: + Shorewall 1.3.4 or later then include this in + /etc/shorewall/init:
ETH0_IP=`find_interface_address eth0` and make your DNAT rule: - #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL -# PORT DEST. -DNAT loc loc:192.168.1.5 tcp www - $ETH0_IP:192.168.1.254 + #ACTION SOURCE DEST PROTO DEST PORT SOURCE ORIGINAL +# PORT DEST. +DNAT loc:192.168.1.0/24 loc:192.168.1.5 tcp www - $ETH0_IP:192.168.1.254 Using this technique, you will want to configure your DHCP/PPPoE client to automatically restart Shorewall each time that @@ -295,14 +304,14 @@ DNAT loc loc:192.168.1.5 tcp www - $ETH0_IP:19 (FAQ 2a) I have a zone <quote>Z</quote> with an RFC1918 subnet and I use one-to-one NAT to assign non-RFC1918 addresses to hosts in Z. Hosts in Z cannot communicate with each other using their external - (non-RFC1918 addresses) so they can't access each other using - their DNS names. + (non-RFC1918 addresses) so they can't access each other using their + DNS names. If the ALL INTERFACES column in /etc/shorewall/nat is empty or contains Yes, you will also see log messages like the following when trying to access a host in Z from another host in Z - using the destination hosts's public address: + using the destination hosts's public address: Oct 4 10:26:40 netgw kernel: Shorewall:FORWARD:REJECT:IN=eth1 OUT=eth1 SRC=192.168.118.200 @@ -313,19 +322,19 @@ DNAT loc loc:192.168.1.5 tcp www - $ETH0_IP:19 Answer: This is another problem that is best solved using Bind Version 9 views. It allows both external and internal clients to access a NATed host using - the host's DNS name. + the host's DNS name. Another good way to approach this problem is to switch from one-to-one NAT to Proxy ARP. That way, the hosts in Z have non-RFC1918 addresses and can be accessed externally and internally using the same address. - If you don't like those solutions and prefer routing all - Z->Z traffic through your firewall then: + If you don't like those solutions and prefer routing all Z->Z + traffic through your firewall then: - Set the Z->Z policy to ACCEPT. + Set the Z->Z policy to ACCEPT. @@ -341,7 +350,7 @@ DNAT loc loc:192.168.1.5 tcp www - $ETH0_IP:19 Yes. - In this configuration, all Z->Z traffic will look to + In this configuration, all Z->Z traffic will look to the server as if it came from the firewall rather than from the original client! I DO NOT RECOMMEND THIS SETUP. @@ -389,13 +398,13 @@ eth2 192.168.2.0/24 following:
- > I know PoM -ng is going to address this issue, but till it - is ready, and > all the extras are ported to it, is there any way - to use the h.323 > contrack module kernel patch with a 2.6 kernel? - > Running 2.6.1 - no 2.4 kernel stuff on the system, so downgrade - is not > an option... The module is not ported yet to 2.6, sorry. - > Do I have any options besides a gatekeeper app (does not work in - my > network) or a proxy (would prefer to avoid them)? I suggest + > I know PoM -ng is going to address this issue, but till it + is ready, and > all the extras are ported to it, is there any way + to use the h.323 > contrack module kernel patch with a 2.6 kernel? + > Running 2.6.1 - no 2.4 kernel stuff on the system, so downgrade + is not > an option... The module is not ported yet to 2.6, sorry. + > Do I have any options besides a gatekeeper app (does not work in + my > network) or a proxy (would prefer to avoid them)? I suggest everyone to setup a proxy (gatekeeper) instead: the module is really dumb and does not deserve to exist at all. It was an excellent tool to debug/develop the newnat interface. @@ -404,7 +413,8 @@ eth2 192.168.2.0/24 Look here for a solution for MSN IM but be aware that there are significant security risks involved with this solution. Also check the Netfilter - mailing list archives at http://www.netfilter.org. + mailing list archives at http://www.netfilter.org.
@@ -428,14 +438,15 @@ eth2 192.168.2.0/24 cuts down slightly on the amount of Windows chatter on LAN segments connected to the Firewall. - If you are seeing port 80 being closed, that's + If you are seeing port 80 being closed, that's probably your ISP preventing you from running a web server in violation of your Service Agreement. You can change the default behavior of Shorewall through use of an /etc/shorewall/common file. See the Extension Script Section. + url="shorewall_extension_scripts.htm">Extension Script + Section. @@ -450,14 +461,16 @@ eth2 192.168.2.0/24 the default policy to all zone from the internet is DROP. The Drop action is defined in /etc/shorewall/action.Drop which in turn invokes the RejectAuth - action (defined in /etc/shorewall/action.RejectAuth). - This is necessary to prevent outgoing connection problems to services - that use the Auth mechanism for identifying requesting - users. That is the only service which the default setup rejects. + action (defined in + /etc/shorewall/action.RejectAuth). This is + necessary to prevent outgoing connection problems to services that use + the Auth mechanism for identifying requesting users. That + is the only service which the default setup rejects. If you are seeing closed TCP ports other than 113 (auth) then either you have added rules to REJECT those ports or a router outside of - your firewall is responding to connection requests on those ports. + your firewall is responding to connection requests on those + ports.
(FAQ 4a) I just ran an nmap UDP scan of my firewall and it @@ -467,12 +480,12 @@ eth2 192.168.2.0/24</programlisting> read the nmap man page section about UDP scans. If nmap gets <emphasis role="bold">nothing</emphasis> back from your firewall then it reports the port as open. If you want to see which UDP ports are really open, - temporarily change your net->all policy to REJECT, restart + temporarily change your net->all policy to REJECT, restart Shorewall and do the nmap UDP scan again.</para> </section> <section id="faq4b"> - <title>(FAQ 4b) I have a port that I can't close no matter how I + <title>(FAQ 4b) I have a port that I can't close no matter how I change my rules. I had a rule that allowed telnet from my local network to my @@ -490,8 +503,9 @@ eth2 192.168.2.0/24 (FAQ 4c) How to I use Shorewall with PortSentry? Here's - a writeup on a nice integration of Shorewall and PortSentry. + url="http://www.shorewall.net/pub/shorewall/contrib/PortsentryHOWTO.txt">Here's + a writeup on a nice integration of Shorewall and + PortSentry.
@@ -500,8 +514,8 @@ eth2 192.168.2.0/24 Connection Problems
- (FAQ 5) I've installed Shorewall and now I can't ping - through the firewall + (FAQ 5) I've installed Shorewall and now I can't ping through the + firewall Answer: If you want your firewall to be totally open for ping, @@ -509,7 +523,7 @@ eth2 192.168.2.0/24 Create /etc/shorewall/common if it - doesn't already exist. + doesn't already exist. @@ -518,7 +532,8 @@ eth2 192.168.2.0/24 - Add the following to /etc/shorewall/common + Add the following to + /etc/shorewall/common run_iptables -A icmpdef -p ICMP --icmp-type echo-request -j ACCEPT @@ -529,18 +544,18 @@ eth2 192.168.2.0/24
- (FAQ 15) My local systems can't see out to the net + (FAQ 15) My local systems can't see out to the net Answer: Every time I read - systems can't see out to the net, I wonder where the + systems can't see out to the net, I wonder where the poster bought computers with eyes and what those computers will see when things are working properly. That aside, the most common causes of this problem are: - The default gateway on each local system isn't set to the - IP address of the local firewall interface. + The default gateway on each local system isn't set to the IP + address of the local firewall interface. @@ -550,32 +565,34 @@ eth2 192.168.2.0/24 The DNS settings on the local systems are wrong or the user is - running a DNS server on the firewall and hasn't enabled UDP and - TCP port 53 from the firewall to the internet. + running a DNS server on the firewall and hasn't enabled UDP and TCP + port 53 from the firewall to the internet.
- (FAQ 29) FTP Doesn't Work + (FAQ 29) FTP Doesn't Work - See the Shorewall and FTP page. + See the Shorewall and FTP + page.
(FAQ 33) From clients behind the firewall, connections to some sites fail. Connections to the same sites from the firewall itself work - fine. What's wrong. + fine. What's wrong. Answer: Most likely, you need to - set CLAMPMSS=Yes in /etc/shorewall/shorewall.conf. + set CLAMPMSS=Yes in /etc/shorewall/shorewall.conf.
(FAQ 35) I have two Ethernet interfaces to my local network which - I have bridged. When Shorewall is started, I'm unable to pass - traffic through the bridge. I have defined the bridge interface (br0) as - the local interface in /etc/shorewall/interfaces; the bridged Ethernet + I have bridged. When Shorewall is started, I'm unable to pass traffic + through the bridge. I have defined the bridge interface (br0) as the + local interface in /etc/shorewall/interfaces; the bridged Ethernet interfaces are not defined to Shorewall. How do I tell Shorewall to allow traffic through the bridge? @@ -593,37 +610,39 @@ eth2 192.168.2.0/24 the destination? Answer: NetFilter uses the - kernel's equivalent of syslog (see man syslog) to log - messages. It always uses the LOG_KERN (kern) facility (see - man openlog) and you get to choose the log level (again, - see man syslog) in your man syslog) to log + messages. It always uses the LOG_KERN (kern) facility (see man + openlog) and you get to choose the log level (again, see + man syslog) in your policies and rules. The destination for - messaged logged by syslog is controlled by /etc/syslog.conf - (see man syslog.conf). When you have changed - /etc/syslog.conf, be sure to restart syslogd (on a RedHat system, - service syslog restart). + messaged logged by syslog is controlled by + /etc/syslog.conf (see man + syslog.conf). When you have changed /etc/syslog.conf, be sure to + restart syslogd (on a RedHat system, service syslog + restart). By default, older versions of Shorewall ratelimited log messages through settings in /etc/shorewall/shorewall.conf -- If you want to log all messages, set: - LOGLIMIT="" -LOGBURST="" + LOGLIMIT="" +LOGBURST="" Beginning with Shorewall version 1.3.12, you can set up Shorewall to log all of its messages to a separate file.
- (FAQ 6a) Are there any log parsers that work with Shorewall? + (FAQ 6a) Are there any log parsers that work with + Shorewall? Answer: Here are several links that may be helpful: http://www.shorewall.net/pub/shorewall/parsefw/ + url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/pub/shorewall/parsefw/ http://www.fireparse.com http://cert.uni-stuttgart.de/projects/fwlogwatch http://www.logwatch.org @@ -713,10 +732,23 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p - ExampleMAC=00:04:4c:dc:e2:28:00:b0:8e:cf:3c:4c:08:00Destination - MAC address = 00:04:4c:dc:e2:28Source - MAC address = 00:b0:8e:cf:3c:4cEthernet - Frame Type = 08:00 (IP Version 4) + + Example + + MAC=00:04:4c:dc:e2:28:00:b0:8e:cf:3c:4c:08:00 + + Destination MAC address = 00:04:4c:dc:e2:28 + + + + Source MAC address = 00:b0:8e:cf:3c:4c + + + + Ethernet Frame Type = 08:00 (IP Version 4) + + +
@@ -725,22 +757,23 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p making it unusable! Answer: If you are running - Shorewall version 1.4.4 or 1.4.4a then check the errata. - Otherwise: + Shorewall version 1.4.4 or 1.4.4a then check the errata. Otherwise: Find where klogd is being started (it will be from one of the files in /etc/init.d -- sysklogd, klogd, ...). Modify that file or the appropriate configuration file so that klogd is started with - -c <n> where - <n> is a log level of 5 or less; or + -c <n> where + <n> is a log level of 5 or less; + or - See the dmesg man page (man dmesg). - You must add a suitable dmesg command to your startup - scripts or place it in /etc/shorewall/start. + See the dmesg man page (man + dmesg). You must add a suitable dmesg command + to your startup scripts or place it in /etc/shorewall/start. @@ -776,9 +809,10 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p man1918 or logdrop - The destination address is listed in /usr/share/shorewall/rfc1918 - with a logdrop target -- see - /usr/share/shorewall/rfc1918. + The destination address is listed in + /usr/share/shorewall/rfc1918 with a logdrop target -- see /usr/share/shorewall/rfc1918. @@ -794,23 +828,25 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p - all2<zone>, <zone>2all or all2all + all2<zone>, <zone>2all or all2all - You have a policy - that specifies a log level and this packet is being logged under - that policy. If you intend to ACCEPT this traffic then you need a - rule to that effect. + You have a policy that specifies a log + level and this packet is being logged under that policy. If you + intend to ACCEPT this traffic then you need a rule to that effect. - <zone1>2<zone2> + <zone1>2<zone2> - Either you have a policy - for <zone1> to <zone2> that specifies a log level + Either you have a policy for <zone1> to <zone2> that specifies a log level and this packet is being logged under that policy or this packet matches a rule that includes a log level. @@ -818,11 +854,13 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p - <interface>_mac + <interface>_mac - The packet is being logged under the maclist - interface option. + The packet is being logged under the maclist interface + option. @@ -830,8 +868,10 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p logpkt - The packet is being logged under the logunclean - interface option. + The packet is being logged under the logunclean interface + option. @@ -839,10 +879,12 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p badpkt - The packet is being logged under the dropunclean - interface option - as specified in the LOGUNCLEAN - setting in /etc/shorewall/shorewall.conf. + The packet is being logged under the dropunclean interface option as + specified in the LOGUNCLEAN + setting in /etc/shorewall/shorewall.conf. @@ -864,8 +906,9 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p The packet is being logged because it is a TCP packet that is not part of any current connection yet it is not a syn packet. Options affecting the logging of such packets include NEWNOTSYN and LOGNEWNOTSYN - in /etc/shorewall/shorewall.conf. + role="bold">NEWNOTSYN and LOGNEWNOTSYN in /etc/shorewall/shorewall.conf. @@ -873,12 +916,12 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p INPUT or FORWARD - The packet has a source IP address that isn't in any of - your defined zones (shorewall check and look at the + The packet has a source IP address that isn't in any of your + defined zones (shorewall check and look at the printed zone definitions) or the chain is FORWARD and the - destination IP isn't in any of your defined zones. Also see - for another cause of packets being logged - in the FORWARD chain. + destination IP isn't in any of your defined zones. Also see for another cause of packets being logged in + the FORWARD chain. @@ -888,7 +931,8 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p The packet is being logged because it failed the checks implemented by the tcpflags - interface option. + interface + option. @@ -897,20 +941,24 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p Here is an example: Jun 27 15:37:56 gateway kernel: - Shorewall:all2all:REJECT:IN=eth2 OUT=eth1 SRC=192.168.2.2 - DST=192.168.1.3 LEN=67 TOS=0x00 PREC=0x00 TTL=63 ID=5805 DF PROTO=UDP - SPT=1803 DPT=53 LEN=47 + Shorewall:all2all:REJECT:IN=eth2 OUT=eth1 SRC=192.168.2.2 + DST=192.168.1.3 LEN=67 TOS=0x00 PREC=0x00 TTL=63 ID=5805 DF PROTO=UDP + SPT=1803 DPT=53 LEN=47 - Let's look at the important parts of this message: + Let's look at the important parts of this message: all2all:REJECT - This packet was REJECTed out of the all2all - chain -- the packet was rejected under the all->all - REJECT policy ( above). + This packet was REJECTed out of the all2all chain -- the packet was rejected + under the all->all REJECT + policy ( above). @@ -971,7 +1019,8 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p url="http://logi.cc/linux/netfilter-log-format.php3">http://logi.cc/linux/netfilter-log-format.php3. In this case, 192.168.2.2 was in the dmz zone and - 192.168.1.3 is in the loc zone. I was missing the rule: + 192.168.1.3 is in the loc zone. I was missing the + rule: ACCEPT dmz loc udp 53 @@ -1012,15 +1061,15 @@ url="http://www.shorewall.net/pub/shorewall/parsefw/">http://www.shorewall.net/p UDP port 2857. This causes a port unreachable (type 3, code 3) to be generated back to 192.0.2.3. As this packet is sent back through 206.124.146.179, that box correctly changes the source address in the - packet to 206.124.146.179 but doesn't reset the DST IP in the - original DNS response similarly. When the ICMP reaches your firewall - (192.0.2.3), your firewall has no record of having sent a DNS reply to - 172.16.1.10 so this ICMP doesn't appear to be related to anything - that was sent. The final result is that the packet gets logged and - dropped in the all2all chain. I have also seen cases where the source IP - in the ICMP itself isn't set back to the external IP of the remote - NAT gateway; that causes your firewall to log and drop the packet out of - the rfc1918 chain because the source IP is reserved by RFC 1918. + packet to 206.124.146.179 but doesn't reset the DST IP in the original + DNS response similarly. When the ICMP reaches your firewall (192.0.2.3), + your firewall has no record of having sent a DNS reply to 172.16.1.10 so + this ICMP doesn't appear to be related to anything that was sent. The + final result is that the packet gets logged and dropped in the all2all + chain. I have also seen cases where the source IP in the ICMP itself + isn't set back to the external IP of the remote NAT gateway; that causes + your firewall to log and drop the packet out of the rfc1918 chain + because the source IP is reserved by RFC 1918. @@ -1067,7 +1116,8 @@ eth1 eth2 url="http://www.lartc.org">LARTC HOWTO and has not been verified by the author. If you have questions or problems with the instructions given below, please post to the LARTC mailing list. + url="http://www.lartc.org/#mailinglist">LARTC mailing + list. A common configuration is the following, in which there are two @@ -1103,15 +1153,17 @@ eth1 eth2 Let us first set some symbolical names. Let $IF1 be the name of the first interface (if1 in the picture above) and $IF2 the name - of the second interface. Then let $IP1 - be the IP address associated with $IF1 - and $IP2 the IP address associated - with $IF2. Next, let $IP1 be the IP address associated with + $IF1 and $IP2 the IP address associated with $IF2. Next, let $P1 be the IP address of the gateway at Provider 1, and $P2 the IP address of - the gateway at provider 2. Finally, let $P1_NET - be the IP network $P1 is in, and - $P2_NET the IP network $P1_NET be the IP network $P1 is in, and $P2_NET the IP network $P2 is in. One creates two additional routing tables, say Next you set up the main routing table. It is a good idea to route things to the direct neighbour through the interface connected - to that neighbour. Note the `src' arguments, they make sure the - right outgoing IP address is chosen. + to that neighbour. Note the `src' arguments, they make sure the right + outgoing IP address is chosen. ip route add $P1_NET dev $IF1 src $IP1 ip route add $P2_NET dev $IF2 src $IP2 @@ -1155,8 +1207,8 @@ ip rule add from $IP2 table T2 on a particular interface get answered from that interface. - 'If $P0_NET is the local network and $IF0 is its - interface, the following additional entries are desirable: + 'If $P0_NET is the local network and $IF0 is its interface, + the following additional entries are desirable: ip route add $P0_NET dev $IF0 table T1 ip route add $P2_NET dev $IF2 table T1 @@ -1200,11 +1252,45 @@ ip route add 127.0.0.0/8 dev lo table T2 Furthermore, if you really want to do this, you probably also - want to look at Julian Anastasov's patches at http://www.ssi.bg/~ja/#routes - , Julian's route patch page. They will make things nicer to work + , Julian's route patch page. They will make things nicer to work with. + + The following was contributed by Martin Brown and is an excerpt + from http://www.docum.org/stef.coene/qos/faq/cache/44.html. + + + There are two issues requiring different handling when dealing + with multiple Internet providers on a given network. The below assumes + that the host which has multiple Internet connections is a + masquerading (or NATting) host and is at the chokepoint between the + internal and external networks. For the use of multiple inbound + connections to the same internal server (public IP A from ISP A and + public IP B from ISP B both get redirected to the same internal + server), the ideal solution involves using two private IP addresses on + the internal server. This leads to an end-to-end uniqueness of public + IP to private IP and can be easily accomplished by following the + directions here: + + http://linux-ip.net/html/adv-multi-internet.html#adv-multi-internet-inbound + + For the use of multiple outbound links to the Internet, there + are a number of different techniques. The simplest is identified + here: + + http://linux-ip.net/html/adv-multi-internet.html#adv-multi-internet-outbound + + Better (and more robust) techniques are available after a kernel + routing patch by Julian Anastasov. See the famous nano-howto. + + http://www.ssi.bg/~ja/ + @@ -1212,19 +1298,20 @@ ip route add 127.0.0.0/8 dev lo table T2 Starting and Stopping
- (FAQ 7) When I stop Shorewall using <quote>shorewall stop</quote>, - I can't connect to anything. Why doesn't that command work? + (FAQ 7) When I stop Shorewall using <quote>shorewall + stop</quote>, I can't connect to anything. Why doesn't that command + work? The stop command is intended to place your firewall into a safe state whereby only those hosts listed in - /etc/shorewall/routestopped' are activated. If - you want to totally open up your firewall, you must use the + /etc/shorewall/routestopped' are activated. If you + want to totally open up your firewall, you must use the shorewall clear command.
(FAQ 8) When I try to start Shorewall on RedHat, I get messages - about insmod failing -- what's wrong? + about insmod failing -- what's wrong? Answer: The output you will see looks something like this: @@ -1234,7 +1321,7 @@ Hint: insmod errors can be caused by incorrect module parameters, including inva /lib/modules/2.4.17/kernel/net/ipv4/netfilter/ip_tables.o: insmod /lib/modules/2.4.17/kernel/net/ipv4/netfilter/ip_tables.o failed /lib/modules/2.4.17/kernel/net/ipv4/netfilter/ip_tables.o: insmod ip_tables failed -iptables v1.2.3: can't initialize iptables table `nat': iptables who? (do you need to insmod?) +iptables v1.2.3: can't initialize iptables table `nat': iptables who? (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. This problem is usually corrected through the following sequence @@ -1253,12 +1340,13 @@ rmmod ipchains message referring me to FAQ #8 Answer: This is usually cured - by the sequence of commands shown above in . + by the sequence of commands shown above in .
- (FAQ 9) Why can't Shorewall detect my interfaces properly at + <title>(FAQ 9) Why can't Shorewall detect my interfaces properly at startup? I just installed Shorewall and when I issue the start command, I @@ -1280,18 +1368,18 @@ Deleting user chains... Creating input Chains... ... - Why can't Shorewall detect my interfaces properly? + Why can't Shorewall detect my interfaces properly? Answer: The above output is perfectly normal. The Net zone is defined as all hosts that are connected through eth0 and the local zone is defined as all hosts connected through eth1. If you are running Shorewall 1.4.10 or later, you can consider setting the - detectnets - interface option on your local interface (eth1 in the above example). That will - cause Shorewall to restrict the local zone to only those networks routed - through that interface. + detectnets interface option on your local + interface (eth1 in the above + example). That will cause Shorewall to restrict the local zone to only + those networks routed through that interface.
@@ -1299,25 +1387,86 @@ Creating input Chains... Shorewall starts. Which file do I put them in? You can place these commands in one of the Shorewall Extension Scripts. - Be sure that you look at the contents of the chain(s) that you will be - modifying with your commands to be sure that the commands will do what - they are intended. Many iptables commands published in HOWTOs and other - instructional material use the -A command which adds the rules to the - end of the chain. Most chains that Shorewall constructs end with an - unconditional DROP, ACCEPT or REJECT rule and any rules that you add - after that will be ignored. Check man iptables and look - at the -I (--insert) command. + url="shorewall_extension_scripts.htm">Shorewall Extension + Scripts. Be sure that you look at the contents of the chain(s) + that you will be modifying with your commands to be sure that the + commands will do what they are intended. Many iptables commands + published in HOWTOs and other instructional material use the -A command + which adds the rules to the end of the chain. Most chains that Shorewall + constructs end with an unconditional DROP, ACCEPT or REJECT rule and any + rules that you add after that will be ignored. Check man + iptables and look at the -I (--insert) command.
(FAQ 34) How can I speed up start (restart)? Using a light-weight shell such as ash can - dramatically decrease the time required to start - or restart Shorewall. See the - SHOREWALL_SHELL variable in start or restart + Shorewall. See the SHOREWALL_SHELL variable in shorewall.conf. + + Beginning with Shorewall version 2.0.2 Beta 1, Shorewall supports + a fast start capability. To use this capability: + + + + With Shorewall in the started state, run + shorewall save. This creates the script + /var/lib/shorewall/restore. + + + + Use the -f option to the + start command (e.g., shorewall -f start). This + causes Shorewall to look for the + /var/lib/shorewall/restore script and if that + script exists, it is run. Running + /var/lib/shorewall/restore takes much less time + than a full shorewall start. + + + + The /etc/init.d/shorewall script that is + run at boot time uses the -f + option. + + + + The /var/lib/shorewall/restore script can + be run any time to restore the firewall. The script may be run + directly or it may be run indirectly using the shorewall + restore command. + + + + If you change your Shorewall configuration, you must execute a + shorewall start (without -f) or shorewall restart prior + to doing another shorewall save. The + shorewall save command saves the currently running + configuration and not the one reflected in your updated configuration + files. + + Likewise, if you change your Shorewall configuration then once you + are satisfied that it is working properly, you must do another + shorewall save. Otherwise at the next reboot, you + will revert to the old configuration stored in + /var/lib/shorewall/restore. + +
+ (FAQ 34a) I get errors about a host or network not found when I + run<filename>/var/lib/shorewall/restore</filename>. The + <command>shorewall restore</command> and <command>shorewall -f + start</command> commands gives the same result. + + Answer: iptables 1.2.9 is broken with respect to iptables-save + and the connection tracking match extension. You must patch your + iptables using the patch available from the Shorewall errata page. +
@@ -1328,7 +1477,8 @@ Creating input Chains... (FAQ 10) What Distributions does it work with? Shorewall works with any GNU/Linux distribution that includes the - proper prerequisites. + proper + prerequisites.
@@ -1360,14 +1510,15 @@ Creating input Chains...
(FAQ 23) Why do you use such ugly fonts on your web site? - The Shorewall web site is almost font neutral (it doesn't + The Shorewall web site is almost font neutral (it doesn't explicitly specify fonts except on a few pages) so the fonts you see are - largely the default fonts configured in your browser. If you don't - like them then reconfigure your browser. + largely the default fonts configured in your browser. If you don't like + them then reconfigure your browser.
- (FAQ 25) How to I tell which version of Shorewall I am running? + (FAQ 25) How to I tell which version of Shorewall I am + running? At the shell prompt, type: @@ -1388,7 +1539,8 @@ Creating input Chains... - Tear Drop: Sending packets that contain overlapping fragments? + Tear Drop: Sending packets that contain overlapping + fragments? Answer: This is the responsibility of the IP stack, not the @@ -1406,7 +1558,8 @@ Creating input Chains... blacklisting facility. Shorewall versions 2.0.0 and later filter these packets under the nosmurfs interface option in - /etc/shorewall/interfaces. + /etc/shorewall/interfaces. @@ -1416,8 +1569,8 @@ Creating input Chains... Answer: Yes, if the routefilter interface option - is selected. + url="Documentation.htm#Interfaces">routefilter interface + option is selected. @@ -1426,10 +1579,10 @@ Creating input Chains... Answer: Shorewall has facilities for limiting SYN and ICMP - packets. Netfilter as included in standard Linux kernels - doesn't support per-remote-host limiting except by explicit - rule that specifies the host IP address; that form of limiting is - supported by Shorewall. + packets. Netfilter as included in standard Linux kernels doesn't + support per-remote-host limiting except by explicit rule that + specifies the host IP address; that form of limiting is supported + by Shorewall. @@ -1446,16 +1599,39 @@ Creating input Chains... and it is silly to continue to run it simply because it is bundled with an ancient Debian release.
+ +
+ (FAQ 36) Does Shorewall Work with the 2.6 Linux Kernel? + + Shorewall works with the 2.6 Kernels with a couple of + caveats: + + + + Netfilter/iptables doesn't fully support IPSEC in the 2.6 + Kernels -- there are interim instructions linked from the Shorewall IPSEC page. + + + + The 2.6 Kernels do not provide support for the logunclean and + dropunclean options in + /etc/shorewall/interfaces. Note that support + for those options was also removed from Shorewall in version + 2.0.0. + + +
RFC 1918
- (FAQ 14) I'm connected via a cable modem and it has an - internal web server that allows me to configure/monitor it but as - expected if I enable rfc1918 blocking for my eth0 interface (the - internet one), it also blocks the cable modems web server. + (FAQ 14) I'm connected via a cable modem and it has an internal + web server that allows me to configure/monitor it but as expected if I + enable rfc1918 blocking for my eth0 interface (the internet one), it + also blocks the cable modems web server. Is there any way it can add a rule before the rfc1918 blocking that will let all traffic to and from the 192.168.100.1 address of the @@ -1473,7 +1649,8 @@ Creating input Chains... first copy /usr/share/shorewall/rfc1918 to /etc/shorewall/rfc1918): - Be sure that you add the entry ABOVE the entry for 192.168.0.0/16. + Be sure that you add the entry ABOVE the entry for + 192.168.0.0/16. #SUBNET TARGET 192.168.100.1 RETURN @@ -1491,10 +1668,9 @@ Creating input Chains...
- (FAQ 14a) Even though it assigns public IP addresses, my - ISP's DHCP server has an RFC 1918 address. If I enable RFC 1918 - filtering on my external interface, my DHCP client cannot renew its - lease. + (FAQ 14a) Even though it assigns public IP addresses, my ISP's + DHCP server has an RFC 1918 address. If I enable RFC 1918 filtering on + my external interface, my DHCP client cannot renew its lease. The solution is the same as above. Simply substitute the IP address of your ISPs DHCP server. @@ -1520,9 +1696,9 @@ Creating input Chains...
(FAQ 19) I have added entries to /etc/shorewall/tcrules but they - don't seem to do anything. Why? + don't seem to do anything. Why? - You probably haven't set TC_ENABLED=Yes in + You probably haven't set TC_ENABLED=Yes in /etc/shorewall/shorewall.conf so the contents of the tcrules file are simply being ignored.
@@ -1531,19 +1707,21 @@ Creating input Chains... (FAQ 20) I have just set up a server. Do I have to change Shorewall to allow access to my server from the internet? - Yes. Consult the QuickStart - guide that you used during your initial setup for information - about how to set up rules for your server. + Yes. Consult the QuickStart guide that you + used during your initial setup for information about how to set up rules + for your server.
- (FAQ 24) How can I allow conections to let's say the ssh port + <title>(FAQ 24) How can I allow conections to let's say the ssh port only from specific IP Addresses on the internet? In the SOURCE column of the rule, follow net by a - colon and a list of the host/subnet addresses as a comma-separated list. + colon and a list of the host/subnet addresses as a comma-separated + list. - net:<ip1>,<ip2>,... + net:<ip1>,<ip2>,... Example: @@ -1555,15 +1733,16 @@ Creating input Chains...
(FAQ 26) When I try to use any of the SYN options in nmap on or behind the firewall, I get <quote>operation not permitted</quote>. How - can I use nmap with Shorewall?" + can I use nmap with Shorewall?" - Edit /etc/shorewall/shorewall.conf and change NEWNOTSYN=No - to NEWNOTSYN=Yes then restart Shorewall. + Edit /etc/shorewall/shorewall.conf and change + NEWNOTSYN=No to NEWNOTSYN=Yes then restart + Shorewall.
(FAQ 26a) When I try to use the <quote>-O</quote> option of - nmap from the firewall system, I get <quote>operation not permitted</quote>. - How do I allow this option? + nmap from the firewall system, I get operation not + permitted. How do I allow this option? Add this command to your /etc/shorewall/start file: @@ -1572,34 +1751,35 @@ Creating input Chains...
- (FAQ 27) I'm compiling a new kernel for my firewall. What - should I look out for? + (FAQ 27) I'm compiling a new kernel for my firewall. What should + I look out for? First take a look at the Shorewall kernel configuration page. You probably also want to be sure that you have selected the NAT of local connections (READ HELP) on the Netfilter Configuration menu. - Otherwise, DNAT rules with your firewall as the source zone won't - work with your new kernel. + Otherwise, DNAT rules with your firewall as the source zone won't work + with your new kernel.
(FAQ 27a) I just built and installed a new kernel and now - Shorewall won't start. I know that my kernel options are correct. + Shorewall won't start. I know that my kernel options are + correct. The last few lines of a startup trace are these: + run_iptables2 -t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j MASQUERADE -+ '[' 'x-t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j -MASQUERADE' = 'x-t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0. -0/0 -j MASQUERADE' ']' ++ '[' 'x-t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j +MASQUERADE' = 'x-t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0. +0/0 -j MASQUERADE' ']' + run_iptables -t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j MASQUERADE + iptables -t nat -A eth0_masq -s 192.168.2.0/24 -d 0.0.0.0/0 -j MASQUERADE iptables: Invalid argument -+ '[' -z '' ']' ++ '[' -z '' ']' + stop_firewall + set +x @@ -1621,32 +1801,275 @@ iptables: Invalid argument Revision History - 1.202004-03-05TEAdded - Bridging link.1.202004-02-27TEAdded - FAQ 35.1.192004-02-22TEAdded - mention of nosmurfs option under FAQ 31.1.182004-02-15TEAdded - FAQ 34.1.172004-02-11TEAdded - FAQ 33.1.162004-02-03TEUpdated - for Shorewall 2.0.1.152004-01-25TEUpdated - FAQ 32 to mention masquerading. Remove tables.1.142004-01-24TEAdded - FAQ 27a regarding kernel/iptables incompatibility.1.132004-01-24TEAdd - a note about the detectnets interface - option in FAQ 9.1.122004-01-20TEImprove - FAQ 16 answer.1.112004-01-14TECorrected - broken link1.102004-01-09TEAdded - a couple of more legacy FAQ numbers.1.92004-01-08TECorrected - typo in FAQ 26a. Added warning to FAQ 2 regarding source address of - redirected requests.1.82003-12-31TEAdditions - to FAQ 4.1.72003-12-30TERemove - dead link from FAQ 1.1.62003.12-18TEAdd - external link reference to FAQ 17.1.52003-12-16TEAdded - a link to a Sys Admin article about multiple internet interfaces. Added - Legal Notice. Moved "abstract" to the body of the document. Moved - Revision History to this Appendix.1.42003-12-13TECorrected - formatting problems1.32003-12-10TEChanged - the title of FAQ 171.22003-12-09TEAdded - Copyright and legacy FAQ numbers1.12003-12-04MNConverted - to Simplified DocBook XML1.02002-08-13TEInitial - revision + + + 1.25 + + 2004-04-25 + + TE + + Update for Shorewall 2.0.2 + + + + 1.24 + + 2004-04-25 + + TE + + Add MA Brown's notes on multi-ISP routing. + + + + 1.23 + + 2004-04-22 + + TE + + Refined SNAT rule in FAQ #2. + + + + 1.22 + + 2004-04-06 + + TE + + Added FAQ 36. + + + + 1.21 + + 2004-03-05 + + TE + + Added Bridging link. + + + + 1.20 + + 2004-02-27 + + TE + + Added FAQ 35. + + + + 1.19 + + 2004-02-22 + + TE + + Added mention of nosmurfs option under FAQ + 31. + + + + 1.18 + + 2004-02-15 + + TE + + Added FAQ 34. + + + + 1.17 + + 2004-02-11 + + TE + + Added FAQ 33. + + + + 1.16 + + 2004-02-03 + + TE + + Updated for Shorewall 2.0. + + + + 1.15 + + 2004-01-25 + + TE + + Updated FAQ 32 to mention masquerading. Remove + tables. + + + + 1.14 + + 2004-01-24 + + TE + + Added FAQ 27a regarding kernel/iptables + incompatibility. + + + + 1.13 + + 2004-01-24 + + TE + + Add a note about the detectnets interface option in FAQ + 9. + + + + 1.12 + + 2004-01-20 + + TE + + Improve FAQ 16 answer. + + + + 1.11 + + 2004-01-14 + + TE + + Corrected broken link + + + + 1.10 + + 2004-01-09 + + TE + + Added a couple of more legacy FAQ numbers. + + + + 1.9 + + 2004-01-08 + + TE + + Corrected typo in FAQ 26a. Added warning to FAQ 2 + regarding source address of redirected requests. + + + + 1.8 + + 2003-12-31 + + TE + + Additions to FAQ 4. + + + + 1.7 + + 2003-12-30 + + TE + + Remove dead link from FAQ 1. + + + + 1.6 + + 2003.12-18 + + TE + + Add external link reference to FAQ 17. + + + + 1.5 + + 2003-12-16 + + TE + + Added a link to a Sys Admin article about multiple + internet interfaces. Added Legal Notice. Moved "abstract" to the + body of the document. Moved Revision History to this + Appendix. + + + + 1.4 + + 2003-12-13 + + TE + + Corrected formatting problems + + + + 1.3 + + 2003-12-10 + + TE + + Changed the title of FAQ 17 + + + + 1.2 + + 2003-12-09 + + TE + + Added Copyright and legacy FAQ numbers + + + + 1.1 + + 2003-12-04 + + MN + + Converted to Simplified DocBook XML + + + + 1.0 + + 2002-08-13 + + TE + + Initial revision + + \ No newline at end of file diff --git a/Shorewall-docs2/FTP.xml b/Shorewall-docs2/FTP.xml index 40a09696b..6b3c96afe 100644 --- a/Shorewall-docs2/FTP.xml +++ b/Shorewall-docs2/FTP.xml @@ -15,11 +15,13 @@ - 2003-12-01 + 2004-04-26 2003 + 2004 + Thomas M. Eastep @@ -62,6 +64,27 @@ + + Mandrake have done it again with their 10.0 + release. This time, they have decided that kernel modules should have + "ko.gz" for their suffix. If you are having problems with Mandrake + 10.0 and FTP, change your /etc/shorewall/conf file + definition of MODULE_SUFFIX as follows: + + MODULE_SUFFIX="o gz ko o.gz ko.gz" + + The version of insmod shipped with 10.0 also does + not comprehend these module files so you will also need to change + /usr/share/shorewall/firewall -- replace the line + that reads: + + insmod $modulefile $* + + with: + + modprobe $modulename $* + +
FTP Protocol diff --git a/Shorewall-docs2/IPSEC.xml b/Shorewall-docs2/IPSEC.xml index 52e4423f2..b76627e79 100644 --- a/Shorewall-docs2/IPSEC.xml +++ b/Shorewall-docs2/IPSEC.xml @@ -15,7 +15,7 @@ - 2004-03-20 + 2004-05-04 2001-2004 @@ -29,7 +29,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -38,9 +39,10 @@ Linux Kernel. David Hollis has provided information about how to set up a simple tunnel under 2.6. One important point - that is not made explicit in David's post is that the vpn zone must be defined before the net zone in /etc/shorewall/zones. + role="bold">net zone in + /etc/shorewall/zones.
@@ -54,7 +56,8 @@ IPSEC and Proxy ARP do not work unless you are running Shorewall 2.0.1 Beta 3 or later or unless you have installed the fix to Shorewall - 2.0.0 available from the Errata Page. + 2.0.0 available from the Errata + Page. @@ -187,30 +190,111 @@ conn packetdefault VPN You need to define a zone for the remote subnet or include it in - your local zone. In this example, we'll assume that you have created - a zone called vpn to represent the remote subnet. + your local zone. In this example, we'll assume that you have created a + zone called vpn to represent the remote subnet. - /etc/shorewall/zones localZONEDISPLAYCOMMENTSvpnVPNRemote - Subnet
+ + /etc/shorewall/zones local + + + + + ZONE + + DISPLAY + + COMMENTS + + + + + + vpn + + VPN + + Remote Subnet + + + +
At both systems, ipsec0 would be included in /etc/shorewall/interfaces as a vpn interface: - /etc/shorewall/interfaces system local & remoteZONEINTERFACEBROADCASTOPTIONSvpnipsec0
+ + /etc/shorewall/interfaces system local & remote + + + + + ZONE + + INTERFACE + + BROADCAST + + OPTIONS + + + + + + vpn + + ipsec0 + + + + + + + +
You will need to allow traffic between the vpn zone and the loc zone -- if you simply want to admit all traffic in both directions, you can use the policy file: - /etc/shorewall/policy local & remoteSOURCEDESTPOLICYLOG LEVELlocvpnACCEPTvpnlocACCEPT
+ + /etc/shorewall/policy local & remote + + + + + SOURCE + + DEST + + POLICY + + LOG LEVEL + + + + + + loc + + vpn + + ACCEPT + + + + + + vpn + + loc + + ACCEPT + + + + + +
Once you have these entries in place, restart Shorewall (type shorewall restart); you are now ready to configure the tunnel in In /etc/shorewall/tunnels on systems B and C, we would have: - /etc/shorewall/tunnels system B & C + /etc/shorewall/tunnels system B & C @@ -376,7 +460,7 @@ conn packetdefault On systems B and C:
- /etc/shorewall/zones system B & C + /etc/shorewall/zones system B & C @@ -434,7 +518,8 @@ conn packetdefault
- The /etc/shorewall/hosts file on system A defines the two VPN zones: + The /etc/shorewall/hosts file on system A defines the two VPN + zones: /etc/shorewall/hosts system A @@ -474,7 +559,7 @@ conn packetdefault following in /etc/shorewall/interfaces:
- /etc/shorewall/interfaces system B & C + /etc/shorewall/interfaces system B & C @@ -575,7 +660,7 @@ conn packetdefault policy file entries on all three gateways:
- /etc/shorewall/policy system B & C + /etc/shorewall/policy system B & C @@ -616,7 +701,8 @@ conn packetdefault Once you have the Shorewall entries added, restart Shorewall on each gateway (type shorewall restart); you are now ready to configure the - tunnels in FreeS/WAN. + tunnels in FreeS/WAN. to allow traffic between the networks attached to systems B and C, @@ -684,27 +770,75 @@ conn packetdefault Road Warrior VPN You need to define a zone for the laptop or include it in your - local zone. In this example, we'll assume that you have created a - zone called vpn to represent the remote host. + local zone. In this example, we'll assume that you have created a zone + called vpn to represent the remote host. -
/etc/shorewall/zones localZONEDISPLAYCOMMENTSvpnVPNRemote - Subnet
+ + /etc/shorewall/zones local + + + + + ZONE + + DISPLAY + + COMMENTS + + + + + + vpn + + VPN + + Remote Subnet + + + +
In this instance, the mobile system (B) has IP address 134.28.54.2 but that cannot be determined in advance. In the /etc/shorewall/tunnels file on system A, the following entry should be made: - /etc/shorewall/tunnels system ATYPEZONEGATEWAYGATEWAY ZONEipsecnet0.0.0.0/0vpn
+ + /etc/shorewall/tunnels system A - the GATEWAY ZONE column contains the name of the zone - corresponding to peer subnetworks. This indicates that the gateway - system itself comprises the peer subnetwork; in other words, the remote - gateway is a standalone system. + + + + TYPE + + ZONE + + GATEWAY + + GATEWAY ZONE + + + + + + ipsec + + net + + 0.0.0.0/0 + + vpn + + + +
+ + + the GATEWAY ZONE column contains the name of the zone + corresponding to peer subnetworks. This indicates that the gateway + system itself comprises the peer subnetwork; in other words, the + remote gateway is a standalone system. + You will need to configure /etc/shorewall/interfaces and establish your through the tunnel policy as shown under the first @@ -717,7 +851,11 @@ conn packetdefault Beginning with Shorewall release 1.3.10, you can define multiple VPN zones and add and delete remote endpoints dynamically using - /sbin/shorewall. In /etc/shorewall/zones: + /sbin/shorewall. With Shorewall 2.0.2 Beta 1 and later versions, this + capability must be enabled by setting DYNAMIC_ZONES=Yes in shorewall.conf. + + In /etc/shorewall/zones: /etc/shorewall/zones @@ -801,7 +939,8 @@ conn packetdefault a different updown script that adds the remote station to the appropriate zone when the connection comes up and that deletes the remote station when the connection comes down. For example, when 134.28.54.2 connects for the - vpn2 zone the up part of the script will issue the command: + vpn2 zone the up part of the script will issue the + command:/sbin/shorewall add ipsec0:134.28.54.2 vpn2 @@ -818,11 +957,45 @@ conn packetdefault dyn=dynamic zone - ACTIONSOURCEDESTINATIONPROTOCOLPORT(S)CLIENT PORT(S)ORIGINAL DESTINATIONDNATz!dynloc:192.168.1.3tcp80 + + + + + ACTION + + SOURCE + + DESTINATION + + PROTOCOL + + PORT(S) + + CLIENT PORT(S) + + ORIGINAL DESTINATION + + + + + + DNAT + + z!dyn + + loc:192.168.1.3 + + tcp + + 80 + + + + + + + + Dynamic changes to the zone dyn will have no effect on the above rule. diff --git a/Shorewall-docs2/Install.xml b/Shorewall-docs2/Install.xml index 7849f1ef9..659c588c0 100644 --- a/Shorewall-docs2/Install.xml +++ b/Shorewall-docs2/Install.xml @@ -15,7 +15,7 @@ - 2004-03-01 + 2004-05-07 2001 @@ -35,7 +35,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -44,9 +45,9 @@ Before attempting installation, I strongly urge you to read and - print a copy of the Shorewall - QuickStart Guide for the configuration that most closely matches - your own. + print a copy of the Shorewall QuickStart Guide + for the configuration that most closely matches your own. @@ -64,14 +65,15 @@ Install the RPM - rpm -ivh <shorewall rpm> + rpm -ivh <shorewall rpm> Some SuSE users have encountered a problem whereby rpm reports - a conflict with kernel <= 2.2 even though a 2.4 kernel is - installed. If this happens, simply use the --nodeps option to rpm. + a conflict with kernel <= 2.2 even though a 2.4 kernel is + installed. If this happens, simply use the --nodeps option to + rpm. - rpm -ivh --nodeps <shorewall rpm> + rpm -ivh --nodeps <shorewall rpm> @@ -82,9 +84,10 @@ error: failed dependencies:iproute is needed by shorewall-1.4.x-1 - This may be worked around by using the --nodeps option of rpm. + This may be worked around by using the --nodeps option of + rpm. - rpm -ivh --nodeps <shorewall rpm> + rpm -ivh --nodeps <shorewall rpm> @@ -116,9 +119,9 @@ Before attempting installation, I strongly urge you to read and - print a copy of the Shorewall - QuickStart Guide for the configuration that most closely matches - your own. + print a copy of the Shorewall QuickStart Guide + for the configuration that most closely matches your own. To install Shorewall using the tarball and install script: @@ -134,14 +137,19 @@ - If you are using Caldera, - RedHat, Mandrake, Corel, SuSe, Slackware or Debian/Gentoo then type + If you are running Slackware, edit the install.sh + file and change the line + + DEST="" + + to + + DEST="/etc/rc.d" + + + + Type ./install.sh @@ -152,9 +160,10 @@ - Enable Startup by removing /etc/shorewall/startup_disabled - (Debian users will edit /etc/default/shorewall - and set startup=1). + Enable Startup by removing + /etc/shorewall/startup_disabled (Debian users + will edit /etc/default/shorewall and set + startup=1). @@ -166,7 +175,8 @@ If the install script was unable to configure Shorewall to be started automatically at boot, see these instructions. + url="starting_and_stopping_shorewall.htm">these + instructions. @@ -176,15 +186,16 @@ Before attempting installation, I strongly urge you to read and - print a copy of the Shorewall - QuickStart Guide for the configuration that most closely matches - your own. + print a copy of the Shorewall QuickStart Guide + for the configuration that most closely matches your own. To install my version of Shorewall on a fresh Bering disk, simply replace the shorwall.lrp file on the image with the file that you downloaded. See the two-interface - QuickStart Guide for information about further steps required. + QuickStart Guide for information about further steps + required.
@@ -204,22 +215,23 @@ please check your /etc/shorewall/interfaces file to be sure that it contains an entry for each interface mentioned in the hosts file. Also, there are certain 1.2 rule forms that are no longer supported under 1.4 - (you must use the new 1.4 syntax). See the - upgrade issues for details. + (you must use the new 1.4 syntax). See the upgrade issues for details. Upgrade the RPM - rpm -Uvh <shorewall rpm file> + rpm -Uvh <shorewall rpm file> Some SuSE users have encountered a problem whereby rpm reports - a conflict with kernel <= 2.2 even though a 2.4 kernel is - installed. If this happens, simply use the --nodeps option to rpm. + a conflict with kernel <= 2.2 even though a 2.4 kernel is + installed. If this happens, simply use the --nodeps option to + rpm. - rpm -Uvh --nodeps <shorewall rpm> + rpm -Uvh --nodeps <shorewall rpm> @@ -230,15 +242,17 @@ error: failed dependencies:iproute is needed by shorewall-1.4.0-1 - This may be worked around by using the --nodeps option of rpm. + This may be worked around by using the --nodeps option of + rpm. - rpm -Uvh --nodeps <shorewall rpm> + rpm -Uvh --nodeps <shorewall rpm> See if there are any incompatibilities between your - configuration and the new Shorewall version and correct as necessary. + configuration and the new Shorewall version and correct as + necessary. shorewall check @@ -268,8 +282,8 @@ please check your /etc/shorewall/interfaces file to be sure that it contains an entry for each interface mentioned in the hosts file. Also, there are certain 1.2 rule forms that are no longer supported under 1.4 - (you must use the new 1.4 syntax). See the - upgrade issues for details. + (you must use the new 1.4 syntax). See the upgrade issues for details. @@ -285,21 +299,27 @@ - If you are using Caldera, - RedHat, Mandrake, Corel, SuSe, Slackware or Debian/Gentoo then type + If you are running Slackware, edit the install.sh + file and change the line + + DEST="" + + to + + DEST="/etc/rc.d" + + + + Type ./install.sh See if there are any incompatibilities between your - configuration and the new Shorewall version and correct as necessary. + configuration and the new Shorewall version and correct as + necessary. shorewall check @@ -313,7 +333,8 @@ If the install script was unable to configure Shorewall to be started automatically at boot, see these instructions. + url="starting_and_stopping_shorewall.htm">these + instructions.
@@ -342,6 +363,7 @@
Uninstall/Fallback - See Fallback and Uninstall. + See Fallback and + Uninstall.
\ No newline at end of file diff --git a/Shorewall-docs2/PPTP.xml b/Shorewall-docs2/PPTP.xml index e77fd236b..ffbee2a2b 100644 --- a/Shorewall-docs2/PPTP.xml +++ b/Shorewall-docs2/PPTP.xml @@ -15,7 +15,7 @@ - 2003-12-23 + 2004-04-15 2001 @@ -24,6 +24,8 @@ 2003 + 2004 + Thomas M. Eastep @@ -37,6 +39,16 @@ + + 1.2 + + 2004-04-15 + + TE + + Revised instructions regarding PPTP conntrack patch. + + 1.1 @@ -909,14 +921,16 @@ esac You shouldn't have to take any special action for this case unless you wish to connect multiple clients to the same external server. - In that case, you will need to follow the instructions at http://www.impsec.org/linux/masquerade/ip_masq_vpn.html. - I recommend that you also add these three lines to your + In that case, you must install the PPTP connection/tracking and NAT patch + from Netfilter Patch-O-Matic + (some distributions are now shipping with this patch installed). I + recommend that you also add these four lines to your /etc/shorewall/modules file: loadmodule ip_conntrack_proto_gre loadmodule ip_conntrack_pptp -loadmodule ip_nat_pptp +loadmodule ip_nat_pptp +loadmodule ip_nat_proto_gre For LEAF/Bering users, the 2.4.20 kernel as already been patched as described at the URL above and the three modules are included in the diff --git a/Shorewall-docs2/Shorewall_Squid_Usage.xml b/Shorewall-docs2/Shorewall_Squid_Usage.xml index 401fc5bdb..1443a9b38 100644 --- a/Shorewall-docs2/Shorewall_Squid_Usage.xml +++ b/Shorewall-docs2/Shorewall_Squid_Usage.xml @@ -15,7 +15,7 @@ - 2004-03-29 + 2004-04-19 2003-2004 @@ -153,7 +153,7 @@ REDIRECT loc 3228 tcp www - !206.124.146. In /etc/shorewall/init, put: if [ -z "`ip rule list | grep www.out`" ] ; then - ip rule add fwmark 202 table www.out + ip rule add fwmark CA table www.out # Note 0xCA = 202 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 @@ -232,7 +232,7 @@ chkconfig --level 35 iptables on In /etc/shorewall/init, put: if [ -z "`ip rule list | grep www.out`" ] ; then - ip rule add fwmark 202 table www.out + ip rule add fwmark CA table www.out # Note 0xCA = 202 ip route add default via 192.0.2.177 dev eth1 table www.out ip route flush cache fi diff --git a/Shorewall-docs2/bridge.xml b/Shorewall-docs2/bridge.xml index 36022d12b..6127c0017 100755 --- a/Shorewall-docs2/bridge.xml +++ b/Shorewall-docs2/bridge.xml @@ -15,7 +15,7 @@ - 2004-04-05 + 2004-04-12 2004 @@ -152,7 +152,7 @@
Configuring the Bridge - Configuring the bridge itself is quite simple and used the + Configuring the bridge itself is quite simple and uses the brctl utility from the bridge-utils package. Bridge configuration information may be found at http://bridge.sf.net. @@ -334,7 +334,7 @@ dmz br0:eth2
Limitations - Bridging doesn' t work with wireless cards — see Bridging doesn' t work with some wireless cards — see http://bridge.sf.net.
\ No newline at end of file diff --git a/Shorewall-docs2/configuration_file_basics.xml b/Shorewall-docs2/configuration_file_basics.xml index 272005a22..48d2685cb 100644 --- a/Shorewall-docs2/configuration_file_basics.xml +++ b/Shorewall-docs2/configuration_file_basics.xml @@ -15,7 +15,7 @@ - 2004-04-03 + 2004-04-20 2001-2004 @@ -93,6 +93,16 @@ and modify the copy.
+
+ Special Note about /etc/shorewall/shorewall.conf + + It is a good idea to modify your /etc/shorewall/shorewall.conf file, + even if you just add a comment that says "I modified this file". + That way, your package manager won't overwrite the file with future + updated versions. Such overwrites can cause unwanted changes in the + behavior of Shorewall. +
+
Comments @@ -381,9 +391,12 @@ DNAT net loc:192.168.1.3 tcp 4000:4100 Using MAC Addresses Media Access Control (MAC) addresses can be used to specify packet - source in several of the configuration files. To use this feature, your - kernel must have MAC Address Match support (CONFIG_IP_NF_MATCH_MAC) - included. + source in several of the configuration files. In order to control traffic + to/from a host by its MAC address, the host must be on the same network as + the firewall. + + To use this feature, your kernel must have MAC Address Match support + (CONFIG_IP_NF_MATCH_MAC) included. MAC addresses are 48 bits wide and each Ethernet Controller has a unique MAC address. diff --git a/Shorewall-docs2/errata.xml b/Shorewall-docs2/errata.xml index 0d15d66df..524d5b0a5 100644 --- a/Shorewall-docs2/errata.xml +++ b/Shorewall-docs2/errata.xml @@ -13,7 +13,7 @@ - 2004-03-20 + 2004-05-03 2001-2004 @@ -27,7 +27,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -55,9 +56,9 @@ DO NOT INSTALL CORRECTED COMPONENTS ON A - RELEASE EARLIER THAN THE ONE THAT THEY ARE LISTED UNDER BELOW. - For example, do NOT install the 1.3.9a firewall script if you are - running 1.3.7c. + RELEASE EARLIER THAN THE ONE THAT THEY ARE LISTED UNDER + BELOW. For example, do NOT install the 1.3.9a firewall + script if you are running 1.3.7c. @@ -65,7 +66,8 @@
RFC1918 File - Here + Here is the most up to date version of the rfc1918 file. This file only applies to Shorewall version 2.0.0 and its bugfix updates. In Shorewall @@ -75,9 +77,75 @@ url="shorewall_setup_guide.htm#RFC1918">RFC 1918.
+
+ Bogons File + + Here + is the most up to date version of the bogons file. +
+
Problems in Version 2.0 +
+ Shorewall 2.0.1 + + + + Confusing message mentioning IPV6 occur at startup. + + + + Modules listed in /etc/shorewall/modules don't load or produce + errors on Mandrake 10.0 Final. + + + + The shorewall delete command does not + remove all dynamic rules pertaining to the host(s) being + deleted. + + + + These problems are corrected in this + firewall script which may be installed in + /usr/share/shorewall/firewall as described + above. + + + + When run on a SuSE system, the install.sh script fails to + configure Shorewall to start at boot time. That problem is corrected + in this + version of the script. + + +
+ +
+ Shorewall 2.0.1/2.0.0 + + + + On Debian systems, an install using the tarball results in an + inability to start Shorewall at system boot. If you already have + this problem, install this + file as /etc/init.d/shorewall (replacing the existing file + with that name). If you are just installing or upgrading to + Shorewall 2.0.0 or 2.0.1, then replace the + init.debian.sh file in the Shorewall + distribution directory (shorewall-2.0.x) with the updated file + before running install.sh from that + directory. + + +
+
Shorewall 2.0.0 @@ -95,11 +163,13 @@ - The first problem has been corrected in Shorewall update 2.0.0a. + The first problem has been corrected in Shorewall update + 2.0.0a. All of these problems may be corrected by installing this - firewall script in /usr/share/shorewall as described above. + firewall script in /usr/share/shorewall as described + above.
@@ -111,118 +181,12 @@
- Problem with iptables version 1.2.3 + Problem with iptables 1.2.9 - There are a couple of serious bugs in iptables 1.2.3 that prevent it - from working with Shorewall. Regrettably, RedHat released this buggy - iptables in RedHat 7.2.  - - I have built a corrected - 1.2.3 rpm which you can download here  and I have also - built an iptables-1.2.4 - rpm which you can download here. If you are currently running - RedHat 7.1, you can install either of these RPMs before you upgrade to - RedHat 7.2. - - Update 11/9/2001: RedHat has - released an iptables-1.2.4 RPM of their own which you can download from - http://www.redhat.com/support/errata/RHSA-2001-144.html.I - have installed this RPM on my firewall and it works fine. - - If you would like to patch iptables 1.2.3 yourself, the patches are - available for download. This patch - which corrects a problem with parsing of the --log-level specification - while this patch - corrects a problem in handling the  TOS target. - - To install one of the above patches: cd iptables-1.2.3/extensions - patch -p0 < the-patch-file -
- -
- Problems with kernels >= 2.4.18 and RedHat iptables - - Users who use RedHat iptables RPMs and who upgrade to kernel - 2.4.18/19 may experience the following: - -
- # shorewall start -Processing /etc/shorewall/shorewall.conf ... -Processing /etc/shorewall/params ... -Starting Shorewall... -Loading Modules... -Initializing... -Determining Zones... -Zones: net -Validating interfaces file... -Validating hosts file... -Determining Hosts in Zones... -Net Zone: eth0:0.0.0.0/0 -iptables: libiptc/libip4tc.c:380: do_check: Assertion -`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed. -Aborted (core dumped) -iptables: libiptc/libip4tc.c:380: do_check: Assertion -`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed. -Aborted (core dumped) -
- - The RedHat iptables RPM is compiled with debugging enabled but the - user-space debugging code was not updated to reflect recent changes in the - Netfilter mangle table. You can correct the problem by - installing this - iptables RPM. If you are already running a 1.2.5 version of - iptables, you will need to specify the --oldpackage option to rpm (e.g., - iptables -Uvh --oldpackage iptables-1.2.5-1.i386.rpm). -
- -
- Problems with iptables version 1.2.7 and MULTIPORT=Yes - - The iptables 1.2.7 release of iptables has made an incompatible - change to the syntax used to specify multiport match rules; as a - consequence, if you install iptables 1.2.7 you must be running Shorewall - 1.3.7a or later or: - - - - set MULTIPORT=No in /etc/shorewall/shorewall.conf; or - - - - If you are running Shorewall 1.3.6 you may install this - firewall script in /usr/lib/shorewall/firewall as described - above. - - -
- -
- Problems with RH Kernel 2.4.18-10 and NAT - - /etc/shorewall/nat entries of the following form will result in - Shorewall being unable to start: - - #EXTERNAL       INTERFACE       INTERNAL        ALL INTERFACES          LOCAL - 192.0.2.22    eth0    192.168.9.22   yes     yes - #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE - - Error message is: - - Setting up NAT... - iptables: Invalid argument - Terminated - - The solution is to put no in the LOCAL column. Kernel - support for LOCAL=yes has never worked properly and 2.4.18-10 has disabled - it. The 2.4.19 kernel contains corrected support under a new kernel - configuraiton option; see http://www.shorewall.net/Documentation.htm#NAT. + If you want to use the new features in Shorewall 2.0.2 (Betas, RCs, + Final) or later then you need to patch your iptables 1.2.9 with this + patch.
@@ -233,24 +197,151 @@ Aborted (core dumped) --reject-with tcp-reset is broken. The symptom most commonly seen is that REJECT rules act just like DROP rules when dealing with TCP. A kernel patch and precompiled modules to fix this problem are available at - ftp://ftp1.shorewall.net/pub/shorewall/errata/kernel + ftp://ftp1.shorewall.net/pub/shorewall/errata/kernel - RedHat have corrected this problem in their 2.4.20-27.x kernels. + RedHat have corrected this problem in their 2.4.20-27.x + kernels.
- Revision History4 + Revision History - 1.62004-03-20TEProxy - ARP/IPSEC fix.1.62004-03-17TEAction - rules are reported as policies.1.52004-02-03TEUpdate - for Shorewall 2.0.0.1.42004-01-19TEIPV6 - address problems. Make RFC1918 file section more prominent.1.32004-01-14TEConfusing - template file in 1.4.91.32004-01-03TEAdded - note about REJECT RedHat Kernal problem being corrected.1.22003-12-29TEUpdated - RFC1918 file1.12003-12-17TEInitial - Conversion to Docbook XML + + + 1.12 + + 2004-05-04 + + TE + + Add Alex Wilms's "install.sh" fix. + + + + 1.11 + + 2004-05-03 + + TE + + Add Stefan Engel's "shorewall delete" fix. + + + + 1.10 + + 2004-04-28 + + TE + + Add iptables 1.2.9 iptables-save bug notice. + + + + 1.9 + + 2004-04-21 + + TE + + Debian initialization script problem. Deleted obsolete + sections. + + + + 1.8 + + 2004-04-20 + + TE + + Updated RFC1918 and BOGONS files. + + + + 1.7 + + 2004-03-20 + + TE + + Proxy ARP/IPSEC fix. + + + + 1.6 + + 2004-03-17 + + TE + + Action rules are reported as policies. + + + + 1.5 + + 2004-02-03 + + TE + + Update for Shorewall 2.0.0. + + + + 1.4 + + 2004-01-19 + + TE + + IPV6 address problems. Make RFC1918 file section more + prominent. + + + + 1.3 + + 2004-01-14 + + TE + + Confusing template file in 1.4.9 + + + + 1.3 + + 2004-01-03 + + TE + + Added note about REJECT RedHat Kernal problem being + corrected. + + + + 1.2 + + 2003-12-29 + + TE + + Updated RFC1918 file + + + + 1.1 + + 2003-12-17 + + TE + + Initial Conversion to Docbook XML + + \ No newline at end of file diff --git a/Shorewall-docs2/images/State_Diagram.png b/Shorewall-docs2/images/State_Diagram.png index bdb3aad02d11f8e1a2933769add8ffc11e1d6868..929b0e5f591a976a8a3690abc678b95abee313da 100755 GIT binary patch literal 28375 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 literal 26272 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 diff --git a/Shorewall-docs2/images/State_Diagram.vdx b/Shorewall-docs2/images/State_Diagram.vdx index 895ac4c95..3b689fe85 100755 --- a/Shorewall-docs2/images/State_Diagram.vdx +++ b/Shorewall-docs2/images/State_Diagram.vdx @@ -1,5 +1,5 @@ - + @@ -10,8 +10,8 @@ 671351309 671351309 -AQAAAIwAAAAAAAAAAAAAANcAAAAXAQAAAAAAAAAAAAD/FAAAixkAACBFTUYAAAEA7MUCAAMAAAABA -AAADwAAAGwAAAAAAAAAAAUAAAAEAABAAQAA8AAAAAAAAAAAAAAAAAAAAADiBACAqQMAVgBJAFMASQ +AQAAAIwAAAAAAAAAAAAAANcAAAAXAQAAAAAAAAAAAAA/GgAADyIAACBFTUYAAAEA7MUCAAMAAAABA +AAADwAAAGwAAAAAAAAAAAQAAAADAABAAQAA8AAAAAAAAAAAAAAAAAAAAADiBACAqQMAVgBJAFMASQ BPAAAARAByAGEAdwBpAG4AZwAAAAAAAABMAAAATMUCAAAAAAAAAAAA1wAAABcBAAAAAAAAAAAAANg AAAAYAQAAIADMAAAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAA////AAAAAABkAAAAKAAA AIwAAADAxAIAKAAAANgAAAAYAQAAAQAYAAAAAADAxAIAAAAAAAAAAAAAAAAAAAAAAP/////////// @@ -1365,9 +1365,9 @@ dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f////////////f39ygoKN/f3///////// pqatXV1WpqatXV1WpqatXV1WpqatXV1WpqatXV1WpqatXV1WpqatXV1WpqatXV1dXV1dXV1dXV1dX V1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1f///////////2hoaJeXl/////////// /////////////////////////////////////////////5eXl2hoaP/////////////////////// -////////////////////////////zg4OMfHx///////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////zg4OMfHx////////////2BgYP///////////////////5+fn/ +///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wA +AAP///wAAAP///wAAAP////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1376,9 +1376,9 @@ V1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1f///////////2hoaJeXl/////////// Nra2gAAANra2gAAANra2gAAANra2gAAANra2gAAANra2gAAANra2gAAANra2gAAANra2gAAANra2g AAANra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2v///////////xA QEO/v7/////////////////////////////////////////////////////////f39xAQEPf39/// -/////////////////////////////////////////////9fX1ygoKP///////////////9fX1//// -////////////////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v/ -///7+/v////7+/v////7+/v////7+/v////7+/v////////////////////////////////////// +/////////////////////////////////////////////9fX1ygoKP///////////////2BgYP/// +////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP +///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1388,8 +1388,8 @@ QEO/v7/////////////////////////////////////////////////////////f39xAQEPf39/// 97e3m9vb97e3m9vb97e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t 7e3v///////9fX1ygoKP///////////////////////////////////////////////////////// //////1BQUK+vr////////////////////////////////////////////////////ygoKNfX1/// -/////2BgYP///////////////////5+fn////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP/// -wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP//////////////////////// +/////9fX1////////////////////+fn5////7+/v////7+/v////7+/v////7+/v////7+/v//// +7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v///////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1399,8 +1399,8 @@ wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP//////////////////////// 4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4 uLi4uLi4uLi4uLi4uLi4v///////6enp1hYWP//////////////////////////////////////// ///////////////////////2hoaJeXl////////////////////////////////////////////// -//////1hYWKenp////////////2BgYP///////////////////wAAAP///wAAAP///wAAAP///wAA -AP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP/// +//////1hYWKenp////////////////////////////////////39/f////39/f////39/f////39/ +f////8/Pz//////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1410,8 +1410,8 @@ S0tLS0tLS0tLS0tLS0tHBwcHBwcLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS 0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0 tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tP///////4eHh3h4eP/////////////////////// ////////////////////////////////////////39/f39/f///////////////////////////// -///////////////////////3BwcI+Pj////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////3BwcI+Pj////////////////////////////////5+fn////wAAAP/ +//wAAAP///wAAAP///wAAAP////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1422,8 +1422,8 @@ tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tP///////4eHh3h4eP/////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////7e3t0hISP///////////////////// //////////////////////////////////////////2BgYJ+fn/////////////////////////// -/////////////////////////0hISLe3t////////////4eHh////////////////////0BAQP/// -0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///7e3t///////////////// +/////////////////////////0hISLe3t////////////////////////////////////39/f//// +39/f////39/f////39/f////8/Pz///////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1433,10 +1433,10 @@ tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tP///////4eHh3h4eP/////////////////////// /39/f////39/f////39/f////39/f////39/f////39/f////39/f////39/f////39/f////39/f ////////////////////////////////////////////////////////////////+/v7xAQEP//// ///////////////////////////////////////////////////////////zAwMM/Pz////////// -//////////////////////////////////////////xAQEO/v7////////2BgYP////////////// -/////5+fn////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP/// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////xAQEO/v7////////9fX1/////////////// +/////+fn5////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v//// +7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v/ +///7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1445,9 +1445,9 @@ AAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP// /wAAAP///wAAAP///9/f3//////////////////////////////////////////////////////// ////////yAgIN/f3////////////////////////////////////////////////////////+fn5x gYGP///////////////////////////////////////////////////5+fn2BgYP///////////// -//9fX1////////////////////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/ -v////7+/v////+fn5//////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//2BgYP///////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAA +AP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP/// +wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///2BgYP//////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1456,10 +1456,10 @@ v////7+/v////+fn5//////////////////////////////////////////////////////////// AAP///wAAAP///wAAAP///wAAAP///wAAAP////////////////////////////////////////// /////////////////////////6enp1hYWP/////////////////////////////////////////// ////////////1hYWKenp////////////////////////////////////////////////+fn5ygoKO -/v7////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/v7////////////2BgYP///////////////////5+fn////wAAAP///wAAAP///wAAAP///wAAAP/ +//wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAA +AP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP/// +wAAAP//////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1686,8 +1686,8 @@ MM/Pz////////////////////////////////////////////////////9/f3yAgIP/////////// /////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////6+vr1BQUP//////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP/ +//0BAQP///0BAQP///0BAQP///0BAQP////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1697,8 +1697,8 @@ MM/Pz////////////////////////////////////////////////////9/f3yAgIP/////////// AQEO/v7////////////////////////////////////////////////////9/f3yAgIP///////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////2hoaJeXl//////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///w +AAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1708,9 +1708,9 @@ AQEO/v7////////////////////////////////////////////////////9/f3yAgIP///////// ////////////+/v7xAQEP//////////////////////////////////////////////////////// ///wAAAP///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////f39zAwMNfX1/////// -/////////////////////////////////////////////////wAAAP///wAAAP///wAAAP///wAAA -P///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///w -AAAP///wAAAP///wAAAP///9/f3////////////////////////////////////////////////// +/////////////////////////////////////////////////39/f////39/f////39/f////39/f +////39/f////39/f////39/f////39/f////39/f////39/f////39/f////39/f///////////// +///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1719,10 +1719,10 @@ AAAP///wAAAP///wAAAP///9/f3////////////////////////////////////////////////// /////////////////////////////9fX1ygoKP/////////////////////////////////////// ////////////////////wAAAP//////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -//9fX1zAwMPf39////////////////////////////////////////////////wAAAP///wAAAP// -/wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAA -P///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP//////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//9fX1zAwMPf39////////////////////////////////////////////////7+/v////7+/v/// +/7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v +////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7 ++/v////7+/v////7+/v////7+/v////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////7e3t0hISP//////////// @@ -1731,9 +1731,9 @@ P///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP//////////////////////////////////// /////////////////////////////////////yAgIN/f3//////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////4+Pj3BwcP///////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP// +/wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAA +P///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///9/f3///////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////9/f3zAwM @@ -1742,10 +1742,10 @@ O/v7/////////// ////////////////////////////////////////////////5+fn2BgYP//////////////////// ///////////////////////////////////////zg4OMfHx////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -/////////////////////////////0hISLe3t////////////////////1hYWP/////////////// -////0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///+ -fn5////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////0hISLe3t//////////////////////////////////////// +////0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0 +BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP/ +//0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////f39zg4OM/ @@ -1753,9 +1753,9 @@ Pz/////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////3h4eIeHh//// ////////////////////////////////////////////////////////2hoaJeXl///////////// ///////////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////+fn5zAwMOfn5////////////5+fn/// -/////////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAA -P///wAAAP///wAAAP//////////////////////////////////////////////////////////// +//////////////////////////////////////////////+fn5zAwMOfn5/////////////////// +///////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1765,8 +1765,8 @@ P///wAAAP///wAAAP//////////////////////////////////////////////////////////// /////0BAQL+/v////////////////////////////////////////////////////////////4+Pj 3BwcP//////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////7e3t0hISP/ -//////////////4+Pj////////////////////39/f////39/f////39/f////39/f////39/f/// -/39/f////39/f////39/f////39/f////+/v7//////////////////////////////////////// +//////////////yAgIP///////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP// +/wAAAP///wAAAP///wAAAP///wAAAP///9/f3//////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1776,8 +1776,8 @@ P///wAAAP///wAAAP//////////////////////////////////////////////////////////// //////////////////////wgICPf39/////////////////////////////////////////////// /////////////7+/v0BAQP/////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////2BgYJ+fn////////+fn5////////////////////////////7+/v////7+/v////7+ -/v////7+/v////7+/v////7+/v////7+/v////7+/v/////////////////////////////////// +///////////2BgYJ+fn////////5+fn////////////////////////////wAAAP///wAAAP///wA +AAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1787,8 +1787,8 @@ P///wAAAP///wAAAP//////////////////////////////////////////////////////////// ///////////////////////////////////8/PzzAwMP///////////////////////////////// //////////////////////////////+/v7xAQEP////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////////////+fn5yAgIPf39////////yAgIP///////////////////wAAAP -///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///0BAQP///////////// +////////////////////////////+fn5yAgIPf39////////8fHx////////////////////7+/v/ +///7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v/////f39////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////// @@ -1799,8 +1799,8 @@ P///wAAAP///wAAAP//////////////////////////////////////////////////////////// /////////////////////////////////////4+Pj3BwcP/////////////////////////////// ////////////////////////////////////xgYGOfn5///////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -//////////////////////////////////39/f39/f////7e3t/////////////////////////// -/0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP/////////////// +//////////////////////////////////39/f39/f////8/Pz/////////////////////////// +/39/f////39/f////39/f////39/f////39/f////39/f////39/f////39/f//////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1810,9 +1810,9 @@ P///wAAAP///wAAAP//////////////////////////////////////////////////////////// //////////////////////////////////////////////////////1hYWKenp/////////////// /////////////////////////////////////////////////////0hISLe3t//////////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////f39yAgIOfn5////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////f39yAgIOfn5////yAgIP///// +//////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP// +/0BAQP/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////7+/v////////////////////wAAAP// @@ -1822,8 +1822,8 @@ P///wAAAP///wAAAP//////////////////////////////////////////////////////////// f3////////////////////////////////////////////////////////////////////3BwcI+P j//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////5+fn2 -BgYP///////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +BgYM/Pz////////////////////////////39/f////39/f////39/f////39/f////39/f////39 +/f////39/f////39/f/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////wAAAP///////////// @@ -2080,8 +2080,8 @@ BAQP///0BAQP///0BAQP///0BAQP///////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////9/f3yAgIP/////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////9/f3ygoKPf39////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////9/f3ygoKPf39////////////////3BwcP///0B +AQP///0BAQP///0BAQP///0BAQP////////////////////////////////////////////////// /////////////////////////////////+/v7ygoKOfn5//////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////3h4eIeHh////////////////////////////// @@ -2092,7 +2092,7 @@ BAQP///0BAQP///0BAQP///0BAQP///////////////////////////////////////////////// //////////////////////////////////////////////////5+fn2BgYP////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////0BAQL+/v///////////// -///////////7+/v////7+/v////7+/v////////////////////////////////////////////// +///////////wAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////// //////////////////////////////////////////////////////4+Pj3BwcP////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////6enp1hYWP//////////// @@ -2103,7 +2103,7 @@ BAQP///0BAQP///0BAQP///0BAQP///////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////3BwcI+Pj// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////5+fn2BgY -P///////////////////////0BAQP///wAAAP///wAAAP///2BgYP//////////////////////// +P///////////////////////8/Pz////7+/v////7+/v////7+/v////7+/v///////////////// ////////////////////////////////////////////////////////////////////////f39zg 4OM/Pz/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////8/Pz @@ -2114,9 +2114,9 @@ zAwMP//////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////zAwMM/Pz////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -/////+fn5zAwMOfn5////////////////////////////wAAAP///wAAAP///wAAAP/////////// -/////////////// -///////////////////////////////////////////////////////////////////////////// +/////+fn5zAwMOfn5////////////////////////////39/f////39/f////39/f////39/f//// +39/f////39/f/// +/39/f////39/f////39/f////39/f////39/f////39/f////4+Pj//////////////////////// 6+vr1BQUP//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////f 39wgICP////////////////////////////////////////////////////////////////////// @@ -2126,8 +2126,8 @@ zAwMP//////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////+/v7xAQEP/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////2BgYJ+fn////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////2BgYJ+fn////////////////////////////0BAQP///wAAAP///wAAAP///wAAAP///wA +AAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP////////// /////////////////////1BQUK+vr//////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////ygoKNfX1////////////////////////////////////////////////// @@ -2137,9 +2137,9 @@ zAwMP//////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////6+vr1BQUP////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////7+/v0BAQP///+fn5////+fn5////////////////////0BAQP///0BAQP -///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///////////////////// -//////////////////////////////////////8/Pzzg4OPf39/////////////////////////// +////////////////////7+/v0BAQP///////////////////////////////////0BAQP///0BAQP +///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0B +AQP///1hYWP///////////////////////////8/Pzzg4OPf39/////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////1BQUK+vr///////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -2148,8 +2148,8 @@ zAwMP//////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////3h4eIeHh////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -//////////////////////////////////f39zAwMNfX1////////wAAAP/////////////////// -0BAQP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///5+fn/ +//////////////////////////////////f39zAwMNfX1//////////////////////////////// +///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////4+Pj3BwcP///////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////39/f39/f//////////////// @@ -2159,9 +2159,9 @@ zAwMP//////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////0hISLe3t///////////// ///////////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////3BwcI+Pj/////////f39/////f3 -9////////////////////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v//// -7+/v////7+/v///////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////3BwcI+Pj////////9/f3////9/f +3////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP/// +wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///5+fn///////// ///0BAQL+/v////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////6+vr1BQ UP/////////////////////////////////////////////////////////////////////////// @@ -2171,9 +2171,9 @@ UP/////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////ygoK NfX1/////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////6enp1hYWP///////////////7+/v/ -///////////////////8/Pz////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+ -/v////7+/v/////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////6enp1hYWP///////////////wAAAP +///////////////////0BAQP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wA +AAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP////////// /////+fn5zAwMOfn5//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////9fX1y goKP///////////////////////////////////////////////////////////////////////// @@ -2183,8 +2183,8 @@ goKP///////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////xA QEO/v7/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////8/Pzzg4OPf39//// -////////9/f3////9/f3////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP -///wAAAP///wAAAP///wAAAP///////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////// //////////////////////////6+vr1BQUP////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////+fn5xgYGP//////////////////////////////////////////////////////// @@ -2205,8 +2205,8 @@ QEO/v7/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////8/PzzAwMP//////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -//////////////0BAQL+/v/////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////0BAQL+/v////////////////////9/f3////9/f3////////////////////wAA +AP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP/////////////////// /////////////////////////////////////////////////////////////////f39zAwMNfX1/ ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////xAQEO/v7/////////////////// @@ -2216,9 +2216,9 @@ QEO/v7/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////7e3t0hISP/////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////3h4eIeHh////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////////3h4eIeHh////////////////////////////39/f////////// +//////////5+fn////39/f////39/f////39/f////39/f////39/f////39/f////39/f////39/ +f//////////////////////////////////////////////////////////////////////////// ////////9fX1zAwMPf39///////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////yAgIN/f3// ///////////////////////////////////////////////////////////////////////////// @@ -2415,9 +2415,9 @@ Pj2hoaEBAQAAAACgoKFBQUH9/f7e3t9/f3/////////////////////////////////////////// ///////////////////////////////9fX16+vr39/f0hISCAgICgoKHBwcMfHx////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////0BAQP///0BAQP +////////////////////////////////////////+fn5////0BAQP///0BAQP///0BAQP///0BAQP ///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0B -AQP///0BAQP///1hYWP////////////////////////////////////////////////////////// +AQP///0BAQP///0BAQP///0BAQP///0BAQP////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -2426,9 +2426,9 @@ AQP///0BAQP///1hYWP////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////9fX14+Pjz g4OBAQEGBgYKenp/f39////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -5+fn////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP -///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////////////// +/////////////////////////////////////////////////////////////wAAAP///wAAAP/// +wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP +///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///2BgYP///////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -2437,10 +2437,10 @@ vr/f39////////////////////////////////yAgIP///////////////////39/f////wAAAP// /wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP/////////////////////// ////////////////////+/v75+fn1hYWAgICFBQUJ+fn///////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -/////////////////////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v//// +///////////////////////////////////////////////////////////////////////////f3 +9////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v//// 7+/v////7+/v/// -/7+/v////7+/v////7+/v////7+/v////8fHx//////////////////////////////////////// +/7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v//////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -2449,9 +2449,9 @@ vr/f39////////////////////////////////yAgIP///////////////////39/f////wAAAP// AAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////// //////////////////////////////////////6+vr2BgYBgYGIeHh+fn5/////////////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////8/Pz/ -///////////////////+fn5////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+ -/v////7+/v////7+/v////7+/v////7+/v////8/Pz/////////////////////////////////// +////////////////////////////////////////////////////////8/Pz///////////////// +///7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+ +/v////7+/v////7+/v/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -2460,9 +2460,9 @@ AAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////// ////9/f3////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v////7+/v///// ///////////////////////////////////////////////////////////////+fn53h4eCAgIGB gYNfX1/////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -////////////////39/f////////////////////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP -///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////// +/////////////////////////////////////////////////////////////////////39/f//// +////////////////9/f3////wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP +///wAAAP///wAAAP///wAAAP///wAAAP///wAAAP///////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -2472,8 +2472,8 @@ ISKenp/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////f395+fnygoKEhISK+vr////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -/////////////////////////////3BwcP///////////////////7e3t////0BAQP///0BAQP/// -0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///3BwcP +/////////////3BwcP///////////////////0BAQP///0BAQP///0BAQP///0BAQP///0BAQP/// +0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP///0BAQP//////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -3206,8 +3206,8 @@ eHh4+Pj////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////w4AAAAUAAAAAAAAABAAAAAUAAAA 2003-12-23T10:01:54 -2003-12-23T14:54:34 -2003-12-23T14:54:30 +2004-05-03T14:58:25 +2004-05-03T14:58:01 2003-12-23T10:01:54 @@ -3272,7 +3272,7 @@ eHh4+Pj////////////////////////////////////////////////////////////////////// 1 1 1 -0 +0 0.01 @@ -4876,45 +4876,45 @@ eHh4+Pj////////////////////////////////////////////////////////////////////// 0.375 0 -0 -0 +0 +0 0 0 - + 0.75 0.375 -0 -0 +0 +0 0 0 - + 0.375 0.75 -0 -0 +0 +0 0 0 - + 0 0.375 -0 -0 +0 +0 0 0 - + 0 Enter the cost associated with this process. @ - + 7 0 0 @@ -4923,8 +4923,8 @@ eHh4+Pj////////////////////////////////////////////////////////////////////// 0 Enter the duration of this step. - - + + 2 0 0 @@ -4933,8 +4933,8 @@ eHh4+Pj////////////////////////////////////////////////////////////////////// 0 Enter the number of people required to complete this task. - - + + 0 0 0 @@ -4947,15 +4947,15 @@ eHh4+Pj////////////////////////////////////////////////////////////////////// 1 - + Entity,Adds,resizable,data,flow,diagram,DFDs,DeMarco,Gane,Sarson,Yourdon,databases,stores - + 10 - + 0 @@ -5095,54 +5095,54 @@ D/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf/ 0.375 0.375 -0 -0 +0 +0 0 0 - + 0.375 0 -0 -0 +0 +0 0 0 - + 0.75 0.375 -0 -0 +0 +0 0 0 - + 0.375 0.75 -0 -0 +0 +0 0 0 - + 0 0.375 -0 -0 +0 +0 0 0 - + 0 Enter the cost associated with this process. @ - + 7 0 0 @@ -5151,8 +5151,8 @@ D/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf/ 0 Enter the duration of this step. - - + + 2 0 0 @@ -5161,8 +5161,8 @@ D/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf/ 0 Enter the number of people required to complete this task. - - + + 0 0 0 @@ -5175,15 +5175,15 @@ D/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf/ 1 - + Start,state,Adds,data,flow,diagram,Use,center,style,connectors,loops,DFDs,DeMarco,Gane,Sarson,Yourdon,databases,stores - + 10 - + 0 @@ -5319,54 +5319,54 @@ A+AAAAPgAAAD4AAAA+AAAAfwAAAH8AAAB/AAAA/4AAAP+AAAH/wAAD/+AAB//wAA//+AAf//4Af// 0 0.375 -0 -0 +0 +0 0 0 - + 0.375 0 -0 -0 +0 +0 0 0 - + 0.75 0.375 -0 -0 +0 +0 0 0 - + 0.375 0.75 -0 -0 +0 +0 0 0 - + 0.375 0.375 -0 -0 +0 +0 0 0 - + 0 Enter the cost associated with this process. @ - + 7 0 0 @@ -5375,8 +5375,8 @@ A+AAAAPgAAAD4AAAA+AAAAfwAAAH8AAAB/AAAA/4AAAP+AAAH/wAAD/+AAB//wAA//+AAf//4Af// 0 Enter the duration of this step. - - + + 2 0 0 @@ -5385,8 +5385,8 @@ A+AAAAPgAAAD4AAAA+AAAAfwAAAH8AAAB/AAAA/4AAAP+AAAH/wAAD/+AAB//wAA//+AAf//4Af// 0 Enter the number of people required to complete this task. - - + + 0 0 0 @@ -5399,11 +5399,11 @@ A+AAAAPgAAAD4AAAA+AAAAfwAAAH8AAAB/AAAA/4AAAP+AAAH/wAAD/+AAB//wAA//+AAf//4Af// State,Adds,data,flow,diagram,Use,center,style,connectors,loops,DFDs,DeMarco,Gane,Sarson,Yourdon,databases,stores - + 10 - + 0 @@ -5556,15 +5556,15 @@ A+AAAAPgAAAD4AAAA+AAAAfwAAAH8AAAB/AAAA/4AAAP+AAAH/wAAD/+AAB//wAA//+AAf//4Af// 1 - + Loop,on,center,Adds,adjustable,data,flow,diagram,Glue,state,process,adjust,DFDs,DeMarco,Gane,Sarson,Yourdon,databases,stores - + 10 - + 0.5728359494296 @@ -5721,15 +5721,15 @@ v8B//7/A///f4///3////9////+//3//v/9//3//v/7//9/9///j8////A/////////////////// 1 - + Note,box,contemp,Decorative,notes,automatically,sized,fit,text,Borders,Titles,backgrounds,buttons,title,blocks - + 10 - + 0.25 @@ -6010,7 +6010,7 @@ v8B//7/A///f4///3////9////+//3//v/9//3//v/7//9/9///j8////A/////////////////// 0.125 - + 0 @@ -6269,7 +6269,7 @@ v8B//7/A///f4///3////9////+//3//v/9//3//v/7//9/9///j8////A/////////////////// 0.125 - + 0 @@ -6382,7 +6382,7 @@ v8B//7/A///f4///3////9////+//3//v/9//3//v/7//9/9///j8////A/////////////////// 0 0 0 --1.2 +-1.2 0 0 0 @@ -6546,15 +6546,15 @@ A/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA8AAAAP3////96q///egP//3Gn/// 1 - + Center,Connects,glue,points,on,two,states,processes,data,flow,diagram,DFDs,DeMarco,Gane,Sarson,Yourdon,databases,stores - + 10 - + -0.75 @@ -6659,13 +6659,13 @@ H/7//5//f/9f/5/8///gA////////////8////PH///jw//3w8P/+8PDgAHDw//7w8P/98PH///jz - + 8.5 11 0.125 --0.125 +-0.125 1 1 0 @@ -6752,8 +6752,68 @@ H/7//5//f/9f/5/8///gA////////////8////PH///jw//3w8P/+8PDgAHDw//7w8P/98PH///jz -6.75 +7.03125 5.9855674544158 +2.3125 +0.75 +1.15625 +0.375 +0 +0 +0 +0 + + +0 +0 +0 +0 +0 + + +-0.25 +0.25 +0 +-1.2 +0 +0 +0 +1 + + + +0 +0 +0 +0 + +0 +0 + + +2.3125 +0 + + +2.3125 +0.75 + + +0 +0.75 + + +0 +0 + + +“firewall stop” +Failed “firewall (restart|add|delete|refresh) with no /var/lib/shorewall/restore + + + +7.375 +8.375 1.75 0.75 0.875 @@ -6807,67 +6867,7 @@ H/7//5//f/9f/5/8///gA////////////8////PH///jw//3w8P/+8PDgAHDw//7w8P/98PH///jz 0 -“firewall stop” -Failed “firewall (restart|add|delete|refresh) - - - -7.375 -8.375 -1.375 -0.75 -0.6875 -0.375 -0 -0 -0 -0 - - -0 -0 -0 -0 -0 - - --0.25 -0.25 -0 --1.2 -0 -0 -0 -1 - - - -0 -0 -0 -0 - -0 -0 - - -1.375 -0 - - -1.375 -0.75 - - -0 -0.75 - - -0 -0 - - -Successful “firewall (restart|refresh|reset)” +Successful “firewall (restart|refresh|reset|restore)” @@ -6899,6 +6899,7 @@ Failed “firewall (restart|add|delete|refresh) 0 0 + @@ -6923,6 +6924,10 @@ Failed “firewall (restart|add|delete|refresh) 0 + +1 + + 0.0871 0 @@ -6941,15 +6946,11 @@ Failed “firewall (restart|add|delete|refresh) 1 Move Inner Circle - -1 - - 0.35491071428571 0.35491071428571 -0 -0 +0 +0 0 0 @@ -6957,8 +6958,8 @@ Failed “firewall (restart|add|delete|refresh) 0.35491071428571 0 -0 -0 +0 +0 0 0 @@ -6966,8 +6967,8 @@ Failed “firewall (restart|add|delete|refresh) 0.70982142857143 0.35491071428571 -0 -0 +0 +0 0 0 @@ -6975,8 +6976,8 @@ Failed “firewall (restart|add|delete|refresh) 0.35491071428571 0.70982142857143 -0 -0 +0 +0 0 0 @@ -6984,8 +6985,8 @@ Failed “firewall (restart|add|delete|refresh) 0 0.35491071428571 -0 -0 +0 +0 0 0 @@ -7057,8 +7058,8 @@ Failed “firewall (restart|add|delete|refresh) 0 0.35491071428571 -0 -0 +0 +0 0 0 @@ -7066,8 +7067,8 @@ Failed “firewall (restart|add|delete|refresh) 0.35491071428571 0 -0 -0 +0 +0 0 0 @@ -7075,8 +7076,8 @@ Failed “firewall (restart|add|delete|refresh) 0.70982142857143 0.35491071428571 -0 -0 +0 +0 0 0 @@ -7084,8 +7085,8 @@ Failed “firewall (restart|add|delete|refresh) 0.35491071428571 0.70982142857143 -0 -0 +0 +0 0 0 @@ -7093,8 +7094,8 @@ Failed “firewall (restart|add|delete|refresh) 0.35491071428571 0.35491071428571 -0 -0 +0 +0 0 0 @@ -7152,8 +7153,8 @@ Failed “firewall (restart|add|delete|refresh) 0 0.35491071428571 -0 -0 +0 +0 0 0 @@ -7161,8 +7162,8 @@ Failed “firewall (restart|add|delete|refresh) 0.35491071428571 0 -0 -0 +0 +0 0 0 @@ -7170,8 +7171,8 @@ Failed “firewall (restart|add|delete|refresh) 0.70982142857143 0.35491071428571 -0 -0 +0 +0 0 0 @@ -7179,8 +7180,8 @@ Failed “firewall (restart|add|delete|refresh) 0.35491071428571 0.70982142857143 -0 -0 +0 +0 0 0 @@ -7188,8 +7189,8 @@ Failed “firewall (restart|add|delete|refresh) 0.35491071428571 0.35491071428571 -0 -0 +0 +0 0 0 @@ -7259,6 +7260,10 @@ Failed “firewall (restart|add|delete|refresh) 0.125 -1.8769053397437E-15 + +1 + + 0.5728359494296 0.25 @@ -7267,10 +7272,6 @@ Failed “firewall (restart|add|delete|refresh) 0.50001281983565 0.125 - -1 - - 1 0 @@ -7325,6 +7326,10 @@ Failed “firewall (restart|add|delete|refresh) 0.125 2.3461316746796E-16 + +1 + + 0.5728359494296 0.25 @@ -7333,10 +7338,6 @@ Failed “firewall (restart|add|delete|refresh) 0.50001281983565 0.125 - -1 - - 1 0 @@ -8468,7 +8469,7 @@ configuration 0 0.51111111111111 -1.5872938378056 +1.5872938378055 0.51111111111111 0 0.51111111111111 @@ -9341,11 +9342,11 @@ in /etc/shorewall/routestopped -3.2287473903435 +3.4375 4.0326483996507 -1.207494780687 +1.625 0.73047537073002 -0.6037473903435 +0.8125 0.36523768536501 0 0 @@ -9380,11 +9381,11 @@ in /etc/shorewall/routestopped 0 -1.207494780687 +1.625 0 -1.207494780687 +1.625 0.73047537073002 @@ -9397,7 +9398,7 @@ in /etc/shorewall/routestopped “firewall stop” -Failed “firewall start” +Failed “firewall start” with no /var/lib/shorewall/restore @@ -9642,11 +9643,11 @@ Failed “firewall start” -5.3236607142857 +5.6852678571429 1.4787946428571 -1.65625 +2.3794642857143 0.70982142857143 -0.828125 +1.1897321428572 0.35491071428571 0 0 @@ -9681,11 +9682,11 @@ Failed “firewall start” 0 -1.65625 +2.3794642857143 0 -1.65625 +2.3794642857143 0.70982142857143 @@ -9697,7 +9698,7 @@ Failed “firewall start” 0 -“firewall stop” +“firewall stop” with no /var/lib/shorewall/restore Failed “firewall start” @@ -9721,8 +9722,8 @@ Failed “firewall start” - - + + 1 1 0 @@ -9734,15 +9735,15 @@ Failed “firewall start” 1 0.33 - + 10 0 - + 10 1 - + 10 2 diff --git a/Shorewall-docs2/images/staticnat.png b/Shorewall-docs2/images/staticnat.png index bd566608ebaeb121fefc242822db989eccab27c0..613259e9c62c4c529f040d4b5415497ebd9350ac 100644 GIT binary patch literal 8036 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 literal 6422 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ΞmBl$O=5{MOCKmjy zzMpC)=4YW(_tgu>>8hsHaX@aZ9opmL*Jhx{rx4;Nj)f_n9jPnwO4v#;g699kq%?J^ zRk(v!>IoET-$#q7n(?=AW>M1GcgA*%S}1a*bX#66@%x9HlGgK$$Uh}ig6Zf8FwuC`o)0cf;rWobAtd?p{F2w`i*1(_Ii_v_nB4{AHNbbv#i?ETnL} zVN~_f{TeKsgSzn8jUU@F*nKWW$^*XcInWGHtYxw7_7C2Ppp1Qya09yRGft88@Ex}e zC~oIsD(5dA0F^M@I0V7Dc6 diff --git a/Shorewall-docs2/images/staticnat.vdx b/Shorewall-docs2/images/staticnat.vdx index fa5fd13d4..58acb527b 100755 --- a/Shorewall-docs2/images/staticnat.vdx +++ b/Shorewall-docs2/images/staticnat.vdx @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ Hewlett Packard Company 671351309 -671351309 +671353298 AQAAAIwAAAAAAAAAAAAAAHwAAAChAAAAAAAAAAAAAAAcDAAAvQ4AACBFTUYAAAEAHO8AAAMAAAABA AAADwAAAGwAAAAAAAAAAAUAAAAEAABAAQAA8AAAAAAAAAAAAAAAAAAAAADiBACAqQMAVgBJAFMASQ @@ -593,14 +593,14 @@ vLyf39/AAAAf39/f39/AAAAf39/AAAAAAAAAAAAAAAA////////////////////////////////// /////////////////////////////////////////////////wAAAAAAAAAAAH9/fwAAAAAAAAAAA AAAAHNzcwAAAH9/f39/f39/f39/f39/f39/fwAAAP//////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -//////////wAAAAAAAAAAAH9/fwAAAAAAAAAAAAAAAHt7e2NjY39/f39/f39/f39/f39/f39/f39/ +//////////wAAAAAAAAAAAH9/fwAAAAAAAAAAAAAAAHt7e2NjY39/f3Nzc39/f39/f39/f39/f39/ fwAAAP/////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////wD/////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////Hx8dAQED///////////////////////////// +///////////////////////////////+3t7ePj4/Hx8dAQED///////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -////+/v79AQED//////////////////////////////////////////////////////////////// +////+/v79AQED///9ISEj//////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////8A///////////////////////////////////////////////// /////////////// @@ -624,63 +624,63 @@ fwAAAP/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////8A/////////////////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////////////v7+/QEBA///////////////////////////////////////// +////////////////////5+fn19fXv7+/QEBA///////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////v7+/QEB -A//////////////////////////////////////////////////////////////////////////// +A////v7+///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////AP//////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////7+/v0BAQP/ +///////////////////////////////////////////////////////////5+fn2BgYL+/v0BAQP/ ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -////////////////////////////////7+/v0BAQP//////////////////////////////////// +////////////////////////////////7+/v0BAQP///wAAAP//////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////wD///////////////////// ///////////////////////////////////////////////////////////////////////////// -/////////////////////////////+/v79AQED/////////////////////////////////////// +/////////////////////+fn59gYGC/v79AQED/////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////+/v79A -QED////////////////////////////////////////////////////////////////////////// +QED///8AAAD////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////8A/////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////v7+/MDAw +/////////////////////////////////////////////////////////////n5+fYGBgv7+/MDAw v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/x8fHAAAAAAAAAAAAAAAAAAAAAAAAf39/f 39/f39/AAAAAAAAAAAAf39/f39/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8 -/Pv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/j4+PQEBA/////////////////////////////////// +/Pv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/j4+PQEBA////AAAA/////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////AP/////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////+fn50hISEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB +///////////////////////5+fn2BgYOfn50hISEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQAAAAH9/fwAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AL+/v7+/v7+/v7+/v7+/v7+/v7+/vwAAAAAAAEhISEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ -I+Pj///////////////////////////////////////////////////////////////////////// +I+Pj////wAAAP//////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////wD///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////+fn59gYGD////// /////////////// //////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////8AAAD//////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////8A///////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////n5+fYGBg/////////////////////////////////////////////////////////// /////////////////////////////////////////////n5+fYGBg//////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////AAAA/ ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////AP////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////5+fn2BgYP/////////////////// ///////////////////////////////////////////////////////////////////////////// ///////5+fn2BgYP///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////////////wAAAP////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////wD/////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////+3t7eHh4f///////////////////////////////////////////////////////// //////////////////////////////////////////////+fn59gYGD////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////9AQE +D//////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////8A///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -703,62 +703,62 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////8A//////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////5+fn19fX////////////////////////////////////////////////////// //////////////////////////////////////////////////n5+fYGBg////AAAA////AAAA/// /AAAA////AAAA////f39///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +v7+////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////AP///////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////5+fn2BgYP////////////// ///////////////////////////////////////////////////////////////////////////// ////////////5+f n2BgYN/f3////39/f////39/f////39/f////39/f//////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////wAAAP//////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////wD///////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/+fn59gYGD/////////////////////////////////////////////////////////////////// ////////////////////////////////////+vr68AAACvr6///////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////8AAAD///////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////8A// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////n5+fYGBg//////////////////////////// ////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////AAAA/////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////AP/////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///5+fn2BgYP///////////////////////////////////////////////////////////////// //////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/vwAAAP////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////wAAAP/////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////wD ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////+fn59gYGD////////////////////////// /////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAC/v78AAAD//////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////////8AAAD///////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////8A////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////n5+fYGBg//////////////////////////////////////////////////////////////// ////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////AAAA////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// AP/////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////5+fn2BgYP//////////////////////// ///////////////////////////////////////////////////////////////wAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////wAAAP/////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////wD//////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////+3t7eHh4f////////////////////////////////////////////////////////////// /////////////////8AAAAAAAAAAAAAAAAAAAAA//8A//8A//8A//8A//8AAAAAAAAAAAAAAAAAAA -D//////////////////////////////////////////////////////////////////////////// +D///////////////////////////////////////////////////////////////////9AQED//// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /8A////////////////////////////////////////////////////////////////////////// @@ -782,83 +782,83 @@ AAAAAAAAAAD////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////8A//////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////5+fn1 +9fX////////////////////////////////////////////////////////////////////////// //////////////////////////AAAA////AAAA////AAAA/////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////v7+///////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////AP//////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////////////5+fn2BgYP////////////////////////////////// /////////////////////////////////////////////////////////////////////4+Pj5+fn ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////wAAAP///////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////wD////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////+fn5 +9gYGD//////////////////////////////////////////////////////////////////////// ///////////////////////////////9/f39/f3////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////8AAAD////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////8A/////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////////n5+fYGBg///////////////////////////////// ///////////////////////////////////////////////////////////////////////f39/f3 9//////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////AAAA//////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////AP//////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////5+ +fn2BgYP////////////////////////////////////////////////////////////////////// /////////////////////////////////39/f39/f//////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////wAAAP//////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////wD///// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////+fn59gYGD/////////////////////////////// ////////////////////////////////////////////////////////////////////////9/f39 -/f3////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +/f3////////////+fn59/f39/f39/f39/f39/f39/f39/f3/Pz8////////////+vr69/f39/f39/ +f39/f39/f39/f39/f3/Pz88AAAD////////////////////////////////////////////////// /////////////// ///////////////////////////////////////////////////////////////////////////// /////////////////8A////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////n5+fYGBg/////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -////////////////////f39/f39////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////f39/f39/////////39/fEBAQf39/f39/f39/f39/f39/f39/f39/z8/P/ +///////////r6+vf39/f39/f39/f39/f39/f39/f39/z8/PAAAA////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////AP////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////39/f39/f////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +////////////////////////5+fn2BgYP//////////////////////////////////////////// +///////////////////////////////////////////////////////////39/f39/f////////9/ +f3yAgIP////////////////////////////////////////////////////////////////////// +/////////wAAAP/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////wD//////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -/////////////////////9/f39/f3//////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////+np6doaGj///8A +AAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD////////// +/////////////////////9/f39/f3/////////f398gICD///8AAAD///8AAAD///8AAAD///8AAA +D///8AAAD///8AAAD///8AAAD///8AAAD///8AAAD///+/v78QEBD//////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////8A///////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////f39/f39///////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//////////////////////////////7+/vYGBg////AAAA////AAAA////AAAA////AAAA////AAA +A////AAAA////AAAA////AAAA////AAAA////////////////////////////f39/f39///////// +39/fICAgn5+f////AAAA////AAAA////AAAA////AAAA////AAAA////AAAA////AAAA////AAAA/ +///AAAA////AAAA////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////////////////////AP////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -///////////////////////39/f39/f////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +///////////////////////39/f39/f////////9/f3yAgIP///////////////////////////// +//////////////////////////////////////////////////wAAAP////////////////////// ///////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////wD/////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////9/f39/f3/////// -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// +//39/fHx8f///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAA +AAAAAAAAAAAAAgICD//////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// //////////////////////8A///////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// @@ -1087,8 +1087,8 @@ D//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////AA4AAAAUA AAAAAAAABAAAAAUAAAA 2002-08-11T10:13:47 -2003-12-23T08:48:14 -2003-11-13T07:29:14 +2004-04-14T14:45:15 +2004-04-14T14:45:12 2002-08-11T10:13:47 @@ -1155,7 +1155,7 @@ AAAAAAAABAAAAAUAAAA 1 1 1 -0 +0 0.01 @@ -2030,9 +2030,9 @@ AAAAAAAABAAAAAUAAAA Visio Network Solutions

http://officupdate.com/visio/
- - - + + + 0 0 @@ -2141,7 +2141,7 @@ AAAAAAAABAAAAAUAAAA 0 - + 0 0 0 @@ -2156,7 +2156,7 @@ AAAAAAAABAAAAAUAAAA Manufacturer Name - + Equipment 0 0 @@ -2166,7 +2166,7 @@ AAAAAAAABAAAAAUAAAA Product Number - + Equipment 0 0 @@ -2176,7 +2176,7 @@ AAAAAAAABAAAAAUAAAA Part Number - + Equipment 0 0 @@ -2186,7 +2186,7 @@ AAAAAAAABAAAAAUAAAA Generic Firewall Product Description - + Equipment 0 0 @@ -2230,11 +2230,11 @@ AAAAAAAABAAAAAUAAAA Generic,Firewall,Internet,Symbols,Requires,Version,higher - + 10 - + 3.27109375 @@ -2306,7 +2306,7 @@ AAAAAAAABAAAAAUAAAA 3.27109375 -2.4444444444444 -9.1379123273889 +9.1379123273888 2.4444444444444 4.5689561636944 1.2222222222222 @@ -2793,7 +2793,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA 0 - + 0 0 0 @@ -2808,7 +2808,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Manufacturer Name - + Equipment 0 0 @@ -2818,7 +2818,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Product Number - + Equipment 0 0 @@ -2828,7 +2828,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Part Number - + Equipment 0 0 @@ -2838,7 +2838,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Generic Desktop Product Description - + Equipment 0 0 @@ -2878,7 +2878,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Support Agreement - + Maintenance 0 0 @@ -2888,7 +2888,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Support Contact Name - + Maintenance 0 0 @@ -2898,7 +2898,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Contact Phone - + Maintenance 0 0 @@ -2908,7 +2908,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Comments - + Maintenance 0 0 @@ -2928,7 +2928,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Asset ID - + Asset 0 0 @@ -2938,7 +2938,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Serial Number - + Asset 0 0 @@ -2948,7 +2948,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Location - + Asset 0 0 @@ -2958,7 +2958,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Building - + Asset 0 0 @@ -2968,7 +2968,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Room - + Asset 0 0 @@ -2978,7 +2978,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Department - + Asset 0 0 @@ -2988,7 +2988,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Network Name - + Network 0 0 @@ -2998,7 +2998,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA IP Address - + Network 0 0 @@ -3008,7 +3008,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Subnet Mask - + Network 0 0 @@ -3018,7 +3018,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Administrative Interface - + Network 0 0 @@ -3028,7 +3028,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Number of Ports - + Network 0 0 @@ -3038,7 +3038,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA MAC Address - + Network 0 0 @@ -3048,7 +3048,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Community String - + Network 0 0 @@ -3058,7 +3058,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Network Description - + Network 0 0 @@ -3102,11 +3102,11 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA Generic,Desktop,PC,Peripherals,Requires,Version,higher - + 10 - + 2.86953125 @@ -3178,7 +3178,7 @@ AAAD//7////4P///8B///+AP//+AD///AA///wAH//8AB///AAP//wAD//8AA///AAH//wAB//8AA 2.86953125 -2.4444444444444 -9.3863932301667 +9.3863932301666 2.4444444444444 4.6931966150833 1.2222222222222 @@ -3502,7 +3502,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// 0 - + 0 0 0 @@ -3517,7 +3517,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Manufacturer Name - + Equipment 0 0 @@ -3527,7 +3527,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Product Number - + Equipment 0 0 @@ -3537,7 +3537,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Part Number - + Equipment 0 0 @@ -3547,7 +3547,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Ethernet Hub Product Description - + Equipment 0 0 @@ -3587,7 +3587,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Support Agreement - + Maintenance 0 0 @@ -3597,7 +3597,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Support Contact Name - + Maintenance 0 0 @@ -3607,7 +3607,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Contact Phone - + Maintenance 0 0 @@ -3617,7 +3617,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Comments - + Maintenance 0 0 @@ -3637,7 +3637,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Asset ID - + Asset 0 0 @@ -3647,7 +3647,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Serial Number - + Asset 0 0 @@ -3657,7 +3657,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Location - + Asset 0 0 @@ -3667,7 +3667,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Building - + Asset 0 0 @@ -3677,7 +3677,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Room - + Asset 0 0 @@ -3687,7 +3687,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Department - + Asset 0 0 @@ -3697,7 +3697,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Network Name - + Network 0 0 @@ -3707,7 +3707,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// IP Address - + Network 0 0 @@ -3717,7 +3717,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Subnet Mask - + Network 0 0 @@ -3727,7 +3727,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Administrative Interface - + Network 0 0 @@ -3737,7 +3737,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Number of Ports - + Network 0 0 @@ -3747,7 +3747,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// MAC Address - + Network 0 0 @@ -3757,7 +3757,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Community String - + Network 0 0 @@ -3767,7 +3767,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Network Description - + Network 0 0 @@ -3811,11 +3811,11 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// Ethernet,Hub,Network,Devices,Requires,Version,higher - + 10 - + 5.52578125 @@ -3887,7 +3887,7 @@ AIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////// 5.52578125 -2.4444444444444 -7.6584201398889 +7.6584201398888 2.4444444444444 3.8292100699444 1.2222222222222 @@ -4217,7 +4217,7 @@ AIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////////////////////// 3 3 0.125 --0.125 +-0.125 1 1 4 @@ -4261,7 +4261,7 @@ AIAAAACAAAAAgAAAAIAAAAD////////////////////////////////////////////////////// 0.5 -0.5 -0.55555555555556 +0.55555555555555 0.24444444444444 0.27777777777778 0.12222222222222 @@ -4467,7 +4467,7 @@ AAAD/////////////////gH///79///4Df//8A3//+AN///AAAAf0A3/39Ad/9/eff/f3H3/3959/ 0 - + 0 0 0 @@ -4482,7 +4482,7 @@ AAAD/////////////////gH///79///4Df//8A3//+AN///AAAAf0A3/39Ad/9/eff/f3H3/3959/ Manufacturer Name - + Equipment 0 0 @@ -4492,7 +4492,7 @@ AAAD/////////////////gH///79///4Df//8A3//+AN///AAAAf0A3/39Ad/9/eff/f3H3/3959/ Product Number - + Equipment 0 0 @@ -4502,7 +4502,7 @@ AAAD/////////////////gH///79///4Df//8A3//+AN///AAAAf0A3/39Ad/9/eff/f3H3/3959/ Part Number - + Equipment 0 0 @@ -4512,7 +4512,7 @@ AAAD/////////////////gH///79///4Df//8A3//+AN///AAAAf0A3/39Ad/9/eff/f3H3/3959/ Hardware Firewall Product Description - + Equipment 0 0 @@ -4556,11 +4556,11 @@ AAAD/////////////////gH///79///4Df//8A3//+AN///AAAAf0A3/39Ad/9/eff/f3H3/3959/ Hardware,Firewall,Internet,Symbols,Requires,Version,higher - + 10 - + 5.59921875 @@ -4904,13 +4904,13 @@ B/gAAAHgAAAA/AAAH/iAAD/5gAA//4ABf/+AAf//4AH///wR///5k/////P////////////////// - + 85 110 0.125 --0.125 +-0.125 1 10 0 @@ -5121,7 +5121,7 @@ B/gAAAHgAAAA/AAAH/iAAD/5gAA//4ABf/+AAf//4AH///wR///5k/////P////////////////// 5.934765625 -2.4444444444444 -9.3863932301667 +9.3863932301666 2.4444444444444 4.6931966150833 1.2222222222222 @@ -5267,7 +5267,7 @@ B/gAAAHgAAAA/AAAH/iAAD/5gAA//4ABf/+AAf//4AH///wR///5k/////P////////////////// 5.934765625 -2.4444444444444 -9.3863932301667 +9.3863932301666 2.4444444444444 4.6931966150833 1.2222222222222 @@ -5431,7 +5431,7 @@ B/gAAAHgAAAA/AAAH/iAAD/5gAA//4ABf/+AAf//4AH///wR///5k/////P////////////////// 9.02578125 -2.4444444444444 -7.6584201398889 +7.6584201398888 2.4444444444444 3.8292100699444 1.2222222222222 @@ -6065,6 +6065,256 @@ B/gAAAHgAAAA/AAAH/iAAD/5gAA//4ABf/+AAf//4AH///wR///5k/////P////////////////// 10.1.1.1 + + +28.2173828125 +85 +14.434765625 +3.6923263936156 +7.2173828125 +1.8461631968078 +0 +0 +0 +0 + + +0 +0 +0 +0 +0 + + +0 +3.6923263936156 +0 +0 +0 +1 + + + +0 +1.8461631968078 +0 +0 +0 +1 + + + +0 +0 +0 +0 + +0 +0 + + +14.434765625 +0 + + +14.434765625 +3.6923263936156 + + +0 +3.6923263936156 + + +0 +0 + + +(130.252.100.18) + + + +50.2826171875 +85 +14.434765625 +3.6923263936156 +7.2173828125 +1.8461631968078 +0 +0 +0 +0 + + +0 +0 +0 +0 +0 + + +0.01 +0 +2 +0 +2 +0 +0 +0 +2 +0 + + +0 +3.6923263936156 +0 +0 +0 +1 + + + +14.434765625 +1.8461631968078 +0 +0 +0 +1 + + + +0 +0 +0 +0 + +0 +0 + + +14.434765625 +0 + + +14.434765625 +3.6923263936156 + + +0 +3.6923263936156 + + +0 +0 + + +(130.252.100.19) + + + +21 +72.5 +25 +0 +12.5 +0 +-1.5707963267949 +0 +0 +0 + + +21 +85 +21 +60 + + +0 +0 +0 +0 +0 + + +0.01 +0 +2 +0 +2 +0 +0 +0 +2 +0 + + +1 +0 +0 +0 + +0 +0 + + +25 +0 + + + + + +57.5 +72.5 +25 +0 +12.5 +0 +-1.5707963267949 +0 +0 +0 + + +57.5 +85 +57.5 +60 + + +0 +0 +0 +0 +0 + + +0.01 +0 +2 +0 +2 +0 +0 +0 +2 +0 + + +1 +0 +0 +0 + +0 +0 + + +25 +0 + + + @@ -6074,11 +6324,13 @@ B/gAAAHgAAAA/AAAH/iAAD/5gAA//4ABf/+AAf//4AH///wR///5k/////P////////////////// + + - - + + 1 1 0 @@ -6090,33 +6342,5 @@ B/gAAAHgAAAA/AAAH/iAAD/5gAA//4ABf/+AAf//4AH///wR///5k/////P////////////////// 0 0.33 - -10 -0 - - -10 -1 - - -10 -2 - - -10 -3 - - -10 -4 - - -10 -5 - - -10 -6 - \ No newline at end of file diff --git a/Shorewall-docs2/myfiles.xml b/Shorewall-docs2/myfiles.xml index e2254cbc2..0ef62449c 100644 --- a/Shorewall-docs2/myfiles.xml +++ b/Shorewall-docs2/myfiles.xml @@ -15,7 +15,7 @@ - 2004-04-03 + 2004-04-27 2001-2004 @@ -47,16 +47,16 @@ The configuration shown here corresponds to Shorewall version - 2.0.1 (that's right -- I am running a version of Shorewall that is - not yet released). My configuration uses features not available in - earlier Shorewall releases. + 2.0.1. My configuration uses features not available in earlier Shorewall + releases. I have DSL service and have 5 static IP addresses (206.124.146.176-180). My DSL modem (Fujitsu Speedport) is connected to eth0. I have a local network connected to eth2 (subnet 192.168.1.0/24) and a DMZ connected to eth1 (206.124.146.176/32). Note - that the IP address of eth1 is a duplicate of one on eth0. + that I configure the same IP address on both eth0 + and eth1. In this configuration: @@ -127,8 +127,9 @@ I run an SNMP server on my firewall to serve MRTG running - in the DMZ.The - ethernet interface in the Server is configured with IP address + in the DMZ. + + The ethernet interface in the Server is configured with IP address 206.124.146.177, netmask 255.255.255.0. The server's default gateway is 206.124.146.254 (Router at my ISP. This is the same default gateway used by the firewall itself). On the firewall, an entry in my @@ -136,6 +137,8 @@ 206.124.146.177 through eth1 when that interface is brought up. Tarry (192.168.1.4) runs a PPTP server for Road Warrior access. + +
@@ -241,27 +244,6 @@ eth2 -
-
- RFC1918 File - -
- I use a stripped-down file which doesn't have to be updated - when the IANA allocates a block of IP addresses. -
- -
- #SUBNET TARGET -169.254.0.0/16 DROP # DHCP autoconfig -172.16.0.0/12 logdrop # RFC 1918 -192.0.2.0/24 logdrop # Example addresses -192.168.0.0/16 logdrop # RFC 1918 -10.24.60.56 DROP # Some idiot in my broadcast domain - # has a box configured with this - # address. -10.0.0.0/8 logdrop # Reserved (RFC 1918) -
-
-
Blacklist File (Partial) @@ -554,90 +536,6 @@ iface eth1 inet static ...
- -
- /etc/dhcpd.conf (MAC Addresses Omitted) - -
- While this is a little off-topic, I've included it to show - how to set up DHCP on two interfaces.default-lease-time 67200; max-lease-time 67200; -get-lease-hostnames on; - -group { - option subnet-mask 255.255.255.0; - option broadcast-address 192.168.1.255; - option routers 192.168.1.254; - option ntp-servers 192.168.1.254; - option domain-name-servers 192.168.1.193; - option netbios-name-servers 192.168.1.254; - option domain-name "shorewall.net"; - option netbios-dd-server 192.168.1.254; - option netbios-node-type 8; - option netbios-scope ""; - - subnet 192.168.1.0 netmask 255.255.255.0 { - range 192.168.1.11 192.168.1.20; - } - - host ursa.shorewall.net { - hardware ethernet …; - fixed-address 192.168.1.5; - } - - host eastept1 { - hardware ethernet …; - fixed-address 192.168.1.7; - } - - host tarry { - hardware ethernet …; - fixed-address 192.168.1.4; - } - - host wookie.shorewall.net { - hardware ethernet …; - fixed-address 192.168.1.3; - } - - host testws.shorewall.net { - hardware ethernet …; - fixed-address 192.168.1.6; - } - - host printer.shorewall.net { - hardware ethernet …; - fixed-address 192.168.1.10; - } - -} - -group { - option subnet-mask 255.255.255.0; - option broadcast-address 192.168.3.255; - option routers 192.168.3.254; - option ntp-servers 192.168.3.254; - option domain-name-servers 206.124.146.177; - option netbios-name-servers 192.168.3.254; - option domain-name "shorewall.net"; - option netbios-dd-server 192.168.3.254; - option netbios-node-type 8; - option netbios-scope ""; - - subnet 192.168.3.0 netmask 255.255.255.0 { - range 192.168.3.11 192.168.3.20; - } - - host easteplaptop { - hardware ethernet …; - fixed-address 192.168.3.7; - } - - host tipper.shorewall.net { - hardware ethernet …; - fixed-address 192.168.3.8; - } -
-
diff --git a/Shorewall-docs2/ports.xml b/Shorewall-docs2/ports.xml index c87c46ff1..8a6b0cffc 100644 --- a/Shorewall-docs2/ports.xml +++ b/Shorewall-docs2/ports.xml @@ -13,7 +13,7 @@ - 2004-03-27 + 2004-04-24 2001-2002 @@ -101,14 +101,10 @@ ACCEPT <source> <destination>
- ICQ + ICQ/AIM #ACTION SOURCE DESTINATION PROTO DEST PORT(S) -ACCEPT <source> <destination> udp 4000 -ACCEPT <source> <destination> tcp 4000:4100 - - UDP Port 4000. You will also need to open a range of TCP ports which - you can specify to your ICQ client. By default, clients use 4000-4100. +ACCEPT <source> net tcp 5190
@@ -208,7 +204,16 @@ ACCEPT <destination> <source> SMTP #ACTION SOURCE DESTINATION PROTO DEST PORT(S) -ACCEPT <source> <destination> tcp 25 +ACCEPT <source> <destination> tcp 25 #Insecure SMTP +ACCEPT <source> <destination> tcp 465 #SMTP over SSL (TLS) +
+ +
+ SNMP + + #ACTION SOURCE DESTINATION PROTO DEST PORT(S) +ACCEPT <source> <destination> udp 161:162 +ACCEPT <source> <destination> tcp 161
@@ -275,7 +280,9 @@ ACCEPT <source> <destination> Revision History - 1.72004-02-18TEMake + 1.82004-04-24TERevised + ICQ/AIM.1.82004-04-23TEAdded + SNMP.1.72004-02-18TEMake NFS work for everyone.1.62004-02-14TEAdd PCAnywhere.1.52004-02-05TEAdded information about VNC viewers in listen mode.1.42004-01-26TECorrect diff --git a/Shorewall-docs2/shorewall_extension_scripts.xml b/Shorewall-docs2/shorewall_extension_scripts.xml index 3a34562ce..99a10f6a2 100644 --- a/Shorewall-docs2/shorewall_extension_scripts.xml +++ b/Shorewall-docs2/shorewall_extension_scripts.xml @@ -15,7 +15,7 @@ - 2004-02-04 + 2004-05-04 2001-2004 @@ -29,7 +29,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -64,7 +65,8 @@ - start -- invoked after the firewall has been started or restarted. + start -- invoked after the firewall has been started or + restarted. @@ -92,27 +94,90 @@ - If your version of Shorewall doesn't have - the file that you want to use from the above list, you can simply create the + If your version of Shorewall doesn't have the + file that you want to use from the above list, you can simply create the file yourself. You can also supply a script with the same name as any of the filter chains in the firewall and the script will be invoked after the /etc/shorewall/rules file has been processed but before the /etc/shorewall/policy file has been processed. - Beginning with Shorewall 2.0.0, you can also define a - common action to be performed immediately before a - policy of ACCEPT, DROP or REJECT is applied. Separate actions can be - assigned to each policy type so for example you can have a different common - action for DROP and REJECT policies. The most common usage of common actions - is to silently drop traffic that you don't wish to have logged by the - policy. + There are a couple of special considerations for commands in extension + scripts: + + + + When you want to run iptables, use the command + run_iptables instead. run_iptables + will run the iptables utility passing the arguments to + run_iptables and if the command fails, the firewall + will be stopped (Shorewall version < 2.0.2 Beta 1 or there is no + /var/lib/shorewall/restore file) or restored + (Shorewall version >= 2.0.2 Beta 1 and + /var/lib/shorewall/restore exists). + + + + With Shorewall 2.0.2 Beta 1 and later versions, if you run + commands other than iptables that must be re-run in + order to restore the firewall to its current state then you must save + the commands to the restore file. The restore + file is a temporary file in /var/lib/shorewall that will be renamed + /var/lib/shorewall/restore-base at the successful + completion of the Shorewall command. The shorewall + save command combines + /var/lib/shorewall/restore-base with the output of + iptables-save to produce the + /var/lib/shorewall/restore script. + + Here are three functions that are useful when running commands + other than iptables: + + + + save_command() -- saves the + passed command to the restore file. + + Example: save_command echo Operation Complete + + That command would simply write "echo Operation Complete" to + the restore file. + + + + run_and_save_command() -- + saves the passed command to the restore file then executes it. The + return value is the exit status of the command. Example: + run_and_save_command "echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all" + + Note that as in this example, when the command involves file + redirection then the entire command must be enclosed in quotes. This + applies to all of the functions described here. + + + + ensure_and_save_command() -- + runs the passed command. If the command fails, the firewall is + restored to it's prior saved state and the operation is terminated. + If the command succeeds, the command is written to the restore + file + + + + + + Beginning with Shorewall 2.0.0, you can also define a common + action to be performed immediately before a policy of ACCEPT, + DROP or REJECT is applied. Separate actions can be assigned to each + policy type so for example you can have a different common action for DROP + and REJECT policies. The most common usage of common actions is to silently + drop traffic that you don't wish to have logged by the policy. As released, Shorewall defines a number of actions which are cataloged - in the /etc/shorewall/actions.std file. The default - /etc/shorewall/actions file contains INCLUDE - /etc/shorewall/actions.std so that the Shorewall-defined actions are - included by default. Among the entries in /etc/shorewall/actions.std - are: + in the /usr/share/shorewall/actions.std file. That file + is processed before /etc/shorewall/actions. Among the entries in + /usr/share/shorewall/actions.std are: Drop:DROP Reject:REJECT @@ -120,21 +185,20 @@ Reject:REJECT So the action named Drop is performed immediately before DROP policies are applied and the action called Reject is performed before REJECT policies are applied. These actions are defined - in the files /etc/shorewall/action.Drop and - /etc/shorewall/action.Reject respectively. + in the files /usr/share/shorewall/action.Drop and + /usr/share/shorewall/action.Reject respectively. You can override these defaults with entries in your /etc/shorewall/actions file. For example, if that file were to contain MyDrop:DROP then the common action for DROP policies would - become MyDrop. For an example, see my - configuration files. + become MyDrop. One final note. The chain created to perform an action has the same name as the action. You can use an extension script by that name to add - rules to the action's chain in the same way as you can any other chain. - So if you create the new action Dagger and define it in + rules to the action's chain in the same way as you can any other chain. So + if you create the new action Dagger and define it in /etc/shorewall/action.Dagger, you can also have an extension script named /etc/shorewall/Dagger that can - add rules to the Dagger chain that can't be created using + add rules to the Dagger chain that can't be created using /etc/shorewall/action.Dagger. \ No newline at end of file diff --git a/Shorewall-docs2/shorewall_features.xml b/Shorewall-docs2/shorewall_features.xml index 8044167fb..4450d41d8 100644 --- a/Shorewall-docs2/shorewall_features.xml +++ b/Shorewall-docs2/shorewall_features.xml @@ -13,7 +13,7 @@ Eastep - 2004-04-04 + 2004-05-07 2001-2004 @@ -27,7 +27,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -36,7 +37,7 @@ - Uses Netfilter's connection tracking facilities for stateful + Uses Netfilter's connection tracking facilities for stateful packet filtering. @@ -54,9 +55,10 @@ - Allows you to partitions the network into Allows you to partition the network into zones and gives you complete - control over the connections permitted between each pair of zones. + control over the connections permitted between each pair of + zones. @@ -78,26 +80,30 @@ A GUI is available via Webmin - 1.060 and later (http://www.webmin.com) + 1.060 and later (http://www.webmin.com) Extensive documentation - included in the .tgz and .rpm downloads. + url="Documentation_Index.html">documentation in + available in both XML and HTML formats. Flexible address management/routing - support (and you can use all types in the same firewall): + support (and you can use all types in the same + firewall): - Masquerading/SNAT. + Masquerading/SNAT. - Port Forwarding (DNAT). + Port Forwarding + (DNAT). @@ -107,6 +113,11 @@ Proxy ARP. + + + NETMAP (requires a 2.6 + kernel or a patched 2.4 kernel). + @@ -146,15 +157,16 @@ - PPTP clients and Servers. + PPTP clients and + Servers. Support for Traffic Control/Shaping - integration. + role="bold">Traffic Control/Shaping integration. @@ -171,7 +183,7 @@ Includes automated install, upgrade, fallback and uninstall facilities for users who - can't use or choose not to use the RPM or Debian packages. + can't use or choose not to use the RPM or Debian packages. @@ -184,7 +196,8 @@ Media Access Control (MAC) Address Verification. + role="bold">MAC) Address Verification. @@ -193,8 +206,9 @@ - Bridge/Firewall - support (requires a 2.6 kernel or a patched 2.4 kernel). + Bridge/Firewall support (requires a 2.6 + kernel or a patched 2.4 kernel).
diff --git a/Shorewall-docs2/shorewall_logging.xml b/Shorewall-docs2/shorewall_logging.xml index 9f0687241..b6660ecac 100644 --- a/Shorewall-docs2/shorewall_logging.xml +++ b/Shorewall-docs2/shorewall_logging.xml @@ -15,10 +15,10 @@ - 2003-12-18 + 2004-04-25 - 2001 - 2003 + 2001 - 2004 Thomas M. Eastep @@ -142,7 +142,7 @@
- Configuring a Separate Log for Shorewall Messages + Configuring a Separate Log for Shorewall Messages (ulogd) There are a couple of limitations to syslogd-based logging: diff --git a/Shorewall-docs2/shorewall_quickstart_guide.xml b/Shorewall-docs2/shorewall_quickstart_guide.xml index 5be6a3d59..f951bb0b3 100644 --- a/Shorewall-docs2/shorewall_quickstart_guide.xml +++ b/Shorewall-docs2/shorewall_quickstart_guide.xml @@ -15,7 +15,7 @@ - 2004-02-04 + 2004-04-16 2001-2004 @@ -36,6 +36,12 @@ With thanks to Richard who reminded me once again that we must all first walk before we can run. + The French Translations of the single-IP guides are courtesy of + Patrice Vetsel. Updated for Shorewall 2.0 by Fabien Demassieux. + + The French Translation of the Shorewall Setup Guide is courtesy of + Fabien Demassieux. +
The Guides @@ -50,11 +56,14 @@ you want to learn more about Shorewall than is explained in these simple guides then the Shorewall Setup Guide is for you.Standalone Linux SystemStandalone Linux System (Version Française)Two-interface Linux System acting as a - firewall/router for a small local networkVersion Française)Three-interface Linux System acting as - a firewall/router for a small local network and a DMZ. + a firewall/router for a small local network and a DMZ.. (Version Française)
@@ -64,7 +73,8 @@ (See Index Below) outlines the steps necessary to set up a firewall where there are multiple public IP addresses involved or if you want to learn more about Shorewall than is explained in the single-address - guides above + guides above (Version + Française)
\ No newline at end of file diff --git a/Shorewall-docs2/shorewall_setup_guide_fr.xml b/Shorewall-docs2/shorewall_setup_guide_fr.xml index 206773ffa..9772f318f 100644 --- a/Shorewall-docs2/shorewall_setup_guide_fr.xml +++ b/Shorewall-docs2/shorewall_setup_guide_fr.xml @@ -2,8 +2,10 @@
+ + - Guide de Configuration de Shorewall + Shorewall Setup Guide @@ -19,10 +21,10 @@ - 2003-12-30 + 2004-04-03 - 2001-2003 + 2001-2004 Thomas M. Eastep @@ -32,122 +34,133 @@ document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover - Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". + Texts. A copy of the license is included in the section entitled + GNU Free Documentation + License. - Notes du traducteur : - - Je remercie l'équipe Shorewall, pour ce firewall formidable et - l'aide personnelle que m'a donné Tom Eastep. - - J'espère que cette traduction vous aidera à utiliser - efficacement ce firewall. - - Toutefois, si ce manuel comporte des lacunes, des incohérences ou - afin d'améliorer sa compréhension, n'hésitez pas à me contacter - fabien demassieux + Notes du traducteur : J'espère + vous faciliter l'accès et la prise en main d'un firewall performant, + efficace, adaptable et facile d'utilisation. Donc félicitations pour la + qualité du travail et la disponibilité offerte par Thomas M. Eastep. Si + vous trouvez des erreurs ou des améliorations à apporter vous pouvez me + contacter Fabien + Demassieux -
+
Introduction Ce guide est destiné aux utilisateurs qui configurent Shorewall dans - un environnement ou un ensemble d'adresses IP publiques doivent être + un environnement ou un ensemble d'adresses IP publiques doivent être prises en compte ou à ceux qui souhaitent en savoir plus à propos de - Shorewall que ce que contient le guide pour une utilisation Simple - Adresse. Parce que le champ d'utilisation est si élevé, le guide vous - donnera les indications générales à suivre et vous renseignera sur - d'autres ressources si nécessaire. + Shorewall que ce que contient le guide pour une utilisation avec une + adresse ID unique. + Parce que le champ d'utilisation est si important, le guide vous donnera + les indications générales à suivre et vous renseignera sur d'autres + ressources si nécessaire. - Si vous utilisez LEAF Bering, votre configuration Shorewall - n'est PAS ce que je publie -- Je suggère de prendre en considération - l'installation de Shorewall LPR disponible sur le site de - shorewall.net avant de poursuivre. + Si vous utilisez LEAF Bering, votre configuration Shorewall n'est + PAS ce que je publie -- Je suggère de prendre en considération + l'installation de Shorewall LPR disponible sur le site de shorewall.net + avant de poursuivre. - Shorewall nécessite que le package iproute/iproute2 soit installé - (sur RedHat, le package s'appelle iproute). Vous - pouvez voir si le package est installé grâce au programme ip sur votre système firewall. En tant que root, - vous pouvez utiliser la commande 'which' pour vérifier que le - programme est présent: +
+ Pré-requis - [root@gateway root]# which ip - /sbin/ip - [root@gateway root]# - + Shorewall a besoin que le package + iproute/iproute2 soit installé + (avec la distribution RedHat, le package + s'appelle iproute). Vous pouvez vérifier si le + package est installé par la présence du programme ip + sur votre firewall. En tant que root, vous pouvez utiliser la commande + which pour cela: - Je vous recommande de parcourir en premier le guide pour vous - familiariser avec ce que cela implique puis de le reprendre afin de - modifier votre configuration. Les Points de configuration à changer sont - précédés du symbole + [root@gateway root]# which ip +/sbin/ip +[root@gateway root]# +
- - Si vous éditez vos fichiers de configuration sur un système - Windows, vous devez les sauver comme des fichiers Unix si votre éditeur - supporte cette option sinon vous devez les faire passer par dos2unix - avant d'essayer de les utiliser. De la même manière, si vous copiez - un fichier de configuration depuis votre disque dur Windows vers une - disquette, vous devez lancer dos2unix sur la copie avant de - l'utiliser avec Shorewall. +
+ Avant de commencer - - - Windows - Version of dos2unix - + Je recommande en premier la lecture complète du guide afin de se + familiariser avec les tenants et aboutissants puis de revenir sur les + modifications de votre configuration adapté à votre système. - - Linux - Version of dos2unix - - - + + Si vous éditez vos fichiers de configuration sur un système + Windows, vous devez les sauver comme des + fichiers Unix si votre éditeur supporte cette + option sinon vous devez les convertir avec dos2unix + avant d'essayer de les utiliser. De la même manière, si vous copiez un + fichier de configuration depuis votre disque dur + Windows vers une disquette, vous devez lancer + dos2unix sur la copie avant de l'utiliser avec + Shorewall. + + Windows + Version of dos2unix + + + + Linux + Version of dos2unix + + + +
-
+
Les Concepts de Shorewall - Les fichiers de - configuration de Shorewall se trouvent dans le répertoire /etc/shorewall - -- pour la plus par des paramétrages, vous avez juste besoin de - quelques-uns d'entre eux comme cela est décrit dans le  manuel. - Des squelettes de fichiers sont créés durant La procédure - d'installation de Shorewall. + + + Les fichiers de configuration de Shorewall se trouvent dans le + répertoire /etc/shorewall -- pour + la plus par des paramétrages, vous avez juste besoin de quelques-uns + d'entre eux comme cela est décrit dans le manuel. Des squelettes de + fichiers sont créés durant la procédure + d'installation de Shorewall. Comme chaque fichier est abordé, je vous suggère de regarder celui de votre système -- chaque fichier contient des instructions détaillées de - configuration et d'autres des entrées par défaut. + configuration et d'autres des entrées par défaut. - Shorewall voit le réseau ou il opère comme composé d'un ensemble - de zones. Dans la configuration par défaut, les zones suivantes sont - utilisées: + Shorewall voit le réseau où il fonctionne, comme un ensemble de + zones. Dans la configuration par défaut, les noms des zones suivantes sont + utilisés:
- Les Zones + Zones - Nom + Name - Description + Description net - L'internet + L'internet loc - Votre Réseau locale + Votre Réseau local @@ -159,38 +172,42 @@
- Les Zones sont définies dans le fichier /etc/shorewall/zones. + Les Zones sont définies dans le fichier /etc/shorewall/zones. Shorewall reconnaît aussi le système firewall comme sa propre zone - par défaut, le firewall lui-même est connu sous le nom fw cela peut être modifié dans le fichier /etc/shorewall/shorewall.conf . + role="bold">fw, mais cela peut être modifié dans le fichier + /etc/shorewall/shorewall.conf. Dans ce guide, le nom par défaut (fw) sera utilisé. - Mise à par fw, Shorewall - n'attache aucune importance au nom des zones. Les Zones sont - entièrement ce que VOUS en faites. Cela veut dire que vous ne devez pas - vous attendre à ce que Shorewall fasse quelque chose de spécial "car - il s'agit de la zone Internet" ou "car c'est la zone - DMZ". + Mise à par fw, Shorewall n'attache + aucune importance au nom des zones. Les Zones sont entièrement ce que VOUS + en faites. Cela veut dire que vous ne devez pas vous attendre à ce que + Shorewall fasse quelque chose de spécial car il s'agit de la zone + Internet ou car c'est la zone DMZ. - Editez le fichier - /etc/shorewall/zones et faites tout changement qui s'impose. + + + Éditez le fichier /etc/shorewall/zones file et faites tous + changements qui s'imposent. Les Règles qui concernent le trafic à autoriser ou à refuser sous exprimés en terme de Zones. - Vous désignez les Polices par défaut entre une zone et une autre - dans le fichier /etc/shorewall/policy. + Vous désignez les politiques par défaut entre une zone et une + autre dans le fichier /etc/shorewall/policy. - Vous définissez les exceptions à ces Polices par défaut dans le - fichier /etc/shorewall/rules. + Vous définissez les exceptions à ces politiques par défaut dans + le fichier /etc/shorewall/rules. @@ -198,10 +215,10 @@ Netfilter. Netfilter implémente une fonction - de tracking qui autorise ce qui est souvent désigné comme - une  inspection déclarée de paquets. Les propriétés de déclaration - permettent au firewall d'être définie en terme de connexions plutôt - qu'en terme de paquet. Avec Shorewall, vous: + de tracking qui autorise ce qui est souvent désigné comme une + inspection déclarée de paquets. Les propriétés de déclaration permettent + au firewall d'être définie en terme de connexions plutôt qu'en terme de + paquet. Avec Shorewall, vous: @@ -213,122 +230,76 @@ - Si la POLICE de la zone client vers la zone destination est ce - que vous souhaitez pour cette paire client/serveur, vous n'avez + Si la politique de la zone client vers la zone destination est + ce que vous souhaitez pour cette paire client/serveur, vous n'avez besoin de rien de plus. - Si la POLICE n'est pas ce que vous souhaitez, alors vous + Si la politique n'est pas ce que vous souhaitez, alors vous devez ajouter une règle. Cette règle est exprimé en terme de zone client et de zone serveur. - Si les connexions d'un certain type sont autorisés de la zone A - au firewall et sont aussi autorisés du firewall à la zone B cela  - NE VEUT PAS dire que ces connections sont autorisés - de la zone A à la zone B. Cela veut plutôt dire que vous avez - un proxy qui tourne sur le firewall qui accepte les connections de la zone - A et qui ensuite établit ces propres connections du firewall à  la - zone B. + Si les connexions d'un certain type sont autorisés de la zone A au + firewall et sont aussi autorisés du firewall à la zone B cela NE VEUT PAS dire que ces connections sont autorisés de la zone + A à la zone B. Cela veut plutôt dire que vous avez un proxy qui + tourne sur le firewall qui accepte les connections de la zone A et qui + ensuite établit ces propres connections du firewall à la zone B. Pour chaque requête de connexion sur le firewall, la requête est - d'abord évalué à travers le fichier /etc/shorewall/rules file. Si - aucune règle dans ce fichier ne correspond, la connexion interroge ensuite - la première police dans /etc/shorewall/policy qui correspond à la requête - et l'applique. Si cette police est REJECT ou DROP, la requête est a - nouveau évaluée à travers les règles du fichier /etc/shorewall/common.def. + d'abord évalué à travers le fichier + /etc/shorewall/rules. Si aucune règle dans ce fichier + ne correspond, la connexion interroge ensuite la première politique dans + /etc/shorewall/policy qui correspond à la requête et + l'applique. Si cette politique est REJECT ou DROP, la requête est a + nouveau évaluée à travers les règles du fichier + /etc/shorewall/common.def. - Le fichier de défaut /etc/shorewall/policy a les polices suivantes: + Le fichier de défaut /etc/shorewall/policy a + les politiques suivantes: - - /etc/shorewall/policy + #SOURCE ZONE DESTINATION ZONE POLICY LOG LIMIT:BURST +# LEVEL +fw net ACCEPT +net all DROP info +all all REJECT info - - - - SOURCE ZONE - - DESTINATION ZONE - - POLICY - - LOG LEVEL - - LIMIT:BURST - - - - fw - - net - - ACCEPT - - - - - - - - net - - all - - DROP - - info - - - - - - all - - all - - REJECT - - info - - - - - -
- - La police précédente: + La politique précédente: - Permet toutes les connexions de votre réseau local vers Internet + Permet toutes les connexions de votre réseau local vers + Internet - Drop (ignore) toutes les connexions d'Internet vers le - firewall ou votre réseau local et génère un message au niveau info - (ici se trouve la description des niveaux de log). + Drop (ignore) toutes les connexions d'Internet vers le firewall + ou votre réseau local et génère un message au niveau info (ici se + trouve la description des niveaux de log). - Rejette toutes les autres connexions et génère un message au - niveau info. Quant la requête est rejeté, le firewall retourne un RST - (si le protocole est TCP) ou un ICMP port-unreachable paquet pour les - autres protocoles. + Reject (rejette) toutes les autres connexions et génère un + message au niveau info. Quant la requête est rejeté, le firewall + retourne un RST (si le protocole est TCP) ou un ICMP port-unreachable + paquet pour les autres protocoles. - Maintenant, éditez - votre /etc/shorewall/policy et apportez tous les changements que vous - souhaitez. + + + Maintenant, éditez votre /etc/shorewall/policy + et apportez tous les changements que vous souhaitez.
-
+
Interfaces Réseau Pour le reste de ce guide, nous utiliserons le schéma ci-dessous. - Bien qu'il ne puisse correspondre à votre propre réseau, il peut être + Bien qu'il ne puisse correspondre à votre propre réseau, il peut être utilisé pour illustrer les aspects importants de la configuration de Shorewall. @@ -349,265 +320,199 @@ - Tous les systèmes du FAI vers l'extérieur et qui englobe la - Zone Internet. + Tous les systèmes du FAI vers l'extérieur et qui englobe la Zone + Internet. - La façon la plus simple pour définir les zones est d'associer le - nom de la zone (définie précédemment dans  /etc/shorewall/zones) - avec une interface réseau. + La façon la plus simple pour définir les zones est d'associer le nom + de la zone (définie précédemment dans /etc/shorewall/zones) avec une + interface réseau. C'est fait dans le fichier /etc/shorewall/interfaces. Le + firewall illustré ci-dessus à trois interfaces. Si la connexion se fait à + travers un câble ou un DSL Modem, l'Interface + Externe sera l'adaptateur qui est branché au + Modem (e.g., eth0) + tant que vous ne vous n'utilisez pas le Point-to-Point Protocol over + Ethernet (PPPoE) ou le Point-to-Point Tunneling Protocol(PPTP) dans ce cas + l'Interface Externe sera de type ppp (e.g., ppp0). Si vous utilisez un modem classique, + votre Interface externe sera également ppp0. Si vous utilisez ISDN, votre Interface + Externe sera ippp0. - C'est fait dans le fichier /etc/shorewall/interfaces. + - Le firewall illustré ci-dessus à trois interfaces. Si la connexion - se fait à travers un câble ou un "modem" DSL , l'Interface - Externe sera l'adaptateur qui est branché au "Modem" (e.g., - eth0) tant que vous ne vous - n'utilisez pas le Point-to-Point Protocol over Ethernet (PPPoE) ou le - Point-to-PointTunnelingProtocol(PPTP) dans ce cas l'Interface Externe - sera de type ppp (e.g., ppp0). Si vous - vous connectez à travers un modem classique, votre Interface Externe sera - également ppp0. Si vous utilisez ISDN, - votre Interface Externe sera ippp0. + Si votre Interface Externe est ppp0 ou ippp0 alors vous pouvez fixer CLAMPMSS=yes + dans /etc/shorewall/shorewall.conf. - Si votre Interface - Externe est  ppp0 ou ippp0 alors vous pouvez fixer CLAMPMSS=yes - dans /etc/shorewall/shorewall.conf. + Votre Interface Locale sera un adaptateur + Ethernet (eth0, + eth1 or eth2) + et doit être connecté à un hub ou un switch. Vos ordinateurs locaux + doivent être connectés au même switch (note: Si vous avez une machine + unique, vous pouvez connecter le firewall directement à l'ordinateur en + utilisant un câble croisé). - Votre Interface Locale doit être un adaptateur Ethernet  (eth0, eth1 or - eth2) et doit être connecté à un hub ou - un switch. Vos ordinateurs locaux doivent être  connectés au même - switch (note: Si vous avez une machine unique, vous pouvez connecter le - firewall directement à l'ordinateur en utilisant un câble croisé). - - Votre Interface DMZ  doit aussi être un adaptateur Ethernet (eth0, eth1 or - eth2) et doit être connecté à un hub ou - un switch. Vos ordinateurs DMZ doivent être  connectés au même - switch (note: Si vous avez une machine DMZ unique, vous pouvez connecter - le firewall directement à l'ordinateur en utilisant un câble croisé). + Votre Interface DMZ sera aussi être un + adaptateur Ethernet (eth0, + eth1 ou eth2) et doit être connecté à un hub ou un + switch. Vos ordinateurs DMZ doivent être connectés au même switch (note: + Si vous avez une machine DMZ unique, vous pouvez connecter le firewall + directement à l'ordinateur en utilisant un câble croisé). - Ne pas connecter plus d'une interface au même hub ou switch - (sauf pour tester). Cela ne fonctionne pas comme vous pourriez vous y - attendre et vous terminerez confus en croyant que le réseau ne - fonctionne pas entièrement. + Ne connectez pas l'interface interne et externe sur le même hub ou + switch, sauf pour tester avec une version postérieure à Shorewall 1.4.7. + Quand vous utilisez ces versions récentes, vous pouvez tester ce type de + configuration si vous spécifiez l'option arp_filter + dans le fichier /etc/shorewall/interfaces + pour toutes les interfaces connectées au hub/switch commun. Utiliser une + telle configuration avec un firewall en production est fortement + déconseillé. Pour le besoin de ce Guide, nous décidons que: - L'interface externe est eth0. + L'interface externe est eth0. - L'interface locale est eth1. + L'interface locale est eth1. - L'interface DMZ est eth2. + L'interface DMZ est eth2. La configuration par défaut de Shorewall ne définit pas le contenu de chaque zone. Pour définir la précédente configuration en utilisant le - fichier /etc/shorewall/interfaces - file, ce fichier doit contenir: + fichier /etc/shorewall/interfaces, ce + fichier doit contenir: - - /etc/shorewall/interfaces + #ZONE INTERFACE BROADCAST OPTIONS +net eth0 detect rfc1918 +loc eth1 detect +dmz eth2 detect - - - - ZONE + - INTERFACE + Éditer le fichier /etc/shorewall/interfaces et + définissez les interfaces du réseau sur votre firewall et associez chaque + interface avec une zone. Si vous avez une zone qui est interfacée avec + plus d'une interface, incluez simplement une entrée pour chaque interface + et répéter le nom de zone autant de fois que nécessaire. - BROADCAST + + Multiple Interfaces associé une Zone - OPTIONS - + #ZONE INTERFACE BROADCAST OPTIONS +net eth0 detect rfc1918 +loc eth1 detect +loc eth2 detect + - - net + - eth0 - - detect - - rfc1918 - - - - loc - - eth1 - - detect - - - - - - dmz - - eth2 - - detect - - - - - -
- - Editer le fichier - /etc/shorewall/interfaces et définissez les interfaces du réseau sur votre - firewall et associez chaque interface avec une zone. Si vous avez une zone - qui est interfacée avec plus d'une interface, incluez simplement une - entrée pour chaque interface et répéter le nom de  zone autant de - fois que nécessaire. - - Exemple: - - - /etc/shorewall/interfaces - - - - - ZONE - - INTERFACE - - BROADCAST - - OPTIONS - - - - net - - eth0 - - detect - - rfc1918 - - - - loc - - eth1 - - detect - - - - - - dmz - - eth2 - - detect - - dhcp - - - -
- - Vous pouvez définir - des zones plus compliquées en utilisant le fichier /etc/shorewall/hosts mais dans la - plus part des cas, ce n'est pas nécessaire. + Vous pouvez définir des zones plus compliquées en utilisant le + fichier /etc/shorewall/hosts mais + dans la plus part des cas, ce n'est pas nécessaire.
-
+
Adressage, Sous-réseaux et Routage Normalement, votre FAI vous assigne des adresses Publiques. Vous - pouvez configurer l'interface externe du firewall en utilisant - l'une de ces adresses permanentes et vous pouvez décider comment - utiliser le reste de vos adresses. + pouvez configurer l'interface externe du firewall en utilisant l'une de + ces adresses permanentes et vous pouvez décider comment utiliser le reste + de vos adresses. - Si vous êtes déjà familier avec l'adressage IP et le routage, - vous pouvez aller à la prochaine section. + Si vous êtes déjà familier avec l'adressage IP et le routage, vous + pouvez aller à la prochaine section. - La discussion suivante aborde tout juste les concepts - d'adressage et de routage. Si vous souhaitez approfondir vos - connaissances sur ce sujet, je vous recommande vivement - l'ouvrage  "IP Fundamentals: What Everyone Needs - to Know about Addressing & Routing", Thomas A. Maufer, - Prentice-Hall, 1999, ISBN 0-13-975483-0. + La présentation précédente ne fait que d'effleurer la question des + sous réseaux et du routage. Si vous êtes intéressé pour apprendre plus sur + l'adressage IP et le routage, je recommande IP + Fundamentals: What Everyone Needs to Know about Addressing & + Routing, Thomas A. Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0 + (link). -
+
Adressage IP - L'adressage IP version 4 (IPv4) est codé sur 32-bit. La - notation w.x.y.z se réfère à une adresse dont le byte d'ordre - supérieur est "w", le suivant à pour valeur "x", etc. Si - nous prenons l'adresse 192.0.2.14 et l'exprimons en hexadécimal, - nous obtenons: + L'adressage IP version 4 (IPv4) est codé sur 32-bit. La notation + w.x.y.z se réfère à une adresse dont le byte d'ordre supérieur est + w, le suivant à pour valeur x, etc. Si + nous prenons l'adresse 192.0.2.14 et l'exprimons en hexadécimal, nous + obtenons: - C0.00.02.0Eou - l'exprimons comme un entier de 32-bit + C0.00.02.0Eou l'exprimons comme + un entier de 32-bit - C000020E + C000020E
-
- Sous -réseaux +
+ Sous-réseaux - Vous entendrez toujours les termes "réseaux de Class A", - "réseaux de Class B" et "réseaux de Class C". Au début - de l'existence de l'IP, les réseaux ne comportez que trois - tailles (il y avait aussi le réseau de Class D mais il étaient utilisés + Vous entendrez toujours les termes Class A network, + Class B network et Class C network. Au + début de l'existence de l'IP, les réseaux ne comportaient que trois + tailles (il y avait aussi le réseau de Class D mais il était utilisé différemment): - Classe A - masque réseau 255.0.0.0, taille = 2 ** 24 + Class A - netmask 255.0.0.0, size = 2 ** 24 - Classe B - masque réseau 255.255.0.0, taille = 2 ** 16 + Class B - netmask 255.255.0.0, size = 2 ** 16 - Classe C - masque réseau 255.255.255.0, taille = 256 + Class C - netmask 255.255.255.0, size = 256 - La taille d'un réseau était uniquement déterminé par la valeur - du byte de l'ordre supérieur, ainsi vous pouviez regarder une - adresse IP et déterminer immédiatement le masque réseau. Le masque - réseau est un nombre qui se termine logiquement avec une adresse qui - isole le numéro de réseau; le reste de - l'adresse est le numéro d'hôte. Par - exemple, dans la Classe C l'adresse 192.0.2.14, le numéro - hexadécimal du réseau est C00002 et le numéro hexadécimal d'hôte est - 0E. + La taille d'un réseau était uniquement déterminée par la valeur du + byte de l'ordre supérieur, ainsi vous pouviez regarder une adresse IP et + déterminer immédiatement le masque réseau. Le masque réseau est un + nombre qui se termine logiquement avec une adresse qui isole le + numéro de réseau; le reste de l'adresse est le + numéro d'hôte. Par exemple, dans la Classe C + l'adresse 192.0.2.14, le numéro hexadécimal du réseau est C00002 et le + numéro hexadécimal d'hôte est 0E. - Comme l'Internet se développait, il semblait clair que la + Comme l'Internet se développait, il semblait clair que la classification en adressage 32-bit allait devenir très limité - (rapidement, les grandes sociétés et les universités s'étaient - assigné leur propre réseau de classe A!). Après quelques faux départs, - la technique courante du sous-adressage de ces réseaux en plus petits - sous-réseaux  évolua; cette technique est consignée par le - Classless Inter Domain Routing (CIDR). Aujourd'hui, tous les - systèmes avec lesquels vous travaillerez  comprennent + (rapidement, les grandes sociétés et les universités s'étaient assigné + leur propre réseau de classe A!). Après quelques faux départs, la + technique courante du sous-adressage de ces réseaux en plus petits + sous-réseaux évolua; cette technique est consignée par le + Classless InterDomain Routing (CIDR). Aujourd'hui, + tous les systèmes avec lesquels vous travaillerez comprennent probablement la notation CIDR. Le réseau basé sur les Classes est du - domaine du passé . + domaine du passé. - Un sous-réseau (aussi appelé subnetwork et subnet) est un ensemble - d'adresses IP tel que: + Un sous-reseau (aussi appelé + subnet ou subnetwork) est un + ensemble d'adresses IP tel que: - Le nombre d'adresses dans le jeu est un multiple de 2; et + Le nombre d'adresses dans le jeu est un multiple de 2; + et @@ -617,7 +522,7 @@ La première adresse du sous-réseau est réservée et se réfère à - l'adresse du sous-réseau. + l'adresse du sous-réseau. @@ -626,6 +531,19 @@ + Comme vous pouvez le constater par cette définition, dans chaque + sous-réseau de taille n il y a (n - 2) adresses utilisables (adresses + qui peuvent être assignés à une hôte). La première et la dernière + adresse du sous-réseau sont utilisées respectivement pour identifier + l'adresse sous-réseau et l'adresse broadcast du sous-réseau. En + conséquence, de petits sous-réseaux sont plus gourmands en adresses IP + que de plus étendus. + + Comme n est une puissance de deux, nous pouvons aisément calculer + le Logarithme Naturel (log2) de n. Pour les plus + communs des sous-réseaux, la taille et leur logarithme naturel sont + donnés par la table suivante: + Logarithme Naturel @@ -756,9 +674,9 @@ Vous pourrez voir que la table ci-dessus contient aussi une colonne (32 - log2 n). Ce nombre est la - Variable de Longueur  du Masque de Sous-réseau - (VLSM Variable Length Subnet Mask) pour un réseau de taille n. De la - table ci-dessus, nous pouvons dériver celle-ci, ce qui est plus facile à + Variable de Longueur du Masque de Sous-réseau (VLSM + Variable Length Subnet Mask) pour un réseau de taille n. De la table + ci-dessus, nous pouvons dériver celle-ci, ce qui est plus facile à utiliser.
@@ -767,11 +685,11 @@ - Taille du sous-réseau + Subnet Size VLSM - Masque sous-réseau + Subnet Mask @@ -897,28 +815,33 @@
- Notez que le VLSM est écrit avec un slash ("/") -- vous - pouvez souvent entendre un sous-réseau de taille 64 qui fait référence à - un sous-réseau "slash 26" et un de taille 8 faisant référence à - un "slash 29". + Notez que le VLSM est écrit avec un slash (/) -- + vous pouvez souvent entendre un sous-réseau de taille 64 qui fait + référence à un sous-réseau slash 26 et un de taille 8 + faisant référence à un slash 29. Le masque de sous-réseau (aussi référencé par son - netmask) est simplement un nombre de 32-bit avec le premier bit - "VLSM" à un et les autres à zéro. Par exemple, pour un - sous-réseau de taille 64, le masque de sous-réseau débute par 26 bits à - un: 11111111111111111111111111000000 = FFFFFFC0 = FF.FF.FF.C0 = 255.255.255.192Le + netmask) est simplement un nombre de 32-bit avec le + premier bit VLSM à un et les autres à zéro. Par exemple, + pour un sous-réseau de taille 64, le masque de sous-réseau débute par 26 + bits à un: + + 11111111111111111111111111000000 = FFFFFFC0 = FF.FF.FF.C0 = 255.255.255.192Le masque de sous-réseau a la propriété suivante: si vous terminez logiquement le masque de sous-réseau avec une adresse dans le - sous-réseau, le résultat est l'adresse du sous-réseau. Attention, si + sous-réseau, le résultat est l'adresse du sous-réseau. Attention, si vous terminez logiquement le masque de sous-réseau avec une adresse en - dehors du sous-réseau, le résultat n'est PAS l'adresse du - sous-réseau. Comme nous l'avons vu précédemment, la propriété du - masque de sous-réseau est très importante dans le routage. Pour un - sous-réseau dont l'adresse est a.b.c.d et dont la VLSM est /v, nous - notons le sous-réseau par "a.b.c.d/v" en utilisant la Notation - CIDR.  + dehors du sous-réseau, le résultat n'est PAS l'adresse du + sous-réseau. - Exemple: + Comme nous l'avons vu précédemment, la propriété du masque de + sous-réseau est très importante dans le routage. + + Pour un sous-réseau dont l'adresse est a.b.c.d et dont la VLSM est /v, nous notons le sous-réseau a.b.c.d/v en utilisant la + notation CIDR. Un exemple de sous-réseau (sub-network) : @@ -926,25 +849,32 @@ - Sous-réseau: + Subnet: 10.10.10.0 - 10.10.10.127 - Adresse Sous-réseau: + Subnet Size: + + 128 + + + + Subnet Address: 10.10.10.0 - Adresse Broadcast: + Broadcast + Address: 10.10.10.127 - Notation CIDR: + CIDR Notation: 10.10.10.0/25 @@ -957,18 +887,18 @@ membres.
- /32 et /0 + /32 and /0 - Taille du sous-réseau + Subnet Size - Longueur VLSM + VLSM Length - Masque sous-réseau + Subnet Mask - Notation CIDR + CIDR Notation @@ -996,210 +926,248 @@ Ainsi, chaque adresse a.b.c.d peut aussi être écrite a.b.c.d/32 et - l'ensemble des adresses possibles est écrit 0.0.0.0/0. + l'ensemble des adresses possibles est écrit 0.0.0.0/0. Plus loin dans ce manuel, vous verrez la notation a.b.c.d/v utilisé pour décrire la configuration - IP d'une interface réseau (l'utilitaire 'ip' utilise - aussi cette syntaxe). cela veut simplement dire que l'interface est - configuré avec une adresse ip a.b.c.d - et avec le masque de réseau qui correspond à la variable VLSM /a.b.c.d et avec le + masque de réseau qui correspond à la variable VLSM /v. + + + 192.0.2.65/29 + + L'interface est configuré avec l'adresse IP 192.0.2.65 et le + netmask 255.255.255.248. + + + Depuis Shorewall 1.4.6, /sbin/shorewall supporte une command + ipcalc qui calcule automatiquement l'information sur le + [sous]réseau. + + + En utilisant la commande <command>ipcalc</command>. + + shorewall ipcalc 10.10.10.0/25 + CIDR=10.10.10.0/25 + NETMASK=255.255.255.128 + NETWORK=10.10.10.0 + BROADCAST=10.10.10.127 + + + + + En utilisant la commande <command>ipcalc</command>. + + shorewall ipcalc 10.10.10.0 255.255.255.128 + CIDR=10.10.10.0/25 + NETMASK=255.255.255.128 + NETWORK=10.10.10.0 + BROADCAST=10.10.10.127 + -
+
Routage - L'un des buts des sous-réseaux est la base du routage. - Ci-dessous se trouve la table de routage de mon firewall: + L'un des buts des sous-réseaux est la base du routage. Ci-dessous + se trouve la table de routage de mon firewall (compressé pour du + PDF): - [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]# + [root@gateway root]# netstat -nr +Kernel IP routing table +Destination Gateway Genmask Flgs MSS Win 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]# Le périphérique texas est le tunnel GRE vers un site peer à Dallas, la zone Texas. - Les trois premières routes sont des routes hôte puisqu'elles - indiquent comment aller vers un hôte unique. Dans la sortie de - 'netstat' cela peut-être vu par le "Genmask" (Masque - sous-réseau) de 255.255.255.255 et le "H"  dans la - colonne "Flags". Les autres sont des routes 'net' car - elles indiquent au noyau comment router des paquets à un sous-réseau. La - dernière route est la route par défaut est la - passerelle (gateway) mentionnée est appelé passerelle par - défaut (default gateway). + Les trois premières routes sont des host + routes puisqu'elles indiquent comment aller vers un hôte + unique. Dans la sortie de netstat cela peut-être vu par + le Genmask (Masque sous-réseau) de 255.255.255.255 et le + H dans la colonne Flags . Les autres sont + des routes net routes car elles + indiquent au noyau comment router des paquets à un sous-réseau. La + dernière route est la route par défaut + correspondant à la passerelle (gateway) mentionnée aussi appelé + passerelle par défaut (default gateway). - Quant le noyau essaye d'envoyer un paquet à une adresse IP A, - il commence au début de la table de routage et : + Quant le noyau essaye d'envoyer un paquet à une adresse IP + A, il commence au début de la table de + routage et: - A est logiquement terminé avec la valeur du 'Genmask' - dans l'entrée de la table. + A est logiquement terminé + avec la valeur du Genmask dans l'entrée de la + table. - Le résultat est comparé avec la valeur de la destination - 'Destination' dans l'entrée de la table. + Le résultat est comparé avec la valeur de la + Destination dans l'entrée de la table. - Si le résultat et la valeur de la  - 'Destination' sont identiques, alors: + Si le résultat et la valeur de la Destination + sont identiques, alors: - Si la colonne 'Gateway' est n'est pas nulle, - le paquet est envoyé au gateway à travers l'interface nommée - dans la colonne 'Iface'. + Si la colonne Gateway n'est pas nulle, le + paquet est envoyé au gateway à travers l'interface nommée dans + la colonne Iface. - Sinon, le paquet est directement envoyé à A à travers - l'interface nommée dans la colonne 'iface'. + Sinon, le paquet est directement envoyé à A à travers l'interface nommée dans la + colonne iface. - Autrement, les étapes précédentes sont répétées sur - l'entrée suivante de la table. + Autrement, les étapes précédentes sont répétées sur l'entrée + suivante de la table. - Puisque la route par défaut correspond à toutes les adresses IP (A donne 0.0.0.0 = 0.0.0.0), les paquets qui ne - correspondent à aucune des autres entrées de la table de routage sont - envoyés au gateway par défaut qui généralement est un routeur vers le - FAI. + Puisque la route par défaut correspond à toutes les adresses IP + (A donne 0.0.0.0 = 0.0.0.0), les + paquets qui ne correspondent à aucune des autres entrées de la table de + routage sont envoyés au gateway par défaut qui généralement est un + routeur vers le FAI. Voici un exemple. Supposez que vous souhaitez router un paquet à - 192.168.1.5. Cette adresse ne correspond à aucune route d'hôte dans - la table mais si nous terminons logiquement cette adresse avec - 255.255.255.0, le résultat est 192.168.1.0 qui correspond à la - l'entrée dans la table: + 192.168.1.5. Cette adresse ne correspond à aucune route d'hôte dans la + table mais si nous terminons logiquement cette adresse avec + 255.255.255.0, le résultat est 192.168.1.0 qui correspond à la l'entrée + dans la table: - 192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth2 + 192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth2 Donc le paquet vers 192.168.1.5 est directement envoyé à travers eth2. Un des points qui doit être souligné -- tous les paquets sont envoyés en utilisant la table de routage et les réponses ne sont pas - exclues de ce principe. Il semble y avoir  une croyance de la - part des ceux qui croient que les paquets réponses sont comme les - saumons et contiennent un code génétique qui leur permet de suivre la - route emprunté par les paquets envoyés. Ce n'est pas le cas; La - réponse peut prendre un chemin totalement différent de celui de la - requête du client -- les routes requête/réponse sont totalement - indépendantes. + exclues de ce principe. Il semble y avoir une idée fausse chez ceux qui + croient que les paquets réponses sont comme les saumons et contiennent + un code génétique qui leur permet de suivre la route emprunté par les + paquets envoyés. Ce n'est pas le cas; La réponse peut prendre un chemin + totalement différent de celui de la requête du client -- les routes + requête/réponse sont totalement indépendantes.
- Protocole de Résolution d'Adresse (ARP) + Protocole de Résolution d'Adresse (ARP) Quant on envoie des paquets à travers Ethernet, les adresses IP ne - sont pas utilisées. Bien que l'adressage Ethernet soit basé sur les + sont pas utilisées. Bien que l'adressage Ethernet soit basé sur les adresses Media Access Control (MAC). Chaque - périphérique Ethernet à sa propre adresse  MAC qui est contenu - dans une PROM lors de la fabrication. Vous pouvez obtenir l'adresse - MAC grâce à l'utilitaire 'ip': + périphérique Ethernet à sa propre adresse MAC qui est contenu dans une + PROM lors de la fabrication. Vous pouvez obtenir l'adresse MAC grâce à + l'utilitaire ip: - [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]# + [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]# - Comme vous pouvez le constater ci-dessus, l'adresse MAC codé - sur 6 bytes (48 bits). Une carte MAC est généralement aussi imprimé sur - la carte elle-même. + Comme vous pouvez le constater ci-dessus, l'adresse MAC codé sur 6 + bytes (48 bits). L'adresse MAC est généralement aussi imprimée sur la + carte elle-même. - Parce que IP utilise les adresses IP et Ethernet les adresses MAC, - un mécanisme est nécessaire pour transcrire une adresse IP en adresse - MAC; C'est ce dont est chargé le protocole de résolution - d'adresse Address Resolution Protocol (ARP). - Voici ARP en action: + Comme IP utilise les adresses IP et Ethernet les adresses MAC, un + mécanisme est nécessaire pour transcrire une adresse IP en adresse MAC; + C'est ce dont est chargé le protocole de résolution d'adresse + Address Resolution Protocol (ARP). Voici ARP en + 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 + [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 paquets received by filter - 0 paquets dropped by kernel - [root@gateway root]# +2 packets received by filter +0 packets dropped by kernel +[root@gateway root]# Dans cet échange , 192.168.1.254 (MAC 2:0:8:e3:4c:48) veut - connaître l'adresse MAC du périphérique avec l'adresse IP - 192.168.1.19. Le système ayant cette adresse IP répond que l'adresse - MAC du périphérique avec l'adresse IP 192.168.1.19 est - 0:6:25:aa:8a:f0. + connaître l'adresse MAC du périphérique avec l'adresse IP 192.168.1.19. + Le système ayant cette adresse IP répond que l'adresse MAC du + périphérique avec l'adresse IP 192.168.1.19 est 0:6:25:aa:8a:f0. - Afin de rendre disponible les informations d'échange ARP - chaque fois qu'un paquet est envoyé, le système maintient un - cache ARP des correspondances IP<->MAC. - Vous pouvez voir le cache ARP sur votre système (également sur les - systèmes Windows) en utilisant la commande 'arp': + Afin de rendre disponible les informations d'échange ARP chaque + fois qu'un paquet est envoyé, le système maintient un cache + ARP of IP<->MAC correspondances. Vous pouvez voir le + cache ARP sur votre système (également sur les systèmes + Windows) en utilisant la commande + arp: - [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 + [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 - Les détails de réponse sont le résultat de l'utilisation de - l'option 'n' (Windows 'arp' n'accepte pas cette - option) qui force le programme 'arp' à la translation de - résolution de noms IP->DNS. Si je n'utilise pas cette option, la - marque de question aurait été remplacé par le FQDN correspondant à - chaque adresse IP. Notez que la dernière information dans la table - d'enregistrement est celle que nous voyons en utilisant précédemment - tcpdump. + Les détails de réponse sont le résultat de l'utilisation de + l'option n (Windows + arp n'accepte pas cette option) qui force le programme + arp à la translation de résolution de noms IP->DNS. Si + je n'utilise pas cette option, le point d'interrogation sera remplacé + par le noms correspondant à chaque adresse IP. Notez que la dernière + information dans la table d'enregistrement est celle que nous voyons en + utilisant précédemment tcpdump.
-
+
RFC 1918 - Les adresses IP sont alloués par l'autorité Les adresses IP sont allouées par l'autorité Internet Assigned Number Authority - (IANA) qui délégue des allocations géographiques basés sur le Regional - Internet Registries (RIRs). Par exemple, les allocations pour les + (IANA) qui délégue des allocations géographiques basées sur le Regional + Internet Registries (RIR). Par exemple, les allocations pour les Etats-Unis sont déléguées à American - Registry for Internet Numbers (ARIN). Ces  RIRs peuvent - déléguer à des bureaux nationaux. La plus part d'entre nous ne - traite pas avec autorités mais obtienne plutôt leur adresse IP par leur - FAI. + Registry for Internet Numbers (ARIN). Ces RIR peuvent déléguer à + des bureaux nationaux. La plus part d'entre nous ne traite pas avec + autorités mais obtienne plutôt leur adresse IP par leur FAI. Dans la réalité, généralement on ne peut se permettre autant - d'adresses IP Publiques que de périphériques à assigner si bien que - nous utiliseront des adresses IP Privées. RFC 1918 réserve plusieurs - plages d'adresse IP à cet usage: + d'adresses IP Publiques que de périphériques à assigner si bien que nous + utiliseront des adresses IP Privées. RFC 1918 réserve plusieurs plages + d'adresse IP à cet usage: - 10.0.0.0 - 10.255.255.255 - 172.16.0.0 - 172.31.255.255 - 192.168.0.0 - 192.168.255.255 + 10.0.0.0 - 10.255.255.255 +172.16.0.0 - 172.31.255.255 +192.168.0.0 - 192.168.255.255 Les adresses réservées par la RFC 1918 sont parfois appelées - non-routable car le routeur passerelle Internet ne renvoit pas les - paquets qui ont une adresse de destination RFC-1918. cela est + non-routable car le routeur passerelle Internet ne renvoi pas les + paquets qui ont une adresse de destination RFC-1918. Cela est compréhensible car tout le monde peut choisir ces adresses pour un usage privé. @@ -1208,45 +1176,55 @@ - Comme l'espace des adresses IPv4 s'épuise, de plus en - plus d'organisation (comprenant les FAI) commencent à utiliser - les adresses RFC 1918 dans leur infrastructures. + Comme l'espace des adresses IPv4 s'épuise, de plus en plus + d'organisation (comprenant les FAI) commencent à utiliser les + adresses RFC 1918 dans leur infrastructures. Vous ne voulez pas utiliser des adresses IP qui sont utilisés par votre FAI ou une autre organisation avec laquelle vous souhaiter - établir une liaison VPN.0 + établir une liaison VPN - C'est pourquoi c'est une bonne idée de vérifier avec votre - FAI s'il n'utilise pas (ou ne prévoie pas d'utiliser) des - adresses privées avant de décider les adresses que vous allez utiliser. + C'est pourquoi c'est une bonne idée de vérifier avec votre FAI + s'il n'utilise pas (ou ne prévoie pas d'utiliser) des adresses privées + avant de décider les adresses que vous allez utiliser. + + + Dans ce document, les adresses IP externes + réels du type 192.0.2.x. 192.0.2.0/24 sont réservées + par RFC 3330 pour l'utilisation d'adresses IP publiques. Ces adresses + ne doivent pas être confondues avec les adresses 192.168.0.0/16; comme + décrit ci-dessus, celles-ci sont réservées par RFC 1918 pour une + utilisation privée. +
-
+
Configurer votre Réseau - Le choix de configuration de votre réseau dépend d'abord du - nombre d'adresses Public IP dont vous avez besoin, c'est à dire du - nombre d'entités adressables que vous avez sur votre réseau. En - fonction du nombre d'adresses que vous avez, votre FAI peut servir ce - jeu d'adresses de deux manières: + Le choix de configuration de votre réseau dépend d'abord du nombre + d'adresses Public IP dont vous avez besoin, c'est à dire du nombre + d'entités adressables que vous avez sur votre réseau. En fonction du + nombre d'adresses que vous avez, votre FAI peut servir ce jeu d'adresses + de deux manières: - Routé - Le trafic vers chacune de vos adresses sera routé à - travers une unique adresse passerelle. Cela sera généralement fait si - votre FAI vous assigne un sous-réseau complet (/29 ou plus). Dans ce - cas, vous assignerez l'adresse passerelle comme adresse IP de - l'interface externe de votre firewall/router. + Routed - Le trafic vers chacune + de vos adresses sera routé à travers une unique adresse passerelle. + Cela sera généralement fait si votre FAI vous assigne un sous-réseau + complet (/29 ou plus). Dans ce cas, vous assignerez l'adresse + passerelle comme adresse IP de l'interface externe de votre + firewall/router. - Non-routé - Votre FAI vous enverra directement le trafic de - chaque adresse directement. + Non-routed - Votre FAI vous + donnera directement le trafic de chaque adresse directement. @@ -1255,10 +1233,11 @@ Avant de commencer, il y a une chose que vous devez vérifier: - Si vous utilisez le - package Debian, vérifier svp votre fichier shorewall.conf afin de - contrôler les paramètres suivants; si ce n'est pas juste, appliquer - les  changements nécessaires: + + + Si vous utilisez le package Debian, vérifier svp votre fichier + shorewall.conf afin de contrôler les paramètres suivants; si ce n'est pas + juste, appliquer les changements nécessaires: @@ -1270,17 +1249,17 @@ -
+
Routage - Supposons que votre fournisseur d'accès FAI vous a assigné le - sous-réseau 192.0.2.64/28 routé à travers 192.0.2.65. cela veut dire que - vous avez les adresses IP  192.0.2.64 - 192.0.2.79 et que - l'adresse externe de votre firewall est 192.0.2.65. Votre FAI vous a - aussi dit que vous pouvez utiliser le masque de réseau 255.255.255.0 - (ainsi votre /28 est une partie de /24). Avec ces adresses IP, vous - pouvez scinder votre réseau /28 en deux /29 et configurer votre réseau - comme l'indique le diagramme suivant. + Supposons que votre fournisseur d'accès FAI vous a assigné le + sous-réseau 192.0.2.64/28 routé à travers 192.0.2.65. Cela veut dire que + vous avez les adresses IP 192.0.2.64 - 192.0.2.79 et que l'adresse + externe de votre firewall est 192.0.2.65. Votre FAI vous a aussi dit que + vous pouvez utiliser le masque de réseau 255.255.255.0 (ainsi votre /28 + est une partie de /24). Avec ces adresses IP, vous pouvez scinder votre + réseau /28 en deux /29 et configurer votre réseau comme l'indique le + diagramme suivant. @@ -1291,108 +1270,107 @@ 192.0.2.73. Notez que cet arrangement est plus gourmand en adresses publiques - puisqu'il utilise 192.0.2.64 et 192.0.2.72 pour les adresses du + puisqu'il utilise 192.0.2.64 et 192.0.2.72 pour les adresses du sous-réseau, 192.0.2.71 et 192.0.2.79 pour les adresses broadcast du réseau, de même que 192.0.2.66 et 168.0.2.73 pour les adresses internes que le firewall/routeur. Néanmoins, cela montre comment nous pouvons - faire avec un réseau /24 plutôt qu'un /28, l'utilisation de 6 - adresses IP parmi les 256 peut être justifié par la simplicité du + faire avec un réseau /24 plutôt qu'un /28, l'utilisation de 6 adresses + IP parmi les 256 peut être justifié par la simplicité du paramétrage. - Le lecteur astucieux aura remarqué que l'interface externe du - firewall/Routeur est actuellement inclus dans le sous-réseau DMZ + Le lecteur astucieux aura remarqué que l'interface externe du + firewall/Routeur est actuellement incluse dans le sous-réseau DMZ (192.0.2.64/29). Que se passe-t-il si DMZ 1 (192.0.2.67) essaye de communiquer avec 192.0.2.65? La table de routage sur DMZ 1 peut ressembler à cela: - 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 + 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 - Cela indique que DMZ 1 enverra une requête ARP "qui-a - 192.0.2.65" et aucune interface sur le segment Ethernet DMZ  - à cette adresse IP. Assez bizarrement, le firewall répondra à la requête - avec l'adresse MAC de sa propre Interface - DMZ!! DMZ 1 peut alors envoyer des trames Ethernet frames - adressées à cette adresse MAC et les trames seront reçues (correctement) - par le firewall/routeur. + Cela indique que DMZ 1 enverra une requête ARP "qui a 192.0.2.65" + et aucune interface sur le segment Ethernet DMZ à cette adresse IP. + Assez bizarrement, le firewall répondra à la requête avec l'adresse MAC + de sa propre DMZ Interface!! DMZ 1 + peut alors envoyer des trames Ethernet adressées à cette adresse MAC et + les trames seront reçues (correctement) par le firewall/routeur. - C'est plutôt une possibilité inattendue d'ARP sur la - partie du Noyau Linux qui pousse cet avertissement très tôt dans ce - manuel à propos de la connexion de plusieurs interfaces firewall/routeur - au même hub ou switch. Quant une requête ARP destiné à une des adresses - firewall/routeur est envoyé par un autre système connecté au hub/switch, - toutes les interfaces du firewall qui se connectent au hub/switch - peuvent répondre! C'est alors une course à la réponse qui - "est-là" qui atteindra en premier l'émetteur. + C'est plutôt une possibilité inattendue d'ARP sur la partie du + Noyau Linux qui pousse cet avertissement très tôt dans ce manuel à + propos de la connexion de plusieurs interfaces firewall/routeur au même + hub ou switch. Quant une requête ARP destinée à une des adresses + firewall/routeur est envoyée par un autre système connecté au + hub/switch, toutes les interfaces du firewall qui se connectent au + hub/switch peuvent répondre! C'est alors une course à la réponse qui + "est-là" qui atteindra en premier l'émetteur.
-
+
Non-routé Avec la situation précédente mais non-routé, vous pouvez configurer votre réseau exactement comme décrit ci-dessus avec une - condition supplémentaire; spécifiez simplement l'option - "proxyarp" sur les trois interfaces du firewall dans le fichier - /etc/shorewall/interfaces. + condition supplémentaire; spécifiez simplement l'option + proxyarp sur les trois interfaces du firewall dans le + fichier /etc/shorewall/interfaces file. - La plus part d'entre nous n'a pas le luxe d'avoir - assez d'adresses publiques IP pour configurer notre réseau comme - montré dans le précédent exemple (même  si la configuration est - routé). + La plus part d'entre nous n'ont pas le luxe d'avoir assez + d'adresses publiques IP pour configurer notre réseau comme montré dans + le précédent exemple (même si la configuration est routée). Pour le besoin de cette section, admettons que notre FAI nous a assigné les adresses IP 192.0.2.176-180 et nous a - dit d'utiliser le masque de réseau 255.255.255.0 et la passerelle - par défaut 192.0.2.254. + dit d'utiliser le masque de réseau 255.255.255.0 et la passerelle par + défaut 192.0.2.254. - Clairement, ce jeu d'adresses ne comprend pas de sous-réseau - et n'a pas suffisamment d'adresses pour toutes les interfaces de - notre réseau. Il y a quatre possibilités qui peuvent être utilisées pour - règler ce problème. + Clairement, ce jeu d'adresses ne comprend pas de sous-réseau et + n'a pas suffisamment d'adresses pour toutes les interfaces de notre + réseau. Il y a quatre possibilités qui peuvent être utilisées pour + régler ce problème. - Translation d'Adresses Réseau Source : Source Network - Address Translation (SNAT). + Source Network Address Translation + (SNAT). - Translation d'Adresses Réseau Destination : Destination - Network Address Translation (DNAT) aussi nommé Port Forwarding. + Destination Network Address Translation + (DNAT) aussi nommé Port Forwarding. - Proxy ARP. + Proxy ARP. - Translation d''Adresses Réseau : Network Address - Translation (NAT) aussi appelé One-to-one NAT. + Network Address Translation (NAT) aussi + appelé One-to-one NAT. Souvent une combinaison de ces techniques est utilisée. Chacune - d'entre elle sera détaillée dans la section suivante. + d'entre elle sera détaillée dans la section suivante. -
+
SNAT Avec SNAT, un segment interne LAN est configuré en utilisant les adresses RFC 1918. Quant un hôte A - sur ce segment interne initialise une connexion à l'hôte B sur Internet, le firewall/routeur réécrit les entêtes IP dans la requête pour utiliser une de vos adresses publiques - IP en tant qu'adresse source. Quant B + IP en tant qu'adresse source. Quant B répond et que la réponse est reçu par le firewall, le firewall change - l'adresse destination par celle RFC 1918 de A - et renvoi la réponse à A. + l'adresse destination par celle RFC 1918 de A et renvoi la réponse à A. - Supposons que vous décidiez d'utiliser SNAT sur votre zone - locale et utilisiez l'adresse publique 192.0.2.176 à la fois comme - adresse externe du firewall et l'adresse source des requêtes - Internet envoyées depuis cette zone. + Supposons que vous décidiez d'utiliser SNAT sur votre zone + locale et utilisiez l'adresse publique 192.0.2.176 à la fois comme + adresse externe du firewall et l'adresse source des requêtes Internet + envoyées depuis cette zone. @@ -1400,119 +1378,67 @@ (netmask 255.255.255.248). - Le système - dans la zone locale pourra être configuré avec la passerelle par - défaut 192.168.201.1 (L'adresse IP de l'interface local du - firewall). + - SNAT est - configuré dans Shorewall avec le fichier /etc/shorewall/masq. + Le système dans la zone locale pourra être configuré avec la + passerelle par défaut 192.168.201.1 (L'adresse IP de l'interface + local du firewall). + + + + SNAT est configuré dans Shorewall avec le fichier + /etc/shorewall/masq. - - -
- - INTERFACE - - SOUS-RESEAU - - ADDRESSE - - - - - - eth0 - - 192.168.201.0/29 - - 192.0.2.176 - - - - + #INTERFACE SUBNET ADDRESS +eth0 192.168.201.0/29 192.0.2.176Cet exemple utilise la technique normale pour assigner la même - adresse publique IP pour l'interface externe du firewall et pour - SNAT. Si vous souhaitez utiliser une adresse IP différente, vous - pouvez soit utiliser les outils de configuration réseau de votre - distribution pour ajouter cette adresse IP ou vous pouvez mettre la - variable ADD_SNAT_ALIASES=Yes dans /etc/shorewall/shorewall.conf si - bien que Shorewall ajoutera l'adresse pour vous. + adresse publique IP pour l'interface externe du firewall et pour SNAT. + Si vous souhaitez utiliser une adresse IP différente, vous pouvez soit + utiliser les outils de configuration réseau de votre distribution pour + ajouter cette adresse IP ou vous pouvez mettre la variable + ADD_SNAT_ALIASES=Yes dans /etc/shorewall/shorewall.conf si bien que + Shorewall ajoutera l'adresse pour vous. -
+
DNAT Quant SNAT est utilisé, il est impossible pour les hôtes sur - Internet d'initialiser une connexion avec un des systèmes puisque - ces systèmes n'ont pas d'adresses publiques IP. DNAT fournit - une méthode pour autoriser des connexions sélectionnés depuis - Internet. + Internet d'initialiser une connexion avec un des systèmes puisque ces + systèmes n'ont pas d'adresses publiques IP. DNAT fournit une méthode + pour autoriser des connexions sélectionnés depuis Internet. - Supposons que - votre fille souhaite héberger un server web sur son système "Local - 3". Vous pouvez autoriser les connexions d'Internet à son - serveur en ajoutant l'entrée suivante dans le fichier /etc/shorewall/rules: + - - -
- - ACTION + Supposons que votre fille souhaite héberger un serveur Web sur + son système "Local 3". Vous pouvez autoriser les connexions d'Internet + à son serveur en ajoutant l'entrée suivante dans le fichier + /etc/shorewall/rules: - SOURCE + #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL +# PORT(S) PORT(S) DEST +DNAT net loc:192.168.201.4 tcp www - DESTINATION + Si une des amies de votre fille avec une adresse A veut accéder au serveur de votre fille, elle + peut se connecter à l'adresse http://192.0.2.176 (l'adresse IP externe + de votre firewall) et le firewall réécrira l'adresse IP à + 192.168.201.4 (le système de votre fille) et enverra la requête. Quant + le serveur de votre fille répond, le firewall réécrira la source de + réponse avec 192.0.2.176 et retournera la réponse à A. - PROTOCOL - - PORT(S) - - SOURCE PORT(S) - - ORIGINAL DEST - - - - - - DNAT - - net - - loc:192.168.201.4 - - tcp - - www - - - - - 192.0.2.176 - - - - - - Si une des amies de votre fille avec une adresse A veut accéder - au serveur de votre fille, elle peut se connecter à l'adresse - http://192.0.2.176 (l'adresse IP externe de votre firewall) et le - firewall réécrira l'adresse IP à 192.168.201.4 (le système de - votre fille) et enverra la requête. Quant le serveur de votre fille - répond, le firewall réécrira la source de réponse avec 192.0.2.176 et - retournera la réponse à A. - - Cet exemple l'adresse externe IP du firewall pour DNAT. Vous + Cet exemple l'adresse externe IP du firewall pour DNAT. Vous pouvez utiliser une autre de vos adresses IP publiques, mais Shorewall - n'ajoutera pas pour vous cette adresse à l'interface externe - du firewall. + n'ajoutera pas pour vous cette adresse à l'interface externe du + firewall. -
+
Proxy ARP Le principe du proxy ARP est: @@ -1522,94 +1448,61 @@ Un hôte H derrière votre firewall est assigné à une de vos adresses publiques (A), a le même masque de réseau (M) que l'interface externe du firewall. + role="bold">M) que l'interface externe du + firewall. - Le firewall répond à ARP "qui a" demandé Le firewall répond à ARP "qui a" demandé A. Quant H délivre une requête - ARP "qui a" pour une adresse du sous -réseau définit - par  A et M, le firewall - répondra (avec l'adresse MAC si le firewall s'interface à - H). + ARP "qui a" pour une adresse du sous-réseau définit par A et M, le + firewall répondra (avec l'adresse MAC si le firewall s'interface à + H). - Supposons que nous décidons d'utiliser Proxy ARP sur DMZ de + Supposons que nous décidons d'utiliser Proxy ARP sur DMZ de notre exemple réseau. Ici, nous avons assigné les adresses IP 192.0.2.177 au système DMZ 1 et 192.0.2.178 à DMZ 2. Notez que nous avons juste assigné une - adresse arbitraire RFC 1918 et un masque de sous-réseau à - l'interface DMZ de notre firewall. Cette adresse et le masque ne - sont pas pertinentes - vérifiez juste que celle-ci n'écrase pas un - autre sous-réseau déjà définit. + adresse arbitraire RFC 1918 et un masque de sous-réseau à l'interface + DMZ de notre firewall. Cette adresse et le masque ne sont pas + pertinentes - vérifiez juste que celle-ci n'écrase pas un autre + sous-réseau déjà défini. + + La configuration de Proxy ARP est faite dans le fichier /etc/shorewall/proxyarp. + url="ProxyARP.htm">/etc/shorewall/proxyarp. - - -
- - ADDRESS + #ADDRESS EXTERNAL INTERFACE HAVE ROUTE +192.0.2.177 eth2 eth0 No +192.0.2.178 eth2 eth0 No - EXTERNAL + Parce que la variable HAVE ROUTE contient No, Shorewall ajoutera + les routes d'hôte à travers eth2 à 192.0.2.177 et 192.0.2.178. Les + interfaces ethernet de DMZ 1 et DMZ 2 pourront être configurées pour + avoir les adresses IP apparentes mais devront avoir la même passerelle + par défaut que le firewall lui-même -- nommé 192.0.2.254. En d'autres + termes, elles pourront être configurées juste comme elles devraient + être si elles étaient parallèles au firewall plutôt que derrière + lui. - INTERFACE - - HAVE ROUTE - - - - - - 192.0.2.177 - - eth2 - - eth0 - - No - - - - 192.0.2.178 - - eth2 - - eth0 - - No - - - - - - Parce que la  variable HAVE ROUTE contient No, Shorewall - ajoutera les routes d'hôte à travers eth2 à 192.0.2.177 et - 192.0.2.178. - - Les interfaces ethernet de DMZ 1 et DMZ 2  pourront être - configurées pour avoir les adresses IP apparentes mais devront avoir - la même passerelle par défaut que le firewall lui-même -- nommé - 192.0.2.254. En d'autres termes, elles pourront être configurées - juste comme elles devraient être si elles étaient parallèles au - firewall plutôt que derrière lui. - - + Ne pas ajouter le(s) adresse(s) ARP - (192.0.2.177 et 192.0.2.178 dans l'exemple ci-dessus)  à - l'interface externe (eth0 dans cet exemple) du firewall. - + (192.0.2.177 et 192.0.2.178 dans l'exemple ci-dessus) à l'interface + externe (eth0 dans cet exemple) du firewall. + - Un mot de mise en garde à sa place ici. Les FAIs configure(nt) + Un mot de mise en garde à sa place ici. Les FAI configure(nt) typiquement leur routeur avec un timeout de cache ARP élevé. Si vous déplacer un système parallèle à votre firewall derrière le Proxy ARP du firewall, cela peut mettre des HEURES avant que le système puisse @@ -1618,199 +1511,116 @@ - (Courtoisement de Bradey Honsinger) Une lecture de - Stevens' TCP/IP Illustrated, Vol 1 révèle qu'un paquet ARP + (Courtoisement de Bradey Honsinger) Une lecture de Stevens' + TCP/IP Illustrated, Vol 1 révèle qu'un paquet ARP + gratuitous peut entraîner le routeur de votre FAI à + rafraîchir son cache(section 4.7). Une "gratuitous" ARP est + simplement une requête d'un hôte demandant l'adresse MAC de sa + propre adresse IP; éventuellement pour vérifier que l'adresse IP + n'est pas dupliquée,... - "gratuitous" peut entraîner le routeur de votre FAI - à rafraîchir son cache(section 4.7). Une "gratuitous" ARP - est simplement une requête d'un hôte demandant l'adresse - MAC de sa propre adresse IP; éventuellement pour vérifier que - l'adresse IP n'est pas dupliquée,... - - si l'hôte envoyant la commande "gratuitous" ARP + Si l'hôte envoyant la commande gratuitous ARP vient juste de changer son adresse IP..., ce paquet entraîne tous les autres hôtes...qui ont une entrée dans son cache pour - l'ancienne adresse matériel de mettre à jour également ses - caches ARP." + l'ancienne adresse matériel de mettre à jour également ses caches + ARP. Ce qui est exactement, bien sûr, ce que vous souhaitez faire lorsque vous basculez un hôte vulnérable à Internet derrière Shorewall utilisant proxy ARP (ou one-to-one NAT). Heureusement, - des packages récents (Redhat) iputils incluent "arping", - avec l'option "-U" qui fait cela: + des packages récents (Redhat) iputils + incluent "arping", avec l'option "-U" qui fait cela: - arping -U -I <net if> <newly proxied IP> - arping -U -I eth0 66.58.99.83 # for exampleStevens + arping -U -I <net if> <newly proxied IP> + +arping -U -I eth0 66.58.99.83 # for exampleStevens continue en mentionnant que tous les systèmes répondent - correctement au gratuitous ARPs,  et  - "googling" pour "arping -U" semble aller dans ce - sens. + correctement au gratuitous ARPs,et googling pour + arping -U semble aller dans ce sens. - Vous pouvez appeler votre FAI et dire de purger - l'ancienne entrée du cache ARP mais la plupart ne veulent ou - ne peuvent le faire. + Vous pouvez appeler votre FAI et dire de purger l'ancienne + entrée du cache ARP mais la plupart ne veulent ou ne peuvent le + faire. Vous pouvez vérifier si le cache ARP de votre FAI est ancien en - utilisant ping et tcpdump. Supposez que vous pensez que la - passerelle  routeur a une ancienne entrée ARP pour 192.0.2.177. - Sur le firewall, lancez tcpdump de cette façon: + utilisant ping et tcpdump. Supposez que vous pensez que la passerelle + routeur a une ancienne entrée ARP pour 192.0.2.177. Sur le firewall, + lancez tcpdump de cette façon: - tcpdump -nei eth0 icmp + tcpdump -nei eth0 icmpMaintenant depuis 192.0.2.177, utilisez ping vers la passerelle - du FAI  (que nous supposons être 192.0.2.254): + du FAI (que nous supposons être 192.0.2.254): - ping 192.0.2.254 + ping 192.0.2.254Nous pouvons maintenant observer le résultat de tcpdump: - 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 replyNotez - que l'adresse source  MAC dans la requête  - echo  est différente de  l'adresse de destination - dans  la réponse  echo!! Dans le cas ou 0:4:e2:20:20:33 - était l'adresse MAC de l'interface NIC eth0 du firewall tandis - que 0:c0:a8:50:b2:57 était l'adresse MAC de DMZ 1. En - d'autre  termes, le cache ARP de la passerelle associe - encore 192.0.2.177 avec la NIC de DMZ 1 plutôt qu'avec eth0 du - firewall. + 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 replyNotez + que l'adresse source MAC dans la requête echo est différente de + l'adresse de destination dans la réponse echo!! Dans le cas ou + 0:4:e2:20:20:33 était l'adresse MAC de l'interface NIC eth0 du + firewall tandis que 0:c0:a8:50:b2:57 était l'adresse MAC de DMZ 1. En + d'autre termes, le cache ARP de la passerelle associe encore + 192.0.2.177 avec la NIC de DMZ 1 plutôt qu'avec eth0 du firewall.
- One-to-one NAT + One-to-one NAT Avec one-to-one NAT, vous assignez les adresses systèmes RFC - 1918 puis établissez une à une l'assignation entre ces adresses et - les adresses publiques. Pour les occurrences des connexions sortantes - SNAT (Source Network Address Translation) et pour les occurrences des + 1918 puis établissez une à une l'assignation entre ces adresses et les + adresses publiques. Pour les occurrences des connexions sortantes SNAT + (Source Network Address Translation) et pour les occurrences des connexions entrantes DNAT (Destination Network Address Translation). - Voyons avec l'exemple précédent du serveur web de votre fille - tournant sur le système Local 3. + Voyons avec l'exemple précédent du serveur web de votre fille tournant + sur le système Local 3. Rappel du paramétrage, le réseau local utilise SNAT et partage - l'IP externe du firewall (192.0.2.176) pour les connexions - sortantes. cela est obtenu avec l'entrée suivante dans le fichier - /etc/shorewall/masq: + l'IP externe du firewall (192.0.2.176) pour les connexions sortantes. + Cela est obtenu avec l'entrée suivante dans le fichier + /etc/shorewall/masq: - - -
- - INTERFACE + #INTERFACE SUBNET ADDRESS +eth0 192.168.201.0/29 192.0.2.176 - SOUS-RESEAU + - ADDRESSE - - + Supposons maintenant que vous avez décidé d'allouer à votre + fille sa propre adresse IP (192.0.2.179) pour l'ensemble des + connexions entrantes et sortantes. Vous devrez faire cela en ajoutant + une entrée dans le fichier + /etc/shorewall/nat. - - - eth0 - - 192.168.201.0/29 - - 192.0.2.176 - - - - - - Supposons - maintenant que vous avez décidé d'allouer à votre fille sa propre - adresse IP (192.0.2.179) pour l'ensemble des connexions entrantes - et sortantes. Vous devrez faire cela en ajoutant une entrée dans le - fichier/etc/shorewall/nat. - - - - - - EXTERNAL - - INTERFACE - - INTERNAL - - ALL INTERFACES - - LOCAL - - - - - - 192.0.2.179 - - eth0 - - 192.168.201.4 - - No - - No - - - - + #EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL +192.0.2.179 eth0 192.168.201.4 No NoAvec cette entrée active, votre fille a sa propre adresse IP et - les deux autres systèmes locaux partagent l'adresse IP du + les deux autres systèmes locaux partagent l'adresse IP du firewall. - Une fois que la - relation entre 192.0.2.179 et192.168.201.4 est établie par - l'entrée ci-dessus, ce n'est pas nécessaire d'utiliser une - règle DNAT pour le serveur web de votre fille -- vous devez simplement + + + Une fois que la relation entre 192.0.2.179 et192.168.201.4 est + établie par l'entrée ci-dessus, ce n'est pas nécessaire d'utiliser une + règle DNAT pour le serveur Web de votre fille -- vous devez simplement utiliser une règle ACCEPT: - - - - - ACTION + #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL +# PORT(S) PORT(S) DEST +ACCEPT net loc:192.168.201.4 tcp www - SOURCE - - DESTINATION - - PROTOCOL - - PORT(S) - - SOURCE PORT(S) - - ORIGINAL DEST - - - - - - ACCEPT - - net - - loc:192.168.201.4 - - tcp - - www - - - - - - - - - - Un mot de mise en garde à sa place ici. Les FAIs configure(nt) + Un mot de mise en garde à sa place ici. Les FAI configure(nt) typiquement leur routeur avec un timeout de cache ARP élevé. Si vous déplacer un système parallèle à votre firewall derrière le One-on-one NAT du firewall, cela peut mettre des HEURES avant que le système @@ -1819,80 +1629,81 @@ - (Courtoisement de Bradey Honsinger) Une lecture de - Stevens' TCP/IP Illustrated, Vol 1 révèle qu'un paquet ARP + (Courtoisement de Bradey Honsinger) Une lecture de Stevens' + TCP/IP Illustrated, Vol 1 révèle qu'un paquet ARP + gratuitous peut entraîner le routeur de votre FAI à + rafraîchir son cache(section 4.7). Une "gratuitous" ARP est + simplement une requête d'un hôte demandant l'adresse MAC de sa + propre adresse IP; éventuellement pour vérifier que l'adresse IP + n'est pas dupliquée,... - "gratuitous" peut entraîner le routeur de votre FAI - à rafraîchir son cache(section 4.7). Une "gratuitous" ARP - est simplement une requête d'un hôte demandant l'adresse - MAC de sa propre adresse IP; éventuellement pour vérifier que - l'adresse IP n'est pas dupliquée,... - - si l'hôte envoyant la commande "gratuitous" ARP + Si l'hôte envoyant la commande gratuitous ARP vient juste de changer son adresse IP..., ce paquet entraîne tous les autres hôtes...qui ont une entrée dans son cache pour - l'ancienne adresse matériel de mettre à jour également ses - caches ARP." + l'ancienne adresse matériel de mettre à jour également ses caches + ARP. Ce qui est exactement, bien sûr, ce que vous souhaitez faire lorsque vous basculez un hôte vulnérable à Internet derrière Shorewall utilisant proxy ARP (ou one-to-one NAT). Heureusement, - des packages récents (Redhat) iputils incluent "arping", - avec l'option "-U" qui fait cela: + des packages récents (Redhat) iputils + incluent "arping", avec l'option "-U" qui fait cela: - arping -U -I <net if> <newly proxied IP> - arping -U -I eth0 66.58.99.83 # for exampleStevens + arping -U -I <net if> <newly proxied IP> + +arping -U -I eth0 66.58.99.83 # for exampleStevens continue en mentionnant que tous les systèmes répondent - correctement au gratuitous ARPs,  et  - "googling" pour "arping -U" semble aller dans ce - sens. + correctement au gratuitous ARPs,et googling pour + arping -U semble aller dans ce sens. - Vous pouvez appeler votre FAI et dire de purger - l'ancienne entrée du cache ARP mais la plupart ne veulent ou - ne peuvent le faire. + Vous pouvez appeler votre FAI et dire de purger l'ancienne + entrée du cache ARP mais la plupart ne veulent ou ne peuvent le + faire. Vous pouvez vérifier si le cache ARP de votre FAI est ancien en - utilisant ping et tcpdump. Supposez que vous pensez que la - passerelle  routeur a une ancienne entrée ARP pour 192.0.2.177. - Sur le firewall, lancez tcpdump de cette façon: + utilisant ping et tcpdump. Supposez que vous pensez que la passerelle + routeur a une ancienne entrée ARP pour 192.0.2.177. Sur le firewall, + lancez tcpdump de cette façon:: - tcpdump -nei eth0 icmp + tcpdump -nei eth0 icmpMaintenant depuis 192.0.2.177, utilisez ping vers la passerelle - du FAI  (que nous supposons être 192.0.2.254): + du FAI (que nous supposons être 192.0.2.254): - ping 192.0.2.254 + ping 192.0.2.254Nous pouvons maintenant observer le résultat de tcpdump: - 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 replyNotez - que l'adresse source  MAC dans la requête  - echo  est différente de  l'adresse de destination - dans  la réponse  echo!! Dans le cas ou 0:4:e2:20:20:33 - était l'adresse MAC de l'interface NIC eth0 du firewall tandis - que 0:c0:a8:50:b2:57 était l'adresse MAC de DMZ 1. En - d'autre  termes, le cache ARP de la passerelle associe - encore 192.0.2.177 avec la NIC de DMZ 1 plutôt qu'avec eth0 du - firewall. + 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 replyNotez + que l'adresse source MAC dans la requête echo est différente de + l'adresse de destination dans la réponse echo!! Dans le cas ou + 0:4:e2:20:20:33 était l'adresse MAC de l'interface NIC eth0 du + firewall tandis que 0:c0:a8:50:b2:57 était l'adresse MAC de DMZ 1. En + d'autre termes, le cache ARP de la passerelle associe encore + 192.0.2.177 avec la NIC de DMZ 1 plutôt qu'avec eth0 du firewall. -
+
Règles - Avec les polices par défaut, vos systèmes locaux (Local 1-3) + + + Avec les politiques par défaut, vos systèmes locaux (Local 1-3) peuvent accéder à tous les serveurs sur Internet et la DMZ ne peut accéder à aucun autre hôte (incluant le firewall). Avec les exceptions - des règles règles NAT qui entraîne la translation d'adresses et - permet aux requêtes de connexion translatées de passer  à travers - le firewall, la façon d'autoriser des requêtes à travers le firewall - est d'utiliser des règles ACCEPT. + des règles règles NAT qui entraînent la translation d'adresses et permet + aux requêtes de connexion translatées de passer à travers le firewall, + la façon d'autoriser des requêtes à travers le firewall est d'utiliser + des règles ACCEPT. Puisque les colonnes SOURCE PORT et ORIG. DEST. ne sont pas @@ -1901,1168 +1712,367 @@ role="underline">0:4:e2:20:20:33 0:0:77:95:dd:19 ip 98: 192.0.2.177 & Vous souhaiter certainement autoriser ping entre vos zones: - - -
- - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT(S) - - - - - - ACCEPT - - net - - dmz - - icmp - - echo-request - - - - ACCEPT - - net - - loc - - icmp - - echo-request - - - - ACCEPT - - dmz - - loc - - icmp - - echo-request - - - - ACCEPT - - loc - - dmz - - icmp - - echo-request - - - - + #ACTION SOURCE DEST PROTO DEST +# PORT(S) +ACCEPT net dmz icmp echo-request +ACCEPT net loc icmp echo-request +ACCEPT dmz loc icmp echo-request +ACCEPT loc dmz icmp echo-requestEn supposant que vous avez des serveurs mail et pop3 actifs sur DMZ 2 et un serveur Web sur DMZ 1. Les règles dont vous avez besoin sont: - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT(S) - - COMMENTS - - - - - - ACCEPT - - net - - dmz:192.0.2.178 - - tcp - - smtp - - # Mail depuis Internet - - - - ACCEPT - - net - - dmz:192.0.2.178 - - tcp - - pop3 - - # Pop3 depuis Internet - - - - ACCEPT - - loc - - dmz:192.0.2.178 - - tcp - - smtp - - # Mail depuis le Réseau Local - - - - ACCEPT - - loc - - dmz:192.0.2.178 - - tcp - - pop3 - - # Pop3 depuis le Réseau Local - - - - ACCEPT - - fw - - dmz:192.0.2.178 - - tcp - - smtp - - # Mail depuis le firewall - - - - ACCEPT - - dmz:192.0.2.178 - - net - - tcp - - smtp - - # Mails vers Internet - - - - ACCEPT - - net - - dmz:192.0.2.177 - - tcp - - http - - # WWW depuis le Net - - - - ACCEPT - - net - - dmz:192.0.2.177 - - tcp - - https - - # HTTP sécurisé depuis le Net - - - - ACCEPT - - loc - - dmz:192.0.2.177 - - htp - - https - - # HTTP sécurisé depuis le Réseau Local - - - - + #ACTION SOURCE DEST PROTO DEST COMMENTS +# PORT(S) +ACCEPT net dmz:192.0.2.178 tcp smtp #Mail from + #Internet +ACCEPT net dmz:192.0.2.178 tcp pop3 #Pop3 from + #Internet +ACCEPT loc dmz:192.0.2.178 tcp smtp #Mail from local + #Network +ACCEPT loc dmz:192.0.2.178 tcp pop3 #Pop3 from local + #Network +ACCEPT fw dmz:192.0.2.178 tcp smtp #Mail from the + #Firewall +ACCEPT dmz:192.0.2.178 net tcp smtp #Mail to the + #Internet +ACCEPT net dmz:192.0.2.177 tcp http #WWW from + #Internet +ACCEPT net dmz:192.0.2.177 tcp https #Secure WWW + #from Internet +ACCEPT loc dmz:192.0.2.177 tcp https #Secure WWW + #from local + #NetworkSi vous utilisez un serveur DNS publique sur 192.0.2.177, vous devez ajouter les règles suivantes: - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT(S) - - COMMENTS - - - - - - ACCEPT - - net - - dmz:192.0.2.177 - - udp - - domain - - # UDP DNS depuis Internet - - - - ACCEPT - - net - - dmz:192.0.2.177 - - tcp - - domain - - # TCP DNS depuis Internet - - - - ACCEPT - - fw - - dmz:192.0.2.177 - - udp - - domain - - # UDP DNS depuis le firewall - - - - ACCEPT - - fw - - dmz:192.0.2.177 - - tcp - - domain - - # TCP DNS depuis le firewall - - - - ACCEPT - - loc - - dmz:192.0.2.177 - - udp - - domain - - # UDP DNS depuis le Réseau Local - - - - ACCEPT - - loc - - dmz:192.0.2.177 - - tcp - - domain - - # TCP DNS depuis le Réseau Local - - - - ACCEPT - - dmz:192.0.2.177 - - net - - udp - - domain - - # UDP DNS vers Internet - - - - ACCEPT - - dmz:192.0.2.177 - - net - - tcp - - domain - - # TCP DNS vers Internet - - - - + #ACTION SOURCE DEST PROTO DEST COMMENTS +# PORT(S) +ACCEPT net dmz:192.0.2.177 udp domain #UDP DNS from + #Internet +ACCEPT net dmz:192.0.2.177 tcp domain #TCP DNS from + #Internet +ACCEPT loc dmz:192.0.2.177 udp domain #UDP DNS from + #Local Network +ACCEPT loc dmz:192.0.2.177 tcp domain #TCP DNS from + #Local Network +ACCEPT fw dmz:192.0.2.177 udp domain #UDP DNS from + #the Firewall +ACCEPT fw dmz:192.0.2.177 tcp domain #TCP DNS from + #the Firewall +ACCEPT dmz:192.0.2.177 net udp domain #UDP DNS to + #the Internet +ACCEPT dmz:192.0.2.177 net tcp domain #TCPP DNS to + #the InternetVous souhaitez probablement communiquer entre votre firewall et les systèmes DMZ depuis le réseau local -- Je recommande SSH qui, grâce - à son utilitaire scp  peut aussi faire de la diffusion et de la - mise à jour de logiciels. + à son utilitaire scp peut aussi faire de la diffusion et de la mise à + jour de logiciels. - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT(S) - - COMMENTS - - - - - - ACCEPT - - loc - - dmz - - tcp - - ssh - - # SSH vers la DMZ - - - - ACCEPT - - loc - - fw - - tcp - - ssh - - # SSH vers le firewall - - - - + #ACTION SOURCE DEST PROTO DEST COMMENTS +# PORT(S) +ACCEPT loc dmz tcp ssh #SSH to the DMZ +ACCEPT net fw tcp ssh #SSH to the + #Firewall -
- D'autres petites choses +
+ D'autres petites choses La discussion précédente reflète ma préférence personnelle pour - l'utilisation de Proxy ARP associé à mes serveurs de la DMZ et - SNAT/NAT pour mes systèmes locaux. Je préfère utiliser NAT seulement - dans le cas ou un système qui fait partie d'un sous-réseau RFC 1918 - à besoin d'avoir sa propre adresse IP.  + l'utilisation de Proxy ARP associé à mes serveurs de la DMZ et SNAT/NAT + pour mes systèmes locaux. Je préfère utiliser NAT seulement dans le cas + ou un système qui fait partie d'un sous-réseau RFC 1918 à besoin d'avoir + sa propre adresse IP. - Si vous ne - l'avez pas fait, ce peut-être une bonne idée de parcourir le fichier - /etc/shorewall/shorewall.conf + + + Si vous ne l'avez pas fait, ce peut-être une bonne idée de + parcourir le fichier /etc/shorewall/shorewall.conf afin de voir si autre chose pourrait être intéressant. Vous pouvez aussi - regarder aux autres fichiers de configuration que vous n'avez pas - touché pour un aperçu des autres possibilités de Shorewall. + regarder aux autres fichiers de configuration que vous n'avez pas touché + pour un aperçu des autres possibilités de Shorewall. - Dans le cas ou vous n'auriez pas validé les étapes, ci-dessous - se trouve un jeu final des fichiers de configuration pour notre réseau - exemple. Uniquement ceux qui auraient étés modifiés de la configuration - originale sont montrés. /etc/shorewall/interfaces (Les "options" + Dans le cas ou vous n'auriez pas validé les étapes, ci-dessous se + trouve un jeu final des fichiers de configuration pour notre réseau + exemple. Uniquement ceux modifiés de la configuration originale sont + montrés. + + /etc/shorewall/interfaces (Les "options" seront spécifiques aux sites). - - -
- - ZONE - - INTERFACE - - BROADCAST - - OPTIONS - - - - - - net - - eth0 - - detect - - norfc1918,routefilter - - - - loc - - eth1 - - detect - - - - - - dmz - - eth2 - - detect - - - - - - - - La configuration décrit nécessite que votre réseau soit démarré - avant que Shorewall  puisse  se lancer. Cela ouvre un - lapse de temps durant lequel vous n'avez pas de protection firewall. - - Si vous remplacez 'detect' par les valeurs des adresses - broadcoast dans les entrées suivantes, vous pouvez activer Shorewall - avant les interfaces réseau. - - - - - - ZONE - - INTERFACE - - BROADCAST - - OPTIONS - - - - - - net - - eth0 - - 192.0.2.255 - - norfc1918,routefilter - - - - loc - - eth1 - - 192.168.201.7 - - - - - - dmz - - eth2 - - 192.168.202.7 - - - - - - - - /etc/shorewall/masq - Sous-réseau Local - - - - - - INTERFACE - - SOUS-RESEAU - - ADDRESSE - - - - - - eth0 - - 192.168.201.0/29 - - 192.0.2.176 - - - - - - /etc/shorewall/proxyarp - DMZ - - - - - - ADDRESS - - EXTERNAL - - INTERFACE - - HAVE ROUTE - - - - - - 192.0.2.177 - - eth2 - - eth0 - - No - - - - 192.0.2.178 - - eth2 - - eth0 - - No - - - - - - /etc/shorewall/nat- Le système de ma fille - - - - - - EXTERNAL - - INTERFACE - - INTERNAL - - ALL INTERFACES - - LOCAL - - - - - - 192.0.2.179 - - eth0 - - 192.168.201.4 - - No - - No - - - - - - /etc/shorewall/rules - - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT(S) - - COMMENTS - - - - - - ACCEPT - - net - - dmz:192.0.2.178 - - tcp - - smtp - - # Mail depuis Internet - - - - ACCEPT - - net - - dmz:192.0.2.178 - - tcp - - pop3 - - # Pop3 depuis Internet - - - - ACCEPT - - loc - - dmz:192.0.2.178 - - tcp - - smtp - - # Mail depuis le Réseau Local - - - - ACCEPT - - loc - - dmz:192.0.2.178 - - tcp - - pop3 - - # Pop3 depuis le Réseau Local - - - - ACCEPT - - fw - - dmz:192.0.2.178 - - tcp - - smtp - - # Mail depuis le firewall - - - - ACCEPT - - dmz:192.0.2.178 - - net - - tcp - - smtp - - # Mails vers Internet - - - - ACCEPT - - net - - dmz:192.0.2.177 - - tcp - - http - - # WWW depuis le Net - - - - ACCEPT - - net - - dmz:192.0.2.177 - - tcp - - https - - # HTTP sécurisé depuis le Net - - - - ACCEPT - - loc - - dmz:192.0.2.177 - - htp - - https - - # HTTP sécurisé depuis le Réseau Local - - - - ACCEPT - - net - - dmz:192.0.2.177 - - udp - - domain - - # UDP DNS depuis Internet - - - - ACCEPT - - net - - dmz:192.0.2.177 - - tcp - - domain - - # TCP DNS depuis Internet - - - - ACCEPT - - fw - - dmz:192.0.2.177 - - udp - - domain - - # UDP DNS depuis le firewall - - - - ACCEPT - - fw - - dmz:192.0.2.177 - - tcp - - domain - - # TCP DNS depuis le firewall - - - - ACCEPT - - loc - - dmz:192.0.2.177 - - udp - - domain - - # UDP DNS depuis le Réseau Local - - - - ACCEPT - - loc - - dmz:192.0.2.177 - - tcp - - domain - - # TCP DNS depuis le Réseau Local - - - - ACCEPT - - dmz:192.0.2.177 - - net - - udp - - domain - - # UDP DNS vers Internet - - - - ACCEPT - - dmz:192.0.2.177 - - net - - tcp - - domain - - # TCP DNS vers Internet - - - - ACCEPT - - net - - dmz - - icmp - - echo-request - - Ping - - - - ACCEPT - - dmz - - net - - icmp - - echo-request - - " - - - - ACCEPT - - dmz - - loc - - icmp - - echo-request - - " - - - - ACCEPT - - loc - - dmz - - icmp - - echo-request - - " - - - - ACCEPT - - loc - - dmz - - tcp - - ssh - - # SSH vers la DMZ - - - - ACCEPT - - loc - - fw - - tcp - - ssh - - # SSH vers le firewall - - - - + #ZONE INTERFACE BROADCAST OPTIONS +net eth0 detect rfc1918,routefilter +loc eth1 detect +dmz eth2 detect + + La configuration décrite nécessite que votre réseau soit démarré + avant que Shorewall puisse se lancer. Cela ouvre un lapse de temps + durant lequel vous n'avez pas de protection firewall. + + Si vous remplacez detect par les valeurs des + adresses broadcoast dans les entrées suivantes, vous pouvez activer + Shorewall avant les interfaces réseau. + + #ZONE INTERFACE BROADCAST OPTIONS +net eth0 192.0.2.255 rfc1918 +loc eth1 192.168.201.7 +dmz eth2 192.168.202.7 + + /etc/shorewall/masq - Sous-réseau + Local + + #INTERFACE SUBNET ADDRESS +eth0 192.168.201.0/29 192.0.2.176 + + /etc/shorewall/proxyarp - DMZ + + #ADDRESS EXTERNAL INTERFACE HAVE ROUTE +192.0.2.177 eth2 eth0 No +192.0.2.178 eth2 eth0 No + + /etc/shorewall/nat- Le système de ma + fille + + #EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL +192.0.2.179 eth0 192.168.201.4 No No + + /etc/shorewall/rules + + #ACTION SOURCE DEST PROTO DEST COMMENTS +# PORT(S) +ACCEPT net dmz icmp echo-request +ACCEPT net loc icmp echo-request +ACCEPT dmz loc icmp echo-request +ACCEPT loc dmz icmp echo-request +ACCEPT net loc:192.168.201.4 tcp www #Daughter's + #Server +ACCEPT net dmz:192.0.2.178 tcp smtp #Mail from + #Internet +ACCEPT net dmz:192.0.2.178 tcp pop3 #Pop3 from + #Internet +ACCEPT loc dmz:192.0.2.178 tcp smtp #Mail from local + #Network +ACCEPT loc dmz:192.0.2.178 tcp pop3 #Pop3 from local + #Network +ACCEPT fw dmz:192.0.2.178 tcp smtp #Mail from the + #Firewall +ACCEPT dmz:192.0.2.178 net tcp smtp #Mail to the + #Internet +ACCEPT net dmz:192.0.2.177 tcp http #WWW from + #Internet +ACCEPT net dmz:192.0.2.177 tcp https #Secure WWW + #from Internet +ACCEPT loc dmz:192.0.2.177 tcp https #Secure WWW + #from local + #Network +ACCEPT net dmz:192.0.2.177 udp domain #UDP DNS from + #Internet +ACCEPT net dmz:192.0.2.177 tcp domain #TCP DNS from + #Internet +ACCEPT loc dmz:192.0.2.177 udp domain #UDP DNS from + #Local Network +ACCEPT loc dmz:192.0.2.177 tcp domain #TCP DNS from + #Local Network +ACCEPT fw dmz:192.0.2.177 udp domain #UDP DNS from + #the Firewall +ACCEPT fw dmz:192.0.2.177 tcp domain #TCP DNS from + #the Firewall +ACCEPT dmz:192.0.2.177 net udp domain #UDP DNS to + #the Internet +ACCEPT dmz:192.0.2.177 net tcp domain #TCPP DNS to + #the Internet +ACCEPT loc dmz tcp ssh #SSH to the DMZ +ACCEPT net fw tcp ssh #SSH to the + #Firewall -
+
DNS - En donnant une collection d'adresses RFC 1918 et publiques dans - la configuration, cela justifie d'avoir des serveurs DNS interne et - externe. Vous pouvez combiner les deux dans un unique serveur BIND 9 - utilisant les vues (Views). Si vous n'êtes pas intéressé par les vues - BIND 9, vous pouvez allez à la section suivante. + En donnant une collection d'adresses RFC 1918 et publiques dans la + configuration, cela justifie d'avoir des serveurs DNS interne et externe. + Vous pouvez combiner les deux dans un unique serveur BIND 9 utilisant les + vues (Views). Si vous n'êtes pas intéressé par les vues BIND 9, vous + pouvez allez à la section suivante. - Supposons que votre domain est foobar.net et vous voulez que les - deux systèmes DMZ s'appellent www.foobar.net et mail.foobar.net, les - trois systèmes locaux  "winken.foobar.net, blinken.foobar.net - et nod.foobar.net. Vous voulez que le firewall soit connu à - l'extérieur sous le nom firewall.foobar.net, son interface vers le - réseau local gateway.foobar.net et son interface vers la DMZ - dmz.foobar.net. Mettons le serveur DNS sur 192.0.2.177 qui sera aussi - connu sous le nom ns1.foobar.net. + Supposons que votre domaine est foobar.net et vous voulez que les + deux systèmes DMZ s'appellent www.foobar.net et mail.foobar.net, les trois + systèmes locaux "winken.foobar.net, blinken.foobar.net et nod.foobar.net. + Vous voulez que le firewall soit connu à l'extérieur sous le nom + firewall.foobar.net, son interface vers le réseau local gateway.foobar.net + et son interface vers la DMZ dmz.foobar.net. Mettons le serveur DNS sur + 192.0.2.177 qui sera aussi connu sous le nom ns1.foobar.net. - Le fichier  /etc/named.conf devrait ressembler à cela: + Le fichier /etc/named.conf devrait ressembler à + cela: - options { - directory "/var/named"; - listen-on { 127.0.0.1 ; 192.0.2.177; }; + + +options { + directory "/var/named"; + listen-on { 127.0.0.1 ; 192.0.2.177; }; }; logging { - channel xfer-log { - file "/var/log/named/bind-xfer.log"; - print-category yes; - print-severity yes; - print-time yes; - severity info; - }; - - category xfer-in { xfer-log; }; - category xfer-out { xfer-log; }; - category notify { xfer-log; }; + channel xfer-log { + file "/var/log/named/bind-xfer.log"; + print-category yes; + print-severity yes; + print-time yes; + severity info; }; + + category xfer-in { xfer-log; }; + category xfer-out { xfer-log; }; + category notify { xfer-log; }; +}; + # -# Ceci est la vue présente sur vos systèmes internes. +# This is the view presented to our internal systems # -view "internal" { - # - # Les clients suivants peuvent voir le serveur - # - match-clients { 192.168.201.0/29; - 192.168.202.0/29; - 127.0.0.0/8; - 192.0.2.176/32; - 192.0.2.178/32; - 192.0.2.179/32; - 192.0.2.180/32; }; - # - # Si le serveur ne peut répondre à la requête, il utilisera des serveurs externes - # - # - recursion yes; - zone "." in { - type hint; - file "int/root.cache"; - }; +view "internal" { + # + # These are the clients that see this view + # + match-clients { 192.168.201.0/29; + 192.168.202.0/29; + 127.0.0.0/8; + 192.0.2.176/32; + 192.0.2.178/32; + 192.0.2.179/32; + 192.0.2.180/32; }; + # + # If this server can't complete the request, it should use + # outside servers to do so + # + recursion yes; - zone "foobar.net" in { - type master; - notify no; - allow-update { none; }; - file "int/db.foobar"; - }; + zone "." in { + type hint; + file "int/root.cache"; + }; - zone "0.0.127.in-addr.arpa" in { - type master; - notify no; - allow-update { none; }; - file "int/db.127.0.0"; - }; + zone "foobar.net" in { + type master; + notify no; + allow-update { none; }; + file "int/db.foobar"; + }; - zone "201.168.192.in-addr.arpa" in { - type master; - notify no; - allow-update { none; }; - file "int/db.192.168.201"; - }; + zone "0.0.127.in-addr.arpa" in { + type master; + notify no; + allow-update { none; }; + file "int/db.127.0.0"; + }; - zone "202.168.192.in-addr.arpa" in { - type master; - notify no; - allow-update { none; }; - file "int/db.192.168.202"; - }; + zone "201.168.192.in-addr.arpa" in { + type master; + notify no; + allow-update { none; }; + file "int/db.192.168.201"; + }; - zone "176.2.0.192.in-addr.arpa" in { - type master; - notify no; - allow-update { none; }; - file "db.192.0.2.176"; - }; + zone "202.168.192.in-addr.arpa" in { + type master; + notify no; + allow-update { none; }; + file "int/db.192.168.202"; + }; + + zone "176.2.0.192.in-addr.arpa" in { + type master; + notify no; + allow-update { none; }; + file "db.192.0.2.176"; + }; - zone "177.2.0.192.in-addr.arpa" in { - type master; - notify no; - allow-update { none; }; - file "db.192.0.2.177"; - }; + zone "177.2.0.192.in-addr.arpa" in { + type master; + notify no; + allow-update { none; }; + file "db.192.0.2.177"; + }; - zone "178.2.0.192.in-addr.arpa" in { - type master; - notify no; - allow-update { none; }; - file "db.192.0.2.178"; - }; + zone "178.2.0.192.in-addr.arpa" in { + type master; + notify no; + allow-update { none; }; + file "db.192.0.2.178"; + }; - zone "179.2.0.192.in-addr.arpa" in { - type master; - notify no; - allow-update { none; }; - file "db.206.124.146.179"; - }; + zone "179.2.0.192.in-addr.arpa" in { + type master; + notify no; + allow-update { none; }; + file "db.206.124.146.179"; + }; }; # -# Ceci est la vue qui sera présente pour le monde extérieur +# This is the view that we present to the outside world # -view "external" { - match-clients { any; }; - # - # Si nous pouvons répondre à la requéte, nous le disons - # - recursion no; +view "external" { + match-clients { any; }; + # + # If we can't answer the query, we tell the client so + # + recursion no; - zone "foobar.net" in { - type master; - notify yes; - allow-update {none; }; - allow-transfer { <secondary NS IP>; }; - file "ext/db.foobar"; - }; + zone "foobar.net" in { + type master; + notify yes; + allow-update {none; }; + allow-transfer { <secondary NS IP>; }; + file "ext/db.foobar"; + }; - zone "176.2.0.192.in-addr.arpa" in { - type master; - notify yes; - allow-update { none; }; - allow-transfer { <secondary NS IP>; }; - file "db.192.0.2.176"; - }; + zone "176.2.0.192.in-addr.arpa" in { + type master; + notify yes; + allow-update { none; }; + allow-transfer { <secondary NS IP>; }; + file "db.192.0.2.176"; + }; - zone "177.2.0.192.in-addr.arpa" in { - type master; - notify yes; - allow-update { none; }; - allow-transfer { <secondary NS IP>; }; - file "db.192.0.2.177"; - }; + zone "177.2.0.192.in-addr.arpa" in { + type master; + notify yes; + allow-update { none; }; + allow-transfer { <secondary NS IP>; }; + file "db.192.0.2.177"; + }; - zone "178.2.0.192.in-addr.arpa" in { - type master; - notify yes; - allow-update { none; }; - allow-transfer { <secondary NS IP>; }; - file "db.192.0.2.178"; - }; + zone "178.2.0.192.in-addr.arpa" in { + type master; + notify yes; + allow-update { none; }; + allow-transfer { <secondary NS IP>; }; + file "db.192.0.2.178"; + }; - zone "179.2.0.192.in-addr.arpa" in { - type master; - notify yes; - allow-update { none; }; - allow-transfer { <secondary NS IP>; }; - file "db.192.0.2.179"; - }; + zone "179.2.0.192.in-addr.arpa" in { + type master; + notify yes; + allow-update { none; }; + allow-transfer { <secondary NS IP>; }; + file "db.192.0.2.179"; + }; }; - Voici les fichiers de /var/named (ceux qui ne sont pas présents font - partis de votre distribution BIND). + Voici les fichiers de /var/named (ceux qui ne sont pas présents + font partis de votre distribution BIND). - db.192.0.2.176 - Zone inverse de l'interface externe du firewall + db.192.0.2.176 - Zone inverse de l'interface + externe du firewall ; ############################################################ ; Start of Authority (Inverse Address Arpa) for 192.0.2.176/32 @@ -3079,14 +2089,15 @@ view "external" { ; Specify Name Servers for all Reverse Lookups (IN-ADDR.ARPA) ; ############################################################ @ 604800 IN NS ns1.foobar.net. -@ 604800 IN NS <name of secondary ns>. +@ 604800 IN NS <name of secondary ns>. ; ; ############################################################ -; Iverse Address Arpa Records (PTR's) +; Iverse Address Arpa Records (PTR's) ; ############################################################ 176.2.0.192.in-addr.arpa. 86400 IN PTR firewall.foobar.net. - db.192.0.2.177 - Zone inverse pour le serveur www/DNS server + db.192.0.2.177 - Zone inverse pour le serveur + www/DNS server ; ############################################################ ; Start of Authority (Inverse Address Arpa) for 192.0.2.177/32 @@ -3103,14 +2114,15 @@ view "external" { ; Specify Name Servers for all Reverse Lookups (IN-ADDR.ARPA) ; ############################################################ @ 604800 IN NS ns1.foobar.net. -@ 604800 IN NS <name of secondary ns>. +@ 604800 IN NS <name of secondary ns>. ; ; ############################################################ -; Iverse Address Arpa Records (PTR's) +; Iverse Address Arpa Records (PTR's) ; ############################################################ 177.2.0.192.in-addr.arpa. 86400 IN PTR www.foobar.net. - db.192.0.2.178 - Zone inverse du serveur mail + db.192.0.2.178 - Zone inverse du serveur + mail ; ############################################################ ; Start of Authority (Inverse Address Arpa) for 192.0.2.178/32 @@ -3127,14 +2139,15 @@ view "external" { ; Specify Name Servers for all Reverse Lookups (IN-ADDR.ARPA) ; ############################################################ @ 604800 IN NS ns1.foobar.net. -@ 604800 IN NS <name of secondary ns>. +@ 604800 IN NS <name of secondary ns>. ; ; ############################################################ -; Iverse Address Arpa Records (PTR's) +; Iverse Address Arpa Records (PTR's) ; ############################################################ -178.2.0.192.in-addr.arpa. 86400 IN PTR mail.foobar.net. +178.2.0.192.in-addr.arpa. 86400 IN PTR mail.foobar.net. - db.192.0.2.179 - Zone inverse du serveur web publique de votre fille + db.192.0.2.179 - Zone inverse du serveur web + publique de votre fille ; ############################################################ ; Start of Authority (Inverse Address Arpa) for 192.0.2.179/32 @@ -3151,14 +2164,15 @@ view "external" { ; Specify Name Servers for all Reverse Lookups (IN-ADDR.ARPA) ; ############################################################ @ 604800 IN NS ns1.foobar.net. -@ 604800 IN NS <name of secondary ns>. +@ 604800 IN NS <name of secondary ns>. ; ; ############################################################ -; Iverse Address Arpa Records (PTR's) +; Iverse Address Arpa Records (PTR's) ; ############################################################ 179.2.0.192.in-addr.arpa. 86400 IN PTR nod.foobar.net. - int/db.127.0.0 - Zone inverse pour localhost + int/db.127.0.0 - Zone inverse pour + localhost ; ############################################################ ; Start of Authority (Inverse Address Arpa) for 127.0.0.0/8 @@ -3176,12 +2190,12 @@ view "external" { @ 604800 IN NS ns1.foobar.net. ; ############################################################ -; Iverse Address Arpa Records (PTR's) +; Iverse Address Arpa Records (PTR's) ; ############################################################ 1 86400 IN PTR localhost.foobar.net. - int/db.192.168.201 - Zone inverse pour le réseau local. cela - n'est montré qu'aux clients internes + int/db.192.168.201 - Zone inverse pour le + réseau local. cela n'est montré qu'aux clients internes ; ############################################################ ; Start of Authority (Inverse Address Arpa) for 192.168.201.0/29 @@ -3199,14 +2213,15 @@ view "external" { ; ############################################################ @ 604800 IN NS ns1.foobar.net. ; ############################################################ -; Iverse Address Arpa Records (PTR's) +; Iverse Address Arpa Records (PTR's) ; ############################################################ 1 86400 IN PTR gateway.foobar.net. 2 86400 IN PTR winken.foobar.net. 3 86400 IN PTR blinken.foobar.net. 4 86400 IN PTR nod.foobar.net. - int/db.192.168.202 - Zone inverse de l'interface DMZ du firewall + int/db.192.168.202 - Zone inverse de + l'interface DMZ du firewall ; ############################################################ ; Start of Authority (Inverse Address Arpa) for 192.168.202.0/29 @@ -3225,12 +2240,12 @@ view "external" { @ 604800 IN NS ns1.foobar.net. ; ############################################################ -; Iverse Address Arpa Records (PTR's) +; Iverse Address Arpa Records (PTR's) ; ############################################################ 1 86400 IN PTR dmz.foobar.net. - int/db.foobar - Forward zone pour l'utilisation des clients - internes. + int/db.foobar - Forward zone pour l'utilisation + des clients internes. ;############################################################## ; Start of Authority for foobar.net. @@ -3262,7 +2277,8 @@ winken 86400 IN A 192.168.201.2 blinken 86400 IN A 192.168.201.3 nod 86400 IN A 192.168.201.4 - ext/db.foobar - Forward zone pour les clients externes + ext/db.foobar - Forward zone pour les clients + externes ;############################################################## ; Start of Authority for foobar.net. @@ -3278,7 +2294,7 @@ nod 86400 IN A 192.168.201.4 ; Foobar.net Nameserver Records (NS) ;############################################################ @ 86400 IN NS ns1.foobar.net. -@ 86400 IN NS <secondary NS>. +@ 86400 IN NS <secondary NS>. ;############################################################ ; Foobar.net Foobar Wa Office Records (ADDRESS) ;############################################################ @@ -3307,36 +2323,118 @@ nod 86400 IN A 192.0.2.179 ;############################################################ foobar.net. 86400 IN A 192.0.2.177 86400 IN MX 0 mail.foobar.net. - 86400 IN MX 1 <backup MX>. + 86400 IN MX 1 <backup MX>.
- Démarrer et Stopper le firewall + Quelques Points à Garder en Mémoire - La procédure d'installation - configure votre système pour que Shorewall démarre au boot du système. + + + Vous ne pouvez tester votre firewall de + l'intérieur de votre réseau. Car les requêtes que vous + envoyez à votre adresse IP ne veux pas dire qu'elles seront associées + à votre interface externe ou la zone net. Tout trafic + généré par le réseau local sera traité par loc->fw. + - Le firewall est démarré en utilisant la commande "shorewall - start" et arrêté avec "shorewall stop". Quand le firewall est - arrêté, le routage est actif sur les hôtes qui ont une entrée dans le - fichier /etc/shorewall/routestopped. - Le firewall actif peut-être relancé grâce à la commande "shorewall - restart". Si vous voulez retirer toute trace de Shorewall de votre - configuration Netfilter, utilisez "shorewall clear". + + Les adresses IP sont des propriétés des + systèmes, pas des interfaces. C'est une erreur de croire + que votre firewall est capable de renvoyer des paquets simplement + parce que vous pouvez faire un ping sur l'adresse IP de toutes les + interfaces du firewall depuis le réseau local. La seul conclusion est + de conclure que le lien entre le réseau local et le firewall est + établi et que vous avez probablement la bonne adresse de la passerelle + sur votre système. + - Editez le fichier - /etc/shorewall/routestopped - file et ajouter les systèmes qui doivent pouvoir se connecter au firewall - quant il est arrêté. + + Toutes les adresses IP configurées sur le + firewall sont dans la zone $FW (fw). Si 192.168.1.254 est + l'adresse IP de votre interface interne, alors vous pouvez écrire + $FW:192.168.1.254 dans + une régle mais vous ne devez pas écrire loc:192.168.1.254. C'est aussi un + non-sens d'ajouter 192.168.1.254 à la zone loc en utilisant une entrée dans + /etc/shorewall/hosts. + - ATTENTION: Si vous êtes connecté à votre firewall depuis Internet, - ne pas exécutez la commande  "shorewall stop" tant que vous - n'avez pas une entrée active pour l'adresse IP de votre hôte dans - le fichier /etc/shorewall/routestopped. - Egalement, je ne recommande pas d'utiliser "shorewall - restart"; il est préférable d'utiliser une configuration - alternative  et la tester avec la commande "shorewall try". + + Les paquets de retour (Reply) ne suivent + PAS automatiquement le chemin inverse de la requête + d'origine. Tous les paquets sont routés en se référant à la + table de routage respective de chaque hôte à chaque étape du trajet. + C'est commun chez ceux qui installent le firewall Shorewall en + parallèle à une passerelle existante et essayent d'utiliser DNAT dans + Shorewall sans changer la passerelle par défaut sur les systèmes + recevant le retour des requêtes. Les requêtes dont, à travers le + firewall Shorewall, l'adresse de destination IP est réécrite mais la + réponse va directement vers l'ancienne passerelle. + + + + Shorewall lui-même n'a aucune notion du + dedans et du dehors. Ces concepts dépendent de la façon + dont Shorewall est configuré. + + +
+ +
+ Démarrer et Arrêter Votre Firewall + + + + La procédure d'installation + configure votre système pour lancer Shorewall au boot du système, mais au + début avec la version 1.3.9 de Shorewall le lancement est désactivé, + n'essayer pas de lancer Shorewall avec que la configuration soit finie. + Une fois que vous en aurez fini avec la configuration du firewall, vous + pouvez permettre le lancement de Shorewall en supprimant le fichier + /etc/shorewall/startup_disabled. + + Les utilisateurs des paquets .deb doivent éditer /etc/default/shorewall + and set startup=1. + Le firewall est activé en utilisant la commande + shorewall start et arrêté avec + shorewall stop. Lorsque le firewall est + stoppé, le routage est autorisé sur les hôtes qui possèdent une entrée + dans /etc/shorewall/routestopped. Un + firewall qui tourne peut être relancé en utilisant la commande + shorewall restart command. Si vous + voulez enlever toutes traces de Shorewall sur votre configuration de + Netfilter, utilisez shorewall + clear. + + + + Les exemples supposent que vous voulez permettre le routage depuis + ou vers eth1 (le réseau local) et + eth2 (DMZ) lorsque Shorewall est + stoppé. Si ces deux interfaces ne sont pas connectées à votre réseau local + et votre DMZ, ou si vous voulez permettre un ensemble d'hôtes différents, + modifiez /etc/shorewall/routestopped en + conséquence. + Si vous êtes connecté à votre firewall depuis Internet, + n'essayez pas une commande shorewall + stop tant que vous n'avez pas ajouté une entrée pour + votre adresse IP (celle à partir de laquelle vous + êtes connectée) dans /etc/shorewall/routestopped. + De la même manière, je ne vous recommande pas d'utiliser + shorewall restart; il est plus + intéressant de créer une configuration + alternative et de la tester en utilisant la commande + shorewall try. +
\ No newline at end of file diff --git a/Shorewall-docs2/standalone.xml b/Shorewall-docs2/standalone.xml index 4ed9d90fa..93f7968c0 100644 --- a/Shorewall-docs2/standalone.xml +++ b/Shorewall-docs2/standalone.xml @@ -15,7 +15,7 @@ - 2004-02-16 + 2004-04-22 2002-2004 @@ -187,10 +187,11 @@ 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 if that file - exists; otherwise the rules in /etc/shorewall/common.def - are checked. + the request is applied. If there is a comon action defined for the + policy in /etc/shorewall/actions or + /usr/share/shorewall/actions.std then that action is + peformed before the action is applied. The /etc/shorewall/policy file included with the one-interface sample has the following policies: diff --git a/Shorewall-docs2/standalone_fr.xml b/Shorewall-docs2/standalone_fr.xml index 7e5b31bc7..fc0b14845 100644 --- a/Shorewall-docs2/standalone_fr.xml +++ b/Shorewall-docs2/standalone_fr.xml @@ -1,7 +1,9 @@ -
+
+ + Standalone Firewall @@ -11,47 +13,57 @@ Eastep + + + Patrice + + Vetsel + + + + Fabien + + Demassieux + - 2003-12-30 + 2004-02-16 - 2001-2003 + 2002-2004 Thomas M. Eastep Permission is granted to copy, distribute and/or modify this - dcument under the terms of the GNU Free Documentation License, Version + document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover - Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". + Texts. A copy of the license is included in the section entitled + GNU Free Documentation + License. - Notes du traducteur : Je ne - prétends pas être un vrai traducteur dans le sens ou mon travail n'est - pas des plus précis (loin de là...). Je ne me suis pas attaché à une - traduction exacte du texte, mais plutôt à en faire une version française - intelligible par tous (et par moi). Les termes techniques sont la plupart - du temps conservés sous leur forme originale et mis entre parenthèses car - vous pouvez les retrouver dans le reste des documentations ainsi que dans - les fichiers de configuration. N'hésitez pas à me contacter afin - d'améliorer ce document VETSEL - Patrice (merci à JMM pour sa relecture et ses commentaires - pertinents, ainsi qu'à Tom EASTEP pour son formidable outil et sa - disponibilité). + Notes du traducteur : Le guide + initial a été traduit par VETSEL Patrice que je + remercie. J'en ai assuré la révision pour l'adapter à la version 2 de + Shorewall. J'espère vous faciliter l'accès et la prise en main d'un + firewall performant, efficace, adaptable et facile d'utilisation. Donc + félicitations pour la qualité du travail et la disponibilité offerte par + Thomas M. Eastep. Si vous trouvez des erreurs ou des améliorations à + apporter vous pouvez me contacter Fabien Demassieux -
+
Introduction - Mettre en place un système Linux en tant que firewall (écluse) pour - un petit réseau est une chose assez simple, si vous comprenez les bases et - suivez la documentation. + Configurer Shorewall sur un système isolé Linux est très simple si + vous comprenez les bases et suivez la documentation. Ce guide ne veut pas vous apprendre tous les rouages de Shorewall. Il se focalise sur ce qui est nécessaire pour configurer Shorewall, dans @@ -72,391 +84,507 @@ - Ce guide suppose que vous avez le paquet iproute/iproute2 - d'installé. Vous pouvez voir si le paquet est installé en vérifiant la - présence du programme ip sur votre système de firewall. Sous root, - utilisez la commande 'which' pour rechercher le programme : +
+ Pré-requis - [root@gateway root]# which ip - /sbin/ip - [root@gateway root]# - + Shorewall a besoin que le package + iproute/iproute2 soit installé + (avec la distribution RedHat, le package + s'appelle iproute). Vous pouvez vérifier si le + package est installé par la présence du programme ip + sur votre firewall. En tant que root, vous pouvez utiliser la commande + which pour cela: - Je vous recommande dans un premier temps de parcourir tout le guide - pour vous familiariser avec ce qu'il va se passer, et de revenir au - début en effectuant le changements dans votre configuration. Les points, - où les changements dans la configuration sont recommandées, sont signalés - par une + [root@gateway root]# which ip +/sbin/ip +[root@gateway root]# +
- - Si vous éditez vos fichiers de configuration sur un système - Windows, vous devez les sauver comme des fichiers Unix si votre éditeur - supporte cette option sinon vous devez les faire passer par dos2unix - avant d'essayer de les utiliser. De la même manière, si vous copiez - un fichier de configuration depuis votre disque dur Windows vers une - disquette, vous devez lancer dos2unix sur la copie avant de - l'utiliser avec Shorewall. +
+ Avant de commencer - - - Windows - Version of dos2unix - + Je recommande en premier la lecture complète du guide afin de se + familiariser avec les tenants et aboutissants puis de revenir sur les + modifications de votre configuration adapté à votre système. - - Linux - Version of dos2unix - - - + + Si vous éditez vos fichiers de configuration sur un système + Windows, vous devez les sauver comme des + fichiers Unix si votre éditeur supporte cette + option sinon vous devez les convertir avec dos2unix + avant d'essayer de les utiliser. De la même manière, si vous copiez un + fichier de configuration depuis votre disque dur + Windows vers une disquette, vous devez lancer + dos2unix sur la copie avant de l'utiliser avec + Shorewall. + + + + Windows + Version of dos2unix + + + + Linux + Version of dos2unix + + + +
+ +
+ Conventions + + Les points ou les modifications s'imposent sont indiqués par + . +
+
+ +
+ PPTP/ADSL + + + + Si vous êtes équipé d'un modem ADSL et utilisez + PPTP pour communiquer avec un serveur à travers ce + modem, vous devez faire le changement suivant en plus de ceux ci-dessous. + ADSL avec PPTP est commun en Europe, + ainsi qu'en Australie.
Les Concepts de Shorewall - Les fichiers de - configuration pour Shorewall sont situés dans le répertoire /etc/shorewall - -- pour de simples paramétrages, vous n'avez à faire qu'avec - quelques un d'entre eux comme décris dans ce guide. Après avoir installé Shorewall, téléchargez - le - one-interface sample, un-tarez le (tar -zxvf one-interface.tgz) et - copiez les fichiers vers /etc/shorewall (Ils remplaceront les fichiers de - même nom déjà existant dans /etc/shorewall installés lors de - l'installation de Shorewall). + - Parallèlement à la description, je vous suggère de jeter un oeil à - ceux physiquement présents sur votre système -- chacun des fichiers + Les fichiers de configuration pour Shorewall sont situés dans le + répertoire /etc/shorewall -- pour de simples paramétrages, vous n'avez à + faire qu'avec quelques un d'entre eux comme décris dans ce guide. + Après avoir installé Shorewall, + téléchargez l'exemple + one-interface, décompressez le (tar + + one-interface.tgz) et copiez les + fichiers dans /etc/shorewall + (ces fichiers remplaceront les + initiaux). + Parallèlement à la présentation, je vous suggère de jeter un oeil + à ceux physiquement présents sur votre système -- chacun des fichiers contient des instructions de configuration détaillées et des entrées par défaut. - Shorewall voit le réseau où il tourne comme composé par un ensemble - de zones. Dans les fichiers de configuration fournis pour une unique + Shorewall voit le réseau où il fonctionne, comme un ensemble de + zones.Dans les fichiers de configuration fournis pour une unique interface, une seule zone est définie : -
- Zones - + - + - Zone + Name - Description + Description + + net - Internet + The Internet -
+ - Les zones de Shorewall sont définies dans /etc/shorewall/zones. + Les zones de Shorewall sont définies dans /etc/shorewall/zones. Shorewall reconnaît aussi le système de firewall comme sa propre - zone - par défaut, le firewall lui-même est connu en tant que fw. + zone - par défaut, le firewall est connu comme fw. Les règles concernant le trafic à autoriser ou à interdire sont exprimées en utilisant les termes de zones. - - /etc/shorewall/policy + + + Vous exprimez votre politique par défaut pour les connexions + d'une zone vers une autre zone dans le fichier /etc/shorewall/policy. + - - - - SOURCE ZONE + + Vous définissez les exceptions à ces politiques pas défaut dans + le fichier /etc/shorewall/rules. + + - DESTINATION ZONE + Pour chaque connexion demandant à entrer dans le firewall, la + requête est en premier lieu comparée par rapport au fichier /etc/shorewall/rules. Si + aucune règle dans ce fichier ne correspond à la demande de connexion alors + la première politique dans le fichier /etc/shorewall/policy + qui y correspond sera appliquée. Si cette politique est + REJECT ou DROP la requête est dans + un premier temps comparée par rapport aux règles contenues dans le fichier + /etc/shorewall/common, + si ce fichier existe; sinon les régles dans le fichier /etc/shorewall/common.def + sont vérifiées. - POLICY + Le fichier /etc/shorewall/policy inclus dans l'archive d'exemple + (one-interface) contient les politiques suivantes: - LOG LEVEL - - LIMIT:BURST - - - - fw - - net - - ACCEPT - - - - - - - - net - - all - - DROP - - info - - - - - - all - - all - - REJECT - - info - - - - - -
+ #SOURCE ZONE DESTINATION ZONE POLICY LOG LEVEL LIMIT:BURST +fw net ACCEPT +net all DROP info +all all REJECT info Ces politiques vont : - permettre toutes demandes de connexion depuis le firewall vers - l'Internet + Permettre toutes demandes de connexion depuis le firewall vers + l'Internet - drop (ignorer) toutes les demandes de connexion depuis - l'Internet vers votre firewall + Drop (ignorer) toutes les demandes de connexion depuis + l'Internet vers votre firewall - rejeter toutes les autres requêtes de connexion (Shorewall à - besoin de cette politique). + Reject (rejeter) toutes les autres requêtes de connexion + (Shorewall à besoin de cette politique). A ce point, éditez - votre /etc/shorewall/policy et faites y les changements que vous désirez. + votre /etc/shorewall/policy et faites y les changements que vous + désirez.
Interface Externe Le firewall possède une seule interface réseau. Lorsque la connexion - Internet passe par un modem câble ou par un routeur ADSL (pas un simple - modem), l'External Interface (interface externe) sera l'adaptateur - ethernet (eth0) qui y est connecté à - moins que vous vous connectiez par Point-to-Point Protocol over Ethernet - (PPPoE) ou Point-to-Point TunnelingProtocol(PPTP) dans ce cas - l'interface externe sera ppp0. Si - vous vous connectez par un simple modem (RTC), votre interface externe - sera aussi ppp0. Si vous vous connectez - en utilisant l'ISDN (numéris), votre interface externe sera ippp0. + Internet passe par un modem câble ou par un + Routeur ADSL(pas un simple modem), + l'Interface Externe sera l'adaptateur ethernet qui y + est connecté à ce Modem (e.g., eth0) à moins d'une connexion par + Point-to-Point Protocol over Ethernet + (PPPoE) ou Point-to-Point Tunneling + Protocol (PPTP) dans ce cas l'interface + externe sera (e.g., ppp0). Si vous + utilisez par un simple modem (RTC), votre interface + externe sera aussi ppp0. Si vous + utilisez l'ISDN, votre interface externe sera ippp0. - L'exemple de - configuration de Shorewall pour une interface suppose que votre interface - externe est eth0. Si votre configuration - est différente, vous devrez modifier le fichier d'exemple - /etc/shorewall/interfaces en conséquence. Puisque vous y êtes, vous - pourriez parcourir la liste d'options qui sont spécifiées pour - l'interface. Quelques astuces : + - - - Si votre interface externe est ppp0 - ou ippp0, vous pouvez remplacer le - "detect" dans la seconde colonne par un "-". - + Si votre interface vers l'extérieur est ppp0 ou ippp0 + alors vous mettrez CLAMPMSS=yes dans le fichier + /etc/shorewall/shorewall.conf. - - Si votre interface externe est ppp0 - ou ippp0 ou bien si vous avez une - adresse IP statique, vous pouvez enlever le "dhcp" de la liste - d'option. - - + Le fichier de configuration d'exemple pour une interface suppose que + votre interface externe est eth0. Si votre configuration est différente, + vous devrez modifier le fichier/etc/shorewall/interfaces + en conséquence. Tant que vous y êtes, vous pourriez parcourir la liste des + options qui sont spécifiées pour les interfaces. Quelques trucs: + + + Si votre interface vers l'extérieur est ppp0 ou ippp0, vous pouvez remplacer le detect + dans la seconde colonne par un - (sans les + quotes). + + + + Si votre interface vers l'extérieur est ppp0 or ippp0 u si vous avez une adresse + IP statique, vous pouvez enlever + dhcp dans la liste des options . + + + + Si vous spécifiez norfc1918 pour votre + interface externe, vous pouvez vérifier périodiquement le Shorewall Errata pour mettre à jour le fichier + /usr/share/shorewall/rfc1918. Sinon, vous pouvez + copier le fichier /usr/share/shorewall/rfc1918 vers + /etc/shorewall/rfc1918 et adapter votre fichier + /etc/shorewall/rfc1918 comme je le + fais. +
Adresse IP - La RFC 1918 définie plusieurs plage d'adresses IP privée - (PrivateIP) pour l'utilisation dans des réseaux privés : - - 10.0.0.0 - 10.255.255.255 - 172.16.0.0 - 172.31.255.255 - 192.168.0.0 - 192.168.255.255 - - Ces adresses sont parfois désignées comme étant non-routables car - les routeurs sur les backbones Internet ne font pas passer les paquets - dont les adresses de destinations sont définies dans la RFC 1918. Dans - certains cas, les fournisseurs (provider ou ISP) utilisent ces adresses et - utilisent le Network Address Translation afin de récrire les entêtes des - paquets lorsqu'ils les font circuler depuis ou vers l'Internet. - - Avant de lancer - Shorewall, vous devriez regarder l'adresse de votre interface externe - et si elle est comprise dans une des plages précédentes, vous devriez - enlever l'option 'norfc1918' dans le fichier - /etc/shorewall/interfaces. -
- -
- Permettre d'autres connexions - - Si vous désirez autoriser d'autres connexions depuis - l'Internet vers votre firewall, le format général est :/etc/shorewall/rulesACTIONSOURCEDESTINATIONPROTOCOLPORTSOURCE PORTORIGINAL - DESTACCEPTnetfw<protocol><port>
- - Exemple - Vous voulez faire tourner un serveur Web et un serveur - POP3 sur votre système de firewall : + Avant d'aller plus loin, nous devons dire quelques mots au sujet des + adresses Internet Protocol (IP). Normalement, votre + fournisseur Internet ISP vous assignera une seule + adresse IP. Cette adresse peut être assignée par le Dynamic Host + Configuration Protocol (DHCP) ou lors de + l'établissement de votre connexion (modem standard) ou établissez votre + connexion PPP. Dans de rares cas , votre provider peut + vous assigner une adresse statique IP ; cela signifie + que vous devez configurer l'interface externe de votre firewall afin + d'utiliser cette adresse de manière permanente. La RFC 1918 réserve plusieurs plages d'adresses + privées Private IP à cet + fin: - /etc/shorewall/rules + Exemple sous-réseau + + + - - ACTION + Range: - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST + 10.10.10.0 - + 10.10.10.255 - ACCEPT + Subnet Address: - net - - fw - - tcp - - 80 - - - - + 10.10.10.0 - ACCEPT + Broadcast Address: - net + 10.10.10.255 + - fw + + CIDR Notation: - tcp - - 110 - - - - + 10.10.10.0/24
- Si vous ne savez pas quel port ou protocole une application - particulière utilise, regardez ici. - Important: Je ne vous recommande pas - d'autoriser le telnet depuis ou vers l'Internet car il utilise du - texte en clair (même pour le login et le mot de passe !). Si vous voulez - avoir un accès au shell de votre firewall depuis Internet, utilisez SSH : + Ces adresses sont parfois nommées comme + non-routable car les routeurs centraux d'Internet ne + renvoient pas un paquet dont la destination est réservée par la RFC 1918. + Dans certain cas cependant, les FAI (fournisseurs d'accés Internet) + assignent ces adresses et utilisent ensuite NAT Network Address + Translation pour réécrire les en-têtes de paquets renvoyés + vers/depuis Internet. - - /etc/shorewall/rules + - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - net - - fw - - tcp - - 22 - - - - - - - -
- - A ce point, éditez - /etc/shorewall/rules pour rajouter les autres connexions désirées. + Avant de lancer Shorewall, regarder l'adresse IP de votre interface + externe, et si elle est dans les plages précédentes, vous devez enlever + l'option 'norfc1918' dans la ligne concernant l'interface externe dans le + fichier /etc/shorewall/interfaces.
- Lancer et Arrêter son Firewall + Permettre d'autres connexions - La procédure d'installation + Shorewall version 2.0.0 et postérieure propose une collection + d'actions qui peuvent être utilisées pour rapidemement autoriser ou + refuser des services. Pour voir les actions comprises avec votre version + de Shorewall, regardez dans le fichier + /etc/shorewall/actions.std. Le nom de celles qui + acceptent des connexions débutent par Allow. + + Si vous souhaitez autoriser d'autre connexions depuis internet vers + votre firewall, le format général utilisant l'action type + Allow est: + + #ACTION SOURCE DESTINATION PROTO DEST PORT(S) +<action> net fw + + + Vous voulez un serveur Web et POP3 accessible de l'extérieur sur + votre firewall: + + #ACTION SOURCE DESTINATION PROTO DEST PORT(S) +AllowWeb net fw +AllowPOP3 net fw + + + Au cas ou Shorewall ne propose pas d'actions définies qui vous + conviennent, vous pouvez les définir vous même ou coder directement les + régles dans /etc/shorewall/rules selon le format + suivant: + + #ACTION SOURCE DESTINATION PROTO DEST PORT(S) +ACCEPT net fw <protocol> <port> + + + Vous voulez un serveur Web et POP3 accessible de l'extérieur sur + votre firewall: + + #ACTION SOURCE DESTINATION PROTO DEST PORT(S) +ACCEPT net fw tcp 80 +ACCEPT net fw tcp 110 + + + Si vous ne savez pas quel port(s) et protocole(s) requièrent une + application particulière, vous pouvez regarder ici. + + + Je ne recommande pas d'autoriser telnet vers/de + l'Internet parce qu'il utilise du texte en clair (même pour le login!). + Si vous voulez un accés shell à votre firewall, utilisez + SSH: + + #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowSSH net fw + + + + + Maintenant, éditez votre fichier de configuration /etc/shorewall/rules + pour ajouter, modifier ou supprimer les autres connexions voulues. +
+ +
+ Démarrer et Arrêter Votre Firewall + + + + La procédure d'installation configure votre système pour lancer Shorewall au boot du système, mais au début avec la version 1.3.9 de Shorewall le lancement est désactivé, - n'essayer pas de lancer Shorewall avec que la configuration soit - finie. Une fois que vous en aurez fini avec la configuration du firewall, - vous pouvez permettre le lancement de Shorewall en supprimant le fichier - /etc/shorewall/startup_disabled. + n'essayer pas de lancer Shorewall avec que la configuration soit finie. + Une fois que vous en aurez fini avec la configuration du firewall, vous + pouvez permettre le lancement de Shorewall en supprimant le fichier + /etc/shorewall/startup_disabled. - IMPORTANT: Les utilisateurs des paquets .deb - doivent éditer /etc/default/shorewall et mettre 'startup=1'. + + Les utilisateurs des paquets .deb doivent éditer /etc/default/shorewall + and set startup=1. + - Le firewall est activé en utilisant la commande "shorewall - start" et arrêté avec "shorewall stop". Lorsque le firewall - est stoppé, le routage est autorisé sur les hôtes qui possèdent une entrée - dans /etc/shorewall/routestopped. - Un firewall qui tourne peut être relancé en utilisant la commande - "shorewall restart". Si vous voulez enlever toutes traces de - Shorewall sur votre configuration de Netfilter, utilisez "shorewall - clear". + Le firewall est activé en utilisant la commande + shorewall start et arrêté avec + shorewall stop. Lorsque le firewall est + stoppé, le routage est autorisé sur les hôtes qui possèdent une entrée + dans /etc/shorewall/routestopped. Un + firewall qui tourne peut être relancé en utilisant la commande + shorewall restart command. Si vous + voulez enlever toutes traces de Shorewall sur votre configuration de + Netfilter, utilisez shorewall + clear. - ATTENTION: Si vous êtes connecté à - votre firewall depuis Internet, n'essayez pas une commande - "shorewall stop" tant que vous n'avez pas ajouté une entrée - pour votre adresse IP (celle à partir de laquelle vous êtes connectée) - dans - /etc/shorewall/routestopped. De la même manière, je ne vous - recommande pas d'utiliser "shorewall restart"; il est plus - intéressant de créer une - configuration alternative et de la tester en utilisant la commande - "shorewall try". + + Si vous êtes connecté à votre firewall depuis Internet, n'essayez + pas une commande shorewall stop tant + que vous n'avez pas ajouté une entrée pour votre adresse + IP (celle à partir de laquelle vous êtes connectée) + dans /etc/shorewall/routestopped. + De la même manière, je ne vous recommande pas d'utiliser + shorewall restart; il est plus + intéressant de créer une configuration + alternative et de la tester en utilisant la commande + shorewall try. +
+ +
+ Autres Lectures Recommandées + + Je vous recommande vivement de lire la page des Fonctionnalités Générales des + Fichiers de Configuration -- elle contient des trucs sur les + possibilités de Shorewall pour rendre aisé l'administration de votre + firewall Shorewall. +
+ + + Historique de Révision + + + + 1.7 + + 2004-02-16 + + TE + + Move /etc/shorewall/rfc1918 to + /usr/share/shorewall. + + + + 1.6 + + 2004-02-05 + + TE + + Update for Shorewall 2.0 + + + + 1.5 + + 2004-01-05 + + TE + + Standards Changes + + + + 1.4 + + 2003-12-30 + + TE + + Add tip about /etc/shorewall/rfc1918 updates. + + + + 1.3 + + 2003-11-15 + + TE + + Initial Docbook Conversion + + + \ No newline at end of file diff --git a/Shorewall-docs2/starting_and_stopping_shorewall.xml b/Shorewall-docs2/starting_and_stopping_shorewall.xml index 9ce640a6c..6ee0a628a 100644 --- a/Shorewall-docs2/starting_and_stopping_shorewall.xml +++ b/Shorewall-docs2/starting_and_stopping_shorewall.xml @@ -15,7 +15,7 @@ - 2004-01-04 + 2004-05-03 2001-2004 @@ -29,7 +29,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -41,7 +42,7 @@ url="Install.htm">installation procedure attempts to set up the init scripts to start the firewall in run levels 2-5 and stop it in run levels 1 and 6. If you want to configure your firewall differently from - this default, you can use your distribution's run-level editor. + this default, you can use your distribution's run-level editor. @@ -49,8 +50,9 @@ Shorewall startup is disabled by default. Once you have configured your firewall, you can enable startup by removing the file /etc/shorewall/startup_disabled. Note: - Users of the .deb package must edit /etc/default/shorewall - and set startup=1. + Users of the .deb package must edit + /etc/default/shorewall and set + startup=1. @@ -68,29 +70,40 @@ - shorewall start - starts the firewall. It - important to understand that when the firewall is in the Started state there is no Shorewall - Program running. It rather means that - Netfilter has been configured to handle traffic as described in your - Shorewall configuration files. Please refer to the Shorewall State Diagram as shown at the bottom - of this page for more information. + shorewall [ -q ] [ -f ] start - starts the + firewall. It important to understand that when the firewall is in the + Started state there is no + Shorewall Program running. It rather + means that Netfilter has been configured to handle traffic as + described in your Shorewall configuration files. Please refer to the + Shorewall State Diagram as shown at the + bottom of this page for more information. The -q option was added in + Shorewall 2.0.2 Beta 1 and reduces the amout of output produced. Also + beginning with Shorewall version 2.0.2 Beta 1, the -f option may be + specified; if this option is given and the file + /var/lib/shorewall/restore is present (see + shorewall save below), then that script is run to + restore the state of the firewall to the state when + /var/lib/shorewall/restore was created. This is + generally must faster than starting the firewall without the -f + option. shorewall stop - stops the firewall; the only traffic permitted through the firewall is from systems listed in /etc/shorewall/routestopped (Beginning with - version 1.4.7, if ADMINISABSENTMINDED=Yes in /etc/shorewall/shorewall.conf - then in addition, all existing connections are permitted and any new - connections originating from the firewall itself are allowed). + version 1.4.7, if ADMINISABSENTMINDED=Yes in + /etc/shorewall/shorewall.conf then in addition, + all existing connections are permitted and any new connections + originating from the firewall itself are allowed). - shorewall restart - stops the firewall (if it - is in the Started state) and then - starts it again + shorewall [ -q ] restart - stops the firewall + (if it is in the Started state) and + then starts it again. The -q option was added in Shorewall 2.0.2 Beta + 1 and reduces the amout of output produced. @@ -100,7 +113,8 @@ shorewall clear - remove all rules and chains - installed by Shoreline Firewall. The firewall is wide open + installed by Shoreline Firewall. The firewall is wide + open @@ -108,18 +122,38 @@ involving the broadcast addresses of firewall interfaces, the black list, traffic control rules and ECN control rules. + + + shorewall save - Beginning with Shorewall + 2.0.2 Beta1, this command creates a script + /var/lib/shorewall/restore which when run will + restore the state of the firewall to its current state. + + + + shorewall restore - Runs the + /var/lib/shorewall/restore created by the + shorewall save command. + + + + shorewall forget - Added in Shorewall 2.0.2 Beta 1. Removes the + /var/lib/shorewall restore script created by the + shorewall save command. + If you include the keyword debug as the first argument, then a shell trace of the command is produced as in: - shorewall debug start 2> /tmp/traceThe + shorewall debug start 2> /tmp/traceThe above command would trace the start command and place the trace information in the file /tmp/trace Beginning with version 1.4.7, shorewall can give detailed help about each of its commands: shorewall help [ command | host | address ]The - shorewall program may also be used to monitor the firewall. + shorewall program may also be used to monitor the + firewall. @@ -128,21 +162,24 @@ - shorewall show <chain1> [ <chain2> ... - ] - produce a verbose report about the listed chains (iptables - -L chain -n -v) Note: You may only list one chain in the - show command when running Shorewall version 1.4.6 and earlier. Version - 1.4.7 and later allow you to list multiple chains in one command. + shorewall show <chain1> [ <chain2> ... + ] - produce a verbose report about the listed chains + (iptables -L chain -n -v) Note: You may only list + one chain in the show command when running Shorewall version 1.4.6 and + earlier. Version 1.4.7 and later allow you to list multiple chains in + one command. shorewall show nat - produce a verbose report - about the nat table (iptables -t nat -L -n -v) + about the nat table (iptables -t nat -L -n + -v) shorewall show tos - produce a verbose report - about the mangle table (iptables -t mangle -L -n -v) + about the mangle table (iptables -t mangle -L -n + -v) @@ -161,17 +198,18 @@ - shorewall monitor [ <delay> ] - + shorewall monitor [ <delay> ] - Continuously display the firewall status, last 20 log entries and nat. When the log entry display changes, an audible alarm is sounded. The - <delay> indicates the number of seconds + <delay> indicates the number of seconds between updates with the default being 10 seconds. shorewall hits - Produces several reports about the Shorewall packet log messages in the current log file named - in the LOGFILE variable in /etc/shorewall/shorewall.conf. + in the LOGFILE variable in + /etc/shorewall/shorewall.conf. @@ -181,21 +219,27 @@ shorewall check - Performs a cursory - validation of the zones, interfaces, hosts, rules and policy files.The - check command is totally unsuppored - and does not parse and validate the generated iptables commands. Even - though the check command completes successfully, the - configuration may fail to start. Problem reports that complain about - errors that the check command does not detect will not - be accepted.See the recommended way to make configuration - changes described below. + validation of the zones, interfaces, hosts, rules and policy + files. + The check command is + totally unsuppored and does not parse and validate the generated + iptables commands. Even though the check command + completes successfully, the configuration may fail to start. + Problem reports that complain about errors that the + check command does not detect will not be + accepted. + + See the recommended way to make configuration changes + described below. + - shorewall try <configuration-directory> - [ <timeout> ] - Restart shorewall using the - specified configuration and if an error occurs or if the - <timeout> option is given and the new + shorewall try + <configuration-directory> [ + <timeout> ] - Restart shorewall using the specified + configuration and if an error occurs or if the + <timeout> option is given and the new configuration has been up for that many seconds then shorewall is restarted using the standard configuration. @@ -212,16 +256,17 @@ - shorewall ipcalc [ <address> <mask> | - <address>/<vlsm> ] - displays the network + shorewall ipcalc [ <address> <mask> | + <address>/<vlsm> ] - displays the network address, broadcast address, network in CIDR notation and netmask corresponding to the input[s]. - shorewall iprange <address1>-<address2> - - Decomposes the specified range of IP addresses into the equivalent - list of network/host addresses + shorewall iprange + <address1>-<address2> - Decomposes the specified + range of IP addresses into the equivalent list of network/host + addresses @@ -230,19 +275,19 @@ - shorewall drop <ip address list> - + shorewall drop <ip address list> - causes packets from the listed IP addresses to be silently dropped by the firewall. - shorewall reject <ip address list> - + shorewall reject <ip address list> - causes packets from the listed IP addresses to be rejected by the firewall. - shorewall allow <ip address list> - + shorewall allow <ip address list> - re-enables receipt of packets from hosts previously blacklisted by a drop or reject command. @@ -250,7 +295,10 @@ shorewall save - save the dynamic blacklisting configuration so that it will be automatically restored - the next time that the firewall is restarted. + the next time that the firewall is restarted. Beginning with Shorewall + version 2.0.2 Beta1, this command also creats the + /var/lib/shorewall/restore script as described + above. @@ -264,15 +312,15 @@ - shorewall add <interface>[:<host>] - <zone> - Adds the specified interface (and host if + shorewall add <interface>[:<host>] + <zone> - Adds the specified interface (and host if included) to the specified zone. - shorewall delete <interface>[:<host>] - <zone> - Deletes the specified interface (and host - if included) from the specified zone. + shorewall delete <interface>[:<host>] + <zone> - Deletes the specified interface (and host if + included) from the specified zone. Examples: shorewall add ipsec0:192.0.2.24 vpn1 -- adds the address 192.0.2.24 from interface ipsec0 to the zone vpn1 shorewall delete ipsec0:192.0.2.24 vpn1 -- deletes the address 192.0.2.24 from interface ipsec0 from zone vpn1 @@ -280,24 +328,51 @@
+
+ Error Handling + + When shorewall start, shorewall + restart or shorewall refresh encounter an + error, the behavior depends on which version of Shorewall you are running + and whether there is a /var/lib/shorewall/restore + script available (see shorewall save above). + + + + If you are running a version of Shorewall earlier than 2.0.2 + Beta 1 then the effect is as if a shorewall stop + command had been run. + + + + If you have executed a shorewall save command + without a subsequent shorewall forget, then the + firewall is restored to the state when shorewall + save was executed. + + +
+
Alternate Configurations - The shorewall start, shorewall restart, - shorewall check, and shorewall try commands - allow you to specify which Shorewall configuration to use: + The shorewall start, shorewall + restart, shorewall check, and + shorewall try commands allow you to specify which + Shorewall configuration to use: - shorewall [ -c <configuration-directory> ] {start|restart|check} - shorewall try <configuration-directory> + shorewall [ -c <configuration-directory> ] {start|restart|check} + shorewall try <configuration-directory> - If a <configuration-directory> is + If a <configuration-directory> is specified, each time that Shorewall is going to use a file in /etc/shorewall it will first look in the - <configuration-directory> . If the file is present in - the <configuration-directory>, that file will - be used; otherwise, the file in /etc/shorewall - will be used. When changing the configuration of a production firewall, I - recommend the following: + class="directory">/etc/shorewall it will first look in + the <configuration-directory> . If the file is + present in the <configuration-directory>, that + file will be used; otherwise, the file in /etc/shorewall will be used. When changing + the configuration of a production firewall, I recommend the + following: @@ -309,8 +384,8 @@ - <copy any files that you need to change from /etc/shorewall - to . and change them here> + <copy any files that you need to change from /etc/shorewall + to . and change them here> @@ -318,7 +393,7 @@ - <correct any errors found by check and check again> + <correct any errors found by check and check again> @@ -326,10 +401,10 @@ - If the configuration starts but doesn't work, just - shorewall restart to restore the old configuration. If the - new configuration fails to start, the try command will - automatically start the old one for you. + If the configuration starts but doesn't work, just shorewall + restart to restore the old configuration. If the new configuration + fails to start, the try command will automatically start + the old one for you. When the new configuration works then just: @@ -357,7 +432,8 @@ You will note that the commands that result in state transitions use the word firewall rather than shorewall. - That is because the actual transitions are done by /usr/share/shorewall/firewall; + That is because the actual transitions are done by + /usr/share/shorewall/firewall; /sbin/shorewall runs firewall according to the following table: @@ -402,7 +478,8 @@ firewall restart - Logically equivalent to firewall stop;firewall start + Logically equivalent to firewall stop;firewall + start @@ -450,7 +527,7 @@ shorewall try - firewall -c <new configuration> restart If + firewall -c <new configuration> restart If unsuccessful then firewall start (standard configuration) If timeout then firewall restart (standard configuration) @@ -464,9 +541,36 @@ Revision History - 1.3-1.82004-01-04TEDocbook - standards1.22003-12-31TEAdded - clarification about "Started State"1.12003-12-29TEInitial - Docbook conversion + + + 1.3-1.8 + + 2004-01-04 + + TE + + Docbook standards + + + + 1.2 + + 2003-12-31 + + TE + + Added clarification about "Started State" + + + + 1.1 + + 2003-12-29 + + TE + + Initial Docbook conversion + + \ No newline at end of file diff --git a/Shorewall-docs2/template.xml b/Shorewall-docs2/template.xml index 4105741e2..4bbda5d7c 100644 --- a/Shorewall-docs2/template.xml +++ b/Shorewall-docs2/template.xml @@ -18,10 +18,6 @@ YYYY-MM-DD - 2001 - - 2002 - 2003 Thomas M. Eastep diff --git a/Shorewall-docs2/three-interface.xml b/Shorewall-docs2/three-interface.xml index 1ed38e89e..9ca6c7ac7 100755 --- a/Shorewall-docs2/three-interface.xml +++ b/Shorewall-docs2/three-interface.xml @@ -15,7 +15,7 @@ - 2004-04-03 + 2004-04-22 2002-2004 @@ -228,10 +228,11 @@ 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 if - that file exists; otherwise the file /etc/shorewall/common.def - is checked + request is applied. If there is a comon action defined for the + policy in /etc/shorewall/actions or + /usr/share/shorewall/actions.std then that action is + peformed before the action is applied. The /etc/shorewall/policy file included with the three-interface sample has the following policies: diff --git a/Shorewall-docs2/three-interface_fr.xml b/Shorewall-docs2/three-interface_fr.xml index 9f9c3c230..0976eff89 100644 --- a/Shorewall-docs2/three-interface_fr.xml +++ b/Shorewall-docs2/three-interface_fr.xml @@ -1,7 +1,9 @@ -
+
+ + Three-Interface Firewall @@ -11,12 +13,24 @@ Eastep + + + Patrice + + Vetsel + + + + Fabien + + Demassieux + - 2003-12-20 + 2004-04-03 - 2001-2003 + 2002-2004 Thomas M. Eastep @@ -26,34 +40,35 @@ document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover - Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". + Texts. A copy of the license is included in the section entitled + GNU Free Documentation + License. - Notes du traducteur : Je ne - prétends pas être un vrai traducteur dans le sens ou mon travail n'est - pas des plus précis (loin de là...). Je ne me suis pas attaché à une - traduction exacte du texte, mais plutôt à en faire une version française - intelligible par tous (et par moi). Les termes techniques sont la plupart - du temps conservés sous leur forme originale et mis entre parenthèses car - vous pouvez les retrouver dans le reste des documentations ainsi que dans - les fichiers de configuration. N'hésitez pas à me contacter afin - d?améliorer ce document VETSEL - Patrice (merci à JMM pour sa relecture et ses commentaires - pertinents, ainsi qu'à Tom EASTEP pour son formidable outil et sa - disponibilité). + Notes du traducteur : Le guide + initial a été traduit par VETSEL Patrice que je + remercie. J'en ai assuré la révision pour l'adapter à la version 2 de + Shorewall. J'espère vous faciliter l'accès et la prise en main d'un + firewall performant, efficace, adaptable et facile d'utilisation. Donc + félicitations pour la qualité du travail et la disponibilité offerte par + Thomas M. Eastep. Si vous trouvez des erreurs ou des améliorations à + apporter vous pouvez me contacter Fabien Demassieux -
+
Introduction Mettre en place un système Linux en tant que firewall pour un petit réseau contenant une DMZ est une chose assez simple, si vous comprenez les - bases et suivez la documentation. Ce guide ne veut pas vous apprendre tous - les rouages de Shorewall. Il se focalise sur ce qui est nécessaire pour - configurer Shorewall, dans son utilisation la plus courante : + bases et suivez la documentation. + + Ce guide ne veut pas vous apprendre tous les rouages de Shorewall. + Il se focalise sur ce qui est nécessaire pour configurer Shorewall, dans + son utilisation la plus courante : @@ -63,439 +78,501 @@ Une seule adresse IP publique. + + + Si vous avez plus d'une adresse IP, ce n'est pas le guide qui + vous convient -- regardez plutôt du coté du Guide de Configuration + Shorewall. + - Une DMZ connectée sur une interface Ethernet séparée. + Une DMZ (Zone démilitarisée) connectée sur une interface + Ethernet séparée. - Une connexion Internet par le biais d'un modem câble, ADSL, - ISDN, "Frame Relay", RTC ... + Une connexion Internet par le biais d'un modem câble, ADSL, + ISDN, "Frame Relay", RTC ... - Voici un schéma d'une installation typique. + Voici un schéma d'une installation typique. - +
+ Schéma d'une installation typique - Ce guide suppose que vous avez le paquet iproute/iproute2 - d'installé. Vous pouvez voir si le paquet est installé en vérifiant la - présence du programme ip sur votre système de firewall. Sous root, - utilisez la commande 'which' pour rechercher le programme : + + + + + +
- [root@gateway root]# which ip - /sbin/ip - [root@gateway root]# - +
+ Pré-requis - Je vous recommande dans un premier temps de parcourir tout le guide - pour vous familiariser avec ce qu'il va se passer, et de revenir au - début en effectuant le changements dans votre configuration. Les points, - où les changements dans la configuration sont recommandées, sont signalés - par une + Shorewall a besoin que le package + iproute/iproute2 soit installé + (avec la distribution RedHat, le package + s'appelle iproute). Vous pouvez vérifier si le + package est installé par la présence du programme ip + sur votre firewall. En tant que root, vous pouvez utiliser la commande + which pour cela: - - Si vous éditez vos fichiers de configuration sur un système - Windows, vous devez les sauver comme des fichiers Unix si votre éditeur - supporte cette option sinon vous devez les faire passer par dos2unix - avant d'essayer de les utiliser. De la même manière, si vous copiez - un fichier de configuration depuis votre disque dur Windows vers une - disquette, vous devez lancer dos2unix sur la copie avant de - l'utiliser avec Shorewall. + [root@gateway root]# which ip +/sbin/ip +[root@gateway root]# +
- - - Windows - Version of dos2unix - +
+ Avant de commencer - - Linux - Version of dos2unix - - - + Je recommande en premier la lecture complète du guide afin de se + familiariser avec les tenants et aboutissants puis de revenir sur les + modifications de votre configuration adapté à votre système. + + + Si vous éditez vos fichiers de configuration sur un système + Windows, vous devez les sauver comme des + fichiers Unix si votre éditeur supporte cette + option sinon vous devez les convertir avec dos2unix + avant d'essayer de les utiliser. De la même manière, si vous copiez un + fichier de configuration depuis votre disque dur + Windows vers une disquette, vous devez lancer + dos2unix sur la copie avant de l'utiliser avec + Shorewall. + + Windows + Version of dos2unix + + + + Linux + Version of dos2unix + + + +
+ +
+ Conventions + + Les points ou les modifications s'imposent sont indiqués par + . + + Les notes de configuration qui sont propres à LEAF/Bering sont + marqués avec . +
+
+ +
+ PPTP/ADSL + + + + Si vous êtes équipé d'un modem ADSL et utilisez + PPTP pour communiquer avec un serveur à travers ce + modem, vous devez faire le changement suivant en plus de ceux ci-dessous. + ADSL avec PPTP est commun en Europe, + ainsi qu'en Australie.
Les Concepts de Shorewall - Les fichiers de - configuration pour Shorewall sont situés dans le répertoire /etc/shorewall - -- pour de simples paramétrages, vous n'avez à faire qu'avec - quelques un d'entre eux comme décris dans ce guide. Après avoir installé Shorewall, téléchargez - le - two-interface sample, un-tarez le (tar -zxvf two-interface.tgz) et - copiez les fichiers vers /etc/shorewall (Ils remplaceront les fichiers de - même nom déjà existant dans /etc/shorewall installés lors de - l'installation de Shorewall). + - Parallèlement à la description, je vous suggère de jeter un oeil à - ceux physiquement présents sur votre système -- chacun des fichiers + Les fichiers de configuration pour Shorewall sont situés dans le + répertoire /etc/shorewall -- pour de simples paramétrages, vous n'avez à + faire qu'avec quelques un d'entre eux comme décris dans ce guide. + Après avoir installé Shorewall, + téléchargez l'exemple + three-interface, décompressez le (tar + + two-interfaces.tgz) et copiez les + fichiers dans /etc/shorewall + (ces fichiers remplaceront les + initiaux). + Parallèlement à la présentation, je vous suggère de jeter un oeil + à ceux physiquement présents sur votre système -- chacun des fichiers contient des instructions de configuration détaillées et des entrées par défaut. - Shorewall voit le réseau où il tourne comme composé par un ensemble - de zones. Dans les fichiers de configuration fournis pour trois - interfaces, trois zones sont définies : + Shorewall voit le réseau où il fonctionne, comme un ensemble de + zones. Dans une configuration avec trois interfaces, les noms des zones + suivantes sont utilisés: - - Zones - - - + + + - ZONE + Name - Description + Description + + net - Internet + The Internet loc - Votre réseau local + Your Local Network dmz - Zone Demilitarisée + Demilitarized Zone -
+ - Les zones de Shorewall sont définies dans /etc/shorewall/zones. + Les zones de Shorewall sont définies dans le fichier /etc/shorewall/zones. Shorewall reconnaît aussi le système de firewall comme sa propre - zone - par défaut, le firewall est connu comme fw. Les règles à propos de - quel trafic autoriser, et de quel trafic interdire sont exprimées en terme - de zones. + zone - par défaut, le firewall est connu comme fw.
+ + Les règles à propos du trafic à autoriser et à interdire sont + exprimées en terme de zones. Vous exprimez votre politique par défaut pour les connexions - d'une zone vers une autre zone dans le fichier /etc/shorewall/policy . + d'une zone vers une autre zone dans le fichier /etc/shorewall/policy. Vous définissez les exceptions à ces politiques pas défaut dans - le fichier /etc/shorewall/rules. + le fichier /etc/shorewall/rules. - Pour chacune des demandes de connexion entrantes dans le firewall, - les demandes sont en premier lieu comparées par rapport au fichier - /etc/shorewall/rules. Si aucune des règles dans ce fichier ne - correspondent, alors la première politique dans /etc/shorewall/policy qui - y correspond est appliquée. Si cette politique est REJECT ou DROP la - requête est alors comparée par rapport aux règles contenues dans - /etc/shorewall/common (l'archive d'exemple vous fournit ce - fichier). + Pour chaque connexion demandant à entrer dans le firewall, la + requête est en premier lieu comparée par rapport au fichier /etc/shorewall/rules. Si + aucune règle dans ce fichier ne correspond à la demande de connexion alors + la première politique dans le fichier /etc/shorewall/policy + qui y correspond sera appliquée. Si cette politique est + REJECT ou DROP la requête est dans + un premier temps comparée par rapport aux règles contenues dans le fichier + /etc/shorewall/common, + si ce fichier existe; sinon les régles dans le fichier /etc/shorewall/common.def + sont vérifiées. - Le fichier /etc/shorewall/policy d'exemple contenu dans - l'archive three-interface sample a les politiques suivantes : + Le fichier /etc/shorewall/policy inclus dans l'archive d'exemple + (three-interface) contient les politiques suivantes: - - /etc/shorewall/policy + #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST +loc net ACCEPT +net all DROP info +all all REJECT info - - - - SOURCE ZONE + + Dans le fichier d'exemple (three-interface), la ligne suivante est + incluse mais elle est commentée. Si vous voulez que votre firewall + puisse avoir un accès complet aux serveurs sur Internet, décommentez la + ligne. - DESTINATION ZONE + #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST +fw net ACCEPT + - POLICY + Les politiques précédentes vont: + + Permettre toutes demandes de connexion depuis votre réseau + local vers Internet + - LOG LEVEL + + Drop (ignorer) toutes les demandes de connexion depuis + l'Internet vers votre firewall ou votre réseau local + - LIMIT:BURST - + + Accept (accepter) facultativement toutes les demandes de + connexion de votre firewall vers l'Internet (si vous avez décommenté + la politique additionnelle) + - - fw + + Reject (rejeter) toutes les autres requêtes de + connexion. + + - net + - ACCEPT - - - - - - - - net - - all - - DROP - - info - - - - - - all - - all - - REJECT - - info - - - - - -
- - Dans l'archive three-interface, la ligne suivante est existante - mais elle est commentée. Si vous souhaitez que votre système de firewall - puisse avoir un accès complet aux serveurs sur Internet, décommentez la. - - - /etc/shorewall/policy - - - - - SOURCE ZONE - - DESTINATION ZONE - - POLICY - - LOG LEVEL - - LIMIT:BURST - - - - fw - - net - - accept - - - - - - - -
- - Ces politiques vont : - - - - permettre toutes demandes de connexion depuis le firewall vers - l'Internet - - - - drop (ignorer) toutes les demandes de connexion depuis - l'Internet vers votre firewall - - - - Facultativement accepter toutes les demandes de connexion de - votre firewall vers l'Internet (si vous avez dé commenté la - politique additionnelle) - - - - rejeter toutes les autres requêtes de connexion (Shorewall à - besoin de cette politique). - - - - A ce point, éditez - votre /etc/shorewall/policy et faites y les changements que vous désirez. + Maintenant, editez votre propre fichier /etc/shorewall/policy + et apportez les modifications et ajouter ce que vous voulez.
Les Interfaces Réseau - +
+ DMZ + + + + + + +
Le firewall a trois interfaces de réseau. Lorsque la connexion Internet passe par le câble ou par un ROUTEUR (pas un simple modem) ADSL - (non USB), l'interface vers l'extérieur (External Interface) sera - l'adaptateur sur lequel est connecté le routeur (e.g., eth0) à moins - que vous ne vous connectiez par Point-to-PointProtocol overEthernet - (PPPoE) ou par Point-to-PointTunneling Protocol (PPTP), dans ce cas - l'interface extérieure sera une interface de type ppp (e.g., ppp0). Si - vous vous connectez par un simple modem (RTC), votre interface extérieure - sera aussi ppp0. Si votre connexion passe par Numéris (ISDN), votre - interface extérieure sera ippp0. + (non USB) Modem, l'interface vers l'extérieur (External + Interface) sera l'adaptateur sur lequel est connecté le routeur + Modem (e.g., eth0) + à moins que vous ne vous connectiez par Point-to-Point + Protocol over Ethernet (PPPoE) ou par Point-to-Point + Tunneling Protocol (PPTP),dans ce cas l'interface extérieure + sera une interface de type ppp (e.g., ppp0). Si vous vous connectez par un simple + modem (RTC), votre interface extérieure sera aussi ppp0. Si votre + connexion passe par Numéris (ISDN), votre interface extérieure sera + ippp0. - Si votre interface - vers l'extérieur est ppp0 ou ippp0 alors vous mettrez CLAMPMSS=yes - dans /etc/shorewall/shorewall.conf. + - Votre Interface locale sera un adaptateur - Ethernet (eth0, eth1 - ou eth2) et sera connecté à un hub ou un + Si votre interface vers l'extérieur est ppp0 ou ippp0 alors vous mettrez CLAMPMSS=yes dans + le fichier /etc/shorewall/shorewall.conf. + + Votre Interface locale sera un adaptateur + Ethernet (eth0, eth1 or eth2) et sera connecté à un hub ou un switch. Vos ordinateurs locaux seront connectés à ce même switch (note : - si vous n'avez qu'un seul ordinateur en local, vous pouvez le - connecter directement au firewall par un câble croisé). + si vous n'avez qu'un seul ordinateur en local, vous pouvez le connecter + directement au firewall par un câble croisé). Votre interface DMZ sera aussi un adaptateur - Ethernet (eth0, eth1 - ou eth2) et sera connecté à un hub ou un + Ethernet (eth0, eth1 or eth2) et sera connecté à un hub ou un switch. Vos ordinateurs appartenant à la DMZ seront connectés à ce même - switch (note : si vous n'avez qu'un seul ordinateur dans la DMZ, - vous pouvez le connecter directement au firewall par un câble croisé). + switch (note : si vous n'avez qu'un seul ordinateur dans la DMZ, vous + pouvez le connecter directement au firewall par un câble croisé). - Ne connectez pas l'interface interne et externe sur le même - hub ou switch (même pour tester). Cela ne fonctionnera pas et ne croyez - pas que ce soit shorewall qui ne marche pas. + Ne connectez pas l'interface interne et externe sur le même hub ou + switch, sauf pour tester avec une version postérieure à Shorewall 1.4.7. + Quand vous utilisez ces versions récentes, vous pouvez tester ce type de + configuration si vous spécifiez l'option arp_filter dans le fichier + /etc/shorewall/interfaces + pour toutes les interfaces connectées au hub/switch commun. Utiliser une + telle configuration avec un firewall en production est fortement + déconseillé. - L'exemple de - configuration de Shorewall pour trois interfaces suppose que - l'interface externe est eth0, l'interface locale est eth1 et que - la DMZ est sur l'interface eth2. Si votre configuration diffère, vous - devrez modifier le fichier d'exemple /etc/shorewall/interfaces en - conséquence. Tant que vous y êtes, vous pourriez parcourir la liste des - options qui sont spécifiées pour les interfaces. Quelques trucs : + - - - Si votre interface vers l'extérieur est ppp0 ou ippp0, - vous pouvez remplacer le "detect" dans la seconde colonne par - un "-". - + L'exemple de configuration de Shorewall pour trois interfaces + suppose que l'interface externe est eth0, l'interface locale est eth1 et que la DMZ est sur l'interface + eth2. Si votre configuration + diffère, vous devrez modifier le fichier d'exemple + /etc/shorewall/interfaces en conséquence. Tant que + vous y êtes, vous pourriez parcourir la liste des options qui sont + spécifiées pour les interfaces. Quelques trucs : - - Si votre interface vers l'extérieur est ppp0 ou ippp0 - ou si vous avez une adresse IP statique, vous pouvez enlever - "dhcp" dans la liste des options. - - + + Si votre interface vers l'extérieur est ppp0 ou ippp0, vous pouvez remplacer le + detect dans la seconde colonne par un + - (sans les quotes). + + + + Si votre interface vers l'extérieur est ppp0 or ippp0 u si vous avez une adresse + IP statique, vous pouvez enlever + dhcp dans la liste des options . + + + + Si votre interface est un bridge utilisant l'utilitaire + brctl alors vous devez ajouter l'option + routeback à la liste des options. + + + + Si vous spécifiez norfc1918 pour votre + interface externe, vous pouvez vérifier périodiquement le Shorewall Errata pour mettre à jour le fichier + /usr/share/shorewall/rfc1918. Sinon, vous pouvez + copier le fichier /usr/share/shorewall/rfc1918 vers + /etc/shorewall/rfc1918 et adapter votre fichier + /etc/shorewall/rfc1918 comme je le + fais. +
Adresses IP - Avant d'aller plus loin, nous devons dire quelques mots au sujet - du Protocole d'adresse Internet (IP). Normalement, votre fournisseur - Internet (ISP) vous assignera une seule adresse IP (single Public IP - address). Cette adresse peut être assignée par le Dynamic Host - Configuration Protocol (DHCP) ou lors de l'établissement de votre - connexion lorsque vous vous connectez (modem standard) ou établissez votre - connexion PPP. Dans de rares cas , votre provider peu vous assigner une - adresse statique (staticIP address); cela signifie que vous configurez - votre interface externe sur votre firewall afin d'utiliser cette - adresse de manière permanente. Une fois votre adresse externe assignée, - elle va être partagée par tout vos systèmes lors de l'accès à - Internet. Vous devrez assigner vos propres adresses à votre réseau local - (votre interface interne sur le firewall ainsi que les autres - ordinateurs). La RFC 1918 réserve plusieurs plages d'IP (Private IP - address ranges) à cette fin : + Avant d'aller plus loin, nous devons dire quelques mots au sujet des + adresses Internet Protocol (IP). Normalement, votre + fournisseur Internet ISP vous assignera une seule + adresse IP. Cette adresse peut être assignée par le Dynamic Host + Configuration Protocol (DHCP) ou lors de + l'établissement de votre connexion lorsque vous vous connectez (modem + standard) ou établissez votre connexion PPP. Dans de + rares cas , votre provider peut vous assigner une adresse statique + IP ; cela signifie que vous devez configurer + l'interface externe de votre firewall afin d'utiliser cette adresse de + manière permanente. Votre adresse externe assignée, elle va être partagée + par tous vos systèmes lors de l'accès à Internet. Vous devrez assigner vos + propres adresses dans votre réseau local (votre interface interne sur le + firewall ainsi que les autres ordinateurs). La RFC + 1918 réserve plusieurs plages d'adresses privées + Private IP à cet fin: - 10.0.0.0 - 10.255.255.255 - 172.16.0.0 - 172.31.255.255 - 192.168.0.0 - 192.168.255.255 + 10.0.0.0 - 10.255.255.255 +172.16.0.0 - 172.31.255.255 +192.168.0.0 - 192.168.255.255 - Avant de lancer - Shorewall, vous devriez regarder l'adresse de votre interface externe - et si elle est comprise dans une des plages précédentes, vous devriez - enlever l'option 'norfc1918' dans le fichier - /etc/shorewall/interfaces. + - Vous devrez assigner les adresses locales à un sous-réseau - (sub-network ou subnet) et les adresse pour la DMZ à un autre sous-réseau. - Pour ce faire, nous pouvons considérer qu'un sous-réseau consiste en - une plage d'adresse x.y.z.0 à x.y.z.255. Chacun des sous-réseaux - possèdera une masque (Subnet Mask) de 255.255.255.0. L'adresse x.y.z.0 - est réservée comme l'adresse du sous-réseau (Subnet Address) et - x.y.z.255 est réservée en tant qu'adresse de broadcast du sous-réseau - (Subnet Broadcast Address). Sous Shorewall, un sous-réseau est - décrit/désigné en utilisant la - notation Classless InterDomain Routing (CIDR) qui consiste en - l'adresse du sous-réseau suivie par "/24". Le "24" se - réfère au nombre de bits "1" consécutifs dans la partie gauche du - masque de sous-réseau. + Avant de lancer Shorewall, regarder l'adresse IP de votre interface + externe, et si elle est dans les plages précédentes, vous devez enlever + l'option 'norfc1918' dans la ligne concernant l'interface externe dans le + fichier /etc/shorewall/interfaces. + + Vous devrez assigner vos adresses depuis le même sous-réseau + (sub-network-subnet). Pour ce faire, nous pouvons considérer un + sous-réseau dans une plage d'adresses x.y.z.0 - + x.y.z.255. Chaque sous-réseau aura un masque (Subnet Mask) + 255.255.255.0. L'adresse + x.y.z.0 est réservée comme l'adresse de sous-réseau + Subnet Address et x.y.z.255 est + réservée en tant qu'adresse de broadcast Subnet Broadcast + Address. Dans Shorewall, un sous-réseau est décrit en utilisant + Classless InterDomain + Routing (CIDR) notation Il consiste en l'adresse du sous-réseau + suivie par/24. Le 24 se réfère au nombre + consécutif de bits marquant 1 dans la partie gauche du + masque de sous-réseau. Un exemple de sous-réseau (sub-network) : + + - Plage: + Range: - 10.10.10.0 - 10.10.10.255 + 10.10.10.0 - + 10.10.10.255 - Subnet Address: + Subnet Address: - 10.10.10.0 + 10.10.10.0 - Broadcast Address: + Broadcast Address: - 10.10.10.255 + 10.10.10.255 - CIDR Notation: + CIDR Notation: - 10.10.10.0/24 + 10.10.10.0/24
- Il est de convention d'assigner à l'interface interne la - première adresse utilisable dans le sous-réseau (10.10.10.1 dans - l'exemple précédent) ou la dernière utilisable (10.10.10.254). - L'un des buts d'un sous-réseau est de permettre à tous les + Il est de mise d'assigner l'interface interne à la première adresse + utilisable du sous-réseau (10.10.10.1 dans l'exemple précédent) ou la + dernière adresse utilisable (10.10.10.254). + + L'un des buts d'un sous-réseau est de permettre à tous les ordinateurs dans le sous-réseau de savoir avec quels autres ordinateurs ils peuvent communiquer directement. Pour communiquer avec des systèmes en dehors du sous-réseau, les ordinateurs envoient des paquets à travers le gateway (routeur). - Vos ordinateurs - locaux (ordinateur local 1 et 2) devraient être configurés avec leur - passerelle par défaut (default gateway)pointant sur l'adresse IP de - l'interface interne du firewall, et les ordinateurs de la DMZ - devraient être configurés avec leur passerelle par défaut (default - gateway) pointant sur l'adresse IP de l'interface DMZ du firewall. + - Cette courte description ne fait que survoler les concepts de - routage et de sous-réseau. Si vous vous voulez en apprendre plus sur - l'adressage IP et le routage, je vous recommande chaudement "IP - Fundamentals: What Everyone Needs to Know about Addressing & - Routing", Thomas A. Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0. + Vos ordinateurs en local (ordinateur 1 et ordinateur 2 dans le + diagramme) devraient être configurés avec leur passerelle par défaut + (default gateway) pointant sur l'adresse IP de + l'interface interne du firewall. - Pour rappel, ce guide supposera que vous avez configuré votre réseau - comme montrer ci-dessous : + La présentation précédente ne fait que d'effleurer la question des + sous réseaux et du routage. Si vous êtes intéressé pour apprendre plus sur + l'adressage IP et le routage, je recommande IP + Fundamentals: What Everyone Needs to Know about Addressing & + Routing, Thomas A. Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0 + (link). - + Le reste de ce guide assumera que vous avez configuré votre réseau + comme montré ci-dessous : + +
+ DMZ + + +
La passerelle par défaut (default gateway) pour les ordinateurs de - la DMZ sera 10.10.11.254 et le passerelle par défaut pour les ordinateurs - en local sera 10.10.10.254. + la DMZ sera 10.10.11.254 et le + passerelle par défaut pour les ordinateurs en local sera 10.10.10.254
+ + + Votre FAI (fournisseur d'accés) pourrait + assigner une adresse RFC 1918 à votre + interface externe. Si cette adresse est le sous-réseau 10.10.10.0/24 alors vous aurez besoin + d'un sous-réseau DIFFERENT RFC 1918 pour votre réseau local. +
@@ -504,70 +581,88 @@ Les adresses réservées par la RFC 1918 sont parfois désignées comme non-routables car les routeurs Internet (backbone) ne font pas circuler les paquets qui ont une adresse de destination appartenant à la RFC-1918. - Lorsqu'un de vos systèmes en local (supposons l'ordinateur1) - demande une connexion à un serveur par Internet, le firewall doit - appliquer un NAT (Network Address Translation). Le firewall ré écrit - l'adresse source dans le paquet, et l'a remplace par l'adresse - de l'interface externe du firewall; en d'autres mots, le firewall - fait croire que c'est lui même qui initie la connexion. Ceci est - nécessaire afin que l'hôte de destination soit capable de renvoyer les + Lorsqu'un de vos systèmes en local (supposons l'ordinateur1) demande une + connexion à un serveur par Internet, le firewall doit appliquer un + Network Address Translation (NAT). + Le firewall réécrit l'adresse source dans le paquet, et l'a remplacé par + l'adresse de l'interface externe du firewall; en d'autres mots, le + firewall fait croire que c'est lui même qui initie la connexion. Ceci est + nécessaire afin que l'hôte de destination soit capable de renvoyer les paquets au firewall (souvenez vous que les paquets qui ont pour adresse de destination, une adresse réservée par la RFC 1918 ne pourront pas être - routés à travers Internet, donc l'hôte Internet ne pourra adresser sa - réponse à l'ordinateur 1). Lorsque le firewall reçoit le paquet de - réponse, il remet l'adresse de destination à 10.10.10.1 et fait passer - le paquet vers l'ordinateur 1. + routés à travers Internet, donc l'hôte Internet ne pourra adresser sa + réponse à l'ordinateur 1). Lorsque le firewall reçoit le paquet de + réponse, il remet l'adresse de destination à 10.10.10.1 et fait passer le paquet vers + l'ordinateur 1. - Sur les systèmes Linux, ce procédé est souvent appelé de l'IP - Masquerading mais vous verrez aussi le terme de Source Network Address - Translation (SNAT) utilisé. Shorewall suit la convention utilisée avec - Netfilter : + Sur les systèmes Linux, ce procédé est souvent appelé IP + Masquerading mais vous verrez aussi le terme de + Source Network Address Translation + (SNAT). Shorewall suit la convention utilisée avec + Netfilter: + + Masquerade désigne le cas ou vous laissez + votre firewall détecter automatiquement l'adresse de l'interface + externe. + - - - Masquerade désigne le cas ou vous laissez - votre firewall détecter automatiquement l'adresse de - l'interface externe. - + + SNAT désigne le cas où + vous spécifiez explicitement l'adresse source des paquets sortant de + votre réseau local. + + Sous Shorewall, autant le + Masquerading et le + SNAT sont configuré avec des + entrés dans le fichier /etc/shorewall/masq. + Vous utiliserez normalement le Masquerading si votre adresse + IP externe i est dynamique, et SNAT + si l'adresse IP est statique. - - SNAT désigne le cas où vous spécifiez - explicitement l'adresse source des paquets sortant de votre réseau - local. - - + - Sous Shorewall, autant le Masquerading que le SNAT sont configuré - avec des entrés dans le fichier /etc/shorewall/masq. + Si votre interface externe est eth0, votre interface locale eth1 et votre interface pour la DMZ + eth2 vous n'avez pas besoin de + modifier le fichier fourni avec l'exemple. Dans le cas contraire, éditez + /etc/shorewall/masq et + changez le en conséquence. - Si votre interface - externe est eth0, votre interface locale - eth1 et votre interface pour la DMZ - eth2 vous n'avez pas besoin de - modifier le fichier fourni avec l'exemple. Dans le cas contraire, - éditez /etc/shorewall/masq et changez le en conséquence. + Si, malgré les avertissements, vous utilisez ce guide pour un + utilisation de one-to-one NAT ou de Proxy ARP pour votre DMZ, enlever + l'entrée pour eth2 de + /etc/shorewall/masq. - Si votre IP externe - est statique, vous pouvez la mettre dans la troisième colonne dans - /etc/shorewall/masq si vous le désirez, de toutes façons votre firewall - fonctionnera bien si vous laissez cette colonne vide. Le fait de mettre - votre IP statique dans la troisième colonne permet un traitement des - paquets sortant un peu plus efficace. + - Si vous utilisez les - paquets Debian, vérifiez que votre fichier de configuration shorewall.conf - contient bien les valeurs suivantes, si elles n'y sont pas faite les - changements nécessaires: + Si votre IP externe est statique, vous pouvez la mettre dans la + troisième colonne dans /etc/shorewall/masq si + vous le désirez, de toutes façons votre firewall fonctionnera bien si vous + laissez cette colonne vide. Le fait de mettre votre IP statique dans la + troisième colonne permet un traitement des paquets sortant un peu plus + efficace. - - - NAT_ENABLED=Yes - + - - IP_FORWARDING=On - - + Si vous utilisez les paquets Debian, vérifiez que votre fichier de + configuration shorewall.conf contient bien les + valeurs suivantes, si elles n'y sont pas faite les changements + nécessaires: + + NAT_ENABLED=Yes (Shorewall versions earlier + than 1.4.6) + + + + IP_FORWARDING=On + +
@@ -575,836 +670,383 @@ Un de nos buts est de, peut être, faire tourner un ou plusieurs serveurs sur nos ordinateurs dans la DMZ. que ces ordinateurs on une - adresse RFC-1918, il n'est pas possible pour les clients sur Internet - de se connecter directement à eux. Il est nécessaire à ces clients - d'adresser leurs demandes de connexion au firewall qui ré écrit - l'adresse de destination de votre serveur, et fait passer le paquet à - celui-ci. Lorsque votre serveur répond, le firewall applique - automatiquement un SNAT pour ré écrire l'adresse source dans la - réponse. Ce procédé est appelé Port Forwarding ou Destination Network - Address Translation(DNAT). Vous configurez le port forwarding en utilisant - les règles DNAT dans le fichier /etc/shorewall/rules. La forme générale - d'une simple règle de port forwarding dans /etc/shorewall/rules est : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - DNAT - - net - - dmz:<server local ip address> - [:<server port>] - - <protocol> - - <port> - - - - - - - -
- - Si vous ne spécifiez pas le <server port>, il est supposé - être le même que <port>. - - Exemple - vous faites tourner un serveur Web dans votre DMZ (2) et - vous voulez faire passer les paquets entrant en TCP sur le port 80 à ce - système : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - DNAT - - net - - dmz:10.10.11.2 - - tcp - - 80 - - - - - - - - ACCEPT - - loc - - dmz:10.10.11.2 - - tcp - - 80 - - - - - - - -
- - Deux points importants à garder en mémoire : - - - - Lorsque vous vous connectez à votre serveur à partir de votre - réseau local, vous devez utiliser l'adresse IP interne du serveur - (10.10.11.2). - - - - Quelques fournisseurs Internet (Provider/ISP) bloquent les - requêtes de connexion entrantes sur le port 80. Si vous avez des - problèmes pour vous connecter à votre serveur web, essayez la règle - suivante et connectez vous sur le port 5000 (c.a.d., connectez vous à - http://w.x.y.z:5000 où w.x.y.z est votre IP externe). - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - DNAT - - net - - dmz:10.10.11.2:80 - - tcp - - 5000 - - - - - - - -
-
-
- - Si vous voulez avoir la possibilité de vous connecter à votre - serveur depuis le réseau local en utilisant votre adresse externe, et si - vous avez une adresse IP externe statique (fixe), vous pouvez remplacer la - règle loc->dmz précédente par : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - DNAT - - net - - dmz:10.10.11.2:80 - - tcp - - 5000 - - - - - <external IP> - - - -
- - Si vous avez une IP dynamique, alors vous devez vous assurer que - votre interface externe est en route avant de lancer Shorewall et vous - devez suivre les étapes suivantes (en supposant que votre interface - externe est eth0) : - - - - Insérez ce qui suit dans /etc/shorewall/params : - - ETH0_IP=`find_interface_address eth0` - - - - Faites votre règle loc->dmz : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - DNAT - - net - - dmz:10.10.11.2:80 - - tcp - - 5000 - - - - - $ETH0_IP - - - -
-
-
- - Si vous voulez accéder à votre serveur dans la DMZ en utilisant - votre adresse IP externe, regardez FAQ 2a. - - A ce point, ajoutez - les règles DNAT et ACCEPT pour vos serveurs. + adresse RFC-1918, il n'est pas possible pour les clients sur Internet de + se connecter directement à eux. Il est nécessaire à ces clients d'adresser + leurs demandes de connexion au firewall qui ré écrit l'adresse de + destination de votre serveur, et fait passer le paquet à celui-ci. Lorsque + votre serveur répond, le firewall applique automatiquement un SNAT pour + réécrire l'adresse source dans la réponse. + + Ce procédé est appelé Port Forwarding ou + Destination Network Address Translation (DNAT). Vous + configurez le port forwarding en utilisant les règles DNAT dans le fichier + /etc/shorewall/rules + file. + + La forme générale d'une simple règle de port forwarding dans + /etc/shorewall/rules + est: #ACTION SOURCE DEST PROTO DEST PORT(S) +DNAT net dmz:<server local IP address>[:<server port>] <protocol> <port> + Si vous ne spécifiez pas le <server + port>, il est supposé être le même que + <port>. + + + Vous faites tourner un serveur Web dans votre DMZ (2) et vous + voulez faire passer les paquets entrant en TCP sur le port 80 à ce + système + + #ACTION SOURCE DEST PROTO DEST PORT(S) +DNAT net dmz:10.10.11.2 tcp 80 +ACCEPT loc dmz:10.10.11.2 tcp 80 + + L'entrée 1 forward le port 80 depuis Internet. + + + + L'entrée 2 autorise les connexions du réseau local. + + Deux points importants à garder en mémoire + : + + Lorsque vous vous connectez à votre serveur à partir de + votre réseau local, vous devez utiliser l'adresse IP interne du + serveur (10.10.11.2). + + + + Quelques fournisseurs Internet (Provider/ISP) bloquent les + requêtes de connexion entrantes sur le port 80. Si vous avez des + problèmes pour vous connecter à votre serveur web, essayez la + règle suivante et connectez vous sur le port 5000 (c.a.d., + connectez vous à http://w.x.y.z:5000 ou w.x.y.z + est votre IP externe).#ACTION SOURCE DEST PROTO DEST PORT(S) SOURCE +# PORT(S) +DNAT net dmz:10.10.11.2:80 tcp 80 5000 + + + + Si vous voulez avoir la possibilité de vous connecter à + votre serveur depuis le réseau local en utilisant votre adresse + externe, et si vous avez une adresse IP externe statique (fixe), + vous pouvez remplacer la règle loc->dmz précédente par + :#ACTION SOURCE DEST PROTO DEST PORT(S) SOURCE ORIGINAL +# PORT(S) DEST +DNAT loc dmz:10.10.11.2 tcp 80 - <external IP>Si + vous avez une IP dynamique, alors vous devez vous assurer que + votre interface externe est en route avant de lancer Shorewall et + vous devez suivre les étapes suivantes (en supposant que votre + interface externe est eth0): + + Insérez ce qui suit dans /etc/shorewall/params: + + ETH0_IP=$(find_interface_address + eth0) + + + + Faites votre règle loc->dmz + rule: #ACTION SOURCE DEST PROTO DEST PORT(S) SOURCE ORIGINAL +# PORT(S) DEST +DNAT loc dmz:10.10.11.2 tcp 80 - $ETH0_IP + + + + + + Si vous voulez accéder à votre serveur dans la DMZ en + utilisant votre adresse IP externe, regardez FAQ 2a. + + + + + + + A ce point, ajoutez les règles DNAT et ACCEPT pour vos + serveurs.
Domain Name Server (DNS) - Normalement, quand vous vous connectez à votre fournisseur (ISP), - une partie consiste à obtenir votre adresse IP, votre DNS pour le firewall - (Domain Name Service) est configuré automatiquement (c.a.d., le fichier - /etc/resolv.conf a été écrit). Il arrive que votre provider vous donne une - paire d'adresse IP pour les DNS (name servers) afin que vous - configuriez manuellement votre serveur de nom primaire et secondaire. La - manière dont le DNS est configuré sur votre firewall est de votre - responsabilité. Vous pouvez procéder d'une de ses deux façons : + Normalement, quand vous vous connectez à votre fournisseur + (FAI/ISP), une partie consiste à obtenir votre adresse IP, votre + Domain Name Service (DNS) pour le + firewall est configuré automatiquement (c.a.d.,le fichier /etc/resolv.conf sera + mis à jour). Il arrive que votre provider vous donne une paire d'adresse + IP pour les serveurs DNS afin que + vous configuriez manuellement votre serveur de nom primaire et secondaire. + La manière dont le DNS est configuré sur votre firewall + est de votre responsabilité. Vous pouvez procéder d'une de ses deux façons + : + + Vous pouvez configurer votre système interne pour utiliser les + noms de serveurs de votre provider. Si votre fournisseur vous donne + les adresses de leurs serveurs ou si ces adresses sont disponibles + sur leur site web, vous pouvez configurer votre système interne afin + de les utiliser. Si cette information n' est pas disponible, + regardez dans /etc/resolv.conf + sur votre firewall -- les noms des serveurs sont donnés dans + l'enregistrement "nameserver" dans ce fichier. + + + + Vous pouvez configurer un cache dns + Caching Name Server sur votre firewall. + Red Hat a un RPM pour + serveur dns de cache (le RPM à besoin aussi du + paquetage bind RPM) et pour + les utilisateurs de Bering, il y a dnscache.lrp. + Si vous adoptez cette approche, vous configurez votre système + interne pour utiliser le firewall lui même comme étant le seul + serveur de nom primaire. Vous pouvez utiliser l'adresse + IP interne du firewall (10.10.10.254 dans l'exemple + précédent) pour l'adresse de serveur de nom. Pour permettre à vos + systèmes locaux de discuter avec votre serveur cache de nom, vous + devez ouvrir le port 53 (à la fois UDP and + TCP) sur le firewall vers le réseau local; vous + ferez ceci en ajoutant les règles suivantes dans /etc/shorewall/rules. + + Si vous faites tourner le serveur de nom sur le firewall: + #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowDNS loc fw +AllowDNS dmz fw + + Dans la régle ci-dessus, AllowDNS est un + exemple d'action prédéfinie defined action. Shorewall + inclus un nombre d'actions prédéfinies et vous pouvez ajouter les vôtres. Pour voir les + actions comprises avec votre version de Shorewall, regardez dans le + fichier /etc/shorewall/actions.std. Le nom de celles + qui acceptent des connexions débutent par Allow. + + Vous n'êtes pas obligé d'utiliser des actions prédéfinies quand vous + ajoutez des régles dans le fichier + /etc/shorewall/rules; les régles générées par + Netfilter sont plus performantes sans actions prédéfinies. La régle vue + ci-dessus peut aussi être codé comme cela: + + #ACTION SOURCE DEST PROTO DEST PORT(S) +ACCEPT loc fw tcp 53 +ACCEPT loc fw udp 53 +ACCEPT dmz fw tcp 53 +ACCEPT dmz fw udp 53 + + Au cas ou Shorewall n'inclue pas d'actions définies qui vous + conviennent, vous pouvez les définir vous même ou coder directement les + régles. +
+ +
+ Autres Connexions + + Les fichiers exemples inclus dans l'archive (three-interface) + contiennent les règles suivantes :#ACTION SOURCE DEST PROTO DEST PORT(S) +AllowDNS fw net Ces règles autorisent l'accès + DNS à partir de votre firewall et peuvent être enlevées + si vous avez décommenté la ligne dans /etc/shorewall/policy + autorisant toutes les connexions depuis le firewall vers Internet. + + L'exemple inclus aussi: #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowSSH loc fw +AllowSSH loc dmz Ces régles autorisent un + serveur SSH sur votre firewall et chacun des systèmes + de votre DMZ et y autoriser la connexion à ceux-ci depuis votre réseau + local. + + Si vous désirez permettre d'autres connexions entre vos systèmes, la + syntaxe générale est:#ACTION SOURCE DEST PROTO DEST PORT(S) +<action> <source zone> <destination zone> + + La syntaxe générale lorsqu'on utilise pas des actions prédéfinies + est:#ACTION SOURCE DEST PROTO DEST PORT(S) +ACCEPT <source zone> <destination zone> <protocol> <port> + + + Vous souhaitez rendre publiquement accessible votre serveur DNS + sur le firewall + + En utiliser une action prédéfinie: + + #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowDNS net fw + + Sans action prédéfinie: + + #ACTION SOURCE DEST PROTO DEST PORT(S) +ACCEPT net fw tcp 53 +ACCEPT net fw udp 53 + + Ces deux régles viennent évidemment s'ajouter à celles listées + sous Vous pouvez configurer un cache + dns sur votre firewall. + + + Si vous ne savez pas quel port(s) et protocole(s) requièrent une + application particulière, vous pouvez regarder ici. + + + Je ne recommande pas d'autoriser telnet vers/de + l'Internet parce qu'il utilise du texte en clair (même pour le login!). + Si vous voulez un accés shell à votre firewall, utilisez + SSH: + + #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowSSH net fw + + + Les + utilisateurs de Bering pourront ajouter les deux régles suivantes pour + être compatible avec la configuration du firewall Jacques's + Shorewall.#ACTION SOURCE DEST PROTO DEST PORT(S) +ACCEPT loc fw udp 53 +ACCEPT net fw tcp 80 + + L'entrée 1 autorise l'utilisation du Cache DNS. + + + + L'entrée 2 autorise le weblet à + fonctionner. + + + + Maintenant, éditez votre fichier de configuration /etc/shorewall/rules + pour ajouter, modifier ou supprimer les autres connexions voulues. +
+ +
+ Quelques Points à Garder en Mémoire - Vous pouvez configurer votre système interne pour utiliser les - noms de serveurs de votre provider. Si votre fournisseur vous donne - les adresses de leurs serveurs ou si ces adresses sont disponibles sur - leur site web, vous pouvez configurer votre système interne afin de - les utiliser. Si cette information n'est pas disponible, regardez - dans /etc/resolv.conf sur votre firewall -- les noms des serveurs sont - donnés dans l'enregistrement "nameserver" dans ce fichier. + Vous ne pouvez tester votre firewall de + l'intérieur de votre réseau. Car les requêtes que vous + envoyez à votre adresse IP ne veux pas dire qu'elle seront associées à + votre interface externe ou la zone net. Tout trafic + généré par le réseau local sera traité par loc->fw. - Vous pouvez - installer/configurer un cache dns (Caching Name Server) sur votre - firewall ou dans la DMZ. Red Hat a un RPM pour mettre en cache un - serveur de nom (le RPM requis aussi le RPM 'bind') et pour les - utilisateurs de Bering, il y a dnscache.lrp. Si vous adoptez cette - approche, vous configurez votre système interne pour utiliser le - firewall lui même comme étant le seul serveur de nom primaire. Vous - pouvez utiliser l'adresse IP interne du firewall (10.10.10.254 - dans l'exemple) pour l'adresse de serveur de nom si vous - décidez de faire tourner le serveur de nom sur votre firewall. Pour - permettre à vos systèmes locaux de discuter avec votre serveur cache - de nom, vous devez ouvrir le port 53 (UDP ET  TCP) sur le - firewall vers le réseau local; vous ferez ceci en ajoutant les règles - suivantes dans /etc/shorewall/rules. - - Si vous faites tourner le serveur de nom sur le firewall : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - loc - - fw - - udp - - 53 - - - - - - - - ACCEPT - - loc - - fw - - tcp - - 53 - - - - - - - - ACCEPT - - dmz - - fw - - udp - - 53 - - - - - - - - ACCEPT - - dmz - - fw - - tcp - - 53 - - - - - - - -
- - Le serveur de nom tourne sur l'ordinateur 1 de la DMZ - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - loc - - dmz:10.10.11.1 - - udp - - 53 - - - - - - - - ACCEPT - - loc - - dmz:10.10.11.1 - - tcp - - 53 - - - - - - - - ACCEPT - - dmz - - dmz:10.10.11.1 - - udp - - 53 - - - - - - - - ACCEPT - - dmz - - dmz:10.10.11.1 - - tcp - - 53 - - - - - - - -
+ Les adresses IP sont des propriétés des + systèmes, pas des interfaces. C'est une erreur de croire + que votre firewall est capable de renvoyer des paquets simplement + parce que vous pouvez faire un ping sur l'adresse IP de toutes les + interfaces du firewall depuis le réseau local. La seul conclusion est + de conclure que le lien entre le réseau local et le firewall est + établi et que vous avez probablement la bonne adresse de la passerelle + sur votre système. +
+ + + Toutes les adresses IP configurées sur le + firewall sont dans la zone $FW (fw). Si 192.168.1.254 est + l'adresse IP de votre interface interne, alors vous pouvez écrire + $FW:192.168.1.254 dans + une régle mais vous ne devez pas écrire loc:192.168.1.254. C'est aussi un + non-sens d'ajouter 192.168.1.254 à la zone loc en utilisant une entrée dans + /etc/shorewall/hosts. + + + + Les paquets de retour (Reply) ne suivent + PAS automatiquement le chemin inverse de la requête + d'origine. Tous les paquets sont routés en se référant à la + table de routage respective de chaque hôte à chaque étape du trajet. + C'est commun chez ceux qui installent le firewall Shorewall en + parallèle à une passerelle existante et essayent d'utiliser DNAT dans + Shorewall sans changer la passerelle par défaut sur les systèmes + recevant le retour des requêtes. Les requêtes dont, à travers le + firewall Shorewall, l'adresse de destination IP est réécrite mais la + réponse va directement vers l'ancienne passerelle. + + + + Shorewall lui-même n'a aucune notion du + dedans et du dehors. Ces concepts dépendent de la façon + dont Shorewall est configuré.
- Autres connexions - - L'exemple pour trois interfaces contient les règles suivantes : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - fw - - net - - udp - - 53 - - - - - - - - ACCEPT - - fw - - net - - tcp - - 53 - - - - - - - -
- - Ces règles permettent l'accès DNS depuis votre firewall et - peuvent être enlevées si vous avez décommenté la ligne dans - /etc/shorewall/policy autorisant toutes les connexions depuis votre - firewall et vers Internet. - - L'exemple contient aussi : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - loc - - fw - - tcp - - 22 - - - - - - - - ACCEPT - - loc - - dmz - - tcp - - 22 - - - - - - - -
- - Cette règle permet de faire fonctionner une serveur SSH sur le - firewall et sur tous les systèmes de la DMZ et d'y autoriser la - connexion à partir de votre réseau local. - - Si vous désirez permettre d'autres connexions entre vos - systèmes, la forme générale est : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - <source zone> - - <destination zone> - - <protocol> - - <port> - - - - - - - -
- - Exemple - Vous voulez faire tourner un serveur Web sur votre - firewall : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - loc - - fw - - tcp - - 80 - - - - - - - - ACCEPT - - net - - fw - - tcp - - 80 - - - - - - - -
- - Ces deux règles seront, bien sur, ajoutées aux règles décrites dans - "Vous pouvez installer/configurer un cache dns (Caching Name Server) - sur votre firewall ou dans la DMZ". - - Si vous ne savez pas quel port ou protocole une application - particulière utilise, regardez ici. - - Important: Je ne vous recommande pas d'autoriser le telnet - depuis ou vers l'Internet car il utilise du texte en clair (même pour - le login et le mot de passe !). Si vous voulez avoir un accès au shell de - votre firewall depuis Internet, utilisez SSH : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - net - - fw - - tcp - - 22 - - - - - - - -
- - Et maintenant, - éditez /etc/shorewall/rules pour rajouter les autres connexions désirées. + Démarrer et Arrêter Votre Firewall + + + + La procédure d'installation + configure votre système pour lancer Shorewall au boot du système, mais au + début avec la version 1.3.9 de Shorewall le lancement est désactivé, + n'essayer pas de lancer Shorewall avec que la configuration soit finie. + Une fois que vous en aurez fini avec la configuration du firewall, vous + pouvez permettre le lancement de Shorewall en supprimant le fichier + /etc/shorewall/startup_disabled. + + Les utilisateurs des paquets .deb doivent éditer /etc/default/shorewall + and set startup=1. + Le firewall est activé en utilisant la commande + shorewall start et arrêté avec + shorewall stop. Lorsque le firewall est + stoppé, le routage est autorisé sur les hôtes qui possèdent une entrée + dans /etc/shorewall/routestopped. Un + firewall qui tourne peut être relancé en utilisant la commande + shorewall restart command. Si vous + voulez enlever toutes traces de Shorewall sur votre configuration de + Netfilter, utilisez shorewall + clear. + + + + Les exemples (three-interface) supposent que vous voulez permettre + le routage depuis ou vers eth1 (le + réseau local) et eth2 (DMZ) + lorsque Shorewall est stoppé. Si ces deux interfaces ne sont pas + connectées à votre réseau local et votre DMZ, ou si vous voulez permettre + un ensemble d'hôtes différents, modifiez /etc/shorewall/routestopped en + conséquence. + Si vous êtes connecté à votre firewall depuis Internet, + n'essayez pas une commande shorewall + stop tant que vous n'avez pas ajouté une entrée pour + votre adresse IP (celle à partir de laquelle vous + êtes connectée) dans /etc/shorewall/routestopped. + De la même manière, je ne vous recommande pas d'utiliser + shorewall restart; il est plus + intéressant de créer une configuration + alternative et de la tester en utilisant la commande + shorewall try. +
- Lancer et Arrêter son Firewall + Autres Lectures Recommandées - La procédure d'installation - configure votre système pour lancer Shorewall au boot du système, mais au - début avec la version 1.3.9 de Shorewall le lancement est désactivé, - n'essayer pas de lancer Shorewall avec que la configuration soit - finie. Une fois que vous en aurez fini avec la configuration du firewall, - vous pouvez permettre le lancement de Shorewall en supprimant le fichier - /etc/shorewall/startup_disabled. - - IMPORTANT: Les utilisateurs des paquets .deb - doivent éditer /etc/default/shorewall et mettre 'startup=1'. - - Le firewall est activé en utilisant la commande "shorewall - start" et arrêté avec "shorewall stop". Lorsque le firewall - est stoppé, le routage est autorisé sur les hôtes qui possèdent une entrée - dans /etc/shorewall/routestopped. - Un firewall qui tourne peut être relancé en utilisant la commande - "shorewall restart". Si vous voulez enlever toutes traces de - Shorewall sur votre configuration de Netfilter, utilisez "shorewall - clear". - - L'exemple pour - trois interfaces suppose que vous voulez permettre le routage depuis/vers - eth1 (votre réseau local) et eth2(DMZ) lorsque Shorewall est arrêté. Si ces deux - interfaces ne sont pas connectées à votre réseau local et votre DMZ, ou si - vous voulez permettre un ensemble d'hôtes différents, modifiez - /etc/shorewall/routestopped en conséquence. - - ATTENTION: Si vous êtes connecté à - votre firewall depuis Internet, n'essayez pas une commande - "shorewall stop" tant que vous n'avez pas ajouté une entrée - pour votre adresse IP (celle à partir de laquelle vous êtes connectée) - dans - /etc/shorewall/routestopped. De la même manière, je ne vous - recommande pas d'utiliser "shorewall restart"; il est plus - intéressant de créer une - configuration alternative et de la tester en utilisant la commande - "shorewall try". + Je vous recommande vivement de lire la page des Fonctionnalités Générales des + Fichiers de Configuration -- elle contient des trucs sur les + possibilités de Shorewall pour rendre aisé l'administration de votre + firewall Shorewall.
\ No newline at end of file diff --git a/Shorewall-docs2/two-interface.xml b/Shorewall-docs2/two-interface.xml index 7462aefed..d82768793 100644 --- a/Shorewall-docs2/two-interface.xml +++ b/Shorewall-docs2/two-interface.xml @@ -12,7 +12,7 @@ Eastep - 2003-04-03 + 2003-04-22 2002 @@ -184,11 +184,11 @@ class="directory">/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 - if that file exists; otherwise the rules in /etc/shorewall/common.def - are checked. + that matches the request is applied. If there is a comon action defined for the + policy in /etc/shorewall/actions or + /usr/share/shorewall/actions.std then that action is + peformed before the action is applied. The /etc/shorewall/policy file included with the two-interface sample has the following policies: diff --git a/Shorewall-docs2/two-interface_fr.xml b/Shorewall-docs2/two-interface_fr.xml index 20f01c945..1b7643ac7 100644 --- a/Shorewall-docs2/two-interface_fr.xml +++ b/Shorewall-docs2/two-interface_fr.xml @@ -1,9 +1,10 @@ -
+ +
- Basic Two-Interface Firewall + Firewall standard à deux interfaces @@ -11,12 +12,28 @@ Eastep + + + Patrice + + Vetsel + + + + Fabien + + Demassieux + 2003-12-30 - 2001-2003 + 2002 + + 2003 + + 2004 Thomas M. Eastep @@ -26,457 +43,492 @@ document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover - Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". + Texts. A copy of the license is included in the section entitled + GNU Free Documentation + License. - Notes du traducteur : Je ne - prétends pas être un vrai traducteur dans le sens ou mon travail n'est - pas des plus précis (loin de là...). Je ne me suis pas attaché à une - traduction exacte du texte, mais plutôt à en faire une version française - intelligible par tous (et par moi). Les termes techniques sont la plupart - du temps conservés sous leur forme originale et mis entre parenthèses car - vous pouvez les retrouver dans le reste des documentations ainsi que dans - les fichiers de configuration. N'hésitez pas à me contacter afin - d'améliorer ce document VETSEL - Patrice (merci à JMM pour sa relecture et ses commentaires - pertinents, ainsi qu'à Tom EASTEP pour son formidable outil et sa - disponibilité). + Notes du traducteur : Le guide + initial a été traduit par VETSEL Patrice que je + remercie. J'en ai assuré la révision pour l'adapter à la version 2 de + Shorewall. J'espère vous faciliter l'accès et la prise en main d'un + firewall performant, efficace, adaptable et facile d'utilisation. Donc + félicitations pour la qualité du travail et la disponibilité offerte par + Thomas M. Eastep. Si vous trouvez des erreurs ou des améliorations à + apporter vous pouvez me contacter Fabien Demassieux -
+
Introduction Mettre en place un système Linux en tant que firewall pour un petit réseau est une chose assez simple, si vous comprenez les bases et suivez - la documentation. Ce guide ne veut pas vous apprendre tous les rouages de - Shorewall. Il se focalise sur ce qui est nécessaire pour configurer - Shorewall, dans son utilisation la plus courante : + la documentation. - + Ce guide ne prétend pas vous apprendre tous les rouages de + Shorewall. Il se focalise sur ce qui est nécessaire pour configurer + Shorewall, dans son utilisation la plus courante: + + Un système Linux utilisé en tant que firewall/routeur pour un petit réseau local. - Une seule adresse IP publique. + Une seule adresse IP + publique. + Si vous avez plus d'une adresse IP, ce n'est pas le guide + qui vous convient -- regrdez plutôt du coté du Guide de Configuration + Shorewall. + - Une connexion Internet par le biais d'un modem câble, ADSL, - ISDN, "Frame Relay", RTC ... + Une connexion Internet par le biais d'un modem câble, ADSL, + ISDN, "Frame Relay", RTC ... - Voici un schéma d'une installation typique. + Voici un schéma d'une installation typique:
+ Configuration standard d'un firewall avec deux + interfaces - + + + + + +
+ Shorewall and <trademark>Mandrake</trademark> 9.0+ - Si vous faites tourner Shorewall sous Mandrake - 9.0 ou plus récent, vous pouvez facilement réaliser la configuration - ci-dessus en utilisant l'applet Mandrake "Internet Connection - Sharing". Depuis le "Mandrake Control Center", sélectionnez - "Network & Internet" et "Connection Sharing". Vous ne - devriez pas avoir besoin de vous référer à ce guide. + Si vous utilisez Mandrake 9.0 ou version + postérieure, vous pouvez facilement utiliser l'utilitaire + Mandrake Partage de Connexion + Internet. Dans le Centre de Contrôle + Mandrake, selectionner + Réseau & + Internet puis + Partage de Connexion. - Ce guide suppose que vous avez le paquet iproute/iproute2 - d'installé. Vous pouvez voir si le paquet est installé en vérifiant la - présence du programme ip sur votre système de firewall. Sous root, - utilisez la commande 'which' pour rechercher le programme : + Cependant, la configuration de Shorewall générée par le + Partage de Connexion Internet Mandrake est + étrange et peut rendre confus l'utilisation de la suite de cette + documentation (elle paramètre deux zones; loc and + masq ou loc est vide; Cela est + en conflit avec la documentation basée sur une unique zone + loc). Nous recommandons qu'une fois configuré ce + partage, de désinstaller le paquet RPM de Shorewall + Mandrake et d'installer celui de la page de + download avant de suivre + l'utilisation de ce Guide. + + Le problème précédent est résolu à partir + de la version 10.0 et supérieure de Mandrake. + + Si vous éditez vos fichiers de configuration sur un système + Windows, vous devez les sauver comme des + fichiers Unix si votre éditeur supporte cette + option sinon vous devez les convertir avec dos2unix + avant d'essayer de les utiliser. De la même manière, si vous copiez un + fichier de configuration depuis votre disque dur + Windows vers une disquette, vous devez lancer + dos2unix sur la copie avant de l'utiliser avec + Shorewall. + + Windows + Version of dos2unix + - [root@gateway root]# which ip - /sbin/ip - [root@gateway root]# - + + Linux + Version of dos2unix + + +
- Je vous recommande dans un premier temps de parcourir tout le guide - pour vous familiariser avec ce qu'il va se passer, et de revenir au - début en effectuant le changements dans votre configuration. Les points, - où les changements dans la configuration sont recommandées, sont signalés - par une +
+ Pré-requis - - Si vous éditez vos fichiers de configuration sur un système - Windows, vous devez les sauver comme des fichiers Unix si votre éditeur - supporte cette option sinon vous devez les faire passer par dos2unix - avant d'essayer de les utiliser. De la même manière, si vous copiez - un fichier de configuration depuis votre disque dur Windows vers une - disquette, vous devez lancer dos2unix sur la copie avant de - l'utiliser avec Shorewall. + Shorewall a besoin que le package + iproute/iproute2 soit installé + (avec la distribution RedHat, le package + s'appelle iproute). Vous pouvez vérifier si le + package est installé par la présence du programme ip + sur votre firewall. En tant que root, vous pouvez utiliser la commande + which pour cela: [root@gateway root]# which ip +/sbin/ip +[root@gateway root]#Je recommande en premier la lecture + complète du guide afin de se familiariser avec les tenants et + aboutissants puis de revenir sur les modifications de votre + configuration adapté à votre système. +
- - - Windows - Version of dos2unix - +
+ Conventions - - Linux - Version of dos2unix - - - + Les points ou les modifications s'imposent sont indiqués par + . + + Les notes de configuration qui sont propres à LEAF/Bering sont + marqués avec . +
+
+ +
+ PPTP/ADSL + + + + Si vous êtes équipé d'un modem ADSL et utilisez + PPTP pour communiquer avec un serveur à travers ce + modem, vous devez faire le changement suivant en plus de ceux ci-dessous. + ADSL avec PPTP est commun en Europe, + ainsi qu'en Australie.
Les Concepts de Shorewall - Les fichiers de - configuration pour Shorewall sont situés dans le répertoire /etc/shorewall - -- pour de simples paramétrages, vous n'avez à faire qu'avec - quelques un d'entre eux comme décris dans ce guide. Après avoir installé Shorewall, téléchargez - le - two-interface sample, un-tarez le (tar -zxvf two-interface.tgz) et - copiez les fichiers vers /etc/shorewall (Ils remplaceront les fichiers de - même nom déjà existant dans /etc/shorewall installés lors de - l'installation de Shorewall). + - Parallèlement à la description, je vous suggère de jeter un oeil à - ceux physiquement présents sur votre système -- chacun des fichiers + Les fichiers de configuration pour Shorewall sont situés dans le + répertoire /etc/shorewall -- pour de simples paramétrages, vous n'avez à + faire qu'avec quelques un d'entre eux comme décris dans ce guide. + Après avoir installé Shorewall, + téléchargez l'exemple + two-interface, décompressez le (tar + + two-interfaces.tgz) et copiez les + fichiers dans /etc/shorewall + (ces fichiers remplaceront les + initiaux). + Parallèlement à la présentation, je vous suggère de jeter un oeil + à ceux physiquement présents sur votre système -- chacun des fichiers contient des instructions de configuration détaillées et des entrées par défaut. - Shorewall voit le réseau où il tourne, comme un ensemble de zones. - Dans une configuration avec deux interfaces, les noms des zones suivantes - sont utilisés: + Shorewall voit le réseau où il fonctionne, comme un ensemble de + zones. Dans une configuration avec deux interfaces, les noms des zones + suivantes sont utilisés: + + + + Name - - Zones + Description + + - - - - Zone + + + net - Descriptions - + The Internet + - - net + + loc - Internet - - - - loc - - Votre réseau local - - - -
- - Les zones de Shorewall sont définies dans /etc/shorewall/zones. + Your Local Network +
+ +
+
Les zones de Shorewall sont définies dans le fichier + /etc/shorewall/zones.
Shorewall reconnaît aussi le système de firewall comme sa propre - zone - par défaut, le firewall est connu comme fw. Les règles à propos de - quel trafic autoriser, et de quel trafic interdire sont exprimées en terme - de zones. + zone - par défaut, le firewall est connu comme fw.
- - - Vous exprimez votre politique par défaut pour les connexions - d'une zone vers une autre zone dans le fichier /etc/shorewall/policy . - + Les règles à propos du trafic à autoriser et à interdire sont + exprimées en terme de zones. + + Vous exprimez votre politique par défaut pour les connexions + d'une zone vers une autre zone dans le fichier /etc/shorewall/policy. + - - Vous définissez les exceptions à ces politiques pas défaut dans - le fichier /etc/shorewall/rules. - - + + Vous définissez les exceptions à ces politiques pas défaut + dans le fichier /etc/shorewall/rules. + + Pour chaque connexion demandant à entrer dans le + firewall, la requête est en premier lieu comparée par rapport au fichier + /etc/shorewall/rules. Si + aucune règle dans ce fichier ne correspond à la demande de connexion alors + la première politique dans le fichier /etc/shorewall/policy + qui y correspond sera appliquée. Si cette politique est + REJECT ou DROP la requête est dans + un premier temps comparée par rapport aux règles contenues dans le fichier + /etc/shorewall/common, + si ce fichier existe; sinon les régles dans le fichier /etc/shorewall/common.def + sont vérifiées. - Pour chaque connexion demandant à entrer dans le firewall, la - requête est en premier lieu comparée par rapport au fichier - /etc/shorewall/rules. Si aucune règle dans ce fichier ne correspond à la - demande de connexion alors la première politique dans le fichier - /etc/shorewall/policy qui y correspond sera appliquée. Si cette politique - est REJECT ou DROP la requête est dans un premier temps comparée par - rapport aux règles contenues dans /etc/shorewall/common. Le fichier - /etc/shorewall/policy inclue dans l'archive d'exemple - (two-interface) a les politiques suivantes: + Le fichier /etc/shorewall/policy inclus dans l'archive d'exemple + (two-interface) contient les politiques suivantes: #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST +loc net ACCEPT +net all DROP info +all all REJECT infoDans le fichier + d'exemple (two-interface), la ligne suivante est incluse mais elle est + commentée. Si vous voulez que votre firewall puisse avoir un accès complet + aux serveurs sur Internet, décommentez la ligne.#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST +fw net ACCEPT Les politiques précédentes + vont: + + Permettre toutes demandes de connexion depuis votre réseau + local vers Internet + - - /etc/shorewall/policy + + Drop (ignorer) toutes les demandes de connexion depuis + l'Internet vers votre firewall ou votre réseau local + - - - - SOURCE ZONE + + Accept (accepter) facultativement toutes les demandes de + connexion de votre firewall vers l'Internet (si vous avez décommenté + la politique additionnelle) + - DESTINATION ZONE + + Reject (rejeter) toutes les autres requêtes de + connexion. + + - POLICY - - LOG LEVEL - - LIMIT:BURST - - - - fw - - net - - ACCEPT - - - - - - - - net - - all - - DROP - - info - - - - - - all - - all - - REJECT - - info - - - - - -
- - Dans le fichier d'exemple (two-interface), la ligne suivante est - inclue mais elle est commentée. Si vous voulez que votre firewall puisse - avoir un accès complet aux serveurs sur Internet, décommentez la ligne. - - - /etc/shorewall/policy - - - - - SOURCE ZONE - - DESTINATION ZONE - - POLICY - - LOG LEVEL - - LIMIT:BURST - - - - fw - - net - - accept - - - - - - - -
- - Ces politiques vont : - - - - permettre toutes demandes de connexion depuis le firewall vers - l'Internet - - - - drop (ignorer) toutes les demandes de connexion depuis - l'Internet vers votre firewall - - - - Facultativement accepter toutes les demandes de connexion de - votre firewall vers l'Internet (si vous avez dé commenté la - politique additionnelle) - - - - rejeter toutes les autres requêtes de connexion (Shorewall à - besoin de cette politique). - - - - A ce point, éditez - votre /etc/shorewall/policy et faites y les changements que vous désirez. + A ce point, éditez votre fichier /etc/shorewall/policy et + appliquer les changements que vous désirez.
- Network Interfaces + Interfaces Réseau - + + + + + Le firewall a deux interfaces réseau. Lorsque la connexion Internet - passe par un modem câble ou par un routeur ADSL (pas un simple modem), - l'External Interface (interface externe) sera l'adaptateur - ethernet (eth0) qui y est connecté à - moins que vous vous connectiez par Point-to-Point Protocol over Ethernet - (PPPoE) ou Point-to-Point TunnelingProtocol(PPTP) dans ce cas - l'interface externe sera ppp0. Si - vous vous connectez par un simple modem (RTC), votre interface externe - sera aussi ppp0. Si vous vous connectez - en utilisant l'ISDN (numéris), votre interface externe sera ippp0. + passe par un modem câble ou par un Routeur ADSL + (pas un simple modem), l'Interface Externe + sera l'adaptateur ethernet qui y est connecté à ce Modem + (e.g., eth0) à moins de se que + vous vous connectiez par Point-to-Point Protocol + over Ethernet (PPPoE) ou Point-to-Point + Tunneling Protocol (PPTP) dans ce cas + l'interface externe sera (e.g., ppp0). Si vous vous connectez par un simple + modem (RTC), votre interface externe sera aussi + ppp0. Si vous vous connectez en + utilisant l'ISDN, votre interface externe sera + ippp0. - Si votre interface vers l'extérieur est ppp0 - ou ippp0 alors vous mettrez CLAMPMSS=yes - dans /etc/shorewall/shorewall.conf. + - Votre Internal Interface (interface vers votre - réseau local -> LAN) sera un adaptateur Ethernet (eth1 ou eth0) et - sera connectée à un hub ou switch (ou un PC avec un câble croisé). Vos - autres ordinateurs seront connectés à ce même hub/switch. + Si votre interface vers l'extérieur est ppp0 ou ippp0 + alors vous mettrez CLAMPMSS=yes dans le fichier + /etc/shorewall/shorewall.conf. - - Ne connectez pas l'interface interne et externe sur le même - hub ou switch (même pour tester). Cela ne fonctionnera pas et ne croyez - pas que ce soit shorewall qui ne marche pas. - + Votre Interface Interne (interface vers votre + réseau local -> LAN) sera un adaptateur Ethernet (eth1 or eth0) et sera connectée à un hub ou switch + (câble droit). Vos autres ordinateurs seront connectés à ce même + hub/switch (note: Si vous avez un unique ordinateur, vous pouvez connecter + le firewall directement en utilisant un câble croisé). + Ne connectez pas l'interface interne et externe sur le même hub + ou switch, sauf pour tester avec une version postérieure à Shorewall + 1.4.7. Quand vous utilisez ces versions récentes, vous pouvez tester + ce type de configuration si vous spécifiez l'option arp_filter dans le + fichier /etc/shorewall/interfaces + pour toutes les interfaces connectées au hub/switch commun. Utiliser + une telle configuration avec un firewall en production est fortement + déconseillé. + - Le fichier de - configuration d'exemple pour deux interfaces suppose que votre - interface externe est eth0et que l'interne est eth1. Si votre - configuration est différente, vous devrez modifier le fichier - /etc/shorewall/interfaces en conséquence. Tant que vous y êtes, vous - pourriez parcourir la liste des options qui sont spécifiées pour les - interfaces. Quelques trucs: - - - - Si votre interface vers l'extérieur est ppp0 ou ippp0, - vous pouvez remplacer le "detect" dans la seconde colonne par - un "-". - - - - Si votre interface vers l'extérieur est ppp0 ou ippp0 - ou si vous avez une adresse IP statique, vous pouvez enlever - "dhcp" dans la liste des options. - - + Le fichier de configuration d'exemple pour deux interfaces suppose + que votre interface externe est eth0 et que l'interface interne est + eth1. Si votre configuration est + différente, vous devrez modifier le fichier + /etc/shorewall/interfaces en conséquence. + Tant que vous y êtes, vous pourriez parcourir la liste des options qui + sont spécifiées pour les interfaces. Quelques trucs: + Si votre interface vers l'extérieur est ppp0 ou ippp0, vous pouvez remplacer le detect + dans la seconde colonne par un - (sans les + quotes). + + Si votre interface vers l'extérieur est ppp0 or ippp0 u si vous avez une adresse + IP statique, vous pouvez enlever + dhcp dans la liste des options . + + Si votre interface est un bridge utilisant l'utilitaire + brctl alors vous devez ajouter l'option + routeback à la liste des options. + + Si vous spécifiez norfc1918 pour votre + interface externe, vous pouvez vérifier périodiquement le Shorewall Errata pour mettre à jour le + fichier /usr/share/shorewall/rfc1918. Sinon, vous + pouvez copier le fichier + /usr/share/shorewall/rfc1918 vers + /etc/shorewall/rfc1918 et adapter votre fichier + /etc/shorewall/rfc1918 comme je le + fais. +
Adresses IP - Avant d'aller plus loin, nous devons dire quelques mots au sujet - de Internet Protocol (IP) addresses. Normalement, votre fournisseur - Internet (ISP) vous assignera une seule adresse IP (single PublicIP - address). Cette adresse peut être assignée par le Dynamic Host - Configuration Protocol(DHCP) ou lors de l'établissement de votre - connexion lorsque vous vous connectez (modem standard) ou établissez votre - connexion PPP. Dans de rares cas , votre provider peut vous assigner une - adresse statique (staticIP address); cela signifie que vous devez - configurer l'interface externe de votre firewall afin d'utiliser - cette adresse de manière permanente. Votre adresse externe assignée, elle - va être partagée par tous vos systèmes lors de l'accès à Internet. - Vous devrez assigner vos propres adresses dans votre réseau local (votre - interface interne sur le firewall ainsi que les autres ordinateurs). La - RFC 1918 réserve plusieurs plages d'IP (PrivateIP address ranges) à - cette fin : + Avant d'aller plus loin, nous devons dire quelques mots au sujet des + adresses Internet Protocol (IP). Normalement, votre + fournisseur Internet FAI vous assignera une seule + adresse IP. Cette adresse peut être assignée par le Dynamic Host + Configuration Protocol (DHCP) ou lors de + l'établissement de votre connexion lorsque vous vous connectez (modem + standard) ou établissez votre connexion PPP. Dans de + rares cas , votre provider peut vous assigner une adresse statique + IP ; cela signifie que vous devez configurer + l'interface externe de votre firewall afin d'utiliser cette adresse de + manière permanente. Votre adresse externe assignée, elle va être partagée + par tous vos systèmes lors de l'accès à Internet. Vous devrez assigner vos + propres adresses dans votre réseau local (votre interface interne sur le + firewall ainsi que les autres ordinateurs). La RFC + 1918 réserve plusieurs plages d'adresses privées + Private IP à cet fin: + 10.0.0.0 - 10.255.255.255 +172.16.0.0 - 172.31.255.255 +192.168.0.0 - 192.168.255.255 - 10.0.0.0 - 10.255.255.255 - 172.16.0.0 - 172.31.255.255 - 192.168.0.0 - 192.168.255.255 + Avant de lancer Shorewall, regarder l'adresse IP de votre interface + externe, et si elle est dans les plages précédentes, vous devez enlever + l'option 'norfc1918' dans la ligne concernant l'interface externe dans le + fichier /etc/shorewall/interfaces. - Avant de lancer - Shorewall, vous devriez regarder l'adresse IP de votre interface - externe, et si elle est dans les plages précédentes, vous devriez enlever - l'option 'norfc1918' dans la ligne concernant l'interface - externe dans le fichier /etc/shorewall/interfaces. Vous devrez assigner - vos adresses depuis le même sous-réseau (sub-network/subnet). Pour ce - faire, nous pouvons considérer un sous-réseau dans une plage - d'adresses x.y.z.0 - x.y.z.255. Chaque sous-réseau aura un masque - (Subnet Mask) de 255.255.255.0. L'adresse x.y.z.0 est réservée comme - l'adresse de sous-réseau (Subnet Address) et x.y.z.255 est réservée en - tant qu'adresse de broadcast (Subnet Broadcast Address). Dans - Shorewall, un sous-réseau est décrit en utilisant la notation Classless InterDomain - Routing (CIDR) qui consiste en l'adresse du sous-réseau suivie - par "/24". Le "24" se réfère au nombre consécutif de bits - marquant "1" dans la partie gauche du masque de sous-réseau. + Vous devrez assigner vos adresses depuis le même sous-réseau + (sub-network-subnet). Pour ce faire, nous pouvons considérer un + sous-réseau dans une plage d'adresses x.y.z.0 - + x.y.z.255. Chaque sous-réseau aura un masque (Subnet Mask) + 255.255.255.0. L'adresse + x.y.z.0 est réservée comme l'adresse de sous-réseau + Subnet Address et x.y.z.255 est + réservée en tant qu'adresse de broadcast Subnet Broadcast + Address. Dans Shorewall, un sous-réseau est décrit en utilisant + Classless InterDomain + Routing (CIDR) notation Il consiste en l'adresse du sous-réseau + suivie par /24. Le 24 se réfère au + nombre consécutif de bits marquant 1 dans la partie gauche + du masque de sous-réseau. + Un exemple de sous-réseau (sub-network) : -
- Un exemple de sous-réseau (sub-network) : + + - - - - Plage: + + + Range: - 10.10.10.0 - 10.10.10.255 - + 10.10.10.0 - + 10.10.10.255 + - - Subnet Address: + + Subnet Address: - 10.10.10.0 - + 10.10.10.0 + - - Broadcast Address: + + Broadcast Address: - 10.10.10.255 - + 10.10.10.255 + - - CIDR Notation: + + CIDR Notation: - 10.10.10.0/24 - - - -
+ 10.10.10.0/24 + + + + Il est de mise d'assigner l'interface interne à la première + adresse utilisable du sous-réseau (10.10.10.1 dans l'exemple précédent) ou la + dernière adresse utilisable (10.10.10.254).
- Il est de mise d'assigner l'interface interne (LAN) à la - première adresse utilisable du sous-réseau (10.10.10.1 dans l'exemple - précédent) ou la dernière adresse utilisable (10.10.10.254). L'un des - buts d'un sous-réseau est de permettre à tous les ordinateurs dans le - sous-réseau de savoir avec quels autres ordinateurs ils peuvent - communiquer directement. Pour communiquer avec des systèmes en dehors du - sous-réseau, les ordinateurs envoient des paquets à travers le gateway - (routeur). + L'un des buts d'un sous-réseau est de permettre à tous les + ordinateurs dans le sous-réseau de savoir avec quels autres ordinateurs + ils peuvent communiquer directement. Pour communiquer avec des systèmes en + dehors du sous-réseau, les ordinateurs envoient des paquets à travers le + gateway (routeur). - Vos ordinateurs en - local (ordinateur 1 et ordinateur 2 dans le diagramme) devraient être - configurés avec leur passerelle par défaut (default gateway) pointant sur - l'adresse IP de l'interface interne du firewall. + - The foregoing short discussion barely scratches the surface - regarding subnetting and routing. If you are interested in learning more - about IP addressing and routing, I highly recommend "IP Fundamentals: - What Everyone Needs to Know about Addressing & Routing", Thomas A. - Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0. + Vos ordinateurs en local (ordinateur 1 et ordinateur 2 dans le + diagramme) doivent être configurés avec leur passerelle par défaut + (default gateway) pointant sur l'adresse IP de + l'interface interne du firewall. + + La présentation précédente ne fait que d'effleurer la question des + sous réseaux et du routage. Si vous êtes intéressé pour apprendre plus sur + l'adressage IP et le routage, je recommande IP + Fundamentals: What Everyone Needs to Know about Addressing & + Routing, Thomas A. Maufer, Prentice-Hall, 1999, ISBN 0-13-975483-0 + (link). Le reste de ce guide assumera que vous avez configuré votre réseau - comme montré ci-dessous : - - - - La passerelle par défaut pour les ordinateurs 1 et 2 devrait être - 10.10.10.254. + comme montré ci-dessous : + + + + La passerelle par défaut pour les ordinateurs 1 et 2 + devrait être 10.10.10.254. + + Votre FAI (fournisseur d'accés) pourrait + assigner une adresse RFC 1918 à votre + interface externe. Si cette adresse est le sous-réseau 10.10.10.0/24 alors vous aurez besoin + d'un sous-réseau DIFFERENT RFC 1918 pour votre réseau local. +
@@ -485,70 +537,80 @@ Les adresses réservées par la RFC 1918 sont parfois désignées comme non-routables car les routeurs Internet (backbone) ne font pas circuler les paquets qui ont une adresse de destination appartenant à la RFC-1918. - Lorsqu'un de vos systèmes en local (supposons l'ordinateur1) - demande une connexion à un serveur par Internet, le firewall doit - appliquer un NAT (Network Address Translation). Le firewall ré écrit - l'adresse source dans le paquet, et l'a remplace par l'adresse - de l'interface externe du firewall; en d'autres mots, le firewall - fait croire que c'est lui même qui initie la connexion. Ceci est - nécessaire afin que l'hôte de destination soit capable de renvoyer les + Lorsqu'un de vos systèmes en local (supposons l'ordinateur1) demande une + connexion à un serveur par Internet, le firewall doit appliquer un + Network Address Translation (NAT). + Le firewall réécrit l'adresse source dans le paquet, et l'a remplacé par + l'adresse de l'interface externe du firewall; en d'autres mots, le + firewall fait croire que c'est lui même qui initie la connexion. Ceci est + nécessaire afin que l'hôte de destination soit capable de renvoyer les paquets au firewall (souvenez vous que les paquets qui ont pour adresse de destination, une adresse réservée par la RFC 1918 ne pourront pas être - routés à travers Internet, donc l'hôte Internet ne pourra adresser sa - réponse à l'ordinateur 1). Lorsque le firewall reçoit le paquet de - réponse, il remet l'adresse de destination à 10.10.10.1 et fait passer - le paquet vers l'ordinateur 1. Sur les systèmes Linux, ce procédé est - souvent appelé de l'IP Masquerading mais vous verrez aussi le terme de - Source Network Address Translation (SNAT) utilisé. Shorewall suit la - convention utilisée avec Netfilter: + routés à travers Internet, donc l'hôte Internet ne pourra adresser sa + réponse à l'ordinateur 1). Lorsque le firewall reçoit le paquet de + réponse, il remet l'adresse de destination à 10.10.10.1 et fait passer le paquet vers + l'ordinateur 1. - - - Masquerade désigne le cas ou vous laissez - votre firewall détecter automatiquement l'adresse de - l'interface externe. - + Sur les systèmes Linux, ce procédé est souvent appelé IP + Masquerading mais vous verrez aussi le terme de + Source Network Address Translation + (SNAT). Shorewall suit la convention utilisée avec + Netfilter: + + Masquerade désigne le cas ou vous laissez + votre firewall détecter automatiquement l'adresse de l'interface + externe. + - - SNAT désigne le cas où vous spécifiez - explicitement l'adresse source des paquets sortant de votre réseau - local. - - + + SNAT désigne le cas où + vous spécifiez explicitement l'adresse source des paquets sortant de + votre réseau local. + + Sous Shorewall, autant le + Masquerading et le + SNAT sont configurés avec des + entrées dans le fichier /etc/shorewall/masq. + Vous utiliserez normalement le Masquerading si votre adresse + IP externe est dynamique, et SNAT si + l'adresse IP est statique. - Sous Shorewall, autant le Masquerading que le SNAT sont configuré - avec des entrés dans le fichier /etc/shorewall/masq. Vous utiliserez - normalement le Masquerading si votre adresse IP externe est dynamique, et - SNAT si elle est statique. + - Si votre interface - externe du firewall est eth0, vous n'avez pas besoin de modifier le - fichier fourni avec l'exemple. Dans le cas contraire, éditez - /etc/shorewall/masq et changez la première colonne par le nom de votre - interface externe, et la seconde colonne par le nom de votre interface - interne. + Si votre interface externe du firewall est eth0, vous n'avez pas besoin de modifier le + fichier fourni avec l'exemple. Dans le cas contraire, éditez /etc/shorewall/masq et + changer la première colonne par le nom de votre interface externe, et la + seconde colonne par le nom de votre interface interne. - Si votre IP externe - est statique, vous pouvez la mettre dans la troisième colonne dans - /etc/shorewall/masq si vous le désirez, de toutes façons votre firewall - fonctionnera bien si vous laissez cette colonne vide. Le fait de mettre - votre IP statique dans la troisième colonne permet un traitement des - paquets sortant un peu plus efficace. + - Si vous utilisez les - paquets Debian, vérifiez que votre fichier de configuration shorewall.conf - contient bien les valeurs suivantes, si elles n'y sont pas faite les - changements nécessaires: + Si votre adresse externe IP est statique, vous + pouvez la mettre dans la troisième colonne dans /etc/shorewall/masq si + vous le désirez, de toutes façons votre firewall fonctionnera bien si vous + laissez cette colonne vide. Le fait de mettre votre adresse + IP statique dans la troisième colonne permet un + traitement des paquets sortant un peu plus efficace. - - - NAT_ENABLED=Yes - + - - IP_FORWARDING=On - - + Si vous utilisez les paquets Debian, vérifiez que votre fichier de + configuration shorewall.conf contient bien les + valeurs suivantes, si elles n'y sont pas faite les changements + nécessaires: + + NAT_ENABLED=Yes (Shorewall versions earlier + than 1.4.6) + + + + IP_FORWARDING=On + +
@@ -556,572 +618,407 @@ Un de nos buts est de , peut être, faire tourner un ou plusieurs serveurs sur nos ordinateurs locaux. Parce que ces ordinateurs on une - adresse RFC-1918, il n' est pas possible pour les clients sur Internet - de se connecter directement à eux. Il est nécessaire à ces clients - d'adresser leurs demandes de connexion au firewall qui ré écrit - l'adresse de destination de votre serveur, et fait passer le paquet à - celui-ci. Lorsque votre serveur répond, le firewall applique - automatiquement un SNAT pour ré écrire l'adresse source dans la + adresse RFC-1918, il n' est pas possible pour les clients sur Internet de + se connecter directement à eux. Il est nécessaire à ces clients d'adresser + leurs demandes de connexion au firewall qui réécrit l'adresse de + destination de votre serveur, et fait passer le paquet à celui-ci. Lorsque + votre serveur répond, le firewall applique automatiquement un + SNAT pour réécrire l'adresse source dans la réponse. - Ce procédé est appelé Port Forwarding ou Destination Network Address - Translation(DNAT). Vous configurez le port forwarding en utilisant les - règles DNAT dans le fichier /etc/shorewall/rules. + Ce procédé est appelé Port Forwarding or + Destination Network Address Translation + (DNAT). Vous configurez le port forwarding en utilisant + les règles DNAT dans le fichier /etc/shorewall/rules. - La forme générale d'une simple règle de port forwarding dans - /etc/shorewall/rules est: + La forme générale d'une simple règle de port forwarding dans + /etc/shorewall/rules + est: #ACTION SOURCE DEST PROTO DEST PORT(S) +DNAT net loc:<server local ip address>[:<server port>] <protocol> <port> + + Web Server - - /etc/shorewall/rules + Vous faites tourner un serveur Web sur l'ordinateur 2 et vous + voulez faire passer les requêtes TCP sur le port 80 + à ce système : #ACTION SOURCE DEST PROTO DEST PORT(S) +DNAT net loc:10.10.10.2 tcp 80 + + FTP Server - - - - ACTION + Vous faites tourner un serveur FTPsur + l'ordinateur 1 et vous voulez rediriger les requêtes + TCP entrantes sur le port 21 à ce système: + #ACTION SOURCE DEST PROTO DEST PORT(S) +DNAT net loc:10.10.10.1 tcp 21Concernant + FTP, vous aurez aussi besoin d'avoir le support + FTP et le NAT dans votre kernel. + Pour les fournisseurs de kernels, cela veut dire que les modules + ip_conntrack_ftp et ip_nat_ftp doivent être disponibles. + Shorewall chargera automatiquement ces modules si ils sont disponibles + à leur place habituelle /lib/modules/<kernel + version>/kernel/net/ipv4/netfilter. + Deux points importants à garder en mémoire : + + Vous devez tester la règle précédente depuis un client à + l'extérieur de votre réseau local (c.a.d., ne pas tester depuis un + navigateur tournant sur l'ordinateur 1 ou 2 ou sur le firewall). Si + vous voulez avoir la possibilité d'accéder à votre serveur web et/ou + FTP de l'intérieur de votre firewall en utilisant + l'adresse de l'interface externe IP, regardez + Shorewall FAQ #2. + - SOURCE + + Quelques fournisseurs Internet (Provider/ISP) bloquent les + requêtes de connexion entrantes sur le port 80. Si vous avez des + problèmes pour vous connecter à votre serveur web, essayez la règle + suivante et connectez vous sur le port 5000 (c.a.d., connectez vous + à http://w.x.y.z:5000 ou w.x.y.z est votre IP + externe). - DESTINATION + #ACTION SOURCE DEST PROTO DEST PORT(S) +DNAT net loc:10.10.10.2:80 tcp 5000 + + - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - DNAT - - net - - loc:<server local ip address> - [:<server port>] - - <protocol> - - <port> - - - - - - - -
- - Exemple - vous faites tourner un serveur Web sur l'ordinateur 2 - et vous voulez faire passer les requêtes TCP sur le port 80 à ce système : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - DNAT - - net - - loc:10.10.10.2 - - tcp - - 80 - - - - - - - -
- - Deux points importants à garder en mémoire : - - - - Vous devez tester la règle précédente depuis un client à - l'extérieur de votre réseau local (c.a.d., ne pas tester depuis un - navigateur tournant sur l'ordinateur 1 ou 2 ou sur le firewall). - Si vous voulez avoir la possibilité d'accéder à votre serveur web - en utilisant l'adresse IP externe de votre firewall, regardez - Shorewall FAQ #2. - - - - Quelques fournisseurs Internet (Provider/ISP) bloquent les - requêtes entrantes de connexion sur le port 80. Si vous avez des - problèmes à vous connecter à votre serveur web, essayez la règle - suivante et connectez vous sur le port 5000. - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - DNAT - - net - - loc:10.10.10.2:80 - - tcp - - 5000 - - - - - - - -
-
-
- - A ce point, modifiez - /etc/shorewall/rules pour ajouter les règles DNAT dont vous avez besoin. + A ce point, modifiez /etc/shorewall/rules + pour ajouter les règles DNAT dont vous avez + besoin.
Domain Name Server (DNS) - Normalement, quand vous vous connectez à votre fournisseur (ISP), - une partie consiste à obtenir votre adresse IP, votre DNS pour le firewall - (Domain Name Service) est configuré automatiquement (c.a.d.,le fichier - /etc/resolv.conf a été écrit). Il arrive que votre provider vous donne une - paire d'adresse IP pour les DNS (name servers) afin que vous - configuriez manuellement votre serveur de nom primaire et secondaire. La - manière dont le DNS est configuré sur votre firewall est de votre - responsabilité. Vous pouvez procéder d'une de ses deux façons : + Normalement, quand vous vous connectez à votre fournisseur + (FAI/ISP), une partie consiste à obtenir votre adresse IP, votre + Domain Name Service (DNS) pour le + firewall est configuré automatiquement (c.a.d.,le fichier /etc/resolv.conf sera + mis à jour). Il arrive que votre provider vous donne une paire d'adresse + IP pour les serveurs DNS afin que + vous configuriez manuellement votre serveur de nom primaire et secondaire. + La manière dont le DNS est configuré sur votre firewall + est de votre responsabilité. Vous pouvez procéder d'une de ses deux façons + : + + Vous pouvez configurer votre système interne pour utiliser les + noms de serveurs de votre provider. Si votre fournisseur vous donne + les adresses de leurs serveurs ou si ces adresses sont disponibles + sur leur site web, vous pouvez configurer votre système interne afin + de les utiliser. Si cette information n' est pas disponible, + regardez dans /etc/resolv.conf + sur votre firewall -- les noms des serveurs sont donnés dans + l'enregistrement "nameserver" dans ce fichier. + + + + Vous pouvez configurer un cache dns + Caching Name Server sur votre firewall. + Red Hat a un RPM pour + serveur dns de cache (le RPM à besoin aussi du + paquetage bind RPM) et pour + les utilisateurs de Bering, il y a dnscache.lrp. + Si vous adoptez cette approche, vous configurez votre système + interne pour utiliser le firewall lui même comme étant le seul + serveur de nom primaire. Vous pouvez utiliser l'adresse + IP interne du firewall (10.10.10.254 dans l'exemple + précédent) pour l'adresse de serveur de nom. Pour permettre à vos + systèmes locaux de discuter avec votre serveur cache de nom, vous + devez ouvrir le port 53 (à la fois UDP and + TCP) sur le firewall vers le réseau local; vous + ferez ceci en ajoutant les règles suivantes dans /etc/shorewall/rules. + #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowDNS loc fw + + +
+ +
+ Autres Connexions + + Les fichiers exemples inclus dans l'archive (two-interface) + contiennent les règles suivantes :#ACTION SOURCE DEST PROTO DEST PORT(S) +AllowDNS fw netCes règles autorisent l'accès + DNS à partir de votre firewall et peuvent être enlevées + si vous avez décommenté la ligne dans /etc/shorewall/policy + autorisant toutes les connexions depuis le firewall vers Internet. + + Dans la régle ci-dessus, AllowDNS est un exemple + d'action prédéfinie defined action. Shorewall inclus + un nombre d'actions prédéfinies et vous pouvez ajouter les vôtres. Pour voir les + actions comprises avec votre version de Shorewall, regardez dans le + fichier /etc/shorewall/actions.std. Le nom de celles + qui acceptent des connexions débutent par Allow. + + Vous n'êtes pas obligés d'utiliser des actions prédéfinies quand + vous ajoutez des régles dans le fichier + /etc/shorewall/rules; les régles générées par + Netfilter sont plus performantes sans actions prédéfinies. La régle vue + ci-dessus peut aussi être codé comme cela:#ACTION SOURCE DEST PROTO DEST PORT(S) +ACCEPT fw net udp 53 +ACCEPT fw net tcp 53 + + Au cas ou Shorewall n'inclue pas d'actions définies qui vous + conviennent, vous pouvez les définir vous même ou coder directement les + régles. + + L'exemple inclus aussi: #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowSSH loc fwCette régle autorise un serveur + SSH sur votre firewall et la connexion à celui-ci + depuis votre réseau local. + + Si vous souhaitez autoriser d'autre connexions de votre firewall + vers d'autres systèmes, la sysntaxe générale utilisant l'action type + Allow est: #ACTION SOURCE DEST PROTO DEST PORT(S) +<action> fw <destination zone>La + syntaxe générale lorsqu'on utilise pas des actions prédéfinies + est:#ACTION SOURCE DEST PROTO DEST PORT(S) +ACCEPT fw <destination zone> <protocol> <port> + Serveur Web sur le Firewall + + Vous voulez ouvrir un serveur Web Server sur votre firewall au + réseau local et externe: #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowWeb net fw +AllowWeb loc fwCes deux régles viennent évidemment + s'ajouter à celles listées sous Vous + pouvez configurer un cache dns sur votre + firewall. + Si vous ne savez pas quel port(s) et protocole(s) requièrent + une application particulière, vous pouvez regarder ici. + Je ne recommande pas d'autoriser telnet + vers/de l'Internet parce qu'il utilise du texte en clair (même pour le + login!). Si vous voulez un accés shell à votre firewall, utilisez + SSH: + + #ACTION SOURCE DEST PROTO DEST PORT(S) +AllowSSH net fw + Les utilisateurs de Bering pourront ajouter les deux régles + suivantes pour être compatible avec la configuration du firewall Jacques's + Shorewall.#ACTION SOURCE DEST PROTO DEST PORT(S) +ACCEPT loc fw udp 53 #Allow DNS Cache to work +ACCEPT loc fw tcp 80 #Allow Weblet to work + + + Maintenant, éditez votre fichier de configuration /etc/shorewall/rules + pour ajouter, modifier ou supprimer les autres connexions voulues. +
+ +
+ Quelques Points à Garder en Mémoire - Vous pouvez configurer votre système interne pour utiliser les - noms de serveurs de votre provider. Si votre fournisseur vous donne - les adresses de leurs serveurs ou si ces adresses sont disponibles sur - leur site web, vous pouvez configurer votre système interne afin de - les utiliser. Si cette information n' est pas disponible, regardez - dans /etc/resolv.conf sur votre firewall -- les noms des serveurs sont - donnés dans l'enregistrement "nameserver" dans ce fichier. + Vous ne pouvez tester votre firewall de + l'intérieur de votre réseau. Car les requêtes que vous + envoyez à votre adresse IP ne veux pas dire qu'elle seront associées à + votre interface externe ou la zone net. Tout trafic + généré par le réseau local sera traité par loc->fw. - Vous pouvez - configurer un cache dns (Caching Name Server) sur votre firewall. Red - Hat a un RPM pour mettre en cache un serveur de nom (le RPM requis - aussi le RPM 'bind') et pour les utilisateurs de Bering, il y - a dnscache.lrp. Si vous adoptez cette approche, vous configurez votre - système interne pour utiliser le firewall lui même comme étant le seul - serveur de nom primaire. Vous pouvez utiliser l'adresse IP interne - du firewall (10.10.10.254 dans l'exemple) pour l'adresse de - serveur de nom. Pour permettre à vos systèmes locaux de discuter avec - votre serveur cache de nom, vous devez ouvrir le port 53 (UDP ET TCP) - sur le firewall vers le réseau local; vous ferez ceci en ajoutant les - règles suivantes dans /etc/shorewall/rules. + Les adresses IP sont des propriétés des + systèmes, pas des interfaces. C'est une erreur de croire + que votre firewall est capable de renvoyer des paquets simplement + parce que vous pouvez faire un ping sur l'adresse IP de toutes les + interfaces du firewall depuis le réseau local. La seul conclusion est + de conclure que le lien entre le réseau local et le firewall est + établi et que vous avez probablement la bonne adresse de la passerelle + sur votre système. + - - /etc/shorewall/rules + + Toutes les adresses IP configurées sur le + firewall sont dans la zone $FW (fw). Si 192.168.1.254 est + l'adresse IP de votre interface interne, alors vous pouvez écrire + $FW:192.168.1.254 dans + une régle mais vous ne devez pas écrire loc:192.168.1.254. C'est aussi un + non-sens d'ajouter 192.168.1.254 à la zone loc en utilisant une entrée dans + /etc/shorewall/hosts. + - - - - ACTION + + Les paquets de retour (Reply) ne suivent + PAS automatiquement le chemin inverse de la requête + d'origine. Tous les paquets sont routés en se référant à la + table de routage respective de chaque hôte à chaque étape du trajet. + C'est commun chez ceux qui installent le firewall Shorewall en + parallèle à une passerelle existante et essayent d'utiliser DNAT dans + Shorewall sans changer la passerelle par défaut sur les systèmes + recevant le retour des requêtes. Les requêtes dont, à travers le + firewall Shorewall, l'adresse de destination IP est réécrite mais la + réponse va directement vers l'ancienne passerelle. + - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - loc - - fw - - udp - - 53 - - - - - - - - ACCEPT - - loc - - fw - - tcp - - 53 - - - - - - - -
+ + Shorewall lui-même n'a aucune notion du + dedans et du dehors. Ces concepts dépendent de la façon + dont Shorewall est configuré.
- Autres connexions - - Les fichiers exemples inclus dans l'archive (two-interface) - contiennent les règles suivantes : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - fw - - net - - udp - - 53 - - - - - - - - ACCEPT - - fw - - net - - tcp - - 53 - - - - - - - -
- - Ces règles autorisent l'accès DNS à partir de votre firewall et - peuvent être enlevées si vous avez dé commenté la ligne dans - /etc/shorewall/policy autorisant toutes les connexions depuis le firewall - vers Internet. Les exemples contiennent aussi : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - loc - - fw - - tcp - - 22 - - - - - - - -
- - SCette règle vous autorise à faire tourner un serveur SSH sur votre - firewall et à vous y connecter depuis votre réseau local. Si vous voulez - permettre d'autres connexions entre votre firewall et d'autres - systèmes, la forme générale est : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - <source zone> - - <destination zone> - - <protocol> - - <port> - - - - - - - -
- - Exemple - Vous voulez faire tourner un serveur Web sur votre - firewall : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - loc - - fw - - tcp - - 80 - - - - - - - - ACCEPT - - net - - fw - - tcp - - 80 - - - - - - - -
- - Ces deux règles bien sûr viennent s'ajouter aux règles décrites - précédemment dans "Vous pouvez configurer un cache dns (Caching Name - Server) sur votre firewall" - - Si vous ne savez pas quel port et quel protocole une application - particulière utilise, regardez ici. - - Important: Je ne vous recommande pas de permettre le telnet depuis - ou vers Internet car il utilise du texte en clair (même pour le login et - le mot de passe!). Si vous voulez un accès au shell sur votre firewall - depuis Internet, utilisez SSH : - - - /etc/shorewall/rules - - - - - ACTION - - SOURCE - - DESTINATION - - PROTOCOL - - PORT - - SOURCE PORT - - ORIGINAL DEST - - - - ACCEPT - - net - - fw - - tcp - - 22 - - - - - - - -
- - Maintenant éditez - votre fichier /etc/shorewall/rules pour ajouter ou supprimer les - connexions voulues. + Démarrer et Arrêter Votre Firewall + + + + La procédure d'installation + configure votre système pour lancer Shorewall au boot du système, mais au + début avec la version 1.3.9 de Shorewall le lancement est désactivé, + n'essayer pas de lancer Shorewall avec que la configuration soit finie. + Une fois que vous en aurez fini avec la configuration du firewall, vous + pouvez permettre le lancement de Shorewall en supprimant le fichier + /etc/shorewall/startup_disabled. + + Les utilisateurs des paquets .deb doivent éditer /etc/default/shorewall + and set startup=1. + Le firewall est activé en utilisant la commande + shorewall start et arrêté avec + shorewall stop. Lorsque le firewall est + stoppé, le routage est autorisé sur les hôtes qui possèdent une entrée + dans /etc/shorewall/routestopped. Un + firewall qui tourne peut être relancé en utilisant la commande + shorewall restart command. Si vous + voulez enlever toutes traces de Shorewall sur votre configuration de + Netfilter, utilisez shorewall + clear. + + + + Les exemples (two-interface) supposent que vous voulez permettre le + routage depuis ou vers eth1 (le + réseau local) lorsque Shorewall est stoppé. Si votre réseau local n' est + pas connecté à eth1 ou si vous + voulez permettre l'accès depuis ou vers d'autres hôtes, changez /etc/shorewall/routestopped en + conséquence. + Si vous êtes connecté à votre firewall depuis Internet, + n'essayez pas une commande shorewall + stop tant que vous n'avez pas ajouté une entrée pour + votre adresse IP (celle à partir de laquelle vous + êtes connectée) dans /etc/shorewall/routestopped. + De la même manière, je ne vous recommande pas d'utiliser + shorewall restart; il est plus + intéressant de créer une configuration + alternative et de la tester en utilisant la commande + shorewall try. +
- Lancer et Arrêter son Firewall + Autres Lectures Recommandées - La procédure d'installation - configure votre système pour lancer Shorewall au boot du système, mais au - début avec la version 1.3.9 de Shorewall le lancement est désactivé, - n'essayer pas de lancer Shorewall avec que la configuration soit - finie. Une fois que vous en aurez fini avec la configuration du firewall, - vous pouvez permettre le lancement de Shorewall en supprimant le fichier - /etc/shorewall/startup_disabled. + Je vous recommande vivement de lire la page des Fonctionnalités Générales des + Fichiers de Configuration -- elle contient des trucs sur les + possibilités de Shorewall pour rendre aisé l'administration de votre + firewall Shorewall. +
- IMPORTANT: Les utilisateurs des paquets .deb - doivent éditer /etc/default/shorewall et mettre 'startup=1'. +
+ Ajouter un Segment Sans-fil à votre Firewall à deux + interfaces - Le firewall est activé en utilisant la commande "shorewall - start" et arrêté avec "shorewall stop". Lorsque le firewall - est stoppé, le routage est autorisé sur les hôtes qui possèdent une entrée - dans /etc/shorewall/routestopped. - Un firewall qui tourne peut être relancé en utilisant la commande - "shorewall restart". Si vous voulez enlever toutes traces de - Shorewall sur votre configuration de Netfilter, utilisez "shorewall - clear". + Maintenant que vous avez une configuration deux interfaces qui + marche, l'étape suivante logique est d'ajouter un Réseau Sans-fil. La + première étape est d'ajouter une carte à votre firewall, soit une carte + Sans-fil ou une carte ethernet relié à un Point d'Accés Sans-fil. + Quant vous ajoutez une carte réseau, il se peut qu'elle ne soit + pas détecté comme celle suivant la plus haute interface. Par exemple, + si vous avez deux cartes interfaces sur votre système (eth0 and eth1) et que vous ajoutez une troisième + qui utilise le même drivers qu'une des deux autres, cette troisième + carte ne sera pas obligatoirement détecté en tant que eth2; elle peut très bien être détecté + en tant que eth0 ou eth1! Vous pouvez faire avec ou + intervertir les cartes dans les slots jusqu'à obtenir valeur eth2. + - Les exemples - (two-interface) supposent que vous voulez permettre le routage depuis ou - vers eth1 (le réseau local) lorsque Shorewall est stoppé. Si votre réseau - local n' est pas connecté à eth1 ou si vous voulez permettre - l'accès depuis ou vers d'autres hôtes, changez - /etc/shorewall/routestopped en conséquence. + Votre nouveau réseau ressemblera à la figure ci-dessous. - ATTENTION: Si vous êtes connecté à - votre firewall depuis Internet, n'essayez pas une commande - "shorewall stop" tant que vous n'avez pas ajouté une entrée - pour votre adresse IP (celle à partir de laquelle vous êtes connectée) - dans - /etc/shorewall/routestopped. De la même manière, je ne vous - recommande pas d'utiliser "shorewall restart"; il est plus - intéressant de créer une - configuration alternative et de la tester en utilisant la commande - "shorewall try". + + + La première chose à noter est que les ordinateurs sur votre réseau + sans-fil seront sur un sous-réseau différent de celui de votre réseau + local LAN. Dans l'exemple précédent, nous avons choisi de lui attribuer le + réseau 10.10.11.0/24. Les ordinateurs 3 et 4 seront configurés avec une + passerelle par défaut dont l'adresse IP sera 10.10.11.254. + + Ensuite, nous avons choisi d'inclure le réseau sans-fil à la zone + local. Depuis que Shorewall autorise du trafic intra-zone par défaut, le + trafic pourra circuler librement entre le réseau local et sans-fil. + + + + Il n'y a que deux changements à effectuer à la configuration de + Shorewall: + + + + Une entrée doit être ajouté au fichier d'interfaces + /etc/shorewall/interfaces pour l'interface du + réseau sans-fil. Si l'interface du réseau sans-fil est wlan0, l'entrée correspondante pourrait + être: + + #ZONE INTERFACE BROADCAST OPTIONS +loc wlan0 detect maclist + + Comme montré dans l'entrée ci-dessus, je recommande d'utiliser + l'option maclist pour le + segment sans-fil. En ajoutant les entrées pour les ordinateurs 3 et 4 + dans le fichier /etc/shorewall/maclist, vous + pouvez vous assurer que vos voisins n'utiliseront pas votre connexion + internet. Commencez sans cette option; quant tout fonctionnera, alors + ajouter l'option et configurez votre fichier + /etc/shorewall/maclist. + + + + Vous avez besoin d'ajouter une entrée au fichier + /etc/shorewall/masq afin de masquer le trafic de + votre réseau sans-fil vers Internet. Si votre interface Internet est + eth0 et votre interface + sans-fil est wlan0, l'entrée + sera: + + #INTERFACE SUBNET ADDRESS +eth0 wlan0 + + + + Autre chose. Pour que le réseau Microsoft + fonctionne entre réseau filaire et sans-fil, vous avez besoin soit d'un + serveur WINS ou un PDC. J'utilise personnellement Samba configuré en + serveur WINS qui tourne sur mon firewall. Utiliser un serveur WINS sur le + firewall nécessite de configurer les régles nécessaires listées dans le + document Shorewall/Samba.
\ No newline at end of file diff --git a/Shorewall-docs2/upgrade_issues.xml b/Shorewall-docs2/upgrade_issues.xml index 470dbbba4..70d93d1d8 100644 --- a/Shorewall-docs2/upgrade_issues.xml +++ b/Shorewall-docs2/upgrade_issues.xml @@ -30,7 +30,8 @@ 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled - GNU Free Documentation License. + GNU Free Documentation + License. @@ -41,10 +42,10 @@ the version number mentioned in the section title is later than what you are currently running. - In the descriptions that follows, the term group - refers to a particular network or subnetwork (which may be - 0.0.0.0/0 or it may be a host address) accessed through - a particular interface. + In the descriptions that follows, the term + group refers to a particular network or subnetwork + (which may be 0.0.0.0/0 or it may be a host address) + accessed through a particular interface. Examples: @@ -61,38 +62,95 @@
- Version >= 2.0.1 + Version >= 2.0.2 Beta 1 - The function of 'norfc1918' is now split between that - option and a new 'nobogons' option. The rfc1918 file released - with Shorewall now contains entries for only those three address - ranges reserved by RFC 1918. A 'nobogons' interface option has - been added which handles bogon source addresses (those which are - reserved by the IANA, those reserved for DHCP auto-configuration and - the class C test-net reserved for testing and documentation examples). - This will allow users to perform RFC 1918 filtering without having to - deal with out of date data from IANA. Those who are willing to update - their /usr/share/shorewall/bogons file regularly - can specify the 'nobogons' option in addition to - 'norfc1918'. The level at which bogon packets are logged is - specified in the new BOGON_LOG_LEVEL variable in shorewall.conf. If - that option is not specified or is specified as empty (e.g, - BOGON_LOG_LEVEL="") then bogon packets whose TARGET is - 'logdrop' in /usr/share/shorewall/bogons - are logged at the 'info' level. + Extension Scripts - In order for extension scripts to work + properly with the new iptables-save/restore integration introduced in + Shorewall 2.0.2 Beta 1, some change may be required to your extension + scripts. + + If your extension scripts are executing commands other than + iptables then those commands must also be written to the restore file + (a temporary file in /var/lib/shorewall that is renamed + /var/lib/shorewall/restore-base at the + completeion of the /sbin/shorewall command). The + following functions should be of help: + + + + save_command() -- saves the passed command to the restore + file. + + Example: save_command echo Operation Complete + + That command would simply write "echo Operation Complete" to + the restore file. + + + + run_and_save_command() -- saves the passed command to the + restore file then executes it. The return value is the exit status + of the command. Example: run_and_save_command "echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all" + + Note that as in this example, when the command involves file + redirection then the entire command must be enclosed in quotes. + This applies to all of the functions described here. + + + + ensure_and_save_command() -- runs the passed command. If the + command fails, the firewall is restored to it's prior saved state + and the operation is terminated. If the command succeeds, the + command is written to the restore file + + + + + + Dynamic Zone support. - If you don't need to use the + shorewall add and shorewall + delete commands, you should set DYNAMIC_ZONES=No in + /etc/shorewall/shorewall.conf.
- VERSION >= 2.0.0-Beta1 + Version >= 2.0.1 - The 'dropunclean' and 'logunclean' interface - options are no longer supported. If either option is specified in + The function of 'norfc1918' is now split between that option and + a new 'nobogons' option. The rfc1918 file released with Shorewall now + contains entries for only those three address ranges reserved by RFC + 1918. A 'nobogons' interface option has been added which handles bogon + source addresses (those which are reserved by the IANA, those reserved + for DHCP auto-configuration and the class C test-net reserved for + testing and documentation examples). This will allow users to perform + RFC 1918 filtering without having to deal with out of date data from + IANA. Those who are willing to update their + /usr/share/shorewall/bogons file regularly can + specify the 'nobogons' option in addition to 'norfc1918'. The level at + which bogon packets are logged is specified in the new BOGON_LOG_LEVEL + variable in shorewall.conf. If that option is not specified or is + specified as empty (e.g, BOGON_LOG_LEVEL="") then bogon packets whose + TARGET is 'logdrop' in + /usr/share/shorewall/bogons are logged at the + 'info' level. + + +
+ +
+ VERSION >= 2.0.0-Beta1 + + + + The 'dropunclean' and 'logunclean' interface options are no + longer supported. If either option is specified in /etc/shorewall/interfaces, a threatening message will be generated. @@ -101,18 +159,19 @@ The NAT_BEFORE_RULES option has been removed from shorewall.conf. The behavior of Shorewall 2.0 is as if NAT_BEFORE_RULES=No had been specified. In other words, DNAT - rules now always take precidence over one-to-one NAT specifications. + rules now always take precidence over one-to-one NAT + specifications. The default value for the ALL INTERFACES column in /etc/shorewall/nat has changed. In Shorewall 1.*, - if the column was left empty, a value of "Yes" was assumed. - This has been changed so that a value of "No" is now assumed. + if the column was left empty, a value of "Yes" was assumed. This has + been changed so that a value of "No" is now assumed. - The following files don't exist in Shorewall 2.0: + The following files don't exist in Shorewall 2.0: /etc/shorewall/common.def @@ -122,13 +181,14 @@ /etc/shorewall/icmpdef /etc/shorewall/action.template (moved - to /usr/share/shorewall/action.template) + to + /usr/share/shorewall/action.template) The /etc/shorewall/action file now allows - an action to be designated as the "common" action for a - particular policy type by following the action name with ":" - and the policy (DROP, REJECT or ACCEPT). + an action to be designated as the "common" action for a particular + policy type by following the action name with ":" and the policy + (DROP, REJECT or ACCEPT). The file /usr/share/shorewall/actions.std has been added to define those actions that are released as part of Shorewall 2.0 In @@ -144,28 +204,29 @@ policies while the Reject action is the default action for REJECT policies. These actions will be performed on packets prior to applying the DROP or REJECT policy respectively. In the first - release, the difference between "Reject" and "Drop" is - that "Reject" REJECTs SMB traffic while "Drop" - silently drops such traffic. + release, the difference between "Reject" and "Drop" is that "Reject" + REJECTs SMB traffic while "Drop" silently drops such traffic. As described above, Shorewall allows a common action for ACCEPT policies but does not specify such an action in the default configuration. For more information see the User-defined Action Page. + url="User_defined_Actions.html">User-defined Action + Page. The /etc/shorewall directory no longer - contains users file or a usersets - file. Similar functionality is now available using user-defined - actions. + contains users file or a + usersets file. Similar functionality is now + available using user-defined actions. - Now, action files created by copying /usr/share/shorewall/action.template - may now specify a USER and or GROUP name/id in the final column just - like in the rules file (see below). It is thus possible to create - actions that control traffic from a list of users and/or groups. + Now, action files created by copying + /usr/share/shorewall/action.template may now + specify a USER and or GROUP name/id in the final column just like in + the rules file (see below). It is thus possible to create actions that + control traffic from a list of users and/or groups. @@ -173,57 +234,69 @@ now labeled USER/GROUP and may contain: - [!]<user number>[:] + [!]<user number>[:] - [!]<user name>[:] + [!]<user name>[:] - [!]:<group number> + [!]:<group number> - [!]:<group name> + [!]:<group name> - [!]<user number>:<group - number> + [!]<user + number>:<group + number> - [!]<user name>:<group - number> + [!]<user + name>:<group + number> - [!]<user inumber>:<group - name> + [!]<user + inumber>:<group + name> - [!]<user name>:<group - name> + [!]<user + name>:<group name> + + + If your kernel has IPV6 support (recent + SuSe for example), and you don't use IPV6 then + you will probably want to set DISABLE_IPV6=Yes in /etc/shorewall/shorewall.conf. + You must have ipv6tables installed. +
- Version >= 1.4.8 + Version >= 1.4.8 The meaning of ROUTE_FILTER=Yes has changed. Previously this setting was documented as causing route filtering to - occur on all network interfaces; this didn't work. Beginning with - this release, ROUTE_FILTER=Yes causes route - filtering to occur on all interfaces brought up while Shorewall is - running. This means that it may be appropriate to set + occur on all network interfaces; this didn't work. Beginning with this + release, ROUTE_FILTER=Yes causes route filtering to + occur on all interfaces brought up while Shorewall is running. This + means that it may be appropriate to set ROUTE_FILTER=Yes and use the routefilter option in - /etc/shorewall/interfaces + /etc/shorewall/interfaces entries.
- Version >= 1.4.6 + Version >= 1.4.6 - The NAT_ENABLED, MANGLE_ENABLED - and MULTIPORT options have been removed from - shorewall.conf. These capabilities are now - automatically detected by Shorewall. + The NAT_ENABLED, + MANGLE_ENABLED and MULTIPORT + options have been removed from shorewall.conf. + These capabilities are now automatically detected by Shorewall. @@ -239,39 +312,48 @@ zone eth1:192.168.1.0/24,192.168.2.0/24
- Version >= 1.4.4 + Version >= 1.4.4 - If you are upgrading from 1.4.3 and have set the LOGMARKER - variable in /etc/shorewall/shorewall.conf, + If you are upgrading from 1.4.3 and have set the + LOGMARKER variable in /etc/shorewall/shorewall.conf, then you must set the new LOGFORMAT variable - appropriately and remove your setting of LOGMARKER. + appropriately and remove your setting of + LOGMARKER.
Version 1.4.4 If you have zone names that are 5 characters long, you may - experience problems starting Shorewall because the - in a logging rule is too long. Upgrade to Version 1.4.4a to fix this - problem. + experience problems starting Shorewall because the + in a logging rule is too long. Upgrade to + Version 1.4.4a to fix this problem.
- Version >= 1.4.2 + Version >= 1.4.2 There are some cases where you may want to handle traffic from a particular group to itself. While I personally think that such a setups are ridiculous, there are two cases covered in this documentation where it - can occur: In FAQ - #2When running Squid - as a transparent proxy in your local zone. - If you have either of these cases, you will want to review the current - documentation and change your configuration accordingly. + can occur: + + In FAQ #2 + + + + When running + Squid as a transparent proxy in your + local zone. + + If you have either of these cases, you will want to + review the current documentation and change your configuration + accordingly.
- Version >= 1.4.1 + Version >= 1.4.1 @@ -280,11 +362,10 @@ zone eth1:192.168.1.0/24,192.168.2.0/24 was treated just like any other traffic; any matching rules were applied followed by enforcement of the appropriate policy. With 1.4.1 and later versions, unless you have explicit rules for traffic from Z - to Z or you have an explicit Z to Z policy (where "Z" is some - zone) then traffic between the groups in zone Z will be accepted. If - you do have one or more explicit rules for Z to Z or if you have an - explicit Z to Z policy then the behavior is as it was in prior - versions. + to Z or you have an explicit Z to Z policy (where "Z" is some zone) + then traffic between the groups in zone Z will be accepted. If you do + have one or more explicit rules for Z to Z or if you have an explicit + Z to Z policy then the behavior is as it was in prior versions. @@ -296,26 +377,29 @@ zone eth1:192.168.1.0/24,192.168.2.0/24 If you have a Z Z DROP or Z Z REJECT policy or you have - Z->Z rules then your configuration should not require any + Z->Z rules then your configuration should not require any change. If you are currently relying on a implicit policy (one that - has "all" in either the SOURCE or DESTINATION column) to - prevent traffic between two interfaces to a zone Z and you have no - rules for Z->Z then you should add an explicit DROP or REJECT - policy for Z to Z. + has "all" in either the SOURCE or DESTINATION column) to prevent + traffic between two interfaces to a zone Z and you have no rules + for Z->Z then you should add an explicit DROP or REJECT policy + for Z to Z. Sometimes, you want two separate zones on one interface but you - don't want Shorewall to set up any infrastructure to handle - traffic between them. The <filename>zones</filename>, - <filename>interfaces</filename> and, <filename>hosts</filename> file - contents + don't want Shorewall to set up any infrastructure to handle traffic + between them. + The <filename>zones</filename>, + <filename>interfaces</filename> and, <filename>hosts</filename> + file contents + + /etc/shorewall/zones z1 Zone1 The first Zone z2 Zone2 The second Zone @@ -325,17 +409,21 @@ z2 eth1 192.168.1.255 /etc/shorewall/hosts z1 eth1:192.168.1.3 - Here, zone z1 is nested in zone z2 and the - firewall is not going to be involved in any traffic between these two - zones. Beginning with Shorewall 1.4.1, you can prevent Shorewall from - setting up any infrastructure to handle traffic between z1 and z2 by - using the new NONE policy: The contents of - <filename>policy</filename> + + Here, zone z1 is nested in zone z2 and the firewall is + not going to be involved in any traffic between these two zones. + Beginning with Shorewall 1.4.1, you can prevent Shorewall from setting + up any infrastructure to handle traffic between z1 and z2 by using the + new NONE policy: + The contents of <filename>policy</filename> + + /etc/shorewall/policy z1 z2 NONE z2 z1 NONE - Note that NONE policies are generally used in - pairs unless there is asymetric routing where only the traffic on one + + Note that NONE policies are generally used in pairs + unless there is asymetric routing where only the traffic on one direction flows through the firewall and you are using a NONE polciy in the other direction. @@ -348,21 +436,21 @@ z2 z1 NONE In Version 1.4.1, Shorewall will never create rules to deal with - traffic from a given group back to itself. The multi - interface option is no longer available so if you want to route - traffic between two subnetworks on the same interface then I recommend - that you upgrade to Version 1.4.2 and use the routeback - interface or host option. + traffic from a given group back to itself. The + multi interface option is no longer available so if + you want to route traffic between two subnetworks on the same + interface then I recommend that you upgrade to Version 1.4.2 and use + the routeback interface or host option.
- Version >= 1.4.0 + Version >= 1.4.0 - Shorewall >=1.4.0 requires the iproute - package ('ip' utility). + Shorewall >=1.4.0 requires the iproute + package ('ip' utility). @@ -370,46 +458,89 @@ z2 z1 NONE iproute2 which will cause the upgrade of Shorewall to fail with the diagnostic: error: failed dependencies:iproute is needed by shorewall-1.4.0-1 - This may be worked around by using the - option of rpm (rpm -Uvh --nodeps + This may be worked around by using the + option of rpm (rpm + -Uvh --nodeps your_shorewall_rpm.rpm). - If you are upgrading from a version < 1.4.0, then: The noping and - forwardping interface options are no longer supported - nor is the FORWARDPING option in shorewall.conf. - ICMP echo-request (ping) packets are treated just like any other - connection request and are subject to rules and policies.Interface - names of the form <device>:<integer> in - /etc/shorewall/interfaces - now generate a Shorewall error at startup (they always have produced - warnings in iptables).The - MERGE_HOSTS variable has been removed from - shorewall.conf. Shorewall 1.4 behaves like 1.3 did - when MERGE_HOSTS=Yes; that is zone contents are - determined by BOTH the interfaces and hosts files - when there are entries for the zone in both files.The - routestopped option in the interfaces and hosts file - has been eliminated; use entries in the routestopped - file instead.The Shorewall 1.2 syntax - for DNAT and REDIRECT rules is no - longer accepted; you must convert to using the new syntax.The - ALLOWRELATED variable in shorewall.conf - is no longer supported. Shorewall 1.4 behavior is the same as 1.3 with - ALLOWRELATED=Yes.Late-arriving - DNS replies are now dropped by default; there is no need for your own - /etc/shorewall/common - file simply to avoid logging these packets.The - firewall, functions and - version files have been moved to /usr/share/shorewall.The - icmp.def file has been removed. If you include it - from /etc/shorewall/icmpdef, - you will need to modify that file.If you - followed the advice in FAQ #2 and call find_interface_address - in /etc/shorewall/params, - that code should be moved to /etc/shorewall/init. + If you are upgrading from a version < 1.4.0, then: + + The noping and + forwardping interface options are no longer + supported nor is the FORWARDPING option in + shorewall.conf. ICMP echo-request (ping) + packets are treated just like any other connection request and are + subject to rules and policies. + + + + Interface names of the form + <device>:<integer> in /etc/shorewall/interfaces + now generate a Shorewall error at startup (they always have produced + warnings in iptables). + + + + The MERGE_HOSTS variable has been removed + from shorewall.conf. Shorewall 1.4 behaves like + 1.3 did when MERGE_HOSTS=Yes; that is zone + contents are determined by BOTH the interfaces + and hosts files when there are entries for the zone in both + files. + + + + The routestopped option in the interfaces + and hosts file has been eliminated; use entries in the + routestopped file instead. + + + + The Shorewall 1.2 syntax for DNAT and + REDIRECT rules is no longer accepted; you must + convert to using the new syntax. + + + + The ALLOWRELATED variable in + shorewall.conf is no longer supported. + Shorewall 1.4 behavior is the same as 1.3 with + ALLOWRELATED=Yes. + + + + Late-arriving DNS replies are now dropped by default; there is + no need for your own /etc/shorewall/common + file simply to avoid logging these packets. + + + + The firewall, + functions and version + files have been moved to /usr/share/shorewall. + + + + The icmp.def file has been removed. If + you include it from /etc/shorewall/icmpdef, + you will need to modify that file. + + + + If you followed the advice in FAQ #2 and call + find_interface_address in /etc/shorewall/params, + that code should be moved to /etc/shorewall/init. + +
@@ -420,44 +551,69 @@ error: failed dependencies:iproute is needed by shorewall-1.4.0-1 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 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. + mark="hollow"> + + 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. + +
- Version >= 1.3.14 + Version >= 1.3.14 Beginning in version 1.3.14, Shorewall treats entries in /etc/shorewall/masq - differently. The change involves entries with an interface - name in the SUBNET (second) column: Prior - to 1.3.14, Shorewall would detect the FIRST subnet on the interface (as - shown by ip addr show interface) and would masquerade - traffic from that subnet. Any other subnets that routed through - eth1 needed their own entry in /etc/shorewall/masq to - be masqueraded or to have SNAT applied.Beginning - with Shorewall 1.3.14, Shorewall uses the firewall's routing table to - determine ALL subnets routed through the named interface. Traffic - originating in ANY of those subnets is masqueraded or has SNAT applied. - You will need to make a change to your configuration if: You have one or more entries in - /etc/shorewall/masq - with an interface name in the SUBNET (second) column; - andThat interface connects to more than - one subnetwork. Two examples: Suppose that your current config is as follows: + differently. The change involves entries with an interface name in the SUBNET + (second) column: + + Prior to 1.3.14, Shorewall would detect the FIRST subnet on + the interface (as shown by ip addr show interface) + and would masquerade traffic from that subnet. Any other subnets + that routed through eth1 needed their own entry + in /etc/shorewall/masq + to be masqueraded or to have SNAT applied. + + + + Beginning with Shorewall 1.3.14, Shorewall uses the firewall's + routing table to determine ALL subnets routed through the named + interface. Traffic originating in ANY of those subnets is + masqueraded or has SNAT applied. + + You will need to make a change to your configuration if: + + + You have one or more entries in /etc/shorewall/masq + with an interface name in the SUBNET (second) + column; and + + + + That interface connects to more than one subnetwork. + + Two examples: + Suppose that your current config is as follows: + + [root@gateway test]# cat /etc/shorewall/masq #INTERFACE SUBNET ADDRESS @@ -469,10 +625,13 @@ eth0 192.168.10.0/24 206.124.146.176 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 + In this case, the second entry in /etc/shorewall/masq is - no longer required. What if your current - configuration is like this? + no longer required. + What if your current configuration is like this? + + [root@gateway test]# cat /etc/shorewall/masq #INTERFACE SUBNET ADDRESS eth0 eth2 206.124.146.176 @@ -482,20 +641,23 @@ eth0 eth2 206.124.146.176 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 Version 1.3.14 also introduced simplified ICMP - echo-request (ping) handling. The option OLD_PING_HANDLING=Yes - in /etc/shorewall/shorewall.conf + echo-request (ping) handling. The option + OLD_PING_HANDLING=Yes in /etc/shorewall/shorewall.conf is used to specify that the old (pre-1.3.14) ping handling is to be used - (If the option is not set in your /etc/shorewall/shorewall.conf - then OLD_PING_HANDLING=Yes is assumed). I don't - plan on supporting the old handling indefinitely so I urge current users - to migrate to using the new handling as soon as possible. See the - 'Ping' handling documentation for details. + (If the option is not set in your /etc/shorewall/shorewall.conf then + OLD_PING_HANDLING=Yes is assumed). I don't plan on + supporting the old handling indefinitely so I urge current users to + migrate to using the new handling as soon as possible. See the 'Ping' + handling documentation for details.
@@ -513,7 +675,7 @@ rpm -Uvh --force shorewall-1.3.10-1.noarch.rpm
- Version >= 1.3.9 + Version >= 1.3.9 @@ -527,22 +689,23 @@ rpm -Uvh --force shorewall-1.3.10-1.noarch.rpm
- Version >= 1.3.8 + Version >= 1.3.8 If you have a pair of firewall systems configured for failover or if you have asymmetric routing, you will need to modify your - firewall setup slightly under Shorewall versions >= 1.3.8. - Beginning with version 1.3.8, you must set NEWNOTSYN=Yes - in your /etc/shorewall/shorewall.conf + firewall setup slightly under Shorewall versions >= 1.3.8. + Beginning with version 1.3.8, you must set + NEWNOTSYN=Yes in your /etc/shorewall/shorewall.conf file.
- Version >= 1.3.7 + Version >= 1.3.7 @@ -550,14 +713,14 @@ rpm -Uvh --force shorewall-1.3.10-1.noarch.rpm class="directory">/etc/shorewall.conf will need to include the following rules in their /etc/shorewall/icmpdef - file (creating this file if necessary): - + file (creating this file if necessary): run_iptables -A icmpdef -p ICMP --icmp-type echo-reply -j ACCEPT run_iptables -A icmpdef -p ICMP --icmp-type source-quench -j ACCEPT run_iptables -A icmpdef -p ICMP --icmp-type destination-unreachable -j ACCEPT run_iptables -A icmpdef -p ICMP --icmp-type time-exceeded -j ACCEPT run_iptables -A icmpdef -p ICMP --icmp-type parameter-problem -j ACCEPT - Users having an /etc/shorewall/icmpdef + Users having an /etc/shorewall/icmpdef file may remove the ./etc/shorewall/icmp.def command from that file since the icmp.def file is now empty. @@ -566,24 +729,37 @@ run_iptables -A icmpdef -p ICMP --icmp-type parameter-problem -j ACCEPT
- Upgrading Bering to Shorewall >= 1.3.3 + Upgrading Bering to Shorewall >= 1.3.3 To properly upgrade with Shorewall version 1.3.3 and later: - Be sure you have a - backup -- you will need to transcribe any Shorewall configuration - changes that you have made to the new configuration.Replace - the shorwall.lrp package provided on the Bering - floppy with the later one. If you did not obtain the later version - from Jacques's site, see additional instructions below.Edit - the /var/lib/lrpkg/root.exclude.list - file and remove the /var/lib/shorewall entry if - present. Then do not forget to backup root.lrp! - The .lrp that I release isn't set up for a two-interface firewall - like Jacques's. You need to follow the instructions for setting up - a two-interface firewall plus you also need to add the following two - Bering-specific rules to /etc/shorewall/rules: + + + Be sure you have a backup -- you will need to transcribe + any Shorewall configuration changes that you have made to the + new configuration. + + + + Replace the shorwall.lrp package + provided on the Bering floppy with the later one. If you did not + obtain the later version from Jacques's site, see additional + instructions below. + + + + Edit the /var/lib/lrpkg/root.exclude.list + file and remove the /var/lib/shorewall + entry if present. Then do not forget to backup + root.lrp! + + The .lrp that I release isn't set up for a + two-interface firewall like Jacques's. You need to follow the + instructions for setting up a two-interface firewall plus you also + need to add the following two Bering-specific rules to /etc/shorewall/rules: # Bering specific rules: # allow loc to fw udp/53 for dnscache to work @@ -604,41 +780,55 @@ ACCEPT loc fw tcp 80 If you have a pair of firewall systems configured for failover or if you have asymmetric routing, you will need to modify your firewall setup slightly under Shorewall versions 1.3.6 and 1.3.7 - Create the file /etc/shorewall/newnotsyn - and in it add the following rule: - + + + Create the file /etc/shorewall/newnotsyn + and in it add the following rule: + # So that the connection tracking table can be rebuilt # from non-SYN packets after takeover. run_iptables -A newnotsyn -j RETURN - Create /etc/shorewall/common - (if you don't already have that file) and include the following: - + + + + + Create /etc/shorewall/common + (if you don't already have that file) and include the following: + #Accept Acks to rebuild connection tracking table. run_iptables -A common -p tcp --tcp-flags ACK,FIN,RST ACK -j ACCEPT ./etc/shorewall/common.def - + + +
- Versions >= 1.3.5 + Versions >= 1.3.5 Some forms of pre-1.3.0 rules file syntax are no longer - supported. + supported. + + + ACCEPT net loc:192.168.1.12:22 tcp 11111 - all - Must be replaced with: - + + Must be replaced with: DNAT net loc:192.168.1.12:22 tcp 11111 - + + + + ACCEPT loc fw::3128 tcp 80 - all - Must be replaced with: - + + Must be replaced with: REDIRECT loc 3128 tcp 80 @@ -646,7 +836,7 @@ REDIRECT loc 3128 tcp 80
- Version >= 1.3.2 + Version >= 1.3.2