<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>IT-совместимый сайт &#187; Linux</title>
	<atom:link href="http://www.itcomp.org.ua/category/os/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.itcomp.org.ua</link>
	<description></description>
	<lastBuildDate>Wed, 02 Sep 2009 19:17:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Скриншот GDM</title>
		<link>http://www.itcomp.org.ua/os/gdm-screenshot/</link>
		<comments>http://www.itcomp.org.ua/os/gdm-screenshot/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 19:17:09 +0000</pubDate>
		<dc:creator>Malefic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ОСи]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[screenshot]]></category>

		<guid isPermaLink="false">http://www.itcomp.org.ua/?p=221</guid>
		<description><![CDATA[Понадобилось сделать скриншот экрана входа, вот как в итоге это у меня получилось:
1) Итак, мы в экране выбора/ввода пользователя.
2) Переходим на экран консоли, любой: Ctrl+Alt+F3 к примеру.
3) Логинимся под своим пользователем. Ставим, если еще нет, imagemagick, sudo.
4) Выполняем одной командой:
hvt 7 ; sleep 5 ; XAUTHORITY=/var/lib/gdm/:0.Xauth DISPLAY=:0.0 sudo import -window root screen.png; chvt 2
Экран прейдет [...]]]></description>
			<content:encoded><![CDATA[<p>Понадобилось сделать скриншот экрана входа, вот как в итоге это у меня получилось:<br />
1) Итак, мы в экране выбора/ввода пользователя.<br />
2) Переходим на экран консоли, любой: <strong>Ctrl+Alt+F3</strong> к примеру.<br />
3) Логинимся под своим пользователем. Ставим, если еще нет, <em>imagemagick</em>, <em>sudo</em>.<br />
4) Выполняем одной командой:<br />
<code>hvt 7 ; sleep 5 ; XAUTHORITY=/var/lib/gdm/:0.Xauth DISPLAY=:0.0 sudo import -window root screen.png; chvt 2</code><br />
Экран прейдет на GDM, камп пикнет, затем экран вернется в консоль. В итоге в нашей текущей папке должен появиться вожделенный скрин с указанным в команде именем (screen.png)<br />
Думаю, для KDM процесс должен быть аналогичен, с соответствующей коррекцией команды. Проверьте сами, у меня не на чем)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcomp.org.ua/os/gdm-screenshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настраиваем планшет Genius WizardPen</title>
		<link>http://www.itcomp.org.ua/os/linux/setup-genius-wizardpen/</link>
		<comments>http://www.itcomp.org.ua/os/linux/setup-genius-wizardpen/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 13:01:51 +0000</pubDate>
		<dc:creator>Malefic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Графика]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[digitizer]]></category>
		<category><![CDATA[genius]]></category>
		<category><![CDATA[wisardpen]]></category>
		<category><![CDATA[настройка]]></category>
		<category><![CDATA[планшет]]></category>

		<guid isPermaLink="false">http://www.itcomp.org.ua/?p=200</guid>
		<description><![CDATA[Ну что ж.
Имеем: Дебиан, планшет Genius WizardPen А5 (у вас, возможно, другой формат).
Нужно: чтоб эта зараза заработала.
Устанавливаем драйвер
1) Для начала качаем последнюю альфу драйвера отсюда или стабильную версию отсюда (линки рабочие на 26.04.2009).

2) Распаковываем скачанный архив: 
$ tar -zxvf wizardpen-[скачанная вами версия]
3) Ставим необходимые пакеты:
$ sudo aptitude install xutils libx11-dev libxext-dev build-essential xautomation xinput xserver-xorg-dev
4) [...]]]></description>
			<content:encoded><![CDATA[<p>Ну что ж.<br />
Имеем: Дебиан, планшет Genius WizardPen А5 (у вас, возможно, другой формат).<br />
Нужно: чтоб эта зараза заработала.</p>
<p><strong>Устанавливаем драйвер</strong></p>
<p>1) Для начала качаем последнюю альфу драйвера <a href="http://cid-43438aff38d34c29.skydrive.live.com/self.aspx/Public/wizardpen/wizardpen-0.7.0-alpha2.tar.gz">отсюда</a> или стабильную версию <a href="http://specificcrap.arbitrarycrap.com/wizardpen-0.6.0.2.tar.gz">отсюда</a> (линки рабочие на 26.04.2009).<br />
<span id="more-200"></span><br />
2) Распаковываем скачанный архив: </p>
<p><code>$ tar -zxvf wizardpen-[скачанная вами версия]</code></p>
<p>3) Ставим необходимые пакеты:</p>
<p><code>$ sudo aptitude install xutils libx11-dev libxext-dev build-essential xautomation xinput xserver-xorg-dev</code></p>
<p>4) Заходим в созданную при распаковке директорию:</p>
<p><code>$ cd wizardpen-[скачанная вами версия]</code></p>
<p>5) Конфигурим и ставим драйвер:</p>
<p><code>$ ./configure --with-xorg-module-dir=/usr/lib/xorg/modules &#038;&#038; make &#038;&#038; sudo make install</code></p>
<p>6) Проверяем, что драйвер корректно поставился (наличие файлов wizardpen_drv.la и wizardpen_drv.so):</p>
<p><code>$ ls /usr/lib/xorg/modules/input/wizardpen_drv.*</code></p>
<p>Для Xorg7.3 рекомендуется создавать файл конфигурации устройства. Этот шаг иногда не только рекомендован, но и <strong>жизненно</strong> важен, когда конфигурация внесенная в xorg.conf не работает. Попробуем рассмотреть оба варианта.</p>
<p>Сначала &#8211; <strong>новый вариант</strong>.</p>
<p>1) Присоединяем планшет (если уже этого не сделали).</p>
<p>2) Узнаем его имя:</p>
<p><code>$ grep -i name /proc/bus/input/devices</code></p>
<p>2.1) Можно проверить, корректно ли нашел его HAL:</p>
<p><code>$ lshal | grep ["имя с предыдущего вывода"]</code></p>
<p>3) Создаем новый файл с именем <em>/etc/hal/fdi/policy/99-x11-wizardpen.fdi</em></p>
<p><code>$ nano /etc/hal/fdi/policy/99-x11-wizardpen.fdi</code></p>
<p>4) В него вносим следующее:<br />
<code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot; ?&gt;<br />
&lt;deviceinfo version=&quot;0.2&quot;&gt;<br />
&lt;device&gt;<br />
&lt;!-- This MUST match with the name of your tablet --&gt;<br />
&lt;match key=&quot;info.product&quot; contains=&quot;NAME OF YOUR TABLE OBTAINED FROM PREVIOUS STEP&quot;&gt;<br />
&lt;merge key=&quot;input.x11_driver&quot; type=&quot;string&quot;&gt;wizardpen&lt;/merge&gt;<br />
&lt;merge key=&quot;input.x11_options.SendCoreEvents&quot; type=&quot;string&quot;&gt;true&lt;/merge&gt;<br />
&lt;merge key=&quot;input.x11_options.TopX&quot; type=&quot;string&quot;&gt;5619&lt;/merge&gt;<br />
&lt;merge key=&quot;input.x11_options.TopY&quot; type=&quot;string&quot;&gt;6554&lt;/merge&gt;<br />
&lt;merge key=&quot;input.x11_options.BottomX&quot; type=&quot;string&quot;&gt;29405&lt;/merge&gt;<br />
&lt;merge key=&quot;input.x11_options.BottomY&quot; type=&quot;string&quot;&gt;29671&lt;/merge&gt;<br />
&lt;merge key=&quot;input.x11_options.MaxX&quot; type=&quot;string&quot;&gt;29405&lt;/merge&gt;<br />
&lt;merge key=&quot;input.x11_options.MaxY&quot; type=&quot;string&quot;&gt;29671&lt;/merge&gt;<br />
&lt;/match&gt;<br />
&lt;/device&gt;<br />
&lt;/deviceinfo&gt;</code></p>
<p>Прошу отметить, что значения в этом файле не обязательно корректны для вашего устройства. Потом мы его откалибруем.</p>
<p>5) Перезагружаемся.</p>
<p>Если после перезагрузки курсор сходит с ума или не стартуют иксы, вы наверное где-то накосячили&#8230; Вперед &#8211; дебагить!</p>
<p><strong>Калибруем</strong></p>
<p>1) Выполняем </p>
<p>$ lshal | less</p>
<p>2) И ищем в довольно таки обширном выводе команды имя найденного ранее нами устройства. Строчка должна содержать <em>info.product = &#8216;[имя планшета]&#8216;</em></p>
<p>3) Ищем чуть ниже строчку <em>linux.device_file = &#8216;/dev/input/eventN&#8217;</em> (где N &#8211; какой-то номер)</p>
<p>4) Пакет исходников, который мы скачали пораньше, содержит программку калибровки, запускаем ее с консоли (если мы не в папке скачанного и распакованного драйвера &#8211; сначала заходим в нее):</p>
<p><code>$ calibrate/wizardpen-calibrate /dev/input/eventN</code></p>
<p>N берем с найденной выше строчки.</p>
<p>Если что-то не так, возможно программа не скомпилирована, тогда сначала заходим с папку с ней и командуем <em>make</em>.</p>
<p>5) Следуйте инструкциям в программе. Когда программа завершит работу, она выведет на экран необходимые настройки. Редактируем созданный выше файл конфигурации в соответствие с полученными значениями.</p>
<p>6) Нужно перегрузиться (а ходят слухи, что и просто переткнуть планшету в порт).</p>
<p>Должно работать (=</p>
<p><strong>Старый вариант</strong></p>
<p>Этот вариант гораздо долее долгий и муторный, но чего только для людей не сделаешь (=</p>
<p>1) Присоединяем планшет (если не уже)</p>
<p>2) Ищем название девайса:</p>
<p><code>$ cat /sys/bus/usb/devices/*/product</code></p>
<p>Вывод будет чем-то типа этого:<br />
<code>Tablet WP5540U<br />
UHCI Host Controller<br />
UHCI Host Controller<br />
UHCI Host Controller<br />
EHCI Host Controller</code></p>
<p>3) Добавляем правило udev. Прошу заметить, что SYSFS{product} содержит полученное выше имя планшета!</p>
<p><code>$ sudo bash<br />
# echo 'BUS=="usb", KERNEL=="event*", SYSFS{product}=="Tablet WP8060U", NAME="input/%k", SYMLINK+="tablet-event", MODE="0666"' >> /etc/udev/rules.d/010_local.rules<br />
# exit</code></p>
<p>4) Рестартуем udev:</p>
<p><code>$ sudo /etc/init.d/udev restart</code></p>
<p>5) Проверяем созданную ссылку:</p>
<p><code>$ ls -la /dev/tablet-event</code></p>
<p>Если получаем строчку &#8211; наше счастье, ссылка удачно создана.</p>
<p><strong>Калибруем &laquo;по-старинке&raquo;</strong></p>
<p>1) Компилируем программу калибровки (если не уже)</p>
<p><code>$ cd calibrate &#038;&#038; make</code></p>
<p>2) Собственно, калибруем:</p>
<p><code>$ sudo ./wizardpen-calibrate /dev/tablet-event</code></p>
<p>3) Сохраняем вывод, он нам еще пригодится.</p>
<p>4) Бекапим /etc/X11/xorg.conf</p>
<p>5) Открываем его:</p>
<p><code>$ sudo nano /etc/X11/xorg.conf</code></p>
<p>6) Добавляем в секцию &laquo;ServerLayout&raquo; строчку</p>
<p><code>InputDevice "WizardPen Tablet" "AlwaysCore"</code></p>
<p>7) Проверяем xorg.conf на наличие раздела с настройками калибровки планшета. Если его нет &#8211; добавляем (там, где настройки мыши, отдельным блоком), заменив на значения, полученные при калибровке.</p>
<p><code>Section "InputDevice"<br />
        Identifier      "WizardPen Tablet"<br />
        Option          "SendCoreEvents"        "true"<br />
        Driver          "wizardpen"<br />
        Option          "Device"        "/dev/tablet-event"<br />
        Option          "TopX"          "0"<br />
        Option          "TopY"          "234"<br />
        Option          "BottomX"       "32747"<br />
        Option          "BottomY"       "32762"<br />
        Option          "MaxX"          "32747"<br />
        Option          "MaxY"          "32762"<br />
EndSection</code></p>
<p><strong>Стартуем иксы без планшета</strong></p>
<p>Если драйвер старый, он не поддерживает горячее подключение. Нам нужно отключать его, ели планшета не подключена.</p>
<p>Открываем <em>/etc/rc.local</em></p>
<p><code>$ sudo nano /etc/rc.local</code></p>
<p>и прямо перед <em>exit 0</em> добавляем туда следующее:</p>
<p><code>XORG_CONF=/etc/X11/xorg.conf<br />
if [ -e /dev/tablet-event ]; then<br />
  sed -ie 's/^\(\s*\)\#\(\s*InputDevice\s\s*\"WizardPen\ Tablet\"\s\s*\"AlwaysCore\"\)\s*$/\1\2/' "$XORG_CONF"<br />
  echo "Udev created /dev/tablet-event = Tablet present! - Tablet-driver enabled"<br />
else<br />
  sed -ie 's/\(^\s*InputDevice\s\s*\"WizardPen\ Tablet\"\s\s*\"AlwaysCore\"\)\s*$/\#&#038;/' "$XORG_CONF"<br />
  echo "Udev did NOT create /dev/tablet-event = tablet NOT present! - Tablet-driver disabled"<br />
fi</code></p>
<p>Сохраняем файл и выходим.</p>
<p>Проверяем как udev ловит подключение планшета (запускаем следующую команду с/без планшета):</p>
<p><code>$ sudo /etc/init.d/rc.local start</code></p>
<p>Любуемся результатами.</p>
<p><strong>Настраиваем кнопки планшета</strong></p>
<p>Узнаем имя настраиваемого девайса:</p>
<p><code>$ xsetpointer -l</code></p>
<p>Командуем (где &laquo;WizardPen Tablet&raquo; &#8211; результат предыдущей команды): </p>
<p><code>$ xinput set-button-map "WizardPen Tablet" 1 3 2 </code></p>
<p>Если что-то не так, меняем местами кнопки или вобще оставляем только перо:</p>
<p><code>$ xinput set-button-map "WizardPen Tablet" 1 0 0</code></p>
<p><strong>Удачи в использовании!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcomp.org.ua/os/linux/setup-genius-wizardpen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка и настройка вебкамеры</title>
		<link>http://www.itcomp.org.ua/os/linux/webcam-debian-sid/</link>
		<comments>http://www.itcomp.org.ua/os/linux/webcam-debian-sid/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 17:15:28 +0000</pubDate>
		<dc:creator>Malefic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Разное]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[веб-камера]]></category>
		<category><![CDATA[модуль]]></category>

		<guid isPermaLink="false">http://www.itcomp.org.ua/?p=170</guid>
		<description><![CDATA[Нам нужно установить веб-камеру? Приступим! У меня в наличии имеется A4Tech PK-335MB, но я смею предположить, что процесс аналогичен и для другого железа. Устанавливать будем на Debian Sid.
Выполняем следующие действия:

1. Подключаем камеру (USB).
2. Проверяем, что у нас есть всё для компиляции, и если нужно &#8211; ставим:
sudo apt-get install build-essential linux-headers-`uname -r`
3. Выполняем:
sudo m-a a-i gspca
(для [...]]]></description>
			<content:encoded><![CDATA[<p>Нам нужно установить веб-камеру? Приступим! У меня в наличии имеется A4Tech PK-335MB, но я смею предположить, что процесс аналогичен и для другого железа. Устанавливать будем на Debian Sid.</p>
<p>Выполняем следующие действия:<br />
<span id="more-170"></span></p>
<p>1. Подключаем камеру (USB).</p>
<p>2. Проверяем, что у нас есть всё для компиляции, и если нужно &#8211; ставим:</p>
<p><code>sudo apt-get install build-essential linux-headers-`uname -r`</code></p>
<p>3. Выполняем:</p>
<p><code>sudo m-a a-i gspca</code></p>
<p>(для старых версий дистрибутива возможны другие названия будущего модуля)</p>
<p>4. Ждем, пока скомпилируется модуль ядра, затем подгружаем его:</p>
<p><code>sudo modprobe gspca</code></p>
<p>5. Устанавливаем софт, которым можно камеру проверить:</p>
<p><code>sudo apt-get install camorama</code></p>
<p>6. Запускаем камораму, наслаждаемся!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcomp.org.ua/os/linux/webcam-debian-sid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian файрвол и прокси &#8211; 4 из 4. Рюшечки</title>
		<link>http://www.itcomp.org.ua/os/linux/debian-proxy-4/</link>
		<comments>http://www.itcomp.org.ua/os/linux/debian-proxy-4/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 15:42:57 +0000</pubDate>
		<dc:creator>Malefic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[администрирование]]></category>

		<guid isPermaLink="false">http://www.itcomp.org.ua/?p=142</guid>
		<description><![CDATA[Ну что же, после выполненных в статьях 1, 2 и 3 операциях, у нас должен был получиться функционирующий сервер, выполняющий роль кеширующего прокси и файрвола одновременно.
В двух словах, что мы тут будум делать:

Запретим юзерам ходить на [список сайтов] в рабочее время;
Реализуем статистику посещений пользователями ресурсов;


Начнем с запретов. Для начала нам нужно будет создать файл, в [...]]]></description>
			<content:encoded><![CDATA[<p>Ну что же, после выполненных в статьях <a title="Debian файрвол и прокси - 1 из 4. Базовая настройка сети" href="http://www.itcomp.org.ua/os/linux/debian-proxy-1">1</a>, <a title="Debian файрвол и прокси - 2 из 4. Установка и настройка Squid" href="http://www.itcomp.org.ua/os/linux/debian-proxy-2">2</a> и <a title="Debian файрвол и прокси - 3 из 4. Настройка iptables" href="http://www.itcomp.org.ua/os/linux/debian-proxy-3">3</a> операциях, у нас <em>должен был</em> получиться функционирующий сервер, выполняющий роль кеширующего прокси и файрвола одновременно.</p>
<p>В двух словах, что мы тут будум делать:</p>
<ul>
<li>Запретим юзерам ходить на [список сайтов] в рабочее время;</li>
<li>Реализуем статистику посещений пользователями ресурсов;</li>
</ul>
<p><span id="more-142"></span><br />
Начнем с запретов. Для начала нам нужно будет создать файл, в котором будут перечислены в столбик слова, которые у нас запрещены в http-запросах. Возможно использование регулярных выражений, однако ваш покорный слуга пока только пытается в них разобраться. Гуглим, это интересно (=</p>
<p>У меня файл называется <em>deny_hosts_access</em> и лежит в <em>/etc/squid</em>. Вот его содержимое:</p>
<p><code>odnoklassniki<br />
vkontakte</code></p>
<p>Собственно, здесь может быть что угодно &#8211; вы хозяин!</p>
<p>Далее, в <em>squid.conf</em> после строчек, декларирующих безопасные порты (Safe_ports), добавляем строки</p>
<p><code>acl deny_hosts_access url_regex "/etc/squid/deny_hosts_access"<br />
acl morning time MTWHF 08:00-12:30<br />
acl evening time MTWHF 13:30-17:00</code></p>
<p>В первой строке мы указали путь к файлу, содержащему запрещенные строки. В следующих двух определили отрезки времени &laquo;morning&raquo; и &laquo;evening&raquo;, которые являются <em>&laquo;рабочим временем&raquo;</em>.</p>
<p>Теперь же нужно это самое рабочее время сделать наиболее продуктивным. (= Добавляем перед строчками</p>
<p><code>http_access allow full_access<br />
http_access allow lim_access</code></p>
<p>строки</p>
<p><code>http_access deny deny_hosts_access morning<br />
http_access deny deny_hosts_access evening</code></p>
<p>Итак, мы запретили лазить по одноклассникам и вконтакту утром (до обеда) и вечером (после обеда и до конца рабочего дня). Какие же мы злые ]:-&gt;</p>
<p>Однако, на этом мы не остановимся. Возможно следующее будет реализовано через Ж, однако оно работает. Итак, мы будем показывать нашим бедным пользователям определенную страницу/картинку если они лезут на запрещенные нами сайты. Сделаем эдакое перенаправление.</p>
<p>Что же нам для этого потребуется? А потребуется нам своя страничка ошибки!</p>
<p>Для начала, укажем какую папку с ошибками мы используем (разница в языках и кодировках). В <em>squid.conf</em> добавим строку</p>
<p><code>error_directory /usr/share/squid/errors/Ukrainian-utf8</code></p>
<p><em>(в самой папке </em>errors <em>можно посмотреть доступные Вам варианты)</em></p>
<p>Ну и в конце концов, отредактируем файл ошибки. Для начала бекапните его, потому что потому. В случае невыполнения правил http_access, вызывается ошибка ERR_ACCESS_DENIED. Заменим ее содержимое на перенаправление (или просто заменим стандартный текст; мне по душе первое)</p>
<p><code>$ sudo nano /usr/share/squid/errors/Ukrainian-utf8/ERR_ACCESS_DENIED</code></p>
<p>Перенаправление выглядит так:</p>
<p><code>&lt;meta HTTP-EQUIV="REFRESH" content="0; url=http://mysite.com.ua/image.gif"&gt;</code></p>
<p><em>(Ссылку укажите свою, желаемую)</em></p>
<p>Всё! Перезапускаем сквид!</p>
<p><code>$ sudo /etc/init.d/squid restart</code></p>
<p>Ждем немножко и наслаждаемся примененными правилами. Теперь НИКТО не лазит на одноклассников в рабочее время (=</p>
<p>Ну, и второй пункт нашей статьи &#8211; статистика посещений ресурсов. Для этого я использую программу <strong>sarg. </strong>Установим её:</p>
<p><code>$ sudo apt-get install sarg</code></p>
<p>Она потянет за собой целую братию пакетов, и немудрено, ибо для показа результатов ему необходим веб-сервер.</p>
<p>Подгоняем конфигурацию (<em>/etc/squid/sarg.conf</em>) под себя. Вот главные строчки, на которые следует обратить внимание:</p>
<p><code>access_log /var/log/squid/access.log<br />
...<br />
output_dir /var/www/squid-reports<br />
</code><br />
Создаем последний каталог, ежели его нет.</p>
<p>Запускаем сарж (неплохо б было его запуск пихануть в крон, здесь я не буду это описывать&#8230; пока что)</p>
<p><code>$ sudo sarg</code></p>
<p>Ура! Заходим изнутри сети на наш сервер, любуемся отчетами по адресу <em>http://server/squid-reports/</em></p>
<p><em>P.S. Всё вышеизложенное писалось почти по памяти, ибо проделывалось месяц назад. Если Вы найдете ошибки, или недописки &#8211; укажите, я исправлю и буду благодарен! Удачи Вам в администрировании!<br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcomp.org.ua/os/linux/debian-proxy-4/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Debian файрвол и прокси &#8211; 3 из 4. Настройка iptables</title>
		<link>http://www.itcomp.org.ua/os/linux/debian-proxy-3/</link>
		<comments>http://www.itcomp.org.ua/os/linux/debian-proxy-3/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 16:03:08 +0000</pubDate>
		<dc:creator>Malefic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[администрирование]]></category>

		<guid isPermaLink="false">http://www.itcomp.org.ua/?p=110</guid>
		<description><![CDATA[Итак, мы с вами успели ранее настроить сеть на нашем будущем сервере и сконфигурировать сквид.
Теперь приступим к файрволу.
Для ознакомления и изучения, рекомендую почитать здесь.  Тогда вы будете вносить осмысленные изменения в систему, а не повторять мои ошибки (=
Включим в системе форвардинг. В файле /etc/sysctl.conf раскомментируем строчку
net.ipv4.ip_forward=1
Итак, на текущий момент мы имеем полностью сброшенные настройки файрвола [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, мы с вами успели ранее <a title="Debian файрвол и прокси - 1 из 4. Базовая настройка сети" href="http://www.itcomp.org.ua/os/linux/debian-proxy-1">настроить сеть</a> на нашем будущем сервере и <a title="Debian файрвол и прокси - 2 из 4. Установка и настройка Squid" href="http://www.itcomp.org.ua/os/linux/debian-proxy-2">сконфигурировать сквид</a>.</p>
<p>Теперь приступим к файрволу.<span id="more-110"></span></p>
<p>Для ознакомления и изучения, рекомендую почитать <a title="iptables" href="http://www.opennet.ru/docs/RUS/iptables/">здесь</a>.  Тогда вы будете вносить осмысленные изменения в систему, а не повторять мои ошибки (=</p>
<p>Включим в системе форвардинг. В файле <strong>/etc/sysctl.conf</strong> раскомментируем строчку<br />
<code>net.ipv4.ip_forward=1</code></p>
<p>Итак, на текущий момент мы имеем полностью сброшенные настройки файрвола (iptables).</p>
<p>Сбрасываем цепочки:<br />
<code>$ sudo iptables -F<br />
$ sudo iptables -F -t nat</code><br />
Запрещаем все входящие и разрешаем все исходящие и форвардинг:<br />
<code>$ sudo iptables -P INPUT DROP<br />
$ sudo iptables -P OUTPUT ACCEPT<br />
$ sudo iptables -P FORWARD ACCEPT</code><br />
Разрешаем принимать ответ на УЖЕ установленный соединени:<br />
<code>$ sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT</code><br />
Разрешаем loopback-трафик:<br />
<code>$ sudo iptables -A INPUT -i lo -j ACCEPT</code><br />
Разрешаем весь трафик с нашей внутренней сети (возьмем подсеть 222):<br />
<code>$ sudo iptables -A INPUT -s 192.168.222.0/24 -i eth1 -j ACCEPT</code><br />
И, залог прозрачности! Перенапрявляем весь исходящий http-трафик (на порт 80) на порт сквида 3128:<br />
<code>$ sudo iptables -t nat -A PREROUTING -s 192.168.222.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128<br />
$ sudo iptables -t nat -A POSTROUTING -s 192.168.222.0/24 -o eth0 -j SNAT --to-source 192.168.56.39</code><br />
Проверяем на клиенте интернет. Напомню, что если прокси указывать не обязательно, шлюз выставить необходимо!<br />
Однако, после первой же перезагрузки, мы поймем, что все наши старания ушли впустую.<br />
Научим же их выживанию!<br />
Итак, сохраним всё то, чем мы тут занимались:<br />
<code>$ sudo iptables-save &gt; /etc/firewall.conf</code><br />
<em>У меня с судо этот финт не получился (хотя в теории вроде должен&#8230;), потому можно сделать влогинившись в рута полностью (su) и запустив команду, но без sudo.</em><br />
А теперь создадим скрипт, заставляющий ifupdown воскрешать наш файрвол:<br />
<code>$ sudo nano /etc/network/if-up.d/00-iptables</code><br />
Впишем в него следующее:<br />
<code>#!/bin/sh<br />
iptables-restore &lt; /etc/firewall.conf</code><br />
Выставим права на исполнение:<br />
<code>$ sudo chmod +x /etc/network/if-up.d/00-iptables</code><br />
Не забываем перекреститься и перезапускаем сеть/перезагружаемся. Должно работать ^_^<br />
В принципе у нас есть рабочий файрвол с прозрачным прокси!<br />
В последней статье просто добавим пару фич (которыми я пользуюсь) в сквид&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcomp.org.ua/os/linux/debian-proxy-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Debian файрвол и прокси &#8211; 2 из 4. Установка и настройка Squid</title>
		<link>http://www.itcomp.org.ua/os/linux/debian-proxy-2/</link>
		<comments>http://www.itcomp.org.ua/os/linux/debian-proxy-2/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 12:56:08 +0000</pubDate>
		<dc:creator>Malefic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[администрирование]]></category>

		<guid isPermaLink="false">http://www.itcomp.org.ua/?p=87</guid>
		<description><![CDATA[Итак, мы уже настроили наш будущий сервер на взаимодействие с сетями, в том числе и интернетом, в предыдущей статье.
Теперь приступим к установке и настройке кеширующего прокси-сервера Squid (в дальнейшем &#8211; сквид). Чтоб установить его, выполните команду
$ sudo apt-get install squid

и дождитесь пока программа установки скачает сквид и все его зависимости и установит их.
Примечание: установится сквид [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, мы уже настроили наш будущий сервер на взаимодействие с сетями, в том числе и интернетом, в <a title="Debian файрвол и прокси - 1. Базовая настройка сети" href="http://www.itcomp.org.ua/os/linux/debian-proxy-1" target="_self">предыдущей статье</a>.</p>
<p>Теперь приступим к установке и настройке кеширующего прокси-сервера Squid (в дальнейшем &#8211; сквид). Чтоб установить его, выполните команду<br />
<code>$ sudo apt-get install squid</code><br />
<span id="more-87"></span><br />
и дождитесь пока программа установки скачает сквид и все его зависимости и установит их.</p>
<p><em>Примечание: установится сквид стабильной второй версии. Если вы хотите установить третий сквид, указывайте squid3. У меня были с ним некоторые проблемы, однако, полагаю, что дело было или в кривизне моих рук (чего у вас, возможно, нет), либо в криво собранном пакете (что вскоре могут исправить).</em></p>
<p>На этом этапе нам было бы очень полезно (читай &#8211; необходимо) иметь еще один компьютер, который можно бы было подключить к <em>внутреннему</em> интерфейсу сервера и на котором мы бы могли проверить соединение с интернетом.</p>
<p>После окончания установки, начинаем редактировать файл конфигурации сквида. Не знаю как вам, лично мне удобнее когда в файле конфига нет ничего лишнего, то есть присутствуют только непосредственно параметры конфигурации. Для этого бекапнем оригинальную конфигурацию сквида (чтоб было где искать описания всех параметров):<br />
<code>$ sudo cp /etc/squid/squid.conf  /etc/squid/squid.conf.original</code></p>
<p>и выжмем из оригинальной конфигурации всё, не закоментированное:<br />
<code>$ sudo cat /etc/squid/squid.conf.original | grep -v '^\(#\|$\)' &gt; /etc/squid/squid.conf</code></p>
<p>В итоге заимеем дефолтный конфигчик без ничего нишнего. Но всё же очень советую кинуть взор в оригинальный конфиг и почитать его на досуге &#8211; там очень много интересного!</p>
<p>Ну, наконец, приступим к редактированию:<br />
<code>$ sudo nano /etc/squid/squid.conf</code></p>
<p>Редактировать начинаем со строк с такими комментариями: <em># RFC1918 possible internal network</em></p>
<p>Заменяем указанные сети (сеть) на свои внутренние сети, которые мы будем выпускать. У меня это выглядит так:<br />
<code># обычные пользователи с ограниченной скоростью<br />
acl lim_access src 192.168.222.0-192.168.223.0/255.255.255.0<br />
# необычные пользователи =)<br />
acl full_access src 192.168.222.38/255.255.255.255</code></p>
<p>Теперь разрешим ходить им на http. Ищем <em>последнюю </em>строчку <strong>http_access deny all</strong> и добавляем перед ней такие строчки:<br />
<code>http_access allow full_access<br />
http_access allow lim_access</code></p>
<p>Не забываем сделать то же самое и для icmp_access. Меняем localnet на наши сети:<br />
<code>icmp_access allow full_access<br />
icmp_access allow full_access</code><br />
Следующим шагом будет установка порта прокси и указание его прозрачности. Редактируем строчку <strong>http_port 3128</strong> к следующему виду (порт можете указать и свой, но этот стандартен и желателен):<br />
<code>http_port 3128 transparent</code></p>
<p>Что такое <em>прозрачность</em> прокси? Это когда пользователи не обязаны явно указать прокси сервер в своих приложениях, чтоб выйти в интернет. То есть сервер сам перенаправляет запросы с 80 порта  (и других указанных) на свой 3128. Так вот, следует заметить, что прозрачность у нас появится не сразу, а только после того как мы соответствующим образом настроим файрвол. Пока что пускай будет так как есть &#8211; не прозрачно.</p>
<p>Затем, после &laquo;<strong>hierarchy_stoplist cgi-bin ?</strong>&raquo; добавляем настройки кеша (о параметрах почитайте оригинальный squid.conf, забекапленный нами ранее):<br />
<code>cache_mem 64 MB<br />
cache_dir ufs /var/spool/squid 1024 16 256<br />
cache_mgr admin@mail.ua</code></p>
<p>После строчек с refresh_pattern начинаем настраивать пулы (по сути ограничения на ранее созданные группы сетей; помните acl?):<br />
<code># указываем количество правил<br />
delay_pools 2<br />
# регистрируем 2 пула 3 класса (о классах читаем знаете где - в комментах исходного конфига)<br />
delay_class 1 3<br />
delay_class 2 3<br />
# указываем кто есть кто и указываем доступ<br />
delay_access 1 allow full_access<br />
delay_access 1 deny all<br />
delay_access 2 allow lim_access<br />
delay_access 2 deny all<br />
# указываем параметры скорости для первого пула (нет ограничений)<br />
delay_parameters 1 -1/-1 -1/-1 -1/-1<br />
#  второго пула (это у нас lim_access) - режем скорость примерно до 10 кбайт/с после первого Мб<br />
delay_parameters 2 -1/-1 -1/-1 10000/1024000</code></p>
<p>Всё! Сохраняем файл и перезапускаем сквид:<br />
<code>$ sudo /etc/init.d/squid restart</code></p>
<p>Однако, не спешим радоваться, ибо мы еще не <a title="Debian файрвол и прокси - 3 из 4. Настройка iptables" href="http://www.itcomp.org.ua/os/linux/debian-proxy-3">настроили файрвол</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcomp.org.ua/os/linux/debian-proxy-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Debian файрвол и прокси &#8211; 1 из 4. Базовая настройка сети</title>
		<link>http://www.itcomp.org.ua/os/linux/debian-proxy-1/</link>
		<comments>http://www.itcomp.org.ua/os/linux/debian-proxy-1/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 14:53:21 +0000</pubDate>
		<dc:creator>Malefic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[администрирование]]></category>
		<category><![CDATA[сеть]]></category>

		<guid isPermaLink="false">http://www.itcomp.org.ua/?p=45</guid>
		<description><![CDATA[Итак, я созрел для написания статьи о настройке кеширующего прокси-сервера на основе Debian Lenny GNU/Linux. Lenny я выбрал потому что остались считанные дни до его официального релиза и &#171;за глаза&#187; его уже называют стабильной веткой дистрибутива.
Для выполнения последующего, вам понадобится стандартная минимальная установленная система. Лично я ставил с образа netinstall. Здесь я не буду описывать [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, я созрел для написания статьи о настройке кеширующего прокси-сервера на основе Debian Lenny GNU/Linux. Lenny я выбрал потому что остались считанные дни до его официального релиза и &laquo;за глаза&raquo; его уже называют стабильной веткой дистрибутива.</p>
<p>Для выполнения последующего, вам понадобится стандартная минимальная установленная система.<span id="more-45"></span> Лично я ставил с образа netinstall. Здесь я не буду описывать установку, ибо в сети предостаточно подобных мануалов. Google вам в помощь, другими словами =)</p>
<p>Далее, предполагается, что вы имеете:</p>
<ul>
<li>сетевую карту, смотрящую во внешнюю сеть &#8211; у меня это интерфейс <em>eth0</em></li>
<li>карту, которая соединяет с внутренней сетью, пользователей которой мы будем выпускать во внешнюю &#8211; <em>eth1</em></li>
<li>доступ в интернет (желательно безлимит ;) ), либо установочные диски. Мною описывается установка с интернета.</li>
<li>компьютер с монитором (желательно), либо же компьютер во внешней или внутренней сети, с которого дистанционно можно будет устанавливать или настраивать.</li>
</ul>
<p>Итак, мы загрузились в <em>пользователя</em> свежеустановленного дебиана.</p>
<p>Первое, что нам предстоит сделать &#8211; это настроить сетевые интерфейсы на взаимодействие с сетями, если вы не сделали это при установке. В моем случае, оба и-фейса <em>eth0</em> и <em>eth1</em> имеют статический адрес.</p>
<p>&laquo;Заходим&raquo; в рута:<br />
<code>$ su - </code><br />
Редактируем файл интерфейсов:<br />
<code># nano /etc/network/interfaces</code><br />
Приводим его к подобному виду:<br />
<code># The loopback network interface<br />
auto lo<br />
iface lo inet loopback<br />
# address - айпи адрес, выданный нам провайдером/администратором (для внешнего интерфейса)<br />
# или внутрисетевой адрес будущего шлюза/прокси (для внутреннего)<br />
# netmask - маска подсети<br />
# gateway - адрес шлюза. Также получаем у провайдера или администратора<br />
#<br />
# Первичный интерфейс, у меня он смотрит во внешнюю сеть.<br />
allow-hotplug eth0<br />
iface eth0 inet static<br />
address 192.168.56.39<br />
netmask 255.255.255.0<br />
gateway 192.168.56.254<br />
auto eth0<br />
# Вторичный интерфейс, у меня он смотрит во внутреннюю сеть.<br />
allow-hotplug eth1<br />
iface eth1 inet static<br />
address 192.168.222.254<br />
netmask 255.255.255.0<br />
auto eth1</code><br />
Как здесь видно, мы установили на внешний интерфейс адрес 192.168.56.39, и для того чтоб нам выйти из внешней сети наружу (простите за тавтологию), мы будем проходить через машину 192.168.56.254. Для внутренней же сети, у нас будет адрес 192.168.222.254. Чтоб не путаться, представляйте шлюз как двери между улицей и квартирой, где снаружи написан номер вашего дома (внешний айпи), а внутри &#8211; надпись &laquo;выход&raquo; (внутренний айпи) (=</p>
<p>Сохраняем файл (Ctrl+O), отвечаем на вопрос, (Ctrl+X). Рестартуем сеть (мы еще под рутом, помните?):<br />
<code># /etc/init.d/networking restart</code><br />
Теперь пинганите внешний шлюз (погуглите как пинговать, лень описывать). Предполагаем, что пинг прошел удачно, иначе где-то вы уже накосячили. Айпишник правильно вписали, точно? Ну, я уверен, вы разберетесь (=</p>
<p>Далее, прописываем в файле <em>/etc/resolv.conf </em>выданный нам адрес ДНС (дескать сервер имен&#8230;)<br />
<code># nano /etc/resolv.conf</code><br />
Вписываем туда &laquo;<em>nameserver ххх.хх.ххх.х</em>&raquo; без кавычек, где вместо иксов айпишник угадайте чего.</p>
<p>Сохраняем файл (если такового не было, вводим при сохранении его имя).</p>
<p>Проверяем интернет стандартной ддос-аттакой на яндекс (= :<br />
<code># ping ya.ru<br />
PING ya.ru (213.180.204.8) 56(84) bytes of data.<br />
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=56 time=70.9 ms<br />
64 bytes from ya.ru (213.180.204.8): icmp_seq=2 ttl=56 time=78.3 ms</code><br />
&#8230;..прерываем эту радость нажатием Ctrl+C и начинаем наконец установки и настройки!</p>
<p>Устанавливаем сетевые репозитории Ленни в apt&#8217;е (если же вы пользуетесь дисками, гуглите по apt-cdrom и добавляйте диски)<br />
<code># nano /etc/apt/sources.list</code><br />
Вот мой sources.list, выбрать зеркало вы можете любое другое из доступных на <a title="debian.org" href="http://debian.org">debian.org</a>:<br />
<code>deb http://security.debian.org/ lenny/updates main contrib<br />
deb-src http://security.debian.org/ lenny/updates main contrib<br />
deb http://ftp.de.debian.org/debian lenny main contrib non-free<br />
deb-src http://ftp.de.debian.org/debian lenny main contrib non-free</code><br />
Сохраняем файл. Выполняем обновление системы:<br />
<code># apt-get update<br />
# apt-get dist-upgrade</code><br />
Ждем пока загрузятся и установятся пакеты, отвечаем на вопросы при необходимости). Возможно, есть смысл перезагрузиться в новое ядро (если таковое было автоматически установлено), в таком случае нужно повторить первую команду, мною в этом руководстве указанную (<em>su -</em>).</p>
<p>Устанавливаем sudo, ибо под рутом постоянно сидят только камикадзе, имбецилы и такие личности, до которых нам с вами еще расти и расти (= .<br />
<code># apt-get install sudo</code><br />
Ждем окончания установки, затем разрешаем нашему пользователю, от имени которого мы в дальнейшем будем работать, пользоваться этой программой:<br />
<code># nano /etc/sudoers</code><br />
Ищем строчку &laquo;root ALL=(ALL) ALL&raquo; и дублируем ее, подставив имя своего пользователя вместо &laquo;root&raquo;. Сохраняем изменения.</p>
<p>Для тех, кто будет в дальнейшем использовать SSH для доступа извне, нужно установить пакет <em>ssh</em>. Чтоб подключиться затем к настраиваемой машине, можно будет воспользоваться на клиенте командой<br />
<code>$ ssh -l user 192.168.222.254</code><br />
или<br />
<code>$ ssh user@192.168.222.254</code><br />
Естественно, можно пользоваться и любим подручным софтом типа <em>putty</em>.</p>
<p>Далее будем <a title="Debian файрвол и прокси - 2. Установка и настройка Squid" href="http://www.itcomp.org.ua/os/linux/debian-proxy-2">устанавливать и настраивать прокси-сервер Squid.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itcomp.org.ua/os/linux/debian-proxy-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
