<?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>Projekt V-Smart</title>
	<atom:link href="http://www.v-smart.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.v-smart.pl</link>
	<description>Zaplecze linuxowe do systemu LMS</description>
	<lastBuildDate>Wed, 24 Sep 2014 14:33:37 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>Linux Router Debian, podział pasma HTB, LMS, Load-Balancing, PPPoE, PPtP w 10min</title>
		<link>http://www.v-smart.pl/routery-linuxowe/htb-linux-router-dhcp-podzial-pasma-lms-faktury/</link>
		<comments>http://www.v-smart.pl/routery-linuxowe/htb-linux-router-dhcp-podzial-pasma-lms-faktury/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 15:31:18 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Routery linuxowe]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[IProute]]></category>
		<category><![CDATA[Iptables]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LMS]]></category>
		<category><![CDATA[PPPoE]]></category>
		<category><![CDATA[PPtP (vpn)]]></category>
		<category><![CDATA[Router]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=120</guid>
		<description><![CDATA[Z doświadczenia wiemy, że każdy admin jest leniwy (ja też). Skoro już ruszył szanowne 4 literki w celu znalezienia czegoś u wuja Googla to chce osiągnąć swój super-cel szybko i najlepiej kilkoma klikami. A proszę bardzo. Instalacja nie jest skomplikowana. Uważam, że jeśli nigdy nie zajmowałeś / zajmowałaś się linuxami a masz jakikolwiek blade pojęcie [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Z doświadczenia wiemy, że każdy admin jest leniwy (ja też). Skoro już ruszył szanowne 4 literki w celu znalezienia czegoś u wuja Googla to chce osiągnąć swój super-cel szybko i najlepiej kilkoma klikami. A proszę bardzo. Instalacja nie jest skomplikowana. Uważam, że jeśli nigdy nie zajmowałeś / zajmowałaś się linuxami a masz jakikolwiek blade pojęcie o działaniu sieci komputerowych to poradzisz sobie z instalacją tego wszystkiego.<span style="color: #ff0000;"><br style="color: #ff0000;" /></span></p>
<p><span style="color: #ff0000;"> Aktualizacja paczek: 26.05.2012 (dzień Matki :D) <span style="color: #000000;">- <a href="http://www.v-smart.pl/routery-linuxowe/lms-router-lista-zmian/">zobacz listę zmian (kliknij)</a></span></span><span id="more-120"></span></p>
<p>Jeśli szukasz odpowiedzi na jakieś pytanie to <a href="http://www.v-smart.pl/routery-linuxowe/lms-router-pytania-i-odpowiedzi-czyli-faq/">zajrzyj do FAQ (kliknij)</a> lub na <a href="http://forum.v-smart.pl">forum dyskusyjne (kliknij)</a> zanim mi je zadasz <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Jeśli chcesz przejść dalej musisz najpierw wbić sobie do głowy, że potrafisz:</p>
<ul>
<li>zainstalować Debiana 6 (squeeze) w wersji netinstall</li>
<li>sprawdzić czy adres IP, który masz umożliwi Ci dostęp do Internetu</li>
<li>czytać i postępować tak jak  jest tu napisane :]</li>
</ul>
<p><strong><span style="text-decoration: underline;">KROK 1 - Ala ma komputer</span></strong></p>
<p>Wymagania co do komputera są proste. Po pierwsze musi mieć twardy dysk, CD-ROM, koło 256MB RAM oraz działać po włączeniu zasilania oraz musi umieć zbootować się z płytki CD. Upewnij się, że posiadasz zamontowane dwie karty sieciowe. Jeśli masz sieć powyżej 50 użytkowników - zainteresuj się komputerem z 2 corami oraz przynajmniej 1 GB ramu.</p>
<p><span style="text-decoration: underline;"><strong>KROK 2 - Komputer ma linuxa</strong></span></p>
<p>Na początku przygotuj sobie adresację IP (adres, maska, brama, dns), na której będziesz miał dostęp do Internetu. Zainstaluj Debiana 6 (Squeeze) w wersji <a href="http://download.v-smart.pl/iso/debian-6.0.0-amd64-netinst.iso">amd64 (pobierz)</a> lub <a href="http://download.v-smart.pl/iso/debian-6.0.0-i386-netinst.iso">i386 (pobierz)</a> po wcześniejszym wypaleniu obrazów na CD. Jeśli tylko Twój sprzęt obsługuje wersję 64-bitową - gorąco ją polecam. Podczas instalacji wybierz interfejs <strong>eth0</strong> jako główny oraz wpisz POPRAWNIE adresację tak, aby instalator miał dostęp do Internetu. Ten krok prawdopodobnie powtórzysz kilka razy jeśli nie robiłeś tego wcześniej <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Przy wyborze oprogramowania zaznacz jedynie "System podstawowy" i "Serwer SSH". Środowisko graficzne, które domyślnie jest zaznaczone nie będzie Ci do niczego potrzebne. Jeśli nie wiesz, co odpowiedzieć na pytania instalatora - wybierz potwierdzenie lub wpisz cokolwiek. Bezpośrednio po instalacji zaloguj się na konto użytkownika <strong>root</strong> z hasłem, które podałeś podczas instalacji oraz wykonaj następujące polecenia:</p>
<p style="padding-left: 30px;">apt-get update &amp;&amp; apt-get upgrade</p>
<p>Jeśli nie masz programu puTTy to ściągnij go <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">stąd (kliknij)</a>. Odpal i połącz się poprzez SSH z adresem IP, który podałeś podczas instalacji systemu. W zależności od języka i zestawu znaków (tzw. locales) wybierz odpowiednie kodowanie znaków (ISO-8859-2 lub UTF-8). Jeśli nie wiesz o co chodzi to po zalogowaniu się wpisz po prostu:</p>
<p style="padding-left: 30px;">LANG=</p>
<p>Nie polecam przechodzić do dalszego kroku, dopóki wszystko nie zostało zrobione jak powyżej.</p>
<p><strong><span style="text-decoration: underline;">Krok 3 - Linux ma paczki</span></strong></p>
<p><span style="color: #ff0000;">STOP! Instalatory nadpiszą poprzednią wersję bazy LMSa (klienci itd).<br />
</span></p>
<p><a title="V-Smart 2.1" href="http://forum.v-smart.pl/viewtopic.php?t=608">Kliknij tutaj aby przejść na forum i pobrać adresy skryptów instalacyjnych.</a></p>
<p>Po drodze zostaniesz zapytany o kilka spraw, przez instalatora:</p>
<ul>
<li>zapytanie o pakiet <strong>phpmyadmin</strong> - wybierz apache2 - <span style="color: #ff0000;">UWAGA - wciśnij spację aby zapaliła się gwiazdka przy zaznaczeniu</span> - to najczęściej powtarzany przez Was błąd i mówicie, że nie działa phpmyadmin <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Jeśli jesteś już po instalacji to wpisz <strong>dpkg-reconfigure phpmyadmin</strong> i powtórz krok.</li>
<li>zapytanie: "Configure database for phpmyadmin with dbconfig-common" - wybierz <strong>NIE</strong></li>
<li>zapytanie o serwer <strong>mysql </strong>- <span style="color: #ff6600;"><span style="color: #ff0000;">zapisz na kartce hasł</span>o</span> - będzie Ci potrzebne za chwilę ponownie!</li>
<li>zapytanie o serwer <strong>postfix </strong>- wybierz Internet Site</li>
<li><strong>cała reszta</strong> pytań - odpowiadasz TAK lub DALEJ <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>
<p>Po zapakowaniu wszystkiego potrzebnego do Twojego komputera system zrobi reboot. Po restarcie maszyny powinieneś mieć gotowy działający router z LMS i zaawansowanym podziałem pasma. W zasadzie jedyne co musisz zmienić to ustawienia parametrów Twojego łącza WAN (DOWNLOAD i UPLOAD - teraz też dodatkowe nocne dla WAN) w pliku:</p>
<p>/serwer/serwer.conf</p>
<p>Hasło do LMS ustawisz sobie podczas pierwszego logowania się w przeglądarce po adresem:</p>
<p>http://adres_ip_routera</p>
<p>Instalator wygeneruje losowe hasło do bazy danych zatem nie ma potrzeby jego zmiany.</p>
<p><strong><span style="text-decoration: underline;">Krok 4 - Uwagi do bajki</span></strong></p>
<p>Router posiada następującą funkcjonalność:</p>
<ul>
<li>dynamiczny podział pasma na WAN za pomocą IMQ na HTB/esfq z priorytetyzacją usług (plik /serwer/skrypty/htbwan.sh)</li>
<li>statyczny podział pasma dla klientów sieci LAN za pomocą IMQ na HTB/sfq (plik /serwer/skrypty/htblan.sh)</li>
<li>firewall odpowiadający za autoryzację klientów po MAC+IP (plik /serwer/skrypty/firewall.sh)</li>
<li>serwer DHCP dla klientów</li>
<li>serwer DNS dla kientów</li>
<li>serwer PPPoE dla LAN oraz PPtP dla LAN i WAN (dostęp zdalny) - nazwa komputera z LMS to login, hasło to PIN klienta jeśli nie zostało zdefiniowane hasło przy danym komputerze</li>
<li>komunikaty: dla nieautoryzowanych klientów, przypomnienie o płatnościach, blokada dostępu do siec</li>
<li>panel LMS z autorskim demonem do przeładowywania serwera (katalog /var/www)</li>
<li>funkcje LMS: klienci, komputery, sieci, urządzenia sieciowe, mapa sieci, taryfy, faktury, helpdesk, terminarz i inne</li>
<li>userpanel: informacje, faktury i płatności, kontakt poprzez helpdesk z panelem LMS</li>
<li>taryfy nocne dla LAN i WAN <img src="http://s.w.org/images/core/emoji/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li><span style="color: #0000ff;"><span style="color: #000000;">przekierowania portów poza LMS</span></span></li>
<li><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #000000;"><span style="color: #0000ff;"><span style="color: #000000;"><a href="http://www.v-smart.pl/routery-linuxowe/lms-router-dwa-lacza-multi-wan-uslugi-load-balancing/">obsługa dwóch lub więcej łączy WAN (kliknij)</a> </span></span></span></span></span></li>
<li>serwer przeładowuje konfigurację praktycznie natychmiast po wprowadzeniu zmian w LMS (płynność 2-3 sek)</li>
<li>przykładowe dane konfiguracyjne z opisem</li>
<li>po więcej informacji <a href="http://www.v-smart.pl/routery-linuxowe/lms-router-pytania-i-odpowiedzi-czyli-faq/">zapraszam do FAQ (kliknij)</a></li>
</ul>
<p>Jądro (2.6.34), iptables 1.4.8 oraz iproute zostały załatane patchami kolegi <a href="http://www.linuxbox.pl">DJ Gregora z linuxbox.pl</a>.</p>
<p><span style="color: #c0c0c0;">Wszelkie powyższe materiały i opisy na stronie oraz wypowiedzi autora na forum stanowią jego własność intelektualną. W szczególności skrypty z katalogu /serwer oraz /var/v-smart oraz wszystkie paczki deb. Autor zezwala na używanie powyższych materiałów w sposób komercyjny i niekomercyjny jednak zabrania modyfikowania ich i umieszczania poza stroną v-smart.pl</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/routery-linuxowe/htb-linux-router-dhcp-podzial-pasma-lms-faktury/feed/</wfw:commentRss>
		<slash:comments>118</slash:comments>
		</item>
		<item>
		<title>LMS Router &#8211; Lista zmian w projekcie</title>
		<link>http://www.v-smart.pl/routery-linuxowe/lms-router-lista-zmian/</link>
		<comments>http://www.v-smart.pl/routery-linuxowe/lms-router-lista-zmian/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 15:30:47 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Routery linuxowe]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LMS]]></category>
		<category><![CDATA[Router]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=211</guid>
		<description><![CDATA[Projekt zaczyna się rozrastać. Fajnie z Waszej strony, że chcecie się tym bawić i tym samym testować moje paczki :). Może w przyszłości powstanie coś na prawdę zajebiaszczego i darmowego w temacie. Może nawet przejmiemy kontrolę nad światem a później wszechświatem 😛 Dobra do rzeczy. Poniżej lista zmian w projekcie wraz z datami. Lista zmian [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Projekt zaczyna się rozrastać. Fajnie z Waszej strony, że chcecie się tym bawić i tym samym testować moje paczki :). Może w przyszłości powstanie coś na prawdę zajebiaszczego i darmowego w temacie. Może nawet przejmiemy kontrolę nad światem a później wszechświatem <img src="http://s.w.org/images/core/emoji/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra do rzeczy. Poniżej lista zmian w projekcie wraz z datami.</p>
<p><span id="more-211"></span></p>
<p>Lista zmian dotyczy <a href="http://www.v-smart.pl/routery-linuxowe/htb-linux-router-dhcp-podzial-pasma-lms-faktury/">projektu routera z LMS na Debianie (kliknij)</a>, do którego <a href="http://www.v-smart.pl/routery-linuxowe/lms-router-pytania-i-odpowiedzi-czyli-faq/">FAQ znajdują się tutaj (kliknij)</a>.</p>
<p><span style="text-decoration: underline;">26.05.2012</span></p>
<ul>
<li>wersja 2.1 projektu, <a title="V-Smart 2.1" href="http://forum.v-smart.pl/viewtopic.php?t=608">zajrzyj na forum</a></li>
</ul>
<p><span style="text-decoration: underline;">01.09.2011</span></p>
<ul>
<li>wersja 2.0 projektu, <a title="V-Smart 2.0" href="http://forum.v-smart.pl/viewtopic.php?t=264">zajrzyj na forum</a></li>
</ul>
<p><span style="text-decoration: underline;">07.02.2011</span></p>
<ul>
<li>przystosowanie systemu do Debiana 6 (Squeeze)</li>
<li><a href="http://files.v-smart.pl/router-vsmart-2.6.34/lenny-to-squeeze-upgrade.sh">skrypt robiący upgrade Lenny do Squeeze (kliknij)</a></li>
<li>inne drobne poprawki funkcjonalności LMSa</li>
</ul>
<p><span style="text-decoration: underline;">15.01.2011</span></p>
<ul>
<li><a href="http://www.v-smart.pl/routery-linuxowe/lms-router-dwa-lacza-multi-wan-uslugi-load-balancing/">pożądany artykuł dotyczący dwóch lub więcej łącz WAN (kliknij)</a></li>
</ul>
<p><span style="text-decoration: underline;">12.01.2011</span></p>
<ul>
<li>skrypt do updatu do najnowszej wersji, zachowujący bazę LMSa</li>
<li>skrypcik do przekierowania portów do LAN (poza LMS)</li>
</ul>
<p><span style="text-decoration: underline;">11.01.2011 (fajna data w ogóle)<br />
</span></p>
<ul>
<li>taryfy nocne dla LAN</li>
<li>taryfy nocne dla WAN - tego jeszcze nie grali ale to ma głębsze dno <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>
<p><span style="text-decoration: underline;">09.01.2011</span></p>
<ul>
<li>uproszczono skrypty w katalogu /serwer</li>
<li>uruchomiono userpanel</li>
<li>uruchomiono możliwość wysyłania SPAMu do klientów LMSa</li>
<li>uruchomiono wymianę informacji helpdesk &lt;-&gt; userpanel</li>
</ul>
<p><span style="text-decoration: underline;">07.01.2011</span></p>
<ul>
<li>obsługa protokołu ppp (PPPoE i PPtP)</li>
<li>jajko 2.6.34, iptables 1.4.8, iproute 2.6.34</li>
<li>dodano trzy rodzaje komunikatów z informacjami dla klientów</li>
<li>dodano automatyczne blokowanie klientów po przekroczeniu określonego ujemnego salda</li>
</ul>
<p><span style="text-decoration: underline;">gdzieś po drodze</span></p>
<ul>
<li>kompilacje i testy nowego jajka 2.6.34</li>
<li>testy mechanizmów ppp (PPPoE, PPtP)</li>
</ul>
<p><span style="text-decoration: underline;">26.08.2010</span></p>
<ul>
<li>pierwsza wersja projektu</li>
<li>jajko 2.6.29.4, iptables 1.4.8, iproute 2.6.30</li>
<li>LMS 1.11 wersja hardcorowa testowa</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/routery-linuxowe/lms-router-lista-zmian/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>LMS Router &#8211; dwa łącza WAN w trybie load balancing, sterowania usługami oraz ruchem IP z LAN</title>
		<link>http://www.v-smart.pl/routery-linuxowe/lms-router-dwa-lacza-multi-wan-uslugi-load-balancing/</link>
		<comments>http://www.v-smart.pl/routery-linuxowe/lms-router-dwa-lacza-multi-wan-uslugi-load-balancing/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 09:21:29 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Routery linuxowe]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[IProute]]></category>
		<category><![CDATA[Iptables]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LMS]]></category>
		<category><![CDATA[Load Balancing]]></category>
		<category><![CDATA[Routing IP]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=246</guid>
		<description><![CDATA[Temat dość często poruszany wśród adminów, którzy obsługują małe sieci lokalne, gdzie trzeba męczyć się z DSLami. Jest to również temat, o który Wy (użytkownicy moich rozwiązań) pytacie w komentarzach na tym blogu. Zatem spróbujmy powolutku wyjaśnić o co w tym tak na prawdę kaman. Omówimy tutaj trzy podstawowe możliwości obsługi dwóch lub więcej łączy [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Temat dość często poruszany wśród adminów, którzy obsługują małe sieci lokalne, gdzie trzeba męczyć się z DSLami. Jest to również temat, o który Wy (użytkownicy moich rozwiązań) pytacie w komentarzach na tym blogu. Zatem spróbujmy powolutku wyjaśnić o co w tym tak na prawdę kaman. Omówimy tutaj trzy podstawowe możliwości obsługi dwóch lub więcej łączy WAN.<span id="more-246"></span></p>
<p><span style="color: #ff0000;">Opis znajdujący się poniżej operuje na jednej dodatkowej tabeli routingu. Lepsze podejście znajdziecie na </span><a title="LoadBalancing i MultiWAN" href="http://forum.v-smart.pl/viewtopic.php?t=346">forum (klik)</a>.</p>
<p>Dla uproszczenia sprawy obczajmy najpierw system do zarządzania routerem w wersji podstawowej, którego w miarę pełny i aktualizowany na bieżąco <a href="http://www.v-smart.pl/routery-linuxowe/htb-linux-router-dhcp-podzial-pasma-lms-faktury/">opis znajdziecie tutaj (kliknij)</a>. Po instalacji powinniśmy mieć dwie karty sieciowe w kompie czyli 1xWAN i 1xLAN. Następnie dokładamy kolejny interfejs (karta sieciowa, śledzik czy jak to tam zwą) do maszynki, który w systemie przyjmie po restarcie nazwę <strong>eth2</strong>. Podczas dalszego pisania bajki o multi-wan będziemy wykonywać następujące kroki niezależnie od oczekiwanego efektu końcowego:</p>
<ul>
<li>przypisanie adresacji IP do nowego łącza WAN oraz utworzenie kolejnego interfejsu IMQ dla HTB</li>
<li>utworzenie tablicy routingu dla nowego łącza (sprawa konieczna absolutnie) oraz reguł routingu opartych o markowanie pakietów/połączeń</li>
<li>ustawienie parametrów NATa dla nowego łącza</li>
<li>ustawienia parametrów HTB czyli dynamicznego podziału ruchu na tym drugim łączu WAN</li>
<li>wreszcie i nareszcie metody sterowania przepływem pakietów poprzez multi-wan.</li>
</ul>
<p>Załóżmy bez większego zastanowienia, że drugie łącze ma następującą adresację IP:</p>
<p>ADRES IPv4: <strong>89.10.11.12</strong><br />
MASKA PODSIECI: <strong>255.255.255.240</strong> (<strong>/28</strong>)<br />
ADRES IP SIECI: <strong>89.10.11.0/28</strong><br />
ADRES BRAMY DOMYŚLNEJ: <strong>89.10.11.1</strong><br />
ADRES BROADCAST (ROZGŁOSZENIOWY): <strong>89.10.11.15</strong></p>
<p>Załóżmy też, że podłączyłeś kabel sieciowy do <strong>eth2</strong> <img src="http://s.w.org/images/core/emoji/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> No to jedziemy z tym.</p>
<p><span style="text-decoration: underline;">1. Przypisanie adresacji IP do nowego łącza WAN</span></p>
<p>W pliku /etc/modules zamieniamy wpis "imq numdevs=3" na</p>
<p style="padding-left: 30px;">imq numdevs=4</p>
<p>W pliku /etc/rc.local dopisujemy pod "/usr/sbin/ip link set eth1" up następujące dwie linijki:</p>
<p style="padding-left: 30px;">/usr/sbin/ip a a <strong>89.10.11.12</strong>/<strong>28</strong> brd <strong>89.10.11.15</strong> dev <strong>eth2</strong><br />
/usr/sbin/ip link set <strong>eth2</strong> up</p>
<p><span style="text-decoration: underline;">2. Utworzenie tablicy routingu dla nowego łącza</span></p>
<p>W pliku /etc/iproute2/rt_tables na końcu dopisujemy numer oraz nazwę nowej tabeli routingu:</p>
<p style="padding-left: 30px;">200 wan2</p>
<p>Następnie znów w pliku /etc/rc.local po wpisie z pkt. 1 dopisujemy trasy dla tej tabeli oraz reguły dla niej. Musimy wbić do głowy linuksowi, że jeśli będzie korzystał z nowej tabeli routingu <strong>wan2</strong> to musi wiedzieć, w jaki sposób obsłużyć ruch do każdej podsieci LAN z dostępem do Internetu, skonfigurowanej na routerze. Domyślnie na routerze skonfigurowana jest podsieć <strong><span style="color: #339966;">192.168.100.0/24</span></strong> z bramą <strong><span style="color: #339966;">192.168.100.254</span></strong> na interfejsie <strong><span style="color: #339966;">eth1</span></strong>. Jeśli dodałeś/łaś więcej podsieci LAN - musisz je tutaj również dopisać. Dodatkowo występuję znacznik pakietu <span style="color: #ff0000;"><strong>0x1</strong></span>, który będzie dalej wykorzystywany w firewallu do oznaczania ruchu.</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;"># trasy dla tabeli wan2</span><br />
/usr/sbin/ip ro a table <strong>wan2</strong> <strong>89.10.11.0/28</strong> dev <strong>eth2</strong> src <strong>89.10.11.12</strong><br />
/usr/sbin/ip ro a table <strong>wan2</strong> <strong><span style="color: #339966;">192.168.100.0/24</span></strong> dev <strong><span style="color: #339966;">eth1</span></strong> src <strong><span style="color: #339966;">192.168.100.254</span></strong><br />
<span style="color: #0000ff;"># trasa domyslna dla tabeli wan2</span><br />
/usr/sbin/ip ro a table <strong>wan2</strong> default via <strong>89.10.11.1</strong><br />
<span style="color: #0000ff;"># regula zwrotna dla podsieci na wan2</span><br />
/usr/sbin/ip ru a from <strong>89.10.11.0/28</strong> table <strong>wan2</strong><br />
<span style="color: #0000ff;"># przypisanie znacznika (marka) pakietow dla tej tabeli</span><br />
/usr/sbin/ip ru a fwmark <span style="color: #ff0000;"><strong>0x1</strong> </span>table <strong>wan2</strong></p>
<p>Ponieważ każde połączenie PPP (zarówno PPPoE jaki i PPtP) dodaje swoja własną trasę do domyślnej tablicy routingu, musimy je zmusić do dodania jej także do tablicy dla drugiego łącza. W tym celu do pliku /etc/ppp/ip-up dopisujemy następująca linijkę:</p>
<p style="padding-left: 30px;">/usr/sbin/ip r a table <strong>wan2</strong> ${5} dev ${1}</p>
<p>oraz do pliku /etc/ppp/ip-down podobną (ale nie taką samą!):</p>
<p style="padding-left: 30px;">/usr/sbin/ip r d table <strong>wan2</strong> ${5} dev ${1}</p>
<p><span style="text-decoration: underline;">3. Ustawienie parametrów NATa dla nowego łącza</span></p>
<p>Najpierw dla porządku dodajmy co nieco do pliku /serwer/serwer.conf w miejscu według uznania:</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">EXTDEV2</span>=eth2<br />
<span style="color: #0000ff;">DOWNLOAD2</span>=2000<br />
<span style="color: #0000ff;">UPLOAD2</span>=500</p>
<p>Następnie do pliku /serwer/skrypty/nat.sh w sekcji "# MASKARADA dla wszystkiego" dopisujemy:</p>
<p style="padding-left: 30px;">$IPTABLES -t nat -A POSTROUTING -s $INTNET1 -o $<span style="color: #ff0000;">EXTDEV2</span> -j MASQUERADE<br />
$IPTABLES -t nat -A POSTROUTING -s $NOWI -o $<span style="color: #ff0000;">EXTDEV2</span> -j MASQUERADE</p>
<p><span style="text-decoration: underline;">4. Ustawienia parametrów HTB dla drugiego łącza WAN</span></p>
<p>W pliku /serwer/skrypty/mangle.sh dopisujemy w sekcji "# podniesienie IMQ" następującą linijkę:</p>
<p style="padding-left: 30px;">$IP link set <strong><span style="color: #993300;">imq3</span></strong> up</p>
<p>oraz w sekcji "# ruch przez IMQ" linijkę:</p>
<p style="padding-left: 30px;">$IPTABLES -t mangle -A PREROUTING -i $<span style="color: #ff0000;">EXTDEV2</span> -j IMQ --todev <span style="color: #993300;"><strong>3</strong></span></p>
<p>Następnie w pliku /serwer/skrypty/htbwan.sh w sekcji "# czyszczenie kolejek" dodajemy:</p>
<p style="padding-left: 30px;">$TC qdisc del root dev <strong><span style="color: #993300;">imq3</span></strong> 2&gt; /dev/null &gt; /dev/null<br />
$TC qdisc del root dev $<span style="color: #ff0000;">EXTDEV2</span> 2&gt; /dev/null &gt; /dev/null</p>
<p>oraz poniżej w sekcji "# ograniczenia WAN" doklejamy:</p>
<p style="padding-left: 30px;">htbwan<strong><span style="color: #993300;"> imq3</span></strong> sport ctnatchg $<span style="color: #0000ff;">DOWNLOAD2</span><br />
htbwan $<span style="color: #ff0000;">EXTDEV2</span> dport ctnatchg $<span style="color: #0000ff;">UPLOAD2</span></p>
<p><span style="text-decoration: underline;">Teraz czas na reboot</span>. Po ponownym odpaleniu zabawki powinniśmy mieć już przygotowaną obsługę dwóch łączy WAN. No i teraz zaczynamy ciekawe sprawy <img src="http://s.w.org/images/core/emoji/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><span style="text-decoration: underline;">5. Load balancing pomiędzy dwa łącza</span></p>
<p>Load balancing na poziomie routingu polega na keszowaniu tras. Więc jeśli po restarcie routera jakaś trasa (np do strony v-smart.pl) zostanie raz skeszowania to będzie istnieć do upływu pewnego czasu (nie wiem ile to) lub do restartu maszyny. Otwórz plik:</p>
<p style="padding-left: 30px;">/etc/network/interfaces</p>
<p>Znajdź tam wpis dotyczący "gateway <span style="color: #ff0000;">adres_twojej_bramy</span>". Zakomentuj go znakiem #. Przy okazji jak już tu jesteś to zwróć uwagę co jest napisane w "dns-nameservers". Powinien tu być adres serwera DNS który będzie ogólnodostępny i nie blokowany przez operatorów. W szczególności przez operatorów, od których masz 2 wany <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Polecam googlowy 8.8.8.8 tutaj wpisać. W przeciwnym wypadku może wystąpić problem z rozwiązywaniem nazw domenowych podczas sterowania ruchem.</p>
<p>Następnie do /etc/rc.local wrzuć gdzieś na samym dole (po podniesieniu interfejsów eth1 i eth2):</p>
<p style="padding-left: 30px;">/usr/sbin/ip r a default scope global nexthop via <span style="color: #ff0000;">adres_twojej_bramy</span> dev eth0 <span style="color: #0000ff;">weight</span> 1 nexthop via <strong>89.10.11.1</strong> dev <strong>eth2</strong> <span style="color: #0000ff;">weight</span> 1</p>
<p>Reebot i gotowe <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Masz super load-balancing. Parametr <span style="color: #0000ff;">weight</span> możesz dostosować do stopnia rozłożenia ruchu np 1:2.</p>
<p><span style="text-decoration: underline;">6. Sterowanie usługami oraz ruchem z IP lanowego<br />
</span></p>
<p>Polega na wyrzuceniu ruchu do jakiegoś adresu IP, ruchu od jakiegoś adresu z LAN lub ruchu do jakiegoś portu docelowego (np 80 - www) na drugie łącze. W tym celu do /serwer/skrypty/mangle.sh dopisujemy:</p>
<p style="padding-left: 30px;"># ruch z wybranego IP lanowego po drugim laczu<br />
#$IPTABLES -A PREROUTING -t mangle -s <strong>192.168.100.1</strong> -j MARK --set-mark <span style="color: #ff0000;"><strong>0x1</strong></span></p>
<p style="padding-left: 30px;"># ruch do wybranego adresu docelowego po drugim laczu<br />
#$IPTABLES -A PREROUTING -t mangle -d <strong>195.205.4.134</strong> -j MARK --set-mark <span style="color: #ff0000;"><strong>0x1</strong></span></p>
<p style="padding-left: 30px;"># ruch po wybranym porcie (80) docelowym po drugim laczu<br />
#$IPTABLES -A PREROUTING -t mangle -p tcp --dport <strong>80</strong> -j MARK --set-mark <span style="color: #ff0000;"><strong>0x1</strong></span></p>
<p>Nastepnie odpalamy skrypcik: /serwer/start_all i powinno działać <img src="http://s.w.org/images/core/emoji/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/routery-linuxowe/lms-router-dwa-lacza-multi-wan-uslugi-load-balancing/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>LMS Router &#8211; Pytania i odpowiedzi czyli FAQ</title>
		<link>http://www.v-smart.pl/routery-linuxowe/lms-router-pytania-i-odpowiedzi-czyli-faq/</link>
		<comments>http://www.v-smart.pl/routery-linuxowe/lms-router-pytania-i-odpowiedzi-czyli-faq/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 09:03:28 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Routery linuxowe]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LMS]]></category>
		<category><![CDATA[Router]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=196</guid>
		<description><![CDATA[W tym dziale znajdziemy najczęściej zadawane przez Was pytania i odpowiedzi dotyczące mojej kompilacji LMS z routerem na Debianie, o której mowa była tutaj. Oprócz FAQ przedstawię tu kilka trików, które są moimi dziwnymi pomysłami, jak usprawnić sobie robotę w sieci zarządzanej przez omawiany projekt 😉 Q: Dlaczego klient zawsze ma 512/128 prędkość? Przecież przypisuje [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>W tym dziale znajdziemy najczęściej zadawane przez Was pytania i odpowiedzi dotyczące mojej kompilacji LMS z routerem na Debianie, o której mowa była <a href="http://www.v-smart.pl/routery-linuxowe/htb-linux-router-dhcp-podzial-pasma-lms-faktury/">tutaj</a>. Oprócz FAQ przedstawię tu kilka trików, które są moimi dziwnymi pomysłami, jak usprawnić sobie robotę w sieci zarządzanej przez omawiany projekt <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><span id="more-196"></span></p>
<p><strong>Q: Dlaczego klient zawsze ma 512/128 prędkość? Przecież przypisuje mu prawidłowe zobowiązanie!</strong></p>
<p>A: Jednak niekoniecznie. <a href="http://files.v-smart.pl/router-vsmart-2.6.34/img/zobowiazanie.png">Zobacz jak to powinno wyglądać klikając tutaj.</a> Musisz wybrać taryfę z prędkością i zaznaczyć komputer klienta oraz fakturę przy zobowiązaniu.</p>
<p><strong>Q: A co z trybem Access Point Client? Jak podłączyć trzech klientów pod jednym adresem MAC?</strong></p>
<p>A: Trochę teorii najpierw. Tryb APC (Intfrastructure Client, Client itd...) polega na tym, że w warstwie trzeciej na poziomie adresów IP apek maskuje rzeczywisty adres MAC klienta, który znajduje się za apekiem. W efekcie do autoryzacji MAC + IP, z jakiej korzysta mój LMS potrzeba MAC apeka a nie klienta. Żeby było trudniej to w warstwie drugiej na poziomie ramek apek nic nie maskuje zatem DHCP zobaczy rzeczywisty MAC komputera klienta (niezamaskowany) znajdującego się za APC. Teraz jak to zrobić w moim LMSie, żeby zadziałało:</p>
<ul>
<li>Osprzęt sieciowy -&gt; Nowe urządzanie: wybierz mu TYP: APC oraz dodaj jakas nazwę, następnie dodaj mu IP oraz jego MAC</li>
<li>Dodaj komputer klienta z jego rzeczywistym adresem MAC oraz wybierz mu punkt podłączenia z listy rozwijanej jako powyżej dodane urzadzenie</li>
<li>I tak możesz dowolną ilość komputerów podłączać do tego samego AP w trybie Client <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li><a href="http://files.v-smart.pl/router-vsmart-2.6.34/img/apc.png">Wyglądać to ma tak (kliknij)</a>.</li>
</ul>
<p>Z trybem APC wiąże się swoista dziura w zabezpieczeniach sieci. Otóż jeśli w LMSie mamy autoryzację na jakiś komputer klienta, który podłączony jest do APc to niezależnie od adresu MAC komputera klienta będzie działać mu net jeśli tylko wpisze poprawny IP ręcznie. <span style="color: #ff0000;">Dlatego dla grup klientów stosuje się tryb WDS, który MACów nie maskuje</span>!</p>
<p><strong>Q: Nie działa mi sprawdzanie czy komputer klienta jest włączony.</strong></p>
<p>A: Wykonaj:</p>
<p style="padding-left: 30px;">apt-get install fping</p>
<p>i zacznie. Chyba, że klient ma firewalla,  który blokuje pingi to nie zacznie.</p>
<p><strong>Q: Dlaczego nie działa mi Webmin po instalacji tego twojego systemu?</strong></p>
<p>A: Wieśmin nie działa ponieważ używa portu 10000 tcp, który jest domyślnie zamknięty przez firewall. Do pliku /serwer/skrypty/firewall.sh należy po sekcji:</p>
<p style="padding-left: 30px;"># autoryzowany dostep tylko z pliku dostep.conf<br />
grep "^[^#]" ${DOSTEP} | while read IP OPIS; do</p>
<p>dopisać następująca linijkę:</p>
<p style="padding-left: 30px;">$IPTABLES -A INPUT -s $IP -m state --state NEW -p tcp --dport 10000 -j ACCEPT</p>
<p>i odpalić ten skrypt. <span style="color: #ff0000;">UWAGA! Nie używajcie firewalla z Wieśmina, ponieważ pogryzie się na 100% z moim. Nie zmieniajcie również adresów IP na interfejsach poprzez niego. Korzystajcie z moich opisów do tego.</span></p>
<p><strong>Q: Jak wyłączyć ograniczenia prędkości w LANie?</strong></p>
<p>A: Rozjaśnijmy trochę sytuację. Cięcie prędkości w LAN występuje jeśli ruch przechodzi przez router. Co za tym idzie, jeśli nie używamy PPPoE to komputery w jednej podsieci w LAN mogą bez ograniczeń prędkości przesyłać dane między sobą. Wynika to z samej zasady działania protokołu IP, który nie potrzebuje bramy domyślnej do komunikacji z hostami w tej samej podsieci. Inaczej wygląda sytuacja, kiedy korzystamy z PPPoE (ruch zawsze idzie przez koncentrator) oraz próbujemy ściągnąć coś lokalnie z routera. W przypadku mojego systemu domyślnie zadziałają tu ograniczenia prędkości z taryf dla klientów. Zanim zaczniemy je wyłączać, sprawdźmy czy faktycznie tak jest. Ściągnijmy i zamontujmy darmowy tester:<br title="free speed test, ping test, voip test" /><script type="text/javascript" src="http://speed-meter.net/js/app.js"></script></p>
<p style="padding-left: 30px;">wget http://www.speedtest.pl/app/speedmini.zip<br />
unzip speedmini.zip -d /var/www/</p>
<p>Możemy go otworzyć przez przeglądarkę spod adresu:</p>
<p style="padding-left: 30px;">http://adres_ip_routera/speedmini</p>
<p>i sprawdzić aktualną prędkość. Powinno być jak pisałem wyżej <img src="http://s.w.org/images/core/emoji/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Następnie weźmy sobie na tapetę plik /serwer/skrypty/firewall.sh i znajdźmy w nim linijki:</p>
<p style="padding-left: 30px;">$IPTABLES -t mangle -A <span style="color: #0000ff;">PREROUTING</span> -i $INTDEV1 -j IMQ --todev 1<br />
$IPTABLES -t mangle -A <span style="color: #0000ff;">POSTROUTING</span> -o $INTDEV1 -j IMQ --todev 2<br />
$IPTABLES -t mangle -A <span style="color: #0000ff;">PREROUTING</span> -i ppp+ -j IMQ --todev 1<br />
$IPTABLES -t mangle -A <span style="color: #0000ff;">POSTROUTING</span> -o ppp+ -j IMQ --todev 2</p>
<p>które odpowiadają za kierowanie ruchu z/do interfejsów LAN i ppp do interfejsów IMQ, na których odbywa się LANowy podział pasma. Zmieńmy <span style="color: #0000ff;">PREROUTING</span> i <span style="color: #0000ff;">POSTROUTING</span> na <span style="color: #ff0000;">FORWARD</span>:</p>
<p style="padding-left: 30px;">$IPTABLES -t mangle -A <span style="color: #ff0000;">FORWARD </span>-i $INTDEV1 -j IMQ --todev 1<br />
$IPTABLES -t mangle -A <span style="color: #ff0000;">FORWARD </span>-o $INTDEV1 -j IMQ --todev 2<br />
$IPTABLES -t mangle -A <span style="color: #ff0000;">FORWARD </span>-i ppp+ -j IMQ --todev 1<br />
$IPTABLES -t mangle -A <span style="color: #ff0000;">FORWARD </span>-o ppp+ -j IMQ --todev 2</p>
<p>a następnie odpalmy /serwer/start_all i ograniczenia dla LAN powinny zniknąć.</p>
<p><strong>Q: A co jak mam dwa lub więcej łączy WAN?</strong></p>
<p>A: Dużo roboty. Za dużo żeby opisać w FAQ. Powstał na ten temat <a href="http://www.v-smart.pl/routery-linuxowe/lms-router-dwa-lacza-multi-wan-uslugi-load-balancing/">nowy artykuł (kliknij)</a>.</p>
<p><strong>Q: A jak wygląda sprawa z przekierowaniami portów?</strong></p>
<p>A: Panel LMS nie przewiduje tego w swoim interfejsie a na razie skończył mi się czas na przeróbki. W najnowszej wersji macie pliczek:</p>
<p style="padding-left: 30px;">/serwer/forward.conf</p>
<p>gdzie wpisujecie 3 parametry:</p>
<ul>
<li>port od strony WAN</li>
<li>adres IP w LAN</li>
<li>port od strony LAN</li>
</ul>
<p>Przekierowanie zadziała dla protokołu TCP i UDP.</p>
<p><strong>Q: Jak włączyć logowanie połączeń do sysloga?</strong></p>
<p>A: Należy do pliku:</p>
<p style="padding-left: 30px;">/serwer/skrypty/firewall.sh</p>
<p>dopisać po limitach połączeń następującą linijkę:</p>
<p style="padding-left: 30px;">$IPTABLES -A FORWARD -o $EXTDEV -s $INTNET1 -p tcp -m state --state NEW -j LOG --log-level info --log-prefix "SYN-INTNET1 "</p>
<p>Domyślnie logowanie jest wyłączone bo tak <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Q: Jak ustawić kiedy włącza się taryfa nocna a kiedy dzienna?</strong></p>
<p>A: W pliku /etc/cron.d/vsmart masz wszystko opisane. Wartości prędkości dla lanowych taryf nocnych definiujemy z poziomu panelu LMS. Dla wanowych znajdują się w pliku /serwer/serwer.conf</p>
<p><strong>Q: A jak poradzić sobie w wypadku gdy mamy 3 karty ethernetowe 1WAN +2LAN?</strong></p>
<p>A: Trochę zabawy będzie. Załóżmy, że chcemy na drugim interfejsie o nazwie <strong>eth2</strong> dodać podsieć <strong>192.168.102.0</strong>/<strong>24</strong> z bramą <strong>192.168.102.254</strong>:</p>
<ul>
<li>w panelu LMS: Sieci IP -&gt; Nowa podsieć -&gt; Dodajemy:
<ul>
<li>Nazwa Sieci: <strong>LAN2</strong></li>
<li>Adres sieci: <strong>192.168.102.0</strong> / <strong>24</strong> (256-adresów)</li>
<li>Interfejs: <strong>eth2</strong></li>
<li>Gateway: <strong>192.168.102.254</strong></li>
<li>Serwery DNS: <strong>192.168.102.254</strong>, 8.8.8.8</li>
</ul>
</li>
<li>w panelu LMS: Sieci IP -&gt; Nowa podsieć -&gt; Dodajemy (jeszcze raz):
<ul>
<li>Nazwa Sieci: LAN2-NOWI</li>
<li>Adres sieci: 10.10.11.0 / 24 (256-adresów)</li>
<li>Interfejs: <strong>eth2</strong></li>
<li>Gateway: 10.10.11.254</li>
<li>Serwery DNS: 10.10.11.254<strong> </strong>, 8.8.8.8</li>
<li>Zakres DHCP: 10.10.11.1 do 10.10.11.253</li>
</ul>
</li>
<li>w pliku /etc/rc.local dopisujemy pod wpisem /usr/sbin/ip link set eth1 up<br />
<blockquote><p>/usr/sbin/ip a a <strong>192.168.102.254</strong>/<strong>24</strong> brd <strong>192.168.102</strong>.255 dev <strong>eth2</strong><br />
/usr/sbin/ip a a 10.10.11.254/24 brd 10.10.11.255 dev <strong>eth2</strong><br />
/usr/sbin/ip link set <strong>eth2</strong></p></blockquote>
</li>
<li>w pliku /etc/rc.local dopisujemy na samym dole:<br />
<blockquote><p>/usr/sbin/pppoe-server -I <strong>eth2</strong> -L <strong>192.168.102.254</strong> -N 1000 -k</p></blockquote>
</li>
<li>w pliku /serwer/serwer.conf dopisujemy w sekcji # interfejs(y) LAN:<br />
<blockquote><p>INTDEV2=<strong>eth2</strong><br />
INTNET2=<strong>192.168.102.0</strong>/<strong>24</strong></p></blockquote>
</li>
<li>w pliku /serwer/serwer.conf dopisujemy w sekcji #nieautoryzowani klienci:<br />
<blockquote><p>NOWI2=10.10.11.0/24</p></blockquote>
</li>
<li>w pliku /serwer/skrypty/firewall.sh oraz /serwer/skrypty/nat.sh znajdujemy wszystkie wpisy zawierające zmienne <span style="color: #0000ff;">$INTDEV1</span>, <span style="color: #0000ff;">$INTNET1</span> oraz <span style="color: #0000ff;">$NOWI</span> a następnie kopiujemy je poniżej miejsca, gdzie występują i zmieniamy odpowiednio na <span style="color: #ff0000;">$INTDEV2</span>, <span style="color: #ff0000;">$INTNET2</span> oraz <span style="color: #ff0000;">$NOWI2</span> np:<br />
<blockquote><p>$IPTABLES -t mangle -A PREROUTING -i <span style="color: #0000ff;">$INTDEV1</span> -j IMQ --todev 1<br />
$IPTABLES -t mangle -A POSTROUTING -o <span style="color: #0000ff;">$INTDEV1</span> -j IMQ --todev 2<br />
$IPTABLES -t mangle -A PREROUTING -i <span style="color: #ff0000;">$INTDEV2</span> -j IMQ --todev 1<br />
$IPTABLES -t mangle -A POSTROUTING -o <span style="color: #ff0000;">$INTDEV2</span> -j IMQ --todev 2</p>
<p>$IPTABLES -A INPUT -s <span style="color: #0000ff;">$INTNET1</span> -m state --state NEW -p tcp --sport 1024: --dport 53 -j ACCEPT<br />
$IPTABLES -A INPUT -s <span style="color: #ff0000;">$INTNET2</span> -m state --state NEW -p udp --sport 1024: --dport 53 -j ACCEPT</p>
<p>$IPTABLES -t nat -A POSTROUTING -s <span style="color: #0000ff;">$NOWI</span> -o $EXTDEV -j MASQUERADE<br />
$IPTABLES -t nat -A POSTROUTING -s <span style="color: #ff0000;">$NOWI2</span> -o $EXTDEV -j MASQUERADE</p>
<p>itd...</p></blockquote>
</li>
<li>do /serwer/skrypty/firewall.sh pod linią $IPTABLES -A FORWARD -m state --state invalid -j DROP dopisujemy<br />
<blockquote><p>$IPTABLES -A FORWARD ! -o ${EXTDEV} -j ACCEPT</p></blockquote>
</li>
<li>następnie reboot i powinno działać <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>
<p><strong>Q: Ile waży router po pełnej instalacji?</strong></p>
<p>A: Zależy od wagi zastosowanego komputera. Myślę, ze od 1 kg do 100 kg. Natomiast dane na dysku zajmują 1.3 GB hehe.</p>
<p><strong>Q: A co z limitami ilości połączeń TCP dla userów? Jest coś takiego?</strong></p>
<p>A: Jest. W /serwer/serwer.conf zmienna CONNLIMIT odpowiada za to. Domyślnie to 100 na głowę.</p>
<p><strong>Q: Jak zmienić dane sprzedawcy na fakturze?</strong></p>
<p>A: Ostatni raz na takie pytania odpowiadam. Od tego macie <a href="http://lms.rulez.pl/doc/index.html">manual LMSa</a>. A więc: Konfiguracja -&gt; Firmy i odpowiednia edycja danych.</p>
<p><strong>Q: Jak zrobić aby user po podłączeniu do sieci dostał komunikat o braku autoryzacji a następnie po połączeniu PPPoE otrzymał dostęp do Internetu?</strong></p>
<p>A: Należy komputerowi klienta wpisać następujący adres MAC: 00:00:00:00:00:00 (trudny nie? :P). Klient wtedy otrzyma autoryzację tylko dla PPPoE natomiast TCP/IP będzie niedostępne dla jego adresu IP oraz wykluczone z DHCP.</p>
<p><strong>Q: W jaki sposób mogę zmienić tę beznadziejną adresację 192.168.100.x i 192.168.101.x dla LAN?</strong></p>
<p>A: Trzeba wykonać kilka kroków aby zmienić te adresacje:</p>
<ol>
<li>/etc/rc.local - modyfikujemy wpisy odnośnie dodawania adresów IP na interfejs eth1</li>
<li>/serwer/serwer.conf - to samo co wyżej</li>
<li>/serwer/skrypty/nat.sh - zmieniamy 192.168.100.254 na nowy adres bramy dla klientów</li>
<li>/etc/pptpd.conf - tak jak wyżej</li>
<li>w panelu LMS: Sieci IP -&gt; lista a następnie wykonujemy modyfikacje podsieci</li>
<li>reboot i powinno działać</li>
</ol>
<p>W przyszłości dorobię automatyczną synchronizację adresacji z LMSem <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Q: Może coś więcej na temat komunikatów dla klientów?</strong></p>
<p>A: Mamy ich 3 rodzaje:</p>
<ul>
<li>Komunikat dla nowych klientów - pojawia się tylko w przypadku korzystania z protokołu TCP/IP (nie PPPoE, nie PPtP). Jest uruchomiony poprzez Apache na porcie nr 202. Polega na wykonaniu nata docelowego (DNAT) dla portu nr 80 oraz sieci źródłowej 10.10.10.0/24 na socket 192.168.100.254:202. W efekcie nowy klient widzi w przeglądarce powitanko.</li>
<li>Przypomnienie o płatnościach - pojawia się w przypadku załączenia żółtego trójkąta przy komputerze klienta w LMS. Chodzi na porcie nr 200. W momencie włączenia przez klienta przeglądarki, widzi on przypomnienie, które w tle ściąga mu blokadę. Komunikat wyświetla się raz na określony czas, który można zmienić w pliku: /etc/cron.d/vsmart. Domyślnie jest 1 */3 * * * co oznacza "załączaj co 3 godziny w pierwszej minucie tej godziny". Polega na wykonaniu nata docelowego (DNAT) dla portu nr 80 oraz adresu IP klienta na socket 192.168.100.254:200.</li>
<li>Całkowita blokada klienta - pojawia się, kiedy klient ma wyłączoną żarówkę przy komputerze w LMS (tzw. komputer odłączony). Port 201. Klient ma zablokowane wszystkie usługi - widzi tylko komunikat i nie ma możliwości samodzielnego odblokowania. Polega na wykonaniu nata docelowego (DNAT) dla portu nr 80 oraz adresu IP klienta na socket 192.168.100.254:201.</li>
</ul>
<p><strong>Q: Jak modyfikować treść komunikatów dla klientów?</strong></p>
<p>A: Musisz wiedzieć cokolwiek o HTML. Komunikaty znajdują się w następujących miejscach:</p>
<ul>
<li>Komunikat dla nowych klientów: /var/www/info/202/index.php</li>
<li>Przypomnienie o płatnościach: /var/www/info/200/index.php (nie wywalać iframe bo przestanie działać odblokowywanie!)</li>
<li>Całkowita blokada klienta: /var/www/info/201/index.php</li>
</ul>
<p><span style="color: #ff0000;">Pamiętaj! Przed modyfikacjami zrób backup modyfikowanych skryptów!</span></p>
<p><strong><span style="color: #ff0000;"><span style="color: #000000;">Q: Jak działa dynamiczny podział pasma od strony WAN?</span></span></strong></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">A: Normalnie <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /> W skrypcie /serwer/skrypty/htbwan.sh mamy 7 kolejek (podano od najwyższego priorytetu):</span></span></p>
<ul>
<li><span style="color: #ff0000;"><span style="color: #000000;">classid 1:2 - waga 15% - ack, icmp, sip-sygnalizacja<br />
</span></span></li>
<li>classid 1:3 - waga 30% - ssh, gg, vnc, vpn, https</li>
<li>classid 1:4 - waga 30% - smtp, smtps, http, pop3, pop3s, imap, shoutcast</li>
<li>classid 1:5 - waga 10% - http-video, ftp</li>
<li>classid 1:6 - waga 10% - klasa domyślna - wszystko co, nie sklasyfikowane</li>
<li>classid 1:7 - waga 5% - p2p złapane za pomocą layer-7</li>
</ul>
<p>Wagi są ważne, gdy prędkość na interfejsie WAN osiąga to, co mamy wpisane w /serwer/serwer.conf. Wtedy dopiero tak na prawdę zaczyna działać kolejkowanie. Do kolejkowania zastosowałem mechanizm HTB oraz ESFQ, który korzysta z conntracka. Efekt jest taki, że mechanizm potrafi rozłożyć równo ruch pomiędzy adresami IP w LAN. Nie ważna jest ilość połączeń od/do danego adres IP w LAN tak jak to było w standardowych SFQ. Działanie mechanizmu można podejrzeć uruchamiając skrypty:</p>
<p style="padding-left: 30px;">/serwer/diagnostyka/wan-down</p>
<p style="padding-left: 30px;">/serwer/diagnostyka/wan-up</p>
<p><strong>Q: Jak działa podział pasma per klient od strony LAN?</strong></p>
<p>A: Również normalnie <img src="http://s.w.org/images/core/emoji/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> W skrypcie /serwer/skrypty/htblan.sh tworzone są statyczne kolejki z prędkościami dla IP klientów. Działanie mechanizmu można podejrzeć uruchamiając skrypty:</p>
<p style="padding-left: 30px;">/serwer/diagnostyka/lan-down</p>
<p style="padding-left: 30px;">/serwer/diagnostyka/lan-up</p>
<p><strong>Q: Jak zrobić automatyczne załączanie blokad?</strong></p>
<p>A: Jest zrobione, wystarczy dostosować toto do swoich potrzeb.</p>
<p>Na tapetę weźmy znów harmonogram zadań (cron) dla projektu czyli plik: /etc/cron.d/vsmart</p>
<p><span style="text-decoration: underline;">Przypomnienie o płatnościach.</span></p>
<p style="padding-left: 30px;">1 8 20 * *      root    /var/www/bin/lms-blok-light -q</p>
<p>oznacza, ze przypomnienie zostanie załączone o godzinie 8:01 20-go dnia miesiąca. Zaglądając do powyższego skryptu znajdźmy wpis:</p>
<p style="padding-left: 30px;">HAVING balance &lt; 0 AND balance &gt; -100</p>
<p>który mówi nam, że blokadzie podlegają klienci o saldzie ujemnym do -100 PLN.</p>
<p><span style="text-decoration: underline;">Blokada całkowita.</span></p>
<p style="padding-left: 30px;">2 8 27 * *      root    /var/www/bin/lms-blok-hard -q</p>
<p>oznacza, ze przypomnienie zostanie załączone o godzinie 8:02 27-go dnia miesiąca. Zaglądając do powyższego skryptu znajdźmy wpis:</p>
<p style="padding-left: 30px;">HAVING balance &lt;= -100</p>
<p>który mówi nam, że blokadzie podlegają klienci o saldzie ujemnym niższym niż -100 PLN.</p>
<p><strong>Q: Jakie sa parametry połączenia PPPoE oraz PPtP?</strong></p>
<p>A: Następujące są:</p>
<ul>
<li>PPPoE - uwierzytelnianie: chap, mschap lub mschap-v2, kompresja: brak, szyfrowanie: brak</li>
<li>PPtP - uwierzytelnianie: mschap-v2, kompresja: brak, szyfrowanie: mppe-128</li>
</ul>
<p><strong>Q: Jak przydzielić komputerowi prędkość testową, niezależną od zobowiązania?</strong></p>
<p>A: Nie było takiej funkcji w LMS więc zrobiłem to trochę na około. Należy dodać grupę komputera, w opisie której wpisujemy coś w formacie:</p>
<p style="padding-left: 30px;">download/upload</p>
<p>w jednostkach kbps np. <strong>1024/1024</strong>. W szczególności możemy wpisać <strong>0/0</strong> co oznaczać będzie brak limitów prędkości LAN czyli użytkownik będzie korzystał z dynamicznego podziału pasma na WAN. Następnie komputer klienta należy przypisać do takiej grupy. Grupy maja pierwszeństwo nad zobowiązaniami.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">
<pre>A jak poradzić sobie w wypadku gdy mamy 3 karty ethernetowy 1WAN +2LANA jak poradzić sobie w wypadku gdy mamy 3 karty ethernetowy 1WAN +2LAN</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/routery-linuxowe/lms-router-pytania-i-odpowiedzi-czyli-faq/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>PPPoE, PPtP (VPN Windows-Linux) czyli teoria punktów</title>
		<link>http://www.v-smart.pl/routery-linuxowe/pppoe-pptp-vpn-windows-linux-czyli-teoria-punktow/</link>
		<comments>http://www.v-smart.pl/routery-linuxowe/pppoe-pptp-vpn-windows-linux-czyli-teoria-punktow/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 10:11:59 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Routery linuxowe]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PPPoE]]></category>
		<category><![CDATA[PPtP (vpn)]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=116</guid>
		<description><![CDATA[Co to jest protokół PPP i do czego służy poczytajcie sobie w Wiki. W tym artykule zajmiemy się konkretnymi sprawami z zakresu połączeń punkt-punkt. Wartym uwagi są dwa ich rodzaje, których zrozumienie zajęło mi chwilę czasu. Artykuł nie miałby w ogóle sensu gdyby wszystko to działało po instalacji z paczek (w moim wypadku Debian). Jednak [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Co to jest protokół PPP i do czego służy poczytajcie sobie w Wiki. W tym artykule zajmiemy się konkretnymi sprawami z zakresu połączeń punkt-punkt. Wartym uwagi są dwa ich rodzaje, których zrozumienie zajęło mi chwilę czasu. Artykuł nie miałby w ogóle sensu gdyby wszystko to działało po instalacji z paczek (w moim wypadku Debian). Jednak nie działa więc trzeba wyprostować kilka niejasnych aspektów.<span id="more-116"></span></p>
<p><span style="text-decoration: underline;">Sprawa pierwsza - PPPoE</span></p>
<p>Jeśli jesteś "admin" i masz swoją super-sieć to powinieneś już wiedzieć, że czysty protokół IPv4 oraz związane z nim nierozłącznie adresy IP oraz MAC mają dość poważne wady co do utrzymania bezpieczeństwa sieciowego. Mam na myśli różnego rodzaju podkradanie i podsłuchiwanie transmisji. Mamy do wyboru w zasadzie dwie opcje autoryzacji Twoich użytkowników - albo statycznie wpiszesz im konfigurację w ustawieniach TCP/IP albo podasz im poprzez protokół DHCP (znów patrz Wiki jak  nie wiesz o co kaman). W obu przypadkach aby zapewnić minimalny poziom autoryzacji musisz wklepać na swoim super-firewallu każdą parę IP-MAC. Jest to rozwiązanie dość szybkie i wygodne w realizacji i wdrożeniu. Problem pojawia się, gdy liczba użytkowników Twojej sieci rośnie i pojawia się dość dużo ruchu nadmiarowego wynikającego z natury protokołu IP. Nie wspomnę już o sytuacji, kiedy tzw. "intruz-morderca" będzie chciał skorzystać sobie za darmo z Twojej sieci.</p>
<p>Podkreślmy dobitnie, że nie będę rozklejał się tu nad możliwymi zabezpieczeniami dostępu do sieci (pancerny pancerz na kabel, WEP, WPA, WPA2 itd) ponieważ to działa w troszkę wyższej "warstwie". Tutaj zajmiemy się protokołami transmisyjnymi 2/3 warstwy z modelu OSI (Wiki? :P).</p>
<p>Mamy więc intruza. Intruz podłączył się do sieci firmowej opartej na przełącznikach ponieważ admin zapomniał zamknąć szafki w kiblu, gdzie akurat znajdował się jeden wolny port w switchu. Dość absurdalna sytuacja ale znam głupsze. Intruz nasłuchuje broadcasty latające po sieci (zwłaszcza pakiety ARP) i zapisuje sobie wszystko skrupulatnie. Następnie wykonuje atak "man-in-the-middle" na bramę domyślną w sieci i zbiera dane dostępowe do Naszej-Klaty, skrzynek pocztowych i inne rzeczy, które nie są szyfrowane. Później zmienia swój adres MAC na któryś z podsłuchanych oraz wpisuje odpowiedni IP i co ma po chwili? Dostęp do naszego super-zabezpieczonego Internetu <img src="http://s.w.org/images/core/emoji/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Dobrym lekarstwem na taką sytuację jest zmiana protokołu IP na PPPoE. Zasada działania jest prosta. U nas mamy koncentrator PPPoE natomiast klient aby uzyskać połączenie z siecią musi wpisać login i hasło, który otrzyma od nas. Po autoryzacji klienta zostaje otwarte połączenie punk-punkt między jego komputerem a koncentratorem i generalnie rzecz biorąc - nic innym użytkownikom do tego <img src="http://www.v-smart.pl/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Nie ma broadcastów - nie ma możliwości ataków takich jak w IPv4. Pamiętajmy, że klient tak czy inaczej paradoksalnie otrzyma adres IP na swojej końcówce tego połączenia jednak tylko i wyłącznie do celów logicznych.</p>
<p>Można by powiedzieć, że każdorazowe odpalanie połączenia PPPoE po starcie systemu przypomina trochę czasy modemów i sławnych juz 56kbps. Prawda. Ale zawsze można zamontować sobie router, który nawiąże to połączenie u klienta za nas i załatwi tym samym problem klikania w ikonkę połączenia. Swoją drogą za te minimum 100zł, które trzeba by wydać na router wolałbym sobie raz więcej kliknąć <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Połączenie PPPoE ma też swoje wady. Nie lubi gubienia się ramek a co za tym idzie link do klienta, czy to kablem czy radiem, musi być stabilny. Inaczej zobaczymy sporadyczne DC. Poza tym zalecam stosowanie szyfrowanka MPPE oraz autoryzancji ms-chap-v2 z uwagi na wysoki poziom trudności w połamaniu tego co oczywiście nie znaczy, że nie da się.</p>
<p>UWAGA. Połączenie PPPoE działa tylko w ramach jednego segmentu sieci (bridża) czyli w warstwie drugiej OSI. Każdy router po drodze uniemożliwi nam podłączenie się do koncentratora ponieważ ma on za zadanie właśnie rozdzielić segmenty sieci.</p>
<p><span style="text-decoration: underline;">Protokół PPtP</span></p>
<p>Jest to protokół tunelowy PPP. W tym akurat wypadku oznacza to, że jest zapakowany w protokół warstwy wyższej czyli IPv4. Po co? Wyobraźmy sobie, że mamy super-tajną firmę, w której działa sieć lokalna a dostęp do zasobów serwerów (otoczenie sieciowe, bazy danych itd) ograniczony jest tylko do tej sieci ze względów bezpieczeństwa. Głupotą byłoby narażać nasze bazy danych osobowych na samą możliwość kontaktu ze światem Internetu zewnętrznego prawda? Okej - mamy też pracowników, który dużo podróżują i potrzebują szybki dostęp do baz danych firmy. Nie rozwiążemy tego problemu dopóki, nie wdrożymy dowolnego rozwiązania spod hasła VPN. PPPtP jest jednym z wyjść i jednym z najlepszych i najprostszych jeśli ludzie w naszej firmie korzystają z Windows. Umożliwia użytkownikowi po podaniu loginu, hasła oraz zdalnego serwera (np. bramy w naszej firmie, serwera VPN) wykonanie tunelu do lokalnej sieci poprzez np Internet. Logicznie wyglądałoby to tak, jakby użytkownik znajdował się w sieci lokalnej a fizycznie może być nawet na księżycu (polecam bajkę "Jak ukraść księżyc").</p>
<p><span style="text-decoration: underline;">Instalacja pod Debianem</span></p>
<p>Oprócz paczek z oprogramowaniem dla routera należy doinstalować w systemie (dpkg -i plik.deb) następujące 3 paczki deb, które póki co przekompilowałem na architekturze i386:</p>
<ul>
<li>pppd 2.4.3-1 [<a href="http://files.v-smart.pl/router-vsmart-2.6.34/i386/ppp_2.4.3-v-smart.pl_i386.deb">i386</a>] [<a href="http://files.v-smart.pl/router-vsmart-2.6.34/amd64/ppp_2.4.3-v-smart.pl_amd64.deb">amd64</a>]</li>
<li>pppoe 3.10 [<a href="http://files.v-smart.pl/router-vsmart-2.6.34/i386/pppoe_3.10-v-smart.pl_i386.deb">i386</a>] [<a href="http://files.v-smart.pl/router-vsmart-2.6.34/amd64/pppoe_3.10-v-smart.pl_amd64.deb">amd64</a>]</li>
<li>pptpd 1.3.4 [<a href="http://files.v-smart.pl/router-vsmart-2.6.34/i386/pptpd_1.3.4-v-smart.pl_i386.deb">i386</a>] [<a href="http://files.v-smart.pl/router-vsmart-2.6.34/amd64/pptpd_1.3.4-v-smart.pl_amd64.deb">amd64</a>]</li>
</ul>
<p>Należy zwrócić uwagę na plik z paczki:</p>
<p style="padding-left: 30px;">/etc/ppp/chap-secrets</p>
<p>w którym znajdują się hasła użytkowników. PPPoE serwer uruchamiamy np. następującym poleceniem:</p>
<p style="padding-left: 30px;">/usr/sbin/pppoe-server -I eth1 -L 192.168.1.1 -N 1000 -k</p>
<p>gdzie -I to intefejs, -N maksymalna ilość połączeń, -k parametr oznaczający wsparcie jądra dla PPPoE. Serwer PPtP uruchamiamy wklepując:</p>
<p style="padding-left: 30px;">/usr/local/sbin/pptpd</p>
<p>bez żadnych parametrów. Pamiętajmy aby otworzyć port 1723 ponieważ na nim właśnie słucha PPtP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/routery-linuxowe/pppoe-pptp-vpn-windows-linux-czyli-teoria-punktow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 8 i Flash Player 10 problem</title>
		<link>http://www.v-smart.pl/programowanie/internet-explorer-8-i-flash-player-10-problem/</link>
		<comments>http://www.v-smart.pl/programowanie/internet-explorer-8-i-flash-player-10-problem/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 14:36:36 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Programowanie]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=101</guid>
		<description><![CDATA[Wstajesz rano, przecierasz oczy, myślisz "o jaka piękna pogoda" i "życie takie piękne jest". Spokojnie... Zaraz pewnie zadzwoni, ktoś z problemem, który będziesz musiał szybko rozwiązać. Wykrakałeś? Hehe. Ano więc zadzwonił szef i mówi, ze wszystkie nasze aplikacje napisane we Flashu wywalają błędy pod najnowszym dzieckiem MałegoMiękkiego zwanym Internet Explorer 8. Jak to zwykle bywa [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Wstajesz rano, przecierasz oczy, myślisz "o jaka piękna pogoda" i "życie takie piękne jest". Spokojnie... Zaraz pewnie zadzwoni, ktoś z problemem, który będziesz musiał szybko rozwiązać. Wykrakałeś? Hehe. Ano więc zadzwonił szef i mówi, ze wszystkie nasze aplikacje napisane we Flashu wywalają błędy pod najnowszym dzieckiem MałegoMiękkiego zwanym Internet Explorer 8. Jak to zwykle bywa w magicznym świecie informatyki - otwierasz IE8, odpalasz aplikacje i wszystko działa. Wydawałoby się, że trzeba oddzwonić i wytłumaczyć szefowi, że ma zwidy <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Jednak w chwili chwytania telefonu okazuje się, że na skrzynce znalazło się kilkanaście informacji od niezależnych jednostek, które łączyło jedno stwierdzenie - NIE DZIAŁA.<span id="more-101"></span></p>
<p>Zatem zabraliśmy się do testów. Nie chodziło o jedna konkretną aplikację zatem odpadł jakiś przypadkowy błąd. Pierwszym pomysłem (zazwyczaj najlepszym) okazał się upgrade Flash Player'a do najnowszej wersji pod niezależnymi przeglądarkami (IE8, FF). Kolejne odpalenie "niedziałających" aplikacji udowodniło samemu programiście, że jednak prawdę inni mówili / pisali. Objaw był następujący.</p>
<p>W Internet Explorer w wersji 8 (wersja Win nie istotna) z Flash Playerem w wersji najnowszej czyli 10.0.42.34 aplikacja flash a konkretnie animacja wywala się mniej więcej w samym środku. Reakcja przeglądarki jest dwojaka: Internet Explorer wykonał błąd i zostanie zamknięty lub reset strony z informacją, że została przeładowana po błędzie. Dodajmy na marginesie, że firefox nie przedstawiał podobnych błędów.</p>
<p>Pierwsza próba zlokalizowania problemu. Wywalamy Flash Player 10 i próbujemy zamontować poprzednią wersję. Ku naszemu zdziwieniu flash-installer informuje nas, że jest wersja nowsza i starszej zainstalować nie można. Kolejne podejście to już pytanie do nieśmiertelnego, ponadczasowego, wszystkowiędzącego wujka Googla, którego mleko firmowe niedługo będziemy oglądać w naszej lodówce a program jego chłodzenia synchronizować będziemy z oczywiście darmowym serwerem GoogleCoolingPlan.com o adresie IP 9.9.9.9 <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Wujek przedstawił wiele informacji na temat, że problem jest ale niestety żadnych konkretnych jak go rozwiązać.</p>
<p>No niestety. Należało odpalić oryginalna wersję Adobe Flash CS4, znaleźć źródła aplikacji i porzeźbić troszeczkę w kodzie. Po 2-3 godzinach zabawy, testowania, naciskania F5 w przeglądarce znalazła się funkcja rodem z Action Script 2.0, która powodowała problem (w zasadzie metoda a nie funkcja). Załóżmy, że dynamicznie ładujemy obrazek do aplikacji flash, konkretnie do obiektu, za pomocą metody <strong>loadClip()</strong>. Wszystko jest wporzo dopóki, nie chcemy usunąć tego obrazka stamtąd za pomocą metody <strong>removeMovieClip()</strong>. Okazuje się, że to jest jedyny sprawca błędu, o którym słychać było głośno od rana. Rozwiązanie jest banalne. Zamiast felernej metody należy klepnąć <strong>unloadMovie() </strong>w obiekcie i wszystko cudownie zaczyna wracać do normy.</p>
<p>Podsumowując dyskusję chciałbym zauważyć, że jeśli nie mamy dostępu do źródeł aplikacji flash to jesteśmy w stanie zrobić bardzo mało (iść na fajkę, kawę itd). W Sieci znalazłem masę informacji o tego typu problemach i zazwyczaj dotyczyły one darmowych aplikacji lub aplikacji, które zostały wykonane na tzw. zlecenie. W supporcie Adobe nie znalazłem najmniejszej informacji o tym, że w którejś subwersji Flash Player'a cokolwiek zostało zmienione. Niestety pechowa metoda jest dość powszechnie używa w sieci więc zakładam, że problem jest dużo większy niż mi się wydaje.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/programowanie/internet-explorer-8-i-flash-player-10-problem/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Virtio na dzieciaku</title>
		<link>http://www.v-smart.pl/proxmox/virtio-na-dzieciaku-oraz-htb-hfsc-test/</link>
		<comments>http://www.v-smart.pl/proxmox/virtio-na-dzieciaku-oraz-htb-hfsc-test/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 08:58:55 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Routery linuxowe]]></category>
		<category><![CDATA[Wirtualizacja Proxmox]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Virtio]]></category>
		<category><![CDATA[Wirtualizacja]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=96</guid>
		<description><![CDATA[To długa noc była. Po wczorajszych sukcesach z odpaleniem routera na Intelowym KVM sprawy poszły dalej. Wzięto pod uwagę następujące fakty: jajko 2.6.24.5 (domyslne smp ze Slacka 12.1) działało mi od dwóch lat na kilkunastu routerach bez kernel panic było ono zmontowane z domyślnego konfiga ze Slacka oraz połatane imq, esfq i layer7 działało również [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>To długa noc była. Po wczorajszych sukcesach z odpaleniem routera na Intelowym KVM sprawy poszły dalej. Wzięto pod uwagę następujące fakty:</p>
<ul>
<li>jajko 2.6.24.5 (domyslne smp ze Slacka 12.1) działało mi od dwóch lat na kilkunastu routerach bez kernel panic</li>
<li>było ono zmontowane z domyślnego konfiga ze Slacka oraz połatane imq, esfq i layer7</li>
<li>działało również pod Debianem bez żadnego "ale" (co w sumie oczywistym jest)</li>
</ul>
<p><span id="more-96"></span></p>
<p>Na warsztat poszedł domyślny konfig jajeczka 2.6.34. Zaciągnięte zostały też vaniliowe źródła z kernel.org oraz patche Dj Gregora z linuxbox.pl. Swoją drogą z tego co zauważyłem Dj jest fanem Slackware (podobnie jak ja kiedyś) więc dziwne by było gdyby nie popełnił patchów dla domyślnego jądra tego systemu. Szacun. Kolejność ataku była następująca:</p>
<ul>
<li>patchowanie</li>
<li>make menuconfig</li>
<li>zapis konfigu i wyjście</li>
<li>make menuconfig</li>
<li>zaznaczenie odpowiednich modułów (IMQ Target, esfq, layer7)</li>
<li>włączenie do jajka modułu Virtio Block Device, Virtio PCI i Virtio Baloon</li>
<li>zapis konfiga</li>
<li>make bzImage modules modules_install</li>
<li>procedura tworzenia paczki (długa historia) z jądrem</li>
<li>kompilacja i paczkowanie iptables, iproute, l7-protocols</li>
</ul>
<p>Efekty - paczki do pobrania: [<a href="http://files.v-smart.pl/router-vsmart-2.6.34/i386/">i386</a>] [<a href="http://files.v-smart.pl/router-vsmart-2.6.34/amd64/">amd64</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/proxmox/virtio-na-dzieciaku-oraz-htb-hfsc-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proxmox Router &#8211; Intel-VT vs. AMD-V</title>
		<link>http://www.v-smart.pl/proxmox/proxmox-router-intel-vt-vs-amd-v/</link>
		<comments>http://www.v-smart.pl/proxmox/proxmox-router-intel-vt-vs-amd-v/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 19:37:06 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Wirtualizacja Proxmox]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenVZ]]></category>
		<category><![CDATA[Proxmox]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=92</guid>
		<description><![CDATA[A było to tak... Kolega postawił wirtualny router (Slackware) na Proxmox 1.4 na sprzęcie AMD i przepuścił przez to swoją sieć (~150 klientów). Męczył się przeokropnie z dobraniem wersji jądra, iptables oraz iproute aby miało to ręce i nogi. Bezskutecznie. Średnio raz na 6 godzin router "stawał" informując w konsoli nieśmiale, że kernel panic. Doszło [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A było to tak... Kolega postawił wirtualny router (Slackware) na Proxmox 1.4 na sprzęcie AMD i przepuścił przez to swoją sieć (~150 klientów). Męczył się przeokropnie z dobraniem wersji jądra, iptables oraz iproute aby miało to ręce i nogi. Bezskutecznie. Średnio raz na 6 godzin router "stawał" informując w konsoli nieśmiale, że kernel panic. Doszło nawet do tego, że mamusia również zaliczała zawieszki. W przypadku mamusi pomogła zmiana jaja Proxa na 2.6.30.x. Jestem w pełni przekonany, że kolega zrobił wszystko dobrze ponieważ ma już pokaźny bagaż doświadczenia w te klocki na karku. Po około dwóch tygodniach ciężkiej walki o przetrwanie zrezygnował. Wrócił na fizyczny sprzęt.</p>
<p><span id="more-92"></span></p>
<p>Muszę przyznać, że powoli straciłem wiarę w moc i możliwości Proxmoxa jako narzędzia do wirtualizacji z serii Open-Source. Znalazło się jednak troszkę czasu aby przetestować to na sprzęcie Intela. W obroty poszedł quadzik Q9400 2.66GHz na rdzeniu, płyta Gigabyte GA-EG45M-DS2H z 8GB ramu 4 x KVR800D2N5K2/2G. Na tym sprzęcie do tej pory trzymany był zwirtualizowany hosting firmowy oraz kilka innych wirtualek znajomych, które były kontrolowane przez KVM. Zrobiliśmy test, który wydawał się być najgłupszym pod księżycem (btw. dziś ładny rogalik na niebie świeci :P). Zostawiliśmy odpalone te wszystkie maszyny - w sumie 8 sztuk. Następnie dołożyliśmy jeszcze jedną wirtualkę KVM z routerem moim starym postawionym na archaicznym już Slacku 11-tym. Przy okazji znów wielkie pokłony w stronę Kadzbiego, który to pokazał mi jak przez ssh skopiować działający żywy system na inną maszynę i jeszcze odpalić to hehe. Załatwia to linijka:</p>
<p style="padding-left: 30px;">tar -pcf - ./ | ssh remoteuser@remotehost tar -C /path/to/remote/dir -pxf -</p>
<p>która pakuje fizyczny system, w locie przesyła go na zdalną maszynę i na niej rozpakowuje w wybrany katalog. Wystarczyło więc odpalić wirtualną maszynę, zbootować ją np z Gentoo Minimal, przypisać adres IP, odpalić serwer ssh (/etc/init.d/sshd start) a następnie zmienić hasło na użytkownika root i skopiować. <strong>Wcześniej</strong> przygotowano odpowiednią partycję, sformatowano i zamontowano w /path/to/remote/dir z powyższego ciągu znaczków. Później wydano 4 magiczne polecenia:</p>
<p style="padding-left: 30px;">mount -o bind /dev /path/to/remote/dir/dev</p>
<p style="padding-left: 30px;">mount -t proc /proc /path/to/remote/dir/proc</p>
<p style="padding-left: 30px;">chroot /path/to/remote/dir/</p>
<p style="padding-left: 30px;">lilo</p>
<p>które przeteleportowały nas w chrootowane środowisko naszego routera i zaaktualizowały lilo w MBR. Po reboocie ku naszemu zdziwieniu wszystko od razu zadziałało. Sieć śmiga przecudnie przy podobnej ilości użytkowników i transferach przez router rzędu 20Mbps (bo takie łącze mamy). Na razie obserwujemy. Proxmox ani router i inne wirtualki nie dają żądnych negatywnych znaków. Warto dodać w celach informacyjnych, że do maszyny z mamusią zostały dołożone dwie fizyczne karty sieciowe Intel PRO Fast Ethernet, z których utworzyliśmy dwa potrzebne bridże.</p>
<p>Zauważmy również, że zostało tu zamontowane podstawowe jądro 2.6.24.5 ze Slackware 12.1 delikatnie połatane. Jądro to nie obsługuje VIRTIO zatem wirtualka też. Jestem gotów wysnuć pewną hipotezę. Niemożliwe było osiągnięcie celu, który założyliśmy na tanim gównianym sprzęcie firmy AMD. Intel w tym wypadku przeszedł nasze oczekiwania (ostrożna hipoteza). W ramach argumentacji dopowiedzmy, że <span style="text-decoration: underline;">moduł KVM jądra matki</span>, który odpowiada za kontrolę nad wirtualnym routerem <span style="text-decoration: underline;">jest inny dla Intel i inny dla AMD</span>. Według mnie ten dla Intela jest "lepszy" bo działa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/proxmox/proxmox-router-intel-vt-vs-amd-v/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Proxmox &#8211; VIRTIO &#8211; lek na ślimaka</title>
		<link>http://www.v-smart.pl/proxmox/proxmox-virtio-lek-na-slimaka/</link>
		<comments>http://www.v-smart.pl/proxmox/proxmox-virtio-lek-na-slimaka/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 12:13:34 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Wirtualizacja Proxmox]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Virtio]]></category>

		<guid isPermaLink="false">http://www.v-smart.pl/?p=79</guid>
		<description><![CDATA[Przypomnę w czym leżał problem w tym poście. Otóż drodzy szanowni czytelnicy złożyliśmy do kupy kilka routerów na Proxmoxie jednak okazało się, że wydajność dysków wirtualnych oraz sieci była dość niska. Ponadto co jakiś czas wieszały się nam interfejsy sieciowe na bridżach. Przetestowaliśmy rozwiązanie zwane VIRTIO, które to jest traktowane jako cross-platformowe api dla wirtualizacji. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Przypomnę w czym leżał problem w <a href="http://www.v-smart.pl/routery-linuxowe/wirtualna-siec-linuxow-podejscie-1/">tym poście</a>. Otóż drodzy szanowni czytelnicy złożyliśmy do kupy kilka routerów na Proxmoxie jednak okazało się, że wydajność dysków wirtualnych oraz sieci była dość niska. Ponadto co jakiś czas wieszały się nam interfejsy sieciowe na bridżach. Przetestowaliśmy rozwiązanie zwane VIRTIO, które to jest traktowane jako cross-platformowe api dla wirtualizacji. Rozwiązanie to w teoretycznej teorii ma być "lepsze" i "szybsze".</p>
<p><span id="more-79"></span></p>
<p>Tworząc maszynę wirtualną wybieramy typ dysku VIRTIO (nie ATA, nie SCSI) oraz typ karty sieciowej VIRTIO. Opcje te dostępne są w Proxmoxie o wersji wyższej niż 1.3. Instalujemy na tym np. Debian Lenny w wersji netinstall. Instalka ładnie wykryje nam dysk o nazwie /dev/vda i cała reszta tu już to, co znacie z życia codziennego.</p>
<p>Po odpaleniu systemu na dzieciaku wydajemy polecenie <strong>lsmod</strong> i zobaczymy wśród podładowanych modułów między innymi:</p>
<ul>
<li>virtio_pci</li>
<li>virtio_net</li>
<li>virtio_blk</li>
</ul>
<p>Następnie klepiemy polecenie<strong> lspci</strong> i powinniśmy zobaczyć coś koło tego:</p>
<ul>
<li>00:03.0 Ethernet controller: Qumranet, Inc. Device 1000</li>
<li>00:04.0 Mass storage controller: Qumranet, Inc. Device 1001</li>
<li>00:05.0 RAM memory: Qumranet, Inc. Device 1002</li>
</ul>
<p>Dla świętego spokoju dajmy jeszcze <strong>df -h</strong> i być powinno tam gdzieś na przykład:</p>
<p style="padding-left: 30px;">/dev/vda1</p>
<p>Na sieci znalazłem info, że za pomocą VIRTIO można nawet 11-krotnie przyspieszyć wirtualny dysk. Aby jednak osiągnąć to, należy zmienić algorytm IO-Schedulera z [cfq] na [deadline] przez rekompilację jądra systemu (na dobre) lub "w locie" za pomocą polecenia:</p>
<p style="padding-left: 30px;">echo deadline &gt; /sys/block/sda/queue/scheduler</p>
<p>gdzie sda to nasz dysk. Nie testowałem tego jeszcze.</p>
<p>Na razie testowa konfiguracja chodzi u kolegi, który ma około 150 klientów przez to przepuszczonych. Kolejne problemy jakie spotkaliśmy to kompilacja jądra ze wszystkim odpowiednimi dla routera opcjami. Zaznaczam od razu, że paczki rabbit nie działają na maszyna z dyskiem VIRTIO ponieważ nie zostało to jeszcze wkompilowane a initrd nie używam. To będzie wyzwanie na kilka najbliższych jesiennych szarych wieczorów.</p>
<p>PS. dzięki kadzbi za pomoc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/proxmox/proxmox-virtio-lek-na-slimaka/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jak smakuje wirtualizacja na Proxmox PVE</title>
		<link>http://www.v-smart.pl/proxmox/jak-smakuje-wirtualizacja-na-proxmox-pve/</link>
		<comments>http://www.v-smart.pl/proxmox/jak-smakuje-wirtualizacja-na-proxmox-pve/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 20:13:42 +0000</pubDate>
		<dc:creator><![CDATA[yarzombo]]></dc:creator>
				<category><![CDATA[Wirtualizacja Proxmox]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenVZ]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Wirtualizacja]]></category>

		<guid isPermaLink="false">http://yarzombo.pl/?p=46</guid>
		<description><![CDATA[Proxmox to darmowy przepiękny system operacyjny oparty o Debiana aktualnie lennego. Do pracy potrzebuje architekturę amd64 oraz opcjonalnie "kopa" dla wirtualizacji od strony procesora i płyty głównej. Owe wsparcie nosi nazwę Intel-VT dla procesorów Intela oraz AMD-V dla procesorów AMD. Warto od razu zaznaczyć, że rozwiązania AMD są o wiele tańsze niż Intel o czym [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Proxmox to darmowy przepiękny system operacyjny oparty o Debiana aktualnie lennego. Do pracy potrzebuje architekturę amd64 oraz opcjonalnie "kopa" dla wirtualizacji od strony procesora i płyty głównej. Owe wsparcie nosi nazwę Intel-VT dla procesorów Intela oraz AMD-V dla procesorów AMD. Warto od razu zaznaczyć, że rozwiązania AMD są o wiele tańsze niż Intel o czym miałem okazję przekonać się. Ja kupiłem Intel Quad Core 9600 a kumpel Athlona XP 64 core 2 i funkcjonalność jest podobna. Różnice w cenie sprawdźcie sobie sami <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><span id="more-46"></span></p>
<p>Instalkę Proxmoxa ściągnąć można z sieci jako obraz iso, z  którym wiadomo co się robi. Sam proces instalacji jest dokładnie opisany na oficjalnej stronie www i jest bajecznie prosty. Warto tylko dodać, że dystrybucja nie posiada wsparcia dla sotfwarowego raida a partycje instaluje jako LVM2 więc przed przystąpieniem do montażu Proxmoxa odwiedź najpierw wujka googla i sprawdź co to jest "Logical Volume Management". Swoją drogą jakiś czas temu uparłem się i postawiłem Proxa na softowym raid1 ale proces ten był mocno skomplikowany i w czasie testów na "żywym organizmie" stwierdziłem, że działa to wszystko strasznie powoli.</p>
<p>Apropos tematu postu. Proxmox umożliwia pracę w dwóch trybach wirtualizacji:</p>
<ul>
<li>Containers (OpenVZ)  czyli dziecko korzysta z jaja mamy</li>
<li>Fully Virtualized (KVM, Qemu) czyli dziecko ma swój własny emulowany sprzęt, do tego potrzeba dzieciakowi Intel-VT lub AMD-V</li>
</ul>
<p>Pierwsza opcja moim zdaniem nadaje się perfekcyjnie jako baza dla serwerów hostingowych, pocztowych, dns itd ponieważ z poziomu mamusi można przeglądać bezpośrednio system plików dziecka. Jest to nieocenione w przypadku systemów backupowych (backup danych). W przypadku OpenVZ mamy jednak bardzo ograniczone możliwości korzystania z iptables czyli tworzenia firewalla. Obsługa sieci dla OpenVZ odbywa się na poziomie warstwy trzeciej przy użyciu routingu poprzez wirtualne interfejsy lub na poziomie warstwy drugiej (bridż). Wszystkie procesy uruchamiane przez dzieci są widzialne pod:</p>
<p style="padding-left: 30px;">ps ax</p>
<p>wykonane u mamusi. Daje nam to dodatkową kontrolę nad nimi (np kill -9 hehe). Dodatkowo z poziomu mamy można przejść bezpośrednio na # konsoli wirtualnej maszyny bez znajomości hasła superusera prostym poleceniem:</p>
<p style="padding-left: 30px;">vzctl enter id_maszyny</p>
<p>Wirtualizacja na poziomie systemu operacyjnego, którą jest OpenVZ umożliwia pracę jedynie w środowisku linux pod ograniczoną ilością dystrybucji. Oficjalne i nieoficjalne templatki VZ można znaleźć bez problemu w sieci.</p>
<p>Druga opcja (Qemu, KVM) przeznaczona jest bardziej dla routerów, które muszą mieć pełny dostęp do iptables oraz dla systemów operacyjnych != linux-kernel. Nic nie stoi na przeszkodzie aby zainstalować sobie WindeXP, Viste (ugh) albo inne cuda na czymś takim. Pytanie tylko po co <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pełna wirtualizacja zabiera nam jednak możliwość dostępu do drzewa katalogów dzieci z poziomu matki. Nie ma również możliwości logowania do dziecka bez autoryzacji. Obsługa sieci jest możliwa tylko na poziomie warstwy drugiej (bridż).</p>
<p>Całością zarządzać można na dwa sposoby:</p>
<ul>
<li>poprzez konsolę</li>
<li>poprzez gui ssl-owe przez przeglądarkę</li>
</ul>
<p>Praca z Proxmoxem jest dość intuicyjna. Jeśli znasz podstawy sieci (warstwa 2 i 3) to odpalenie wirtualizacji zajmie Ci max godzinę zegarową. Jeśli nie - zapytaj kogoś kto zna - będzie szybciej <img src="http://s.w.org/images/core/emoji/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Kolega Fair jest w trakcie tworzenia panelu dla klienta dla Proxmox, który Wam polecam. <a href="http://toniemy.org.pl/proxmox-dla-klientow/">Kliknij tu po więcej szczegółów</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.v-smart.pl/proxmox/jak-smakuje-wirtualizacja-na-proxmox-pve/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
