1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-22 11:17:31 +01:00

finished getting started tutorial

This commit is contained in:
Vadim Kurland 2010-02-28 07:29:51 +00:00
parent 7913fe4358
commit 9df13ae4d8
48 changed files with 611 additions and 4 deletions

View File

@ -310,6 +310,20 @@
<file>Tutorial/getting_started/html/page16.html</file>
<file>Tutorial/getting_started/html/page17.html</file>
<file>Tutorial/getting_started/html/page18.html</file>
<file>Tutorial/getting_started/html/page19.html</file>
<file>Tutorial/getting_started/html/page20.html</file>
<file>Tutorial/getting_started/html/page21.html</file>
<file>Tutorial/getting_started/html/page22.html</file>
<file>Tutorial/getting_started/html/page23.html</file>
<file>Tutorial/getting_started/html/page24.html</file>
<file>Tutorial/getting_started/html/page25.html</file>
<file>Tutorial/getting_started/html/page26.html</file>
<file>Tutorial/getting_started/html/page27.html</file>
<file>Tutorial/getting_started/html/page28.html</file>
<file>Tutorial/getting_started/html/page29.html</file>
<file>Tutorial/getting_started/html/page30.html</file>
<file>Tutorial/getting_started/html/page31.html</file>
<file>Tutorial/getting_started/html/page32.html</file>
<file>Tutorial/getting_started/images/0.png</file>
<file>Tutorial/getting_started/images/1.png</file>
<file>Tutorial/getting_started/images/2.png</file>
@ -330,6 +344,19 @@
<file>Tutorial/getting_started/images/16.png</file>
<file>Tutorial/getting_started/images/17.png</file>
<file>Tutorial/getting_started/images/18.png</file>
<file>Tutorial/getting_started/images/19.png</file>
<file>Tutorial/getting_started/images/20.png</file>
<file>Tutorial/getting_started/images/21.png</file>
<file>Tutorial/getting_started/images/22.png</file>
<file>Tutorial/getting_started/images/23.png</file>
<file>Tutorial/getting_started/images/24.png</file>
<file>Tutorial/getting_started/images/25.png</file>
<file>Tutorial/getting_started/images/26.png</file>
<file>Tutorial/getting_started/images/27.png</file>
<file>Tutorial/getting_started/images/28.png</file>
<file>Tutorial/getting_started/images/29.png</file>
<file>Tutorial/getting_started/images/30.png</file>
<file>Tutorial/getting_started/images/32.png</file>
<file>Tutorial/getting_started/images/new_button.png</file>
<file>Tutorial/getting_started/stylesheets/style.css</file>
</qresource>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -33,3 +36,5 @@
<p>
<img src=":/Tutorial/getting_started/images/0.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -41,3 +44,5 @@
<p>
<img src=":/Tutorial/getting_started/images/1.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -20,3 +23,5 @@
<p>
<img src=":/Tutorial/getting_started/images/10.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -11,3 +14,5 @@
<p>
<img src=":/Tutorial/getting_started/images/11.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -17,3 +20,5 @@
<p>
<img src=":/Tutorial/getting_started/images/12.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -30,13 +33,16 @@
<p>
<b><i>Tip</i></b>
Firewall Builder 4.0 has full Undo/Redo functions of unlimited
depth. You can monitor undo stack if you open it using main menu
"View / Undo stack".
<div class="tip">
Firewall Builder 4.0 has full Undo/Redo functions of unlimited
depth. You can monitor undo stack if you open it using main menu
"View / Undo stack".
</div>
</p>
<p>
<img src=":/Tutorial/getting_started/images/13.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -25,3 +28,5 @@
<p>
<img src=":/Tutorial/getting_started/images/14.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -24,3 +27,5 @@
<p>
<img src=":/Tutorial/getting_started/images/15.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -24,3 +27,5 @@
<p>
<img src=":/Tutorial/getting_started/images/16.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -24,3 +27,5 @@
<p>
<img src=":/Tutorial/getting_started/images/17.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -19,3 +22,5 @@
<p>
<img src=":/Tutorial/getting_started/images/18.png">
</p>
</body>
</html>

View File

@ -0,0 +1,29 @@
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 19</td>
</tr>
</table>
<hr/>
</div>
<p>
The next few pages show other tabs of the advanced settings
dialog. You can find detailed explanations of all parameters in the
online help and <a href="http://www.fwbuilder.org/docs/users_guide_4/">Firewall Builder Users Guide</a>.
</p>
<p>
This page defines various parameters for the built-in policy
installer. The installer uses an SSH client (pscp.exe and plink.exe
on Windows) to transfer the generated script to the firewall machine
and activate it there.
</p>
<p>
</p>
<p>
<img src=":/Tutorial/getting_started/images/19.png">
</p>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -36,3 +39,5 @@
Clicking "Next" brings us to the next page of the wizard where we
can change configuration of the interfaces of the template firewall.
</p>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 20</td>
</tr>
</table>
<hr/>
</div>
<p>
You can define shell commands that will be included in the generated
script at the beginning and at the end of it. These commands can do
anything you want, such as configure some subsystems, set up
routing, and so on.
</p>
<p>
<img src=":/Tutorial/getting_started/images/20.png">
</p>
</body>
</html>

View File

@ -0,0 +1,22 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 21</td>
</tr>
</table>
<hr/>
</div>
<p>
This tab provides controls for various parameters for logging.
</p>
<p>
<img src=":/Tutorial/getting_started/images/21.png">
</p>
</body>
</html>

View File

@ -0,0 +1,27 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 22</td>
</tr>
</table>
<hr/>
</div>
<p>
Screenshot below shows options for the script generation. Notice
that Firewall Builder can produce the iptables script in two
formats: 1) as a shell script that calls the iptables utility to add
each rule one by one, or 2) it can use iptables-restore script to
activate the whole policy at once. Other parameters are explained in
the online help.
</p>
<p>
<img src=":/Tutorial/getting_started/images/22.png">
</p>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 23</td>
</tr>
</table>
<hr/>
</div>
<p>
Starting with v3.0, Firewall Builder can generate both IPv4 and IPv6
policies. This tab controls the order in which they are added to the
script if you have defined rules for both address families in the
Policy objects of the firewall.
</p>
<p>
<img src=":/Tutorial/getting_started/images/23.png">
</p>
</body>
</html>

View File

@ -0,0 +1,53 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 24</td>
</tr>
</table>
<hr/>
</div>
<p>
Let's take a look at the policy of the template firewall shown
below. These rules are intended to be an example, a starting point
to help you create your own policy. Most likely you will want to
modify the rules to suite your requirements. Explanations of the
rules given here are brief because the goal of Getting Started is
only to demonstrate how to use Firewall Builder.
</p>
<p>
<ul>
<li>
Rule 0: This is an anti-spoofing rule. It blocks incoming
packets on the external interface that have source addresses
that belong to the firewall or your internal or DMZ
networks. The rule is associated with outside interface and has
Direction set to "Inbound".
</li>
<li>
Rule 1: This rule permits any packets on the loopback
interface. This is necessary because many services on the
firewall machine communicate back to the same machine via
loopback.
</li>
<li>
Rule 2: Permit ssh access from internal network to the firewall
machine. Notice service object "ssh" in the column
Service. (This object can be found in the Standard objects
library in the Services/TCP folder.)
</li>
</ul>
</p>
<p>
<img src=":/Tutorial/getting_started/images/24.png">
</p>
</body>
</html>

View File

@ -0,0 +1,29 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 25</td>
</tr>
</table>
<hr/>
</div>
<p>
Firewall Builder 4.0 allows you to compile single policy or nat rule
and see generated firewall configuration right there in the GUI. To
do this, select any object in the rule you want to process or
highlight its leftmost element where rule number is shown, then
click right mouse button to open context menu. Click "Compile rule"
(keyboard shortcut is "X") to see the result in the panel at the
bottom of the main window. The is a great way to experiment with
rules and see what is being generated in response to your changes.
</p>
<p>
<img src=":/Tutorial/getting_started/images/25.png">
</p>
</body>
</html>

View File

@ -0,0 +1,23 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 26</td>
</tr>
</table>
<hr/>
</div>
<p>
Generated iptables script appears in the panel at the bottom of the
main window:
</p>
<p>
<img src=":/Tutorial/getting_started/images/26.png">
</p>
</body>
</html>

View File

@ -0,0 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 27</td>
</tr>
</table>
<hr/>
</div>
<p>
Access policy rules belong to the object "Policy", which is a child
object of the firewall and can be found in the tree below it. As
with any other object in Firewall Builder, the Policy object has
some attributes that you can edit if you double-click on it in the
tree.
</p>
<p>
<ul>
<li>
Policy can be IPv4, IPv6, or combined IPv4 and IPv6. In the last
case you can use a mix of IPv4 and IPv6 address objects in the
same policy (in different rules), and Firewall Builder will
automatically figure out which one is which and sort them out.
</li>
<li>
Policy can translate into only the mangle table (used for
modifying packets) or a combination of the filter table (used
for allowing/blocking packets) and the mangle table. In the
latter case, the policy compiler decides which table to use
based on the rule action and service object. Some actions, such
as "Tag" (which translates into iptables target MARK), go into
mangle table.
</li>
<li>
The "Top rule set" is the one the compiler will use to populate
iptables built-in chains INPUT/OUTPUT/FORWARD. (If you have only
one rule set, then mark it as the top rule set.) If a policy is
not marked as "top rule set", generated rules will go into a
user-defined chain with the same name as the policy object.
</li>
</ul>
</p>
<p>
<img src=":/Tutorial/getting_started/images/27.png">
</p>
</body>
</html>

View File

@ -0,0 +1,45 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 28</td>
</tr>
</table>
<hr/>
</div>
<p>
Here are the pre-configured NAT rules:
</p>
<p>
<ul>
<li>
Rule 0: Tells the firewall that no address translation should be
done for packets traveling from network 192.168.2.0 to
192.168.1.0 (because Translated Source, Translated Destination
and Translated Service are left empty).
</li>
<li>
Rule 1: Packets coming into the firewall from internal and DMZ
networks are translated so that their source address will change
to that of the outside interface on the firewall.
</li>
<li>
Rule 2: Packets coming from the Internet to the interface
"outside" will be translated and forwarded to the internal
server on DMZ represented by the host object "server on dmz".
</li>
</ul>
</p>
<p>
<img src=":/Tutorial/getting_started/images/28.png">
</p>
</body>
</html>

View File

@ -0,0 +1,41 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 29</td>
</tr>
</table>
<hr/>
</div>
<p>
Now we can compile the policy of the firewall "guardian" and
generate the iptables script. To do so, use toolbar button located
right above the panel that shows policy and nat rules. This button
compiles rules of the firewall that is opened at the
moment. Compiler processes Policy, NAT and Routing rules even though
the panel shows only one kind of rules at a time. Another button
with the same picture is located in the main toolbar under the main
menu bar compiles all firewall objects defined in the object
tree. Of course there is no difference if you only have one firewall
object.
</p>
<p>
A new dialog appears that allows you to choose which firewalls you
want to compile. The program keeps track of the changes and
automatically selects firewalls that require recompile because some
object they depend on has changed recently. Obviously this is only
useful if you have several firewalls in the object tree. Since the
checkbox next to the "guardian" firewall is already checked, click
Next to proceed.
</p>
<p>
<img src=":/Tutorial/getting_started/images/29.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -33,3 +36,5 @@
<p>
<img src=":/Tutorial/getting_started/images/3.png">
</p>
</body>
</html>

View File

@ -0,0 +1,23 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 30</td>
</tr>
</table>
<hr/>
</div>
<p>
Firewall Builder calls the appropriate policy compiler. The dialog
displays compiler progress and results.
</p>
<p>
<img src=":/Tutorial/getting_started/images/30.png">
</p>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 31</td>
</tr>
</table>
<hr/>
</div>
<p>
<b><i>Tip</i></b>
<div class="tip">
If compiler finds problems with configuration and issues any warning
or error messages, the program highlights them using different color
(blue for warnings and red for errors). Click on the warning and
error message and the GUI will switch to the firewall object, open
corresponding rule set and highlight the rule that caused the
message.
</div>
</p>
<p>
Compiler generates an iptables script in a ".fw" file with the name
the same as the firewall object (guardian.fw). The file is placed in
the same directory as the .fwb data file. Generated iptables script
supports standard startup script parameters "start", "stop",
"status", "reload" and can be used in place of the standard system
firewall script in the /etc/init.d/ directory.
</p>
</body>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
<th align="center" width="100%">Getting Started</th>
<td align="right">Page 32</td>
</tr>
</table>
<hr/>
</div>
<p>
Firewall Builder can also transfer generated script to the firewall
and activate it there. It uses ssh to do this (putty on Windows). To
use the installer, click on the "Install" toolbar button located
above the firewall policy panel or in the main toolbar. Firewall
Builder will compile the policy (if it is not compiled already) and
then open a dialog where you can configure the parameters of the
installer. Here you need to enter a password to authenticate to the
firewall. Section Section 8.7 of the Users Guide has detailed
instructions for setting up and using the installer.
</p>
<p>
Firewall Builder 4.0 can cache password you entered so you don't
have to enter it again and again if you need to reinstall firewall
policy several times. The password is never stored on disk in any
form, it is only cached in the memory of the running fwbuilder
process and discarded when you stop the program. You will need to
enter it again when you use the program again after that. However
this feature really helps speed up policy update if you need to do
it several times. To activate it you need to turn it on in the
"Installer" tab of the global preferences dialog (menu Edit /
Preferences) and then turn on checkbox "Remember passwords" in the
installer dialog. Passwords are stored in a dictionary indexed by
the firewall name and user name configured in the "Installer" tab of
the firewall object dialog. This means you can have different
passwords for different firewall objects.
</p>
<p>
<img src=":/Tutorial/getting_started/images/32.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -23,3 +26,5 @@
<p>
<img src=":/Tutorial/getting_started/images/4.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -17,3 +20,5 @@
<p>
<img src=":/Tutorial/getting_started/images/5.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -23,3 +26,5 @@
<p>
<img src=":/Tutorial/getting_started/images/6.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -27,3 +30,5 @@
<p>
<img src=":/Tutorial/getting_started/images/7.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -19,3 +22,5 @@
<p>
<img src=":/Tutorial/getting_started/images/8.png">
</p>
</body>
</html>

View File

@ -1,3 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<body>
<div class="header">
<table border="0">
<tr>
@ -25,3 +28,5 @@
</td>
</tr>
</table>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -14,5 +14,9 @@ p {
color: black;
}
.tip {
margin-left: 20px;
}
img { margin-top: 10px; }