<?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>guzik &#187; pf</title>
	<atom:link href="http://guzik.net.pl/blog/category/tech/rtr-fw/pf-rtr-fw-tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://guzik.net.pl/blog</link>
	<description>Mój blog</description>
	<lastBuildDate>Wed, 16 May 2012 20:15:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>OpenBSD: pf &#8211; zmiany</title>
		<link>http://guzik.net.pl/blog/2009/09/openbsd-pf-zmiany/</link>
		<comments>http://guzik.net.pl/blog/2009/09/openbsd-pf-zmiany/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 07:33:51 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[pf]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=985</guid>
		<description><![CDATA[1 września część społeczeństwa cofała się 70 lat w czasie, część paliła w toalecie z dawno nie widzianymi znajomymi, a Henning Brauer na grupie openbsd-misc opublikował informację na temat sporej zmiany w kodzie pf (3&#8217;000 linii różnic odchudza kod o 800 linii). Zmiana dotyczy składni translacji i przekierowania adresów &#8211; nie będę one osobnymi regułami, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.openbsd.org/"><img class="alignleft" title="http://www.openbsd.org/art/puffy/puf150X129.gif" src="http://www.openbsd.org/art/puffy/puf150X129.gif" alt="" width="150" height="129" /></a><a title="http://pl.wikipedia.org/wiki/1_wrze%C5%9Bnia" href="http://pl.wikipedia.org/wiki/1_wrze%C5%9Bnia">1 września</a> część społeczeństwa cofała się 70 lat w czasie, część paliła w toalecie z dawno nie widzianymi znajomymi, a Henning Brauer na grupie <a title="http://marc.info/?l=openbsd-misc&amp;r=1&amp;w=2" href="http://marc.info/?l=openbsd-misc&amp;r=1&amp;w=2">openbsd-misc</a> opublikował informację na temat sporej zmiany w kodzie <a title="http://cvs.openbsd.org/faq/pf/" href="http://cvs.openbsd.org/faq/pf/">pf</a> (3&#8217;000 linii różnic odchudza kod o 800 linii). Zmiana dotyczy składni translacji i przekierowania adresów &#8211; nie będę one osobnymi regułami, a akcjami na regułach <code>match</code> / <code>pass</code> / <code>block</code>. Więcej w oryginalnej wiadomości:</p>
<ul>
<li><a title="http://marc.info/?l=openbsd-misc&amp;m=125181847818600&amp;w=2" href="http://marc.info/?l=openbsd-misc&amp;m=125181847818600&amp;w=2">pf changes</a>,</li>
</ul>
<p>a także w dokumencie <a title="http://www.openbsd.org/faq/current.html#20090901" href="http://www.openbsd.org/faq/current.html#20090901">Following -current</a>, gdzie znajduje się również <a title="http://www.openbsd.org/faq/current.html#20090902" href="http://www.openbsd.org/faq/current.html#20090902">informacja z następnego dnia</a> o zmianie składni reguł z opcjami <code>route-to</code>, <code>reply-to</code>, <code>dup-to</code> and <code>fastroute</code>.</p>
<p>Osobiście uważam, że obie zmiany sprawią, że plik konfiguracyjny będzie bardziej czytelny. Zaczynam testowanie!</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2009/09/openbsd-pf-zmiany/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Nowa akcja w filtrze pakietów OpenBSD</title>
		<link>http://guzik.net.pl/blog/2009/08/nowa-akcja-w-filtrze-pakietow-openbsd/</link>
		<comments>http://guzik.net.pl/blog/2009/08/nowa-akcja-w-filtrze-pakietow-openbsd/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 05:51:07 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[pf]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=945</guid>
		<description><![CDATA[Wczoraj coś wspomniałem o nowej akcji match w pf, dziś nie mogę nie rozwinąć tematu. Tym bardziej, że nie znalazłem żadnych dodatkowych informacji ani na spryciarze.pl, ani na jaktosierobi.tv (a na tym drugim przejrzałem wszystkie filmy). Fakty, które znamy (-release): reguły przetwarzane są z góry do dołu (a w każdej linii od lewej do prawej), [...]]]></description>
			<content:encoded><![CDATA[<p><a title="http://guzik.net.pl/blog/2009/08/openbsd-pf-scrub-syntax-error/" href="http://guzik.net.pl/blog/2009/08/openbsd-pf-scrub-syntax-error/"></a><a href="http://www.openbsd.org/"><img class="alignright" title="Puffy" src="http://upload.wikimedia.org/wikipedia/en/4/4e/Paintedpuffy1000X907px.png" alt="" width="200" height="181" /></a>Wczoraj coś wspomniałem o nowej akcji <code>match</code> w <a title="http://openbsd.org/faq/pf/" href="http://openbsd.org/faq/pf/">pf</a>, dziś nie mogę nie rozwinąć tematu. Tym bardziej, że nie znalazłem żadnych dodatkowych informacji ani na <a title="http://www.spryciarze.pl/" href="http://www.spryciarze.pl/">spryciarze.pl</a>, ani na <a title="http://jaktosierobi.tv/" href="http://jaktosierobi.tv/">jaktosierobi.tv</a> (a na tym drugim przejrzałem wszystkie filmy).</p>
<p>Fakty, które znamy (<code>-release</code>):</p>
<ul>
<li>reguły przetwarzane są z góry do dołu (a w każdej linii od lewej do prawej),</li>
<li>ostatnia pasująca reguła wygrywa,</li>
<li>wyjątkiem jest słowo kluczowe <code>quick</code>.</li>
</ul>
<p>Powyższe oznacza, że każdy pakiet przejdzie po kolei pełny zestaw reguł. Co w przypadku, gdy logujemy (<code>log</code>)? Niejako jest to powiązane z akcją, więc pakiet zalogowany będzie tylko raz. Poniżej przykład:</p>
<blockquote><p><code>block <strong>log</strong> all<br />
pass in <strong>log</strong> on $int_if inet proto tcp from any to ($int_if) port ssh flags S/SA modulate state</code></p></blockquote>
<p><a title="http://www.tcpdump.org/" href="http://www.tcpdump.org/">tcpdump</a> pokaże nam:</p>
<blockquote><p><code>07:30:44.227293 rule 3/(match) pass in on xl0: 192.168.1.131.61392 &gt; 192.168.1.64.22: S 738501558:738501558(0) win 8192 &lt;mss 1460,nop,wscale 2,nop,nop,sackOK&gt; (DF)</code></p></blockquote>
<p>Nowa akcja <code>match</code> (<code>-current</code>) po prostu dopasowuje pakiet i może go zalogować lub oznakować (<code>tag</code>), ale nie zrobi z nim nic więcej (nie zaakceptuje i nie odrzuci). Zmieniony zestaw reguł:</p>
<blockquote><p><code>block log all<br />
match in log on $int_if inet proto tcp from any to ($int_if) port ssh<br />
pass in log on $int_if inet proto tcp from any to ($int_if) port ssh flags S/SA modulate state</code></p></blockquote>
<p>da następujące wyniki:</p>
<blockquote><p><code>07:36:55.505154 rule 4/(match) <strong>pass</strong> in on xl0: 192.168.1.131.61403 &gt; 192.168.1.64.22: S <strong>3714164883</strong>:3714164883(0) win 8192  (DF)<br />
07:36:55.505168 rule 3/(match) <strong>match</strong> in on xl0: 192.168.1.131.61403 &gt; 192.168.1.64.22: S <strong>3714164883</strong>:3714164883(0) win 8192  (DF)</code></p></blockquote>
<p>Czyli jeden pakiet (patrz numer sekwencyjny) dwukrotnie zalogowany. Co ważne &#8211; w logach pierw mamy <code>pass</code>, a potem <code>match</code> (niezależnie jak reguły ułożymy).</p>
<p>Przydatne? Myślę, że tak. Wracamy do <a title="http://en.wikipedia.org/wiki/Netflow" href="http://en.wikipedia.org/wiki/Netflow">NetFlow</a> (oczywiście z <a title="http://fishbase.org/Summary/FamilySummary.cfm?ID=449" href="http://fishbase.org/Summary/FamilySummary.cfm?ID=449">najeżkowatą</a> w tle &#8211; pamiętać należy, że w Polsce nie wolno wprowadzać ich do obrotu).</p>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2009/08/nowa-akcja-w-filtrze-pakietow-openbsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenBSD: pf: scrub: syntax error</title>
		<link>http://guzik.net.pl/blog/2009/08/openbsd-pf-scrub-syntax-error/</link>
		<comments>http://guzik.net.pl/blog/2009/08/openbsd-pf-scrub-syntax-error/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 13:02:05 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[pf]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=938</guid>
		<description><![CDATA[peeper ~ # pfctl -nf /etc/pf.conf /etc/pf.conf:7: syntax error peeper ~ # head -n 7 /etc/pf.conf &#124;tail -n 1 scrub in all peeper ~ # uname -a OpenBSD peeper.mbs.dmz 4.6 GENERIC#0 i386 Kto podąża za -current, powinien czytać też o zmianach. Czyli: używamy scrub w konkretnych regułach, mamy nową akcję match, która dopasowuje każdy pakiet [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><code>peeper ~ # pfctl -nf /etc/pf.conf<br />
/etc/pf.conf:7: syntax error<br />
peeper ~ # head -n 7 /etc/pf.conf |tail -n 1<br />
scrub in all<br />
peeper ~ # uname -a<br />
OpenBSD peeper.mbs.dmz 4.6 GENERIC#0 i386</code></p></blockquote>
<p><a href="http://www.openbsd.org/"><img class="alignleft" title="OpenBSD logo" src="http://upload.wikimedia.org/wikipedia/commons/e/ef/Puflogv1000X650.gif" alt="" width="200" height="130" /></a>Kto podąża za <code>-current</code>, powinien czytać też o <a title="http://www.openbsd.org/faq/current.html" href="http://www.openbsd.org/faq/current.html">zmianach</a>. Czyli:</p>
<ul>
<li><a title="http://www.openbsd.org/faq/current.html#20090406" href="http://www.openbsd.org/faq/current.html#20090406">używamy <code>scrub</code> w konkretnych regułach</a>,</li>
<li>mamy nową akcję <code>match</code>, która dopasowuje każdy pakiet nie reagując na niego (ani <code>pass</code> ani <code>block</code>; przydatne przy logowaniu, normalizowaniu, znakowaniu i co kto jeszcze sobie wymyśli),</li>
<li><a title="http://www.openbsd.org/faq/current.html#20090407" href="http://www.openbsd.org/faq/current.html#20090407"><code>fragment reassembly</code> domyślnie włączone</a> (próba ustawienia wyrzuci nam błędy),</li>
<li>no i najważniejsze &#8211; <a title="http://www.openbsd.org/faq/current.html#20090531" href="http://www.openbsd.org/faq/current.html#20090531">pf jest domyślnie włączony</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2009/08/openbsd-pf-scrub-syntax-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenBSD : pf : route-to</title>
		<link>http://guzik.net.pl/blog/2008/11/openbsd-pf-route-to/</link>
		<comments>http://guzik.net.pl/blog/2008/11/openbsd-pf-route-to/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 06:20:17 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[pf]]></category>
		<category><![CDATA[route-to]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=358</guid>
		<description><![CDATA[Nie zawsze o tym pamiętam, inni może też, więc tutaj takie krótkie info odnośnie route-to. Ważne jest, że przy używaniu tej opcji pakiety zawsze są &#8216;pchane&#8217; do granicznego routera. Połączenia z sąsiadami (:network) mogą nam w takiej sytuacji nie wyjść. W takim wypadku potrzebna będzie kolejna reguła tylko dla tych połączeń. Przy okazji pomocne mogą [...]]]></description>
			<content:encoded><![CDATA[<p>Nie zawsze o tym pamiętam, inni może też, więc tutaj takie krótkie info odnośnie <code>route-to</code>. Ważne jest, że przy używaniu tej opcji pakiety <span style="text-decoration: underline;">zawsze</span> są &#8216;pchane&#8217; do granicznego routera. Połączenia z sąsiadami (<code>:network</code>) mogą nam w takiej sytuacji nie wyjść. W takim wypadku potrzebna będzie kolejna reguła tylko dla tych połączeń.<br />
Przy okazji pomocne mogą być wyrażenia dodawane do interfejsów sieciowych:</p>
<ul>
<li><code>:network</code> &#8211; określa sieć, do której należy interfejs,</li>
<li><code>:broadcast</code> &#8211; adres rozgłoszeniowy podsieci,</li>
<li><code>:peer</code> &#8211; adres IP po drugiej stronie połączenia <code>point-to-point</code>,</li>
<li><code>:0</code> &#8211; adres IP interfejsu (nie alias).</li>
</ul>
<p>Polecam cały <a title="http://www.openbsd.org/faq/pf/pl/index.html" href="http://www.openbsd.org/faq/pf/pl/index.html">podręcznik do pf</a>, a w szczególności (uszczegóławiając powyższe :&gt;):</p>
<ul>
<li><a title="http://www.openbsd.org/faq/pf/pl/nat.html#config" href="http://www.openbsd.org/faq/pf/pl/nat.html#config">Translacje adresów (NAT): Konfiguracja NAT</a></li>
<li><a title="http://www.openbsd.org/faq/pf/pl/pools.html#outgoing" href="http://www.openbsd.org/faq/pf/pl/pools.html#outgoing">Pule adresów i kierowanie ruchem: Równoważenie obciążenia ruchu wychodzącego</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2008/11/openbsd-pf-route-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenBSD: pf: per-rule statistics</title>
		<link>http://guzik.net.pl/blog/2008/07/openbsd-pf-per-rule-statistics/</link>
		<comments>http://guzik.net.pl/blog/2008/07/openbsd-pf-per-rule-statistics/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 12:04:21 +0000</pubDate>
		<dc:creator>guzik</dc:creator>
				<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[pf]]></category>

		<guid isPermaLink="false">http://guzik.net.pl/blog/?p=41</guid>
		<description><![CDATA[$ man 8 pfctl -s modifier Show the filter parameters specified by modifier (may be abbrevi- ated): -s labels      Show per-rule statistics (label, evaluations, packets total, bytes total, packets in, bytes in, packets out, bytes out) of filter rules with la- bels, useful for accounting. -z      Clear per-rule statistics. pf w OpenBSD może gromadzić statystyki [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>$ man 8 pfctl<br />
-s modifier<br />
Show the filter parameters specified by modifier (may be abbrevi-<br />
ated):<br />
-s labels      Show per-rule statistics (label, evaluations,<br />
packets total, bytes total, packets in, bytes in,<br />
packets out, bytes out) of filter rules with la-<br />
bels, useful for accounting.<br />
-z      Clear per-rule statistics.</p></blockquote>
<p><a title="http://cvs.openbsd.org/faq/pf/" href="http://cvs.openbsd.org/faq/pf/">pf</a> w <a title="http://openbsd.org/" href="http://openbsd.org/">OpenBSD</a> może gromadzić statystyki dla każdej reguły z osobna. Możliwe to jest po dodaniu słowa kluczowego <em>label</em> i nazwy do reguły. Np.</p>
<blockquote><p>pass in log on $int_if inet proto tcp from any to &lt;web_hosts&gt; flags S/SA modulate state <strong>label web_hosts</strong></p></blockquote>
<p>Statystyki wyświetlić możemy za pomocą <a title="http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&amp;sektion=8&amp;manpath=OpenBSD+4.2" href="http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&amp;sektion=8&amp;manpath=OpenBSD+4.2"><em>pfctl</em></a> (stosowny wycinek z podręcznika u samej góry). Wyniki pokazują: nazwę etykiety, ilość ewaluacji danej reguły (ile razy pakiet był do niej dopasowywany), ogólną ilość pakietów, ogólną ilość bajtów pakiety i bajty przychodzące oraz wychodzące (we wcześniejszej wersji tylko liczba dopasowań, pakietów oraz bajtów). Poniżej przykład:</p>
<blockquote><p># pfctl -s labels<br />
web_hosts 127242 3955855 3814318564 1422110 83633676 2533745 3730684888</p></blockquote>
<p>Uwaga! Czasami wynik może być zdublowany:</p>
<blockquote><p># pfctl -s labels<br />
klnt001 127242 3955855 3814318564 1422110 83633676 2533745 3730684888<br />
klnt001 63327 0 0 0 0 0 0</p></blockquote>
<p>Dzieje się tak, gdy w etykietowanej regule używamy <a title="http://openbsd.org/faq/pf/macros.html#lists" href="http://openbsd.org/faq/pf/macros.html#lists">list</a> (nawiasów klamrowych)<a title="http://openbsd.org/faq/pf/macros.html#macros" href="http://openbsd.org/faq/pf/macros.html#macros"></a>. Każda reguła (z listą) rozwiązywana jest na dwie lub więcej osobnych reguł, ale nazwa etykiety pozostaje taka sama. Stąd sugestia, by rozdzielić reguły już przy definicji &#8211; pozwoli to &#8216;połapać&#8217; się w statystykach.</p>
<p>Do poczytania (oprócz wspomnianych FAQ i podręcznika):</p>
<ul>
<li><a title="http://books.google.com/books?id=wuUuTXMkNx8C" href="http://books.google.com/books?id=wuUuTXMkNx8C"> Absolute OpenBSD: Unix for the Practical Paranoid By Michael Lucas</a></li>
<li><a title="http://helion.pl/ksiazki/opfire.htm" href="http://helion.pl/ksiazki/opfire.htm"> OpenBSD. Tworzenie firewalli za pomocą PF Autor: Jacek Artymiak</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://guzik.net.pl/blog/2008/07/openbsd-pf-per-rule-statistics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

