<?xml version="1.0" encoding="ISO-8859-2"?>
<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>Tomasz Wendlandt &#187; Linux</title>
	<atom:link href="http://wendlandt.pl/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://wendlandt.pl</link>
	<description>Tech blog</description>
	<lastBuildDate>Mon, 10 Jan 2011 12:49:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Transparent spreading of incoming network traffic load across CPUs</title>
		<link>http://wendlandt.pl/transparent-spreading-of-incoming-network-traffic-load-across-cpus/</link>
		<comments>http://wendlandt.pl/transparent-spreading-of-incoming-network-traffic-load-across-cpus/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 17:03:02 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/?p=491</guid>
		<description><![CDATA[Ciekawy ficzer w kernelu 2.6.35. Network cards have improved the bandwidth to the point where it&#8217;s hard for a single modern CPU to keep up. Two new features contributed by Google aim to spread the load of network handling across the CPUs available in the system: Receive Packet Steering (RPS) and Receive Flow Steering (RFS). [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://wendlandt.pl/wp-includes/images/tux_linux_inside.png" alt="Tux" />Ciekawy ficzer w kernelu 2.6.35. </p>
<p><em>Network cards have improved the bandwidth to the point where it&#8217;s hard for a single modern CPU to keep up. Two new features contributed by Google aim to spread the load of network handling across the CPUs available in the system: Receive Packet Steering (RPS) and Receive Flow Steering (RFS).</p>
<p>RPS distributes the load of received packet processing across multiple CPUs. This solution allows protocol processing (e.g. IP and TCP) to be performed on packets in parallel (contrary to the previous code). For each device (or each receive queue in a multi-queue device) a hashing of the packet header is used to index into a mask of CPUs (which can be configured manually in /sys/class/net/<device>/queues/rx-<n>/rps_cpus) and decide which CPU will be used to process a packet. But there&#8217;re also some heuristics provided by the RFS side of this feature. Instead of randomly choosing the CPU from a hash, RFS tries to use the CPU where the application running the recvmsg() syscall is running or has run in the past, to improve cache utilization. Hardware hashing is used if available. This feature effectively emulates what a multi-queue NIC can provide, but instead it is implement in software and for all kind of network hardware, including single queue cards and not excluding multiqueue cards.</p>
<p>Benchmarks of 500 instances of netperf TCP_RR test with 1 byte request and response show the potential benefit of this feature, a e1000e network card on 8 core Intel server goes from 104K tps at 30% CPU usage, to 303K tps at 61% CPU usage when using RPS+RFS. A RPC test which is similar in structure to the netperf RR test with 100 threads on each host, but doing more work in userspace that netperf, goes from 103K tps at 48% of CPU utilization to 223K at 73% CPU utilization and much lower latency. </n></device></em></p>
<p>Więcej o RPS i RFS:<br />
<a href="http://lwn.net/Articles/362339/">http://lwn.net/Articles/362339/</a><br />
<a href="http://lwn.net/Articles/362339/">http://lwn.net/Articles/362339/</a><br />
<a href="http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.35">http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.35</a></p>
<p><a href="http://kernelnewbies.org/Linux_2_6_35#head-94daf753b96280181e79a71ca4bb7f7a423e302a">Źródło</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/transparent-spreading-of-incoming-network-traffic-load-across-cpus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HAProxy and MySQL health check</title>
		<link>http://wendlandt.pl/haproxy-and-mysql-health-check/</link>
		<comments>http://wendlandt.pl/haproxy-and-mysql-health-check/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 15:23:57 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/?p=333</guid>
		<description><![CDATA[Prawie miesiąc temu opublikowano stabilną wersję HAProxy 1.4 . W nowej wersji dodano bardzo przydatny check do MySQLa (option mysql-check). W końcu HAProxy potrafi monitorować stan bazy bez customizowanych skryptów czy innych wynalazków. listen mysql 0.0.0.0:3306 mode tcp option mysql-check balance roundrobin server mysql_server_1 1.1.1.1:3306 check port 3306]]></description>
			<content:encoded><![CDATA[<p>Prawie miesiąc temu opublikowano stabilną wersję <a href="http://haproxy.1wt.eu/download/1.4/doc/configuration.txt">HAProxy 1.4</a> . W nowej wersji dodano bardzo przydatny check do MySQLa (<strong>option mysql-check</strong>). W końcu HAProxy potrafi monitorować stan bazy bez customizowanych skryptów czy innych wynalazków. </p>
<p><pre><code>listen mysql 0.0.0.0:3306
mode tcp
option mysql-check
balance roundrobin
server mysql_server_1 1.1.1.1:3306 check port 3306</code></pre></p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/haproxy-and-mysql-health-check/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux 2.6.32 Kernel Samepage Merging and Virtualization</title>
		<link>http://wendlandt.pl/linux-2-6-32-kernel-samepage-merging-and-virtualization/</link>
		<comments>http://wendlandt.pl/linux-2-6-32-kernel-samepage-merging-and-virtualization/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 08:23:44 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/?p=246</guid>
		<description><![CDATA[W niedawno wydanym Kernelu 2.6.32 dodano ciekawy ficzer z punktu widzenia wirtualizacji &#8211; Kernel Samepage Merging, wcześniej znany jako Kernel Shared Memory. Specjalny daemon kernel, ksmd skanuje pamięć w poszukiwaniu takich samych stron, które można zastąpić pojedyńczym wpisem. Jak podaje http://kernelnewbies.org przyczynia się to do bardzo dużego obniżenia zużycia pamięci w środowiskach wirtualizowanych. Modern operative [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://wendlandt.pl/wp-includes/images/tux6.png" alt="" />W niedawno wydanym Kernelu 2.6.32 dodano ciekawy ficzer z punktu widzenia wirtualizacji &#8211; <a href="http://kernelnewbies.org/Linux_2_6_32#head-d3f32e41df508090810388a57efce73f52660ccb">Kernel Samepage Merging</a>, wcześniej znany jako Kernel Shared Memory. Specjalny daemon kernel, <strong>ksmd</strong> skanuje pamięć w poszukiwaniu takich samych stron, które można zastąpić pojedyńczym wpisem. Jak podaje <a href="http://kernelnewbies.org">http://kernelnewbies.org</a> przyczynia się to do bardzo dużego obniżenia zużycia pamięci w środowiskach wirtualizowanych.</p>
<p><em>Modern operative systems already use memory sharing extensively, for example forked processes share initially with its parent all the memory, there are shared libraries, etc. Virtualization however can&#8217;t benefit easily from memory sharing. Even when all the VMs are running the same OS with the same kernel and libraries the host kernel can&#8217;t know that a lot of those pages are identical and can be shared. KSM allows to share those pages. The KSM kernel daemon, ksmd, periodically scans areas of user memory, looking for pages of identical content which can be replaced by a single write-protected page (which is automatically COW&#8217;ed if a process wants to update it). Not all the memory is scanned, the areas to look for candidates for merging are specified by userspace apps using madvise(2): madvise(addr, length, MADV_MERGEABLE).</p>
<p>The result is a dramatic decrease in memory usage in virtualization environments. In a virtualization server, Red Hat found that thanks to KSM, KVM can run as many as 52 Windows XP VMs with 1 GB of RAM each on a server with just 16 GB of RAM. Because KSM works transparently to userspace apps, it can be adopted very easily, and provides huge memory savings for free to current production systems. It was originally developed for use with KVM, but it can be also used with any other virtualization system &#8211; or even in non virtualization workloads, for example applications that for some reason have several processes using lots of memory that could be shared. </em></p>
<p><a href="http://lwn.net/Articles/306704/">http://lwn.net/Articles/306704/</a><br />
<a href="http://lwn.net/Articles/330589/">http://lwn.net/Articles/330589/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/linux-2-6-32-kernel-samepage-merging-and-virtualization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Local DoS on Linux 2.6.27.4</title>
		<link>http://wendlandt.pl/local-dos-on-linux-26275/</link>
		<comments>http://wendlandt.pl/local-dos-on-linux-26275/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 09:13:08 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/local-dos-on-linux-26275/</guid>
		<description><![CDATA[Ostatnio pisałem o kernelu 2.6.27. Okazuje się, że od paru dni krąży exploit pozwalający na lokalny atak denial of service na wersje starsze niż 2.6.27.5 . The __scm_destroy function in net/core/scm.c in the Linux kernel 2.6.27.4, 2.6.26, and earlier makes indirect recursive calls to itself through calls to the fput function, which allows local users [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://wendlandt.pl/wp-includes/images/tux4.png" alt="Tux" />Ostatnio <a href="http://wendlandt.pl/page-cache-on-linux-2627">pisałem</a> o kernelu 2.6.27. Okazuje się, że od paru dni krąży exploit pozwalający na lokalny atak denial of service na wersje starsze niż 2.6.27.5 .</p>
<p><em>The __scm_destroy function in net/core/scm.c in the Linux kernel 2.6.27.4, 2.6.26, and earlier makes indirect recursive calls to itself through calls to the fput function, which allows local users to cause a denial of service (panic) via vectors related to sending an SCM_RIGHTS message through a UNIX domain socket and closing file descriptors.</em></p>
<p><a href="http://en.securitylab.ru/nvd/362744.php">Źródło</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/local-dos-on-linux-26275/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>page cache on Linux 2.6.27</title>
		<link>http://wendlandt.pl/page-cache-on-linux-2627/</link>
		<comments>http://wendlandt.pl/page-cache-on-linux-2627/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 22:57:36 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/page-cache-on-linux-2627/</guid>
		<description><![CDATA[Miesiąc temu wydano kernel 2.6.27, m.in. usprawniono w nim obsługę page cache&#8217;u dla systemów wieloprocesorowych. Ciekawe jak bardzo nowa funkcja get_user_pages_fast() potrafi poprawić wydajność systemu, może ktoś już to testował? The page cache is the place where the kernel keeps in RAM a copy of a file to improve performance by avoiding disk I/O when [...]]]></description>
			<content:encoded><![CDATA[<p>Miesiąc temu wydano <a href="http://kernel.org/">kernel</a> 2.6.27, m.in. usprawniono w nim obsługę page cache&#8217;u dla systemów wieloprocesorowych. Ciekawe jak bardzo nowa funkcja <em>get_user_pages_fast()</em> potrafi poprawić wydajność systemu, może ktoś już to testował?</p>
<p><em>The page cache is the place where the kernel keeps in RAM a copy of a file to improve performance by avoiding disk I/O when the data that needs to be read is already on RAM. Each &#8220;mapping&#8221;, which is the data structure that keeps track of the correspondence between a file and the page cache, is SMP-safe thanks to its own lock. So when different processes in different CPUs access different files, there&#8217;s no lock contention, but if they access the same file (shared libraries or shared data files for example), they can hit some contention on that lock. In 2.6.27, thanks to some rules on how the page cache can be used and the usage of RCU, the page cache will be able to do lookups (ie., &#8220;read&#8221; the page cache) without needing to take the mapping lock, and hence improving scalability. But it will only be noticeable on systems with lots of cpus (page fault speedup of 250x on a 64 way system have been measured).</p>
<p>In 2.6.27, a new get_user_pages_fast() function has been introduced, which does the same work that get_user_pages() does, but its simplified to speed up the most common workloads that exercise those paths within the same address space. This new function can avoid taking the mmap_sem semaphore and the page table locks in those cases. Benchmarks showed a 10% speedup running a OLTP workload with a IBM DB2 database in a quad-core system.</em></p>
<p><a href="http://kernelnewbies.org/Linux_2_6_27">Źródło</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/page-cache-on-linux-2627/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nautilus</title>
		<link>http://wendlandt.pl/nautilus/</link>
		<comments>http://wendlandt.pl/nautilus/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 16:46:56 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/nautilus/</guid>
		<description><![CDATA[Kilka przydatnych skryptów do Nautilus&#8217;a. 1) ściągamy 2) wypakowujemy 3) wrzucamy do ~/.gnome2/nautilus-scripts 4) i już]]></description>
			<content:encoded><![CDATA[<p>Kilka przydatnych <a href="http://g-scripts.sourceforge.net/nautilus-scripts.tar.gz">skryptów</a> do Nautilus&#8217;a.</p>
<p>1) ściągamy<br />
2) wypakowujemy<br />
3) wrzucamy do <strong>~/.gnome2/nautilus-scripts</strong><br />
4) i już</p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/nautilus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco VPN Client + Linux</title>
		<link>http://wendlandt.pl/cisco-vpn-client-linux/</link>
		<comments>http://wendlandt.pl/cisco-vpn-client-linux/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 18:51:17 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/cisco-vpn-client-linux/</guid>
		<description><![CDATA[Jeżeli ktoś z Was chciałby skompilować natywnego Cisco VPN Client&#8217;a na Linuksie >= 2.6.19 i miał z tym problemy to polecam stronkę http://tuxx-home.at/archives/2007/05/29/T16_34_26/, gdzie znajduje się patch na kernel. Po jego nałożeniu problem z kompilacją znika.]]></description>
			<content:encoded><![CDATA[<p>Jeżeli ktoś z Was chciałby skompilować natywnego Cisco VPN Client&#8217;a na Linuksie >= 2.6.19 i miał z tym problemy to polecam stronkę <a title="http://tuxx-home.at/archives/2007/05/29/T16_34_26/" href="http://tuxx-home.at/archives/2007/05/29/T16_34_26/">http://tuxx-home.at/archives/2007/05/29/T16_34_26/</a>, gdzie znajduje się patch na kernel. Po jego nałożeniu problem z kompilacją znika.</p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/cisco-vpn-client-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wyłączanie Linuksa</title>
		<link>http://wendlandt.pl/wylaczanie-linuksa/</link>
		<comments>http://wendlandt.pl/wylaczanie-linuksa/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 18:33:26 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/wyczanie-linuksa/</guid>
		<description><![CDATA[Zauważyłem, że wiele osób nie korzysta jeszcze z dobrodziejstwa jakie daje ACPI (Advanced Configuration and Power Interface). Jeżeli posiadamy komputer z obecnej epoki;) (czyt. z płytą ATX) możemy wyłączać naszego Linuksa za pomocą przycisku Power na obudowie, zamiast wpisywać z shella poweroff. Co będzie potrzebne nam do tego rozwiązania? 1) Przede wszystkim wkompilowana obsługa ACPI [...]]]></description>
			<content:encoded><![CDATA[<p>Zauważyłem, że wiele osób nie korzysta jeszcze z dobrodziejstwa jakie daje ACPI (Advanced Configuration and Power Interface). Jeżeli posiadamy komputer z obecnej epoki;) (czyt. z płytą ATX) możemy wyłączać naszego Linuksa za pomocą  przycisku Power na obudowie, zamiast wpisywać z shella <em>poweroff</em>. Co będzie potrzebne nam do tego rozwiązania?</p>
<p>1) Przede wszystkim wkompilowana obsługa ACPI w kernelu (jeżeli jeszcze tego nie masz).</p>
<blockquote><p>Power management options (ACPI, APM)  &#8212;><br />
ACPI (Advanced Configuration and Power Interface) Support  &#8212;><br />
[*] ACPI Support<br />
< M > Button</p></blockquote>
<p>2) Oraz daemon <em>acpid</em> (<a title="Ubuntu" href="http://ubuntu.com">Ubuntu</a> way;))</p>
<blockquote><p># apt-get install acpid</p></blockquote>
<p>Po reboocie z nowy kernelem upewnijmy się czy wszystko gra:</p>
<blockquote><p># dmesg | grep Button<br />
ACPI: Power Button (FF) [PWRF]<br />
ACPI: Sleep Button (FF) [SLPF]<br />
ACPI: Power Button (CM) [PWRB]</p></blockquote>
<p>Jeżeli otrzymamy komunikat podobny do powyższego to znaczy, że mamy już wkompilowaną obsługę ACPI. I to właściwie tyle, to wszystko co jest nam potrzebne. Teraz po naciśnięciu guzika &#8216;Power&#8217; na obudowie Linux zatrzyma wszystkie daemony i na końcu wyłączy serwer. Całe rozwiązanie obsługiwane jest przez daemona acpid, który nasłuchuje w <em>/proc/acpi/event</em>, czy nie nastąpiło zdarzenie obsługiwane przez ACPI, jak np. nacisnięcie &#8216;Power&#8217; na obudowie. Jeżeli coś takiego nastąpi, wówczas acpid wykonuje wcześniej zdefinowaną akcję w <em>/etc/acpi/events</em> i uruchamia w userspace&#8217;ie dowolne polecenie, np. <em>poweroff</em> lub <em>shutdown -h now</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/wylaczanie-linuksa/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>port knocking</title>
		<link>http://wendlandt.pl/port-knocking/</link>
		<comments>http://wendlandt.pl/port-knocking/#comments</comments>
		<pubDate>Sun, 24 Sep 2006 21:30:37 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/?p=17</guid>
		<description><![CDATA[Bardzo ciekawą rzeczą, nieznaną jeszcze przez wiele osób jest technika port knockingu. Umożliwia ona, za sprawą wysłanej sekwencji pakietów (puknięć) do hosta, zdalne wykonanie wcześniej zdefiniowanego polecenia na wspomnianym hoscie, bez logowania się na niego. Niby nic nadzwyczajnego, ale ciekawą sprawą jest możliwość zdefiniowania sekwencji puknięć, które np. uruchamiają jakąś usługę, bez konieczności otwierania portów, [...]]]></description>
			<content:encoded><![CDATA[<p>Bardzo ciekawą rzeczą, nieznaną jeszcze przez wiele osób jest technika port knockingu. Umożliwia ona, za sprawą wysłanej sekwencji pakietów (puknięć) do hosta, zdalne wykonanie wcześniej zdefiniowanego polecenia na wspomnianym hoscie, bez logowania się na niego. Niby nic nadzwyczajnego, ale ciekawą sprawą jest możliwość zdefiniowania sekwencji puknięć, które np. uruchamiają jakąś usługę, bez konieczności otwierania portów, na które przychodzi puknięcie.</p>
<p>Klasycznym zastosowaniem tego rozwiązania jest udostępnianie ssh na serwerze, wyłącznie gdy zachodzi taka potrzeba. Istnieje przynajmniej kilka implementacji tej techniki. Ja proponuję na początek projekt <a title="http://www.zeroflux.org/knock" href="http://www.zeroflux.org/knock">knock</a>. Po zainstalowaniu demona knockd, w <a title="http://www.ubuntu.com/" href="http://www.ubuntu.com/">Ubuntu</a> robimy to przez zwykłe</p>
<blockquote><p># apt-get install knockd</p></blockquote>
<p>przechodzimy do jego konfiguracji.</p>
<blockquote><p>logfile = syslog</p></blockquote>
<p>logfile, chyba nie wymaga komentarza, ustawienie tego parametru na syslog spowoduje, że demon będzie pisać do sysloga.</p>
<blockquote><p>sequence    = 7000,8000,9000</p></blockquote>
<p>sequence, to sekwencja, określająca porty, na które mają zostać wysłane puknięcia. Można też podać typ pakietów TCP i/lub UDP.</p>
<blockquote><p>seq_timeout = 5</p></blockquote>
<p>seq_timeout, czas w sekundach, w jakim musi zmieścić się sekwencja pukania.</p>
<blockquote><p>command = /sbin/iptables -A INPUT -s %IP% -p tcp &#8211;dport 22 -j ACCEPT</p></blockquote>
<p>command,  polecenie  systemowe jakie ma zostać wykonane</p>
<blockquote><p>tcpflags    = syn</p></blockquote>
<p>tcpflags, knockd ma zwracać uwagę tylko na pakiety, z flagą podaną w tym parametrze.</p>
<p>Ostatecznie plik konfiguracyjny wygląda następująco</p>
<blockquote><p># cat /etc/knockd.conf<br />
[options]<br />
logfile = /var/log/knockd.log<br />
[openSSH]<br />
sequence    = 7000,8000,9000<br />
seq_timeout = 5<br />
command     = /sbin/iptables -A INPUT -s %IP% -p tcp &#8211;dport 22 -j ACCEPT<br />
tcpflags    = syn<br />
[closeSSH]<br />
sequence    = 9000,8000,7000<br />
seq_timeout = 5<br />
command     = /sbin/iptables -D INPUT -s %IP% -p tcp &#8211;dport 22 -j ACCEPT<br />
tcpflags    = syn</p></blockquote>
<p>gdzie %IP% to IP maszyny, która wykonuje pukanie. W ten sposób wysyłając sekwencję pakietów tcp z ustawiona flagą syn na porty 7000,8000,9000 otworzymy dla siebie furtkę w firewallu na port 22, a zamkniemy ją wysyłając sekwencję pakietów na porty 9000,8000,7000. Do wysyłania sekwencji puknięć możemy wykorzystać np. <a title="http://www.earth.li/projectpurple/progs/sendip.html" href="http://www.earth.li/projectpurple/progs/sendip.html">SendIP</a>, klienta knock lub dla Windowsa <a href="http://sourceforge.net/projects/knockknock/">knockknock</a>.</p>
<p>Polecam też stronę o port knockingu <a title="http://portknocking.org/" href="http://portknocking.org/">http://portknocking.org/</a>. Nie twierdzę, że port knocking wpływa rewelacyjnie na poprawę bezpieczeństwa, jest jednak interesującą techniką, której warto się przyjrzeć.</p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/port-knocking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux distros</title>
		<link>http://wendlandt.pl/linux-distros/</link>
		<comments>http://wendlandt.pl/linux-distros/#comments</comments>
		<pubDate>Sun, 17 Sep 2006 23:16:41 +0000</pubDate>
		<dc:creator>juggler</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://wendlandt.pl/?p=16</guid>
		<description><![CDATA[Przeglądając www trafiłem na dwa mini projekty, które wizualizują historię powstawania dystrybucji Linuksa. Zamieszczam link do pierwszego jak i drugiego projektu.]]></description>
			<content:encoded><![CDATA[<p>Przeglądając www trafiłem na dwa mini projekty, które wizualizują historię powstawania dystrybucji Linuksa. Zamieszczam link do <a href="http://www.kde-files.org/content/show.php?content=38440">pierwszego</a> jak i <a href="http://www.kde-files.org/content/show.php?content=44218">drugiego</a> projektu.</p>
]]></content:encoded>
			<wfw:commentRss>http://wendlandt.pl/linux-distros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

