Sophie

Sophie

distrib > Mandriva > mes5 > x86_64 > by-pkgid > 45723c51178a73df679c2a8284d8eeff > files > 193

shorewall-doc-4.0.15-0.2mdvmes5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Файервол с тремя интерфейсами</title><link rel="stylesheet" href="html.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="article" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="three-interface"></a>Файервол с тремя интерфейсами</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Tom</span> <span class="surname">Eastep</span></h3></div></div></div><div><p class="copyright">Copyright © 2002-2005 Thomas M. Eastep</p></div><div><div class="legalnotice"><a id="id273856"></a><p>Permission is granted to copy, distribute and/or modify this
      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
      “<span class="quote"><a class="ulink" href="GnuCopyright.htm" target="_self">GNU Free Documentation
      License</a></span>”.</p></div></div><div><p class="pubdate">2008/12/15</p></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id290195">Введение</a></span></dt><dd><dl><dt><span class="section"><a href="#id257946">Системные требования</a></span></dt><dt><span class="section"><a href="#id258231">Перед тем как начать</a></span></dt><dt><span class="section"><a href="#id258323">Conventions</a></span></dt></dl></dd><dt><span class="section"><a href="#id258353">PPTP/ADSL</a></span></dt><dt><span class="section"><a href="#id257583">Концепции Shorewall</a></span></dt><dt><span class="section"><a href="#id302300">Сетевые интерфейсы</a></span></dt><dt><span class="section"><a href="#id302702">IP-адреса</a></span></dt><dt><span class="section"><a href="#id303182">IP-маскарадинг (SNAT)</a></span></dt><dt><span class="section"><a href="#id303484">Перенаправление портов (DNAT)</a></span></dt><dt><span class="section"><a href="#id303849">Сервер Доменных Имен (Domain Name Server - DNS)</a></span></dt><dt><span class="section"><a href="#id304083">Другие соединения</a></span></dt><dt><span class="section"><a href="#id304403">Что нужно помнить</a></span></dt><dt><span class="section"><a href="#id304563">Запуск и останов Вашего файервола</a></span></dt><dt><span class="section"><a href="#id304772">Дополнительно рекоммендуемая литература</a></span></dt></dl></div><div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Caution</h3><p><span class="bold"><strong>Эта статья применима для Shorewall версии 3.0
    и выше. Если Вы работаете с более ранней версией Shorewall чем Shorewall
    3.0.0, тогда смотрите документацию для этого выпуска.</strong></span></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id290195"></a>Введение</h2></div></div></div><p>Установка Linux системы как файервола для небольшой сети довольно
    простая задача, если Вы понимаете основы и следуете документации.</p><p>Это руководство не пытается ознакомить Вас со всеми особенностями
    Shorewall. Оно больше сфокусировано на том, что требуется для настройки
    Shorewall в наиболее типичных конфигурациях:</p><div class="itemizedlist"><ul type="disc"><li><p>Linux система, используемая как файервол/маршрутизатор для
        небольшой локальной сети.</p></li><li><p>Один внешний (публичный) <acronym class="acronym">IP</acronym>-адрес.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Если Вы имеете более одного публичного
          <acronym class="acronym">IP</acronym>-адреса, это руководство не то, что Вам нужно.
          Смотрите вместо этого <a class="ulink" href="shorewall_setup_guide.htm" target="_self">Руководство по установке
          Shorewall</a>.</p></div></li><li><p><span class="emphasis"><em>DeMilitarized Zone</em></span> (<acronym class="acronym">DMZ</acronym>)
        подсоединена к отдельному интерфейсу Ethernet. Цель
        <acronym class="acronym">DMZ</acronym> - изолировать те Ваши локальные серверы,
        которые открыты для Интернет так, что если один из этих серверов
        скомпрометирован, остается еще файервол между взломанным сервером и
        Вашими локальными системами.</p></li><li><p>Интернет-соединение посредством кабельного модема,
        <acronym class="acronym">DSL</acronym>, <acronym class="acronym">ISDN</acronym>, Frame Relay,
        коммутирумой линии ...</p></li></ul></div><p>Вот схема типичной установки:</p><div class="figure"><a id="id257922"></a><p class="title"><b>Figure 1. schematic of a typical installation</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/dmz1.png" align="middle" alt="schematic of a typical installation" /></div></div></div><br class="figure-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id257946"></a>Системные требования</h3></div></div></div><p>Shorewall требует, чтобы у Вас был установлен пакет
      <span class="command"><strong>iproute</strong></span>/<span class="command"><strong>iproute2</strong></span> (на
      <span class="trademark">RedHat</span>™, этот пакет называется<span class="command"><strong>
      iproute</strong></span>). Вы можете определить установлен ли этот пакет по
      наличию программы <span class="command"><strong>ip</strong></span> на Вашем файерволе. Как root, Вы
      можете использовать команду <span class="command"><strong>which</strong></span> для проверки
      наличия этой программы:</p><pre class="programlisting">[root@gateway root]# <span class="command"><strong>which ip</strong></span>
/sbin/ip
[root@gateway root]#</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id258231"></a>Перед тем как начать</h3></div></div></div><p>Я рекомендую Вам прочитать все руководство для первоначального
      ознакомления, а лишь затем пройти его снова, внося изменения в Вашу
      конфигурацию.</p><div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Caution</h3><p>Если Вы редактируете Ваши файлы конфигурации на
        <span class="trademark">Windows</span>™ системе, Вы должны сохранить их как
        <span class="trademark">Unix</span>™ файлы в том случае, если Ваш редактор
        поддерживает эту возможность, иначе Вы должны пропустить их через
        программу <span class="command"><strong>dos2unix</strong></span> перед тем как использовать их.
        Аналогично, если Вы копируете конфигурационный файл с Вашего жесткого
        диска с Windows на дискету, Вы должны воспользоваться
        <span class="command"><strong>dos2unix</strong></span> для копии перед ее использованием с
        Shorewall. </p><div class="itemizedlist"><ul type="disc"><li><p><a class="ulink" href="http://www.simtel.net/pub/pd/51438.html" target="_self"><span class="trademark">Windows</span>™
              версия <span class="command"><strong>dos2unix</strong></span></a></p></li><li><p><a class="ulink" href="http://www.megaloman.com/%7Ehany/software/hd2u/" target="_self">Linux
              версия <span class="command"><strong>dos2unix</strong></span></a></p></li></ul></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="id258323"></a>Conventions</h3></div></div></div><p>Места, в которых рекомендуется вносить изменения, отмечены как
      <img src="images/BD21298_.gif" />.</p><p>Замечания по настройке уникальные для проекта LEAF/Bering,
      отмечены как <img src="images/leaflogo.gif" />.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id258353"></a>PPTP/ADSL</h2></div></div></div><p><img src="images/BD21298_.gif" /></p><p>Если У Вас есть <acronym class="acronym">ADSL</acronym> модем и Вы используете
    <acronym class="acronym">PPTP</acronym> для взаимодействия с сервером на этом модеме, Вы
    должны сделать изменения рекоммендуемые <a class="ulink" href="PPTP.htm#PPTP_ADSL" target="_self">здесь</a> <span class="bold"><strong><span class="underline"><span class="emphasis"><em>в дополнение к тем, что описаны в последующих
    шагах</em></span></span></strong></span>. <acronym class="acronym">ADSL</acronym> с
    <acronym class="acronym">PPTP</acronym> наиболее распространен в Европе, особенно в
    Австрии.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id257583"></a>Концепции Shorewall</h2></div></div></div><p>Конфигурационные файлы Shorewall находятся в директории <code class="filename">/etc/shorewall</code> -- в случае простой установки
    Вам необходимо иметь дело только с немногими из них, как описано в этом
    руководстве.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><span class="bold"><strong>Замечание для пользователей
        Debian</strong></span></p><p>Если Вы при установке пользовались .deb, Вы обнаружите, что
        директория <code class="filename">/etc/shorewall</code>
        пуста. Это сделано специально. Поставляемые шаблоны файлов
        конфигурации Вы найдете на вашей системе в директории <code class="filename">/usr/share/doc/shorewall-common/default-config</code>.
        Просто скопируйте нужные Вам файлы из этой директории в <code class="filename">/etc/shorewall</code> и отредактируйте
        копии.</p><p>Заметьте, что Вы должны скопировать <code class="filename">/usr/share/doc/shorewall-common/default-config/shorewall.conf</code>
        и <code class="filename">/usr/share/doc/shorewall-common/default-config/modules</code>
        в <code class="filename">/etc/shorewall</code> даже если Вы
        не будете изменять эти файлы.</p></div><p><img src="images/BD21298_.gif" /></p><p>После того как Вы <a class="ulink" href="Install.htm" target="_self">установили
    Shorewall</a>, Вы можете найти примеры файлов настроек в следующих
    местах:</p><div class="orderedlist"><ol type="1"><li><p>Если Вы при установке использовали <acronym class="acronym">RPM</acronym>,
        примеры будут находится в поддиректории <code class="filename">Samples/three-interface</code> директории с
        документацией Shorewall. Если Вы не знаете где расположена директория
        с документацией Shorewall, Вы можете найти примеры используя
        команду:</p><pre class="programlisting">~# rpm -ql shorewall | fgrep three-interfaces
/usr/share/doc/packages/shorewall/Samples/three-interfaces
/usr/share/doc/packages/shorewall/Samples/three-interfaces/interfaces
/usr/share/doc/packages/shorewall/Samples/three-interfaces/masq
/usr/share/doc/packages/shorewall/Samples/three-interfaces/policy
/usr/share/doc/packages/shorewall/Samples/three-interfaces/routestopped
/usr/share/doc/packages/shorewall/Samples/three-interfaces/rules
/usr/share/doc/packages/shorewall/Samples/three-interfaces/zones
~#</pre></li><li><p>Если Вы установили Shorewall из tarball'а, примеры находятся в
        директории <code class="filename">Samples/three-interface</code> внутри
        tarball'а.</p></li><li><p>Если же Вы пользовались пакетом .deb, примеры находятся в
        директории<code class="filename">/usr/share/doc/shorewall-common/examples/three-interface</code>.</p></li></ol></div><p>По мере того как мы будем знакомится с каждым файлом, я надеюсь, что
    Вы просмотрите реальный файл на вашей системе -- каждый файл содержит
    детальное описание конфигурационных инструкций и значений по
    умолчанию.</p><p>Shorewall видит сеть, в которой он работает, как состоящую из набора
    <span class="emphasis"><em>зон(zones)</em></span>. В примере конфигурации с тремя
    интерфейсами, определены следующие зоны:</p><pre class="programlisting">#ZONE   TYPE   OPTIONS                 IN                      OUT
#                                      OPTIONS                 OPTIONS
fw      firewall
net     ipv4
loc     ipv4
dmz     ipv4</pre><p>Зоны Shorewall описаны в файле <a class="ulink" href="manpages/shorewall-zones.html" target="_self"><code class="filename">/etc/shorewall/zones</code></a>.</p><p>Заметьте, что Shorewall рассматривает систему файервола как свою
    собственную зону. При обработке файла
    <code class="filename">/etc/shorewall/zones</code> имя зоны файервола
    (“<span class="quote">fw</span>” в примере выше) храниться в переменной shell
    <em class="firstterm">$FW</em>, которая может использоваться во всей
    конфигурации Shorewall для ссылки на сам файервол.</p><p>Правила о том какой трафик разрешен, а какой запрещен выражаются в
    терминах зон.</p><div class="itemizedlist"><ul type="disc"><li><p>Вы отражаете Вашу политику по умолчанию для соединений из одной
        зоны в другую в файле<a class="ulink" href="manpages/shorewall-policy.html" target="_self"><code class="filename">/etc/shorewall/policy</code></a>.</p></li><li><p>Вы определяете исключения из политики по умолчанию в файле
        <a class="ulink" href="manpages/shorewall-rules.html" target="_self"><code class="filename">/etc/shorewall/rules</code></a>.</p></li></ul></div><p>Для каждого запроса на соединение входящего в файервол, запрос
    сначала проверяется на соответствие файлу<code class="filename"><code class="filename">
    /etc/shorewall/rules</code></code>. Если в этом файле не найдено
    правил соответствующих запросу на соединение, то применяется первая
    политика из файла <code class="filename">/etc/shorewall/policy</code>, которая
    соответсвует запросу. Если есть <a class="ulink" href="shorewall_extension_scripts.htm" target="_self">общее действие (common
    action</a>) определенное для политики в файле
    <code class="filename">/etc/shorewall/actions</code> или
    <code class="filename">/usr/share/shorewall/actions.std</code>, тогда это действие
    выполняется перед тем как .</p><p>Файл <code class="filename">/etc/shorewall/policy,</code> входящий в пример с
    тремя интерфейсами, имеет следующие политики:</p><pre class="programlisting">#SOURCE    DEST        POLICY      LOG LEVEL    LIMIT:BURST
loc        net         ACCEPT
net        all         DROP        info
all        all         REJECT      info</pre><p>В примере с тремя интерфейсами строка показанная внизу
    закомментирована. Если Вы хотите, чтобы Ваш файервол имел полный доступ к
    серверам Интернет, раскомментируйте эту строчку. </p><pre class="programlisting">#SOURCE    DEST        POLICY      LOG LEVEL    LIMIT:BURST
$FW        net         ACCEPT</pre><p>Политики приведенные выше
    будут:</p><div class="orderedlist"><ol type="1"><li><p>разрешать все запросы на соединение из Вашей локальной сети в
        Интернет;</p></li><li><p>отбрасывать (игнорировать) все запросы на соединение из Интернет
        к Вашему файерволу или локальной сети;</p></li><li><p>Опционально разрешать все запросы на соединение с файервола в
        Интернет (если Вы раскомментировали дополнительную политику);</p></li><li><p>отвергать все другие запросы на соединение (Shorewall требует
        наличия такой политики, применимой для всех остальных
        запросов).</p></li></ol></div><p>Важно отметить, что политики Shorewall (и правила) ссылаются на
    <span class="bold"><strong>соединения</strong></span>, а не на поток пакетов. С
    политикой определенной в файле<code class="filename">
    /etc/shorewall/policy</code>, показанной выше, разрешены соединения из
    зоны “<span class="quote">loc</span>” в зону “<span class="quote">net</span>”, хотя на сам файервол
    соединения из зоны “<span class="quote">loc</span>” не разрешены.</p><p><img src="images/BD21298_.gif" /></p><p>В данный момент Вы можете отредактировать ваш файл
    <code class="filename">/etc/shorewall/policy</code> и внести изменения, какие Вы
    считаете необходимыми.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id302300"></a>Сетевые интерфейсы</h2></div></div></div><div class="figure"><a id="id302305"></a><p class="title"><b>Figure 2. DMZ</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/dmz1.png" align="middle" alt="DMZ" /></div></div></div><br class="figure-break" /><p>Файервол имеет три сетевых интерфейса. Если соединение с Интернет
    осуществляется при помощи кабельного или <acronym class="acronym">DSL</acronym>
    “<span class="quote">Модема</span>”, <span class="emphasis"><em>Внешним интерфейсом</em></span> будет тот
    ethernet-адаптер (например, <code class="filename">eth0</code>),
    который подсоединен к этому “<span class="quote">Модему</span>”, <span class="underline">если же</span> Вы соединены посредством протокола
    <span class="emphasis"><em>Point-to-Point Protocol over Ethernet</em></span>
    (<acronym class="acronym">PPPoE</acronym>) или <span class="emphasis"><em>Point-to-Point Tunneling
    Protocol</em></span> (<acronym class="acronym">PPTP</acronym>), то в этом случае
    <span class="emphasis"><em>Внешним интерфейсом</em></span> будет <acronym class="acronym">PPP</acronym>
    интерфейс (например, <code class="filename">ppp0</code>). Если
    Вы подсоединены через обычный модем, Вашим <span class="emphasis"><em>Внешним
    интерфейсом</em></span> будет также <code class="filename">ppp0</code>. Если Вы соединяетесь используя
    <acronym class="acronym">ISDN</acronym>, <span class="emphasis"><em>Внешним интерфейсом</em></span> будет
    <code class="filename">ippp0</code>.</p><p><img src="images/BD21298_.gif" /></p><p><span class="bold"><strong>Если Ваш внешний интерфейс - это <code class="filename">ppp0</code> или <code class="filename">ippp0</code>, тогда Вы можете захотеть установить
    переменную <code class="varname">CLAMPMSS=yes</code> в <code class="filename">/etc/shorewall/</code><code class="filename">shorewall.conf</code></strong></span>.</p><p>Ваш <span class="emphasis"><em>Внешний интерфейс</em></span> будет ethernet-адаптер
    (<code class="filename">eth0</code>, <code class="filename">eth1</code> or <code class="filename">eth2</code>) и будет соединен с
    <span class="emphasis"><em>хабом</em></span> или <span class="emphasis"><em>коммутатором</em></span>. Другие
    Ваши компьютеры будут соединены с тем же хабом/коммутатором (заметьте:
    если Вы имеете только одну внутреннюю систему, Вы можете соединить
    файервол с этим компьютером напрямую, используя кроссоверный (cross-over)
    кабель.</p><p>Ваш <acronym class="acronym">DMZ</acronym>-bynthatqc будет ethernet-адаптер
    (<code class="filename">eth0</code>, <code class="filename">eth1</code> or <code class="filename">eth2</code>) и будет соединен с хабом или
    комутатором. Другие Ваши компьютеры из <acronym class="acronym">DMZ</acronym> будут
    соединены с тем же хабом/коммутатором (заметьте: если Вы имеете только
    одну систему в <acronym class="acronym">DMZ</acronym>, Вы можете соединить файервол с этим
    компьютером напрямую, используя кроссоверный (cross-over) кабель.</p><div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Caution</h3><p><span class="bold"><strong>НЕ подсоединяйте внутренний и внешний
      интерфейсы к одному т тому же хабу или коммутатору исключая время
      тестирование</strong></span>.Вы можете провести тестирование используя данную
      конфигурацию, если Вы указали параметр <code class="varname">ARP_FILTER</code> в
      <code class="filename">/etc/shorewall/</code><code class="filename">interfaces</code>
      для всех интерфейсов подсоединенных к общему хабу/коммутатору. <span class="bold"><strong>Использовать такие установки на рабочем файерволе строго не
      рекоммендуется</strong></span>.</p></div><p><img src="images/BD21298_.gif" /></p><p>Пример конфигурации Shorewall с тремя интерфейсами подразумевает,
    что внешний интерфейс - это <code class="filename">eth0</code>,
    внутренний - <code class="filename">eth1</code>, а
    <acronym class="acronym">DMZ</acronym> - <code class="filename">eth2</code>.
    Если Ваша конфигурация отличается, Вы должны будете изменить пример файл
    <code class="filename">/etc/shorewall/</code><code class="filename">interfaces</code>
    соответственно. Пока Вы здесь, Вы возможно захотите просмотреть список
    опций, специфичных для интерфейса. Вот несколько подсказок:</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Tip</h3><p>Если Ваш внешний интерфейс <code class="filename">ppp0</code> или <code class="filename">ippp0</code>, Вы можете заменить
      “<span class="quote">detect</span>”(обнаружить) во втором столбце на
      “<span class="quote">-</span>”(знак минус в ковычках).</p></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Tip</h3><p>Если Ваш внешний интерфейс <code class="filename">ppp0</code> или <code class="filename">ippp0</code> или Вы имеете статический
      <acronym class="acronym">IP</acronym>-адрес, Вы можете удалить “<span class="quote">dhcp</span>” из
      списка опций.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id302702"></a>IP-адреса</h2></div></div></div><p>Перед тем как идти дальше, мы должны сказать несколько слов о
    <span class="emphasis"><em>Internet Protocol</em></span> (<acronym class="acronym">IP</acronym>)-адресах.
    Обычно, Ваш Интернет-провайдер<span class="emphasis"><em>(Internet Service
    Provider</em></span> - <acronym class="acronym">ISP</acronym>) назначает Вам один
    <acronym class="acronym">IP</acronym>-адрес. Этот адрес может быть назначен статически,
    при помощи <span class="emphasis"><em>Протокола Динамического Конфигурирования Хостов
    (Dynamic Host Configuration Protocol</em></span> -
    <acronym class="acronym">DHCP</acronym>), в процессе установки Вами коммутированного
    соединения (обычный модем), или при установке Вами другого типа
    <acronym class="acronym">PPP</acronym> (<acronym class="acronym">PPPoA</acronym>, <acronym class="acronym">PPPoE</acronym>
    и т.д.) соединения. В последнем случае Ваш <acronym class="acronym">ISP</acronym> может
    назначит Вам статический <acronym class="acronym">IP</acronym>-адрес; что означает, что Вы
    настраиваете внешний интерфейс Вашего файервола на использование этого
    адреса постоянно. Как бы ни был назначен Вам внешний адрес, он будет
    разделяться между всеми Вашими системами при доступе в Интернет. Вы должны
    будете назначить свои собственные адреса в Вашей внутренней сети
    (внутренний и <acronym class="acronym">DMZ</acronym> интерфейсы на Вашем файерволе, плюс
    другие Ваши компьютеры). <acronym class="acronym">RFC-1918</acronym> резервирует несколько
    <span class="emphasis"><em>Частных (Private)</em></span> <acronym class="acronym">IP</acronym>-адресов для
    этих целей:</p><pre class="programlisting">10.0.0.0    - 10.255.255.255
172.16.0.0  - 172.31.255.255
192.168.0.0 - 192.168.255.255</pre><p><img src="images/BD21298_.gif" /></p><p>Перед запуском Shorewall, <span class="bold"><strong>Вы должны взглянуть
    на IP-адрес Вашего внешнего интерфейса и если он входит в один указанных
    выше пазонов, Вы должны удалить опцию “<span class="quote">norfc1918</span>” из строки
    для внешнего интерфейса в файле <code class="filename">/etc/shorewall/</code><code class="filename">interfaces</code>.</strong></span></p><p>Вы можете захотеть назначить Ваши локальные адреса из одной подсети
    (subnet), а адреса <acronym class="acronym">DMZ</acronym> из другой подсети . Для наших
    целей мы можем рассматривать подсеть состоящую из диапазона адресов
    <code class="varname">x.y.z.0 - x.y.z.255</code>. Такая подсеть будет иметь
    <span class="emphasis"><em>Маску Подсети</em></span> (<span class="emphasis"><em>Subnet Mask</em></span>) -
    <code class="systemitem">255.255.255.0</code>. Адрес
    <code class="varname">x.y.z.0</code> зарезервирован как <span class="emphasis"><em>Адрес Подсети
    (Subnet Address)</em></span>, а <code class="varname">x.y.z.255</code> как
    <span class="emphasis"><em>Широковещательный Адрес Подсети (Subnet Broadcast
    Address</em></span>). В Shorewall подсеть описывается с использованием
    нотации <a class="ulink" href="shorewall_setup_guide.htm#Subnets" target="_self">Бесклассовой
    Междоменной Маршрутизации (Classless InterDomain Routing</a> -
    <acronym class="acronym">CIDR</acronym> notation) с адресом посети оканчивающимся
    <code class="varname">/24</code>. “<span class="quote">24</span>” указывает число непрерывных
    ведущих бит установленных в “<span class="quote">1</span>” слева в маске подсети.</p><div class="table"><a id="id302896"></a><p class="title"><b>Table 1. Example sub-network</b></p><div class="table-contents"><table summary="Example sub-network" border="1"><colgroup><col align="left" /><col /></colgroup><tbody><tr><td align="left">Диапазон:</td><td><code class="systemitem">10.10.10.0</code> -
            <code class="systemitem">10.10.10.255</code></td></tr><tr><td align="left">Адрес подсети:</td><td><code class="systemitem">10.10.10.0</code></td></tr><tr><td align="left">Широковещательный адрес:</td><td><code class="systemitem">10.10.10.255</code></td></tr><tr><td align="left">Нотация CIDR::</td><td><code class="systemitem">10.10.10.0/24</code></td></tr></tbody></table></div></div><br class="table-break" /><p>Удобно назначать внутреннему интерфейсу либо первый используемый
    адрес подсети (<code class="systemitem">10.10.10.1</code> в
    примере выше), либо последний используемый адрес (<code class="systemitem">10.10.10.254</code>).</p><p>Одна из целей разбиения на подсети - это позволить всем компьютерам
    в подсети понимать с какими другими компьютерами можно взаимодействовать
    напрямую. При взаимодействии с системами находящимися вне подсети, системы
    посылают пакеты через <span class="emphasis"><em>шлюз (маршрутизатор) (gateway
    (router</em></span>)).</p><p><img src="images/BD21298_.gif" /></p><p>Ваши локальные компьютеры (локальные компьютеры 1 &amp; 2 на
    диаграмме выше) должны быть сконфигурированы так, чтобы
    <acronym class="acronym">IP</acronym>-адресом их маршрутизатора по умолчанию был
    <acronym class="acronym">IP</acronym>-адрес внутреннего интерфейса файервола и Ваши
    компьютеры <acronym class="acronym">DMZ</acronym> (<acronym class="acronym">DMZ</acronym> компьютеры 1
    &amp; 2) должны иметь <acronym class="acronym">IP</acronym>-адрес маршрутизатора по
    умолчанию установленным в <acronym class="acronym">IP</acronym>-адрес
    <acronym class="acronym">DMZ</acronym>- интерфейса файервола.</p><p>Короткая предшествующая дискуссия лишь поверхностно затронула
    вопросы связанные с подсетями и маршрутизацией. Если Вы заинтересованы
    узнать больше об <acronym class="acronym">IP</acronym>-адресации и маршрутизации, я очень
    рекомендую “<span class="quote">Основы IP: Что нужно знать каждому об адресации и
    маршрутизации</span>” (“<span class="quote">IP Fundamentals: What Everyone Needs to Know
    about Addressing &amp; Routing</span>”), Thomas A. Maufer, Prentice-Hall,
    1999, ISBN 0-13-975483-0 (<a class="ulink" href="http://www.phptr.com/browse/product.asp?product_id={58D4F6D4-54C5-48BA-8EDD-86EBD7A42AF6}" target="_self">link</a>).</p><p>Оставшаяся часть руководства расчитана на то, что Вы имеете сеть,
    сконфигурированную так, как показано здесь:</p><div class="figure"><a id="id303093"></a><p class="title"><b>Figure 3. DMZ</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/dmz2.png" alt="DMZ" /><div class="caption"><p>Маршрутизатором по умолчанию для DMZ должен быть<code class="systemitem">10.10.11.254</code>, а для локальных
          компьютеров 1 и 2 должен быть <code class="systemitem">10.10.10.254</code>.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>Ваш <acronym class="acronym">ISP</acronym> может назначить Вашему внешнему
            интерфейсу адрес из <acronym class="acronym">RFC-1918</acronym>. Если этот адрес
            из подсети <code class="systemitem">10.10.10.0/24</code>, тогда <span class="bold"><strong>Вы должны будете выделить ДРУГУЮ подсеть
            <acronym class="acronym">RFC-1918</acronym> для вашей локальной подсети и если это
            <code class="systemitem">10.10.11.0/24</code>, то Вы
            должны будете выделить ДРУГУЮ подсеть <acronym class="acronym">RFC-1918</acronym>
            для Вашей DMZ.</strong></span></p></div></div></div></div></div><br class="figure-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id303182"></a>IP-маскарадинг (SNAT)</h2></div></div></div><p>Адреса зарезервированные <acronym class="acronym">RFC-1918</acronym> иногда называют
    немаршрутизируемыми потому, что магистральные маршрутизаторы Интернет не
    переправляют пакеты, которые имеют адрес назначения из
    <acronym class="acronym">RFC-1918</acronym>. Когда одна из Ваших локальных систем
    (допустим computer 1) посылает запрос на соединение хосту в Интернете,
    файервол должен выполнить <span class="emphasis"><em>Трансляцию Сетевого Адреса (Network
    Address Translation</em></span> - <acronym class="acronym">NAT</acronym>). Файервол
    перезаписывает адрес источника в пакете адресом внешнего интерфейса
    файервола; другими словами, файервол делает так, чтобы это выглядело как
    файервол сам инициируетсоединение. Это необходимо так как хост назначения
    должен быть способен направить пакеты назад файерволу через маршрутизаторы
    (вспомним, что пакеты с адресом назначения зарезервированным
    <acronym class="acronym">RFC-1918</acronym> не могут быть маршрутизированы через Интернет
    и следовательно удаленный хост не сможет адресовать ответ на computer 1).
    Когда файервол принимает ответный пакет, он перезаписывает адрес
    назначения обратно в <code class="systemitem">10.10.10.1</code>
    и переправляет пакет на computer 1.</p><p>На Linux системах, описанный выше процесс называют
    <span class="emphasis"><em><acronym class="acronym">IP</acronym>-маскарадингом (<acronym class="acronym">IP</acronym>
    Masquerading)</em></span>, но Вы будете также встречать термин
    <span class="emphasis"><em>Преобразование Сетевого Адреса Источника (Source Network Address
    Translation</em></span> - <acronym class="acronym">SNAT</acronym>). Shorewall следует
    соглашению используемому Netfilter: </p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Masquerade</em></span> описывает случай, когда Вы
          позволяете своему файерволу автоматически определять адрес внешнего
          интерфейса.</p></li><li><p><acronym class="acronym">SNAT</acronym> используют в случае, когда Вы
          определенно указываете адрес источника, который Вы хотите
          использовать для покидающих Вашу локальную сеть пакетов.</p></li></ul></div><p> В Shorewall оба режима <span class="emphasis"><em>Маскарадинг
    (Masquerading)</em></span> и <acronym class="acronym">SNAT</acronym> конфигурируются
    записями в файле <code class="filename">/etc/shorewall/</code><code class="filename">masq</code>. Вы
    будете обычно использовать Маскарадинг, если Ваш внешний
    <acronym class="acronym">IP</acronym>-адрес - динамический и <acronym class="acronym">SNAT</acronym>, если
    внешний <acronym class="acronym">IP</acronym>-адрес - статический.</p><p><img src="images/BD21298_.gif" /></p><p>Если Ваш внешний интерфейс файервола - <code class="filename">eth0</code>, Ваш локальный интерфейс - <code class="filename">eth1</code> и Ваш <acronym class="acronym">DMZ</acronym>-нитерфейс
    - <code class="filename">eth2</code>, Вам не нужно изменять файл
    из примера. В противном случае, отредактируйте <code class="filename">/etc/shorewall/</code><code class="filename">masq</code> так,
    чтобы он соответствовал Вашей конфигурации.</p><p>А если, несмотря и вопреки всем советам, Вы используете это
    руководство и хотите применить <acronym class="acronym">NAT</acronym> один-к-одному или
    прокси-<acronym class="acronym">ARP</acronym> для Вашей <acronym class="acronym">DMZ</acronym>, удалите
    запись для <code class="filename">eth2</code> из файла
    <code class="filename">/etc/shorewall/masq</code>.</p><p><img src="images/BD21298_.gif" /></p><p>Если Ваш внешний <acronym class="acronym">IP</acronym>-адрес - статический, Вы
    можете ввести его в третьем столбце записи файла <code class="filename">/etc/shorewall/</code><code class="filename">masq</code> если
    Вам нравиться, хотя Ваш файервол будет прекрасно работать, даже если Вы
    оставите этот столбец пустым. Вводя Ваш статический
    <acronym class="acronym">IP</acronym>-адрес в третьем столбце, Вы делаете обработку
    исходящих пакетов немного более эффективной.</p><p><img src="images/BD21298_.gif" /></p><p><span class="bold"><strong>Если Вы используете пакет Debian, проверьте
    пожалуйста Ваш файл <code class="filename">shorewall.conf</code>, чтобы убедиться,
    что следующее установлено правильно; если нет, измените это
    соответственно:</strong></span> </p><div class="itemizedlist"><ul type="disc" compact="compact"><li><p><code class="varname">IP_FORWARDING=On</code></p></li></ul></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id303484"></a>Перенаправление портов (DNAT)</h2></div></div></div><p>Одной из Ваших целей может быть запуск одного или более серверов на
    Ваших <acronym class="acronym">DMZ</acronym> компьютерах. Так как эти компьютеры имеют
    адреса из <acronym class="acronym">RFC-1918</acronym>, то клиентам из Интернет невозможно
    соединиться напрямую с ними. Это более невозможно для тех клиентов, кто
    адресует свои запросы для соединения на файервол, который переписывает
    адрес назначения на адрес Вашего сервера и переправляет пакет на этот
    сервер. Когда Ваш сервер отвечает, файервол автоматически выполняет
    <acronym class="acronym">SNAT</acronym> для перезаписи адреса источника в ответе.</p><p>Описанный выше процесс называется <span class="emphasis"><em>Перенапрвление Портов
    (Port Forwarding)</em></span> или <span class="emphasis"><em>Преобразование Сетевого Адреса
    Назначения (Destination Network Address Translation</em></span> -
    <acronym class="acronym">DNAT</acronym>). Вы настраиваете перенаправление портов при
    помощи правил <acronym class="acronym">DNAT</acronym> в файле <code class="filename">/etc/shorewall/</code><code class="filename">rules</code>.</p><p>Основная форма примерного правила перенаправления портов в <code class="filename">/etc/shorewall/</code><code class="filename">rules</code>
    такая: </p><pre class="programlisting">#ACTION   SOURCE    DEST                                          PROTO      DEST PORT(S)
DNAT      net       dmz:<span class="emphasis"><em>&lt;server local IP address&gt;</em></span>[:<span class="emphasis"><em>&lt;server port&gt;</em></span>] <span class="emphasis"><em>&lt;protocol&gt;</em></span> <span class="emphasis"><em>&lt;port&gt;</em></span></pre><p>Если
    Вы не указали <span class="emphasis"><em><code class="varname">&lt;server port&gt;</code></em></span>
    (порт сервера), его значение будет таким же как и у
    <span class="emphasis"><em><code class="varname">&lt;port&gt;</code></em></span>.</p><div class="example"><a id="id303588"></a><p class="title"><b>Example 1. Вы запускаете Web-сервер на DMZ-компьютере 2 и хотите
      перенаправить приходящие на порт 80 TCP-запросы на эту систему</b></p><div class="example-contents"><pre class="programlisting">#ACTION     SOURCE    DEST                PROTO      DEST PORT(S)
Web/DNAT     net    dmz:10.10.11.2  
Web/ACCEPT   loc    dmz:10.10.11.2</pre><div class="itemizedlist"><ul type="disc"><li><p>Первая запись перенаправляет порт 80 из Интернет.</p></li><li><p>Вторая запись разрешает соединения из локальной сети.</p></li></ul></div><p>Нужно иметь в виду несколько важных
      моментов:</p><div class="itemizedlist"><ul type="disc"><li><p>Когда Вы соединяетесь с Вашим сервером с Ваших локальных
            систем, Вы должны внутренний <acronym class="acronym">IP</acronym>-адрес сервера
            (<code class="systemitem">10.10.11.2</code>).</p></li><li><p>Многие <acronym class="acronym">ISP</acronym> блокируют входящие запросы для
            соединения на порт 80. Если у Вас есть проблемы при соединении с
            Вашим Web-сервером, попробуйте следующее правило и попытайтесь
            соединиться с портом 5000 (например, подключитесь к
            <code class="literal">http://w.x.y.z:5000</code>, где
            <code class="literal">w.x.y.z</code> - Ваш внешний
            <acronym class="acronym">IP</acronym>).</p><pre class="programlisting">#ACTION   SOURCE    DEST                PROTO      DEST PORT(S)    SOURCE
#                                                                  PORT(S)
DNAT      net       dmz:10.10.11.2:80   tcp        80              5000</pre></li><li><p>Если Вы хотите иметь доступ к Вашим серверам из локальной
            сети используя Ваш внешний адрес, тогда, если Вы имеете
            статический внешний <acronym class="acronym">IP</acronym>-адрес, Вы можете
            заменить правило “<span class="quote">loc</span>”-&gt;“<span class="quote">dmz</span>” выше
            на:</p><pre class="programlisting">#ACTION   SOURCE    DEST            PROTO  DEST PORT(S)  SOURCE   ORIGINAL
#                                                        PORT(S)  DEST
DNAT      loc       dmz:10.10.11.2  tcp    80            -        <span class="emphasis"><em>&lt;external IP&gt;</em></span></pre><p>Если
            же у Вас динамический внешний <acronym class="acronym">IP</acronym>-адрес, то Вы
            должны убедиться, что Ваш внешний интерфейс включен перед тем как
            запускать Shorewall и Вам нужно выполнить следующие операции
            (подразумевая, что Ваш внешний интерфейс - <code class="filename">eth0</code>):</p><div class="orderedlist"><ol type="1"><li><p>Включить следующую строку в файл <code class="filename">/etc/shorewall/</code><code class="filename">params</code>:</p><p><span class="command"><strong>ETH0_IP=$(find_interface_address
                  eth0)</strong></span></p></li><li><p>Создать Ваше правило
                  “<span class="quote">loc</span>”-&gt;“<span class="quote">dmz</span>”: </p><pre class="programlisting">#ACTION   SOURCE    DEST             PROTO   DEST PORT(S)  SOURCE   ORIGINAL
#                                                          PORT(S)  DEST
DNAT      loc       dmz:10.10.11.2   tcp     80            -        $ETH0_IP</pre></li></ol></div></li><li><p>Если Вам нужен доступ к серверу из <acronym class="acronym">DMZ</acronym>,
            используйте для доступа Ваш внешний <acronym class="acronym">IP</acronym>-адрес,
            смотрите <a class="ulink" href="FAQ.htm#faq2a" target="_self">FAQ 2a</a>.</p></li></ul></div></div></div><br class="example-break" /><p><img src="images/BD21298_.gif" /></p><p>В этом месте измените добавьте правила <code class="varname">DNAT</code> и
    <code class="varname">ACCEPT</code> для Ваших серверов.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Когда тестируете правила <code class="varname">DNAT</code> похожие на те,
      что приведены выше, Вы должны тестировать с клиента ИЗВНЕ ВАШЕГО
      ФАЙЕРВОЛА (в зоне “<span class="quote">net</span>”). Вы не можете протестировать эти
      правила изнутри файервола!</p><p>Советы по разрешению проблем с <acronym class="acronym">DNAT</acronym>, смотрите в
      <a class="ulink" href="FAQ.htm#faq1a" target="_self">FAQs 1a и 1b</a>.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id303849"></a>Сервер Доменных Имен (Domain Name Server - DNS)</h2></div></div></div><p>Normally, when you connect to your ISP, as part of getting an IP
    address your firewall's <span class="emphasis"><em>Domain Name Service</em></span> (DNS)
    resolver will be automatically configured (e.g., the
    <code class="filename">/etc/resolv.conf</code> file will be written).
    Alternatively, your ISP may have given you the IP address of a pair of DNS
    name servers for you to manually configure as your primary and secondary
    name servers. It is your responsibility to configure the resolver in your
    internal systems. You can take one of two approaches: </p><div class="itemizedlist"><ul type="disc"><li><p>You can configure your internal systems to use your
          <acronym class="acronym">ISP</acronym>'s name servers. If your
          <acronym class="acronym">ISP</acronym> gave you the addresses of their servers or if
          those addresses are available on their web site, you can configure
          your internal systems to use those addresses. If that information
          isn't available, look in <code class="filename">/etc/</code><code class="filename">resolv.conf</code>
          on your firewall system -- the name servers are given in
          “<span class="quote">nameserver</span>” records in that file.</p></li><li><p><img src="images/BD21298_.gif" /></p><p>Вы можете настроить <span class="emphasis"><em>Кэширующий Сервер Имен (Caching
          Name Server)</em></span> на Вашем файерволе или в Вашей
          <acronym class="acronym">DMZ</acronym>. <span class="trademark">Red Hat</span>™ имеет
          <acronym class="acronym">RPM</acronym> для кэширующего сервера имен (которому также
          необходим пакет <span class="command"><strong>bind-</strong></span><acronym class="acronym">RPM</acronym>), а
          для пользователей Bering существует <span class="command"><strong>dnscache.lrp</strong></span>.
          Если Вы пойдете этим путем, Вы настраиваете Ваши внутренние системы
          на использование самого файервола как первичного (и только) сервера
          имен. Вы используете внутренний <acronym class="acronym">IP</acronym>-адрес
          файервола (<code class="systemitem">10.10.10.254</code> в
          примере выше) для адреса сервера имен, если Вы запускаете сервер
          имен на Вашем файерволе. Чтобы позволить Вашим локальным системам
          общаться с Вашим кэширующим сервером имен, Вы должны открыть доступ
          к порту 53 (оба <acronym class="acronym">UDP</acronym> и <acronym class="acronym">TCP</acronym>) на
          файерволе из внутренней сети. Вы можете сделать это, добавив
          следующее правило в файл <code class="filename">/etc/shorewall/</code><code class="filename">rules</code>.</p></li></ul></div><p><a id="cachingdns"></a> Если Вы запускаете сервер имен
    на файерволе: </p><pre class="programlisting">#ACTION     SOURCE    DEST                PROTO      DEST PORT(S)                      
DNS/ACCEPT  loc       $FW
DNS/ACCEPT  dmz       $FW            </pre><p>Запуск сервера имен на
    <acronym class="acronym">DMZ</acronym>-компьютере 1: </p><pre class="programlisting">#ACTION     SOURCE    DEST                PROTO      DEST PORT(S)                      
DNS/ACCEPT  loc       dmz:10.10.11.1
DNS/ACCEPT  $FW       dmz:10.10.11.1             </pre><p>В правилах, показанных выше, “<span class="quote">DNS/ACCEPT</span>” - это пример
    <span class="emphasis"><em>предопределенного макроса (defined macro)</em></span>. Shorewall
    включает множество предопределенных макросов и <a class="ulink" href="Macros.html" target="_self">Вы
    можете добавить Ваши собственные</a>. Для просмотра списка макросов,
    включенных в Вашу версию Shorewall, запустите команду <span class="command"><strong>ls
    <code class="filename">/usr/share/shorewall/macro.*</code></strong></span>.</p><p>Вы не обязаны использовать предопределенные макросы при написании
    правил в файле <code class="filename">/etc/shorewall/rules</code>. Первый пример
    выше (сервер имен на файерволе) может быть также записан как:</p><pre class="programlisting">#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              </pre><p>В случаях когда Shorewall не имеет предопределенных макросов,
    отвечающих Вашим потребностям, Вы можете либо определить свой собственный
    макрос, либо просто записать соответствующие правила напрямую. <a class="ulink" href="ports.html" target="_self">Эта страница</a> может помочь Вам в случае, если Вы
    не знаете используемые протокол и порт.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id304083"></a>Другие соединения</h2></div></div></div><p>Пример с тремя интерфейсами включает следующие
    правила:</p><pre class="programlisting">#ACTION     SOURCE    DEST                PROTO      DEST PORT(S)                      
DNS/ACCEPT  $FW       net       </pre><p>Это правило разрешает доступ
    к <acronym class="acronym">DNS</acronym> с Вашего файервола и может быть удалено, если Вы
    раскомментировали строку в <code class="filename">/etc/shorewall/</code><code class="filename">policy</code>,
    разрешающую все соединения с файервола в Интернет.</p><p>Пример также включает:</p><pre class="programlisting">#ACTION     SOURCE    DEST                PROTO      DEST PORT(S)                      
SSH/ACCEPT  loc       $FW
SSH/ACCEPT  loc       dmz        </pre><p>Это правило разрешает Вам
    запускать <acronym class="acronym">SSH</acronym>-сервер на Вашем файерволе и на кождой из
    Ваших <acronym class="acronym">DMZ</acronym>-систем и соединяться с ним с Ваших локальных
    систем.</p><p>Если Вы хотите разрешить другие соединения с Вашего файервола к
    другим системам, основной формат использования макроса
    такой:</p><pre class="programlisting">#ACTION         SOURCE        DEST                PROTO      DEST PORT(S)                      
&lt;<span class="emphasis"><em>macro</em></span>&gt;/ACCEPT  <span class="emphasis"><em>&lt;source zone&gt; &lt;destination zone&gt;</em></span></pre><p>Основной формат при отсутствии предопределенных макросами действий
    такой:</p><pre class="programlisting">#ACTION   SOURCE        DEST                PROTO      DEST PORT(S)                      
ACCEPT    <span class="emphasis"><em>&lt;source zone&gt; &lt;destination zone&gt;  &lt;protocol&gt; &lt;port&gt; </em></span></pre><div class="example"><a id="id304169"></a><p class="title"><b>Example 2. Вы хотите запустить общедоступный DNS-сервер на Вашем
      файерволе</b></p><div class="example-contents"><p>Используя предопределенный макрос:</p><pre class="programlisting">#ACTION     SOURCE    DEST                PROTO      DEST PORT(S)
DNS/ACCEPT  net       $FW</pre><p>Не используя предопределенный макрос:</p><pre class="programlisting">#ACTION   SOURCE    DEST                PROTO      DEST PORT(S)                      
ACCEPT    net       $FW                 tcp        53
ACCEPT    net       $FW                 udp        53        </pre><p>Эти два правила, конечно, должны быть добавлены к тем правилам,
      которые указаны выше в абзаце "если Вы запускаете сервер имен на Вашем
      файерволе"“<span class="quote"><a class="link" href="#cachingdns">если Вы запускаете сервер
      имен на Вашем файерволе</a></span>”.</p></div></div><br class="example-break" /><p>Если Вы не знаете какой порт и протокол использует конкретное
    приложение, смотрите <a class="ulink" href="ports.htm" target="_self">здесь</a>.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Я не рекоммендую разрешать <span class="command"><strong>telnet</strong></span> в/из Интернет
      потому, что он использует открытый текст (даже для передачи имени и
      пароля!). Если Вы хотите иметь доступ к командному интерпретатору Вашего
      файервола из Интернет, используйте
      <acronym class="acronym">SSH</acronym>:</p><pre class="programlisting">#ACTION     SOURCE    DEST                PROTO      DEST PORT(S)                      
SSH/ACCEPT  net       $FW</pre></div><p><img src="images/leaflogo.gif" /></p><p>Пользователи дистрибутива Bering захотят добавить следующие два
    правила для совместимости с конфигурацией Shorewall от Jacques.
    </p><pre class="programlisting">#ACTION   SOURCE    DEST                PROTO      DEST PORT(S)                      
ACCEPT    loc       $FW                 udp        53
ACCEPT    net       $FW                 tcp        80       </pre><div class="itemizedlist"><ul type="disc"><li><p>Запись 1 разрешает использование кэширующего
          <acronym class="acronym">DNS</acronym>.</p></li><li><p>Запись 2 разрешает работу “<span class="quote">weblet</span>”.</p></li></ul></div><p><img src="images/BD21298_.gif" /></p><p>Now modify <code class="filename">/etc/shorewall/rules</code> to add or
    remove other connections as required.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id304403"></a>Что нужно помнить</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="bold"><strong>Вы не можете Ваш файервол
        изнутри</strong></span>. Только потому, что Вы посылаете запросы на внешний
        <acronym class="acronym">IP</acronym>-адрес Вашего файервола не означает, что запросы
        будут ассоциированы с внешним интерфейсом или зоной
        “<span class="quote">net</span>”. Любой трафик, создаваемый из локальной сети будет
        ассоциироваться с Вашим локальным интерфейсом и будет воспринят как
        трафик “<span class="quote">loc</span>”-&gt;“<span class="quote">fw</span>”.</p></li><li><p><span class="bold"><strong>IP-адреса - это свойства систем, а не
        интерфейсов</strong></span>. Ошибочно верить, что Ваш файервол способен
        переправит пакеты только потому, что Вы можете пропинговать
        <acronym class="acronym">IP</acronym>-адрес всех интерфейсов файервола из локальной
        сети. Единственное заключение, которое Вы можете вынести из такого
        успешного пингования - это наличие рабочей связи между локальной
        системой и файерволом и то, что Вы, возможно, правильно указали
        маршрутизатор по умолчанию на локальной системе.</p></li><li><p><span class="bold"><strong>Все IP-адреса, настроенные на интерфейсах
        файервола, принадлежат зоне $FW (“<span class="quote">fw</span>”)</strong></span>. Если
        192.168.1.254 - это <acronym class="acronym">IP</acronym>-адрес Вашего внутреннего
        интерфейса, то Вы можете написать “<span class="quote"><span class="bold"><strong>$FW:192.168.1.254</strong></span></span>” в правиле, но Вы не
        можете написать “<span class="quote"><span class="bold"><strong>loc:192.168.1.254</strong></span></span>”. Также не играет роли
        добавление адреса 192.168.1.254 в зону “<span class="quote">loc</span>” при помощи
        записи в файле <code class="filename">/etc/shorewall/hosts</code>.</p></li><li><p><span class="bold"><strong>Ответные пакеты НЕ следуют автоматически
        обратно тем маршрутом, который использовал исходный запрос</strong></span>.
        Все пакеты маршрутизируются согласно таблице маршрутизации каждого
        хоста на всем пути. Этот вопрос обычно встает когда людч устанавливают
        файервол Shorewall параллельно с имеющимся шлюзом и пытаются
        использовать <acronym class="acronym">DNAT</acronym> сквозь Shorewall без изменения
        шлюза по умолчанию системы, принимающей переправленные запросы.
        Запросы проходят сквозь файервол Shorewall, где изменяется
        <acronym class="acronym">IP</acronym>-адрес назначения, но ответы уходят неизмененными
        через старый шлюз.</p></li><li><p><span class="bold"><strong>Shorewall сам не имеет представления о
        внутренней и внешней стороне</strong></span>. Воплощение этих концепций
        зависит от того, как настроен Shorewall.</p></li></ul></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id304563"></a>Запуск и останов Вашего файервола</h2></div></div></div><p><img src="images/BD21298_.gif" /></p><p><a class="ulink" href="Install.htm" target="_self">Процедура установки</a> настраивает
    Вашу систему для запуска Shorewall при загрузке системе, но запуск
    остается отключен, так что система не будет пытаться запустить Shorewall
    до полного завершения конфигурирования. Как только Вы полностью завершите
    конфигурирование Вашего файервола, Вы можете включить запуск Shorewall,
    отредактировав файл <code class="filename">/etc/shorewall/shorewall.conf</code> и
    установив параметр <code class="varname">STARTUP_ENABLED=Yes</code>.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Пользователи пакета .deb должны отредактировать файл
        <code class="filename">/etc/default/shorewall</code> и установить параметр
        <code class="varname">STARTUP=1.</code></p></div><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Вы должны разрешить запуск путем редактирования файла
        <code class="filename">/etc/shorewall/shorewall.conf</code> и установки
        параметра <code class="varname">STARTUP_ENABLED=Yes.</code></p></div><p>Файервол запускается при помощи команды
    “<span class="quote"><span class="command"><strong>shorewall start</strong></span></span>” и останавливается при
    помощи “<span class="quote"><span class="command"><strong>shorewall stop</strong></span></span>”. Когда файервол
    остановливается, маршрутизация разрешается на те хосты, которые указаны в
    <code class="filename"><a class="ulink" href="manpages/shorewall-routestopped.html" target="_self">/etc/shorewall/routestopped</a></code>.
    Запущенный файервол может быть перезапущен при помощи команды
    “<span class="quote"><span class="command"><strong>shorewall restart</strong></span></span>”. Если Вы хотите
    полностью удалить изменения сделанные Shorewall из конфигурации Вашего
    Netfilter, используйте команду “<span class="quote"><span class="command"><strong>shorewall
    clear</strong></span></span>”.</p><p><img src="images/BD21298_.gif" /></p><p>Пример с двумя интерфейсами предполагает, что Вы хотите разрешить
    маршрутизацию к/из <code class="filename">eth1</code> (локальная
    сеть) и <code class="filename">eth2</code>
    (<acronym class="acronym">DMZ</acronym>) когда Shorewall остановлен. Если эти два
    интерфейса не соединены с Вашей локальной сетью и <acronym class="acronym">DMZ</acronym>
    или если Вы хотите разрешить другой набор хостов, измените файл
    <code class="filename">/etc/shorewall/routestopped</code> соответственно.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>Если Вы подсоединены к Вашему файерволу из Интернет, не
        используйте команду “<span class="quote"><span class="command"><strong>shorewall stop</strong></span></span>”
        если Вы не добавили запись для <acronym class="acronym">IP</acronym>-адреса, с
        которого Вы подсоединены, в <a class="ulink" href="manpages/shorewall-routestopped.html" target="_self"><code class="filename">/etc/shorewall/routestopped</code></a>.
        Также, я не рекоммендую использовать “<span class="quote"><span class="command"><strong>shorewall
        restart</strong></span></span>”; лучше создать <span class="emphasis"><em><a class="ulink" href="configuration_file_basics.htm#Configs" target="_self">альтернативную
        конфигурацию</a></em></span> и протестировать ее при помощи команды
        <a class="ulink" href="starting_and_stopping_shorewall.htm" target="_self">“<span class="quote"><span class="command"><strong>shorewall
        try</strong></span></span>”</a>.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id304772"></a>Дополнительно рекоммендуемая литература</h2></div></div></div><p>Я особо рекоммендую просмотреть Вам <a class="ulink" href="configuration_file_basics.htm" target="_self">страницу Общих Особенностей Файлов
    Конфигурации</a> -- она содержит полезные советы об особенностях
    Shorewall, делающую администрирование Вашего файервола проще.</p></div></div></body></html>