<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>man linux тчк orgy / рукоблудство по Linux</title>
	
	<link>http://manlinux.org</link>
	<description>Just another fucking WordPress бложик</description>
	<lastBuildDate>Sat, 22 May 2010 16:08:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/m/org" /><feedburner:info uri="m/org" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>Just another fucking WordPress бложик</itunes:subtitle><item>
		<title>man mcabber (rus)</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/xDs030Ohdi8/</link>
		<comments>http://manlinux.org/man-mcabber-rus/#comments</comments>
		<pubDate>Sat, 22 May 2010 16:05:31 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[консоль]]></category>
		<category><![CDATA[Chat]]></category>
		<category><![CDATA[Jabber]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=189</guid>
		<description><![CDATA[
НАЗВАНИЕ
~~~~~~~~
mcabber &#8211; маленький консольный Jabber-клиент.
РЕЗЮМЕ
~~~~~~
mcabber [ -f configfile ] [ --help &#124; -h ]
ОПИСАНИЕ
~~~~~~~~
mcabber(1) маленький консольный Jabber-клиент.
Для того, чтобы приступить к работе, необходим файл конфигурации,  поэтому скопируйте пример mcabberrc и отредактируйте его согласно вашей  конфигурации.
Так же Вам будет необходим аккаунт на сервисе Jabber, т.к. в  настоящий момент mcabber не умеет регистрировать (удалять) [...]]]></description>
			<content:encoded><![CDATA[<p><span id="more-189"></span>
<div style="font-family:Mono"><strong>НАЗВАНИЕ</strong><br />
~~~~~~~~</p>
<p>mcabber &#8211; маленький консольный Jabber-клиент.</p>
<p><strong>РЕЗЮМЕ</strong><br />
~~~~~~<br />
mcabber [ -f configfile ] [ --help | -h ]</p>
<p><strong>ОПИСАНИЕ</strong><br />
~~~~~~~~<br />
mcabber(1) маленький консольный Jabber-клиент.<br />
Для того, чтобы приступить к работе, необходим файл конфигурации,  поэтому скопируйте пример mcabberrc и отредактируйте его согласно вашей  конфигурации.</p>
<p>Так же Вам будет необходим аккаунт на сервисе Jabber, т.к. в  настоящий момент mcabber не умеет регистрировать (удалять) аккаунты.</p>
<p>Здесь приведены некоторые возможности mcabber:</p>
<p>* поддержка SSL.</p>
<p>* поддержка конференций MUC (Multi-User Chat).</p>
<p>* поддержка PGP.</p>
<p>* поддержка определения статуса в конференции (уведомление о наборе  текста)</p>
<p>* Ведение истории переписки: если включено (смотрите раздел в файле  конфигурации), mcabber сможет записывать историю переписки в файл.</p>
<p>* Автодополнение комманд: Если это возможно, mcabber пытается  завершить вводимую Вами команду, если Вы нажмете клавишу Tab.</p>
<p>* История командной строки: Любое сообщение или команда, введенные в  командной строке, сохраняются и могут быть вызваны вновь.</p>
<p>* Дополнительные возможности: Некоторые события (такие как пересылка  сообщения) могут быть выполнены как внешняя команда (наподобии  shell-скрипта), если конечно Вы включите эту опцию в файле конфигурации.  Простейший скрипт события (&#8220;eventcmd&#8221;) поставляется вместе с исходным  кодом mcabber, в каталоге contrib.</p>
<p><strong>OPTIONS</strong><br />
~~~~~~~</p>
<p>&#8211;help, -h<br />
Краткая справка</p>
<p>-f configfile<br />
Использовать указанный файл конфигурации &#8220;configfile&#8221;</p>
<p><strong>ОКНА\ПАНЕЛИ</strong><br />
~~~~~~~~~~~</p>
<p>Рабочее окно mcabber(1) поделено на 4 области. Список контактов,  псевдонимы пользователей &#8211; находяться слева. Окно чата (конференции)  находится справа. Строка ввода команд и сообщений &#8211; внизу, под маленьким  окном журнала событий.</p>
<p>Две строки с информацией о статусе обрамляют окно журнала событий.  Нижняя строка статуса &#8211; это &#8220;строка основного статуса&#8221; и отображает  общий статус mcabber`а. Другая строка (сверху окна журнала событий) &#8211;  это &#8220;статус чата (конференции)&#8221; и отображает статус текущего  пользователя.</p>
<p>Чтобы увидеть окно чата (конференции), Вы должны войти в режим чата  (конференции). Вы можете войти в режим чата (конференции) нажав &#8220;Enter&#8221; и  покинуть этот режим нажав клавишу &#8220;ESC&#8221;. Простая отправка сообщений так  же работает в режиме чата (конференции).</p>
<p>Есть несколько преймуществ в использовании двойного режима: первое,  это позволяет правильно распределять непрочитанные сообщения, как  появляющиеся в следующей области; без этого, только прокрутка к  определенному пользователю позволит прочитать новые сообщения всех  остальных пользователей. Второе, это позволяет легко скрывать диалог  одним нажатием клавиши. В третьих, это позволяет перемещаться между  несколькими пользователями, с которыми Вы беседуете, с помощью команды  /roster описанной далее, не используя ручную прокрутку назад или вперед.</p>
<p><strong>КОМБИНАЦИИ КЛАВИШ</strong></p>
<p>Набор текста происходит в строке ввода (переводчик не виноват, так  написано :)); простейшие операции так же поддерживаются (клавишы влево,  вправо, home/end клавиши, insert, delete, backspace&#8230;).</p>
<p>Клавиши PageUp and PageDown использованы для перемещения в списке  контактов.</p>
<p>Клавиши Вверх\Вниз могут быть использованы для перемещения по истории  введенных команд и сообщений в командной строке; они перемещают к  предыдущей\следующей строке в истории введенных команд и сообщений.</p>
<p>Чтобы отправить сообщение, переместитесь к нужному пользователю в  списке контактов, напиши сообщение и нажмите &#8220;Enter&#8221;. Если строка  начинается со слеша &#8220;/&#8221;, данная строка будет распознана как команда  (смотрите раздел КОМАНДЫ). Нажмите &#8220;ESCAPE&#8221; для выхода из режима чата.</p>
<p>Здесь приведены быстрые комбинации клавиш, используемые в программе:</p>
<div>
<pre>Esc             Отключает режим чата
Ctrl-a 		Перемещает к началу набранной строки
Ctrl-e 		Перемещает в конец набранной строки
Ctrl-l 		Принудительная очистка
Up/Down 	Перемещает в истории введенных команд\сообщений
PgUp/PgDown 	Перемещает внутри списка контактов
Tab 		Дополнить вводимое слово в командной строке
Ctrl-g 		Отмена сообщения
Ctrl-c 		Отменить многострочное сообщение\сообщение
Ctrl-d 		Отправить\прервать многострочное сообщение
Ctrl-p/Ctrl-n 	Прокрутить вверх\вниз половину экрана чата (конференции)
Ctrl-Left 	Переместить курсор к началу текущего или следующего слова word
Ctrl-Right 	Переместить курсор к концу текущего или следующего слова word
Ctrl-u 		Удалить текст с начала строки до позиции курсора
Ctrl-k 		Удалить текст с позиции курсора до конца строки
Ctrl-w 		Вернуть удаленное слово
Ctrl-t 		Переставить буквы
Ctrl-o 		Принять строку и поместить следующую строку из истории ввода командной строки в командную строку (accept-line-and-down-history)
Ctrl-q 		Переместиться к следующему непрочитанному сообщению</pre>
</div>
<p>Дополнительные комбинации клавиш могут быть назначены с помощью  команды /bind, описанной в разделе КОМАНДЫ</p>
<p><strong>СПИСОК КОНТАКТОВ MCABBER`А</strong><br />
~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
<p>Первый отображаемый элемент списка контактов это статус [status],  который ведет историю всего, что появляется в окне событий, которое ниже  основного окна чата (конференции). Окно истории было создано для  отображения нескольких последних элементов отражающих статус [status],  что делает удобнее просмотр истории событий, нежели прокрутка  стандартным методом.</p>
<p>Имена групп отображаются над пользователями, которые в эту группу  входят, и отемчаются символами &#8220;&#8212;&#8221; перед названием.</p>
<p>Для каждого реального Jabber-пользователя, списко контактов  отображает 4 вида информации: имя или псевдоним пользователя, статус,  статус авторизации и количество непрочтенных сообщений адресованных Вам.</p>
<p>Статус пользователя может принимать следующие значения:</p>
<div>
<pre>o 	в сети
f 	свободен для чата
a 	ушел
n 	не доступен
d 	не беспокоить
i 	невидим (отображается только для вашего пользователя)
_ 	не в сети (или невидим для Вам)
? 	неизвестен, обычно означает, что Вы не авторизированы для просмотра статуса этого пользователя
x 	конференция в которой вы не участвуете
C 	конференция в которой вы участвуете</pre>
</div>
<p>Статус авторизации показывает значение &#8220;авторизированы&#8221; ли Вы для  получения статуса пользователя и отображается квадратными скобками  вокруг статуса. Квадратный скобки, как [o], означают, что этот  пользователь авторизирован для получения Вашего статуса. Волнистые  скобки, как {o}, означают, что пользователь не авторизирован для  получения Вашего статуса.Символ пропадает после того, как Вы просмотрите  историю сообщений этого пользователя.</p>
<p>Примеры:</p>
<div>
<pre>--- Buds 	Группы с название "Buds"
#[o] John 	John в сети, может видеть Ваш статус и послал Вам новое сообщение, которое Вы еще не прочли
{?} Sally 	Ни Вы ни Sally не авторизированы, чтобы видеть статус друг друга
{a} Jane 	Jane ушла, но она не может видеть Ваш статус
#[C] x@y.c 	Вы участник конференции x@y и там есть непрочитанные сообщения</pre>
</div>
<p><strong>КОМАНДЫ, ОТНОСЯЩИЕСЯ К MCABBER</strong><br />
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
<dl>
<dt>/ALIAS [имя [= команды]]</dt>
<dd>Эта команда позволяет добавлять собственные альтернативные команды  (обозначить ряд команд (одну команду) под определенным именем, для  удобства использования).</dd>
<div>
<pre>Вы можете управлять альтернативными командами следующим образом:
/alias
 Выводит список уже определенных альтернативных команд
/alias name
 Выводит значение для альтернативной команды с именем "name"
/alias name=
 Удаляет альтернативную команду с именем "name"
/alias name = command line
 Определяет альтернативную команду с именем "name" и значением "command line"
Пример: "/alias away = status away", где "away" - название альтернативной команды (по которой она будет вызываться), "status away" - исполняемая команда, которая определит Ваш статус как "away" (т.е. при выполнении команды "away" - Ваш статус будет сменен на "away")</pre>
</div>
<dt>/BIND [keycode [= command line]]</dt>
<dd>Присваивает клавише (определяется по ее keycode) определенную  команду. Чтобы проверить, какие клавишы в настоящее время не  используются, перейдите в &#8220;log window&#8221; и нажмите клавишу, которую Вы  хотите определить для команды. Пример: &#8220;Unknown key=265&#8243; &#8211; это значит,  что Вы можете присвоить клавише 265 (F1) свое значение и она не занята.<br />
(от переводчика: многие windows manager`ы не очень охотно отдают keycode  в терминале, поэтому проще проверять назначена или нет клавиша командой  &#8220;/bind &#8216;keycode&#8217;&#8221;, если Вы получите в ответ &#8220;Key 265 is not bound.&#8221; &#8211;  значит клавише не присвоена команда).</dd>
<div>
<pre>/bind
 Выводит список назначенных клавиш и команд.
/bind keycode
 Выводит команду, которая назначена на введенный keycode.
/bind keycode=
 Отменяет привязку использования команды с введенным keycode.
/bind keycode = command line
 Присваивает команду "command line" к клавише с определенным "keycode"
Пример: "/bind 265 = status away" (265 стандартно клавиша "F1").
Пояснение: коды клавиш (keycodes) могут отличаться от Ваших, в зависимости от настройки ncurses.
Полезно: альтернативные (назначенные) команды также могут использоваться вместо стандартных команд.</pre>
</div>
<dt>/BUFFER  [clear|purge|top|bottom|date|%|search_backward|search_forward]<br />
/BUFFER [scroll_lock|scroll_unlock|scroll_toggle]</dt>
<dd>Команда для управления буфером (от переводчика: историей переписки) с  пользователеми jabber. То есть, Вы можете искать текст прямо в буфере  (истории переписки), очищать окно чата и т.д.</dd>
<div>
<pre>/buffer clear
 Отчищает текущее окно чата
/buffer purge
 Очищает текущее окно чата и очищает все содержимое буфера (истории переписки)
/buffer bottom
 Перемещает к концу буфера (истории переписки) с текущим пользователем
/buffer top
 Перемещает к началу буфера (истории переписки) с текущим пользователем
/buffer up [n]
 Перемещает на [n] строк вверх в буфере (истории переписки) (по умолчанию: половина экрана)
/buffer down [n]
 Перемещает на [n] строк вниз в буфере (истории переписки) (по умолчанию: половина экрана)
/buffer date [date]
 Перемещает в первой строке после определенной даты [date] в буфере (истории переписки) (формат даты: "ГОД-месяц-день" "2006-01-01")
/buffer % n
 Перемещает на позицию %n в текущем буфере (истории переписки)
/buffer search_backward text
 Ищет введенное значение [text] в текущем буфере (истории переписки) (от переводчика: до текущей позиции)
/buffer search_forward text
 Ищет введенное значение [text] в текущем буфере (истории переписки) (от переводчика: после текущей позиции)
/buffer scroll_lock
 Блокирует скроллинг (прокрутку) буфера (истории переписки)
/buffer scroll_unlock
 Разблокирует скроллинг (прокрутку) буфера (истории переписки)
/buffer scroll_toggle
 Показывает настоящее значение скроллинга (прокрутки) (заблокировано/разблокировано)</pre>
</div>
<dt>/CLEAR</dt>
<dd>Эта команда просто альтернативное название (alias) для &#8220;/buffer  clear&#8221;. Она очищает текущее окно переписки.</dd>
<dt>/HELP [command|+topic]</dt>
<dd>Выводит помощь для указанной команды &#8220;command&#8221; или темы &#8220;topic&#8221;</dd>
<p><code>Пример:  "/help buffer"  выводит помощь по команде "buffer"</code></p>
<dt>/QUIT</dt>
<dd>Эта команда завершает все активные соединения и выходит из  mcabber`а.</dd>
<dt>/VERSION</dt>
<dd>Отображает текущую версию mcabber`а.</dd>
</dl>
<p><strong>КОМАНДЫ, ОТНОСЯЩИЕСЯ К СЕРВЕРУ И СОЕДИНЕНИЮ</strong><br />
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
<dl>
<dt>/CONNECT</dt>
<dd>Устанавливает соединение с Jabber-сервером</dd>
<dt>/DISCONNECT</dt>
<dd>Завершает соединение с Jabber-сервером.</dd>
<p><code>Примечание:  список контактов доступен только когда соединение с сервером активно,  поэтому список контактов пуст при завершении соединения.</code></p>
<dt>/EVENT #N|* accept|ignore|reject<br />
/EVENT list</dt>
<dd>Говорит mcabber`у что делать с событиями.<br />
Если первый параметр &#8216;*&#8217;, команда будет применена ко всей очереди  событий.</dd>
<div>
<pre>/event #N|* accept
 Событие номер #N/All будет разрешено
/event #N|* ignore
 Событие номер #N/All будет проигнорировано
/event #N|* reject
 Событие номер #N/All будет отклонено
/event list
 Показать список всех событий</pre>
</div>
<dt>/RAWXML send string</dt>
<dd>Отправляет строку &#8220;string&#8221; (в формате XML) на Jabber-сервер.<br />
Проверка строки не выполняется.<br />
БУДЬТЕ ОСТОРОЖНЫ!<br />
Используйте эту команду только если Вы знаете, что делаете или если Вы  можете завершить соединение.</dd>
<p><code>Пример:  "/rawxml send  &lt;presence&gt;&lt;show&gt;away&lt;/show&gt;&lt;/presence&gt;"</code></p>
</dl>
<p><strong>КОМАНДЫ, ОТНОСЯЩИЕСЯ К СПИСКУ КОНТАКТОВ И ПОЛЬЗОВАТЕЛЯМ  JABBER`А</strong></p>
<dl>
<dt>/ADD [jid [nickname]]</dt>
<dd>Добавляет &#8220;jid&#8221; пользователя Jabber в Ваш списко контактов (группа  по умолчанию) и отправляет уведомление о подтверждении данному  пользователю. Если &#8220;jid&#8221; не указан (или сторока пуста &#8220;&#8221;) или &#8220;jid&#8221;  указан как &#8220;.&#8221; &#8211; используется текущий пользователь (участник).</dd>
<div>
<pre>/add [jid [nickname]]
 Добавляет в список контактов "jid" с явным именем (nickname).
Пример: "/add somebody@jabber.server.com Somebody", где "somebody@jabber.server.com" - "jid" пользователя, "Somebody" - имя пользователя (nickname) к списке контактов.</pre>
</div>
<dt>/AUTHORIZATION allow|cancel|request|request_unsubscribe [jid]</dt>
<dd>Эта команда управляет уведомлениями о присутствии (статусе)  пользователей: она позволяет Вам получать статус пользователей в Вашем  списке контактов и позволяет Вам контролировать просмотр Вашего статуса  другими пользователями.<br />
Если jid пользователя не указан, используется jid текущего пользователя.</dd>
<div>
<pre>/authorization allow
 Позволяет пользователю jabber получать уведомления о Вашем статусе
/authorization cancel
 Отменяет уведомление пользователя jabber о Вашем статусе
/authorization request
 Посылает запрос пользователю jabber на получения уведомлений о его статусе
/authorization request_unsubscribe
 Посылает запрос пользователю jabber на отмену получения уведомлений о его статусе</pre>
</div>
<dt>/DEL</dt>
<dd>Удаляет текущего пользователя из списка контактов, отключает  уведомления о его статусе и отключает уведомления пользователя о нашем  статусе.</dd>
<dt>/GROUP fold|unfold|toggle</dt>
<dd>Эта команда управляет отображением списка пользователей определенной  группы в списке контактов.</dd>
<div>
<pre>/group fold
 Сворачивает (закрывает) текущий развернутый список пользователей определенной группы в списке контактов
/group unfold
 Разворачивает (раскрывает) текущий свернутый список пользователей определенной группы в списке контактов
/group toggle
 Отображает текущее состояние (свернуто\развернуто) списка определенной группы в списке контактов</pre>
</div>
<dt>/INFO</dt>
<dd>Выводит информацию о выделенной элементе (пользователь, агент,  группа&#8230;).<br />
Для пользователей, ресурсов отображается статус, приоритет и сообщение  статуса (если возможно) для каждого ресурса.</dd>
<dt>/MOVE [groupname]</dt>
<dd>Перемещает пользователя в определенную группу. Если группа не  указана, пользователь перещается в группу по умолчанию (default group).  Если группа &#8220;groupname&#8221; не создана, она автоматически создается.<br />
Полезно: Если включен режим чата (chatmode), Вы можете использовать  &#8220;/roster alternate&#8221; для перемещения к перемещенному пользователю.</dd>
<dt>/MSAY begin|verbatim|send|send_to|toggle|abort</dt>
<dd>Посылает сообщение, состоящие из большого количества строк. Чтобы  написать сообщение из нескольких строк должен использоваться режим  поддержки многострочного сообщения &#8216;multi-line mode&#8217;.<br />
В режиме поддержки многостроных сообщений &#8216;multi-line mode&#8217; каждая  написанная строка (исключая командные строки) добавляется в тело   многострочного сообщения. Когда многострочное сообщение написано, оно  может быть отправлено текущему пользователю командой &#8220;/msay send&#8221;.<br />
Команда &#8216;/msay begin&#8217; включает режим многострочного сообщения. Обратите  внимание, что может быть указана тема сообщения [subject].<br />
Подкоманда &#8216;verbatim&#8217; включает режим стенограммы. Только команда &#8220;/msay&#8221;  (с параметром send или abort) может быть использована для выхода из  режима стенограммы (соответственно, для пересылки или отмены сообщения).<br />
Подкомандой &#8216;toggle&#8217; можно назначить определенную клавишу для быстрого  использования многострочного режима &#8216;multi-line mode&#8217; (пример: &#8220;bind M13  = msay toggle&#8221; для переключения режима)</dd>
<div>
<pre>/msay begin [subject]
 Включить многострочный режим 'multi-line mode'
/msay verbatim
 Войти в режим стенограммы многострочного сообщения
/msay send
 Послать текущее многострочное сообщение текущему пользователю
/msay send_to jid
 Послать текущее многострочное сообщение определенному "jid"
/msay toggle
 Узнать режим многострочный сообщения 'multi-line mode'
/msay abort
 Выйти из режима многострочного сообщения не отправляя его</pre>
</div>
<dt>/PGP disable|enable|info [jid]<br />
/PGP setkey [jid [key]]</dt>
<dd>Эта команда управляет настройками PGP для определенного пользователя  &#8220;jid&#8221; (по умолчанию, для выделенного контакта).<br />
Запомните, что шифрование PGP не может быть использовано, если не  обнаружена удаленная поддержка PGP.</dd>
<div>
<pre>/pgp disable [jid]
 Отключает шифрование PGP для пользователя "jid" (или для выделенного контакта)
/pgp enable [jid]
 Включает шифрование PGP для пользователя "jid" (или для выделенного контакта)
/pgp info [jid]
 Показывает текущие настройки PGP для пользователя "jid"
/pgp setkey [jid [key]]
 Устанавливает PGP-ключ, который будет использоваться для шифрования сообщений для данного пользователя.
 Если PGP-ключа не имеется, то текущий ключ удаляется.
 Вы можете использовать сокращенный jid "." для текущего контакта (пользователя)</pre>
</div>
<dt>/RENAME name</dt>
<dd>Переименовывает текущего пользователя или группу в заданное имя  &#8220;name&#8221;.</dd>
<dt>/REQUEST last|time|vcard|version [jid]</dt>
<dd>Отправляет &#8220;IQ&#8221; запрос текущему или указанному пользователю jabber.  Если подобная функция не поддерживается указанным &#8220;jid&#8221;, mcabber пошлет  запрос всем известным интерфейсам для данного пользователя.</dd>
<div>
<pre>/request last
 Запрашивает последнюю информацию (обычно: свободное время)
/request time
 Запрашивает время пользователя
/request vcard
 Запрашивает VCard пользователя
/request version
 Запрашивает пользовательскую версию</pre>
</div>
<dt>/ROOM join|leave|names|nick|remove|topic|unlock|destroy<br />
/ROOM privmsg|invite|kick|ban|role|affil<br />
/ROOM bookmark [add|del] [-autojoin|+autojoin]</dt>
<dd>Команда &#8216;room&#8217; работает с конференциями (Multi-User Chat room).</dd>
<div>
<pre>/room join [room [nick [pass]]]
 Производит подключение к конференции, используя "nick" как имя пользователя. Если имя пользователя не задано (или если оставлено пустым), то испольщуется имя пользователя заданное в конфигурации mcabber`а (смотри файл конфигурации). Если текущая запись корректно распознана mcabber как конференция, сокращение "." может быть использовано вместо полного названия конференции. Пароль может быть предусмотрен для закрытых конференций. Если в Вашем имени пользователя (nickname) содержатся пробелы используйте кавычки "nick".
/room leave [message]
 Покинуть конференцию
/room names
 Показать участников текущей конференции
/room nick newnick
 Изменить имя пользователя в текущей конференции
/room privmsg nick msg
 Отправить личное сообщение "msg" пользователю "nick"
/room remove
 Удалить текущую конференцию из списка контактов (Вы должны вначале покинуть конференцию)
/room topic newtopic
 Посмотреть тему текущей конференции
/room unlock
 Разблокировать текущую конференцию (если Вы являетесь ее владельцем)
/room destroy [reason]
 Уничтожить текущую конференцию (пользовать осторожно!)
/room whois nick
 Показать информацию о пользователе "nick"
/room ban jid [reason]
 Наложить запрет (забанить) пользователя "jid" в текущей конференции
/room invite jid [reason]
 Пригоасить пользователя "jid" в текущую конференцию
/room kick nick [reason]
 Исключить пользователя "jid" из текущей конференции
/room role jid role [reason]
 Изменить статус  пользователя "jid" (статус может быть "none", "visitor", "participant", "moderator")
/room affil jid affil [reason]
 Принять пользователя "jid" в члены конференции (члены могут быть "none", "member", "admin", "owner")
/room bookmark [add|del] [-autojoin|+autojoin]
 Добавить, удалить или обновить закладку (по умолчанию: add - добавить)
 Если включена опция autojoin, mcabber автоматически подключается к конференции после соединения с Jabber-сервером.</pre>
</div>
<dt>/ROSTER bottom|top|up|down|group_prev|group_next<br />
/ROSTER alternate|unread_first|unread_next<br />
/ROSTER search bud<br />
/ROSTER hide_offline|show_offline|toggle_offline<br />
/ROSTER item_lock|item_unlock/ROSTER hide|show|toggle<br />
/ROSTER note [-|text]</p>
</dt>
<dd>Команда &#8216;roster&#8217; управляет Вашим списком контактов.</dd>
<div>
<pre>Могут использоваться следующие параметры:
/roster bottom
 Переместиться к концу списка контактов
/roster top
 Переместиться в начало списка контактов
/roster up
 Листать вверх список контактов
/roster down
 Листать вниз список контактов
/roster group_prev
 Переместиться в предыдущую группу пользователей в списке контактов
/roster group_next
 Переместиться в следующую группу пользователей в списке контактов
/roster alternate
 Переместиться на альтернативного пользователю. "Альтернативный пользователь" - это последний пользователь, с которым Вы вели переписку. Эта команда может быть использована после команд наподобии "/roster unread_next" (Ctrl-q).
/roster unread_first
 Переместиться в первому непрочитанному сообшению
/roster unread_next
 Переместиться в следующему непрочитанному сообшению
/roster search bud
 Найти пользователя чье имя или jid содержить значение "bud" (только в отображаемом списке контактов)
/roster hide_offline
 Скрыть недоступных пользователей
/roster show_offline
 Показать недоступных пользователей
/roster toggle_offline
 Показать значение параметра скрытия недоступных пользователей
/roster item_lock [jid]
 Закрепить пользователя из списка контактов и всегда отображать независимо от его статуса
/roster item_unlock [jid]
 Отменить функцию /roster item_lock
/roster hide
 Скрыть список контактов (окно чата на весь экран)
/roster show
 Показать список контактов
/roster toggle
 Изменить размер списка контактов
/roster note [-|text]
 Установить обновление\удаление комментариев
 Если текст не задан, отображается текущий комментарий -- если Вы находитесь в истории переписка, все заметки отображаются.
 Если текст задан как "-", заметка стирается.</pre>
</div>
<dt>/SAY text</dt>
<dd>Отправляет сообщение &#8220;text&#8221; текущему пользователю. Команда может  быть полезна, если Вы хотите отправить сообщение начинающееся с флеша  (/).</dd>
<dt>/SAY_TO jid text</dt>
<dd>Отправляет сообщение &#8220;text&#8221; определенному пользователю &#8220;jid&#8221;.<br />
Запомните, что, если Вы хотите отправить несколько сообщение  определенному пользователю, данная команда должна вводиться перед каждым  сообщением.</dd>
<dt>/STATUS [online|avail|invisible|free|dnd|notavail|away  [-|StatusMessage]]</dt>
<dd>Отображает или устанавливает текущий статус.<br />
Если статус не задан &#8211; отображается текущий статус.<br />
Если статус задан, он будет задан согласно списку переменных в файле  конфигурации.<br />
Если указанного статуса не найдено в списке переменных, устанавливается  текущий статус.<br />
Если &#8220;StatusMessage&#8221; задан как &#8220;-&#8221;, текущий статус очищается.</dd>
<dt>/STATUS_TO jid online|avail|invisible|free|dnd|notavail|away  [StatusMessage]</dt>
<dd>Отправляет запрос на статус определенному пользователю.<br />
Если &#8220;jid&#8221; указан как &#8220;.&#8221; используется текущий пользователь.<br />
Замечание: статус будет изменен следующей командой &#8220;/status&#8221;. Если Вы  пользуетесь функцией auto-away (автоматическая смена статуса), статус  будет изменен также.<br />
Замечание: &#8220;jid&#8221; может быть задан в виде записи user@server/resource</dd>
</dl>
<p><strong>ФАЙЛ КОНФИГУРАЦИИ</strong><br />
~~~~~~~~~~~~~~~~~<br />
Смотрите имеющийся пример файла конфигурации, он хорошо документирован.</p>
<p><strong>ФАЙЛЫ</strong><br />
~~~~~<br />
Следующие файлы используются mcabber`ом(1):</p>
<p>$HOME/.mcabber/mcabberrc    Файл конфигурации по умолчанию<br />
$HOME/.mcabberrc            Файл конфигурации, используемые если не  найдено ничего другого<br />
$HOME/.mcabber/histo/       Каталог, в которой по умолчанию сохраняются  файлы истории переписки (если ведение истории включено)</p>
<p><strong>BUGS</strong><br />
~~~~<br />
Обязательно. Сообщите мне, если найдете! :)</p>
<p><strong>АВТОР</strong><br />
~~~~~</p>
<p>Программа написана <a href="mailto:mcabber@lilotux.net">Mikael BERTHE</a>.<br />
Первоначально основано на <a href="http://cabber.sourceforge.net/" target="_blank">Cabber</a>,  обращайтесь к файлу AUTHOR для дополнительной информации.</p>
<p>Перевел L. Artyom [aka] <a href="mailto:divenvrsk@gmail.com">dive</a>.</p>
<p><strong>RESOURCES</strong><br />
~~~~~~~~~<br />
<a href="http://www.lilotux.net/%7Emikael/mcabber/" target="_blank">Главная страничка  проекта</a></p>
<p><strong>COPYING</strong><br />
~~~~~~~</p>
<p>Copyright (C) 2005, 2006 Mikael Berthe.<br />
Some portions are Copyright (C) 2002-2004 <a href="mailto:cabber@ajmacias.com">cabber@ajmacias.com</a>.</p>
<p>Free use of this software is granted under the terms of the GNU  General Public License (GPL).</p>
<p>Version 0.9.1<br />
Last updated 12-Feb-2007 11:19:42 CEST</p></div>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/man-mcabber-rus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/man-mcabber-rus/</feedburner:origLink></item>
		<item>
		<title>Как создать свою тему оформления для Vim</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/CDSVgT_sRnE/</link>
		<comments>http://manlinux.org/how-to-create-a-theme-for-vim/#comments</comments>
		<pubDate>Tue, 11 May 2010 09:07:48 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Напильник]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=181</guid>
		<description><![CDATA[В Vim можно настроить всё! Ещё раз в этом убедился, когда попытался сменить тему оформления редактора. Однако, для того, чтобы что-то сменить, нужно знать как и где это менять. В случае Vim темы находятся в папке ~/.vim/colors/ и имеют расширение vim.
Теперь как: можно, конечно, поискать описание, подбирать параметры, но есть более удобный способ: программка, разработанная [...]]]></description>
			<content:encoded><![CDATA[<p>В Vim можно настроить всё! Ещё раз в этом убедился, когда попытался сменить тему оформления редактора. Однако, для того, чтобы что-то сменить, нужно знать как и где это менять. В случае Vim темы находятся в папке <code>~/.vim/colors/</code> и имеют расширение vim.</p>
<p>Теперь как: можно, конечно, поискать описание, подбирать параметры, но есть более удобный способ: программка, разработанная Yukihiro Nakadaira, предоставляющая понятный и удобный интерфейс и генерирующая файл темы.</p>
<p><a href="http://manlinux.org/vim-colors-scheme-creator.html" ><span id="more-181"></span>Вот она на этом сервере</a>, а вот у <a href="http://manlinux.org/goto/http://sites.google.com/site/yukihironakadaira/vim-color.html?attredirects=0" >гугла</a>.</p>
<p>Пользоваться ей просто: показан пример кода, раскрашенный под текущее состояние настроек. Кликаем по нужному элементу и выбираем цвет (буква / фон), отображение (жирный / наклонный / etc) и т.д. В результате получаем внизу страницы текст конфига, который и кладём в файл темы.</p>
<p>Применить тему: Edit -> Color Scheme -> Название вашей темы.<br />
Ну и, традиционно, команда:
<pre>:colorscheme Название вашей темы</pre>
<p>У меня получилось нечто следующее:</p>
<pre style="height: 300px; overflow: auto;border:1px gray solid">set background=dark
hi clear
if exists("syntax_on")
  syntax reset
endif
let g:colors_name = "hcolor"

hi Comment guifg=#9f9f9f
hi Constant guifg=#ffbe7c guibg=gray30
hi Cursor guifg=#444444 guibg=gray80
hi CursorColumn guibg=gray40
hi CursorIM gui=None
hi CursorLine guibg=gray40
hi DiffAdd guibg=darkblue
hi DiffChange guibg=darkmagenta
hi DiffDelete gui=bold guifg=blue guibg=darkcyan
hi DiffText gui=bold guibg=red
hi Directory guifg=cyan
hi Error guifg=white guibg=red
hi ErrorMsg guifg=white guibg=red
hi FoldColumn guifg=darkblue guibg=grey
hi Folded guifg=darkblue guibg=lightgrey
hi Identifier guifg=white
hi Ignore guifg=gray20
hi IncSearch gui=reverse
hi LineNr guifg=yellow
hi MatchParen guifg=#111111 guibg=#bbbbbb
hi ModeMsg gui=bold
hi MoreMsg gui=bold guifg=seagreen
hi NonText gui=bold guifg=lightblue guibg=gray30
hi Normal guifg=white guibg=gray30
hi Pmenu guibg=magenta
hi PmenuSbar guibg=grey
hi PmenuSel guibg=darkgray
hi PmenuThumb gui=reverse
hi PreProc guifg=white
hi Question gui=bold guifg=green
hi Search guifg=black guibg=yellow
hi SignColumn guifg=cyan guibg=grey
hi Special guifg=orange guibg=gray30
hi SpecialKey guifg=cyan
hi SpellBad gui=undercurl
hi SpellCap gui=undercurl
hi SpellLocal gui=undercurl
hi SpellRare gui=undercurl
hi Statement gui=bold guifg=white
hi StatusLine gui=bold,reverse
hi StatusLineNC gui=reverse
hi TabLine gui=underline guibg=darkgray
hi TabLineFill gui=reverse
hi TabLineSel gui=bold
hi Title guifg=white
hi Todo guifg=blue guibg=yellow
hi Type gui=bold guifg=white
hi Underlined gui=underline guifg=#80a0ff
hi VertSplit gui=reverse
hi Visual guibg=gray60
hi VisualNOS gui=bold,underline
hi WarningMsg guifg=red
hi WildMenu guifg=black guibg=yellow
hi link Boolean Constant
hi link Character Constant
hi link Conditional Statement
hi link Debug Special
hi link Define PreProc
hi link Delimiter Special
hi link Exception Statement
hi link Float Constant
hi link Function Identifier
hi link Include PreProc
hi link Keyword Statement
hi link Label Statement
hi link Macro PreProc
hi link Number Constant
hi link Operator Statement
hi link PreCondit PreProc
hi link Repeat Statement
hi link SpecialChar Special
hi link SpecialComment Special
hi link StorageClass Type
hi link String Constant
hi link Structure Type
hi link Tag Special
hi link Typedef Type
</pre>
<p>Выглядит это так:<br />
<a href="http://manlinux.org/wp-content/uploads/2010/05/hcolor.png" ><img class="aligncenter size-full wp-image-182" title="hcolor vim scheme" src="http://manlinux.org/wp-content/uploads/2010/05/hcolor.png" alt="hcolor vim scheme" width="756" height="497" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/how-to-create-a-theme-for-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/how-to-create-a-theme-for-vim/</feedburner:origLink></item>
		<item>
		<title>Шуршит звук в DeadBeef</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/w98NkPisrJU/</link>
		<comments>http://manlinux.org/rustling-sound-in-deadbeef/#comments</comments>
		<pubDate>Mon, 10 May 2010 09:01:02 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Напильник]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[DeadBeef]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=175</guid>
		<description><![CDATA[На днях увидела свет 0.4 версия аудио-плеера DeadBeef. Уже некоторое время наблюдаю за этим плеером, ставил, крутил, удалял. Он мне казался сырым.
В этот раз я так же скачал его и установил. Очень порадовало количество новшеств: вкладки, хоткеи, эквалайзер и прочее (остальное мне не особо интересно). Но! Шуршит звук на высокой громкости. С этим я уже [...]]]></description>
			<content:encoded><![CDATA[<p>На днях увидела свет 0.4 версия аудио-плеера DeadBeef. Уже некоторое время наблюдаю за этим плеером, ставил, крутил, удалял. Он мне казался сырым.</p>
<p>В этот раз я так же скачал его и установил. Очень порадовало количество новшеств: вкладки, хоткеи, эквалайзер и прочее (остальное мне не особо интересно). Но! Шуршит звук на высокой громкости. С этим я уже сталкивался в Audacious. Там это решалось установкой значения &#8220;-9&#8243; в поле gain.</p>
<p>Здесь, в принципе, то же самое, но есть 1 момент: автор не предусмотрел такое поле в GUI :) Поэтому нужно сходить и поковыряться в конфигах. Предварительно выключите плеер (сохраняет свою конфигурацию при выходе), дабы он не затёр ваши труды.</p>
<p>В файле <code>~/.config/deadbeef/config</code> (~ = домашняя папка) нужно поправить параметр <code>playback.volume</code>, установить равным &#8220;-9&#8243; (playback.volume -9). Сохранить, запустить плеер.</p>
<p>Спасибо ЛОРовцу waker за плеер (audacious улетел в sudo aptitude remove :) ).</p>
<p><a href="http://manlinux.org/goto/http://deadbeef.sourceforge.net/#download" >Скачать можно здесь</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/rustling-sound-in-deadbeef/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/rustling-sound-in-deadbeef/</feedburner:origLink></item>
		<item>
		<title>Графический планшет Genius EasyPen i405 и Runtu / Ubuntu Linux</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/YD593KHtsT0/</link>
		<comments>http://manlinux.org/graphics-tablet-genius-easypen-i405-runtu-ubuntu-linux/#comments</comments>
		<pubDate>Sun, 09 May 2010 12:59:56 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Драйвера]]></category>
		<category><![CDATA[Runtu]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Железки]]></category>
		<category><![CDATA[Планшет]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=166</guid>
		<description><![CDATA[Автор этого howto: Xioneg
Оригинал &#8212; на сайте Runtu
Надеюсь, это руководство будет еще  одним шагом для дизайнеров в сторону перехода на свободные операционные  системы.
Сегодня был куплен графический планшет Genius EasyPen i405. Моделька  одна из самых дешевых (меня в ней привлекла компактность). Сейчас  работаю над Runtu 10.04 Sensible Lizard (базируется на Ubuntu 10.04). [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;">Автор этого howto: Xioneg<br />
Оригинал &#8212; на <a href="http://forum.runtu.org/index.php/topic,6915.msg57641.html#msg57641">сайте Runtu</a></p>
<p><em>Надеюсь, это руководство будет еще  одним шагом для дизайнеров в сторону перехода на свободные операционные  системы.</em></p>
<p>Сегодня был куплен графический планшет Genius EasyPen i405. Моделька  одна из самых дешевых (меня в ней привлекла компактность). Сейчас  работаю над Runtu 10.04 Sensible Lizard (базируется на Ubuntu 10.04). Поэтому сразу встал вопрос &#8212; как запустить  чудный девайс. Решилось все достаточно просто.<br />
<span id="more-166"></span></p>
<ol>
<li><strong>Добавляем репозиторий</strong>. Открываем &#8220;Терминал&#8221;. Пишем
<pre>sudo gedit /etc/apt/sources.list</pre>
<p>В редакторе gedit откроется файл со списком репозиториев. Добавим в него и наши:</p>
<pre>deb http://ppa.launchpad.net/doctormo/xorg-wizardpen/ubuntu  jaunty main
deb-src http://ppa.launchpad.net/doctormo/xorg-wizardpen/ubuntu  jaunty main</pre>
<p>Сохраняем и закрываем файл.</li>
<li><strong>Получаем вспомогательные программы и библиотеки</strong>. В терминале выполняем следующую команду:
<pre>sudo apt-get install xutils libx11-dev libxext-dev build-essential xautomation xinput xserver-xorg-dev xutils-dev libtool autoconf</pre>
</li>
<li>Настало время <strong>сборки и установки драйвера</strong>. Для этого выполняем  следующую последовательность действий:
<ul>
<li>
<pre>sudo apt-get install bzr
bzr branch lp:wizardpen
./autogen.sh
./configure  --with-xorg-module-dir=/usr/lib/xorg/modules
make &amp;&amp; sudo make install</pre>
</li>
<li>Проверяем командой
<pre>ls /usr/lib/xorg/modules/input/wizardpen_drv.*</pre>
<p>насколько гладко прошла установка драйвера. Если все прошло  замечательно, то на эту команду мы получим две строчки:</p>
<pre>/usr/lib/xorg/modules/input/wizardpen_drv.la
/usr/lib/xorg/modules/input/wizardpen_drv.so</pre>
</li>
<li>Теперь нам необходимо узнать название нашей модели дигитайзера. Для этого  вводим команду:
<pre>grep -i  name /proc/bus/input/devices</pre>
<p>У меня вывелся следующий список:</p>
<pre>N: Name="Sleep Button"
N: Name="Power Button"
N: Name="Macintosh mouse button emulation"
N: Name="AT Translated Set 2 keyboard"
<strong>N: Name="UC-LOGIC Tablet WP5540U"
</strong>N: Name="bttv IR (card=13)"
N: Name="HDA Digital PCBeep"
N: Name="ImExPS/2 Generic Explorer Mouse"</pre>
<p>Следовательно название планшета в моем случае <code>UC-LOGIC Tablet WP5540U</code> (<span style="color: #ff0000;"><strong>Внимание:</strong></span> у вас может быть другое название планшета). Запоминаем название  дигитайзера.</li>
<li>Командой
<pre>sudo gedit /etc/hal/fdi/policy/99-x11-wizardpen.fdi</pre>
<p>открываем  файл и копируем туда текст</p>
<pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
            &lt;deviceinfo version="0.2"&gt;
            &lt;device&gt;
                &lt;!-- This MUST match with the name of your tablet obtained --&gt;
                &lt;!-- in Step 2 specified previously                        --&gt;
                &lt;match key="info.product" contains="NAME OF YOUR TABLET"&gt;
                &lt;merge key="input.x11_driver" type="string"&gt;wizardpen&lt;/merge&gt;
                &lt;merge key="input.x11_options.SendCoreEvents" type="string"&gt;true&lt;/merge&gt;

                &lt;!-- Modify these configuration accordingly --&gt;
                &lt;!-- See CONFIGURATION OPTIONS section for the full-set of --&gt;
                &lt;!-- configurable options                                  --&gt;
                &lt;merge key="input.x11_options.TopX" type="string"&gt;5619&lt;/merge&gt;
                &lt;merge key="input.x11_options.TopY" type="string"&gt;6554&lt;/merge&gt;
                &lt;merge key="input.x11_options.BottomX" type="string"&gt;29405&lt;/merge&gt;
                &lt;merge key="input.x11_options.BottomY" type="string"&gt;29671&lt;/merge&gt;
                &lt;/match&gt;
            &lt;/device&gt;
            &lt;/deviceinfo&gt;</pre>
<p>где вместо <code>NAME OF YOUR TABLET</code> вы  должны написать название вашего планшета из предыдущего шага.<br />
Сохраняем и закрываем документ. Перезагружаем компьютер.</li>
</ul>
</li>
<p>В фотошопе работает на ура.</p>
<p><a rel="nofollow" href="https://help.ubuntu.com/community/TabletSetupWizardpen" target="_blank">Оригинал руководства</a></p>
<p>Также данное руководство должно подойти для следующих моделей  графических планшетов:</p>
<pre>Acecad Flair II GT-504
DigiPro 5.5×4” Graphics Tablet
Digital Ink Pad (A4 format)
G-pen
Genius Wizardpen
Genius Mousepen
Genius Easypen i405
Genius
iBall
Manhattan
Pentagram
QWare
Trust TB-3100
Trust TB-5300
Trust TB-6300
UC-LOGIC
iBall Tablet PF8060
AIPTEK HyperPen 10000 U
AIPTEK Slim Tablet U600 Premium II</pre>
<p>И небольшая картинка, уже с помощью нового планшета ;-)</p>
<p><img src="http://ipicture.ru/upload/100508/4eIylCLGJo.png" alt="rain" /></ol>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/graphics-tablet-genius-easypen-i405-runtu-ubuntu-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/graphics-tablet-genius-easypen-i405-runtu-ubuntu-linux/</feedburner:origLink></item>
		<item>
		<title>Табуляция в Vim</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/ebl8w8Pc6yQ/</link>
		<comments>http://manlinux.org/tabs-in-vim/#comments</comments>
		<pubDate>Sun, 09 May 2010 07:10:44 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Напильник]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=161</guid>
		<description><![CDATA[Vim &#8211; очень древний редактор текстовых файлов. Со своей историей и традициями. Однако, не все они полезны и привычны в наше время. К примеру, сейчас принято делать табуляцию в 4 символа (а не 8 как раньше). Но Vim продолжает по-умолчанию ставить 8 (видимо, намекая на свою основательность и древность).
Длина табуляции
Также Vim &#8211; это, пожалуй, самый [...]]]></description>
			<content:encoded><![CDATA[<p>Vim &#8211; очень древний редактор текстовых файлов. Со своей историей и традициями. Однако, не все они полезны и привычны в наше время. К примеру, сейчас принято делать табуляцию в 4 символа (а не 8 как раньше). Но Vim продолжает по-умолчанию ставить 8 (видимо, намекая на свою основательность и древность).</p>
<h2>Длина табуляции</h2>
<p>Также Vim &#8211; это, пожалуй, самый настраиваемый редактор. Поэтому очевидно, что и настроить размер табуляции можно. И действительно: идём в Edit -&gt; Settings Window, выбираем &#8220;15 tabs and indenting&#8221;, меняем параметр softtabstop.</p>
<p>Есть и другой способ: набрать команду &#8220;<code>:set softtabstop=4</code>&#8220;.</p>
<h2>Табуляция пробелами</h2>
<p>В том же &#8220;15 tabs and indenting&#8221; есть ещё много настроек. К примеру, можно сделать табуляцию в стиле питона: 4 пробела.</p>
<p>Для этого нам нужно активировать expandtab (кликом enter по параметрам) и в shiftwidth поставить нужное значение (на сколько пробелов заменять табуляцию).</p>
<p>В командах это будет выглядеть так:</p>
<pre>:set expandtab
:set shiftwidth=4</pre>
<h2>Автотабуляция</h2>
<p>Вкратце: это когда при переносе строки уровень табуляции сохраняется.</p>
<p>Поправить это можно там же:  поле <code>autoindent</code>.</p>
<p>Или использовать команду &#8220;<code>:set ai</code>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/tabs-in-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/tabs-in-vim/</feedburner:origLink></item>
		<item>
		<title>Как поставить experimental пакет в stable релизе Debian</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/bDycPq6VKbA/</link>
		<comments>http://manlinux.org/how-to-put-the-experimental-package-in-the-stable-release-of-debian/#comments</comments>
		<pubDate>Mon, 03 May 2010 18:43:50 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Напильник]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[experimental]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[stable]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=158</guid>
		<description><![CDATA[Многие, кто выбрал в качестве своего десктопа stable-ветку  Debian, могут забыть о багах программ, их некорректном поведении. Однако, за это приходится платить отставанием в версиях пакетов, а значит и функционалом. Для большинства приложений это не играет большой роли, однако, иногда хочется именно новую версию. Это может быть вызвано разными причинами: увеличение скорости, добавление жизненно-необходимой функции [...]]]></description>
			<content:encoded><![CDATA[<p>Многие, кто выбрал в качестве своего десктопа stable-ветку  Debian, могут забыть о багах программ, их некорректном поведении. Однако, за это приходится платить отставанием в версиях пакетов, а значит и функционалом. Для большинства приложений это не играет большой роли, однако, иногда хочется именно новую версию. Это может быть вызвано разными причинами: увеличение скорости, добавление жизненно-необходимой функции и просто блажь. Однако, не менять же всё своё окружение ради одного пакета. Чтобы добавить нужный пакет достаточно сделать следующее:<br />
<span id="more-158"></span>
<ul>
<li>Добавить источники testing и experimental:
<pre># echo deb http://ftp.fr.debian.org/debian testing main &gt; /etc/apt/sources.list.d/testing.list
# echo deb http://ftp.fr.debian.org/debian experimental main &gt; /etc/apt/sources.list.d</pre>
<p>Нужны права суперюзера!</li>
<li>Установить по умолчанию stable версию программ:
<pre># echo 'APT::Default-Release "stable";' &gt; /etc/apt/apt.conf.d/default</pre>
<p>Опять <code>sudo su</code> перед этим.</li>
<li>
<pre>sudo aptitude update</pre>
</li>
<li>Просим пакет, который нам нужен:
<pre>sudo aptitude install ИМЯ_ПАКЕТА/experimental</pre>
</li>
<li>Если всё установилось &#8211; отлично! Но скорее всего пакет тянет зависимости. Поэтому:
<pre>sudo aptitude install СПИСОК_ЗАВИСИМОСТЕЙ_ЧЕРЕЗ_ПРОБЕЛ</pre>
</li>
<li>Внимательно читаем &#8220;выхлоп&#8221; набранных нами команд.</li>
<li>Когда пишут &#8220;sudo apt-get -f install&#8221; &#8211; делаем :)</li>
</ul>
<p>В конце концов зависимости закончатся :)</p>
<p>Ну и пример: как я установил iceweasel/experimental.</p>
<pre>sudo su
echo deb http://ftp.fr.debian.org/debian testing main &gt; /etc/apt/sources.list.d/testing.list
echo deb http://ftp.fr.debian.org/debian experimental main &gt; /etc/apt/sources.list.d
echo 'APT::Default-Release "stable";' &gt; /etc/apt/apt.conf.d/default
apt-get update
apt-get install -t testing libstartup-notification0 libsqlite3-0 libnss3-1d libhunspell-1.2-0 libasound2 libxcb1
apt-get install xulrunner-1.9.2
apt-get install iceweasel/experimental
exit
</pre>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/how-to-put-the-experimental-package-in-the-stable-release-of-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/how-to-put-the-experimental-package-in-the-stable-release-of-debian/</feedburner:origLink></item>
		<item>
		<title>Блокировка нежелательных URL с помощью iptables</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/BONHrU2n0HE/</link>
		<comments>http://manlinux.org/blocking-unwanted-url-using-iptables/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 18:17:32 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Сеть]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=155</guid>
		<description><![CDATA[Иногда может возникнуть необходимость заблокировать доступ к некоторым сайтам, и внесение их адресов или даже подсетей в фаервол не приносит желаемых результатов, так как продуманные пользователи продолжают посещать их используя веб прокси количество которых так велико что о блокировке их не может быть и речи… Есть конечно и явные минусы этого способа, но в моем [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда может возникнуть необходимость заблокировать доступ к некоторым сайтам, и внесение их адресов или даже подсетей в фаервол не приносит желаемых результатов, так как продуманные пользователи продолжают посещать их используя веб прокси количество которых так велико что о блокировке их не может быть и речи… Есть конечно и явные минусы этого способа, но в моем случае минусы приниматься во внимание не стали. Из плюсов стоит отметить полную блокировку сайтов, они не будут работать даже через веб и обычные прокси сервера, с них не будет доставлятся почта и тд.</p>
<p><span id="more-155"></span>Далее собственно примеры блокировки с небольшим пояснением. Реализовано все на основе patch-o-matic, дополнение к iptables от Netfilter. Используем модуль <strong>string</strong> для достижения цели.</p>
<p>Первый пример, имеем машинку-шлюз для локальной сети, там создаем правило для блокировки например ресурса <strong>vkontakte.ru </strong>выглядеть это будет так<br />
<code>iptables -A FORWARD -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP</code><br />
Все запросы пользователей использующих данную машину как шлюз потерпят неудачу при попытке открыть сайт напрямую или через прокси, так же не будет работать ресурс и через веб прокси.</p>
<p>Для блокировки адресов на линукс машине немного отредактируйте правило<br />
<code>iptables -A INPUT -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP</code><br />
Вот собственно и вся настройка блокировки URL адресов с помощью iptables. Минусы данного способа в том что пользователи не смогут окрыть страницы с упоминанием заблокированных ресурсов, прочитать почту например на майл ру если в ящике лежит письмо с сайта который был заблокирован вышеописанным способом…</p>
<p><a href="http://manlinux.org/man-iptables-rus/" >Мануал по iptables на русском.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/blocking-unwanted-url-using-iptables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/blocking-unwanted-url-using-iptables/</feedburner:origLink></item>
		<item>
		<title>man iptables (rus)</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/7KlSNpM9_Ug/</link>
		<comments>http://manlinux.org/man-iptables-rus/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 18:05:32 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Сеть]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[безопасность]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=150</guid>
		<description><![CDATA[

Содержание
ИМЯ
ОБЗОР
ОПИСАНИЕ
ЦЕЛИ
ТАБЛИЦЫ
ОПЦИИ
КОМАНДЫ
ПАРАМЕТРЫ
ПРОЧИЕ ОПЦИИ
РАСШИРЕНИЯ МЕХАНИЗМА ТЕСТИРОВАНИЯ

account
addrtype
ah
childlevel
comment
condition
connbytes
connlimit
connmark
connrate
conntrack
dccp
dscp
dstlimit
ecn
esp
fuzzy
hashlimit
helper
icmp
iprange
ipv4options
length
limit
mac
mark
mport
multiport
nth
osf
owner
physdev
pkttype
policy
psd
quota
random
realm
recent
sctp
set
state
string
tcp
tcpmss
time
tos
ttl
u32
udp
unclean
РАСШИРЕНИЯ МЕХАНИЗМА ОБРАБОТКИ

BALANCE
CLASSIFY
CLUSTERIP
CONNMARK
CONNSECMARK
DNAT
DSCP
ECN
IPMARK
IPV4OPTSSTRIP
LOG
MARK
MASQUERADE
MIRROR
NETMAP
NFQUEUE
NOTRACK
REDIRECT
REJECT
ROUTE
SAME
SECMARK
SET
SNAT
TARPIT
TCPMSS
TOS
TRACE
TTL
ULOG
XOR
ДИАГНОСТИКА
ОШИБКИ
СОВМЕСТИМОСТЬ С IPCHAINS
СМ. ТАКЖЕ
АВТОРЫ
ПЕРЕВОД

ИМЯ
iptables &#8211; инструмент администрирования фильтра пакетов IPv4 и NAT  
ОБЗОР
iptables [-t таблица] -[AD] цепочка описание-правил [опции]
iptables [-t таблица] -I цепочка [номер-правила] описание-правил [опции]
iptables [-t таблица] -R цепочка номер-правила описание-правил [опции]
iptables [-t таблица] -D цепочка номер-правила [опции]
iptables [-t таблица] -[LFZ] [цепочка] [опции]
iptables [-t таблица] -N цепочка
iptables [-t [...]]]></description>
			<content:encoded><![CDATA[<p><span id="more-150"></span>
<div style="font-family:Mono">
<h2>Содержание</h2>
<p><a href="#lbAB">ИМЯ</a><br />
<a href="#lbAC">ОБЗОР</a><br />
<a href="#lbAD">ОПИСАНИЕ</a><br />
<a href="#lbAE">ЦЕЛИ</a><br />
<a href="#lbAF">ТАБЛИЦЫ</a><br />
<a href="#lbAG">ОПЦИИ</a><br />
<a href="#lbAH">КОМАНДЫ</a><br />
<a href="#lbAI">ПАРАМЕТРЫ</a><br />
<a href="#lbAJ">ПРОЧИЕ ОПЦИИ</a><br />
<a href="#lbAK">РАСШИРЕНИЯ МЕХАНИЗМА ТЕСТИРОВАНИЯ</a>
<ul>
<a href="#lbAL">account</a><br />
<a href="#lbAM">addrtype</a><br />
<a href="#lbAN">ah</a><br />
<a href="#lbAO">childlevel</a><br />
<a href="#lbAP">comment</a><br />
<a href="#lbAQ">condition</a><br />
<a href="#lbAR">connbytes</a><br />
<a href="#lbAS">connlimit</a><br />
<a href="#lbAT">connmark</a><br />
<a href="#lbAU">connrate</a><br />
<a href="#lbAV">conntrack</a><br />
<a href="#lbAW">dccp</a><br />
<a href="#lbAX">dscp</a><br />
<a href="#lbAY">dstlimit</a><br />
<a href="#lbAZ">ecn</a><br />
<a href="#lbBA">esp</a><br />
<a href="#lbBB">fuzzy</a><br />
<a href="#lbBC">hashlimit</a><br />
<a href="#lbBD">helper</a><br />
<a href="#lbBE">icmp</a><br />
<a href="#lbBF">iprange</a><br />
<a href="#lbBG">ipv4options</a><br />
<a href="#lbBH">length</a><br />
<a href="#lbBI">limit</a><br />
<a href="#lbBJ">mac</a><br />
<a href="#lbBK">mark</a><br />
<a href="#lbBL">mport</a><br />
<a href="#lbBM">multiport</a><br />
<a href="#lbBN">nth</a><br />
<a href="#lbBO">osf</a><br />
<a href="#lbBP">owner</a><br />
<a href="#lbBQ">physdev</a><br />
<a href="#lbBR">pkttype</a><br />
<a href="#lbBS">policy</a><br />
<a href="#lbBT">psd</a><br />
<a href="#lbBU">quota</a><br />
<a href="#lbBV">random</a><br />
<a href="#lbBW">realm</a><br />
<a href="#lbBX">recent</a><br />
<a href="#lbBY">sctp</a><br />
<a href="#lbBZ">set</a><br />
<a href="#lbCA">state</a><br />
<a href="#lbCB">string</a><br />
<a href="#lbCC">tcp</a><br />
<a href="#lbCD">tcpmss</a><br />
<a href="#lbCE">time</a><br />
<a href="#lbCF">tos</a><br />
<a href="#lbCG">ttl</a><br />
<a href="#lbCH">u32</a><br />
<a href="#lbCI">udp</a><br />
<a href="#lbCJ">unclean</a></ul>
<p><a href="#lbCK">РАСШИРЕНИЯ МЕХАНИЗМА ОБРАБОТКИ</a>
<ul>
<a href="#lbCL">BALANCE</a><br />
<a href="#lbCM">CLASSIFY</a><br />
<a href="#lbCN">CLUSTERIP</a><br />
<a href="#lbCO">CONNMARK</a><br />
<a href="#lbCP">CONNSECMARK</a><br />
<a href="#lbCQ">DNAT</a><br />
<a href="#lbCR">DSCP</a><br />
<a href="#lbCS">ECN</a><br />
<a href="#lbCT">IPMARK</a><br />
<a href="#lbCU">IPV4OPTSSTRIP</a><br />
<a href="#lbCV">LOG</a><br />
<a href="#lbCW">MARK</a><br />
<a href="#lbCX">MASQUERADE</a><br />
<a href="#lbCY">MIRROR</a><br />
<a href="#lbCZ">NETMAP</a><br />
<a href="#lbDA">NFQUEUE</a><br />
<a href="#lbDB">NOTRACK</a><br />
<a href="#lbDC">REDIRECT</a><br />
<a href="#lbDD">REJECT</a><br />
<a href="#lbDE">ROUTE</a><br />
<a href="#lbDF">SAME</a><br />
<a href="#lbDG">SECMARK</a><br />
<a href="#lbDH">SET</a><br />
<a href="#lbDI">SNAT</a><br />
<a href="#lbDJ">TARPIT</a><br />
<a href="#lbDK">TCPMSS</a><br />
<a href="#lbDL">TOS</a><br />
<a href="#lbDM">TRACE</a><br />
<a href="#lbDN">TTL</a><br />
<a href="#lbDO">ULOG</a><br />
<a href="#lbDP">XOR</a></ul>
<p><a href="#lbDQ">ДИАГНОСТИКА</a><br />
<a href="#lbDR">ОШИБКИ</a><br />
<a href="#lbDS">СОВМЕСТИМОСТЬ С IPCHAINS</a><br />
<a href="#lbDT">СМ. ТАКЖЕ</a><br />
<a href="#lbDU">АВТОРЫ</a><br />
<a href="#lbDV">ПЕРЕВОД</a></dt>
</dl>
<h2>ИМЯ</h2>
<p>iptables &#8211; инструмент администрирования фильтра пакетов IPv4 и NAT <a name="lbAC"> </a></p>
<h2>ОБЗОР</h2>
<p><strong>iptables [-t таблица] -[AD] </strong>цепочка описание-правил [опции]<br />
<strong>iptables [-t таблица] -I </strong>цепочка [номер-правила] описание-правил [опции]<br />
<strong>iptables [-t таблица] -R </strong>цепочка номер-правила описание-правил [опции]<br />
<strong>iptables [-t таблица] -D </strong>цепочка номер-правила [опции]<br />
<strong>iptables [-t таблица] -[LFZ] </strong>[цепочка] [опции]<br />
<strong>iptables [-t таблица] -N </strong>цепочка<br />
<strong>iptables [-t таблица] -X </strong>[цепочка]<br />
<strong>iptables [-t таблица] -P </strong>цепочка цель [опции]<br />
<strong>iptables [-t таблица] -E </strong>старое-имя-цепочки новое-имя-цепочки  <a name="lbAD"> </a></p>
<h2>ОПИСАНИЕ</h2>
<p><strong>Iptables</strong> используется для установки, настройки и просмотра таблиц правил фильтрации IP-пакетов в ядре Linux.</p>
<p>Каждая таблица содержит несколько предопределённых цепочек и может содержать цепочки, определённые пользователем.  Каждая цепочка &#8211; это список правил, которые могут воздействовать на множество пакетов. Каждое правило определяет, какие действие произвести с пакетами, на которые оно действует. Эти действия называются целью, целью может быть и переход на другую (определённую пользователем) цепочку в этой же таблице.</p>
<p><a name="lbAE"> </a></p>
<h2>ЦЕЛИ</h2>
<p>Правило брандмауэра (межсетевого экрана) определяет критерии для пакета и цели. Если пакет не попадает под действие правила, проверяется следующее правило в цепочке; если попадает &#8211; проверяется правило, указанное в цели, которая может быть именем новой цепочки или одно из специальных целей: <em>ACCEPT</em>,  <em>DROP</em>,  <em>QUEUE</em> или <em>RETURN</em></p>
<p>.</p>
<p><em>ACCEPT </em> принять (пропустить далее) пакет <em>DROP</em> проигнорировать (отбросить) пакет. <em>QUEUE</em> передать пакет в адресное пространство пользователя (получение пакета пользовательским процессом зависит от обработчика очереди; в ядрах 2.4.x и 2.6.x до 2.6.13 использовался обработчик <strong>ip_queue;</strong> в ядрах начиная с 2.6.14 появился дополнительный обработчик  <strong>nfnetlink_queue;</strong> в этом случае пакеты с целью QUEUE отправляются очереди номер 0; см. также цель <strong>NFQUEUE</strong> ниже по тексту). <em>RETURN</em> остановить применение правил этой цепочки и передать пакет следующему правилу предыдущей (вызывающей) цепочки. Если достигается конец встроенной (предопределённой) цепочки или в ней  к пакету применяется правило с целью  <em>RETURN,</em> то окончательное действие над пакетом (цель) определяется стратегией (политикой) цепочки. <a name="lbAF"> </a></p>
<h2>ТАБЛИЦЫ</h2>
<p>Существует три независимых таблицы (какие именно таблицы присутствуют в данный момент &#8212; зависит от конфигурации ядра и наличия его модулей).</p>
<p><strong>-t, &#8211;table </strong><em>таблица</em> </dt>
<dd> Задаёт таблицу, к которой будет применена команда. Если ядро скомпилировано с автоматической загрузкой модулей, то при необходимости будет загружен модуль, соответствующий таблице. Итак, таблицы:
</dt>
<dd> <strong>filter</strong>: </dt>
<dd> Таблица используемая по-умолчанию (если опция -t не задана). Эта таблица содержит предопределённые цепочки <strong>INPUT</strong> (для входящих пакетов &#8211; направленных в локальные сокеты), <strong>FORWARD</strong> (для проходящих пакетов) и  <strong>OUTPUT</strong> (для исходящих пакетов &#8211; сгенерированных в локальной системе). </dd>
<dt><strong>nat</strong>: </dt>
<dd> Эта таблица используется, когда встречается пакет, устанавливающий новое соединение. Она содержит три предопределённых цепочки: <strong>PREROUTING</strong> (для изменения входящих пакетов), <strong>OUTPUT</strong> (для изменения локально сгенерированных пакетов перед их отправлением) и  <strong>POSTROUTING</strong> (для изменения всех исходящих пакетов). </dd>
<dt><strong>mangle</strong>: </dt>
<dd> Эта таблица используется для специальных изменений пакетов. Она содержала две предопределённые цепочки в ядрах до версии 2.4.17:  <strong>PREROUTING</strong> (для изменения входящих пакетов до их перенаправления-маршрутизации) и <strong>OUTPUT</strong> (для изменения локально сгенерированных пакетов перед их маршрутизацией). Начиная с ядер версии 2.4.18, включены ещё три другие предопределённые цепочки:  <strong>INPUT</strong> (для изменения входящих пакетов), <strong>FORWARD</strong> (для изменения проходящих пакетов) и  <strong>POSTROUTING</strong> (для изменения исходящих пакетов). </dd>
<dt><strong>raw</strong>: </dt>
<dd> Используется преимущественно для создания исключений в слежении за соединениями совместно с целью NOTRACK. Для неё в netfilter сделаны специальные  вставки, имеющие высший приоритет, и поэтому вызываемые до ip_conntrack и всех других таблиц. В таблице имеются следующие предопределённые цепочки: <strong>PREROUTING</strong> (для пакетов приходящих из сетевых интерфейсов) <strong>OUTPUT</strong> (для пакетов генерируемых локальными процессами) </dd>
</dl>
</dd>
</dl>
</dd>
</dl>
<p><a name="lbAG"> </a></p>
<h2>ОПЦИИ</h2>
<p>Опции  <strong>iptables</strong> могут быть разделены на несколько групп. <a name="lbAH"> </a></p>
<h3>КОМАНДЫ</h3>
<p>Эти опции определяют действие, выполняемое в данном сеансе работы программы. В командной строке может быть указана только одна из этих опций, если противоположное явно не указано в описании. Длинные команды можно сокращать до первых букв, но их должно быть достаточно, чтобы программа могла однозначно идентифицировать команду.</p>
<p><strong>-A, &#8211;append </strong><em>цепочка определение-правила</em> </dt>
<dd> Добавить одно или несколько правил в конец указанной цепочки. Если имя источника и/или стока (назначения) соответствует нескольким адресам, правило будет добавлено для всех возможных комбинаций адресов. </dd>
<dt><strong>-D, &#8211;delete </strong><em>цепочка определение-правила</em><br />
<strong>-D, &#8211;delete </strong><em>цепочка номер-правила</em> </dt>
<dd> Удалить одно или несколько правил из указанной цепочки. Существует две версии этой команды: правило может быть указано через его номер в цепочке (счёт первого правила начинается с 1) или через соответствие определения правила. </dd>
<dt><strong>-I, &#8211;insert </strong><em>цепочка</em> [<em>номер-правила</em>] </dt>
<dd> <em>определение-правила</em>&#8221; В указанной цепочке вставить одно или более правил в позицию заданную номером. Так, если указан номер 1, правило или правила будут вставлены в начало цепочки. Это подразумеваемая позиция, если номер не указан. </dd>
<dt><strong>-R, &#8211;replace </strong><em>цепочка номер-правила определение-правила</em> </dt>
<dd> Заменить правило в указанной цепочке. Если имена источника и/или стока соответствуют нескольким адресам, команда не будет выполнена с сообщением об ошибке. Правила нумеруются с 1. </dd>
<dt><strong>-L, &#8211;list </strong>[<em>цепочка</em>] </dt>
<dd> Показать все правила в выбранной цепочке. Если цепочка не указана, то команда применяется ко всем цепочкам. Как и всякая другая команда iptables, она воздействует на указанную таблицу (filter, если таблица не указана), к примеру следующая команда выводит список правил NAT:</p>
<pre> iptables -t nat -n -L
</pre>
<p>Обратите внимание на опцию <strong>-n</strong> которая часто используется для отключения (медленного) определения имён DNS. Также можно указать опцию -Z <strong>-Z</strong> (zero), в этом случае автоматически произойдёт перечисление правил цепочки и обнуление её счётчиков. Вид результата зависит от других аргументов. Самый детальный результат может быть получен так:</p>
<pre> iptables -L -v
</pre>
</dd>
<dt><strong>-F, &#8211;flush </strong>[<em>цепочка</em>] </dt>
<dd> Сбросить выбранную цепочку (все цепочки в таблице, если ни одна не указана). Это эквивалентно удалению по одному всех правил. </dd>
<dt><strong>-Z, &#8211;zero </strong>[<em>цепочка</em>] </dt>
<dd> Обнулить счётчики количества пакетов и байтов во всех или указанной цепочке. Можно также указать  <strong>-L, &#8211;list</strong> чтобы отобразить значения счётчиков непосредственно перед их обнулением (см. выше). </dd>
<dt><strong>-N, &#8211;new-chain </strong><em>цепочка</em> </dt>
<dd> Создать новую, определённую пользователем цепочку с заданным именем. В момент создания цепочки не должно быть уже существующих целей с указанным именем. </dd>
<dt><strong>-X, &#8211;delete-chain </strong>[<em>цепочка</em>] </dt>
<dd> Удалить цепочку, определённую пользователем. При этом не должно быть ссылок на удаляемую цепочку. Если такие ссылки есть, необходимо сначала удалить или изменить правила, ссылающиеся на удаляемую цепочку. Если цепочка не указана, из таблицы будут удалены все цепочки кроме встроенных. </dd>
<dt><strong>-P, &#8211;policy </strong><em>цепочка цель</em> </dt>
<dd> Определить стратегию для цепочки. Допустимые цели описаны в разделе  <strong>ЦЕЛИ</strong> настоящего документа. Стратегия может быть задана только для встроенных цепочек и не может быть задана для цепочек определённых пользователем. </dd>
<dt><strong>-E, &#8211;rename-chain </strong><em>старое-имя новое-имя</em> </dt>
<dd> Переименовать цепочку, определённую пользователем. Эта команда не изменяет структуру таблицы и используется только в косметических целях. </dd>
<dt><strong>-h</strong> </dt>
<dd> Подсказка. Выдаёт очень короткое описание синтаксиса команд. </dd>
</dl>
<p><a name="lbAI"> </a></p>
<h3>ПАРАМЕТРЫ</h3>
<p>Следующие параметры предназначены для формирования правил (используются в командах add, delete, insert, replace и append).</p>
<p><strong>-p, &#8211;protocol </strong>[!] <em>протокол</em> </dt>
<dd> Сетевой протокол применяемого правила или проверяемого пакета. Допустимые значения: <em>tcp</em>,  <em>udp</em>,  <em>icmp</em>,  <em>all</em>.  Также можно указывать в виде числа (соответствующего одному из перечисленных ил иному протоколу). Названия протоколов также можно брать из файла /etc/protocols. Знак &#8220;!&#8221; перед названием протокола инвертирует результат теста. Число 0 эквивалентно  <em>all</em>.  Значение <em>all</em> соответствует всем протоколами и используется если данный параметр опущен. </dd>
<dt><strong>-s, &#8211;source </strong>[!] <em>адрес</em>[/<em>маска</em>] </dt>
<dd> Адрес источника.  <em>Адресом</em> может быть сетевое имя, имя хоста (не рекомендуем указывать имена хостов, разрешаемые через запросы к удалённым DNS), диапазон IP-адресов (с маской через слэш) или одиночный IP-адрес. <em>Маской</em> может быть сетевая маска или число, соответствующее количеству определяющих разрядов в сетевой маске. Например, маска  <em>24</em> эквивалентна  <em>255.255.255.0</em>.  Знак &#8220;!&#8221; перед спецификацией адреса инвертирует результат теста. Опция <strong>&#8211;src</strong> является псевдонимом данного параметра. </dd>
<dt><strong>-d, &#8211;destination </strong>[!] <em>адрес</em>[/<em>маска</em>] </dt>
<dd> Адрес цели. Синтаксис аналогичен синтаксису параметра  <strong>-s</strong> Опция  <strong>&#8211;dst</strong> является псевдонимом данного параметра. </dd>
<dt><strong>-j, &#8211;jump </strong><em>цель</em> </dt>
<dd> Определяет цель правила; т.е., что делать, когда пакет попадает под условия правила. Целью может быть цепочка, определённая пользователем (отличная от цепочки правила), одна из встроенных целей, определяющая окончательное действие над пакетом, или расширение (см. раздел <strong>РАСШИРЕНИЯ </strong> далее по тексту). Если эта опция не задана в правиле (и ключ <strong>-g</strong> также не использован), то правило не будет применяться, но счётчик количества применений правила будет увеличен. </dd>
<dt><strong>-g, &#8211;goto </strong><em>цепочка</em> </dt>
<dd> Продолжить обработку в цепочке, определённой пользователем. В отличие от опции &#8211;jump, после возврата из вызванной цепочки, применение правил будет продолжено не в текущей цепочке, а в той цепочке, которая вызвала текущую через &#8211;jump. </dd>
<dt><strong>-i, &#8211;in-interface </strong>[!] <em>имя</em> </dt>
<dd> Имя интерфейса, через который должен быть получен обрабатываемый пакет (только для пакетов входящих в цепочки  <strong>INPUT</strong>,  <strong>FORWARD</strong> и  <strong>PREROUTING ).</strong> Использование аргумента &#8220;!&#8221; перед именем интерфейса инвертирует результат теста. Если имя интерфейса оканчивается на &#8220;+&#8221;, то это означает любой интерфейс, имя которого начинается с указанного имени. Если эта опция опущена, при обработке пакета интерфейс, с которого он был получен, не учитывается. </dd>
<dt><strong>-o, &#8211;out-interface </strong>[!] <em>имя</em> </dt>
<dd> Имя интерфейса, через который отправляется обрабатываемый пакет (только для пакетов входящих в цепочки  <strong>FORWARD</strong>,  <strong>OUTPUT</strong> и  <strong>POSTROUTING ).</strong> Использование аргумента &#8220;!&#8221; перед именем интерфейса инвертирует результат теста. Если имя интерфейса оканчивается на &#8220;+&#8221;, то это означает любой интерфейс, имя которого начинается с указанного имени. Если эта опция опущена, при обработке пакета интерфейс, с которого он был получен, не учитывается. </dd>
<dt><strong>[!]  -f, &#8211;fragment</strong> </dt>
<dd> Означает, что это правило будет применяться ко второму и последующим фрагментам фрагментированного пакета. Так как у фрагмента невозможно определить номер порта источника или цели, равно как и тип ICMP, такие пакеты не обрабатываются правилами, содержащими номера портов или тип ICMP. Если перед флагом -f указан &#8220;!&#8221;, то правило будет применяться только к первому фрагменту или к нефрагментированному пакету. </dd>
<dt><strong>-c, &#8211;set-counters </strong><em>число-пакетов число-байт</em> </dt>
<dd> Позволяет инициализировать в правиле счётчики пакетов и байтов (при выполнении операций <strong>INSERT,</strong> <strong>APPEND,</strong> <strong>REPLACE ).</strong> </dd>
</dl>
<p><a name="lbAJ"> </a></p>
<h3>ПРОЧИЕ ОПЦИИ</h3>
<p>Имеются следующие дополнительные опции:</p>
<p><strong>-v, &#8211;verbose</strong> </dt>
<dd> Увеличить подробность сообщений. При указании её с командой list будет выводиться имя интерфейса, параметры правил и маски TOS. Также выводятся счётчики (&#8220;K&#8221;, &#8220;M&#8221;, &#8220;G&#8221; соответствуют множителям 1000, 1 000 000 и 1 000 000 000; см. <strong>-x ).</strong> Если ключ используется с командами &#8211;append, &#8211;insert, &#8211;delete или &#8211;replace, то будет выведен подробный отчёт о произведенной операции. </dd>
<dt><strong>-n, &#8211;numeric</strong> </dt>
<dd> Выводить IP-адреса и номера портов в числовом виде предотвращая попытки преобразовать их в символические имена. </dd>
<dt><strong>-x, &#8211;exact</strong> </dt>
<dd> Для всех чисел в выходных данных выводить их точные значения без округления и без использования множителей K, M, G. Этот ключ используется только с командой  <strong>-L</strong> и не применим с другими командами. </dd>
<dt><strong>&#8211;line-numbers</strong> </dt>
<dd> Режим вывода номеров строк при отображении списка правил командой &#8211;list. Номер строки соответствует позиции правила в цепочке. </dd>
<dt><strong>&#8211;modprobe=команда</strong> </dt>
<dd> Команда загрузки модулей ядра (при добавлении правил в цепочку). Может использоваться в случае, когда модули ядра находится вне стандартного пути поиска. </dd>
</dl>
<p><a name="lbAK"> </a></p>
<h2>РАСШИРЕНИЯ МЕХАНИЗМА ТЕСТИРОВАНИЯ</h2>
<p>Возможности тестирования пакетов расширяются через модули. Последние загружаются либо автоматически при указании <strong>-p</strong> / <strong>&#8211;protocol ,</strong> либо явно при указании имени модуля через <strong>-m</strong> / <strong>&#8211;match .</strong> После загрузки модуля становятся доступными дополнительные опции командной строки, в зависимости от модуля. Справку по новым ключам можно получить с помощью ключа <strong>-h</strong> / <strong>&#8211;help .</strong> Допустимо указание нескольких модулей. Результаты тестирования, выдаваемые модулем, обычно можно инвертировать указав  <strong>!</strong> перед его именем. В базовую поставку входят следующие модули.  <a name="lbAL"> </a></p>
<h3>account</h3>
<p>Вести учёт трафика для всех хостов в определённой подсети (по маске).</p>
<p>Возможности:</p>
<p>- подробная (один счётчик на протокол &#8211; TCP/UDP/IMCP/Прочие) и краткая статистика</p>
<p>- одно правило iptables для всех хостов в определённой подсети (по маске).</p>
<p>- загрузка/сохранение счётчиков (посредством записей procfs)</p>
<p><strong>&#8211;aaddr </strong><em>сеть/маска</em> </dt>
<dd> Подсеть, для которой следует вести статистику. </dd>
<dt><strong>&#8211;aname </strong><em>имя</em> </dt>
<dd> Имя таблицы для данной статистики. По умолчанию &#8211; DEFAULT. </dd>
<dt><strong>&#8211;ashort</strong> </dt>
<dd> Не разделять учёт по протоколам.  Пример использования:Вести учёт трафика из/в сеть 192.168.0.0/24 в таблице mynetwork:</p>
<p># iptables -A FORWARD -m account &#8211;aname mynetwork &#8211;aaddr 192.168.0.0/24</p>
<p>Вести учёт трафика WWW-сервера из/в сеть 192.168.0.0/24 в таблице mywwwserver:</p>
<p># iptables -A INPUT -p tcp &#8211;dport 80<br />
-m account &#8211;aname mywwwserver &#8211;aaddr 192.168.0.0/24 &#8211;ashort</p>
<p># iptables -A OUTPUT -p tcp &#8211;sport 80<br />
-m account &#8211;aname mywwwserver &#8211;aaddr 192.168.0.0/24 &#8211;ashort</p>
<p>Снять показания счётчиков:</p>
<p># cat /proc/net/ipt_account/mynetwork # cat /proc/net/ipt_account/mywwwserver</p>
<p>Установить показания счётчиков:</p>
<p># echo &#8220;ip = 192.168.0.1 packets_src = 0&#8243; &gt; /proc/net/ipt_account/mywwserver</p>
<p>Веб-страница:<br />
<a href="http://manlinux.org/goto/http://www.barbara.eu.org/%7Equaker/ipt_account/" >http://www.barbara.eu.org/~quaker/ipt_account/</a></p>
</dd>
</dl>
<p><a name="lbAM"> </a></p>
<h3>addrtype</h3>
<p>Данный модуль тестирует пакеты по  <strong>типу адреса.</strong> Точное определение конкретного &#8220;типа адреса&#8221; зависит от соответствующего протокола третьего уровня.</p>
<p>Имеются следующие типы адресов:<br />
<strong>UNSPEC</strong> </dt>
<dd> неопределённый адрес (0.0.0.0) <strong>UNICAST</strong> адрес для конкретного устройства <strong>LOCAL</strong> локальный адрес <strong>BROADCAST</strong> широковещательный адрес <strong>ANYCAST</strong> адрес для любого устройства <strong>MULTICAST</strong> адрес для нескольких устройств <strong>BLACKHOLE</strong> адрес &#8220;в никуда&#8221; <strong>UNREACHABLE</strong> недоступный адрес <strong>PROHIBIT</strong> запрещённый адрес <strong>THROW</strong> не описан <strong>NAT</strong> не описан <strong>XRESOLVE</strong> не описан </dd>
<dt><strong>&#8211;src-type </strong><em>тип</em> </dt>
<dd> Исходный адрес должен иметь указанный тип </dd>
<dt><strong>&#8211;dst-type </strong><em>тип</em> </dt>
<dd> Целевой адрес должен иметь указанный тип </dd>
</dl>
<p><a name="lbAN"> </a></p>
<h3>ah</h3>
<p>Этот модуль тестирует по последовательным периферийным интерфейсам (SPI) в аутентификационном заголовке пакетов IPsec.</p>
<p><strong>&#8211;ahspi </strong>[!] <em>spi</em>[:<em>spi</em>] </dt>
<dd>
</dd>
</dl>
<p><a name="lbAO"> </a></p>
<h3>childlevel</h3>
<p>Экспериментальный модуль. Он тестирует по факту принадлежности пакета  к основному соединению непосредственно или через дочерние соединения. Например, большинство пакетов принадлежат к основному соединению непосредственно (уровень 0). Данные FTP &#8211; дочернему (уровень 1). Уровень может быть сколь угодно большим.</p>
<p><strong>&#8211;childlevel </strong>[!] <em>уровень</em> </dt>
<dd>
</dd>
</dl>
<p><a name="lbAP"> </a></p>
<h3>comment</h3>
<p>Позволяет добавлять комментарии (до 256 символов) в правила.</p>
<p><strong>&#8211;comment </strong><em>комментарий</em><br />
Пример:</dt>
<dd> iptables -A INPUT -s 192.168.0.0/16 -m comment &#8211;comment &#8220;A privatized IP block&#8221; </dd>
</dl>
<p><a name="lbAQ"> </a></p>
<h3>condition</h3>
<p>Результат теста совпадает со значением в соответствующем файле /proc &#8211; 0 или 1.</p>
<p><strong>&#8211;condition </strong><em>[!] имя-файла</em> </dt>
<dd> Выдать результат теста из /proc/net/ipt_condition/имя-файла </dd>
</dl>
<p><a name="lbAR"> </a></p>
<h3>connbytes</h3>
<p>Результат теста будет зависеть от количества байт или пакетов, переданных на данный момент (в обоих или одном из направлений), или по среднему числу байт, приходящихся на пакет.</p>
<p>Под каждый из счётчиков отводится 64 бита, поэтому их переполнение практически невозможно.</p>
<p>Обычно данный модуль используется для уменьшения приоритета долгих загрузок.</p>
<p>Статистику по трафику соединений можно просмотреть в файле  /proc/net/ip_conntrack, для обращения к ней воспользуйтесь ctnetlink</p>
<p>[<strong>!</strong>]<strong> &#8211;connbytes </strong><em>мин</em><strong>:</strong>[<em>макс</em>]</dt>
<dd> Результат теста будет положительным для пакетов соединения  через которое принято пакетов/байтов больше первого числа, и меньше второго (если оно указано). Также первое число может выступать нижней границей для среднего размера пакета. &#8220;!&#8221; инвертирует результат. </dd>
<dt><strong>&#8211;connbytes-dir</strong> [<strong>original</strong>|<strong>reply</strong>|<strong>both</strong>]</dt>
<dd> Какие пакеты учитывать (свои, ответные или все) </dd>
<dt><strong>&#8211;connbytes-mode</strong> [<strong>packets</strong>|<strong>bytes</strong>|<strong>avgpkt</strong>]</dt>
<dd> Отслеживаемый показатель &#8211; число пакетов, байтов или средний размер всех полученных пакетов (в байтах). Если в предыдущей опции указано both, а в данной &#8211; avgpkt, и  данные передаются (преимущественно) в одном направлении (например, HTTP), средний размер пакета будет приблизительно в два раза меньше размера пакетов несущих данные. </dd>
<dt>Пример:</dt>
<dd> iptables .. -m connbytes &#8211;connbytes 10000:100000 &#8211;connbytes-dir both &#8211;connbytes-mode bytes &#8230; </dd>
</dl>
<p><a name="lbAS"> </a></p>
<h3>connlimit</h3>
<p>Позволяет ограничить число одновременных соединений TCP для одного IP-адреса (клиента) либо блока адресов.</p>
<p>[<strong>!</strong>] <strong>&#8211;connlimit-above </strong><em>n</em></dt>
<dd> Выдавать положительный результат если число tcp-соединений (не) больше n </dd>
<dt><strong>&#8211;connlimit-mask </strong><em>биты</em> </dt>
<dd> Группировать хосты по указанной маске  Примеры: </dd>
<dt># допускать не больше 2 соединений telnet с одного хоста</dt>
<dd> iptables -A INPUT -p tcp &#8211;syn &#8211;dport 23 -m connlimit &#8211;connlimit-above 2 -j REJECT </dd>
<dt># то же самое:</dt>
<dd> iptables -A INPUT -p tcp &#8211;syn &#8211;dport 23 -m connlimit ! &#8211;connlimit-above 2 -j ACCEPT </dd>
<dt># ограничить число одновременных запросов http до 16 на подсеть класса C (24</dt>
<dd> первых разряда) iptables -p tcp &#8211;syn &#8211;dport 80 -m connlimit &#8211;connlimit-above 16 &#8211;connlimit-mask 24 -j REJECT </dd>
</dl>
<p><a name="lbAT"> </a></p>
<h3>connmark</h3>
<p>Этот модуль позволяет использовать в правилах проверку значений маркеров соединения, установленных с помощью операции (цели) <strong>CONNMARK</strong> (см. ниже).</p>
<p><strong>&#8211;mark </strong><em>маркер[/маска]</em> </dt>
<dd> Значение маркера соединения, при котором выполняется условие. Если указана маска, она накладывается (операция поразрядного И) на значение маркера соединения перед проверкой условия. </dd>
</dl>
<p><a name="lbAU"> </a></p>
<h3>connrate</h3>
<p>Выдаёт результат теста на основе текущей скорости передачи данных по соединению.</p>
<p><strong>&#8211;connrate </strong><em>[!] [мин</em>]:[<em>макс</em>] </dt>
<dd> Выдавать положительный результат если текущая скорость находится в указанных рамках. Указание &#8220;!&#8221; перед аргументом обращает смысл последнего. </dd>
</dl>
<p><a name="lbAV"> </a></p>
<h3>conntrack</h3>
<p>Этот модуль при использовании совместно с компонентом мониторинга соединений предоставляет более широкие сведения о состоянии соединения, чем &#8220;state&#8221;. Модуль доступен если сборка iptables проводилась с ядром, имеющим возможности требуемые для модуля.</p>
<p><strong>&#8211;ctstate </strong><em>состояния</em> </dt>
<dd> Список состояний соединения через запятую, при которых результат будет положительным. Возможные состояния: <strong>INVALID</strong> &#8211; пакет не связан с каким-либо известным соединением, <strong>ESTABLISHED</strong> &#8211; пакет связан с соединением, по которому уже проходили пакеты в обоих направлениях, <strong>NEW</strong> &#8211; пакет инициирует новое соединение, либо связан с соединением, по которому ещё не проходили пакеты в обоих направлениях , <strong>RELATED</strong> &#8211; пакет инициирует новое соединение, но также связан с  уже существующим соединением, например при передаче данных по FTP или сообщении об ошибке ICMP, <strong>SNAT</strong> &#8211; виртуальное состояние, положительный результат выдаётся если исходный адрес источника отличен от адреса, который должен получить ответ, <strong>DNAT</strong> &#8211; виртуальное состояние, положительный результат выдаётся если исходный адрес получателя отличен от адреса отправителя ответа, </dd>
<dt><strong>&#8211;ctproto </strong><em>протокол</em> </dt>
<dd> Проверяет принадлежность пакета к протоколу, указанному номером или символьным именем. </dd>
<dt><strong>&#8211;ctorigsrc </strong><em>[!] адрес</em>[/<em>маска</em>] </dt>
<dd> Проверяет соответствие исходного (нетранслированного) адреса отправителя указанному адресу или диапазону адресов. </dd>
<dt><strong>&#8211;ctorigdst </strong><em>[!] адрес</em>[/<em>маска</em>] </dt>
<dd> Проверяет соответствие исходного (нетранслированного) адреса получателя указанному адресу или диапазону адресов. </dd>
<dt><strong>&#8211;ctreplsrc </strong><em>[!] адрес</em>[/<em>маска</em>] </dt>
<dd> Проверяет соответствие адреса отправителя отклика указанному адресу или диапазону адресов. </dd>
<dt><strong>&#8211;ctrepldst </strong><em>[!] fIадрес</em><strong>[/</strong><em>маска</em>] </dt>
<dd> Проверяет соответствие адреса получателя отклика указанному адресу или диапазону адресов. </dd>
<dt><strong>&#8211;ctstatus </strong><em>[NONE|EXPECTED|SEEN_REPLY|ASSURED</em>][,...] </dt>
<dd> Проверяет соответствие пакета одному или группе внутренних состояний conntrack. </dd>
<dt><strong>&#8211;ctexpire </strong><em>time</em>[<em>:time</em>] </dt>
<dd> Проверяет соответствие оставшегося для пакета времени жизни заданному значению или диапазону. </dd>
</dl>
<p><a name="lbAW"> </a></p>
<h3>dccp</h3>
<p><strong>&#8211;source-port</strong>,<strong>&#8211;sport </strong>[<strong>!</strong>] <em>порт</em>[<strong>:</strong><em>порт</em>]<br />
<strong>&#8211;destination-port</strong>,<strong>&#8211;dport </strong>[<strong>!</strong>] <em>порт</em>[<strong>:</strong><em>порт</em>]<br />
<strong>&#8211;dccp-types</strong> [<strong>!</strong>] <em>типы-пакетов</em></dt>
<dd> Тип пакета DCCP должен быть одним из перечисленных (через запятую) Возможные типы:  <strong>REQUEST RESPONSE DATA ACK DATAACK CLOSEREQ CLOSE RESET SYNC SYNCACK</strong> INVALID&#8221; . </dd>
<dt><strong>&#8211;dccp-option</strong> [<strong>!</strong>] <em>число</em></dt>
<dd> Для положительного результата должна быть установлена опция DCP. </dd>
</dl>
<p><a name="lbAX"> </a></p>
<h3>dscp</h3>
<p>Этот модуль проверяет 6-разрядное значение DSCP в поле TOS заголовка IP. В соответствии с RFC 247413 значение DSCP заменяет собой значение TOS.</p>
<p><strong>&#8211;dscp </strong><em>значение</em> </dt>
<dd> Значение в десятичной или шестнадцатеричной форме (0-32). </dd>
<dt><strong>&#8211;dscp-class </strong><em>класс-DiffServ</em> </dt>
<dd> Класс DiffServ. Возможные значения: BE, EF, AFxx, CSx. </dd>
</dl>
<p><a name="lbAY"> </a></p>
<h3>dstlimit</h3>
<p>Позволяет ограничивать скорость обмена пакетами в секунду (pps)  для одного целевого IP/порта.</p>
<p>ЭТОТ МОДУЛЬ УСТАРЕЛ. ИСПОЛЬЗУЙТЕ МОДУЛЬ &#8220;hashlimit&#8221;<br />
<strong>&#8211;dstlimit </strong><em>скорость</em> </dt>
<dd> Ограничение на среднюю скорость обмена пакетами. Допустимо дополнение в конце /sec /minute /hour /day. </dd>
<dt><strong>&#8211;dstlimit-mode </strong><em>режим</em> </dt>
<dd> Режим ограничения: это один из наборов <strong>dstip + dstip-dstport ,</strong> <strong>srcip-dstip ,</strong> либо <strong>srcipdstip-dstport .</strong> </dd>
<dt><strong>&#8211;dstlimit-name </strong><em>имя</em> </dt>
<dd> Имя файла /proc/net/ipt_dstlimit/* </dd>
<dt><strong>[</strong><em>--dstlimit-burst </em><strong>burst</strong><em>]</em> </dt>
<dd> Число пакетов в пике, для которых будет результат теста будет положительным. Значение по умолчанию: 5 </dd>
<dt><strong>[</strong><em>--dstlimit-htable-size </em><strong>размер</strong><em>]</em> </dt>
<dd> Число наборов (buckets) в хэш-таблице </dd>
<dt><strong>[</strong><em>--dstlimit-htable-max </em><strong>максимум</strong><em>]</em> </dt>
<dd> Ограничение на число элементов в хэш-таблице </dd>
<dt><strong>[</strong><em>--dstlimit-htable-gcinterval </em><strong>интервал</strong><em>]</em> </dt>
<dd> Интервал между сбором мусора в хэш-таблице (в мс). Значение по умолчанию &#8211; 1000 (1 секунда). </dd>
<dt><strong>[</strong><em>--dstlimit-htable-expire </em><strong>время</strong> </dt>
<dd> Время после которого неиспользуемые элементы подлежат удалению, в мс. Значение по умолчанию - 10000 (10 секунд). </dd>
</dl>
<p><a name="lbAZ"> </a></p>
<h3>ecn</h3>
<p>Используется для проверки соответствия значения поля ECN в заголовках IPv4 и TCP. ECN - это механизм явного предуведомления о перегрузке (Explicit Congestion Notification) определённый RFC3168</p>
<p><strong>--ecn-tcp-cwr</strong> </dt>
<dd> Результат определяется разрядом TCP ECN CWR (Congestion Window Received). </dd>
<dt><strong>--ecn-tcp-ece</strong> </dt>
<dd> Результат определяется разрядом TCP ECN ECE (ECN Echo). </dd>
<dt><strong>--ecn-ip-ect </strong><em>num</em> </dt>
<dd> IPv4 ECT (ECN-Capable Transport) должен быть равным указанному числу (от `0' до `3'). </dd>
</dl>
<p><a name="lbBA"> </a></p>
<h3>esp</h3>
<p>Модуль esp служит для проверки значений SPI в заголовках ESP пакетов IPSec.</p>
<p><strong>--espspi </strong>[!] <em>spi</em>[:<em>spi</em>] </dt>
<dd>
</dd>
</dl>
<p><a name="lbBB"> </a></p>
<h3>fuzzy</h3>
<p>Результат теста зависит от скорости доставки пакетов по методу FLC (Fuzzy Logic Controller): пока скорость доставки пакетов не достигает нижнего порога, условие никогда не будет выполняться;  при скорости в диапазоне между нижним и верхним порогами частота выполнения условий будет расти пропорционально скорости доставки пакетов; после превышения верхнего порога скорости частота выполнения условий достигнет максимального значения.</p>
<p><strong>&#8211;lower-limit </strong><em>скорость</em> </dt>
<dd> Нижний порог (пакетов в секунду). </dd>
<dt><strong>&#8211;upper-limit </strong><em>скорость</em> </dt>
<dd> Верхний порог (пакетов в секунду). </dd>
</dl>
<p><a name="lbBC"> </a></p>
<h3>hashlimit</h3>
<p>Этот модуль добавляет новое условие проверки hashlimit, позволяющее вводить ограничения на один адрес назначения или пару &#8220;адрес-порт&#8221;.</p>
<p>С помощью данного условия можно задавать ограничения типа</p>
</dt>
<dd>
&#8220;не более 1000 пакетов в секунду для каждого хоста в сети 192.168.0.0/16&#8243; </dd>
<dt>
</dt>
<dd>
&#8220;не более 100 пакетов в секунду для каждого сервиса на хосте 192.168.1.1&#8243;  одним правилом iptables. </dd>
<dt><strong>&#8211;hashlimit </strong><em>скорость</em> </dt>
<dd> Среднее значение скорости. Параметр представляет собой целое число, определяющее максимальное количество пакетов, и суффикс, который определяет единицу времени. В качестве суффикса могут использоваться значения /second, /minute, /hour, /day. По умолчанию подразумевается число пакетов в секунду. </dd>
<dt><strong>&#8211;hashlimit-burst </strong><em>число</em> </dt>
<dd> Число пакетов в пике </dd>
<dt><strong>&#8211;hashlimit-mode </strong><em>destip | destip-destport</em> </dt>
<dd> Ограничение по адресам или портам. </dd>
<dt><strong>&#8211;hashlimit-name </strong><em>foo</em> </dt>
<dd> Имя для /proc/net/ipt_hashlimit/foo. </dd>
<dt><strong>&#8211;hashlimit-htable-size </strong><em>num</em> </dt>
<dd> Число элементов (buckets) в хэш-таблице. </dd>
<dt><strong>&#8211;hashlimit-htable-max </strong><em>num</em> </dt>
<dd> Максимальное количество записей в хэше. </dd>
<dt><strong>&#8211;hashlimit-htable-expire </strong><em>num</em> </dt>
<dd> Время (в миллисекундах) жизни записи в хэш-таблице. По умолчанию время жизни составляет 10000 (10 секунд). </dd>
<dt><strong>&#8211;hashlimit-htable-gcinterval </strong><em>num</em> </dt>
<dd> Интервал &#8220;сборки мусора&#8221; в хэш-таблице. </dd>
</dl>
<p><a name="lbBD"> </a></p>
<h3>helper</h3>
<p>Выдаёт положительный результат для пакетов относящихся к конкретному вспомогательному компоненту conntrack.</p>
<p><strong>&#8211;helper </strong><em>имя</em> </dt>
<dd> Вспомогательный компонент conntrack.
</dt>
<dd>Может принимать значение &#8220;ftp&#8221; для пакетов ftp-сеанса на стандартном порте. В случае нестандартных портов добавляйте их к имени: &#8220;ftp-2121&#8243;.</p>
<p>Аналогично и для других компонентов.</p>
</dd>
</dl>
</dd>
</dl>
<p><a name="lbBE"> </a></p>
<h3>icmp</h3>
<p>Эта расширение загружается при указании `&#8211;protocol icmp&#8217;.</p>
<p><strong>&#8211;icmp-type </strong>[!] <em>тип</em> </dt>
<dd> Тип ICMP в виде числа или имени в соответствии с</p>
<pre> iptables -p icmp -h
</pre>
</dd>
</dl>
<p><a name="lbBF"> </a></p>
<h3>iprange</h3>
<p>Результат теста зависит от адреса IPv4.</p>
<p><strong>[!]</strong><em>&#8211;src-range </em><strong>ip-ip</strong> </dt>
<dd> Диапазон IP-адресов отправителя. </dd>
<dt><strong>[!]</strong><em>&#8211;dst-range </em><strong>ip-ip</strong> </dt>
<dd> Диапазон IP-адресов получателя. </dd>
</dl>
<p><a name="lbBG"> </a></p>
<h3>ipv4options</h3>
<p>Результат теста зависит от параметров заголовка IPv4, таких как  параметры маршрутизации, запись маршрута, запрос времени, оповещение маршрутизатора.</p>
<p><strong>&#8211;ssrr</strong> </dt>
<dd> Должен быть установлен флаг strict source routing (маршрутизация указывается источником). </dd>
<dt><strong>&#8211;lsrr</strong> </dt>
<dd> Должен присутствовать флаг loose source routing (свободная маршрутизация). </dd>
<dt><strong>&#8211;no-srr</strong> </dt>
<dd> Флаг, позволяющий источнику определить режим маршрутизации, должен отсутствовать. </dd>
<dt>[<strong>!</strong>]<strong> &#8211;rr</strong> </dt>
<dd> Должен присутствовать флаг RR (route record). </dd>
<dt>[<strong>!</strong>]<strong> &#8211;ts</strong> </dt>
<dd> Должен присутствовать флаг TS (timestamp). </dd>
<dt>[<strong>!</strong>]<strong> &#8211;ra</strong> </dt>
<dd> Должен присутствовать флаг оповещения маршрутизатора (router-alert). </dd>
<dt>[<strong>!</strong>]<strong> &#8211;any-opt</strong> </dt>
<dd> Выдавать положительный результат если хотя бы один пункт из указанных выше был выполнен. Если указан !, ни одно из условий не должно выполняться. </dd>
<dt>Примеры:<br />
$ iptables -A input -m ipv4options &#8211;rr -j DROP</dt>
<dd> отбрасывать пакеты с флагом record-route. </dd>
<dt>$ iptables -A input -m ipv4options &#8211;ts -j DROP</dt>
<dd> отбрасывать пакеты с флагом timestamp. </dd>
</dl>
<p><a name="lbBH"> </a></p>
<h3>length</h3>
<p>Позволяет проверять размеры пакетов (точно или по диапазону).</p>
<p><strong>&#8211;length </strong>[!] <em>размер</em>[:<em>размер</em>] </dt>
<dd>
</dd>
</dl>
<p><a name="lbBI"> </a></p>
<h3>limit</h3>
<p>Этот модуль выдаёт положительный результат с фиксированной частотой. Правило использующее это расширение будет выполняться до момента достижения лимита (и наоборот, если указан &#8220;!&#8221;). Может использоваться вместе с целью <strong>LOG</strong> для получения ограниченного протоколирования.</p>
<p><strong>&#8211;limit </strong><em>частота</em> </dt>
<dd> Максимальная средняя частота положительных результатов. После числа можно указывать единицы: `/second&#8217;, `/minute&#8217;, `/hour&#8217;, `/day&#8217;; значение по умолчанию &#8211;  3/hour. </dd>
<dt><strong>&#8211;limit-burst </strong><em>number</em> </dt>
<dd> Ограничение на исходное число пропускаемых пакетов: это число увеличивается на единицу каждый раз когда ограничение на частоту положительных результатов не достигается. Это происходит столько раз, сколько указано в данном параметре. Значение по умолчанию &#8211; 5. </dd>
</dl>
<p><a name="lbBJ"> </a></p>
<h3>mac</h3>
<p><strong>&#8211;mac-source </strong>[!] <em>адрес</em> </dt>
<dd> Выполнять тестирование по MAC-адресу отправителя. Адрес должен указываться в форме XX:XX:XX:XX:XX:XX. Использование данного условия имеет смысл только при получении пакетов от устройства Ethernet, проходящих на одну из цепочек <strong>PREROUTING</strong>,  <strong>FORWARD</strong> или <strong>INPUT .</strong> </dd>
</dl>
<p><a name="lbBK"> </a></p>
<h3>mark</h3>
<p>Тестирует по полю mark. Это специальное поле, которое существует только в области памяти ядра и связывается с конкретным пакетом. (для установки этого поля используется цель <strong>MARK ,</strong> описанная ниже).</p>
<p><strong>&#8211;mark </strong><em>число</em>[/<em>маска</em>] </dt>
<dd> Пропускать пакеты с указанной отметкой (представляющей собой беззнаковое целое) Если указана <em>маска</em>, то перед сравнением она накладывается на указанное значение (логическое И). </dd>
</dl>
<p><a name="lbBL"> </a></p>
<h3>mport</h3>
<p>Модуль пропускает пакеты на заданном наборе портов (исходных или целевых). Возможно указание до 15 портов. Используется только вместе с  <strong>-p tcp</strong> или  <strong>-p udp</strong>.</p>
<p><strong>&#8211;source-ports </strong><em>порт</em>[,<em>порт</em>[,<em>порт</em>...]] </dt>
<dd> Пропускать пакеты с исходным портом равным одному из указанных. Краткая форма ключа &#8211; <strong>&#8211;sports .</strong> </dd>
<dt><strong>&#8211;destination-ports </strong><em>порт</em>[,<em>порт</em>[,<em>порт</em>...]] </dt>
<dd> Пропускать пакеты с портом назначения равным одному из указанных. Краткая форма ключа &#8211; <strong>&#8211;dports .</strong> </dd>
<dt><strong>&#8211;ports </strong><em>порт</em>[,<em>порт</em>[,<em>порт</em>...]] </dt>
<dd> Пропускать пакеты с одинаковыми исходным и портом назначения и равными одному из указанных. </dd>
</dl>
<p><a name="lbBM"> </a></p>
<h3>multiport</h3>
<p>Позволяет указывать в тексте правила несколько (до 15) портов и диапазонов портов. Диапазон портов (порт:порт) считается за два порта (в отношении ограничения в 15). Используется только вместе с  <strong>-p tcp</strong> или <strong>-p udp</strong>.</p>
<p><strong>&#8211;source-ports </strong><em>[!] порт</em>[,<em>порт</em>[,<em>порт:порт</em>...]] </dt>
<dd> Пропускать пакеты с исходным портом равным одному из указанных. Краткая форма ключа &#8211; <strong>&#8211;sports .</strong> </dd>
<dt><strong>&#8211;destination-ports </strong><em>[!] порт</em>[,<em>порт</em>[,<em>порт:порт</em>...]] </dt>
<dd> Пропускать пакеты с портом назначения равным одному из указанных. Краткая форма ключа &#8211; <strong>&#8211;dports .</strong> </dd>
<dt><strong>&#8211;ports </strong><em>[!] порт</em>[,<em>порт</em>[,<em>порт:порт</em>...]] </dt>
<dd> Пропускать пакеты с одинаковыми исходным и портом назначения и равными одному из указанных. </dd>
</dl>
<p><a name="lbBN"> </a></p>
<h3>nth</h3>
<p>Пропускает каждый `n&#8217;-ый пакет</p>
<p><strong>&#8211;every </strong><em>n</em> </dt>
<dd> Пропускать каждый n-ый пакет. </dd>
<dt><strong>[</strong><em>--counter </em><strong>номер</strong><em>]</em> </dt>
<dd> Использовать внутренний счётчик с указанным номером. Значение по умолчанию &#8211; `0&#8242;. </dd>
<dt><strong>[</strong><em>--start </em><strong>число</strong><em>]</em> </dt>
<dd> Начальное значение счётчика (вместо стандартного `0&#8242;). Обычно между `0&#8242; и `n&#8217;-1. </dd>
<dt><strong>[</strong><em>--packet </em><strong>k</strong><em>]</em> </dt>
<dd> Пропускать k-ый пакет из набора n пакетов. Соответственно, значение должно быть между `0&#8242; и `n&#8217;-1. </dd>
</dl>
<p><a name="lbBO"> </a></p>
<h3>osf</h3>
<p>Идея фильтрации по пассивным сигнатурам ОС (passive OS fingerprint) была изначально реализована в брандмауэре pf из OpenBSD.</p>
<p>Оригинальная таблица сигнатур составлена Михаилом Залевски (Michal Zalewski) &lt;<a href="mailto:lcamtuf@coredump.cx">lcamtuf@coredump.cx</a>&gt;.</p>
<p>Данный модуль фильтрует пакеты по данным из (первого) пакета SYN (WS, MSS, опциям и их порядку, ttl, df и т.д.), определяя ОС отправителя на основе динамической таблицы сигнатур ОС.</p>
<p><strong>&#8211;log 1/0 </strong> </dt>
<dd> Записывать в протокол семейства ОС даже если они не совпадают с ожидаемыми. 0 &#8211; записывать все данные;  1 &#8211; только первые.Данные записываются в syslog в таком формате:</p>
</dd>
<dt>
</dt>
<dd> ipt_osf: Windows [2000:SP3:Windows XP Pro SP1, 2000 SP3]: 11.22.33.55:4024 -&gt; 11.22.33.44:139 </dd>
<dt>
</dt>
<dd> ipt_osf: Unknown: 16384:106:1:48:020405B401010402 44.33.22.11:1239 -&gt; 11.22.33.44:80 </dd>
<dt><strong>&#8211;smart</strong> </dt>
<dd> Включить дополнительные алгоритмы определения удалённой ОС. OSF будет учитывать исходный TTL только если соединение установлено в рамках локальной сети. </dd>
<dt><strong>&#8211;netlink</strong> </dt>
<dd> Протоколировать все события в NETLINK_NFLOG groupt 1. </dd>
<dt><strong>&#8211;genre </strong><em>[!] string</em> </dt>
<dd> Пропускать пакеты от семейства ОС.  Пример:#iptables -I INPUT -j ACCEPT -p tcp -m osf &#8211;genre Linux &#8211;log 1 &#8211;smart</p>
<p>Обратите внимание, что указание -p tcp обязательно, поскольку проверка ведётся на уровне этого протокола.</p>
<p>Сигнатуры хранятся в файле /proc/sys/net/ipv4/osf. Очистить список сигнатур можно командой</p>
</dd>
<dt>
</dt>
<dd> echo -en FLUSH &gt; /proc/sys/net/ipv4/osf  Допустима только одна сигнатура за открытие/запись/закрытие.Список сигнатур доступен в Интернете по адресу <a href="http://manlinux.org/goto/http://www.openbsd.org/cgi-bin/cvsweb/src/etc/pf.os" >http://www.openbsd.org/cgi-bin/cvsweb/src/etc/pf.os</a></p>
</dd>
</dl>
<p><a name="lbBP"> </a></p>
<h3>owner</h3>
<p>Позволяет фильтровать по параметрам &#8220;владельца&#8221; пакета. Этот критерий можно использовать только в цепочке  <strong>OUTPUT ,</strong> но даже в этом случае могут попадаться пакеты без владельца (например, ответы ISMP ping), и такие пакеты не будут пропускаться.</p>
<p><strong>&#8211;uid-owner </strong><em>идентификатор-пользователя</em> </dt>
<dd> Пропускать пакеты генерируемые процессами работающими от указанного пользователя. </dd>
<dt><strong>&#8211;gid-owner </strong><em>идентификатор-группы</em> </dt>
<dd> Пропускать пакеты генерируемые процессами работающими от пользователя входящего в указанную группу. </dd>
<dt><strong>&#8211;pid-owner </strong><em>идентификатор-процесса</em> </dt>
<dd> Пропускать пакеты генерируемые процессом с указанным идентификатором. </dd>
<dt><strong>&#8211;sid-owner </strong><em>идентификатор-сеанса</em> </dt>
<dd> Пропускать пакеты генерируемые процессами в сеансе с указанным идентификатором. </dd>
<dt><strong>&#8211;cmd-owner </strong><em>имя-команды</em> </dt>
<dd> Пропускать пакеты генерируемые процессами с указанным именем команды. (ключ поддерживается только если пакет iptables был собран с ядром, имеющим соответствующую функцию) </dd>
<dt><strong>Примечание: фильтрация по pid, sid и команде не работает в SMP-системах</strong> </dt>
<dd>
</dd>
</dl>
<p><a name="lbBQ"> </a></p>
<h3>physdev</h3>
<p>Позволяет организовывать фильтрацию по устройствам используемым для связи двух локальных сетей. Это модуль является частью инфраструктуры для IP-брандмауэра &#8220;прозрачно&#8221; связывающего сети. Имеет смысл использовать только с ядрами 2.5.44.</p>
<p><strong>&#8211;physdev-in</strong> [!] <em>имя</em> </dt>
<dd> Порт связи сетей, через который получен пакет (только для пакетов, проходящих цепочки <strong>INPUT</strong>,  <strong>FORWARD</strong> или <strong>PREROUTING ).</strong> Если имя интерфейса оканчивается на &#8220;+&#8221;, то будут пропускаться пакеты со всех интерфейсов, имя которых начинается  с указанной последовательности. Если пакет получен из устройства, которое не связывает локальные сети, он не будет пропущен (если только не указано &#8220;!&#8221;). </dd>
<dt><strong>&#8211;physdev-out</strong> [!] <em>имя</em> </dt>
<dd> Порт связи сетей, через который пакет отправляется (для пакетов, проходящих цепочки  <strong>FORWARD</strong>,  <strong>OUTPUT</strong> или  <strong>POSTROUTING ).</strong> Если имя интерфейса оканчивается на &#8220;+&#8221;, то будут пропускаться пакеты со всех интерфейсов имя которых начинается  с указанной последовательности. Тестирование по порту вывода в цепочках <strong>OUTPUT</strong> <strong>nat</strong> и <strong>mangle</strong> невозможно, зато в <strong>filter OUTPUT</strong> &#8211; возможно. Если пакет отправляется не через устройство связи двух сетей, или если отправляющее устройство на данном этапе неизвестно, то такой пакет не будет пропущен (если только не указан &#8220;!&#8221;). </dd>
<dt>[!] <strong>&#8211;physdev-is-in</strong> </dt>
<dd> Пропускать пакеты, полученные через интерфейс связи двух сетей. </dd>
<dt>[!] <strong>&#8211;physdev-is-out</strong> </dt>
<dd> Пропускать пакеты, отправляемые через интерфейс связи двух сетей. </dd>
<dt>[!] <strong>&#8211;physdev-is-bridged</strong> </dt>
<dd> Пропускать пакеты, для которых не выполняется маршрутизация (т.к. они проходят через &#8220;мост&#8221; между сетями) Имеет смысл только в цепочках FORWARD и POSTROUTING. </dd>
</dl>
<p><a name="lbBR"> </a></p>
<h3>pkttype</h3>
<p>Позволяет фильтровать пакеты по их типу на уровне канала связи.</p>
<p><strong>&#8211;pkt-type </strong><em>[unicast</em>|<em>broadcast</em>|<em>multicast</em>] </dt>
<dd>
</dd>
</dl>
<p><a name="lbBS"> </a></p>
<h3>policy</h3>
<p>Позволяет фильтровать пакеты по стратегии обработки пакета IPsec.</p>
<p><strong>&#8211;dir </strong><em>in|out</em> </dt>
<dd> Стратегия, по которой следует фильтровать: стратегии извлечения данных из сообщения или включения (инкапсуляции) оных. Вариант <strong>in</strong> допустим в цепочках <strong>PREROUTING, INPUT и FORWARD ,</strong> вариант <strong>out</strong><br />
- в цепочках <strong>POSTROUTING, OUTPUT и FORWARD .</strong> </dd>
<dt><strong>&#8211;pol </strong><em>none|ipsec</em> </dt>
<dd> Должен ли пакет подлежать обработке IPsec. </dd>
<dt><strong>&#8211;strict</strong> </dt>
<dd> Пропускать пакеты с хотя бы одним правилом, соответствующим заданной стратегии, или обязательно со всеми. </dd>
<dt><strong>&#8211;reqid </strong><em>id</em> </dt>
<dd> Пропускать пакеты с указанным идентификатором reqid правила стратегии. Идентификатор указывается с помощью команды  <strong><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=setkey&amp;category=8" >setkey</a>(8) ,</strong> в качестве уровня используется <strong>unique:id .</strong> </dd>
<dt><strong>&#8211;spi </strong><em>spi</em> </dt>
<dd> Фильтровать пакеты на основе последовательного периферийного интерфейса (SPI) SA. </dd>
<dt><strong>&#8211;proto </strong><em>ah|esp|ipcomp</em> </dt>
<dd> Фильтровать пакеты на основе протокола инкапсуляции. </dd>
<dt><strong>&#8211;mode </strong><em>tunnel|transport</em> </dt>
<dd> Фильтровать пакеты на основе режима инкапсуляции. </dd>
<dt><strong>&#8211;tunnel-src </strong><em>адрес[/маска]</em> </dt>
<dd> Пропускать пакеты с исходным адресом [пункта] режима tunnel SA, входящим в указанный диапазон. Имеет смысл только при &#8211;mode tunnel. </dd>
<dt><strong>&#8211;tunnel-dst </strong><em>адрес[/маска]</em> </dt>
<dd> Пропускать пакеты с адресом назначения режима tunnel SA, входящим в указанный диапазон. Имеет смысл только при &#8211;mode tunnel. </dd>
<dt><strong>&#8211;next</strong> </dt>
<dd> Начать следующий элемент в спецификации стратегии.  Может указываться вместе с  &#8211;strict </dd>
</dl>
<p><a name="lbBT"> </a></p>
<h3>psd</h3>
<p>Пытаться обнаружить сканирование портов TCP и UDP. Реализовано на основе scanlogd из Solar Designer.</p>
<p><strong>&#8211;psd-weight-threshold </strong><em>порог</em> </dt>
<dd> Общий вес (см. ниже) пакетов TCP/UDP за последнее время, приходящих от одного источника, но на разные порты, при котором можно считать, что это умышленное сканирование портов. </dd>
<dt><strong>&#8211;psd-delay-threshold </strong><em>задержка</em> </dt>
<dd> Максимальная задержка (в сотых секунды) между пакетами приходящими на различные порты от одного источника, при которой они будут считаться подпоследовательностью пакетов при сканировании. </dd>
<dt><strong>&#8211;psd-lo-ports-weight </strong><em>вес</em> </dt>
<dd> Вес пакетов, приходящих на привилегированные порты (&lt;=1024). </dd>
<dt><strong>&#8211;psd-hi-ports-weight </strong><em>weight</em> </dt>
<dd> Вес пакетов, приходящих на непривилегированные порты. </dd>
</dl>
<p><a name="lbBU"> </a></p>
<h3>quota</h3>
<p>Позволяет квотировать использование сети &#8211; уменьшает счётчик байтов на единицу при обработке каждого пакета.</p>
<p><strong>&#8211;quota </strong><em>размер</em> </dt>
<dd> Квота в байтах.  Примечание: не работает в SMP-системах. </dd>
</dl>
<p><a name="lbBV"> </a></p>
<h3>random</h3>
<p>Вероятностная фильтрация.</p>
<p><strong>&#8211;average </strong><em>доля</em> </dt>
<dd> Пропускать указанную часть пакетов (в процентах). Значение по умолчанию &#8211; 50%. </dd>
</dl>
<p><a name="lbBW"> </a></p>
<h3>realm</h3>
<p>Фильтровать пакеты по области маршрутизации. Последние используются в сложных конфигурациях сетей, задействующих динамические протоколы маршрутизации наподобие BGP.</p>
<p><strong>&#8211;realm </strong><em>[!] </em><strong>значение[/маска]</strong> </dt>
<dd> Пропускать пакеты с указанным номером области (диапазон областей можно указывать добавлением маски). Также можно указывать области по имени, в соответствии с /etc/iproute2/rt_realms (в этом случае указание маски недопустимо). </dd>
</dl>
<p><a name="lbBX"> </a></p>
<h3>recent</h3>
<p>Позволяет динамически составлять списки IP-адресов и выполнять фильтрацию по ним различными способами.</p>
<p>Например, можно создать список `badguy&#8217;, соответствующий компьютерам,<br />
с которых поступали запросы на порт 139, и затем отбрасывать все их любые последующие запросы.</p>
<p><strong>&#8211;name </strong><em>имя</em> </dt>
<dd> Список, с которым следует работать. Значение по умолчанию &#8211; &#8216;DEFAULT&#8217;. </dd>
<dt>[<strong>!</strong>] <strong>&#8211;set</strong></dt>
<dd> Добавить адрес источника пакета в список. Если адрес уже в списке, он будет обновлён. Этот &#8220;критерий&#8221; всегда возвращает положительный результат (либо всегда отрицательный &#8211; если указано &#8220;!&#8221;). </dd>
<dt>[<strong>!</strong>] <strong>&#8211;rcheck</strong></dt>
<dd> Проверить, имеется ли адрес источника пакета в списке. </dd>
<dt>[<strong>!</strong>] <strong>&#8211;update</strong></dt>
<dd> Как и <strong>&#8211;rcheck</strong>, если адрес будет найден, запись о времени последнего его появления будет обновлена. </dd>
<dt>[<strong>!</strong>] <strong>&#8211;remove</strong></dt>
<dd> Возвращает положительный результат, если адрес источника пакета найден в списке (в этом случае адрес также удаляется из него). </dd>
<dt>[<strong>!</strong>] <strong>&#8211;seconds </strong><em>интервал</em></dt>
<dd> Используется с <strong>&#8211;rcheck</strong> или <strong>&#8211;update</strong>. Учитывать в списке только адреса, которые появлялись в последние n секунд. </dd>
<dt>[<strong>!</strong>] <strong>&#8211;hitcount </strong><em>количество</em></dt>
<dd> Используется с <strong>&#8211;rcheck</strong> или <strong>&#8211;update</strong>. Учитывать в списке только адреса, которые появлялись указанное количество раз (или больше). Для ещё большего сужения критерия воспользуйтесь также <strong>&#8211;seconds</strong>. </dd>
<dt><strong>&#8211;rttl</strong></dt>
<dd> Используется с <strong>&#8211;rcheck</strong> или <strong>&#8211;update</strong>. Пропускать пакеты, только если их источник в списке, и их TTL совпадает с TTL пакета, который привёл к добавлению источника в список (<strong>&#8211;set</strong>). Может быть полезно для предотвращения DoS-атак посредством подмены исходного адреса (т.е. когда модуль будет блокировать &#8220;невиновные&#8221; адреса).  Примеры: </dd>
<dt>
</dt>
<dd> # iptables -A FORWARD -m recent &#8211;name badguy &#8211;rcheck &#8211;seconds 60 -j DROP# iptables -A FORWARD -p tcp -i eth0 &#8211;dport 139 -m recent &#8211;name badguy &#8211;set -j DROP  Дополнительные примеры приведены на сайте <a href="http://manlinux.org/goto/http://snowman.net/projects/ipt_recent/" >http://snowman.net/projects/ipt_recent/.</a></p>
<p>Таблицы адресов хранятся в /proc/net/ipt_recent/.</p>
<p>Таким образом, можно просмотреть текущее содержимое списков адресов, а также модифицировать их:</p>
</dd>
<dt>echo xx.xx.xx.xx &gt; /proc/net/ipt_recent/DEFAULT</dt>
<dd> для добавления адреса в список по умолчанию </dd>
<dt>echo -xx.xx.xx.xx &gt; /proc/net/ipt_recent/DEFAULT</dt>
<dd> для удаления адреса из списка по умолчанию </dd>
<dt>echo clear &gt; /proc/net/ipt_recent/DEFAULT</dt>
<dd> для очистки списка по умолчанию.  Параметры модуля (со значениями по умолчанию): </dd>
<dt><strong>ip_list_tot=</strong><em>100</em> </dt>
<dd> Ограничение на количество адресов в одной таблице </dd>
<dt><strong>ip_pkt_list_tot=</strong><em>20</em> </dt>
<dd> Ограничение на количество пакетов для одного адреса, сведения о которых запоминаются </dd>
<dt><strong>ip_list_hash_size=</strong><em>0</em> </dt>
<dd> Размер хэш-таблицы. 0 &#8211; вычислять размер на основе ip_list_tot, при значениях по умолчанию это 512 </dd>
<dt><strong>ip_list_perms=</strong><em>0644</em> </dt>
<dd> Права доступа для файлов /proc/net/ipt_recent/* </dd>
<dt><strong>debug=</strong><em>0</em> </dt>
<dd> Установите в 1 для получения отладочной информации </dd>
</dl>
<p><a name="lbBY"> </a></p>
<h3>sctp</h3>
<p><strong>&#8211;source-port</strong>,<strong>&#8211;sport </strong>[<strong>!</strong>] <em>порт</em>[<strong>:</strong><em>порт</em>]<br />
<strong>&#8211;destination-port</strong>,<strong>&#8211;dport </strong>[<strong>!</strong>] <em>порт</em>[<strong>:</strong><em>порт</em>]<br />
<strong>&#8211;chunk-types</strong> [<strong>!</strong>] <strong>all</strong>|<strong>any</strong>|<strong>only</strong></dt>
<dd> <em>тип-части</em>[<strong>:</strong><em>флаги</em>] [...] Если буква отвечающая флагу указана в верхнем регистре, то положительный результат будет выдаваться если он установлен, и наоборот.Типы частей: DATA INIT INIT_ACK SACK HEARTBEAT HEARTBEAT_ACK ABORT SHUTDOWN SHUTDOWN_ACK ERROR COOKIE_ECHO COOKIE_ACK ECN_ECNE ECN_CWR SHUTDOWN_COMPLETE ASCONF ASCONF_ACK</p>
<p>тип части             доступные флаги<br />
DATA                  U B E u b e<br />
ABORT                 T t<br />
SHUTDOWN_COMPLETE     T t</p>
<p>(нижний регистр = флаг должен быть &#8220;выключен&#8221;, верхний &#8211; &#8220;включен&#8221;)  Примеры:</p>
<p>iptables -A INPUT -p sctp &#8211;dport 80 -j DROP</p>
<p>iptables -A INPUT -p sctp &#8211;chunk-types any DATA,INIT -j DROP</p>
<p>iptables -A INPUT -p sctp &#8211;chunk-types any DATA:Be -j ACCEPT</p>
</dd>
</dl>
<p><a name="lbBZ"> </a></p>
<h3>set</h3>
<p>Фильтрует по принадлежности IP множествам определяемым с помощью <a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=ipset&amp;category=8" >ipset</a>(8).</p>
<p><strong>&#8211;set </strong>имя-множества флаг[,флаг...] </dt>
<dd> где флаги &#8211; <strong>src</strong> и/или <strong>dst</strong>.  Множеств может быть не больше шести. Например, условию</p>
<pre> iptables -A FORWARD -m set --set test src,dst
</pre>
<p>будут соответствовать пакеты, адрес или порт (в зависимости от множества) источника которых имеется во множестве.Если адрес/порт имеется в множестве, и для соответствующего элемента множества (либо для всего множества) определён адрес назначения (т.е. адрес), то для получения положительного результата необходимо также чтобы совпадали адреса назначения.</p>
</dd>
</dl>
<p><a name="lbCA"> </a></p>
<h3>state</h3>
<p>Используется с компонентом мониторинга соединений,  и позволяет использовать состояние трассировки пакета.</p>
<p><strong>&#8211;state </strong><em>состояния</em> </dt>
<dd> Список фильтруемых состояний через запятую. Возможные значения: <strong>INVALID</strong> &#8211; соединение, с которым связан пакет, определить не удалось, например, из-за нехватки памяти, или пакет является сообщением об ошибке ICMP. <strong>ESTABLISHED</strong> &#8211; пакет принадлежит уже установленному соединению, через которое пакеты идут в обоих направлениях. <strong>NEW</strong> &#8211; пакет открывает новое соединение или принадлежит однонаправленному (до данного момента времени) потоку. <strong>RELATED</strong> &#8211; пакет принадлежит уже существующему соединению, но при этом он открывает новое соединение. Примером тому может служить передача данных по FTP или выдача сообщения ICMP об ошибке создания соединения, которое должно было быть связано с существующим TCP или UDP соединением. </dd>
</dl>
<p><a name="lbCB"> </a></p>
<h3>string</h3>
<p>Фильтровать по содержимому пакета. Для работы требуется  ядро linux &gt;= 2.6.14.</p>
<p><strong>&#8211;algo </strong><em>bm|kmp</em> </dt>
<dd> Стратегия сравнения/поиска. (bm = Boyer-Moore, kmp = Knuth-Pratt-Morris) </dd>
<dt><strong>&#8211;from </strong><em>позиция</em> </dt>
<dd> Позиция в данных с которой следует начинать поиск. Значение по умолчанию &#8211; 0. </dd>
<dt><strong>&#8211;to </strong><em>позиция</em> </dt>
<dd> Позиция в данных, при достижении которой следует прекращать поиск. Значение по умолчанию &#8211; размер пакета. </dd>
<dt><strong>&#8211;string </strong><em>последовательность</em> </dt>
<dd> Последовательность символов, которую следует искать в пакете. <strong>&#8211;hex-string </strong><em>pattern</em> Последовательность символов, которую следует искать в пакете (в шестнадцатеричном представлении). </dd>
</dl>
<p><a name="lbCC"> </a></p>
<h3>tcp</h3>
<p>Это расширение загружается при указании `&#8211;protocol tcp&#8217;. Становятся доступными следующие ключи:</p>
<p><strong>&#8211;source-port </strong>[!] <em>порт</em>[:<em>порт</em>] </dt>
<dd> Исходный порт (или диапазон портов), с которого должен быть отправлен пакет для прохождения теста. В качестве значения может указываться номер порта или название сетевой службы.  Диапазон (включительно) портов указывается в формате <em>первый-порт</em>:<em>последний-порт</em>.  Если опускается первый порт, т.е. когда критерий записывается как &#8211;source-port :80, то в качестве начала диапазона принимается число 0. Если опускается максимальный порт, т.е. когда критерий записывается как &#8211;source-port 22:, то в качестве конца диапазона принимается число 65535. Если первый порт больше последнего, они меняются местами. Краткая форма ключа &#8211; <strong>&#8211;sport .</strong> </dd>
<dt><strong>&#8211;destination-port </strong>[!] <em>порт</em>[:<em>порт</em>] </dt>
<dd> Порт (или диапазон портов) назначения. Краткая форма ключа &#8211; <strong>&#8211;dport .</strong> </dd>
<dt><strong>&#8211;tcp-flags </strong>[!] <em>флаги</em> <em>comp</em> </dt>
<dd> Пропускать пакеты с указанным набором флагов TCP. Первый аргумент &#8211; флаги (через запятую), которые нужно проверять, второй &#8211; те флаги, которые должны быть установлены. Возможные флаги: <strong>SYN ACK FIN RST URG PSH ALL NONE</strong>.  Так, условию</p>
<pre> iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST SYN
</pre>
<p>будут соответствовать пакеты с установленным флагом SYN, и снятыми флагами ACK, FIN, RST. </dd>
<dt><strong>[!] &#8211;syn</strong> </dt>
<dd> Пропускать пакеты TCP с установленным флагом SYN и снятыми ACK,RST,FIN. Такие пакеты используются для запроса создания TCP-соединения; очевидно, блокирование таких пакетов приведёт к невозможности  создания входящих TCP-соединений. Эквивалентно <strong>&#8211;tcp-flags SYN,RST,ACK,FIN SYN</strong>. При указании &#8220;!&#8221; перед &#8220;&#8211;syn&#8221;, смысл ключа инвертируется. </dd>
<dt><strong>&#8211;tcp-option </strong>[!] <em>номер-опции</em> </dt>
<dd> Пропускать пакеты с установленной опцией TCP. </dd>
<dt><strong>&#8211;mss </strong><em>число</em>[:<em>число</em>] </dt>
<dd> Пропускать пакеты TCP SYN и SYN/ACK с указанным значением MSS (или значением входящим в диапазон), что ограничивает размер пакетов для соединения. </dd>
</dl>
<p><a name="lbCD"> </a></p>
<h3>tcpmss</h3>
<p>Фильтрует по полю MSS (maximum segment size &#8211; максимальный размер сегмента) заголовка TCP. Возможно применять только к пакетам TCP SYN и SYN/ACK,  т.к. MSS определяется в рамках процедуры согласования (handshake) в начале соединения.</p>
<p><strong>[!] &#8211;mss</strong><em> число[:число]</em> </dt>
<dd> Пропускать пакеты с TCP MSS в указанном диапазоне. </dd>
</dl>
<p><a name="lbCE"> </a></p>
<h3>time</h3>
<p>Фильтрует пакеты по времени/дате прибытия. Все ключи являются необязательными.</p>
<p><strong> &#8211;timestart </strong><em>чч:мм</em> </dt>
<dd> Пропускать только при времени прибытия после указанного (включительно). Значение по умолчанию &#8211; 00:00. </dd>
<dt><strong>&#8211;timestop </strong><em>чч:мм</em> </dt>
<dd> Пропускать только при времени прибытия до указанного (включительно). Значение по умолчанию &#8211; 23:59. </dd>
<dt><strong>&#8211;days </strong><em>дни-недели</em> </dt>
<dd> Пропускать пакеты в указанные дни недели (Mon,Tue,Wed,Thu,Fri,Sat,Sun); по умолчанию &#8211; в любой день) </dd>
<dt><strong>&#8211;datestart </strong><em>ГГГГ[:ММ[:ДД[:чч[:мм[:сс]]]]]</em> </dt>
<dd> Пропускать только при дате прибытия после указанной (включительно). Значение по умолчанию &#8211; 1970. </dd>
<dt><strong>&#8211;datestop </strong><em>date</em> </dt>
<dd> Пропускать только при дате прибытия до указанной (включительно). Значение по умолчанию &#8211; 2037. </dd>
</dl>
<p><a name="lbCF"> </a></p>
<h3>tos</h3>
<p>Фильтрует по разрядам байта TOS (Type Of Service &#8211; говоря вообще, приоритет пакета) в заголовке IP-пакета.</p>
<p><strong>&#8211;tos </strong><em>tos</em> </dt>
<dd> Стандартное имя (список можно вывести командой</p>
<p>iptables -m tos -h<br />
) или число. </dd>
</dl>
<p><a name="lbCG"> </a></p>
<h3>ttl</h3>
<p>Фильтрует по полю заголовка IP, определяющему время жизни пакета.</p>
<p><strong>&#8211;ttl-eq </strong><em>ttl</em> </dt>
<dd> Значение TTL должно быть равно указанному. </dd>
<dt><strong>&#8211;ttl-gt </strong><em>ttl</em> </dt>
<dd> Значение TTL должно быть больше указанного. </dd>
<dt><strong>&#8211;ttl-lt </strong><em>ttl</em> </dt>
<dd> Значение TTL должно быть меньше указанного. </dd>
</dl>
<p><a name="lbCH"> </a></p>
<h3>u32</h3>
<p>Позволяет извлекать из пакета данные размером до 4 байт, применять к ним операции логического И, сдвига, и проверять принадлежность получающихся данных определённым диапазонам.</p>
<p>Более подробное описание и примеры доступны в исходном коде ядра. <a name="lbCI"> </a></p>
<h3>udp</h3>
<p>Это расширение загружается при указании `&#8211;protocol udp&#8217;. Доступны следующие ключи:</p>
<p><strong>&#8211;source-port </strong>[!] <em>порт</em>[:<em>порт</em>] </dt>
<dd> Диапазон, в который должен входить исходный порт. См. описание ключа  <strong>&#8211;source-port</strong> расширения TCP. </dd>
<dt><strong>&#8211;destination-port </strong>[!] <em>port</em>[:<em>port</em>] </dt>
<dd> Диапазон, в который должен входить целевой порт. См. описание ключа  <strong>&#8211;destination-port</strong> расширения TCP. </dd>
</dl>
<p><a name="lbCJ"> </a></p>
<h3>unclean</h3>
<p>Фильтрует предположительно ошибочные и бесполезные пакеты. Это экспериментальный модуль. <a name="lbCK"> </a></p>
<h2>РАСШИРЕНИЯ МЕХАНИЗМА ОБРАБОТКИ</h2>
<p>В iptables можно добавлять дополнительные цели:  Далее описаны модули включенные в стандартную поставку.  <a name="lbCL"> </a></p>
<h3>BALANCE</h3>
<p>Позволяет равномерно распределять соединения между компьютерами в локальной сети  в заданном диапазоне (целевых) адресов.</p>
<p><strong>&#8211;to-destination </strong><em>ip1-ip2</em> </dt>
<dd> Диапазон адресов. </dd>
</dl>
<p><a name="lbCM"> </a></p>
<h3>CLASSIFY</h3>
<p>Устанавливает значение skb-&gt;priority (т.е. классифицировать пакет по критерию CBQ).</p>
<p><strong>&#8211;set-class </strong><em>главное-число:дополнительное-число</em> </dt>
<dd> Идентификатор класса </dd>
</dl>
<p><a name="lbCN"> </a></p>
<h3>CLUSTERIP</h3>
<p>Позволяет реализовывать простые конфигурации кластеров с общим IP и MAC без явного использования балансировщика (см. выше). Соединения распределяются статически.</p>
<p><strong>&#8211;new </strong> </dt>
<dd> Добавить новый кластерный IP. Этот ключ всегда необходимо использовать в первом правиле  для данного кластерного IP. </dd>
<dt><strong>&#8211;hashmode </strong><em>режим</em> </dt>
<dd> Режим хэширования: <strong>sourceip, sourceip-sourceport, sourceip-sourceport-destport</strong> </dd>
<dt><strong>&#8211;clustermac </strong><em>mac</em> </dt>
<dd> MAC кластерного IP. Это должен быть адрес для доставки подмножеству абонентов на уровне канала связи. </dd>
<dt><strong>&#8211;total-nodes </strong><em>число</em> </dt>
<dd> Общее число узлов в кластере. </dd>
<dt><strong>&#8211;local-node </strong><em>число</em> </dt>
<dd> Число локальных узлов в кластере. </dd>
<dt><strong>&#8211;hash-init </strong><em>случайное-число</em> </dt>
<dd> Начальное число для инициализации хэша. </dd>
</dl>
<p><a name="lbCO"> </a></p>
<h3>CONNMARK</h3>
<p>Помечает соединения.</p>
<p><strong>&#8211;set-mark метка[/маска]</strong> </dt>
<dd> Метка соединения. Если указана маска, изменяются только разряды которые равны единице в маске. </dd>
<dt><strong>&#8211;save-mark [--mask маска]</strong> </dt>
<dd> Перенести метку пакета в соединение. Если указана маска, копируются только разряды, которые равны единице в маске. </dd>
<dt><strong>&#8211;restore-mark [--mask маска]</strong> </dt>
<dd> Перенести метку соединения в пакет.  Если указана маска, копируются только разряды, которые равны единице в маске. Допустимо только в таблице  <strong>mangle .</strong> </dd>
</dl>
<p><a name="lbCP"> </a></p>
<h3>CONNSECMARK</h3>
<p>Переносит метки механизма защиты из пакетов в соединения  (если они ещё не имеют меток), и из соединений обратно в пакеты (также если они ещё не имеют меток). Обычно используется совместно с SECMARK и только в таблице  <strong>mangle .</strong></p>
<p><strong>&#8211;save</strong> </dt>
<dd> Если пакет имеет метку, а соединение нет, то перенести её в соединение. </dd>
<dt><strong>&#8211;restore</strong> </dt>
<dd> Если соединение имеет метку, а пакет нет, то перенести её в соединение. </dd>
</dl>
<p><a name="lbCQ"> </a></p>
<h3>DNAT</h3>
<p>Применяется только в таблице  <strong>nat</strong> и цепочках  <strong>PREROUTING ,</strong> <strong>OUTPUT</strong> и вызываемых из них цепочках определяемых пользователем. DNAT (Destination Network Address Translation) используется для преобразования адреса места назначения в IP заголовке пакета. Если пакет подпадает под критерий правила, выполняющего DNAT, то этот пакет, и все последующие пакеты из этого же потока, будут подвергнуты преобразованию адреса назначения и переданы на требуемое устройство, хост или сеть. Доступен один ключ:</p>
<p><strong>&#8211;to-destination </strong> </dt>
<dd> &#8220;[<em>ip-адрес</em>][-<em>ip-адрес</em>][:<em>порт</em>-<em>порт</em>]&#8221; Определяет новый целевой IP-адрес, либо диапазон (включительно) IP-адресов и (необязательно) диапазон портов (последнее допустимо только при указании  <strong>-p tcp</strong> или  <strong>-p udp</strong>).  Если диапазон портов не указывается, порты не будут меняться. То же самое относится IP-адресов.
</dt>
<dd>При использовании ядра до 2.6.10 допустимо указание нескольких ключей &#8211;to-destination. В этом случае производится простая кольцевая балансировка. Ядра (&gt;= 2.6.11-rc1) не позволяют распределять нагрузку по нескольким диапазонам IP-адресов.</p>
</dd>
</dl>
</dd>
</dl>
<p><a name="lbCR"> </a></p>
<h3>DSCP</h3>
<p>Позволяет изменять разряды DSCP в заголовке TOS пакетов IPv4. Может использоваться только в mangle.</p>
<p><strong>&#8211;set-dscp </strong><em>значение</em> </dt>
<dd> Устанавливать поле DSCP в указанное значение (десятичное или шестнадцатеричное) </dd>
<dt><strong>&#8211;set-dscp-class </strong><em>класс</em> </dt>
<dd> Устанавливать класс DiffServ в поле DSCP. </dd>
</dl>
<p><a name="lbCS"> </a></p>
<h3>ECN</h3>
<p>Позволяет закрывать известные &#8220;дыры&#8221; ECN. Используется в mangle.</p>
<p><strong>&#8211;ecn-tcp-remove</strong> </dt>
<dd> Удалять все разряды ECN из заголовка TCP. Используется вместе с  <strong>-p tcp</strong>. </dd>
</dl>
<p><a name="lbCT"> </a></p>
<h3>IPMARK</h3>
<p>Отмечает принимаемые пакеты на основе IP-адресов, связанных с ними. Позволяет заменить несколько записей mangle/mark одной в случае использования классификатора брандмауэра.</p>
<p>Используется в mangle, PREROUTING, POSTROUTING и FORWARD.</p>
<p><strong>&#8211;addr </strong><em>src/dst</em> </dt>
<dd> IP-адрес, с которым следует работать: исходный или конечный. </dd>
<dt><strong>&#8211;and-mask </strong><em>маска</em> </dt>
<dd> Применять логическое И маски к IP-адресу. </dd>
<dt><strong>&#8211;or-mask </strong><em>mask</em> </dt>
<dd> Применять логическое ИЛИ маски к IP-адресу.  Порядок байт IP-адрес обращается для соответствия представлениям человека: 192.168.0.1 &#8211; 0xc0a80001. Сначала выполняется операция И, затем ИЛИ.Примеры:</p>
<p>Создадим очередь для каждого пользователя, номер очереди будет соответствовать  IP-адресу: все пакеты приходящие от/отправляемые в 192.168.5.2 будут перенаправляться в очередь 1:0502, 192.168.5.12 -&gt; 1:050c и т.д.</p>
<p>Имеется одно правило классификации:</p>
</dd>
<dt>
</dt>
<dd> tc filter add dev eth3 parent 1:0 protocol ip fw  Теперь вместо: </dd>
<dt>
</dt>
<dd> iptables -t mangle -A POSTROUTING -o eth3 -d 192.168.5.2 -j MARK &#8211;set-mark 0&#215;10502 </dd>
<dt>
</dt>
<dd> iptables -t mangle -A POSTROUTING -o eth3 -d 192.168.5.3 -j MARK &#8211;set-mark 0&#215;10503  можно будет указать: </dd>
<dt>
</dt>
<dd> iptables -t mangle -A POSTROUTING -o eth3 -j IPMARK &#8211;addr=dst &#8211;and-mask=0xffff &#8211;or-mask=0&#215;10000  Это значительно (вдвое) уменьшает нагрузку на маршрутизаторы, обслуживающие сотни пользователей. </dd>
</dl>
<p><a name="lbCU"> </a></p>
<h3>IPV4OPTSSTRIP</h3>
<p>Удаляет все опции IP из пакета.</p>
<p>Никаких дополнительных параметров не требуется:</p>
<p># iptables -t mangle -A PREROUTING -j IPV4OPTSSTRIP <a name="lbCV"> </a></p>
<h3>LOG</h3>
<p>Вносить в протокол ядра записи о пакетах (например, поля заголовка IP), для которых указана данная цель. Протокол ядра доступен по команде  <em>dmesg .</em> См. <em><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=syslogd&amp;category=8" >syslogd</a></em>(8)).  Обработка после этой цели продолжается. Так, для внесения записей о блокируемых пакетах  укажите два отдельных правила с одинаковыми условиями, для первого укажите цель LOG, для второго &#8211; DROP (или REJECT).</p>
<p><strong>&#8211;log-level </strong><em>уровень</em> </dt>
<dd> Степень подробности (число, см. <em><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=syslog.conf&amp;category=5" >syslog.conf</a></em>(5)). </dd>
<dt><strong>&#8211;log-prefix </strong><em>префикс</em> </dt>
<dd> Префикс для выделения записей протокола среди других. До 29 символов. </dd>
<dt><strong>&#8211;log-tcp-sequence</strong> </dt>
<dd> Протоколировать номера последовательностей (sequence numbers) TCP. Если протокол доступен обычным пользователям, это отрицательно скажется на защищённости системы. </dd>
<dt><strong>&#8211;log-tcp-options</strong> </dt>
<dd> Вносить в протокол параметры заголовка TCP. </dd>
<dt><strong>&#8211;log-ip-options</strong> </dt>
<dd> Вносить в протокол параметры заголовка IP. </dd>
<dt><strong>&#8211;log-uid</strong> </dt>
<dd> Вносить в протокол идентификатор пользователя, которому принадлежит процесс, сгенерировавший пакет. </dd>
</dl>
<p><a name="lbCW"> </a></p>
<h3>MARK</h3>
<p>Используется для присвоения пакетам меток. Может использоваться только в пределах таблицы <strong>mangle .</strong> Обычно используется вместе с iproute2.</p>
<p><strong>&#8211;set-mark </strong><em>значение</em> </dt>
<dd> Задать значение nfmark. </dd>
<dt><strong>&#8211;and-mark </strong><em>значение</em> </dt>
<dd> Выполнить операцию &#8220;логическое И&#8221; над значением nfmark и указанным. </dd>
<dt><strong>&#8211;or-mark </strong><em>значение</em> </dt>
<dd> Выполнить операцию &#8220;логическое ИЛИ&#8221; над значением nfmark и указанным. </dd>
</dl>
<p><a name="lbCX"> </a></p>
<h3>MASQUERADE</h3>
<p>Цель допустима только в таблице  <strong>nat</strong> в цепочке  <strong>POSTROUTING ,</strong> для конфигураций с динамической выдачей IP (dialup): если у вас статический IP-адрес, используйте SNAT (это уменьшит нагрузку на систему). Маскарадинг &#8211; это по сути привязывание к IP-адресу интерфейса, через который пакет выходит, но он также имеет хорошее свойство &#8211;  <em>забывать</em> соединения при остановке сетевого интерфейса. Это корректное поведение если каждый раз при установлении связи с Internet получается новый адрес (потому имеющиеся соединения теряются в любом случае).</p>
<p><strong>&#8211;to-ports </strong><em>порт</em>[-<em>порт</em>] </dt>
<dd> Диапазон исходных портов, который следует использовать вместо  эвристически определяемого модулем <strong>SNAT</strong> (см. выше).  Допустимо только при указании  <strong>-p tcp</strong> или  <strong>-p udp</strong>. </dd>
</dl>
<p><a name="lbCY"> </a></p>
<h3>MIRROR</h3>
<p>Экспериментальная цель, созданная в демонстрационных целях, поскольку это действие может привести к &#8220;зацикливанию&#8221; пакета и, в результате, к отказу в обслуживании.</p>
<p>Данное действие допускается использовать только в цепочках <strong>INPUT</strong>,  <strong>FORWARD ,</strong> <strong>PREROUTING</strong> и в цепочках, вызываемых из них. Пакеты, отправляемые в сеть действием MIRROR, больше не подвергаются фильтрации, трассировке или NAT, избегая тем самым &#8220;зацикливания&#8221; и других неприятностей. <strong>NOT .</strong> <a name="lbCZ"> </a></p>
<h3>NETMAP</h3>
<p>Позволяет задать статическое отображение адресов одной подсети в адреса другой. Используется только в таблице <strong>nat .</strong></p>
<p><strong>&#8211;to </strong><em>адрес[/маска]</em> </dt>
<dd> Целевой адрес (или диапазон адресов). Отображённый адрес будет получаться следующим образом: все единицы в маске заменяются на цифры в соответствующих позициях нового &#8220;адреса&#8221;; все остальные разряды заполняются из отображаемого адреса. </dd>
</dl>
<p><a name="lbDA"> </a></p>
<h3>NFQUEUE</h3>
<p>Это расширение QUEUE.  В отличие от QUEUE, позволяет помещать пакет в определённую очередь, идентифицируемую по 16-разрядному номеру.</p>
<p><strong>&#8211;queue-num </strong><em>номер</em> </dt>
<dd> Номер очереди QUEUE. Допустимые номера &#8211; от 0 до 65535. По умолчанию &#8211; 0. </dd>
<dt>Работает только с ядрами 2.6.14 и позже, т.к. требует поддержку</dt>
<dd> <strong>nfnetlink_queue.</strong> </dd>
</dl>
<p><a name="lbDB"> </a></p>
<h3>NOTRACK</h3>
<p>Исключает пакет из множества наблюдаемых.</p>
<p>Используется только в таблице</dt>
<dd> <strong>raw .</strong> </dd>
</dl>
<p><a name="lbDC"> </a></p>
<h3>REDIRECT</h3>
<p>Может использоваться только в цепочках  <strong>PREROUTING</strong> и  <strong>OUTPUT</strong> таблицы <strong>nat ,</strong> а также в цепочках, вызываемых из вышеуказанных.</p>
<p>Выполняет перенаправление пакетов на другой порт той же самой машины. Очень удобно для выполнения &#8220;прозрачного&#8221; проксирования (transparent proxying), когда машины в локальной сети даже не подозревают о существовании прокси-сервера. При перенаправлении целевой IP-адрес пакета меняется на  основной адрес интерфейса отправки  (локальным пакетам присваивается 127.0.0.1). Для действия REDIRECT предусмотрен только один ключ:</p>
<p><strong>&#8211;to-ports </strong><em>порт</em>[-порт] </dt>
<dd> Диапазон портов, на которые следует перенаправлять пакет. Допустимо только при указании  <strong>-p tcp</strong> или  <strong>-p udp</strong>. </dd>
</dl>
<p><a name="lbDD"> </a></p>
<h3>REJECT</h3>
<p>Используется для отправки сообщения об ошибке на хост, от которого получен исходный пакет, в остальном эквивалентно  <strong>DROP ,</strong> обработка пакета останавливается на этой цели. Может использоваться только в цепочках  <strong>INPUT</strong>,  <strong>FORWARD ,</strong> <strong>OUTPUT ,</strong> а также в цепочках, вложенных в них. Следующий ключ определяет форму пакета с сообщением об ошибке:</p>
<p><strong>&#8211;reject-with </strong><em>тип</em> </dt>
<dd> Сообщение ICMP об ошибке. Возможные значения:</p>
<pre><strong> icmp-net-unreachable</strong>
<strong> icmp-host-unreachable</strong>
<strong> icmp-port-unreachable</strong>
<strong> icmp-proto-unreachable</strong>
<strong> icmp-net-prohibited</strong>
<strong> icmp-host-prohibited</strong>
<strong> icmp-admin-prohibited (*)</strong>
</pre>
<p>По умолчанию отправляется <strong>port-unreachable</strong>.  Для правил, которые фильтруют пакеты только принадлежащие протоколу TCP, можно указывать <strong>tcp-reset :</strong> это приведёт к возврату пакетов TCP RST и полезно для блокирования тестов <em>ident</em> (113/tcp) выполняемых при отправке почты на недоступные узлы. </dd>
<dt>(*) Указание icmp-admin-prohibited в случае если ядро не поддерживает этого</dt>
<dd> равносильно цели DROP </dd>
</dl>
<p><a name="lbDE"> </a></p>
<h3>ROUTE</h3>
<p>Позволяет явно изменять логику маршрутизации сетевой подсистемы. Используется в таблице <strong>mangle .</strong></p>
<p><strong>&#8211;oif </strong><em>интерфейс</em> </dt>
<dd> Направить пакет через указанный интерфейс. </dd>
<dt><strong>&#8211;iif </strong><em>интерфейс</em> </dt>
<dd> Изменить сведения об интерфейсе, который доставил пакет. </dd>
<dt><strong>&#8211;gw </strong><em>IP-адрес</em> </dt>
<dd> Направить пакет через указанный шлюз. </dd>
<dt><strong>&#8211;continue </strong> </dt>
<dd> Не прекращать тестирование пакета в цепочке. Недопустимо, если указан один из ключей `&#8211;iif&#8217; / `&#8211;tee&#8217; </dd>
<dt><strong>&#8211;tee </strong> </dt>
<dd> Выполнять указанные действия над копией пакета, не прекращать тестирование исходного пакета в цепочке. Недопустимо, если указан один из ключей `&#8211;iif&#8217; / `&#8211;continue&#8217; </dd>
</dl>
<p><a name="lbDF"> </a></p>
<h3>SAME</h3>
<p>Аналогично SNAT/DNAT, в зависимости от цепочки: на вход принимается диапазон адресов (`&#8211;to 1.2.3.4-1.2.3.7&#8242;), после чего клиентам выдаётся  одна и та же пара исходного/целевого адресов для одного соединения.</p>
<p><strong>&#8211;to </strong><em>ip1-ip2</em> </dt>
<dd> Адреса, в которые будут отображаться получаемые адреса пакетов. Допустимо указание нескольких ключей. </dd>
<dt><strong>&#8211;nodst</strong> </dt>
<dd> Не учитывать изначальный целевой IP-адрес при определении нового исходного адреса. </dd>
</dl>
<p><a name="lbDG"> </a></p>
<h3>SECMARK</h3>
<p>Устанавливает метки механизма защиты в пакетах. Они используются подсистемами защиты наподобие SELinux. Допустимо указание только в таблице <strong>mangle .</strong></p>
<p><strong>&#8211;selctx </strong><em>контекст-защиты</em> </dt>
<dd>
</dd>
</dl>
<p><a name="lbDH"> </a></p>
<h3>SET</h3>
<p>Добавляет и удаляет элементы из множеств IP, определяемых с помощью <a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=ipset&amp;category=8" >ipset</a>(8).</p>
<p><strong>&#8211;add-set </strong>имя-множества флаг[,флаг...] </dt>
<dd> Добавить адреса/порты пакета в указанные множества </dd>
<dt><strong>&#8211;del-set </strong>имя-множества флаг[,флаг...] </dt>
<dd> Удалить адреса/порты пакета в указанные множества, где флаги &#8211;  <strong>src</strong> и/или  <strong>dst</strong>,  ограничение &#8211; 6 штук. </dd>
<dt>Для многоуровневого добавления/удаления элементов с помощью SET</dt>
<dd> необходимо предварительно определить связывание (адресов). </dd>
</dl>
<p><a name="lbDI"> </a></p>
<h3>SNAT</h3>
<p>Используется только в цепочке <strong>POSTROUTING</strong> таблицы <strong>nat .</strong> Изменяет адрес источника пакета, если он удовлетворяет условиям, и всех последующих пакетов соединения (последние не будут тестироваться).</p>
<p><strong>&#8211;to-source </strong><em>ip1</em>[-<em>ip2</em>][:<em>порт1</em>-<em>порт2</em>] </dt>
<dd> IP-адрес или диапазон адресов (включительно) источника, а также (необязательно, и только в случае <strong>-p tcp</strong> или  <strong>-p udp</strong>)  диапазон портов. Если последний не указан, то выполняются следующие отображения: порты до 512 будут отображаться в порты до 512; порты от 512 до 1023 включительно &#8211; в порты до 1024; остальные &#8211; в порты начиная с 1024. По возможности порты будут отображаться сами в себя.
</dt>
<dd>В ядрах до 2.6.10 возможно указание нескольких ключей &#8211;to-source. В этом случае производится простая кольцевая балансировка. Ядра &gt;= 2.6.11-rc1 не могут работать с несколькими диапазонами IP-адресов.</p>
</dd>
</dl>
</dd>
</dl>
<p><a name="lbDJ"> </a></p>
<h3>TARPIT</h3>
<p>Удерживает входящие соединения TCP (объём используемых модулем ресурсов не зависит от количества соединений). Запросы на установление соединения принимаются, но сразу после этого соединения переводятся в состояние удерживания (persist &#8211; окно нулевого размера), в которых удалённая сторона не посылает никаких данных, и только отправляет запросы на продолжение каждые 60-240 секунд. Попытки закрытия соединения игнорируются, и оно закрывается по истечении времени ожидания (12-24 минут).</p>
<p>Аналогично LaBrea &lt;<a href="http://manlinux.org/goto/http://www.hackbusters.net/LaBrea/" >http://www.hackbusters.net/LaBrea/</a>&gt;, но не требует выделенного сервера  и IP-адресов. Любой порт TCP, для которого иначе бы выполнялось одно из действий DROP или REJECT, может удерживать соединения (стать tarpit).</p>
<p>Для удерживания соединений на порт TCP 80 данного компьютера:</p>
</dt>
<dd> iptables -A INPUT -p tcp -m tcp &#8211;dport 80 -j TARPIT  Для значительного замедления сканирования неиспользуемых адресов по схеме  Code Red/Nimda перенаправьте их на компьютер с Linux, не выполняющий функцию маршрутизации (ip route 10.0.0.0 255.0.0.0 ip.of.linux.box на Cisco), включите перенаправление IP на компьютере с Linux и: </dd>
<dt>
</dt>
<dd> iptables -A FORWARD -p tcp -j TARPIT </dd>
<dt>
</dt>
<dd> iptables -A FORWARD -j DROP </dd>
<dt>Примечание:</dt>
<dd> Если вы используете модуль conntrack, то необходимо также указывать цель NOTRACK, иначе ядро будет выделять ресурсы без надобности для каждого удерживаемого соединения. Так, при удерживании входящих соединений на порт IRC: </dd>
<dt>
</dt>
<dd> iptables -t raw -A PREROUTING -p tcp &#8211;dport 6667 -j NOTRACK </dd>
<dt>
</dt>
<dd> iptables -A INPUT -p tcp &#8211;dport 6667 -j TARPIT </dd>
</dl>
<p><a name="lbDK"> </a></p>
<h3>TCPMSS</h3>
<p>Позволяет изменять значение MSS пакетов TCP SYN, для ограничения  размера пакетов соединения (обычно ограничение равно  MTU исходящего интерфейса минус 40). Натурально, может использоваться только при  <strong>-p tcp</strong>,  в таблице  <strong>mangle</strong>.<br />
Эта цель полезна если провайдер или серверы блокируют  пакеты ICMP запроса фрагментации. Определить, так ли это в вашем случае, легко: с компьютера Linux, выступающего в роли брандмауэра/маршрутизатора всё работает, но компьютеры, которые он обслуживает, не могут обмениваться пакетами большого размера:</p>
</dt>
<dd> 1)</dt>
<dd> Веб-браузеры устанавливают соединение, но не получают никаких данных. </dd>
<dt>2)</dt>
<dd> Не удаётся получать электронные сообщения большого размера. </dd>
<dt>3)</dt>
<dd> ssh работает нормально, но scp бездействует после процедуры согласования. </dd>
</dl>
</dd>
</dl>
<p>Как это можно исправить: включите указанную опцию и добавьте правило в брандмауэр:</p>
<pre> iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
             -j TCPMSS --clamp-mss-to-pmtu
</pre>
<p><strong>&#8211;set-mss </strong><em>значение</em> </dt>
<dd> Значение опции MSS, которое следует устанавливать. </dd>
<dt><strong>&#8211;clamp-mss-to-pmtu</strong> </dt>
<dd> Автоматически вычислять значение MSS по формуле (path_MTU &#8211; 40). </dd>
<dt>Допустимо одновременное указание только одного из этих ключей.</dt>
<dd>
</dd>
</dl>
<p><a name="lbDL"> </a></p>
<h3>TOS</h3>
<p>Используется для установки разрядов в поле Type of Service заголовка IP. Допустимо только в таблице  <strong>mangle .</strong></p>
<p><strong>&#8211;set-tos </strong><em>tos</em> </dt>
<dd> Возможно указание значения в виде числа или имени в соответствии со списком</p>
<pre> iptables -j TOS -h
</pre>
</dd>
</dl>
<p><a name="lbDM"> </a></p>
<h3>TRACE</h3>
<p>Включает  <strong>трассировку пакетов </strong> соответствующих условию правила. <a name="lbDN"> </a></p>
<h3>TTL</h3>
<p>Используется для изменения содержимого поля Time To Live в заголовке IPv4. TTL определяет число маршрутизаторов которое пакет должен пройти прежде чем он будет считаться утерянным.</p>
<p>Изменение (особенно &#8211; увеличение) поля TTL может быть опасным, потому желательно</dt>
<dd> избегать этого. </dd>
<dt><strong>Никогда не изменяйте (особенно &#8211; не увеличивайте) TTL пакетов, покидающих</strong> </dt>
<dd> локальную сеть. Таблица <strong>mangle .</strong> </dd>
<dt><strong>&#8211;ttl-set </strong><em>число</em> </dt>
<dd> Установить новое значение TTL. </dd>
<dt><strong>&#8211;ttl-dec </strong><em>число</em> </dt>
<dd> Уменьшить значение TTL на указанное число. </dd>
<dt><strong>&#8211;ttl-inc </strong><em>число</em> </dt>
<dd> Увеличить значение TTL на указанное число. </dd>
</dl>
<p><a name="lbDO"> </a></p>
<h3>ULOG</h3>
<p>Предоставляет возможность протоколирования сведений о пакетах в пользовательском пространстве. При использовании этого действия пакет через сокеты  <em>netlink</em> доставляется произвольному количеству адресатов. В качестве адресатов выступают процессы в пользовательском пространстве. Как и в случае с LOG, тестирование пакета в цепочке не прекращается.</p>
<p><strong>&#8211;ulog-nlgroup </strong><em>группа-netlink</em> </dt>
<dd> Группа netlink (1-32), которой следует посылать пакет. Значение по умолчанию &#8211; 1. </dd>
<dt><strong>&#8211;ulog-prefix </strong><em>префикс</em> </dt>
<dd> Префикс для записей в протоколе для выделения среди других сообщений. До 32 символов. </dd>
<dt><strong>&#8211;ulog-cprange </strong><em>размер</em> </dt>
<dd> Количество байтов, которое следует переносить в пользовательское пространство. По умолчанию &#8211; 0 (копировать весь пакет). </dd>
<dt><strong>&#8211;ulog-qthreshold </strong><em>размер</em> </dt>
<dd> Размер буфера пакетов в ядре. При заполнении буфера он будет посылаться в пользовательское пространство  как одно сообщение netlink. По умолчанию &#8211; 1 (для обратной совместимости).
</dd>
</dl>
<p><a name="lbDP"> </a></p>
<h3>XOR</h3>
<p>Шифровать трафик TCP и UDP простым кодом XOR</p>
<p><strong>&#8211;key </strong><em>строка</em> </dt>
<dd> Ключ. </dd>
<dt><strong>&#8211;block-size</strong> </dt>
<dd> Размер блока </dd>
</dl>
<p><a name="lbDQ"> </a></p>
<h2>ДИАГНОСТИКА</h2>
<p>Разнообразные сообщения выводятся на стандартный вывод. Код выхода в случае отсутствия ошибок &#8211; 0. Если команде переданы недопустимые ключи, код выхода равен 2, при остальных ошибках код выхода равен 1. <a name="lbDR"> </a></p>
<h2>ОШИБКИ</h2>
<p>См. <a href="http://manlinux.org/goto/http://bugzilla.netfilter.org/" >http://bugzilla.netfilter.org/</a> <a name="lbDS"> </a></p>
<h2>СОВМЕСТИМОСТЬ С IPCHAINS</h2>
<p>Пакет <strong>iptables</strong> очень похож на ipchains, написанные Расти Расселом (Rusty Russell). Основное различие состоит в том, что цепочки <strong>INPUT</strong> и <strong>OUTPUT</strong> не применяются для &#8220;проходящих&#8221; пакетов. Потому каждый пакет проходит только через одну из цепочек (кроме трафика кольцевого интерфейса loopback, проходящего через  INPUT и OUTPUT).</p>
<p>Другое различие состоит в том, что <strong>-i</strong> относится с входному интерфейсу; <strong>-o</strong> &#8211; к выходному, и оба они доступны для пакетов  в цепочке  <strong>FORWARD .</strong></p>
<p>В стандартной конфигурации  <strong>iptables </strong> работает как фильтр пакетов (таблица `filter&#8217;), и к нему можно подключать дополнительные расширения. Это должно помочь избежать &#8220;неразберихи&#8221; с  IP-маскарадингом и собственно фильтрацией. Так, следующие ключи обрабатываются иначе:</p>
<pre> -j MASQ
 -M -S
 -M -L
</pre>
<p>Натурально, имеется много менее значительных изменений. <a name="lbDT"> </a></p>
<h2>СМ. ТАКЖЕ</h2>
<p><strong><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=iptables-save&amp;category=8" >iptables-save</a></strong>(8),  <strong><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=iptables-restore&amp;category=8" >iptables-restore</a></strong>(8),  <strong><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=ip6tables&amp;category=8" >ip6tables</a></strong>(8),  <strong><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=ip6tables-save&amp;category=8" >ip6tables-save</a></strong>(8),  <strong><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=ip6tables-restore&amp;category=8" >ip6tables-restore</a></strong>(8),  <strong><a href="http://manlinux.org/goto/http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=libipq&amp;category=3" >libipq</a></strong>(3).   О фильтрации пакетов более подробно написано в packet-filtering-HOWTO, о трансляции адресов &#8211; в NAT-HOWTO, о нестандартных расширениях &#8211; в netfilter-extensions-HOWTO, о программировании &#8211; в netfilter-hacking-HOWTO.<br />
См.  <strong><a href="http://manlinux.org/goto/http://www.netfilter.org/" >http://www.netfilter.org/</a></strong> и <strong><a href="http://manlinux.org/goto/http://www.linuxshare.ru/docs/security/iptables/iptables-tutorial.html." >http://www.linuxshare.ru/docs/security/iptables/iptables-tutorial.html.</a></strong> <a name="lbDU"> </a></p>
<h2>АВТОРЫ</h2>
<p>Пакет создал Расти Рассел (Rusty Russell), консультируясь с  Майклом Ньюлингом (Michael Neuling) на ранних этапах.</p>
<p>Благодаря Марку Бушэ (Marc Boucher) был удалён код ipnatctl, он был заменен более общей инфраструктурой отбора пакетов. Им была реализована таблица mangle, фильтрация по владельцу, метки и ещё много чего другого.</p>
<p>Джеймс Моррис (James Morris) реализовал цель TOS и фильтрацию по tos.</p>
<p>Джозеф Кадлецик (Jozsef Kadlecsik) реализовал цель REJECT.</p>
<p>Гаральд Уэльт (Harald Welte) реализовал цели ULOG и nd NFQUEUE, libiptc, а также цели и фильтры TTL, DSCP, ECN.</p>
<p>Команду Netfilter Core Team составляют: Марк Бушэ (Marc Boucher), Мартин Джозефсон (Martin Josefsson), Дожзеф Кадлецик (Jozsef Kadlecsik),  Патрик МакХарди (Patrick McHardy), Джеймс Моррис (James Morris), Гаральд Уэльт (Harald Welte) и Расти Рассел (Rusty Russell).</p>
<p>Настоящий документ написан Херви Ейчинном (Herve Eychenne) &lt;<a href="mailto:rv@wallfire.org">rv@wallfire.org</a>&gt;.</p>
<p><a name="lbDV"> </a></p>
<h2>ПЕРЕВОД</h2>
<p>Николай Шафоростов &lt;<a href="mailto:shafff@ukr.net">shafff@ukr.net</a>&gt; 2007</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/man-iptables-rus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/man-iptables-rus/</feedburner:origLink></item>
		<item>
		<title>Rcconf. Включение и отключение демонов при загрузке</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/MZmPFozwJ4Q/</link>
		<comments>http://manlinux.org/rcconf-enabling-and-disabling-daemons-at-boot/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 15:51:03 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Загрузчик]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[daemons]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=146</guid>
		<description><![CDATA[Rcconf &#8211; самый простой способ отменить или назначить автозагрузку демонов. Имеет простой текстовый интерфейс. Запускается командой &#8220;sudo rcconf&#8221; из консоли.
Управление: стрелки вверх-вниз, пробел (для выбора), enter &#8211; для записи изменений, escape &#8211; для выхода.

Установка в Debian-based дистрибутивах скушна и неинтересна:
sudo aptitude install rcconf
Ну и запуск следует делать с sudo, ибо записать изменения не удастся без [...]]]></description>
			<content:encoded><![CDATA[<p>Rcconf &#8211; самый простой способ отменить или назначить автозагрузку демонов. Имеет простой текстовый интерфейс. Запускается командой &#8220;sudo rcconf&#8221; из консоли.</p>
<p><span id="more-146"></span>Управление: стрелки вверх-вниз, пробел (для выбора), enter &#8211; для записи изменений, escape &#8211; для выхода.</p>
<p><a href="http://manlinux.org/wp-content/uploads/2010/04/rcconf.png" ><img class="aligncenter size-full wp-image-145" title="rcconf - консольная утилита для управления запуска демонов" src="http://manlinux.org/wp-content/uploads/2010/04/rcconf.png" alt="rcconf - консольная утилита для управления запуска демонов" width="641" height="339" /></a></p>
<p>Установка в Debian-based дистрибутивах скушна и неинтересна:</p>
<pre>sudo aptitude install rcconf</pre>
<p>Ну и запуск следует делать с sudo, ибо записать изменения не удастся без него.</p>
<p><span style="color: #ff0000;"><strong>Achtung! Если не знаешь, что делает тот или иной демон &#8211; не отключать. Ибо последствия могут быть&#8230;</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/rcconf-enabling-and-disabling-daemons-at-boot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/rcconf-enabling-and-disabling-daemons-at-boot/</feedburner:origLink></item>
		<item>
		<title>Настройка локальной сети через консоль</title>
		<link>http://feedproxy.google.com/~r/m/org/~3/UB46G8uVmM8/</link>
		<comments>http://manlinux.org/configuring-the-lan-console/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 14:59:02 +0000</pubDate>
		<dc:creator>helios</dc:creator>
				<category><![CDATA[Сеть]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[LAN]]></category>

		<guid isPermaLink="false">http://manlinux.org/?p=139</guid>
		<description><![CDATA[ifconfig eth0 down
Кладём интерфейс eth0
ifconfig eth0 hw ether 00:e0:4c:aa:2b:13
Устанавливаем нужный mac-адрес (если mac менять не нужно &#8211; то пропустить)
ifconfig eth0 192.168.5.50 netmask 255.255.255.0 up
Поднимаем интерфейс eth0 с ip=192.168.5.50, маской сети 255.255.255.0.

Поднимаем DNS
Всё, что нам нужно сделать, чтобы назначить какой-то компьютер нашим dns-сервером &#8211; прописать &#8220;nameserver ЕГО_IP&#8221; в файле /etc/resolv.conf (если нет &#8211; создайте).
Для этого достаточно [...]]]></description>
			<content:encoded><![CDATA[<pre>ifconfig eth0 down</pre>
<p>Кладём интерфейс eth0</p>
<pre>ifconfig eth0 hw ether 00:e0:4c:aa:2b:13</pre>
<p>Устанавливаем нужный mac-адрес (если mac менять не нужно &#8211; то пропустить)</p>
<pre>ifconfig eth0 192.168.5.50 netmask 255.255.255.0 up</pre>
<p>Поднимаем интерфейс eth0 с ip=192.168.5.50, маской сети 255.255.255.0.</p>
<p><span id="more-139"></span><br />
<h2>Поднимаем DNS</h2>
<p>Всё, что нам нужно сделать, чтобы назначить какой-то компьютер нашим dns-сервером &#8211; прописать &#8220;nameserver ЕГО_IP&#8221; в файле /etc/resolv.conf (если нет &#8211; создайте).</p>
<p>Для этого достаточно набрать команду</p>
<pre>sudo su
echo 'nameserver 192.168.5.1' >> /etc/resolv.conf
exit</pre>
<p><a href="http://manlinux.org/spoofing-mac-address/">Про смену MAC-адреса.</a></p>
<p><a href="http://manlinux.org/man-ipconfig-rus/">Мануал по ipconfig на русском.</a></p>
<p><strong>Примечание:</strong></p>
<p>Network Manager, гад такой, частенько трёт /etc/resolv.conf . Поэтому, либо вырубите его, либо дописывайте в /etc/resolv.conf временами свой dns.</p>
]]></content:encoded>
			<wfw:commentRss>http://manlinux.org/configuring-the-lan-console/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://manlinux.org/configuring-the-lan-console/</feedburner:origLink></item>
	<media:rating>nonadult</media:rating></channel>
</rss>

