<?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>Блог об openSUSE &#187; SuSEfirewall2</title>
	<atom:link href="http://sapfeer.ru/tag/susefirewall2/feed/" rel="self" type="application/rss+xml" />
	<link>http://sapfeer.ru</link>
	<description>Блог по созданию и настройке openSUSE безопасного хамелеона</description>
	<lastBuildDate>Tue, 15 Mar 2011 12:04:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Прозрачное проксирование в связке SQUID + SuSEfirewall2</title>
		<link>http://sapfeer.ru/prozrachnoe-proksirovanie-v-svyazke-squid-susefirewall2/</link>
		<comments>http://sapfeer.ru/prozrachnoe-proksirovanie-v-svyazke-squid-susefirewall2/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 11:13:21 +0000</pubDate>
		<dc:creator>Сергей</dc:creator>
				<category><![CDATA[Linux/SuSE]]></category>
		<category><![CDATA[SQUID]]></category>
		<category><![CDATA[SuSEfirewall2]]></category>

		<guid isPermaLink="false">http://sapfeer.ru/?p=742</guid>
		<description><![CDATA[Здравствуйте, меня уже несколько человек просило написать о том, как настроить прозрачное проксирование траффика, например, на офисном шлюзе, который, естественно, работает на openSUSE. На самом деле, ничего сложного в настройке нет, и вы сами в этом убедитесь, повторяя все за мной. 1) Устанавливаем, добавляем в автозагрузку и запускаем squid: user@opensuse:~> sudo zypper install squid user@opensuse:~> [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sapfeer.ru/wp-content/uploads/2011/01/squid-logo-300x235.jpg" alt="Squid - прозрачное проксирование" title="Squid" width="250"  class="alignleft size-medium wp-image-749" /> Здравствуйте, меня уже несколько человек просило написать о том, как настроить прозрачное проксирование траффика, например, на офисном шлюзе, который, естественно, работает на <strong>openSUSE</strong>. На самом деле, ничего сложного в настройке нет, и вы сами в этом убедитесь, повторяя все за мной.<br />
<br />
1) Устанавливаем, добавляем в автозагрузку и запускаем <strong>squid</strong>:<br />
<code>user@opensuse:~> sudo zypper install squid</code><br />
<code>user@opensuse:~> sudo chkconfig squid on</code><br />
<code>user@opensuse:~> service squid start</code></p>
<p>2) Настраиваем <strong>squid</strong>. В файле <em>/etc/squid/squid.conf</em> находим строку <strong>http_port 3128</strong>, меняем ее на:<br />
<code>http_port 192.168.1.1:3128 transparent</code><br />
<strong>Внимание! Вместое 192.168.1.1 вам необходимо вписать адрес сервера в вашей локальной сети.</strong>. Это мы делаем для того, чтобы если вы даже где-то и ошиблись с конфигурацией файрволла, то никто извне не смог пользоваться вашим прокси сервером. </p>
<p>3) Перезапускаем <strong>squid</strong>:<br />
<code>user@opensuse:~> service squid restart</code></p>
<p>4) Настраиваем <strong>SuSEfirewall2</strong>. Находим параметр FW_REDIRECT="" в файле <em>/etc/sysconfig/SuSEfirewall2</em> и меняем на:<br />
<code>FW_REDIRECT="192.168.1.0/24,0/0,tcp,80,3128"</code><br />
<strong>Внимание! Вместо 192.168.1.0/24 вам необходимо вписать адрес и маску вашей локальной сети.</strong>Этот параметр так же требует, чтобы FW_ROUTE="yes" , если у вас уже настроен роутинг то значит все окей, если нет, ищите параметр в этом же файле и выставляйте правильно.</p>
<p>5) Перезапускаем <strong>SuSEfirewall2</strong>:<br />
<code>service SuSEfirewall2_setup restart</code></p>
<p>Все, уже после этого, у вас весь траффик будет идти через <strong>squid</strong>. </p>
<h3>Оптимизация кэширования</h3>
<p>К выше сказанному хочется добавить несколько советов по оптимизации КЭШа. Добавьте в конец <em>/etc/squid/squid.conf</em> следующие опции:<br />
<code><br />
# Максимальный размер файла который может быть сохранен в кэше.<br />
maximum_object_size 64 MB<br />
# Параметры определяет какие файлы в кэше будут заменены, когда необходимо место в кэше.<br />
cache_replacement_policy heap LFUDA<br />
memory_replacement_policy heap GDSF<br />
# <a href="http://www.squid-cache.org/Doc/config/reload_into_ims/" target="_blank">Описание</a><br />
reload_into_ims on<br />
# Оптимизация кэширования, путем игнорирования некоторых заголовков.<br />
refresh_pattern -i (cam|kam|live|stream).*\.(gif|jpeg|jpg)(\?.*|)$ 10 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth<br />
refresh_pattern -i \.(gif|jpeg|jpg|swf|png|bmp|pic)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth<br />
refresh_pattern -i \.(html|php|asp|dll|htm|aspx|mspx|shtml|cgi|php3|jse|phtml|po|pl|fcgi|jsp|py|php4)$ 10 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private<br />
refresh_pattern -i \.(js|css|class|jar|xml|txt|cfm|doc|xls|pdf)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth<br />
refresh_pattern -i \.(exe|gz|tar|tgz|zip|arj|ace|bin|cab|msi)(\?.*|)$ 10 20% 2880 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth<br />
refresh_pattern -i \.(mid|mp[234]|wav|ram|rm|au)(\?.*|)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth<br />
refresh_pattern -i \.(mpg|mpeg|avi|asf|wmv|wma)(\?.*|)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth<br />
refresh_pattern . 0 20% 2880 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private<br />
</code><br />
Информация об опциях <strong>squid</strong> очень подробно расписана, разумеется, <a href="http://www.squid-cache.org/Doc/config/" target="_blank">здесь</a></p>
<p><em>Подводные камни: если у вас в локальной сети есть свой вебсервер, вы столкнетесь с тем, что все внутренние клиенты будут иметь адрес шлюза. Вы можете использовать <strong>mod_rpaf</strong>(для <strong>apache</strong>) или немного модифицировать правила <strong>SuSEfirewall2</strong></em></p>
<p>Тех, кто дочитал до конца, поздравляю с прошедшим старым новым годом! <img src='http://sapfeer.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div style="float:right;display:block;"><noindex><script rel="nofollow" type="text/javascript" src="http://sapfeer.ru/wp-content/plugins/Odnaknopka/ok2.utf8.js"></script><script type="text/javascript">okbm("http://sapfeer.ru/prozrachnoe-proksirovanie-v-svyazke-squid-susefirewall2/","Прозрачное проксирование в связке SQUID + SuSEfirewall2")</script></noindex></div>]]></content:encoded>
			<wfw:commentRss>http://sapfeer.ru/prozrachnoe-proksirovanie-v-svyazke-squid-susefirewall2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Создание простейшего роутера из компьютера с openSUSE на борту</title>
		<link>http://sapfeer.ru/nastrojka-nat-v-opensuse-za-2-minuty/</link>
		<comments>http://sapfeer.ru/nastrojka-nat-v-opensuse-za-2-minuty/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 14:50:25 +0000</pubDate>
		<dc:creator>Сергей</dc:creator>
				<category><![CDATA[Новости]]></category>
		<category><![CDATA[DHCP]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Named]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[SuSEfirewall2]]></category>

		<guid isPermaLink="false">http://sapfeer.ru/?p=707</guid>
		<description><![CDATA[Сегодня хочу показать как сделать простейший роутер из компьютера с ОС openSUSE в течении нескольких минут. Сделать это сможет каждый, кто хоть немного знаком с консолью и понимает для чего нужны IP адреса . На моей машине внутренним интерфейсом является eth0(192.168.1.1), а внешним eth1. Начнем по порядку: I) Настройка сервера DNS: Устанавливаем: user@opensuse:~&#62; sudo zypper [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sapfeer.ru/wp-content/uploads/2010/11/skema-sederhana-router-dengan-suse-300x170.png" alt="" title="openSUSE router" width="300" height="170" class="alignleft size-medium wp-image-721" /> Сегодня хочу показать как сделать простейший роутер из компьютера с ОС openSUSE в течении нескольких минут.  Сделать это сможет каждый, кто хоть немного знаком с консолью и понимает для чего нужны IP адреса <img src='http://sapfeer.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . На моей машине внутренним интерфейсом является eth0(192.168.1.1), а внешним eth1.</p>
<p>Начнем по порядку:</p>
<h2><strong>I) Настройка сервера DNS:</strong></h2>
<p>Устанавливаем:<br />
<code>user@opensuse:~&gt; sudo zypper install bind</code><br />
Теперь просто правим конфигурационный файл. Здесь я хочу сказать, что я изменил всего несколько строк в стандартном файле, привожу их здесь:<br />
<code>user@opensuse:~&gt;sudo mcedit /etc/named.conf<br />
# Слушаем на порту 53 на интерфейсах 127.0.0.1 и 192.168.1.1<br />
listen-on port 53 { 127.0.0.1; 192.168.1.1; };<br />
# Не слушаем на ipv6<br />
listen-on-v6 	{ none; };<br />
# Уменьшаем уровень логирования ошибок:<br />
logging {<br />
channel syslog_errors {<br />
syslog user;<br />
severity error;<br />
};<br />
category default { syslog_errors;  };<br />
};<br />
</code><br />
Готово! Теперь ставим <strong>named</strong> в автозапуск:<br />
<code>user@opensuse:~&gt;sudo chkconfig named on</code><br />
Ставим права на рабочую директорию named<br />
<code>user@opensuse:~&gt;sudo chown -R named:named /var/lib/named/</code><br />
Запускаем DNS сервер<br />
<code>user@opensuse:~&gt;sudo /etc/init.d/named start</code><br />
Можно прописать его в <em>resolv.conf</em> для использования по умолчанию, но, мне кажется, лучше оставить DNS провайдера на сервере.</p>
<h2>II) Настройка сервера DHCP</h2>
<p>Устанавливаем его в систему<br />
<code>user@opensuse:~&gt; sudo zypper install dhcp-server</code><br />
Убираем текущий /etc/dhcpd.conf и создаем его заново<br />
<code>user@opensuse:~&gt; sudo mv /etc/dhcpd.conf /etc/dhcpd.conf.old &amp;&amp; sudo touch /etc/dhcpd.conf</code><br />
В него вписываем следующие строки:<br />
<code>user@opensuse:~&gt; sudo mcedit /etc/dhcpd.conf<br />
# IP сервера указано тут потому что мы подняли собственный DNS. Вы можете использовать тут DNS провайдера.<br />
option domain-name-servers 192.168.1.1;<br />
# Отключаем динамические обновления DNS<br />
ddns-update-style none;<br />
ddns-updates off;<br />
log-facility local7;<br />
# Наша подсеть<br />
subnet 192.168.1.0 netmask 255.255.255.0 {<br />
# Диапазон выдаваемых IP адресов.<br />
range 192.168.1.2 192.168.1.254;<br />
# Дефолтный gateway<br />
option routers 192.168.1.1;<br />
# Время обновления адресов(12 часов).<br />
default-lease-time 43200;<br />
max-lease-time 86400;<br />
}<br />
</code></p>
<p><strong>*UPDATE*</strong><br />
Необходимо указать интерфейс, на котором будет слушать DHCPD - в <em>/etc/sysconfig/dhcpd</em>:<br />
<code>DHCPD_INTERFACE=»ethX»</code></p>
<p>Все, теперь запускаем сервис<br />
<code>user@opensuse:~&gt;sudo /etc/init.d/dhcpd start</code><br />
И добавляем его в автозагрузку.<br />
<code>user@opensuse:~&gt;sudo chkconfig dhcpd on</code></p>
<h2>III) Настройка NAT</h2>
<p>Все необходимые настройки заключены в одном файле <strong>/etc/sysconfig/SuSEfirewall2</strong>.  Открываем его с помощью любимого текстового редактора и начинаем править ( в моем случае - <strong>mcedit</strong> ):<br />
<code>user@opensuse:~&gt; sudo mcedit /etc/sysconfig/SuSEfirewall2</code></p>
<p>В секции 2 вам нужно указать ваши интерфейсы, какие из них будут внешними, какие внутренними:<br />
<code># Внешние ( в принципе можно не указывать, по умолчанию все интерфейсы являются внешними):<br />
FW_DEV_EXT="any eth1"<br />
# Внутренние:<br />
FW_DEV_INT="eth0"<br />
</code></p>
<p>В секции 5 находятся еще два нужных нам параметра:<br />
<code># Включаем роутинг в ядре<br />
FW_ROUTE="yes"<br />
# Разрешаем маскардинг<br />
FW_MASQUERADE="yes"<br />
</code></p>
<p>В секции 6 указываем вашу подсеть, в моем случае - это 192.168.1.0/24:<br />
<code>FW_MASQ_NETS="192.168.1.0/24"</code></p>
<p>Готово! Теперь осталось применить правила и насладиться результатом:<br />
<code>user@opensuse:~&gt; sudo  /etc/init.d/SuSEfirewall2_setup restart</code></p>
<p>После выполнения данных действий все ваши компьютеры в сети смогут получать автоматический IP адрес, будут использовать ваш собственный DNS сервер и иметь доступ в интернет.  В принципе, я потратил на это все минут 20, канал в интернет не очень широкий <img src='http://sapfeer.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  В следующий раз расскажу о подсчете траффика для клиентов, я еще сам разобраюсь с данной темой. Если вдруг вы увидите какую-то ошибку в статье или выполняя все инструкции вы не получили желаемого результата, пишите, я постараюсь помочь.</p>
<div style="float:right;display:block;"><noindex><script rel="nofollow" type="text/javascript" src="http://sapfeer.ru/wp-content/plugins/Odnaknopka/ok2.utf8.js"></script><script type="text/javascript">okbm("http://sapfeer.ru/nastrojka-nat-v-opensuse-za-2-minuty/","Создание простейшего роутера из компьютера с openSUSE на борту")</script></noindex></div>]]></content:encoded>
			<wfw:commentRss>http://sapfeer.ru/nastrojka-nat-v-opensuse-za-2-minuty/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Настройка портов для сервисов в SuSEfirewall2</title>
		<link>http://sapfeer.ru/nastrojka-portov-dlya-servisov-v-susefirewall2/</link>
		<comments>http://sapfeer.ru/nastrojka-portov-dlya-servisov-v-susefirewall2/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 12:59:07 +0000</pubDate>
		<dc:creator>Сергей</dc:creator>
				<category><![CDATA[Linux/SuSE]]></category>
		<category><![CDATA[openSuSE]]></category>
		<category><![CDATA[SuSEfirewall2]]></category>

		<guid isPermaLink="false">http://sapfeer.ru/?p=472</guid>
		<description><![CDATA[Очень удобная штука - YaST. А в ней есть неменее удобная функция управления файрволлом. Хочу сегодня поделится опытом, как сделать процесс управления доступом приложений к сети еще более удобным. У SuSEfirewall2 существуют свои конфигурационные файлы. Предлагаю вам заглянуть в директорию /etc/sysconfig/SuSEfirewall2.d/services/. Там вы увидите несколько файлов, например apache2, cups, postfix, sshd и др. Эти файлы [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sapfeer.ru/wp-content/uploads/2009/10/firewall.jpg"><img src="http://sapfeer.ru/wp-content/uploads/2009/10/firewall-300x128.jpg" alt="SuSEfirewall2" title="SuSEfirewall2" width="300" height="128" class="alignleft size-medium wp-image-475" /></a> Очень удобная штука - YaST. А в ней есть неменее удобная функция управления файрволлом. Хочу сегодня поделится опытом, как сделать процесс управления доступом приложений к сети еще более удобным. У SuSEfirewall2 существуют свои конфигурационные файлы. Предлагаю вам заглянуть в директорию <strong>/etc/sysconfig/SuSEfirewall2.d/services/</strong>. Там вы увидите несколько файлов, например apache2, cups, postfix, sshd и др. Эти файлы отвечают за порты для демонов.<br />
А если у вас на сервере запущен какой-то нестандартный демон? К примеру, CS Source сервер, вы можете создать собственный конфиг и управлять доступом к нему через YaST -> Брэндмауэр -> Разрешенные Службы</p>
<p>Вот так например выглядит конфиг для стандартного сервера CSS:</p>
<pre>
admin@linuxserver:~> cat /etc/sysconfig/SuSEfirewall2.d/services/cssource
## Name: Counter Strike: Source
## Description: Server for CS:Source

# space separated list of allowed TCP ports
TCP="27015"

# space separated list of allowed UDP ports
UDP="27005 27015 27020"

# space separated list of allowed RPC services
RPC=""

# space separated list of allowed IP protocols
IP=""

# space separated list of allowed UDP broadcast ports
BROADCAST=""
</pre>
<p>В той же папке лежит файл <em>TEMPLATE</em>, используя его вы можете создать свой конфиг для вашего сервиса.</p>
<div style="float:right;display:block;"><noindex><script rel="nofollow" type="text/javascript" src="http://sapfeer.ru/wp-content/plugins/Odnaknopka/ok2.utf8.js"></script><script type="text/javascript">okbm("http://sapfeer.ru/nastrojka-portov-dlya-servisov-v-susefirewall2/","Настройка портов для сервисов в SuSEfirewall2")</script></noindex></div>]]></content:encoded>
			<wfw:commentRss>http://sapfeer.ru/nastrojka-portov-dlya-servisov-v-susefirewall2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

