<?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>Записки на полях &#187; FreeBSD</title>
	<atom:link href="http://snake.khd.ru/tag/freebsd/feed/" rel="self" type="application/rss+xml" />
	<link>http://snake.khd.ru</link>
	<description>cat /var/log/messages</description>
	<lastBuildDate>Sun, 05 Feb 2012 11:22:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Мелочи жизни</title>
		<link>http://snake.khd.ru/2011/04/melochi-zhizni-2/</link>
		<comments>http://snake.khd.ru/2011/04/melochi-zhizni-2/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 03:41:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=750</guid>
		<description><![CDATA[Кактус (который cacti) радует: snake@hds_serv &#91;etc&#93;#/usr/local/bin/php /usr/local/share/cacti/poller.php PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20090626/php_mysql.dll' - Cannot open &#34;/usr/local/lib/php/20090626/php_mysql.dll&#34; in Unknown on line 0 Все бы ничего, если бы на сервере не стояла фря&#8230;]]></description>
			<content:encoded><![CDATA[<p>Кактус (который cacti) радует:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">snake<span style="color: #000000; font-weight: bold;">@</span>hds_serv <span style="color: #7a0874; font-weight: bold;">&#91;</span>etc<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;">#/usr/local/bin/php /usr/local/share/cacti/poller.php</span>
PHP Warning:  PHP Startup: Unable to load dynamic library 
<span style="color: #ff0000;">'/usr/local/lib/php/20090626/php_mysql.dll'</span> - 
Cannot open <span style="color: #ff0000;">&quot;/usr/local/lib/php/20090626/php_mysql.dll&quot;</span> <span style="color: #000000; font-weight: bold;">in</span> Unknown on line <span style="color: #000000;">0</span></pre></div></div>

<p>Все бы ничего, если бы на сервере не стояла фря&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/04/melochi-zhizni-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Свет в конце тоннеля: OpenVPN + FreeBSD7</title>
		<link>http://snake.khd.ru/2011/03/svet-v-konce-tonnelya-openvpn-freebsd7/</link>
		<comments>http://snake.khd.ru/2011/03/svet-v-konce-tonnelya-openvpn-freebsd7/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 08:33:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=690</guid>
		<description><![CDATA[Vtund всем хорош, кроме одного &#8211; в глобальных сетях его использовать трудно. А что делать, если среда дюже недружелюбная (считай &#8211; зарезано все, кроме стандартных протоколов, и ipip провесить уже не выйдет). Наш выход &#8211; VPN. Тем более что OpenVPN поможет и влан прокинуть, и данные зашифрует, и вообще, позволит создать у пользователя уверенность, что <a href='http://snake.khd.ru/2011/03/svet-v-konce-tonnelya-openvpn-freebsd7/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://snake.khd.ru/2011/01/trably-s-vtund/">Vtund</a> всем хорош, кроме одного &#8211; в глобальных сетях его использовать трудно. А что делать, если среда дюже недружелюбная (считай &#8211; зарезано все, кроме стандартных протоколов, и ipip провесить уже не выйдет). Наш выход &#8211; <a href="http://snake.khd.ru/tag/vpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vpn">VPN</a>. Тем более что <a href="http://snake.khd.ru/tag/openvpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  openvpn">OpenVPN</a> поможет и влан прокинуть, и данные зашифрует, и вообще, позволит создать у пользователя уверенность, что удаленный филиал находится вовсе не в другом городе, а за стенкой (где б еще такой инет взять&#8230;)<br />
<span id="more-690"></span><br />
Исходные данные:<br />
Сервер: <a href="http://snake.khd.ru/tag/linux/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  linux">Linux</a> 2.6.28.2<br />
Клиент: <a href="http://snake.khd.ru/tag/freebsd/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  FreeBSD">FreeBSD</a> 7.2-RELEASE-p8<br />
OpenVPN 2.1.4</p>
<p>Задача: Организовать подключение таким образом, чтобы клиент, и сеть за ним могли видеть локальную сеть за сервером так, будто это два рядом стоящих маршрутизатора. Собственно, настройка занимает минут пятнадцать.</p>
<p>На клиенте:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>security<span style="color: #000000; font-weight: bold;">/</span>openvpn <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span> clean</pre></div></div>

<p>/etc/rc.conf</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">openvpn_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #007800;">openvpn_if</span>=<span style="color: #ff0000;">&quot;tun&quot;</span>
<span style="color: #007800;">openvpn_configfile</span>=<span style="color: #ff0000;">&quot;/usr/local/etc/openvpn/client.conf&quot;</span>
<span style="color: #007800;">openvpn_dir</span>=<span style="color: #ff0000;">&quot;/usr/local/etc/openvpn&quot;</span></pre></div></div>

<p>Описание директив спер <a href="http://tuxnotes.ru/articles.php?a_id=26">отсюда</a> и <a href="https://secretsline.biz/ru/manual/read/openvpn-manual/">отсюда</a></p>
<p>/usr/local/etc/openvpn/client.conf</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#определяет какой использовать тип устройства tun или tap.</span>
dev tun
<span style="color: #666666; font-style: italic;">#Возможные значения: udp, tcp, tcp-client, tcp-server. С первыми двумя все ясно, </span>
<span style="color: #666666; font-style: italic;">#а на последних двух остановимся чуть подробнее:</span>
<span style="color: #666666; font-style: italic;">#tcp-client - сам пытается установить соединение</span>
<span style="color: #666666; font-style: italic;">#tcp-server - только ждет подключений</span>
<span style="color: #666666; font-style: italic;">#Примечательно, что с использованием протокола udp VPN будет работать чуть быстрее, </span>
<span style="color: #666666; font-style: italic;">#чем tcp. Но в плане стабильности работы лучше выбирать tcp </span>
<span style="color: #666666; font-style: italic;">#(как показывает практика, VPN-соединение более устойчиво)</span>
proto udp
<span style="color: #666666; font-style: italic;">#определяет удаленный конец туннеля. Могут использоваться записи IP и DNS.</span>
remote 10.12.0.201
port <span style="color: #000000;">1194</span> 
<span style="color: #666666; font-style: italic;">#Роль - клиент или сервер</span>
client
<span style="color: #666666; font-style: italic;">#если OpenVPN не удалось узнать имя удаленного хоста по DNS, </span>
<span style="color: #666666; font-style: italic;">#то через указанное количество секунд попытаться переподключиться.</span>
resolv-retry infinite
<span style="color: #666666; font-style: italic;">#Настройки сертификатов и безопасности</span>
ca <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>ca.crt
cert <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>client.crt
key <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>client.key
tls-client
tls-auth <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>ta.key <span style="color: #000000;">1</span>
<span style="color: #666666; font-style: italic;">#алгоритм хэширования</span>
auth SHA512
<span style="color: #666666; font-style: italic;">#указываем алгоритм шифрования</span>
cipher BF-CBC
ns-cert-type server
persist-key
persist-tun
<span style="color: #666666; font-style: italic;">#Настройки логов</span>
status <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>openvpn-status.log
log <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>openvpn.log
<span style="color: #666666; font-style: italic;">#Уровень детализации логов</span>
verb <span style="color: #000000;">3</span>
<span style="color: #666666; font-style: italic;">#Маршрут на удаленную сеть, который поднимается при подключении</span>
route 10.255.0.0 255.255.255.0</pre></div></div>

<p>На стороне сервера:<br />
/etc/openvpn/server.conf</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">&nbsp;
<span style="color: #7a0874; font-weight: bold;">local</span> 10.12.0.201
port <span style="color: #000000;">1194</span>
proto udp
dev tun10
&nbsp;
ca <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>ca.crt
cert <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>server.crt
key <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>server.key
<span style="color: #c20cb9; font-weight: bold;">dh</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>dh1024.pem
<span style="color: #666666; font-style: italic;">#автоматически присваивает адреса всем клиентам (DHCP) </span>
<span style="color: #666666; font-style: italic;">#в указанном диапазоне с маской сети. </span>
<span style="color: #666666; font-style: italic;">#Данная опция заменяет ifconfig и может работаеть только с </span>
<span style="color: #666666; font-style: italic;">#TLS-клиентами в режиме TUN, соответственно использование </span>
<span style="color: #666666; font-style: italic;">#сертификатов обязательно. Например: server 10.3.0.0 255.255.255.0</span>
<span style="color: #666666; font-style: italic;">#Подключившиеся клиенты получат адреса в диапазоне между 10.3.0.1 и 10.3.0.254.</span>
server  10.255.1.112 255.255.255.248
<span style="color: #666666; font-style: italic;">#Статические маршруты, которые будут выдаваться клиенту</span>
push <span style="color: #ff0000;">&quot;route 10.0.0.0 255.0.0.0&quot;</span>
push <span style="color: #ff0000;">&quot;route 92.50.243.0 255.255.255.0&quot;</span>
push <span style="color: #ff0000;">&quot;route 94.25.108.0 255.255.255.0&quot;</span>
push <span style="color: #ff0000;">&quot;route 46.8.128.0 255.255.128.0&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Папка с дополнительными настройками клиента</span>
client-config-dir ccd
<span style="color: #666666; font-style: italic;">#Статические маршруты на сеть за клиентом, которые поднимаются на сервере</span>
route 10.255.1.112 255.255.255.252
route 10.12.4.0 255.255.255.0
route 10.12.5.0 255.255.255.0
route 10.12.51.0 255.255.255.0
&nbsp;
client-to-client
keepalive <span style="color: #000000;">10</span> <span style="color: #000000;">120</span>
&nbsp;
tls-server
tls-auth <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>ta.key <span style="color: #000000;">0</span> <span style="color: #666666; font-style: italic;"># This file is secret</span>
&nbsp;
auth SHA512
cipher BF-CBC        <span style="color: #666666; font-style: italic;"># Blowfish (default)</span>
&nbsp;
max-clients <span style="color: #000000;">10</span>
<span style="color: #666666; font-style: italic;">#Пользователь и группа, от имени которых будет запускаться процесс</span>
user openvpn
group openvpn
&nbsp;
<span style="color: #666666; font-style: italic;">#Не перечитывать файлы с ключами при получении SIGUSR1 или --ping-restart.</span>
<span style="color: #666666; font-style: italic;">#Эта опция может быть использована совместно с --user nobody, </span>
<span style="color: #666666; font-style: italic;">#чтобы разрешить перезапуски вызываемые SIGUSR1. </span>
<span style="color: #666666; font-style: italic;">#По умолчанию, если вы понижаете привелегии демона OpenVPN, то </span>
<span style="color: #666666; font-style: italic;">#его нельзя перезапустить, так как невозможно заново прочитать защищенные файлы ключей. </span>
persist-key
<span style="color: #666666; font-style: italic;">#Не закрывать и повторно открывать устройство TUN/TAP </span>
<span style="color: #666666; font-style: italic;">#или запускать скрипты up/down при получении сигнала SIGUSR1 или перезапусков по --ping-restart.</span>
<span style="color: #666666; font-style: italic;">#Сигнал SIGUSR1 схож с SIGHUP, но предоставляет более точный контроль над опциями перезапуска.</span>
persist-tun
status <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>openvpn-status.log
log <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>openvpn.log
verb <span style="color: #000000;">3</span></pre></div></div>

<p>Включаем, соединяемся&#8230; пиры друг друга пингуют. С клиента пингуется сеть за сервером, а вот наоборот &#8211; хрен. Курим гугл, находим <a href="http://subnets.ru/blog/?p=1517">решение</a>:</p>
<blockquote><p>
Важное замечание, что если OpenVPN запускается в режиме server (см. комментарии п.2), то статический или динамический  маршрут, даже который смотрит правильно и напрямую в интерфейс tun, ни к чему не приведет, работать не будет.<br />
Т.к. в режиме server получается point-to-multipoint линк и именно поэтому серверу надо уже объяснять какому клиенту за ифейсом tun нужно отправлять трафик. Поэтому туннельные интерфейсы могут пинговаться, а любые подсети за OpenVPN-клиентом нет, т.к. трафик не уедет в туннель.<br />
Это хорошо видно по tcpdump, если с OpenVPN-сервера попробовать попинговать любой адрес из подсети, которая находится ЗА OpenVPN-клиентом.<br />
С одной стороны (со стороны OpenVPN-сервера) трафик в tun виден, а до другой стороны трафик просто не доходит, а если быть точнее, то на самом деле трафик с OpenVPN-сервера просто не отправляется.
</p></blockquote>
<p>Так что файлик /etc/openvpn/ccd/client будет примерно таким:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ifconfig-push 10.255.1.114 10.255.1.113
iroute 10.12.51.0 255.255.255.0
iroute 10.12.5.0 255.255.255.0
iroute 10.12.4.0 255.255.255.0</pre></div></div>

<p>После этого все должно заработать. Маршруты появятся автоматически, как только установится соединение. Так же можно запускать сторонние скрипты с помощью директив up и down. Подробнее с примерами их использования можно ознакомиться по ссылкам выше.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/03/svet-v-konce-tonnelya-openvpn-freebsd7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD + OpenVPN tap: нид хелп</title>
		<link>http://snake.khd.ru/2011/02/freebsd-openvpn-tap-nid-xelp/</link>
		<comments>http://snake.khd.ru/2011/02/freebsd-openvpn-tap-nid-xelp/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 07:19:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[mtu]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[tap]]></category>
		<category><![CDATA[vlan]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=685</guid>
		<description><![CDATA[Собственно, что мы имеем: FreeBSD 7.2 + OpenVPN client openvpn настроен на tap (Конфиг не прицнипиален, но если нужно, приложу) ifcnofig: tap10: flags=8943 metric 0 mtu 1500 ether 00:bd:ed:bf:09:0a Opened by PID 80904 bridge10: flags=8843 metric 0 mtu 1500 ether aa:fe:fa:21:82:e5 inet 10.255.1.114 netmask 0xfffffff8 broadcast 10.255.1.119 id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 <a href='http://snake.khd.ru/2011/02/freebsd-openvpn-tap-nid-xelp/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Собственно, что мы имеем:<br />
<a href="http://snake.khd.ru/tag/freebsd/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  FreeBSD">FreeBSD</a> 7.2 + <a href="http://snake.khd.ru/tag/openvpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  openvpn">OpenVPN</a> client<br />
openvpn настроен на <a href="http://snake.khd.ru/tag/tap/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  tap">tap</a> (Конфиг не прицнипиален, но если нужно, приложу)<br />
<span id="more-685"></span><br />
ifcnofig:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    tap10: <span style="color: #007800;">flags</span>=<span style="color: #000000;">8943</span> metric <span style="color: #000000;">0</span> mtu <span style="color: #000000;">1500</span>
     ether 00:bd:<span style="color: #c20cb9; font-weight: bold;">ed</span>:bf:09:0a
     Opened by PID <span style="color: #000000;">80904</span>
    bridge10: <span style="color: #007800;">flags</span>=<span style="color: #000000;">8843</span> metric <span style="color: #000000;">0</span> mtu <span style="color: #000000;">1500</span>
     ether aa:fe:fa:<span style="color: #000000;">21</span>:<span style="color: #000000;">82</span>:e5
     inet 10.255.1.114 netmask 0xfffffff8 broadcast 10.255.1.119
     <span style="color: #c20cb9; font-weight: bold;">id</span> 00:00:00:00:00:00 priority <span style="color: #000000;">32768</span> hellotime <span style="color: #000000;">2</span> fwddelay <span style="color: #000000;">15</span>
     maxage <span style="color: #000000;">20</span> holdcnt <span style="color: #000000;">6</span> proto rstp maxaddr <span style="color: #000000;">100</span> timeout <span style="color: #000000;">1200</span>
     root <span style="color: #c20cb9; font-weight: bold;">id</span> 00:00:00:00:00:00 priority <span style="color: #000000;">32768</span> ifcost <span style="color: #000000;">0</span> port <span style="color: #000000;">0</span>
     member: vlan1058 <span style="color: #007800;">flags</span>=<span style="color: #000000;">143</span>
      ifmaxaddr <span style="color: #000000;">0</span> port <span style="color: #000000;">9</span> priority <span style="color: #000000;">128</span> path cost <span style="color: #000000;">20000</span>
     member: tap10 <span style="color: #007800;">flags</span>=<span style="color: #000000;">143</span>
      ifmaxaddr <span style="color: #000000;">0</span> port <span style="color: #000000;">7</span> priority <span style="color: #000000;">128</span> path cost <span style="color: #000000;">2000000</span>
    vlan1058: <span style="color: #007800;">flags</span>=<span style="color: #000000;">8943</span> metric <span style="color: #000000;">0</span> mtu <span style="color: #000000;">1500</span>
     <span style="color: #007800;">options</span>=<span style="color: #000000;">3</span>
     ether 00:<span style="color: #000000;">30</span>:<span style="color: #000000;">48</span>:<span style="color: #000000;">62</span>:<span style="color: #000000;">97</span>:de
     inet x.x.x.x netmask 0xfffffffc broadcast x.x.x.x
     media: Ethernet autoselect <span style="color: #7a0874; font-weight: bold;">&#40;</span>1000baseTX <span style="color: #7a0874; font-weight: bold;">&#41;</span>
     status: active
     vlan: <span style="color: #000000;">1058</span> parent interface: em0</pre></div></div>

<p>netstat -rn</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    Destination Gateway Flags Refs Use Netif Expire
    default x.x.x.65 UGS <span style="color: #000000;">0</span> <span style="color: #000000;">5380</span> vlan10
    10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> 10.255.1.113 UGS <span style="color: #000000;">0</span> <span style="color: #000000;">65951</span> bridge
    10.12.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> 10.12.51.1 UGS <span style="color: #000000;">0</span> <span style="color: #000000;">2303745402</span> em0
    10.12.4.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #666666; font-style: italic;">#4 UC 0 0 vlan12</span>
    10.255.1.112<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">29</span> <span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #666666; font-style: italic;">#8 UC 0 0 bridge</span>
    10.255.1.113 00:1c:c0:7c:a6:<span style="color: #000000;">26</span> UHLW <span style="color: #000000;">5</span> <span style="color: #000000;">19</span> bridge <span style="color: #000000;">1185</span>
    x.x.x.x<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">30</span> <span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #666666; font-style: italic;">#9 UC 0 0 vlan10</span>
    x.x.x.65 <span style="color: #000000;">12</span>:<span style="color: #000000;">34</span>:<span style="color: #000000;">56</span>:<span style="color: #000000;">78</span>:<span style="color: #000000;">90</span>:<span style="color: #000000;">12</span> UHLW <span style="color: #000000;">2</span> <span style="color: #000000;">248</span> vlan10 <span style="color: #000000;">1137</span>
    x.x.x.66 <span style="color: #000000;">12</span>:<span style="color: #000000;">34</span>:<span style="color: #000000;">56</span>:<span style="color: #000000;">78</span>:<span style="color: #000000;">90</span>:<span style="color: #000000;">12</span> UHLW <span style="color: #000000;">1</span> <span style="color: #000000;">0</span> lo0
    127.0.0.1 127.0.0.1 UH <span style="color: #000000;">0</span> <span style="color: #000000;">8069771</span> lo0
    192.169.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #666666; font-style: italic;">#2 UC 0 0 em1</span></pre></div></div>

<p>Яндексы пингуются, и вроде даже все замечательно, но. Трафик не ходит. Ни веб, ни что-либо иное.<br />
tcpdump показывает странное:<br />
на tap-интерфейсе виды и запросы и ответы (в случае пинга). На целевом узле видно только приходящие пакеты (если пакеты icmp, видно и входящие и исходящие)<br />
на bridge видно только ответы от сервера (исходящие пакеты)<br />
на <a href="http://snake.khd.ru/tag/vlan/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vlan">vlan</a> вообще ничего не видно</p>
<p>Разрешающие правила <a href="http://snake.khd.ru/tag/ipfw/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  ipfw">ipfw</a> ситуацию не меняют ровно никак</p>
<p>А теперь внимание, вопрос, граждане читающие: где я накосячил?<br />
P.S. Пробовал менять <a href="http://snake.khd.ru/tag/mtu/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  mtu">mtu</a> на меньшее (1350), пробовал опции &#8211;fragment и &#8211;mssfix, но толку чуть &#8211; по tcpdump видно,что пинги большими пакетами ходят исправно и исправно режутся в соответствии с <a href="http://snake.khd.ru/tag/mtu/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  mtu">mtu</a>, но tcp/udp не ходит никак. Уже даже не знаю, что думать <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/02/freebsd-openvpn-tap-nid-xelp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Траблы с vtund</title>
		<link>http://snake.khd.ru/2011/01/trably-s-vtund/</link>
		<comments>http://snake.khd.ru/2011/01/trably-s-vtund/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 12:30:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[vtun]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=675</guid>
		<description><![CDATA[Хорошая штука, но на идеологически правильной ОС есть два косяка: 1. Версия 3.0.1 требует lzo (из портов ставится влет) 2. При компиляции make install ругается: snake@serv &#91;vtun-3.0.1&#93;#make install gcc -g -O2 -c main.c main.c: In function 'main': main.c:63: error: 'VTUN_CONFIG_FILE' undeclared &#40;first use in this function&#41; main.c:63: error: &#40;Each undeclared identifier is reported only once <a href='http://snake.khd.ru/2011/01/trably-s-vtund/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Хорошая штука, но на идеологически правильной ОС есть два косяка:<br />
1. Версия 3.0.1 требует lzo (из портов ставится влет)<br />
2. При компиляции make install ругается:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">snake<span style="color: #000000; font-weight: bold;">@</span>serv <span style="color: #7a0874; font-weight: bold;">&#91;</span>vtun-3.0.1<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;">#make install</span>
<span style="color: #c20cb9; font-weight: bold;">gcc</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-O2</span> <span style="color: #660033;">-c</span> main.c
main.c: In <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'main'</span>:
main.c:<span style="color: #000000;">63</span>: error: <span style="color: #ff0000;">'VTUN_CONFIG_FILE'</span> undeclared <span style="color: #7a0874; font-weight: bold;">&#40;</span>first use <span style="color: #000000; font-weight: bold;">in</span> this <span style="color: #000000; font-weight: bold;">function</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
main.c:<span style="color: #000000;">63</span>: error: <span style="color: #7a0874; font-weight: bold;">&#40;</span>Each undeclared identifier is reported only once
main.c:<span style="color: #000000;">63</span>: error: <span style="color: #000000; font-weight: bold;">for</span> each <span style="color: #000000; font-weight: bold;">function</span> it appears in.<span style="color: #7a0874; font-weight: bold;">&#41;</span>
main.c: In <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'write_pid'</span>:
main.c:<span style="color: #000000;">217</span>: error: <span style="color: #ff0000;">'VTUN_PID_FILE'</span> undeclared <span style="color: #7a0874; font-weight: bold;">&#40;</span>first use <span style="color: #000000; font-weight: bold;">in</span> this <span style="color: #000000; font-weight: bold;">function</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">***</span> Error code <span style="color: #000000;">1</span></pre></div></div>

<p>Первое лечится отключением lzo:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--disable-lzo</span></pre></div></div>

<p>Второе &#8211; использованием gmake (кстати нечто похожее было при установке <a href="http://snake.khd.ru/2009/10/poschitaem-vse-stargazer-kak-billing-dlya-nebolshoj-lokalki/">старгайзера</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">gmake</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/01/trably-s-vtund/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Операция &#8220;Кооперация&#8221;: IPFW, stargazer и 4 ADSL-соединения</title>
		<link>http://snake.khd.ru/2011/01/operaciya-kooperaciya-ipfw-stargazer-i-4-adsl-soedineniya-chast-1/</link>
		<comments>http://snake.khd.ru/2011/01/operaciya-kooperaciya-ipfw-stargazer-i-4-adsl-soedineniya-chast-1/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 08:46:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[ipfw]]></category>
		<category><![CDATA[stargazer]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=655</guid>
		<description><![CDATA[Общага &#8211; место крайне полезное, особенно для тех, кто умеет искать халяву. Еда, выпивка, интернет&#8230; стоит лишь немного поднапрячься. В одной из таких общаг мы и будем творить свои злобные делишки &#8211; раздавать людям интернеты анлимно и покилограммно. Под катом много конфигов и технических терминов, так что слабонервным и гуманитариям лучше не заходить Что мы <a href='http://snake.khd.ru/2011/01/operaciya-kooperaciya-ipfw-stargazer-i-4-adsl-soedineniya-chast-1/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Общага &#8211; место крайне полезное, особенно для тех, кто умеет искать халяву. Еда, выпивка, интернет&#8230; стоит лишь немного поднапрячься. В одной из таких общаг мы и будем творить свои злобные делишки &#8211; раздавать людям интернеты анлимно и покилограммно.<br />
Под катом много конфигов и технических терминов, так что слабонервным и гуманитариям лучше не заходить<br />
<span id="more-655"></span></p>
<p>Что мы имеем?<br />
- 4 ADSL-модема с безлимитами на каждом<br />
- Сервер на <a href="http://snake.khd.ru/tag/freebsd/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  FreeBSD">FreeBSD</a> 8.1<br />
- <a href="http://www.lissyara.su/?id=1967" target="blank_">IPFW NAT</a><br />
- Старгайзер в качестве <a href="http://snake.khd.ru/2009/10/poschitaem-vse-stargazer-kak-billing-dlya-nebolshoj-lokalki/" target="blank_">биллинга</a></p>
<p>Вполне достаточно для наших целей. Перво-наперво, проверяем, чтобы в ядро было собрано с вот такими опциями:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">##USER_OPTIONS</span>
<span style="color: #666666; font-style: italic;">#Сам IPFW</span>
options         IPFIREWALL
options         IPFIREWALL_FORWARD
<span style="color: #666666; font-style: italic;">#Включаем режим логов</span>
options         IPFIREWALL_VERBOSE
options         <span style="color: #007800;">IPFIREWALL_VERBOSE_LIMIT</span>=<span style="color: #000000;">100</span>
<span style="color: #666666; font-style: italic;">#Включаем, собственно, NAT</span>
options         IPFIREWALL_NAT
options         IPDIVERT
options         LIBALIAS
<span style="color: #666666; font-style: italic;">#Создаем 5 независимых таблиц маршрутизации: 4 для пользователей и одну для сервера</span>
options         <span style="color: #007800;">ROUTETABLES</span>=<span style="color: #000000;">5</span>
options         <span style="color: #007800;">HZ</span>=<span style="color: #000000;">4000</span></pre></div></div>

<p>Далее просто приведу примеры своих конфигов с комментариями, ибо от howto большего и не требуется <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Для начала &#8211; настраиваем таблицы маршрутизации. Для этого создаем файлик /usr/local/etc/rc.d/setfib1:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #666666; font-style: italic;"># PROVIDE: SETFIB1</span>
<span style="color: #666666; font-style: italic;"># REQUIRE: NETWORKING</span>
<span style="color: #666666; font-style: italic;"># BEFORE: DAEMON</span>
<span style="color: #666666; font-style: italic;"># </span>
<span style="color: #666666; font-style: italic;"># Add the following lines to /etc/rc.conf to enable setfib -1 at startup</span>
<span style="color: #666666; font-style: italic;"># setfib1 (bool): Set to &quot;NO&quot; by default.</span>
<span style="color: #666666; font-style: italic;">#                Set it to &quot;YES&quot; to enable setfib1</span>
<span style="color: #666666; font-style: italic;"># setfib1_defaultroute (str): Set to &quot;&quot; by default</span>
<span style="color: #666666; font-style: italic;">#       Set it to ip address of default gateway for use in fib 1</span>
&nbsp;
. <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>rc.subr
&nbsp;
<span style="color: #007800;">name</span>=<span style="color: #ff0000;">&quot;setfib1&quot;</span>
<span style="color: #007800;">rcvar</span>=<span style="color: #000000; font-weight: bold;">`</span>set_rcvar<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
load_rc_config <span style="color: #007800;">$name</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-z</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$setfib1_enable</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #007800;">setfib1_enable</span>=<span style="color: #ff0000;">&quot;NO&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-z</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$setfib1_defaultroute</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #007800;">setfib1_defaultroute</span>=<span style="color: #ff0000;">&quot;&quot;</span>
&nbsp;
<span style="color: #007800;">start_cmd</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${name}</span>_start&quot;</span>
<span style="color: #007800;">stop_cmd</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${name}</span>_stop&quot;</span>
&nbsp;
setfib1_start<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #800000;">${setfib1_defaultroute}</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
setfib <span style="color: #000000;">1</span> route add <span style="color: #660033;">-net</span> default <span style="color: #800000;">${setfib1_defaultroute}</span>
<span style="color: #000000; font-weight: bold;">else</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Can't set defaultroute for fib 1 (setfib1_defaultroute is not set)&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
setfib1_stop<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
setfib <span style="color: #000000;">1</span> route del <span style="color: #660033;">-net</span> default
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div>

<p>Делаем его исполняемым, и так для каждой таблицы (кроме дефолтной) &#8211; т.е. четыре штуки</p>
<p>В rc.conf:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">gateway_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #007800;">hostname</span>=<span style="color: #ff0000;">&quot;my_server.lan&quot;</span>
<span style="color: #666666; font-style: italic;">#Интерфейс, смотрящий во внутреннюю сеть</span>
<span style="color: #007800;">ifconfig_fxp0</span>=<span style="color: #ff0000;">&quot;inet 10.0.0.1 netmask 255.255.255.0&quot;</span>
<span style="color: #666666; font-style: italic;">#Интерфейс, смотрящий на модемы</span>
<span style="color: #007800;">ifconfig_fxp1</span>=<span style="color: #ff0000;">&quot;inet 192.169.0.5 netmask 255.255.255.0&quot;</span>
<span style="color: #666666; font-style: italic;">#Каждый модем в своем влане</span>
<span style="color: #007800;">cloned_interfaces</span>=<span style="color: #ff0000;">&quot;vlan1691 vlan1692 vlan1693 vlan1694 vlan1695&quot;</span>
<span style="color: #007800;">ifconfig_vlan1691</span>=<span style="color: #ff0000;">&quot;inet 192.169.1.5 netmask 255.255.255.0 vlan 1691 vlandev fxp1&quot;</span>
<span style="color: #007800;">ifconfig_vlan1692</span>=<span style="color: #ff0000;">&quot;inet 192.169.2.5 netmask 255.255.255.0 vlan 1692 vlandev fxp1&quot;</span>
<span style="color: #007800;">ifconfig_vlan1693</span>=<span style="color: #ff0000;">&quot;inet 192.169.3.5 netmask 255.255.255.0 vlan 1693 vlandev fxp1&quot;</span>
<span style="color: #007800;">ifconfig_vlan1694</span>=<span style="color: #ff0000;">&quot;inet 192.169.4.5 netmask 255.255.255.0 vlan 1694 vlandev fxp1&quot;</span>
<span style="color: #666666; font-style: italic;">#влан, смотрящий в локальную сеть провайдера</span>
<span style="color: #007800;">ifconfig_vlan1695</span>=<span style="color: #ff0000;">&quot;inet 192.168.100.9 netmask 255.255.255.0 vlan 1695 vlandev fxp1&quot;</span>
<span style="color: #666666; font-style: italic;">#Сам сервер ходит через модем №1</span>
<span style="color: #007800;">defaultrouter</span>=<span style="color: #ff0000;">&quot;192.169.1.1&quot;</span>
<span style="color: #007800;">setfib1_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #007800;">setfib1_defaultroute</span>=<span style="color: #ff0000;">&quot;192.169.1.1&quot;</span>
<span style="color: #007800;">setfib2_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #007800;">setfib2_defaultroute</span>=<span style="color: #ff0000;">&quot;192.169.2.1&quot;</span>
<span style="color: #007800;">setfib3_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #007800;">setfib3_defaultroute</span>=<span style="color: #ff0000;">&quot;192.169.3.1&quot;</span>
<span style="color: #007800;">setfib4_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #007800;">setfib4_defaultroute</span>=<span style="color: #ff0000;">&quot;192.169.4.1&quot;</span>
<span style="color: #666666; font-style: italic;">#Включаем шейпинг</span>
<span style="color: #007800;">dummynet_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #666666; font-style: italic;">#Включаем фаервол</span>
<span style="color: #007800;">firewall_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #007800;">firewall_logging</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #666666; font-style: italic;">#Конфиг-файл фаервола</span>
<span style="color: #007800;">firewall_script</span>=<span style="color: #ff0000;">&quot;/usr/home/snake/net/rc.fire.conf&quot;</span></pre></div></div>

<p>Не забываем о маршрутизации:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#Подсеть провайдера</span>
route add 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> 192.168.106.1
setfib <span style="color: #000000;">1</span> route add 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> 192.168.100.1
setfib <span style="color: #000000;">2</span> route add 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> 192.168.100.1
setfib <span style="color: #000000;">3</span> route add 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> 192.168.100.1
setfib <span style="color: #000000;">4</span> route add 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> 192.168.100.1</pre></div></div>

<p>Ну и теперь приступаем к настройкам фаервола:<br />
1, Запрещаем весь посторонний трафик</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #666666; font-style: italic;">#IPFW--------------------------------</span>
<span style="color: #007800;">fw</span>=<span style="color: #ff0000;">&quot;/sbin/ipfw -q&quot;</span>
<span style="color: #007800;">fwa</span>=<span style="color: #ff0000;">&quot;/sbin/ipfw -q add&quot;</span>
<span style="color: #666666; font-style: italic;">#Ifaces-----------------------------</span>
<span style="color: #007800;">lan</span>=<span style="color: #ff0000;">&quot;fxp0&quot;</span>
<span style="color: #007800;">lan2</span>=<span style="color: #ff0000;">&quot;fxp1&quot;</span>
<span style="color: #007800;">inet</span>=<span style="color: #ff0000;">&quot;vlan1691&quot;</span>
<span style="color: #007800;">inet2</span>=<span style="color: #ff0000;">&quot;vlan1692&quot;</span>
<span style="color: #007800;">inet3</span>=<span style="color: #ff0000;">&quot;vlan1693&quot;</span>
<span style="color: #007800;">inet4</span>=<span style="color: #ff0000;">&quot;vlan1694&quot;</span>
<span style="color: #007800;">ifnet</span>=<span style="color: #ff0000;">&quot;vlan1695&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Selfcare &amp; service</span>
<span style="color: #666666; font-style: italic;">##loopback (1000-1020)</span>
<span style="color: #007800;">$fwa</span> 01000 allow ip from any to any via lo0
<span style="color: #007800;">$fwa</span> 01010 deny ip from any to 127.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span>
<span style="color: #007800;">$fwa</span> 01020 deny ip from 127.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> to any
<span style="color: #666666; font-style: italic;">##Разрешаем доступ к модемам, иначе ничего не увидим)</span>
<span style="color: #007800;">$fwa</span> 01040 allow ip from 192.169.1.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> to me <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> 01050 allow ip from me to 192.169.1.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> out via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> 01060 allow ip from 192.169.2.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> to me <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> 01070 allow ip from me to 192.169.2.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> out via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> 01080 allow ip from 192.169.3.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> to me <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> 01090 allow ip from me to 192.169.3.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> out via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> 01100 allow ip from 192.169.4.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> to me <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> 01110 allow ip from me to 192.169.4.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> out via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> 01120 allow ip from 192.169.5.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> to me <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$ifnet</span>
<span style="color: #007800;">$fwa</span> 01130 allow ip from me to 192.169.5.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> out via <span style="color: #007800;">$ifnet</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Deny packets (2000-2999)</span>
<span style="color: #666666; font-style: italic;">##Через интерфейсы, смотрящие непосредственно в интернет, не должен проходить локальный траффик</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2000</span> deny log ip from 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2010</span> deny log ip from any to 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> out via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2020</span> deny log ip from 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2030</span> deny log ip from any to 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> out via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2040</span> deny log ip from 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2050</span> deny log ip from any to 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> out via <span style="color: #007800;">$inet</span>
&nbsp;
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2100</span> deny log ip from 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> to me <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2110</span> deny log ip from any to 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> out via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2120</span> deny log ip from 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2130</span> deny log ip from any to 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> out via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2140</span> deny log ip from 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2150</span> deny log ip from any to 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> out via <span style="color: #007800;">$inet2</span>
&nbsp;
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2200</span> deny log ip from 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> to me <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2210</span> deny log ip from any to 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> out via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2220</span> deny log ip from 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2230</span> deny log ip from any to 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> out via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2240</span> deny log ip from 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2250</span> deny log ip from any to 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> out via <span style="color: #007800;">$inet3</span>
&nbsp;
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2300</span> deny log ip from 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2310</span> deny log ip from any to 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> out via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2320</span> deny log ip from 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2330</span> deny log ip from any to 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> out via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2340</span> deny log ip from 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2350</span> deny log ip from any to 192.168.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> out via <span style="color: #007800;">$inet4</span>
&nbsp;
<span style="color: #666666; font-style: italic;">##Через подсеть провайдера может проходить только &quot;свой&quot; трафик</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2300</span> deny log ip from 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$ifnet</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2310</span> deny log ip from any to 10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> out via <span style="color: #007800;">$ifnet</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2410</span> deny log ip from 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> to any <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$ifnet</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">2420</span> deny log ip from any to 172.16.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">12</span> out via <span style="color: #007800;">$ifnet</span></pre></div></div>

<p>3. Собственно, правила для выпускания в интернет</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #666666; font-style: italic;">#IPFW--------------------------------</span>
<span style="color: #007800;">fw</span>=<span style="color: #ff0000;">&quot;/sbin/ipfw -q&quot;</span>
<span style="color: #007800;">fwa</span>=<span style="color: #ff0000;">&quot;/sbin/ipfw -q add&quot;</span>
<span style="color: #666666; font-style: italic;">#Ifaces-----------------------------</span>
<span style="color: #007800;">lan</span>=<span style="color: #ff0000;">&quot;fxp0&quot;</span>
<span style="color: #007800;">lan2</span>=<span style="color: #ff0000;">&quot;fxp1&quot;</span>
<span style="color: #007800;">inet</span>=<span style="color: #ff0000;">&quot;vlan1691&quot;</span>
<span style="color: #007800;">inet2</span>=<span style="color: #ff0000;">&quot;vlan1692&quot;</span>
<span style="color: #007800;">inet3</span>=<span style="color: #ff0000;">&quot;vlan1693&quot;</span>
<span style="color: #007800;">inet4</span>=<span style="color: #ff0000;">&quot;vlan1694&quot;</span>
<span style="color: #007800;">ifvtk</span>=<span style="color: #ff0000;">&quot;vlan1695&quot;</span>
<span style="color: #666666; font-style: italic;">#IP groups--------------------------</span>
<span style="color: #666666; font-style: italic;">#Внутренняя сеть</span>
<span style="color: #007800;">hostel</span>=<span style="color: #ff0000;">&quot;10.0.0.0/24&quot;</span>
<span style="color: #007800;">net</span>=<span style="color: #ff0000;">&quot;192.168.0.0/16&quot;</span>
<span style="color: #666666; font-style: italic;">#Internet access</span>
<span style="color: #666666; font-style: italic;">##Stargazer</span>
<span style="color: #666666; font-style: italic;">###Интернет для пользователей в таблице 2</span>
<span style="color: #007800;">$fwa</span> 04141 allow ip from <span style="color: #ff0000;">&quot;table(2)&quot;</span> to not <span style="color: #007800;">$net</span> <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$lan</span>
<span style="color: #007800;">$fwa</span> 04144 allow ip from not <span style="color: #007800;">$net</span> to <span style="color: #ff0000;">&quot;table(2)&quot;</span> out via <span style="color: #007800;">$lan</span>
<span style="color: #666666; font-style: italic;">###Внутрисеть для пользователей из табл. 3</span>
<span style="color: #007800;">$fwa</span> 04241 allow ip from <span style="color: #ff0000;">&quot;table(3)&quot;</span> to <span style="color: #007800;">$net</span> <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$lan</span>
<span style="color: #007800;">$fwa</span> 04244 allow ip from <span style="color: #007800;">$net</span> to <span style="color: #ff0000;">&quot;table(3)&quot;</span> out via <span style="color: #007800;">$lan</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Выпускаем трафик..</span>
<span style="color: #666666; font-style: italic;">##Наружу</span>
<span style="color: #007800;">$fwa</span> 06010 allow ip from any to not <span style="color: #007800;">$vtk</span> out via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> 06020 allow ip from any to not <span style="color: #007800;">$vtk</span> out via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> 06030 allow ip from any to not <span style="color: #007800;">$vtk</span> out via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> 06040 allow ip from any to not <span style="color: #007800;">$vtk</span> out via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> 06050 allow ip from any to <span style="color: #007800;">$vtk</span> out via <span style="color: #007800;">$ifvtk</span>
&nbsp;
<span style="color: #666666; font-style: italic;">##Пропускаем внутрь) В таблицах 5-9 разбитые на группы пользователи</span>
<span style="color: #007800;">$fwa</span> 06210 allow ip from not <span style="color: #007800;">$net</span> to <span style="color: #ff0000;">&quot;table(5)&quot;</span> <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet</span>
<span style="color: #007800;">$fwa</span> 06220 allow ip from not <span style="color: #007800;">$net</span> to <span style="color: #ff0000;">&quot;table(6)&quot;</span> <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet2</span>
<span style="color: #007800;">$fwa</span> 06230 allow ip from not <span style="color: #007800;">$net</span> to <span style="color: #ff0000;">&quot;table(7)&quot;</span> <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet3</span>
<span style="color: #007800;">$fwa</span> 06240 allow ip from not <span style="color: #007800;">$net</span> to <span style="color: #ff0000;">&quot;table(8)&quot;</span> <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> 06250 allow ip from not <span style="color: #007800;">$net</span> to <span style="color: #ff0000;">&quot;table(9)&quot;</span> <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$inet4</span>
<span style="color: #007800;">$fwa</span> 06260 allow ip from <span style="color: #007800;">$net</span> to <span style="color: #ff0000;">&quot;table(3)&quot;</span> <span style="color: #000000; font-weight: bold;">in</span> via <span style="color: #007800;">$ifnet</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#----------------------------------</span>
<span style="color: #666666; font-style: italic;">##ICMP</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">60200</span> allow icmp from me to any
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">60250</span> allow icmp from any to me
<span style="color: #666666; font-style: italic;">##Allow all outcoming</span>
<span style="color: #007800;">$fwa</span> <span style="color: #000000;">65000</span> allow ip from me to any</pre></div></div>

<p>А теперь &#8211; самое интересное <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Шейпинг:</p>
<pre>
#!/bin/sh
#<a href="http://snake.khd.ru/tag/ipfw/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  ipfw">IPFW</a>--------------------------------
fw="/sbin/<a href="http://snake.khd.ru/tag/ipfw/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  ipfw">ipfw</a> -q"
fwa="/sbin/<a href="http://snake.khd.ru/tag/ipfw/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  ipfw">ipfw</a> -q add"
fwt="/sbin/<a href="http://snake.khd.ru/tag/ipfw/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  ipfw">ipfw</a> table"
#Env---------------------------------
gw0="192.169.1.1"
gw1="192.169.1.1"
gw2="192.169.2.1"
gw3="192.169.3.1"
gw4="192.169.4.1"
gw5="192.169.5.1"
#Ifaces-----------------------------
lan="fxp0"
lan2="fxp1"
inet="<a href="http://snake.khd.ru/tag/vlan/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vlan">vlan</a>1691"
inet2="<a href="http://snake.khd.ru/tag/vlan/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vlan">vlan</a>1692"
inet3="<a href="http://snake.khd.ru/tag/vlan/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vlan">vlan</a>1693"
inet4="<a href="http://snake.khd.ru/tag/vlan/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vlan">vlan</a>1694"
ifnet="<a href="http://snake.khd.ru/tag/vlan/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vlan">vlan</a>1695"
#IP's-------------------------------
iplan="10.0.0.1"
ipnet="192.168.100.9"
#IP groups--------------------------
hostel="10.0.0.0/24"
net="192.168.0.0/16"
#Priority---------------------------
tcphigh=100
tcpother=40
udpall=20
ipall=20
tcp_ports="20,21,22,53,80,81,443,5190,5222,3128,8080,8081,8088,28960"
#Размер очереди прикидываем вот так:
#http://<a href="http://snake.khd.ru/tag/www/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  www">www</a>.opennet.ru/tips/info/1411.shtml
#Queue size-------------------------
qdowni="350Kbytes"
qupi="50Kbytes"
qdownnet="550Kbytes"
qupnet="70Kbytes"
#Speed------------------------------
##Main outgoing queue
upi=500Kbit/s
##Main downloading queue
downi=3400Kbit/s
##NET outgoing queue
upnet=800Kbit/s
##net downloading queue
downnet=5000Kbit/s
#Пайпы (по одной на канал)
$fw pipe 100 config bw $downi queue $qdowni gred 0.002/10/30/0.1
$fw pipe 200 config bw $upi queue $qupi gred 0.002/10/30/0.1
$fw pipe 300 config bw $downi queue $qdowni gred 0.002/10/30/0.1
$fw pipe 400 config bw $upi queue $qupi gred 0.002/10/30/0.1
$fw pipe 500 config bw $downi queue $qdowni gred 0.002/10/30/0.1
$fw pipe 600 config bw $upi queue $qupi gred 0.002/10/30/0.1
$fw pipe 700 config bw $downi queue $qdowni gred 0.002/10/30/0.1
$fw pipe 800 config bw $upi queue $qupi gred 0.002/10/30/0.1
$fw pipe 900 config bw $downnet queue $qdownvtk gred 0.002/10/30/0.1
$fw pipe 1000 config bw $upnet queue $qupvtk gred 0.002/10/30/0.1
#-----------------------------------
</pre>
<pre>
#Очереди
#inet --> LAN
#Для различного типа трафика действует различный приоритет
$fw queue 101 config weight $tcphigh pipe 100 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 102 config weight $tcpother pipe 100 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 103 config weight $udpall pipe 100 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 104 config weight $ipall pipe 100 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff

$fw queue 301 config weight $tcphigh pipe 300 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 302 config weight $tcpother pipe 300 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 303 config weight $udpall pipe 300 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 304 config weight $ipall pipe 300 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff

$fw queue 501 config weight $tcphigh pipe 500 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 502 config weight $tcpother pipe 500 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 503 config weight $udpall pipe 500 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 504 config weight $ipall pipe 500 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff

$fw queue 701 config weight $tcphigh pipe 700 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 702 config weight $tcpother pipe 700 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 703 config weight $udpall pipe 700 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 704 config weight $ipall pipe 700 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff

#LAN --> inet
$fw queue 201 config weight $tcphigh pipe 200 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 202 config weight $tcpother pipe 200 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 203 config weight $udpall pipe 200 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 204 config weight $ipall pipe 200 gred 0.002/10/30/0.1 mask src-ip 0xffffffff

$fw queue 401 config weight $tcphigh pipe 400 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 402 config weight $tcpother pipe 400 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 403 config weight $udpall pipe 400 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 404 config weight $ipall pipe 400 gred 0.002/10/30/0.1 mask src-ip 0xffffffff

$fw queue 601 config weight $tcphigh pipe 600 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 602 config weight $tcpother pipe 600 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 603 config weight $udpall pipe 600 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 604 config weight $ipall pipe 600 gred 0.002/10/30/0.1 mask src-ip 0xffffffff

$fw queue 801 config weight $tcphigh pipe 800 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 802 config weight $tcpother pipe 800 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 803 config weight $udpall pipe 800 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 804 config weight $ipall pipe 800 gred 0.002/10/30/0.1 mask src-ip 0xffffffff

#WAN --> LAN
$fw queue 901 config weight $tcphigh pipe 900 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 902 config weight $tcpother pipe 900 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 903 config weight $udpall pipe 900 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff
$fw queue 904 config weight $ipall pipe 900 gred 0.002/10/30/0.1 mask dst-ip 0xffffffff

#LAN --> WAN
$fw queue 1001 config weight $tcphigh pipe 1000 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 1002 config weight $tcpother pipe 1000 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 1003 config weight $udpall pipe 1000 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
$fw queue 1004 config weight $ipall pipe 1000 gred 0.002/10/30/0.1 mask src-ip 0xffffffff
</pre>
<pre>
#-----------------------------------
#Настройки NAT
$fw nat 100 config if $inet same_ports reset deny_in
$fw nat 200 config if $inet2 same_ports reset deny_in
$fw nat 300 config if $inet3 same_ports reset deny_in
$fw nat 400 config if $inet4 same_ports reset deny_in
$fw nat 500 config if $ifnet same_ports reset deny_in
#-----------------------------------
##Routing tables
setfib 0 route delete default
setfib 0 route add default 192.169.1.1
###Clients route tables 1200-1599
setfib 1 route delete default
setfib 1 route add default 192.169.1.1
$fwa 01210 setfib 1 ip from "table(5)" to any in recv $lan
$fwa 01220 setfib 1 ip from "table(5)" to any in recv $vlan1204
$fwa 01230 setfib 1 ip from "table(5)" to any in recv $vlan1205
setfib 2 route delete default
setfib 2 route add default 192.169.2.1
$fwa 01310 setfib 2 ip from "table(6)" to any in recv $lan
$fwa 01320 setfib 2 ip from "table(6)" to any in recv $vlan1204
$fwa 01330 setfib 2 ip from "table(6)" to any in recv $vlan1205
setfib 3 route delete default
setfib 3 route add default 192.169.3.1
$fwa 01310 setfib 3 ip from "table(7)" to any in recv $lan
$fwa 01320 setfib 3 ip from "table(7)" to any in recv $vlan1204
$fwa 01330 setfib 3 ip from "table(7)" to any in recv $vlan1205
setfib 4 route delete default
setfib 4 route add default 192.169.4.1
$fwa 01410 setfib 4 ip from "table(8)" to any in recv $lan
$fwa 01420 setfib 4 ip from "table(8)" to any in recv $vlan1204
$fwa 01430 setfib 4 ip from "table(8)" to any in recv $vlan1205
###---Table 9 for limit tariff users
$fwa 01440 setfib 4 ip from "table(9)" to any in recv $lan
$fwa 01450 setfib 4 ip from "table(9)" to any in recv $vlan1204
$fwa 01460 setfib 4 ip from "table(9)" to any in recv $vlan1205
#-----------------------------------
</pre>
<pre>
#NAT &#038; queues
##Исходящие очереди
###ADSL1
$fwa 05011 queue 201 tcp from "table(5)" to any $tcp_ports out xmit $inet
$fwa 05012 queue 202 tcp from "table(5)" to not any $tcp_ports out xmit $inet
$fwa 05013 skipto 5110 tcp from "table(5)" to any out xmit $inet
$fwa 05014 queue 203 udp from "table(5)" to any out xmit $inet
$fwa 05015 skipto 5110 udp from "table(5)" to any out xmit $inet
$fwa 05016 queue 201 icmp from "table(5)" to any out xmit $inet
$fwa 05017 skipto 5110 icmp from "table(5)" to any out xmit $inet
$fwa 05018 queue 204 ip from "table(5)" to any out xmit $inet
###ADSL2
$fwa 05021 queue 401 tcp from "table(6)" to any $tcp_ports out xmit $inet2
$fwa 05022 queue 402 tcp from "table(6)" to not any $tcp_ports out xmit $inet2
$fwa 05023 skipto 5120 tcp from "table(6)" to any out xmit $inet2
$fwa 05024 queue 403 udp from "table(6)" to any out xmit $inet2
$fwa 05025 skipto 5120 udp from "table(6)" to any out xmit $inet2
$fwa 05026 queue 401 icmp from "table(6)" to any out xmit $inet2
$fwa 05027 skipto 5120 icmp from "table(6)" to any out xmit $inet2
$fwa 05028 queue 404 ip from "table(6)" to any out xmit $inet2
###ADSL3
$fwa 05031 queue 601 tcp from "table(7)" to any $tcp_ports out xmit $inet3
$fwa 05032 queue 602 tcp from "table(7)" to not any $tcp_ports out xmit $inet3
$fwa 05033 skipto 5130 tcp from "table(7)" to any out xmit $inet3
$fwa 05034 queue 603 udp from "table(7)" to any out xmit $inet3
$fwa 05035 skipto 5130 udp from "table(7)" to any out xmit $inet3
$fwa 05036 queue 601 icmp from "table(7)" to any out xmit $inet3
$fwa 05037 skipto 5130 icmp from "table(7)" to any out xmit $inet3
$fwa 05038 queue 604 ip from "table(7)" to any out xmit $inet3
###ADSL4
$fwa 05041 queue 801 tcp from "table(8)" to any $tcp_ports out xmit $inet4
$fwa 05042 queue 802 tcp from "table(8)" to not any $tcp_ports out xmit $inet4
$fwa 05043 skipto 5140 tcp from "table(8)" to any out xmit $inet4
$fwa 05044 queue 803 udp from "table(8)" to any out xmit $inet4
$fwa 05045 skipto 5140 udp from "table(8)" to any out xmit $inet4
$fwa 05046 queue 801 icmp from "table(8)" to any out xmit $inet4
$fwa 05047 skipto 5140 icmp from "table(8)" to any out xmit $inet4
$fwa 05048 queue 804 ip from "table(8)" to any out xmit $inet4
###Юзвери, сидящие на лимитированных тарифах обслуживаются в первую очередь
$fwa 05051 queue 801 ip from "table(9)" to any out xmit $inet4
###ADSL5
$fwa 05061 queue 1001 tcp from "table(3)" to $net $tcp_ports out xmit $ifnet
$fwa 05062 queue 1002 tcp from "table(3)" to not $net $tcp_ports out xmit $ifnet
$fwa 05063 skipto 5150 tcp from "table(3)" to any out xmit $ifnet
$fwa 05064 queue 1003 udp from "table(3)" to $net out xmit $ifnet
$fwa 05065 skipto 5150 udp from "table(3)" to any out xmit $ifnet
$fwa 05066 queue 1004 icmp from "table(3)" to $net out xmit $ifnet
$fwa 05067 skipto 5150 icmp from "table(3)" to any out xmit $ifnet
$fwa 05068 queue 1004 ip from "table(3)" to $net out xmit $ifnet
</pre>
<pre>
#-----------------------------------
##NAT
$fwa 05110 nat 100 ip from any to any via $inet
$fwa 05120 nat 200 ip from any to any via $inet2
$fwa 05130 nat 300 ip from any to any via $inet3
$fwa 05140 nat 400 ip from any to any via $inet4
$fwa 05150 nat 500 ip from any to any via $ifnet
#----------------------------------
##Incoming queues
$fwa 05311 queue 101 tcp from any $tcp_ports to "table(5)" in recv $inet
$fwa 05312 queue 102 tcp from not any $tcp_ports to "table(5)" in recv $inet
$fwa 05313 skipto 6010 tcp from any to "table(5)" in via $inet
$fwa 05314 queue 103 udp from any to "table(5)" in recv $inet
$fwa 05315 skipto 6010 udp from any to "table(5)" in via $inet
$fwa 05316 queue 101 icmp from any to "table(5)" in recv $inet
$fwa 05317 skipto 6010 icmp from any to "table(5)" in via $inet
$fwa 05318 queue 104 ip from any to "table(5)" in recv $inet

$fwa 05321 queue 301 tcp from any $tcp_ports to "table(6)" in recv $inet2
$fwa 05322 queue 302 tcp from not any $tcp_ports to "table(6)" in recv $inet2
$fwa 05323 skipto 6010 tcp from any to "table(6)" in via $inet2
$fwa 05324 queue 303 udp from any to "table(6)" in recv $inet2
$fwa 05325 skipto 6010 udp from any to "table(6)" in via $inet2
$fwa 05326 queue 301 icmp from any to "table(6)" in recv $inet2
$fwa 05327 skipto 6010 icmp from any to "table(6)" in via $inet2
$fwa 05328 queue 304 ip from any to "table(6)" in recv $inet2

$fwa 05331 queue 501 tcp from any $tcp_ports to "table(7)" in recv $inet3
$fwa 05332 queue 502 tcp from not any $tcp_ports to "table(7)" in recv $inet3
$fwa 05333 skipto 6010 tcp from any to "table(7)" in via $inet3
$fwa 05334 queue 503 udp from any to "table(7)" in recv $inet3
$fwa 05335 skipto 6010 udp from any to "table(7)" in via $inet3
$fwa 05336 queue 501 icmp from any to "table(7)" in recv $inet3
$fwa 05337 skipto 6010 icmp from any to "table(7)" in via $inet3
$fwa 05338 queue 504 ip from any to "table(7)" in recv $inet3

$fwa 05341 queue 701 tcp from any $tcp_ports to "table(8)" in recv $inet4
$fwa 05342 queue 702 tcp from not any $tcp_ports to "table(8)" in recv $inet4
$fwa 05347 skipto 6010 tcp from any to "table(8)" in via $inet4
$fwa 05343 queue 703 udp from any to "table(8)" in recv $inet4
$fwa 05347 skipto 6010 udp from any to "table(8)" in via $inet4
$fwa 05344 queue 701 icmp from any to "table(8)" in recv $inet4
$fwa 05347 skipto 6010 icmp from any to "table(8)" in via $inet4
$fwa 05345 queue 704 ip from any to "table(8)" in recv $inet4

$fwa 05351 queue 701 ip from any to "table(9)" in recv $inet4
$fwa 05352 skipto 6010 ip from any to "table(9)" in via $inet4

$fwa 05361 queue 901 tcp from $net $tcp_ports to "table(3)" in recv $ifnet
$fwa 05362 queue 902 tcp from not $net $tcp_ports to "table(3)" in recv $ifnet
$fwa 05367 skipto 6010 tcp from $net to "table(3)" in via $ifnet
$fwa 05363 queue 903 udp from $net to "table(3)" in recv $ifnet
$fwa 05367 skipto 6010 udp from $net to "table(3)" in via $ifnet
$fwa 05364 queue 901 icmp from $net to "table(3)" in recv $ifnet
$fwa 05367 skipto 6010 icmp from $net to "table(3)" in via $ifnet
$fwa 05365 queue 904 ip from $vtk to "table(3)" in recv $ifnet
</pre>
<p>Такая схема работает более или менее успешно. Пользователи распихиваются по таблицам примерно поровну, после чего за каждой группой пользователей закрепляется &#8220;свой&#8221; канал.<br />
Все вопросы можно задавать тут)</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/01/operaciya-kooperaciya-ipfw-stargazer-i-4-adsl-soedineniya-chast-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Восставший из ада: поднимаем FreeBSD</title>
		<link>http://snake.khd.ru/2010/11/vosstavshij-iz-ada-podnimaem-freebsd/</link>
		<comments>http://snake.khd.ru/2010/11/vosstavshij-iz-ada-podnimaem-freebsd/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 03:07:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[fsck]]></category>
		<category><![CDATA[hdd]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=622</guid>
		<description><![CDATA[Как известно, админы делятся на две категории &#8211; одни не делают бэкапы, а вторые уже делают. Не сказать, чтобы их не было совсем&#8230; но все равно неприятно. После очередного отключения света (и сдохшего упса) благополучно помер винт. fsck отшуршал, нашел кучу нечитаемых секторов &#8211; и на этом можно было сливать воду. В read-only система все-таки <a href='http://snake.khd.ru/2010/11/vosstavshij-iz-ada-podnimaem-freebsd/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Как известно, админы делятся на две категории &#8211; одни не делают бэкапы, а вторые уже делают. Не сказать, чтобы их не было совсем&#8230; но все равно неприятно.<br />
После очередного отключения света (и сдохшего упса) благополучно помер винт. <a href="http://snake.khd.ru/tag/fsck/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  fsck">fsck</a> отшуршал, нашел кучу нечитаемых секторов &#8211; и на этом можно было сливать воду. В read-only система все-таки примонтировалось, и почти все удалось вытащить &#8211; но перспектива поднимать сервак с нуля, пусть и имея на руках конфиги &#8211; не самая радужная.<br />
<span id="more-622"></span><br />
Перво-наперво ищем рабочий жесткий и ставим на него систему &#8211; желательно той же версии <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  В моем случае в обязательном порядке пришлось ставить сорцы, из которых нужно было пересобрать ядро &#8211; это тоже стоит учесть, потому что может случиться так, что взять их будет просто неоткуда <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Затем, имея готовую систему и файлы с убитого жесткого (различной степени потрепанности) аккуратно копируем одно в другое примерно так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-Rp</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>ad2s2s<span style="color: #000000; font-weight: bold;">/</span>usr_backup<span style="color: #000000; font-weight: bold;">/*</span> <span style="color: #000000; font-weight: bold;">/</span>usr
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-Rp</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>ad2s2s<span style="color: #000000; font-weight: bold;">/</span>etc_backup<span style="color: #000000; font-weight: bold;">/*</span> <span style="color: #000000; font-weight: bold;">/</span>etc</pre></div></div>

<p>Здесь -R означает, что каталоги следует копировать рекурсивно, а -p сохраняет все атрибуты файла (права, владелец etc). Полностью копировать каталог /etc не нужно &#8211; достаточно переписать только конфиги, которые вы меняли сами, а также файлики /etc/group /etc/passwd и /etc/master.passwd<br />
После этого на &#8220;новой&#8221; системе выполняем команду</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pwd_mkdb <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>master.passwd</pre></div></div>

<p>Перезагружаемся.. и, если повезет, получим полностью восстановленную систему. Не забудьте сделать резервные копии всего и вся &#8211; лишним точно не будет. </p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/11/vosstavshij-iz-ada-podnimaem-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arp-сканер на perl. Версия 0.4</title>
		<link>http://snake.khd.ru/2010/10/arp-skaner-na-perl-versiya-0-4/</link>
		<comments>http://snake.khd.ru/2010/10/arp-skaner-na-perl-versiya-0-4/#comments</comments>
		<pubDate>Sun, 03 Oct 2010 14:16:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=591</guid>
		<description><![CDATA[Немного исправил и допилил. Теперь не используется промежуточный лог-файл, и заодно парсится файлик со списком комнат. #!/usr/bin/perl -w #Arping addon by Snake #http://snake.khd.ru #2010-10-02 #v0.4 use Shell; use DBI; my @h51; my @h5; print &#34;Scan 10.12.51.0/24\n&#34;; for &#40;$i=1; $i&#60;255; $i++&#41;&#123; my $ip=&#34;10.12.51.$i&#34;; my @h5_5=`/usr/local/sbin/arping -i em0 -c 5 -w 5 $ip`; push &#40;@h51, @h5_5&#41;; &#125; <a href='http://snake.khd.ru/2010/10/arp-skaner-na-perl-versiya-0-4/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Немного исправил и допилил. Теперь не используется промежуточный лог-файл, и заодно парсится файлик со списком комнат.<br />
<span id="more-591"></span></p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl -w</span>
<span style="color: #666666; font-style: italic;">#Arping addon by Snake</span>
<span style="color: #666666; font-style: italic;">#http://snake.khd.ru</span>
<span style="color: #666666; font-style: italic;">#2010-10-02</span>
<span style="color: #666666; font-style: italic;">#v0.4</span>
<span style="color: #000000; font-weight: bold;">use</span> Shell<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> DBI<span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@h51</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@h5</span><span style="color: #339933;">;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Scan 10.12.51.0/24<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">255</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$ip</span><span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;10.12.51.$i&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@h5_5</span><span style="color: #339933;">=</span><span style="color: #ff0000;">`/usr/local/sbin/arping -i em0 -c 5 -w 5 $ip`</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">push</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">@h51</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">@h5_5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Scan 10.12.5.0/24<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">255</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$ip</span><span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;10.12.5.$i&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@h5_3</span><span style="color: #339933;">=</span><span style="color: #ff0000;">`/usr/local/sbin/arping -i vlan1205 -c 5 -w 5 $ip`</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">push</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">@h5</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">@h5_3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Connect to database<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$db</span> <span style="color: #339933;">=</span> DBI<span style="color: #339933;">-&gt;</span><span style="color: #006600;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'DBI:mysql:arpbase;host=localhost'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'arpuser'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'arppass'</span>
               <span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000066;">die</span> <span style="color: #ff0000;">&quot;Could not connect to database: $DBI::errstr&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">#Last scanned addresses;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Updating database<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">#Flush online status</span>
<span style="color: #0000ff;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">do</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;UPDATE iptable SET online = 0 WHERE online = 1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$j</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">#Update database</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">@h5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$line</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$_</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$dstmac</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$dstip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$line</span><span style="color: #339933;">=~/</span><span style="color: #cc66cc;">60</span> bytes from <span style="color: #009900;">&#40;</span><span style="color: #339933;">.</span><span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">17</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> \<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">.*?</span><span style="color: #009900;">&#41;</span>\<span style="color: #009900;">&#41;</span>\<span style="color: #339933;">:</span> <span style="color: #000066;">index</span><span style="color: #339933;">=</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span> <span style="color: #000066;">time</span><span style="color: #339933;">=</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span>\<span style="color: #339933;">.</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span> msec<span style="color: #339933;">/</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$dstmac</span> <span style="color: #b1b100;">ne</span> <span style="color: #0000ff;">$oldmac</span> <span style="color: #339933;">||</span> <span style="color: #0000ff;">$dstip</span> <span style="color: #b1b100;">ne</span> <span style="color: #0000ff;">$oldip</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #0000ff;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">do</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;UPDATE iptable SET mac = '$dstmac', online = 1 WHERE ip = '$dstip'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">#print &quot;Write to database: $dstip $dstmac&quot;;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #0000ff;">$oldip</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$dstip</span><span style="color: #339933;">;</span>
        <span style="color: #0000ff;">$oldmac</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$dstmac</span><span style="color: #339933;">;</span>
        <span style="color: #339933;">++</span><span style="color: #0000ff;">$j</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">@h51</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$line</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$_</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$dstmac</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$dstip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$line</span><span style="color: #339933;">=~/</span><span style="color: #cc66cc;">60</span> bytes from <span style="color: #009900;">&#40;</span><span style="color: #339933;">.</span><span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">17</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> \<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">.*?</span><span style="color: #009900;">&#41;</span>\<span style="color: #009900;">&#41;</span>\<span style="color: #339933;">:</span> <span style="color: #000066;">index</span><span style="color: #339933;">=</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span> <span style="color: #000066;">time</span><span style="color: #339933;">=</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span>\<span style="color: #339933;">.</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span> msec<span style="color: #339933;">/</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$dstmac</span> <span style="color: #b1b100;">ne</span> <span style="color: #0000ff;">$oldmac</span> <span style="color: #339933;">||</span> <span style="color: #0000ff;">$dstip</span> <span style="color: #b1b100;">ne</span> <span style="color: #0000ff;">$oldip</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #0000ff;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">do</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;UPDATE iptable SET mac = '$dstmac', online = 1 WHERE ip = '$dstip'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #666666; font-style: italic;">#print &quot;Write to database: $dstip $dstmac&quot;;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #0000ff;">$oldip</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$dstip</span><span style="color: #339933;">;</span>
        <span style="color: #0000ff;">$oldmac</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$dstmac</span><span style="color: #339933;">;</span>
        <span style="color: #339933;">++</span><span style="color: #0000ff;">$j</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span>ROOM<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;iptable&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000066;">die</span> <span style="color: #ff0000;">&quot;Can't open file: $!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009999;">&lt;ROOM&gt;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">chomp</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$line</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$_</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$room</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$roomip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$line</span><span style="color: #339933;">=~/</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>\<span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">.*</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/;</span>
    <span style="color: #0000ff;">@roomip</span><span style="color: #339933;">=</span><span style="color: #000066;">split</span><span style="color: #339933;">/,</span> <span style="color: #339933;">/</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">$roomip</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">@roomip</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #0000ff;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">do</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;UPDATE iptable SET room = '$room' WHERE ip = '$_'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066;">close</span><span style="color: #009900;">&#40;</span>ROOM<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/10/arp-skaner-na-perl-versiya-0-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arp-сканер на перл</title>
		<link>http://snake.khd.ru/2010/10/arp-skaner-na-perl/</link>
		<comments>http://snake.khd.ru/2010/10/arp-skaner-na-perl/#comments</comments>
		<pubDate>Sat, 02 Oct 2010 05:43:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[arping]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=588</guid>
		<description><![CDATA[Юзает стандартный БСД-шный арпинг, но с преферансом и куртизанками. Использует SQL-таблицу с полями (id INT, ip VARCHAR(15), mac VARCHAR(17), online INT) #!/usr/bin/perl -w #Arping addon by Snake #http://snake.khd.ru #2010-10-02 #v0.3 use Shell; use DBI; print &#34;Scan 10.12.51.0/24\n&#34;; for &#40;$i=1; $i&#60;255; $i++&#41;&#123; my $ip=&#34;10.12.51.$i&#34;; my @h5_5=`/usr/local/sbin/arping -i em0 -c 5 -w 5 $ip &#62;&#62; ping.log`; &#125; <a href='http://snake.khd.ru/2010/10/arp-skaner-na-perl/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Юзает стандартный БСД-шный арпинг, но с преферансом и куртизанками. Использует SQL-таблицу с полями (id INT, ip VARCHAR(15), mac VARCHAR(17), online INT)<br />
<span id="more-588"></span></p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl -w</span>
<span style="color: #666666; font-style: italic;">#Arping addon by Snake</span>
<span style="color: #666666; font-style: italic;">#http://snake.khd.ru</span>
<span style="color: #666666; font-style: italic;">#2010-10-02</span>
<span style="color: #666666; font-style: italic;">#v0.3</span>
<span style="color: #000000; font-weight: bold;">use</span> Shell<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> DBI<span style="color: #339933;">;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Scan 10.12.51.0/24<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">255</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$ip</span><span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;10.12.51.$i&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@h5_5</span><span style="color: #339933;">=</span><span style="color: #ff0000;">`/usr/local/sbin/arping -i em0 -c 5 -w 5 $ip &gt;&gt; ping.log`</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Scan 10.12.5.0/24<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">255</span><span style="color: #339933;">;</span> <span style="color: #0000ff;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$ip</span><span style="color: #339933;">=</span><span style="color: #ff0000;">&quot;10.12.5.$i&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">@h5_3</span><span style="color: #339933;">=</span><span style="color: #ff0000;">`/usr/local/sbin/arping -i vlan1205 -c 5 -w 5 $ip &gt;&gt; ping.log`</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Connect to database<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$db</span> <span style="color: #339933;">=</span> DBI<span style="color: #339933;">-&gt;</span><span style="color: #006600;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'DBI:mysql:arpbase;host=localhost'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'arpuser'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'arppass'</span>
               <span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000066;">die</span> <span style="color: #ff0000;">&quot;Could not connect to database: $DBI::errstr&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span>FH<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;&lt;ping.log&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">or</span> <span style="color: #000066;">die</span> <span style="color: #ff0000;">&quot;File open error: $!&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Updating database<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">do</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;UPDATE iptable SET online = 0 WHERE online = 1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$j</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009999;">&lt;FH&gt;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$line</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$_</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$dstmac</span><span style="color: #339933;">,</span><span style="color: #0000ff;">$dstip</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$line</span><span style="color: #339933;">=~/</span><span style="color: #cc66cc;">60</span> bytes from <span style="color: #009900;">&#40;</span><span style="color: #339933;">.</span><span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">17</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> \<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">.*?</span><span style="color: #009900;">&#41;</span>\<span style="color: #009900;">&#41;</span>\<span style="color: #339933;">:</span> <span style="color: #000066;">index</span><span style="color: #339933;">=</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span> <span style="color: #000066;">time</span><span style="color: #339933;">=</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span>\<span style="color: #339933;">.</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">*</span> msec<span style="color: #339933;">/</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$dstmac</span> <span style="color: #b1b100;">ne</span> <span style="color: #0000ff;">$oldmac</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$dstip</span> <span style="color: #b1b100;">ne</span> <span style="color: #0000ff;">$oldip</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">do</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;SELECT ip, mac FROM iptable WHERE ip = '$dstip'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    		<span style="color: #0000ff;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">do</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;UPDATE iptable SET mac = '$dstmac', online = 1 WHERE ip = '$dstip'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    	    <span style="color: #009900;">&#125;</span>    
	<span style="color: #009900;">&#125;</span>
	<span style="color: #0000ff;">$oldip</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$dstip</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$oldmac</span><span style="color: #339933;">=</span><span style="color: #0000ff;">$dstmac</span><span style="color: #339933;">;</span>
	<span style="color: #339933;">++</span><span style="color: #0000ff;">$j</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066;">close</span><span style="color: #009900;">&#40;</span>FH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Как-то так. Можнадокому?</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/10/arp-skaner-na-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD Linux compatible mode</title>
		<link>http://snake.khd.ru/2010/09/freebsd-linux-compatible-mode/</link>
		<comments>http://snake.khd.ru/2010/09/freebsd-linux-compatible-mode/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 12:41:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=584</guid>
		<description><![CDATA[Понадобилось мне поставить сервер CS 1.6 на родную фрю. Эмулятор линукса уже стоял, поэтому особо не заморачивался. Запускаю бинарник&#8230; и нифига: ./steam: error while loading shared libraries: /usr/lib/librt.so.1: ELF file OS ABI invalid Кому интересно &#8211; идем под кат. Остальные &#8211; не парьтесь Старый добрый гуглеж навел на мысль: Running /compat/linux/bin/date for instance gives: /compat/linux/bin/date: <a href='http://snake.khd.ru/2010/09/freebsd-linux-compatible-mode/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Понадобилось мне поставить сервер CS 1.6 на родную фрю. Эмулятор линукса уже стоял, поэтому особо не заморачивался. Запускаю бинарник&#8230; и нифига:</p>
<pre lang=bash>./steam: error while loading shared libraries: /usr/lib/librt.so.1: ELF file OS ABI invalid</pre>
<p>Кому интересно &#8211; идем под кат. Остальные &#8211; не парьтесь <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<span id="more-584"></span></p>
<p>Старый добрый гуглеж навел на <a href="http://lists.freebsd.org/pipermail/freebsd-emulation/2006-October/002719.html">мысль</a>:</p>
<p><code>Running /compat/<a href="http://snake.khd.ru/tag/linux/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  linux">linux</a>/bin/date for instance gives:</p>
<p>	/compat/linux/bin/date: error while loading shared libraries:<br />
	/usr/lib/librt.so.1: ELF file OS ABI invalid</p>
<p>I think I've found the cause though. "/compat/linux/sbin/ldconfig -p" gives<br />
the following for librt.so.1:</p>
<p>	librt.so.1 (libc6, OS ABI: Linux 2.4.20) => /lib/librt.so.1</p>
<p>Changing the compat.linux.osrelease sysctl value from 2.4.2 to 2.4.20<br />
solves the problem (matlab works in console mode, there's still a<br />
problem with java however so no graphical mode). The advice in<br />
/usr/ports/UPDATING mentioned that this sysctl value shouldn't be<br />
changed though, so perhaps this is simply a typo in the default value?</code></p>
<p>Перевожу на русский: версия библиотеки не совпадает с версией ядра эмулятора. Посему через sysctl выставляем нужную версию (у меня была как раз 2.4.2, а нужна 2.4.20), и наслаждаемся <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/09/freebsd-linux-compatible-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache и apr-1</title>
		<link>http://snake.khd.ru/2010/09/apache-i-apr-1/</link>
		<comments>http://snake.khd.ru/2010/09/apache-i-apr-1/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 04:59:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=570</guid>
		<description><![CDATA[Задумал я обновить порт, в т.ч. и apache. portupgrade&#8230; и хрен там. Удалиться то апач удалился, а по новой не встал &#8211; ругался на отсуствующие файлы библиотеки apr-1. Непродолжительный гуглеж привел к решению pkgdb -aF portsclean -CDD portsnap fetch update cd /usr/ports/www/apache22 make deinstall clean portupgrade -f -o devel/apr1 devel/apr cd /usr/ports/devel/apr1 make deinstall clean <a href='http://snake.khd.ru/2010/09/apache-i-apr-1/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Задумал я обновить порт, в т.ч. и <a href="http://snake.khd.ru/tag/apache/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  apache">apache</a>. portupgrade&#8230; и хрен там. Удалиться то апач удалился, а по новой не встал &#8211; ругался на отсуствующие файлы библиотеки apr-1. Непродолжительный гуглеж привел к <a href="http://forums.freebsd.org/archive/index.php/t-14338.html">решению</a></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pkgdb <span style="color: #660033;">-aF</span>
portsclean <span style="color: #660033;">-CDD</span>
portsnap fetch update
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>apache22
<span style="color: #c20cb9; font-weight: bold;">make</span> deinstall clean
portupgrade <span style="color: #660033;">-f</span> <span style="color: #660033;">-o</span> devel<span style="color: #000000; font-weight: bold;">/</span>apr1 devel<span style="color: #000000; font-weight: bold;">/</span>apr
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>devel<span style="color: #000000; font-weight: bold;">/</span>apr1
<span style="color: #c20cb9; font-weight: bold;">make</span> deinstall clean
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>apache22
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span> clean</pre></div></div>

<p>После чего апач встал корректно.</p>
<p>Можнадокому.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2010/09/apache-i-apr-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

